Added Lexemes
Wrote some literals and keywords.
This commit is contained in:
48
lexerA1.g4
Normal file
48
lexerA1.g4
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
lexer grammar lexerA1;
|
||||||
|
|
||||||
|
// Literals
|
||||||
|
IntigerLiteral: ;
|
||||||
|
|
||||||
|
FloatingPointLiteral: ;
|
||||||
|
|
||||||
|
CharacterLiteral: '\'' SingleCharacter '\'' | '\'' EscapeSequence '\'';
|
||||||
|
|
||||||
|
fragment SingleCharacter:
|
||||||
|
[^'\\];
|
||||||
|
|
||||||
|
StringLiteral: '"' StringCharacters? '"';
|
||||||
|
|
||||||
|
fragment StringCharacters:
|
||||||
|
StringCharacter+;
|
||||||
|
|
||||||
|
fragment StringCharacter:
|
||||||
|
[^"\\] | EscapeSequence;
|
||||||
|
|
||||||
|
fragment EscapeSequence:
|
||||||
|
'\\' ('u0008' | 'u0009' | 'u000a' | 'u000c' | 'u000d' | 'u0022' | 'u0027' | 'u005c' | OctalEscape);
|
||||||
|
|
||||||
|
fragment OctalEscape:
|
||||||
|
'\\' OctalDigit | '\\' OctalDigit OctalDigit | '\\' ZeroToThree OctalDigit OctalDigit;
|
||||||
|
|
||||||
|
fragment OctalDigit:
|
||||||
|
[0-7];
|
||||||
|
|
||||||
|
fragment ZeroToThree:
|
||||||
|
[0-3];
|
||||||
|
|
||||||
|
BooleanLiteral: 'true' | 'false' ;
|
||||||
|
|
||||||
|
NullLiteral: 'null';
|
||||||
|
// Keywords
|
||||||
|
Public : 'public';
|
||||||
|
Protected: 'protected';
|
||||||
|
Private: 'private';
|
||||||
|
Static: 'static';
|
||||||
|
Abstract: 'abstract';
|
||||||
|
Final: 'final';
|
||||||
|
Native: 'native';
|
||||||
|
Synchronized: 'synchronized';
|
||||||
|
Transient: 'transient';
|
||||||
|
Volatile: 'volatile';
|
||||||
|
Strictfp: 'strictfp';
|
||||||
|
Assert: 'Assert';
|
||||||
Reference in New Issue
Block a user