[antlr-interest] solution: Assignment from token reference only
allowed in lexer
karl wettin
kalle at snigel.net
Wed Mar 29 14:38:20 PST 2006
29 mar 2006 kl. 22.06 skrev karl wettin:
> 28 mar 2006 kl. 21.00 skrev karl wettin:
>
>
> Assignment from token reference only allowed in lexer.
>
> What am I supposed to do? I can't more the rule to the Parser, it
> has a 0..9.
I move only the one, two... and keep the 0..9 in the lexer, of course.
> class TestParser extends Parser;
> options {
> k=1;
> }
>
> expr
> {int v;}
> : v = EN_NATURAL_NUMBER
> ;
>
> class TestLexer extends Lexer;
> options {
> k=2;
> testLiterals=false;
> }
>
> protected EN_NATURAL_NUMBER returns [int v] :
> | ('0'..'9')+ { v=Integer.valueOf($getText); }
> | "one" { v=1; }
> | "two" { v=2; }
> | "three" { v=3; }
> | "four" { v=4; }
> | "five" { v=5; }
> | "six" { v=6; }
> | "seven" { v=7; }
> | "eight" { v=8; }
> | "nine" { v=9; }
> | "ten" { v=10;}
> ;
>
>
>
More information about the antlr-interest
mailing list