Add project files
build / linux-clang (push) Canceled after 0s
build / linux-gcc (push) Canceled after 0s
build / macos-clang (push) Canceled after 0s
build / windows-mingw (push) Canceled after 0s
build / windows-msvc (push) Canceled after 0s

This commit is contained in:
alejo committed 2026-10-07 00:25:24 -03:00
commit ba5971a788
37 files changed
+11180

No files matched your search

+18
View File
@@ -0,0 +1,18 @@
// Lexer and parser in separate files.
// antlrlab examples/split/CalcLexer.g4 examples/split/CalcParser.g4 examples/split/input.txt
lexer grammar CalcLexer;
PLUS : '+' ;
MINUS : '-' ;
STAR : '*' ;
SLASH : '/' ;
LPAREN : '(' ;
RPAREN : ')' ;
ASSIGN : '=' ;
SEMI : ';' ;
NUMBER : [0-9]+ ('.' [0-9]+)? ;
IDENT : [a-zA-Z_] [a-zA-Z_0-9]* ;
LINE_COMMENT : '//' ~[\r\n]* -> channel(HIDDEN) ;
WS : [ \t\r\n]+ -> skip ;
+15
View File
@@ -0,0 +1,15 @@
parser grammar CalcParser;
options { tokenVocab = CalcLexer; }
program : statement* EOF ;
statement : IDENT ASSIGN expression SEMI ;
expression
: expression (STAR | SLASH) expression
| expression (PLUS | MINUS) expression
| LPAREN expression RPAREN
| NUMBER
| IDENT
;
+3
View File
@@ -0,0 +1,3 @@
// two statements
width = 4;
area = width * (width + 2.5) - 1;