From bc6c1027af2e2634185e49721dd12bd3664b2290 Mon Sep 17 00:00:00 2001 From: Mandeep Moun Date: Fri, 19 Sep 2025 23:25:40 -0600 Subject: [PATCH] Added Lexemes Wrote some literals and keywords. --- lexer.g4 | 0 lexerA1.g4 | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) delete mode 100644 lexer.g4 create mode 100644 lexerA1.g4 diff --git a/lexer.g4 b/lexer.g4 deleted file mode 100644 index e69de29..0000000 diff --git a/lexerA1.g4 b/lexerA1.g4 new file mode 100644 index 0000000..8266bf1 --- /dev/null +++ b/lexerA1.g4 @@ -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';