Repository navigation
Expand file tree
/
Copy pathPseudoJavaScanner.g4
More file actions
64 lines (59 loc) · 1.51 KB
/
Copy pathPseudoJavaScanner.g4
File metadata and controls
64 lines (59 loc) · 1.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
lexer grammar PseudoJavaScanner;
// PALABRAS RESERVADAS DEL LENGUAJE
WHILE : 'while';
IF : 'if';
ELSE : 'else';
RETURN : 'return';
PRINT : 'print';
CLASS : 'class';
BOOLEAN : 'boolean';
CHAR : 'char';
INT : 'int';
REAL : 'real';
STRING : 'string';
LENGTH : 'length';
TRUE : 'true';
FALSE : 'false';
OR : '||';
AND : '&&';
// SIMBOLOS
CUR_OPEN_BRACE : '{';
CUR_CLOSE_BRACE : '}';
OPEN_PARENTHESIS : '(';
CLOSED_PARENTHESIS : ')';
SEMICOLON : ';';
COMMA : ',';
ASSIGN : '=';
DOT : '.';
SUM : '+';
MINUS : '-';
NEAGTE : '!';
NEW : 'new';
OPEN_BRACKET : '[';
CLOSED_BRACKET : ']';
LESS_THAN : '<';
GREATER_THAN : '>';
EQUAL : '==';
DISTINCT : '!=';
LESS_OR_EQUAL_THAN : '<=';
GREATER_OR_EQUAL_THAN : '>=';
UNDERSCORE : '_';
SLASH : '/';
MULTIPLICATION : '*';
QUOTATION_MARKS : '"';
SINGLE_QUOTE : '\'';
// COMPLEJAS
WHITESPACES : [ \r\t\n]+ -> skip;
LINE_COMMENT : '//' ~[\r\n]* -> skip;
IDENTIFIER : ( UNDERSCORE | LETTER ) (UNDERSCORE | LETTER | DIGIT)*;
INT_LITERAL : DIGIT(DIGIT)*;
REAL_LITERAL : DIGIT(DIGIT)* DOT (DIGIT)*
| DOT DIGIT (DIGIT)*;
STRING_LITERAL : QUOTATION_MARKS ('\\"' | '\'' | PRINTABLE)* QUOTATION_MARKS;
CHAR_LITERAL : SINGLE_QUOTE ('"' | '\\\'' | PRINTABLE) SINGLE_QUOTE;
fragment PRINTABLE : DIGIT|LETTER|' '| '!' | '#' | '$' | '%' | '&'
| '(' | ')' | '*' | '+' | ',' | '-' | '.' | '/' | ':' | ';'
| '<' | '=' | '>' | '?' | '@' | '[' | '\\' | ']' | '^' | '_' | '`'
| '{' | '|' | '}' | '~';
fragment LETTER : [a-zA-Z];
fragment DIGIT : [0-9];