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'|'"');