Files
tp2-vsl-pds/src/main/antlr/VSLLexer.g
Vu Tuan Minh 88c5047e5f tableau
2025-04-30 13:44:12 +02:00

80 lines
835 B
Plaintext

lexer grammar VSLLexer;
options {
language = Java;
}
@header {
package TP2;
}
FUNCTION: 'FUNC'
;
PROTOTYPE: 'PROTO'
;
TYPE_INT: 'INT'
;
TYPE_VOID: 'VOID'
;
ASSIGN :':='
;
IF : 'IF'
;
THEN : 'THEN'
;
ELSE : 'ELSE'
;
FIN : 'FI'
;
WHILE : 'WHILE'
;
DO : 'DO'
;
DONE : 'DONE'
;
READ : 'READ'
;
PRINT : 'PRINT'
;
RETURN: 'RETURN'
;
TEXT : '"' (ASCII)+ '"'
;
NUMBER : (DIGIT)+
;
ParO: '('
;
ParF: ')'
;
BacO: '{'
;
BacF: '}'
;
CroO: '['
;
CroF:']'
;
PLUS: '+'
;
MINUS: '-'
;
DIV:'/'
;
TIMES: '*'
;
MOD: '%'
;
VIRGULE: ','
;
IDENT: ('a'..'z'|'A'..'Z')('a'..'z'|'A'..'Z'|'0'..'9'|'_')*
;
WS : (' '|'\n'|'\t'| '\r') { skip(); }
;
COMMENT : '//' (~'\n')* { skip(); }
;
fragment LETTER : 'a'..'z' ;
fragment DIGIT : '0'..'9' ;
fragment ASCII : ~('\n'|'"');