[antlr-interest] proposal: new properties or Token methods
Terence Parr
parrt at cs.usfca.edu
Fri Dec 28 13:46:57 PST 2007
On Dec 28, 2007, at 1:37 PM, Johannes Luber wrote:
> Terence Parr schrieb:
>> hi. I find myself doing Integer.valueOf($label.text) a lot. Integer
>> values are so common in languages that perhaps we should define
>> $label.int and maybe label.float? Or, is it simpler to just define
>>
>> public int toInt();
>> public float toFloat();
>> public double toDouble();
>>
>> in Token interface? I guess I'll try that first.
>
> Adding properties to labels seems to be less language-dependent.
Agreed but I don't want to add lots of more templates...well, let's
start with just int:
tokenLabelPropertyRef_int(scope,attr) ::= "(<scope>!=null?
Integer.valueOf(<scope>.getText()):0)"
lexerRuleLabelPropertyRef_int(scope,attr) ::=
"(<scope>!=null?Integer.valueOf(<scope>.getText()):0)"
lexerRulePropertyRef_int(scope,attr) ::=
"Integer.valueOf(<scope>.getText())"
> So I'd
> prefer this approach. BTW, what is supposed to happen, when the label
> contains "abc" instead?
Whatever the native implementation says happens when converting "abc"
to int.
Ok, let's try this new .int property. Seems very useful.
Ter
More information about the antlr-interest
mailing list