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
然后从获得价值无论是其中。
有没有更好的方法来做到这一点?