|
73 | 73 | * - made seekStmt, lockStmt, unlockStmt, getStmt and widthStmt accept a fileNumber (needed to support '#')
|
74 | 74 | * - fixed precompiler directives, which can now be nested. they still can't interfere with other blocks though.
|
75 | 75 | * - optional parameters can be a valueStmt.
|
| 76 | +* - added support for Octal literals |
76 | 77 | *
|
77 | 78 | *======================================================================================
|
78 | 79 | *
|
@@ -665,7 +666,7 @@ letterrange : certainIdentifier (WS? MINUS WS? certainIdentifier)?;
|
665 | 666 |
|
666 | 667 | lineLabel : ambiguousIdentifier ':';
|
667 | 668 |
|
668 |
| -literal : COLORLITERAL | DATELITERAL | DOUBLELITERAL | INTEGERLITERAL | STRINGLITERAL | TRUE | FALSE | NOTHING | NULL; |
| 669 | +literal : HEXLITERAL | OCTLITERAL | DATELITERAL | DOUBLELITERAL | INTEGERLITERAL | STRINGLITERAL | TRUE | FALSE | NOTHING | NULL; |
669 | 670 |
|
670 | 671 | type : (baseType | complexType) (WS? LPAREN WS? RPAREN)?;
|
671 | 672 |
|
@@ -908,10 +909,12 @@ R_SQUARE_BRACKET : ']';
|
908 | 909 | // literals
|
909 | 910 | STRINGLITERAL : '"' (~["\r\n] | '""')* '"';
|
910 | 911 | DATELITERAL : '#' [0-9]+ '/' [0-9]+ '/' [0-9]+ '#';
|
911 |
| -COLORLITERAL : '&H' [0-9A-F]+ '&'?; |
| 912 | +OCTLITERAL : '&O' [0-8]+ '&'?; |
| 913 | +HEXLITERAL : '&H' [0-9A-F]+ '&'?; |
912 | 914 | INTEGERLITERAL : (PLUS|MINUS)? ('0'..'9')+ ( ('e' | 'E') INTEGERLITERAL)* ('#' | '&')?;
|
913 | 915 | DOUBLELITERAL : (PLUS|MINUS)? ('0'..'9')* '.' ('0'..'9')+ ( ('e' | 'E') (PLUS|MINUS)? ('0'..'9')+)* ('#' | '&')?;
|
914 | 916 | BYTELITERAL : ('0'..'9')+;
|
| 917 | +
|
915 | 918 | // whitespace, line breaks, comments, ...
|
916 | 919 | LINE_CONTINUATION : [ \t]+ '_' '\r'? '\n' -> skip;
|
917 | 920 | NEWLINE : (':' WS?) | (WS? ('\r'? '\n') WS?);
|
|
0 commit comments