-
Notifications
You must be signed in to change notification settings - Fork 0
/
reserved.py
59 lines (57 loc) · 1.27 KB
/
reserved.py
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
# List of reserved words.
reserved = {
'program': 'PROGRAM_KEYWORD',
'main': 'MAIN_KEYWORD',
'class': 'CLASS_KEYWORD',
'attributes': 'ATTRIBUTES_KEYWORD',
'hivar': 'VARS_KEYWORD',
'byevar': 'END_VARS',
'methods': 'METHODS_KEYWORD',
'function': 'FUNCTION',
'return': 'RETURN',
'read': 'READ',
'write': 'WRITE',
'int': 'INT',
'float': 'FLOAT',
'char': 'CHAR',
'void': 'VOID',
'if': 'IF',
'elsif': 'ELSIF',
'else': 'ELSE',
'while': 'WHILE',
'do': 'DO',
'from': 'FROM',
'to': 'TO'
}
# List of token names.
tokens = [
'COMMA',
'PERIOD',
'COLON',
'SEMICOLON',
'LEFT_PARENTHESIS',
'RIGHT_PARENTHESIS',
'LEFT_CURLY',
'RIGHT_CURLY',
'LEFT_BRACKET',
'RIGHT_BRACKET',
'NOT_EQUALS',
'EQUALS_COMPARISON',
'EQUALS_ASSIGNMENT',
'LESS_THAN',
'GREATER_THAN',
'LESS_EQUALS',
'GREATER_EQUALS',
'PLUS',
'MINUS',
'MULTIPLY',
'DIVIDE',
'AND',
'OR',
'EXCLAMATION',
'ID',
'CONST_INT',
'CONST_FLOAT',
'CONST_CHAR',
'CONST_STRING'
] + list(reserved.values())