-
Notifications
You must be signed in to change notification settings - Fork 1
/
constants.py
50 lines (46 loc) · 825 Bytes
/
constants.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
# coding=utf-8
from enum import IntEnum
class Types(IntEnum):
INT = 0
DOUBLE = 1
BOOL = 2
VOID = 3
class Operations(IntEnum):
PLUS = 0
MINUS = 1
DIVIDE = 2
MULTIPLY = 3
ISEQUAL = 4
NOTEQUAL = 5
GREATERTHAN = 6
LESSTHAN = 7
GREATERTHANOREQ = 8
LESSTHANOREQ = 9
AND = 10
OR = 11
ASSIGN = 12
# Parentheses
LEFT_PAR = 13
RIGHT_PAR = 14
# Read, write, return functions
READ = 15
WRITE = 16
RETURN = 17
# Cycles and conditions operations
GOTOF = 19
GOTOT = 20
GOTO = 21
# Functions
PARAM = 22
GOSUB = 23
ERA = 24
ENDPROC = 25
END = 26
GLOBALERA = 27
# Matrices
VER = 28
# Brackets
LEFT_BRACKET = 29
RIGHT_BRACKET = 30
class Errors(IntEnum):
MISMATCH = -1