1
考慮下面的模式,從這種模式中獲得.text的正確方法是什麼?
expression returns [String value]
: StringLiteral
{ $value = $StringLiteral.text; }
| IntegerLiteral
{ $value = $IntegerLiteral.text; }
;
現在我想給String
和Integer
規則合併成一個單一的一個,
expression returns [String value]
: (StringLiteral | IntegerLiteral)
{
}
;
這是相當愚蠢的,以檢查是否$XXLiteral.text == null
然後從獲得價值無論是其中。
有沒有更好的方法來做到這一點?