...
No Format |
---|
grammar Pred; prog: stat+ ; stat: keyIF expr stat | keyCALL ID ';' | ';' ; expr: ID ; keyIF : {input.LT(1).getText().equals("if")}? ID ; keyCALL : {input.LT(1).getText().equals("call")}? ID ; ID : 'a'..'z'+ ; WS : (' '|'\n')+ {$channel=HIDDEN;} ; |
The other alternative is to do something like this
No Format |
---|
identifier : KEY1 | KEY2 | ... | ID ;
|
which is a set comparison and should be faster.