@@ -123,8 +123,8 @@ moduleAttributes : (attributeStmt NEWLINE+)+;
123
123
moduleDeclarations : moduleDeclarationsElement (NEWLINE + moduleDeclarationsElement)*;
124
124
125
125
moduleOption :
126
- OPTION_BASE INTEGERLITERAL # optionBaseStmt
127
- | OPTION_COMPARE (BINARY | TEXT | DATABASE ) # optionCompareStmt
126
+ OPTION_BASE WS ? SHORTLITERAL # optionBaseStmt
127
+ | OPTION_COMPARE WS ? (BINARY | TEXT | DATABASE ) # optionCompareStmt
128
128
| OPTION_EXPLICIT # optionExplicitStmt
129
129
| OPTION_PRIVATE_MODULE # optionPrivateModuleStmt
130
130
;
@@ -666,7 +666,7 @@ letterrange : certainIdentifier (WS? MINUS WS? certainIdentifier)?;
666
666
667
667
lineLabel : ambiguousIdentifier ' :' ;
668
668
669
- literal : HEXLITERAL | OCTLITERAL | DATELITERAL | DOUBLELITERAL | INTEGERLITERAL | STRINGLITERAL | TRUE | FALSE | NOTHING | NULL ;
669
+ literal : HEXLITERAL | OCTLITERAL | DATELITERAL | DOUBLELITERAL | INTEGERLITERAL | SHORTLITERAL | STRINGLITERAL | TRUE | FALSE | NOTHING | NULL ;
670
670
671
671
type : (baseType | complexType) (WS ? LPAREN WS ? RPAREN )?;
672
672
@@ -906,15 +906,14 @@ L_SQUARE_BRACKET : '[';
906
906
R_SQUARE_BRACKET : ' ]' ;
907
907
908
908
909
- // literals
910
- STRINGLITERAL : ' "' (~[" \r\n ] | '" " ')* '" ' ;
911
- DATELITERAL : ' #' [0-9]+ ' /' [0-9]+ ' /' [0-9]+ ' #' ;
912
- OCTLITERAL : ' &O ' [0-8]+ ' &' ?;
913
- HEXLITERAL : ' &H ' [0-9A-F]+ ' &' ?;
914
- SHORTLITERAL : (PLUS|MINUS)? (' 0' ..' 9' )+ (' #' | ' &' | ' @' )?
915
- INTEGERLITERAL : SHORTLITERAL ( (' e' | ' E ' ) SHORTLITERAL)*;
916
- DOUBLELITERAL : (PLUS|MINUS)? (' 0' ..' 9' )* ' .' (' 0' ..' 9' )+ ( (' e' | ' E ' ) SHORTLITERAL)*;
917
- BYTELITERAL : (' 0' ..' 9' )+;
909
+ // literals
910
+ STRINGLITERAL : ' "' (~[" \r\n ] | '" " ')* '" ' ;
911
+ DATELITERAL : ' #' DIGIT+ ' /' DIGIT+ ' /' DIGIT+ ' #' ;
912
+ OCTLITERAL : ' &O ' [0-8]+ ' &' ?;
913
+ HEXLITERAL : ' &H ' [0-9A-F]+ ' &' ?;
914
+ SHORTLITERAL : (PLUS|MINUS)? DIGIT+ (' #' | ' &' | ' @' )?;
915
+ INTEGERLITERAL : SHORTLITERAL (E SHORTLITERAL)?;
916
+ DOUBLELITERAL : (PLUS|MINUS)? DIGIT* ' .' DIGIT+ (E SHORTLITERAL)?;
918
917
919
918
// whitespace, line breaks, comments, ...
920
919
LINE_CONTINUATION : [ \t ]+ ' _ ' ' \r' ? ' \n' -> skip;
@@ -928,6 +927,7 @@ IDENTIFIER : (~[\[\]\(\)\r\n\t.,'"|!@#$%^&*-+:=; ])+ | L_SQUARE_BRACKET (~[!\]\
928
927
929
928
// letters
930
929
fragment LETTER : [a-zA-Z_äöüÄÖÜ];
930
+ fragment DIGIT : [0-9];
931
931
fragment LETTERORDIGIT : [a-zA-Z0-9_äöüÄÖÜ];
932
932
933
933
// case insensitive chars
0 commit comments