Files
rk35xx-android14/external/antlr/runtime/JavaScript/tests/functional/t021hoist.g
T
hmz007 36ed224bac Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a)
Signed-off-by: hmz007 <hmz007@gmail.com>
Change-Id: Ib87fdbe7a0be7dc961af3500fe9ea4589a127f9f
2024-10-29 18:12:02 +08:00

38 lines
619 B
Plaintext
Executable File

grammar t021hoist;
options {
language=JavaScript;
}
/* With this true, enum is seen as a keyword. False, it's an identifier */
@members {
this.enableEnum = false;
}
stat returns [enumIs]
: identifier {enumIs = "ID"}
| enumAsKeyword {enumIs = "keyword"}
;
identifier
: ID
| enumAsID
;
enumAsKeyword : {this.enableEnum}? 'enum' ;
enumAsID : {!this.enableEnum}? 'enum' ;
ID : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')*
;
INT : ('0'..'9')+
;
WS : ( ' '
| '\t'
| '\r'
| '\n'
)+
{$channel=HIDDEN;}
;