19 lines
439 B
ANTLR
19 lines
439 B
ANTLR
// 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 ;
|