1
0
Files
libcmo21/Assets/CodeGen/EnumsMigration/EnumsAnalyzer/CKEnumsParser.g4

14 lines
482 B
Plaintext
Raw Normal View History

2023-08-20 12:13:40 +08:00
parser grammar CKEnumsParser;
options { tokenVocab = CKGenericLexer; }
2023-08-17 15:48:30 +08:00
2023-08-19 00:03:00 +08:00
prog: enumBody* ;
2023-08-17 15:48:30 +08:00
enumBody: CKGENERIC_TYPEDEF? CKGENERIC_ENUM CKGENERIC_ID CKGENERIC_LBRACKET
2023-08-18 15:55:31 +08:00
entryPair+
CKGENERIC_RBRACKET CKGENERIC_ID? CKGENERIC_SEMICOLON ;
2023-08-17 15:48:30 +08:00
entryPair: CKGENERIC_ID (CKGENERIC_EQUAL entryValue)? CKGENERIC_COMMA? ;
2023-08-17 15:48:30 +08:00
entryValue: CKGENERIC_NUM (CKGENERIC_LSHIFT CKGENERIC_NUM)? # entryDirectValue
| CKGENERIC_ID (CKGENERIC_OR CKGENERIC_ID)* # entryRelativeValue
2023-08-17 15:48:30 +08:00
;