14 lines
482 B
ANTLR
14 lines
482 B
ANTLR
parser grammar CKEnumsParser;
|
|
options { tokenVocab = CKGenericLexer; }
|
|
|
|
prog: enumBody* ;
|
|
|
|
enumBody: CKGENERIC_TYPEDEF? CKGENERIC_ENUM CKGENERIC_ID CKGENERIC_LBRACKET
|
|
entryPair+
|
|
CKGENERIC_RBRACKET CKGENERIC_ID? CKGENERIC_SEMICOLON ;
|
|
|
|
entryPair: CKGENERIC_ID (CKGENERIC_EQUAL entryValue)? CKGENERIC_COMMA? ;
|
|
|
|
entryValue: CKGENERIC_NUM (CKGENERIC_LSHIFT CKGENERIC_NUM)? # entryDirectValue
|
|
| CKGENERIC_ID (CKGENERIC_OR CKGENERIC_ID)* # entryRelativeValue
|
|
; |