-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMyGrammar.interp
87 lines (83 loc) · 11.1 KB
/
MyGrammar.interp
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
token literal names:
null
'^'
'and'
'or'
'not'
'='
'>'
'<'
'+'
'*'
'-'
'/'
'++'
'--'
','
';'
'('
')'
'{'
'}'
'['
']'
'return'
null
'&'
'.'
'if'
'else'
'while'
'switch'
'case'
'main'
null
null
null
token symbolic names:
null
ZERO
AND
OR
NOT
EQ
GREATER
LESS
COMBINATION
INTERSECTION
SET
SSET
INCREMENT
DECREMENT
COMMA
SEMI
LPAREN
RPAREN
LCURLY
RCURLY
LSQUARE
RSQUARE
RETURN
TYPE
LINK
DOT
IF
ELSE
WHILE
SWITCH
CASE
MAIN
INT
ID
WS
rule names:
program
stat
def
index
lists
trees
expr
func
atn:
[4, 1, 34, 340, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 1, 0, 1, 0, 1, 0, 5, 0, 20, 8, 0, 10, 0, 12, 0, 23, 9, 0, 1, 0, 1, 0, 3, 0, 27, 8, 0, 1, 1, 3, 1, 30, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 52, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 69, 8, 1, 10, 1, 12, 1, 72, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 78, 8, 1, 10, 1, 12, 1, 81, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 88, 8, 1, 11, 1, 12, 1, 89, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 101, 8, 1, 11, 1, 12, 1, 102, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 109, 8, 1, 11, 1, 12, 1, 110, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 122, 8, 1, 11, 1, 12, 1, 123, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 135, 8, 1, 11, 1, 12, 1, 136, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 151, 8, 1, 10, 1, 12, 1, 154, 9, 1, 1, 1, 1, 1, 4, 1, 158, 8, 1, 11, 1, 12, 1, 159, 1, 1, 1, 1, 1, 1, 3, 1, 165, 8, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 5, 2, 177, 8, 2, 10, 2, 12, 2, 180, 9, 2, 1, 2, 1, 2, 1, 2, 5, 2, 185, 8, 2, 10, 2, 12, 2, 188, 9, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 198, 8, 3, 1, 4, 1, 4, 1, 4, 1, 4, 5, 4, 204, 8, 4, 10, 4, 12, 4, 207, 9, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 5, 5, 227, 8, 5, 10, 5, 12, 5, 230, 9, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 5, 5, 248, 8, 5, 10, 5, 12, 5, 251, 9, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 5, 5, 269, 8, 5, 10, 5, 12, 5, 272, 9, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 4, 6, 285, 8, 6, 11, 6, 12, 6, 286, 3, 6, 289, 8, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 5, 6, 321, 8, 6, 10, 6, 12, 6, 324, 9, 6, 1, 7, 1, 7, 1, 7, 3, 7, 329, 8, 7, 1, 7, 1, 7, 5, 7, 333, 8, 7, 10, 7, 12, 7, 336, 9, 7, 1, 7, 1, 7, 1, 7, 0, 1, 12, 8, 0, 2, 4, 6, 8, 10, 12, 14, 0, 0, 383, 0, 16, 1, 0, 0, 0, 2, 164, 1, 0, 0, 0, 4, 166, 1, 0, 0, 0, 6, 197, 1, 0, 0, 0, 8, 199, 1, 0, 0, 0, 10, 210, 1, 0, 0, 0, 12, 288, 1, 0, 0, 0, 14, 325, 1, 0, 0, 0, 16, 17, 5, 31, 0, 0, 17, 21, 5, 18, 0, 0, 18, 20, 3, 2, 1, 0, 19, 18, 1, 0, 0, 0, 20, 23, 1, 0, 0, 0, 21, 19, 1, 0, 0, 0, 21, 22, 1, 0, 0, 0, 22, 24, 1, 0, 0, 0, 23, 21, 1, 0, 0, 0, 24, 26, 5, 19, 0, 0, 25, 27, 5, 0, 0, 1, 26, 25, 1, 0, 0, 0, 26, 27, 1, 0, 0, 0, 27, 1, 1, 0, 0, 0, 28, 30, 5, 23, 0, 0, 29, 28, 1, 0, 0, 0, 29, 30, 1, 0, 0, 0, 30, 31, 1, 0, 0, 0, 31, 32, 5, 33, 0, 0, 32, 33, 5, 5, 0, 0, 33, 34, 3, 12, 6, 0, 34, 35, 5, 15, 0, 0, 35, 165, 1, 0, 0, 0, 36, 37, 3, 12, 6, 0, 37, 38, 5, 15, 0, 0, 38, 165, 1, 0, 0, 0, 39, 40, 5, 23, 0, 0, 40, 41, 5, 33, 0, 0, 41, 165, 5, 15, 0, 0, 42, 43, 3, 4, 2, 0, 43, 44, 5, 15, 0, 0, 44, 165, 1, 0, 0, 0, 45, 46, 3, 12, 6, 0, 46, 47, 5, 25, 0, 0, 47, 48, 3, 12, 6, 0, 48, 49, 5, 15, 0, 0, 49, 165, 1, 0, 0, 0, 50, 52, 5, 23, 0, 0, 51, 50, 1, 0, 0, 0, 51, 52, 1, 0, 0, 0, 52, 53, 1, 0, 0, 0, 53, 54, 5, 33, 0, 0, 54, 55, 5, 5, 0, 0, 55, 56, 3, 12, 6, 0, 56, 57, 5, 25, 0, 0, 57, 58, 3, 14, 7, 0, 58, 59, 5, 15, 0, 0, 59, 165, 1, 0, 0, 0, 60, 61, 5, 22, 0, 0, 61, 62, 3, 12, 6, 0, 62, 63, 5, 15, 0, 0, 63, 165, 1, 0, 0, 0, 64, 65, 5, 23, 0, 0, 65, 70, 5, 33, 0, 0, 66, 67, 5, 14, 0, 0, 67, 69, 5, 33, 0, 0, 68, 66, 1, 0, 0, 0, 69, 72, 1, 0, 0, 0, 70, 68, 1, 0, 0, 0, 70, 71, 1, 0, 0, 0, 71, 73, 1, 0, 0, 0, 72, 70, 1, 0, 0, 0, 73, 74, 5, 5, 0, 0, 74, 79, 3, 12, 6, 0, 75, 76, 5, 14, 0, 0, 76, 78, 3, 12, 6, 0, 77, 75, 1, 0, 0, 0, 78, 81, 1, 0, 0, 0, 79, 77, 1, 0, 0, 0, 79, 80, 1, 0, 0, 0, 80, 82, 1, 0, 0, 0, 81, 79, 1, 0, 0, 0, 82, 83, 5, 15, 0, 0, 83, 165, 1, 0, 0, 0, 84, 85, 5, 27, 0, 0, 85, 87, 5, 18, 0, 0, 86, 88, 3, 2, 1, 0, 87, 86, 1, 0, 0, 0, 88, 89, 1, 0, 0, 0, 89, 87, 1, 0, 0, 0, 89, 90, 1, 0, 0, 0, 90, 91, 1, 0, 0, 0, 91, 92, 5, 19, 0, 0, 92, 93, 5, 15, 0, 0, 93, 165, 1, 0, 0, 0, 94, 95, 5, 26, 0, 0, 95, 96, 5, 16, 0, 0, 96, 97, 3, 12, 6, 0, 97, 98, 5, 17, 0, 0, 98, 100, 5, 18, 0, 0, 99, 101, 3, 2, 1, 0, 100, 99, 1, 0, 0, 0, 101, 102, 1, 0, 0, 0, 102, 100, 1, 0, 0, 0, 102, 103, 1, 0, 0, 0, 103, 104, 1, 0, 0, 0, 104, 105, 5, 19, 0, 0, 105, 106, 5, 27, 0, 0, 106, 108, 5, 18, 0, 0, 107, 109, 3, 2, 1, 0, 108, 107, 1, 0, 0, 0, 109, 110, 1, 0, 0, 0, 110, 108, 1, 0, 0, 0, 110, 111, 1, 0, 0, 0, 111, 112, 1, 0, 0, 0, 112, 113, 5, 19, 0, 0, 113, 114, 5, 15, 0, 0, 114, 165, 1, 0, 0, 0, 115, 116, 5, 26, 0, 0, 116, 117, 5, 16, 0, 0, 117, 118, 3, 12, 6, 0, 118, 119, 5, 17, 0, 0, 119, 121, 5, 18, 0, 0, 120, 122, 3, 2, 1, 0, 121, 120, 1, 0, 0, 0, 122, 123, 1, 0, 0, 0, 123, 121, 1, 0, 0, 0, 123, 124, 1, 0, 0, 0, 124, 125, 1, 0, 0, 0, 125, 126, 5, 19, 0, 0, 126, 127, 5, 15, 0, 0, 127, 165, 1, 0, 0, 0, 128, 129, 5, 28, 0, 0, 129, 130, 5, 16, 0, 0, 130, 131, 3, 12, 6, 0, 131, 132, 5, 17, 0, 0, 132, 134, 5, 18, 0, 0, 133, 135, 3, 2, 1, 0, 134, 133, 1, 0, 0, 0, 135, 136, 1, 0, 0, 0, 136, 134, 1, 0, 0, 0, 136, 137, 1, 0, 0, 0, 137, 138, 1, 0, 0, 0, 138, 139, 5, 19, 0, 0, 139, 140, 5, 15, 0, 0, 140, 165, 1, 0, 0, 0, 141, 142, 5, 29, 0, 0, 142, 143, 5, 16, 0, 0, 143, 144, 3, 12, 6, 0, 144, 145, 5, 17, 0, 0, 145, 157, 5, 18, 0, 0, 146, 147, 5, 30, 0, 0, 147, 148, 3, 12, 6, 0, 148, 152, 5, 18, 0, 0, 149, 151, 3, 2, 1, 0, 150, 149, 1, 0, 0, 0, 151, 154, 1, 0, 0, 0, 152, 150, 1, 0, 0, 0, 152, 153, 1, 0, 0, 0, 153, 155, 1, 0, 0, 0, 154, 152, 1, 0, 0, 0, 155, 156, 5, 19, 0, 0, 156, 158, 1, 0, 0, 0, 157, 146, 1, 0, 0, 0, 158, 159, 1, 0, 0, 0, 159, 157, 1, 0, 0, 0, 159, 160, 1, 0, 0, 0, 160, 161, 1, 0, 0, 0, 161, 162, 5, 19, 0, 0, 162, 163, 5, 15, 0, 0, 163, 165, 1, 0, 0, 0, 164, 29, 1, 0, 0, 0, 164, 36, 1, 0, 0, 0, 164, 39, 1, 0, 0, 0, 164, 42, 1, 0, 0, 0, 164, 45, 1, 0, 0, 0, 164, 51, 1, 0, 0, 0, 164, 60, 1, 0, 0, 0, 164, 64, 1, 0, 0, 0, 164, 84, 1, 0, 0, 0, 164, 94, 1, 0, 0, 0, 164, 115, 1, 0, 0, 0, 164, 128, 1, 0, 0, 0, 164, 141, 1, 0, 0, 0, 165, 3, 1, 0, 0, 0, 166, 167, 5, 23, 0, 0, 167, 168, 5, 33, 0, 0, 168, 169, 5, 16, 0, 0, 169, 170, 5, 23, 0, 0, 170, 171, 5, 24, 0, 0, 171, 178, 5, 33, 0, 0, 172, 173, 5, 14, 0, 0, 173, 174, 5, 23, 0, 0, 174, 175, 5, 24, 0, 0, 175, 177, 5, 33, 0, 0, 176, 172, 1, 0, 0, 0, 177, 180, 1, 0, 0, 0, 178, 176, 1, 0, 0, 0, 178, 179, 1, 0, 0, 0, 179, 181, 1, 0, 0, 0, 180, 178, 1, 0, 0, 0, 181, 182, 5, 17, 0, 0, 182, 186, 5, 18, 0, 0, 183, 185, 3, 2, 1, 0, 184, 183, 1, 0, 0, 0, 185, 188, 1, 0, 0, 0, 186, 184, 1, 0, 0, 0, 186, 187, 1, 0, 0, 0, 187, 189, 1, 0, 0, 0, 188, 186, 1, 0, 0, 0, 189, 190, 5, 19, 0, 0, 190, 5, 1, 0, 0, 0, 191, 192, 5, 20, 0, 0, 192, 193, 5, 32, 0, 0, 193, 198, 5, 21, 0, 0, 194, 195, 5, 20, 0, 0, 195, 196, 5, 33, 0, 0, 196, 198, 5, 21, 0, 0, 197, 191, 1, 0, 0, 0, 197, 194, 1, 0, 0, 0, 198, 7, 1, 0, 0, 0, 199, 200, 5, 20, 0, 0, 200, 205, 5, 32, 0, 0, 201, 202, 5, 14, 0, 0, 202, 204, 5, 32, 0, 0, 203, 201, 1, 0, 0, 0, 204, 207, 1, 0, 0, 0, 205, 203, 1, 0, 0, 0, 205, 206, 1, 0, 0, 0, 206, 208, 1, 0, 0, 0, 207, 205, 1, 0, 0, 0, 208, 209, 5, 21, 0, 0, 209, 9, 1, 0, 0, 0, 210, 211, 5, 20, 0, 0, 211, 212, 5, 20, 0, 0, 212, 213, 5, 32, 0, 0, 213, 214, 5, 14, 0, 0, 214, 215, 5, 32, 0, 0, 215, 216, 5, 14, 0, 0, 216, 217, 5, 32, 0, 0, 217, 228, 5, 21, 0, 0, 218, 219, 5, 14, 0, 0, 219, 220, 5, 20, 0, 0, 220, 221, 5, 32, 0, 0, 221, 222, 5, 14, 0, 0, 222, 223, 5, 32, 0, 0, 223, 224, 5, 14, 0, 0, 224, 225, 5, 32, 0, 0, 225, 227, 5, 21, 0, 0, 226, 218, 1, 0, 0, 0, 227, 230, 1, 0, 0, 0, 228, 226, 1, 0, 0, 0, 228, 229, 1, 0, 0, 0, 229, 231, 1, 0, 0, 0, 230, 228, 1, 0, 0, 0, 231, 232, 5, 15, 0, 0, 232, 233, 5, 20, 0, 0, 233, 234, 5, 32, 0, 0, 234, 235, 5, 14, 0, 0, 235, 236, 5, 32, 0, 0, 236, 237, 5, 14, 0, 0, 237, 238, 5, 32, 0, 0, 238, 249, 5, 21, 0, 0, 239, 240, 5, 14, 0, 0, 240, 241, 5, 20, 0, 0, 241, 242, 5, 32, 0, 0, 242, 243, 5, 14, 0, 0, 243, 244, 5, 32, 0, 0, 244, 245, 5, 14, 0, 0, 245, 246, 5, 32, 0, 0, 246, 248, 5, 21, 0, 0, 247, 239, 1, 0, 0, 0, 248, 251, 1, 0, 0, 0, 249, 247, 1, 0, 0, 0, 249, 250, 1, 0, 0, 0, 250, 252, 1, 0, 0, 0, 251, 249, 1, 0, 0, 0, 252, 253, 5, 15, 0, 0, 253, 254, 5, 20, 0, 0, 254, 255, 5, 32, 0, 0, 255, 256, 5, 14, 0, 0, 256, 257, 5, 32, 0, 0, 257, 258, 5, 14, 0, 0, 258, 259, 5, 32, 0, 0, 259, 270, 5, 21, 0, 0, 260, 261, 5, 14, 0, 0, 261, 262, 5, 20, 0, 0, 262, 263, 5, 32, 0, 0, 263, 264, 5, 14, 0, 0, 264, 265, 5, 32, 0, 0, 265, 266, 5, 14, 0, 0, 266, 267, 5, 32, 0, 0, 267, 269, 5, 21, 0, 0, 268, 260, 1, 0, 0, 0, 269, 272, 1, 0, 0, 0, 270, 268, 1, 0, 0, 0, 270, 271, 1, 0, 0, 0, 271, 273, 1, 0, 0, 0, 272, 270, 1, 0, 0, 0, 273, 274, 5, 21, 0, 0, 274, 11, 1, 0, 0, 0, 275, 276, 6, 6, -1, 0, 276, 289, 5, 33, 0, 0, 277, 289, 5, 32, 0, 0, 278, 289, 3, 14, 7, 0, 279, 280, 5, 4, 0, 0, 280, 289, 3, 12, 6, 15, 281, 289, 3, 8, 4, 0, 282, 289, 3, 10, 5, 0, 283, 285, 5, 32, 0, 0, 284, 283, 1, 0, 0, 0, 285, 286, 1, 0, 0, 0, 286, 284, 1, 0, 0, 0, 286, 287, 1, 0, 0, 0, 287, 289, 1, 0, 0, 0, 288, 275, 1, 0, 0, 0, 288, 277, 1, 0, 0, 0, 288, 278, 1, 0, 0, 0, 288, 279, 1, 0, 0, 0, 288, 281, 1, 0, 0, 0, 288, 282, 1, 0, 0, 0, 288, 284, 1, 0, 0, 0, 289, 322, 1, 0, 0, 0, 290, 291, 10, 14, 0, 0, 291, 292, 5, 2, 0, 0, 292, 321, 3, 12, 6, 15, 293, 294, 10, 13, 0, 0, 294, 295, 5, 3, 0, 0, 295, 321, 3, 12, 6, 14, 296, 297, 10, 12, 0, 0, 297, 298, 5, 8, 0, 0, 298, 321, 3, 12, 6, 13, 299, 300, 10, 11, 0, 0, 300, 301, 5, 9, 0, 0, 301, 321, 3, 12, 6, 12, 302, 303, 10, 10, 0, 0, 303, 304, 5, 10, 0, 0, 304, 321, 3, 12, 6, 11, 305, 306, 10, 9, 0, 0, 306, 307, 5, 11, 0, 0, 307, 321, 3, 12, 6, 10, 308, 309, 10, 8, 0, 0, 309, 310, 5, 6, 0, 0, 310, 321, 3, 12, 6, 9, 311, 312, 10, 7, 0, 0, 312, 313, 5, 7, 0, 0, 313, 321, 3, 12, 6, 8, 314, 315, 10, 6, 0, 0, 315, 321, 5, 12, 0, 0, 316, 317, 10, 5, 0, 0, 317, 321, 5, 13, 0, 0, 318, 319, 10, 2, 0, 0, 319, 321, 3, 6, 3, 0, 320, 290, 1, 0, 0, 0, 320, 293, 1, 0, 0, 0, 320, 296, 1, 0, 0, 0, 320, 299, 1, 0, 0, 0, 320, 302, 1, 0, 0, 0, 320, 305, 1, 0, 0, 0, 320, 308, 1, 0, 0, 0, 320, 311, 1, 0, 0, 0, 320, 314, 1, 0, 0, 0, 320, 316, 1, 0, 0, 0, 320, 318, 1, 0, 0, 0, 321, 324, 1, 0, 0, 0, 322, 320, 1, 0, 0, 0, 322, 323, 1, 0, 0, 0, 323, 13, 1, 0, 0, 0, 324, 322, 1, 0, 0, 0, 325, 326, 5, 33, 0, 0, 326, 328, 5, 16, 0, 0, 327, 329, 3, 12, 6, 0, 328, 327, 1, 0, 0, 0, 328, 329, 1, 0, 0, 0, 329, 334, 1, 0, 0, 0, 330, 331, 5, 14, 0, 0, 331, 333, 3, 12, 6, 0, 332, 330, 1, 0, 0, 0, 333, 336, 1, 0, 0, 0, 334, 332, 1, 0, 0, 0, 334, 335, 1, 0, 0, 0, 335, 337, 1, 0, 0, 0, 336, 334, 1, 0, 0, 0, 337, 338, 5, 17, 0, 0, 338, 15, 1, 0, 0, 0, 27, 21, 26, 29, 51, 70, 79, 89, 102, 110, 123, 136, 152, 159, 164, 178, 186, 197, 205, 228, 249, 270, 286, 288, 320, 322, 328, 334]