12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- lexer grammar ivprog;
- PR_PROGRAMA : 'programa' ;
- PR_REAL : 'real' ;
- PR_VAZIO : 'vazio' ;
- PR_LOGICO : 'logico' ;
- PR_CADEIA : 'cadeia' ;
- PR_INTEIRO : 'inteiro' ;
- PR_CARACTER : 'caracter' ;
- PR_ESCOLHA : 'escolha' ;
- PR_CASO : 'caso' ;
- PR_CONTRARIO : 'contrario' ;
- PR_CONST : 'const' ;
- PR_FUNCAO : 'funcao' ;
- PR_RETORNE : 'retorne' ;
- PR_PARA : 'para' ;
- PR_PARE : 'pare' ;
- PR_FACA : 'faca' ;
- PR_ENQUANTO : 'enquanto' ;
- PR_SE : 'se' ;
- PR_SENAO : 'senao' ;
- GAMBIARRA : '.' |'á'| 'à'| 'ã'|'â'|'é'|'ê'|'í'|'ó'|'ô'|'õ'|'ú'|'ü'|'ç'|'Ä'|'À'|'Ã'|'Â'|'É'|'Ê'|'Ë'|'Ó'|'Ô'|'Õ'|'Ú'|'Ü'|'Ç'|'#'|'$'|'"'|'§'|'?'|'¹'|'²'|'³'|'£'|'¢'|'¬'|'ª'|'º'|'~'|'\''|'`'|'\\'|'@';
-
- fragment PR_FALSO : 'falso' ;
- fragment PR_VERDADEIRO : 'verdadeiro' ;
- ABRE_PAR: '(';
- FECHA_PAR: ')';
- ABRE_COL: '[';
- FECHA_COL: ']';
- ABRE_CHA: '{';
- FECHA_CHA: '}';
- VIRGULA: ',';
- PONTO_VIRGULA: ';';
- ATRIBUICAO: '=';
- OPERADOR_ARITMETICO: ('+'|'-'|'*'|'/'|'%');
- OPERADOR_E: 'E';
- OPERADOR_OU: 'OU';
- OPERADOR_RELACIONAL: ('>='|'=='|'<='|'>'|'<');
- DPONTOS: ':';
- OPERADOR_NAO : 'nao' ;
- LOGICO : PR_VERDADEIRO | PR_FALSO ;
- ID : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')* ;
- // ID_BIBLIOTECA : ID '.' ID;
- INTEIRO : '0'..'9'+ | ('0x'|'0X')(DIGIT_HEX)+ | ('0b'|'0B')('0'|'1')+;
- REAL : ('0'..'9')+ '.' ('0'..'9')+ ;
-
- CADEIA : '"' ( SEQ_ESC | ~('\\'|'"') )* '"' ;
- CARACTER : '\'' ( SEQ_ESC | ~('\''|'\\') ) '\'' ;
- ESPACO : ( ' ' | '\t' | '\r' | '\n') -> channel(HIDDEN) ;
- fragment DIGIT_HEX : ('0'..'9'|'a'..'f'|'A'..'F') ;
- fragment SEQ_ESC : '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') | ESC_UNICODE | ESC_OCTAL ;
- fragment ESC_OCTAL : '\\' ('0'..'3') ('0'..'7') ('0'..'7') | '\\' ('0'..'7') ('0'..'7') | '\\' ('0'..'7') ;
- fragment ESC_UNICODE : '\\' 'u' DIGIT_HEX DIGIT_HEX DIGIT_HEX DIGIT_HEX ;
- COMENTARIO :
- ('//' ~('\n'|'\r')* '\r'? '\n' |
-
- '/*' .*? '*/') -> channel(HIDDEN)
- ;
|