| | |
| | | |
| | | |
| | | programMessageUnit |
| | | : WS* programHeader QUESTION? (WS programData (COMMA programData)*)? |
| | | : WS* programHeader (WS programData (COMMA programData)*)? |
| | | ; |
| | | |
| | | programHeader |
| | |
| | | ; |
| | | |
| | | compoundProgramHeader |
| | | : COLON? PROGRAM_MNEMONIC (COLON PROGRAM_MNEMONIC)* |
| | | : COLON? PROGRAM_MNEMONIC (COLON PROGRAM_MNEMONIC)* QUESTION? |
| | | ; |
| | | |
| | | commonProgramHeader |
| | | : STAR PROGRAM_MNEMONIC |
| | | : STAR PROGRAM_MNEMONIC QUESTION? |
| | | ; |
| | | |
| | | programDataSeparator |
| | |
| | | | characterProgramData |
| | | | decimalNumericProgramData |
| | | | stringProgramData |
| | | // | arbitraryBlockProgramData |
| | | | arbitraryBlockProgramData |
| | | | expressionProgramData |
| | | // | suffixProgramData |
| | | ; |
| | |
| | | |
| | | expressionProgramData |
| | | : PROGRAM_EXPRESSION |
| | | ; |
| | | ; |
| | | |
| | | // support only nonzero prefix |
| | | arbitraryBlockProgramData |
| | | : SHARP NONZERO_DIGIT NUMBER .* |
| | | ; |
| | | |
| | | PROGRAM_MNEMONIC : ALPHA (ALPHA | DIGIT | UNDERSCORE)*; |
| | | HEXNUM : SHARP H HEXDIGIT*; |
| | |
| | | |
| | | fragment ALPHA : ('a'..'z'|'A'..'Z'); |
| | | fragment DIGIT : ('0'..'9'); |
| | | fragment NONZERO_DIGIT : ('1'..'9'); |
| | | |
| | | fragment HEXDIGIT : (DIGIT | 'a'..'f' | 'A'..'F'); |
| | | fragment OCTDIGIT : ('0'..'7'); |
| | | fragment BINDIGIT : ('0' | '1'); |