mal-toolbox 1.2.0__py3-none-any.whl → 2.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3159 +0,0 @@
1
- # mypy: ignore-errors
2
- # Generated from mal.g4 by ANTLR 4.13.2
3
- # encoding: utf-8
4
- import sys
5
-
6
- from antlr4 import *
7
-
8
- if sys.version_info[1] > 5:
9
- from typing import TextIO
10
- else:
11
- from typing.io import TextIO
12
-
13
-
14
- def serializedATN():
15
- return [
16
- 4, 1, 51, 413, 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,
17
- 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13,
18
- 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20,
19
- 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26,
20
- 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33,
21
- 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39,
22
- 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 1, 0, 4, 0, 92, 8, 0,
23
- 11, 0, 12, 0, 93, 1, 0, 3, 0, 97, 8, 0, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 103, 8, 1, 1, 2, 1, 2,
24
- 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 5, 4, 116, 8, 4, 10, 4, 12, 4, 119, 9,
25
- 4, 1, 4, 1, 4, 5, 4, 123, 8, 4, 10, 4, 12, 4, 126, 9, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5,
26
- 1, 5, 1, 6, 1, 6, 1, 7, 3, 7, 138, 8, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 144, 8, 7, 1, 7, 5, 7,
27
- 147, 8, 7, 10, 7, 12, 7, 150, 9, 7, 1, 7, 1, 7, 1, 7, 5, 7, 155, 8, 7, 10, 7, 12, 7, 158,
28
- 9, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 5, 8, 165, 8, 8, 10, 8, 12, 8, 168, 9, 8, 1, 8, 3, 8, 171,
29
- 8, 8, 1, 8, 3, 8, 174, 8, 8, 1, 8, 5, 8, 177, 8, 8, 10, 8, 12, 8, 180, 9, 8, 1, 8, 5, 8, 183,
30
- 8, 8, 10, 8, 12, 8, 186, 9, 8, 1, 8, 3, 8, 189, 8, 8, 1, 8, 3, 8, 192, 8, 8, 1, 9, 1, 9, 1,
31
- 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 5, 11, 203, 8, 11, 10, 11, 12, 11, 206, 9,
32
- 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1,
33
- 15, 5, 15, 221, 8, 15, 10, 15, 12, 15, 224, 9, 15, 1, 16, 1, 16, 1, 16, 5, 16, 229, 8,
34
- 16, 10, 16, 12, 16, 232, 9, 16, 1, 17, 1, 17, 1, 17, 3, 17, 237, 8, 17, 1, 18, 1, 18, 1,
35
- 18, 1, 18, 1, 18, 1, 18, 3, 18, 245, 8, 18, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 5, 19, 252,
36
- 8, 19, 10, 19, 12, 19, 255, 9, 19, 3, 19, 257, 8, 19, 1, 19, 3, 19, 260, 8, 19, 1, 20,
37
- 1, 20, 3, 20, 264, 8, 20, 1, 20, 1, 20, 3, 20, 268, 8, 20, 1, 20, 3, 20, 271, 8, 20, 1,
38
- 21, 1, 21, 1, 22, 1, 22, 1, 22, 5, 22, 278, 8, 22, 10, 22, 12, 22, 281, 9, 22, 1, 23, 1,
39
- 23, 1, 23, 1, 23, 5, 23, 287, 8, 23, 10, 23, 12, 23, 290, 9, 23, 1, 23, 1, 23, 1, 24, 1,
40
- 24, 1, 24, 1, 25, 1, 25, 1, 26, 1, 26, 1, 27, 1, 27, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1,
41
- 29, 5, 29, 309, 8, 29, 10, 29, 12, 29, 312, 9, 29, 1, 30, 1, 30, 1, 30, 1, 30, 5, 30, 318,
42
- 8, 30, 10, 30, 12, 30, 321, 9, 30, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33,
43
- 1, 33, 1, 33, 1, 33, 5, 33, 334, 8, 33, 10, 33, 12, 33, 337, 9, 33, 1, 34, 1, 34, 1, 34,
44
- 5, 34, 342, 8, 34, 10, 34, 12, 34, 345, 9, 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35,
45
- 1, 35, 1, 35, 1, 35, 3, 35, 356, 8, 35, 1, 35, 3, 35, 359, 8, 35, 1, 35, 5, 35, 362, 8,
46
- 35, 10, 35, 12, 35, 365, 9, 35, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38,
47
- 1, 39, 1, 39, 1, 39, 5, 39, 378, 8, 39, 10, 39, 12, 39, 381, 9, 39, 1, 39, 1, 39, 1, 40,
48
- 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 5, 40, 395, 8, 40, 10, 40,
49
- 12, 40, 398, 9, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 3, 42, 407, 8, 42,
50
- 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 0, 0, 45, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24,
51
- 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68,
52
- 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 0, 10, 1, 0, 9, 10, 4, 0, 13, 13, 22, 22, 36, 37,
53
- 39, 39, 1, 0, 14, 16, 2, 0, 31, 31, 45, 45, 2, 0, 28, 28, 46, 46, 2, 0, 38, 38, 48, 48,
54
- 1, 0, 42, 43, 1, 0, 11, 12, 1, 0, 31, 33, 2, 0, 11, 11, 28, 28, 411, 0, 96, 1, 0, 0, 0, 2,
55
- 102, 1, 0, 0, 0, 4, 104, 1, 0, 0, 0, 6, 107, 1, 0, 0, 0, 8, 112, 1, 0, 0, 0, 10, 129, 1, 0,
56
- 0, 0, 12, 134, 1, 0, 0, 0, 14, 137, 1, 0, 0, 0, 16, 161, 1, 0, 0, 0, 18, 193, 1, 0, 0, 0,
57
- 20, 195, 1, 0, 0, 0, 22, 198, 1, 0, 0, 0, 24, 209, 1, 0, 0, 0, 26, 211, 1, 0, 0, 0, 28, 213,
58
- 1, 0, 0, 0, 30, 217, 1, 0, 0, 0, 32, 225, 1, 0, 0, 0, 34, 233, 1, 0, 0, 0, 36, 244, 1, 0,
59
- 0, 0, 38, 246, 1, 0, 0, 0, 40, 261, 1, 0, 0, 0, 42, 272, 1, 0, 0, 0, 44, 274, 1, 0, 0, 0,
60
- 46, 282, 1, 0, 0, 0, 48, 293, 1, 0, 0, 0, 50, 296, 1, 0, 0, 0, 52, 298, 1, 0, 0, 0, 54, 300,
61
- 1, 0, 0, 0, 56, 302, 1, 0, 0, 0, 58, 304, 1, 0, 0, 0, 60, 313, 1, 0, 0, 0, 62, 322, 1, 0,
62
- 0, 0, 64, 324, 1, 0, 0, 0, 66, 329, 1, 0, 0, 0, 68, 338, 1, 0, 0, 0, 70, 355, 1, 0, 0, 0,
63
- 72, 366, 1, 0, 0, 0, 74, 368, 1, 0, 0, 0, 76, 372, 1, 0, 0, 0, 78, 374, 1, 0, 0, 0, 80, 384,
64
- 1, 0, 0, 0, 82, 399, 1, 0, 0, 0, 84, 403, 1, 0, 0, 0, 86, 408, 1, 0, 0, 0, 88, 410, 1, 0,
65
- 0, 0, 90, 92, 3, 2, 1, 0, 91, 90, 1, 0, 0, 0, 92, 93, 1, 0, 0, 0, 93, 91, 1, 0, 0, 0, 93, 94,
66
- 1, 0, 0, 0, 94, 97, 1, 0, 0, 0, 95, 97, 5, 0, 0, 1, 96, 91, 1, 0, 0, 0, 96, 95, 1, 0, 0, 0,
67
- 97, 1, 1, 0, 0, 0, 98, 103, 3, 4, 2, 0, 99, 103, 3, 6, 3, 0, 100, 103, 3, 8, 4, 0, 101, 103,
68
- 3, 78, 39, 0, 102, 98, 1, 0, 0, 0, 102, 99, 1, 0, 0, 0, 102, 100, 1, 0, 0, 0, 102, 101,
69
- 1, 0, 0, 0, 103, 3, 1, 0, 0, 0, 104, 105, 5, 5, 0, 0, 105, 106, 5, 9, 0, 0, 106, 5, 1, 0,
70
- 0, 0, 107, 108, 5, 22, 0, 0, 108, 109, 5, 17, 0, 0, 109, 110, 5, 23, 0, 0, 110, 111, 5,
71
- 9, 0, 0, 111, 7, 1, 0, 0, 0, 112, 113, 5, 6, 0, 0, 113, 117, 5, 17, 0, 0, 114, 116, 3, 10,
72
- 5, 0, 115, 114, 1, 0, 0, 0, 116, 119, 1, 0, 0, 0, 117, 115, 1, 0, 0, 0, 117, 118, 1, 0,
73
- 0, 0, 118, 120, 1, 0, 0, 0, 119, 117, 1, 0, 0, 0, 120, 124, 5, 20, 0, 0, 121, 123, 3, 14,
74
- 7, 0, 122, 121, 1, 0, 0, 0, 123, 126, 1, 0, 0, 0, 124, 122, 1, 0, 0, 0, 124, 125, 1, 0,
75
- 0, 0, 125, 127, 1, 0, 0, 0, 126, 124, 1, 0, 0, 0, 127, 128, 5, 21, 0, 0, 128, 9, 1, 0, 0,
76
- 0, 129, 130, 5, 17, 0, 0, 130, 131, 5, 7, 0, 0, 131, 132, 5, 23, 0, 0, 132, 133, 3, 12,
77
- 6, 0, 133, 11, 1, 0, 0, 0, 134, 135, 7, 0, 0, 0, 135, 13, 1, 0, 0, 0, 136, 138, 5, 1, 0,
78
- 0, 137, 136, 1, 0, 0, 0, 137, 138, 1, 0, 0, 0, 138, 139, 1, 0, 0, 0, 139, 140, 5, 2, 0,
79
- 0, 140, 143, 5, 17, 0, 0, 141, 142, 5, 4, 0, 0, 142, 144, 5, 17, 0, 0, 143, 141, 1, 0,
80
- 0, 0, 143, 144, 1, 0, 0, 0, 144, 148, 1, 0, 0, 0, 145, 147, 3, 10, 5, 0, 146, 145, 1, 0,
81
- 0, 0, 147, 150, 1, 0, 0, 0, 148, 146, 1, 0, 0, 0, 148, 149, 1, 0, 0, 0, 149, 151, 1, 0,
82
- 0, 0, 150, 148, 1, 0, 0, 0, 151, 156, 5, 20, 0, 0, 152, 155, 3, 16, 8, 0, 153, 155, 3,
83
- 64, 32, 0, 154, 152, 1, 0, 0, 0, 154, 153, 1, 0, 0, 0, 155, 158, 1, 0, 0, 0, 156, 154,
84
- 1, 0, 0, 0, 156, 157, 1, 0, 0, 0, 157, 159, 1, 0, 0, 0, 158, 156, 1, 0, 0, 0, 159, 160,
85
- 5, 21, 0, 0, 160, 15, 1, 0, 0, 0, 161, 162, 3, 18, 9, 0, 162, 166, 5, 17, 0, 0, 163, 165,
86
- 3, 20, 10, 0, 164, 163, 1, 0, 0, 0, 165, 168, 1, 0, 0, 0, 166, 164, 1, 0, 0, 0, 166, 167,
87
- 1, 0, 0, 0, 167, 170, 1, 0, 0, 0, 168, 166, 1, 0, 0, 0, 169, 171, 3, 22, 11, 0, 170, 169,
88
- 1, 0, 0, 0, 170, 171, 1, 0, 0, 0, 171, 173, 1, 0, 0, 0, 172, 174, 3, 28, 14, 0, 173, 172,
89
- 1, 0, 0, 0, 173, 174, 1, 0, 0, 0, 174, 178, 1, 0, 0, 0, 175, 177, 3, 10, 5, 0, 176, 175,
90
- 1, 0, 0, 0, 177, 180, 1, 0, 0, 0, 178, 176, 1, 0, 0, 0, 178, 179, 1, 0, 0, 0, 179, 184,
91
- 1, 0, 0, 0, 180, 178, 1, 0, 0, 0, 181, 183, 3, 40, 20, 0, 182, 181, 1, 0, 0, 0, 183, 186,
92
- 1, 0, 0, 0, 184, 182, 1, 0, 0, 0, 184, 185, 1, 0, 0, 0, 185, 188, 1, 0, 0, 0, 186, 184,
93
- 1, 0, 0, 0, 187, 189, 3, 58, 29, 0, 188, 187, 1, 0, 0, 0, 188, 189, 1, 0, 0, 0, 189, 191,
94
- 1, 0, 0, 0, 190, 192, 3, 60, 30, 0, 191, 190, 1, 0, 0, 0, 191, 192, 1, 0, 0, 0, 192, 17,
95
- 1, 0, 0, 0, 193, 194, 7, 1, 0, 0, 194, 19, 1, 0, 0, 0, 195, 196, 5, 40, 0, 0, 196, 197,
96
- 5, 17, 0, 0, 197, 21, 1, 0, 0, 0, 198, 199, 5, 20, 0, 0, 199, 204, 3, 24, 12, 0, 200, 201,
97
- 5, 44, 0, 0, 201, 203, 3, 24, 12, 0, 202, 200, 1, 0, 0, 0, 203, 206, 1, 0, 0, 0, 204, 202,
98
- 1, 0, 0, 0, 204, 205, 1, 0, 0, 0, 205, 207, 1, 0, 0, 0, 206, 204, 1, 0, 0, 0, 207, 208,
99
- 5, 21, 0, 0, 208, 23, 1, 0, 0, 0, 209, 210, 7, 2, 0, 0, 210, 25, 1, 0, 0, 0, 211, 212, 3,
100
- 28, 14, 0, 212, 27, 1, 0, 0, 0, 213, 214, 5, 26, 0, 0, 214, 215, 3, 30, 15, 0, 215, 216,
101
- 5, 27, 0, 0, 216, 29, 1, 0, 0, 0, 217, 222, 3, 32, 16, 0, 218, 219, 7, 3, 0, 0, 219, 221,
102
- 3, 32, 16, 0, 220, 218, 1, 0, 0, 0, 221, 224, 1, 0, 0, 0, 222, 220, 1, 0, 0, 0, 222, 223,
103
- 1, 0, 0, 0, 223, 31, 1, 0, 0, 0, 224, 222, 1, 0, 0, 0, 225, 230, 3, 34, 17, 0, 226, 227,
104
- 7, 4, 0, 0, 227, 229, 3, 34, 17, 0, 228, 226, 1, 0, 0, 0, 229, 232, 1, 0, 0, 0, 230, 228,
105
- 1, 0, 0, 0, 230, 231, 1, 0, 0, 0, 231, 33, 1, 0, 0, 0, 232, 230, 1, 0, 0, 0, 233, 236, 3,
106
- 36, 18, 0, 234, 235, 5, 47, 0, 0, 235, 237, 3, 36, 18, 0, 236, 234, 1, 0, 0, 0, 236, 237,
107
- 1, 0, 0, 0, 237, 35, 1, 0, 0, 0, 238, 245, 3, 38, 19, 0, 239, 240, 5, 18, 0, 0, 240, 241,
108
- 3, 30, 15, 0, 241, 242, 5, 19, 0, 0, 242, 245, 1, 0, 0, 0, 243, 245, 3, 62, 31, 0, 244,
109
- 238, 1, 0, 0, 0, 244, 239, 1, 0, 0, 0, 244, 243, 1, 0, 0, 0, 245, 37, 1, 0, 0, 0, 246, 259,
110
- 5, 17, 0, 0, 247, 256, 5, 18, 0, 0, 248, 253, 3, 62, 31, 0, 249, 250, 5, 44, 0, 0, 250,
111
- 252, 3, 62, 31, 0, 251, 249, 1, 0, 0, 0, 252, 255, 1, 0, 0, 0, 253, 251, 1, 0, 0, 0, 253,
112
- 254, 1, 0, 0, 0, 254, 257, 1, 0, 0, 0, 255, 253, 1, 0, 0, 0, 256, 248, 1, 0, 0, 0, 256,
113
- 257, 1, 0, 0, 0, 257, 258, 1, 0, 0, 0, 258, 260, 5, 19, 0, 0, 259, 247, 1, 0, 0, 0, 259,
114
- 260, 1, 0, 0, 0, 260, 39, 1, 0, 0, 0, 261, 263, 3, 42, 21, 0, 262, 264, 3, 44, 22, 0, 263,
115
- 262, 1, 0, 0, 0, 263, 264, 1, 0, 0, 0, 264, 265, 1, 0, 0, 0, 265, 267, 3, 46, 23, 0, 266,
116
- 268, 3, 54, 27, 0, 267, 266, 1, 0, 0, 0, 267, 268, 1, 0, 0, 0, 268, 270, 1, 0, 0, 0, 269,
117
- 271, 3, 56, 28, 0, 270, 269, 1, 0, 0, 0, 270, 271, 1, 0, 0, 0, 271, 41, 1, 0, 0, 0, 272,
118
- 273, 7, 5, 0, 0, 273, 43, 1, 0, 0, 0, 274, 279, 5, 17, 0, 0, 275, 276, 5, 35, 0, 0, 276,
119
- 278, 5, 17, 0, 0, 277, 275, 1, 0, 0, 0, 278, 281, 1, 0, 0, 0, 279, 277, 1, 0, 0, 0, 279,
120
- 280, 1, 0, 0, 0, 280, 45, 1, 0, 0, 0, 281, 279, 1, 0, 0, 0, 282, 283, 5, 18, 0, 0, 283,
121
- 288, 3, 48, 24, 0, 284, 285, 5, 44, 0, 0, 285, 287, 3, 48, 24, 0, 286, 284, 1, 0, 0, 0,
122
- 287, 290, 1, 0, 0, 0, 288, 286, 1, 0, 0, 0, 288, 289, 1, 0, 0, 0, 289, 291, 1, 0, 0, 0,
123
- 290, 288, 1, 0, 0, 0, 291, 292, 5, 19, 0, 0, 292, 47, 1, 0, 0, 0, 293, 294, 3, 50, 25,
124
- 0, 294, 295, 3, 52, 26, 0, 295, 49, 1, 0, 0, 0, 296, 297, 5, 17, 0, 0, 297, 51, 1, 0, 0,
125
- 0, 298, 299, 5, 17, 0, 0, 299, 53, 1, 0, 0, 0, 300, 301, 5, 17, 0, 0, 301, 55, 1, 0, 0,
126
- 0, 302, 303, 3, 28, 14, 0, 303, 57, 1, 0, 0, 0, 304, 305, 5, 41, 0, 0, 305, 310, 3, 66,
127
- 33, 0, 306, 307, 5, 44, 0, 0, 307, 309, 3, 66, 33, 0, 308, 306, 1, 0, 0, 0, 309, 312,
128
- 1, 0, 0, 0, 310, 308, 1, 0, 0, 0, 310, 311, 1, 0, 0, 0, 311, 59, 1, 0, 0, 0, 312, 310, 1,
129
- 0, 0, 0, 313, 314, 7, 6, 0, 0, 314, 319, 3, 66, 33, 0, 315, 316, 5, 44, 0, 0, 316, 318,
130
- 3, 66, 33, 0, 317, 315, 1, 0, 0, 0, 318, 321, 1, 0, 0, 0, 319, 317, 1, 0, 0, 0, 319, 320,
131
- 1, 0, 0, 0, 320, 61, 1, 0, 0, 0, 321, 319, 1, 0, 0, 0, 322, 323, 7, 7, 0, 0, 323, 63, 1,
132
- 0, 0, 0, 324, 325, 5, 8, 0, 0, 325, 326, 5, 17, 0, 0, 326, 327, 5, 30, 0, 0, 327, 328,
133
- 3, 66, 33, 0, 328, 65, 1, 0, 0, 0, 329, 335, 3, 68, 34, 0, 330, 331, 3, 76, 38, 0, 331,
134
- 332, 3, 68, 34, 0, 332, 334, 1, 0, 0, 0, 333, 330, 1, 0, 0, 0, 334, 337, 1, 0, 0, 0, 335,
135
- 333, 1, 0, 0, 0, 335, 336, 1, 0, 0, 0, 336, 67, 1, 0, 0, 0, 337, 335, 1, 0, 0, 0, 338, 343,
136
- 3, 70, 35, 0, 339, 340, 5, 35, 0, 0, 340, 342, 3, 70, 35, 0, 341, 339, 1, 0, 0, 0, 342,
137
- 345, 1, 0, 0, 0, 343, 341, 1, 0, 0, 0, 343, 344, 1, 0, 0, 0, 344, 69, 1, 0, 0, 0, 345, 343,
138
- 1, 0, 0, 0, 346, 347, 5, 18, 0, 0, 347, 348, 3, 66, 33, 0, 348, 349, 5, 19, 0, 0, 349,
139
- 356, 1, 0, 0, 0, 350, 351, 3, 72, 36, 0, 351, 352, 5, 18, 0, 0, 352, 353, 5, 19, 0, 0,
140
- 353, 356, 1, 0, 0, 0, 354, 356, 5, 17, 0, 0, 355, 346, 1, 0, 0, 0, 355, 350, 1, 0, 0, 0,
141
- 355, 354, 1, 0, 0, 0, 356, 358, 1, 0, 0, 0, 357, 359, 5, 28, 0, 0, 358, 357, 1, 0, 0, 0,
142
- 358, 359, 1, 0, 0, 0, 359, 363, 1, 0, 0, 0, 360, 362, 3, 74, 37, 0, 361, 360, 1, 0, 0,
143
- 0, 362, 365, 1, 0, 0, 0, 363, 361, 1, 0, 0, 0, 363, 364, 1, 0, 0, 0, 364, 71, 1, 0, 0, 0,
144
- 365, 363, 1, 0, 0, 0, 366, 367, 5, 17, 0, 0, 367, 73, 1, 0, 0, 0, 368, 369, 5, 26, 0, 0,
145
- 369, 370, 5, 17, 0, 0, 370, 371, 5, 27, 0, 0, 371, 75, 1, 0, 0, 0, 372, 373, 7, 8, 0, 0,
146
- 373, 77, 1, 0, 0, 0, 374, 375, 5, 3, 0, 0, 375, 379, 5, 20, 0, 0, 376, 378, 3, 80, 40,
147
- 0, 377, 376, 1, 0, 0, 0, 378, 381, 1, 0, 0, 0, 379, 377, 1, 0, 0, 0, 379, 380, 1, 0, 0,
148
- 0, 380, 382, 1, 0, 0, 0, 381, 379, 1, 0, 0, 0, 382, 383, 5, 21, 0, 0, 383, 79, 1, 0, 0,
149
- 0, 384, 385, 5, 17, 0, 0, 385, 386, 3, 82, 41, 0, 386, 387, 3, 84, 42, 0, 387, 388, 5,
150
- 24, 0, 0, 388, 389, 3, 88, 44, 0, 389, 390, 5, 25, 0, 0, 390, 391, 3, 84, 42, 0, 391,
151
- 392, 3, 82, 41, 0, 392, 396, 5, 17, 0, 0, 393, 395, 3, 10, 5, 0, 394, 393, 1, 0, 0, 0,
152
- 395, 398, 1, 0, 0, 0, 396, 394, 1, 0, 0, 0, 396, 397, 1, 0, 0, 0, 397, 81, 1, 0, 0, 0, 398,
153
- 396, 1, 0, 0, 0, 399, 400, 5, 26, 0, 0, 400, 401, 5, 17, 0, 0, 401, 402, 5, 27, 0, 0, 402,
154
- 83, 1, 0, 0, 0, 403, 406, 3, 86, 43, 0, 404, 405, 5, 34, 0, 0, 405, 407, 3, 86, 43, 0,
155
- 406, 404, 1, 0, 0, 0, 406, 407, 1, 0, 0, 0, 407, 85, 1, 0, 0, 0, 408, 409, 7, 9, 0, 0, 409,
156
- 87, 1, 0, 0, 0, 410, 411, 5, 17, 0, 0, 411, 89, 1, 0, 0, 0, 40, 93, 96, 102, 117, 124,
157
- 137, 143, 148, 154, 156, 166, 170, 173, 178, 184, 188, 191, 204, 222, 230, 236,
158
- 244, 253, 256, 259, 263, 267, 270, 279, 288, 310, 319, 335, 343, 355, 358, 363,
159
- 379, 396, 406
160
- ]
161
-
162
-
163
- class malParser (Parser):
164
-
165
- grammarFileName = "mal.g4"
166
-
167
- atn = ATNDeserializer().deserialize(serializedATN())
168
-
169
- decisionsToDFA = [DFA(ds, i) for i, ds in enumerate(atn.decisionToState)]
170
-
171
- sharedContextCache = PredictionContextCache()
172
-
173
- literalNames = ["<INVALID>", "'abstract'", "'asset'", "'associations'",
174
- "'extends'", "'include'", "'category'", "'info'", "'let'",
175
- "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>",
176
- "'E'", "'C'", "'I'", "'A'", "<INVALID>", "'('", "')'",
177
- "'{'", "'}'", "'#'", "':'", "'<--'", "'-->'", "'['",
178
- "']'", "'*'", "'1'", "'='", "'-'", "'/\\'", "'\\/'",
179
- "'..'", "'.'", "'&'", "'|'", "'!'", "'!E'", "'@'",
180
- "'<-'", "'+>'", "'->'", "','", "'+'", "'/'", "'^'",
181
- "'//!'"]
182
-
183
- symbolicNames = ["<INVALID>", "ABSTRACT", "ASSET", "ASSOCIATIONS",
184
- "EXTENDS", "INCLUDE", "CATEGORY", "INFO", "LET", "STRING",
185
- "MULTILINE_STRING", "INT", "FLOAT", "EXISTS", "C",
186
- "I", "A", "ID", "LPAREN", "RPAREN", "LCURLY", "RCURLY",
187
- "HASH", "COLON", "LARROW", "RARROW", "LSQUARE", "RSQUARE",
188
- "STAR", "ONE", "ASSIGN", "MINUS", "INTERSECT", "UNION",
189
- "RANGE", "DOT", "AND", "OR", "EXCLAMATION", "NOTEXISTS",
190
- "AT", "REQUIRES", "INHERITS", "LEADSTO", "COMMA",
191
- "PLUS", "DIVIDE", "POWER", "EXCLM_COMM", "INLINE_COMMENT",
192
- "MULTILINE_COMMENT", "WS"]
193
-
194
- RULE_mal = 0
195
- RULE_declaration = 1
196
- RULE_include = 2
197
- RULE_define = 3
198
- RULE_category = 4
199
- RULE_meta = 5
200
- RULE_text = 6
201
- RULE_asset = 7
202
- RULE_step = 8
203
- RULE_steptype = 9
204
- RULE_tag = 10
205
- RULE_cias = 11
206
- RULE_cia = 12
207
- RULE_ttc = 13
208
- RULE_pdist = 14
209
- RULE_pdistexpr = 15
210
- RULE_pdistterm = 16
211
- RULE_pdistfact = 17
212
- RULE_pdistatom = 18
213
- RULE_pdistdist = 19
214
- RULE_detector = 20
215
- RULE_bang = 21
216
- RULE_detectorname = 22
217
- RULE_context = 23
218
- RULE_contextpart = 24
219
- RULE_contextasset = 25
220
- RULE_contextlabel = 26
221
- RULE_detectortype = 27
222
- RULE_tprate = 28
223
- RULE_precondition = 29
224
- RULE_reaches = 30
225
- RULE_number = 31
226
- RULE_variable = 32
227
- RULE_expr = 33
228
- RULE_parts = 34
229
- RULE_part = 35
230
- RULE_varsubst = 36
231
- RULE_type = 37
232
- RULE_setop = 38
233
- RULE_associations = 39
234
- RULE_association = 40
235
- RULE_field = 41
236
- RULE_mult = 42
237
- RULE_multatom = 43
238
- RULE_linkname = 44
239
-
240
- ruleNames = ["mal", "declaration", "include", "define", "category",
241
- "meta", "text", "asset", "step", "steptype", "tag", "cias",
242
- "cia", "ttc", "pdist", "pdistexpr", "pdistterm", "pdistfact",
243
- "pdistatom", "pdistdist", "detector", "bang", "detectorname",
244
- "context", "contextpart", "contextasset", "contextlabel",
245
- "detectortype", "tprate", "precondition", "reaches",
246
- "number", "variable", "expr", "parts", "part", "varsubst",
247
- "type", "setop", "associations", "association", "field",
248
- "mult", "multatom", "linkname"]
249
-
250
- EOF = Token.EOF
251
- ABSTRACT = 1
252
- ASSET = 2
253
- ASSOCIATIONS = 3
254
- EXTENDS = 4
255
- INCLUDE = 5
256
- CATEGORY = 6
257
- INFO = 7
258
- LET = 8
259
- STRING = 9
260
- MULTILINE_STRING = 10
261
- INT = 11
262
- FLOAT = 12
263
- EXISTS = 13
264
- C = 14
265
- I = 15
266
- A = 16
267
- ID = 17
268
- LPAREN = 18
269
- RPAREN = 19
270
- LCURLY = 20
271
- RCURLY = 21
272
- HASH = 22
273
- COLON = 23
274
- LARROW = 24
275
- RARROW = 25
276
- LSQUARE = 26
277
- RSQUARE = 27
278
- STAR = 28
279
- ONE = 29
280
- ASSIGN = 30
281
- MINUS = 31
282
- INTERSECT = 32
283
- UNION = 33
284
- RANGE = 34
285
- DOT = 35
286
- AND = 36
287
- OR = 37
288
- EXCLAMATION = 38
289
- NOTEXISTS = 39
290
- AT = 40
291
- REQUIRES = 41
292
- INHERITS = 42
293
- LEADSTO = 43
294
- COMMA = 44
295
- PLUS = 45
296
- DIVIDE = 46
297
- POWER = 47
298
- EXCLM_COMM = 48
299
- INLINE_COMMENT = 49
300
- MULTILINE_COMMENT = 50
301
- WS = 51
302
-
303
- def __init__(self, input: TokenStream, output: TextIO = sys.stdout):
304
- super().__init__(input, output)
305
- self.checkVersion("4.13.2")
306
- self._interp = ParserATNSimulator(self, self.atn, self.decisionsToDFA, self.sharedContextCache)
307
- self._predicates = None
308
-
309
- class MalContext(ParserRuleContext):
310
- __slots__ = 'parser'
311
-
312
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
313
- super().__init__(parent, invokingState)
314
- self.parser = parser
315
-
316
- def declaration(self, i: int = None):
317
- if i is None:
318
- return self.getTypedRuleContexts(malParser.DeclarationContext)
319
- return self.getTypedRuleContext(malParser.DeclarationContext, i)
320
-
321
- def EOF(self):
322
- return self.getToken(malParser.EOF, 0)
323
-
324
- def getRuleIndex(self):
325
- return malParser.RULE_mal
326
-
327
- def enterRule(self, listener: ParseTreeListener):
328
- if hasattr(listener, "enterMal"):
329
- listener.enterMal(self)
330
-
331
- def exitRule(self, listener: ParseTreeListener):
332
- if hasattr(listener, "exitMal"):
333
- listener.exitMal(self)
334
-
335
- def accept(self, visitor: ParseTreeVisitor):
336
- if hasattr(visitor, "visitMal"):
337
- return visitor.visitMal(self)
338
- return visitor.visitChildren(self)
339
-
340
- def mal(self):
341
-
342
- localctx = malParser.MalContext(self, self._ctx, self.state)
343
- self.enterRule(localctx, 0, self.RULE_mal)
344
- self._la = 0 # Token type
345
- try:
346
- self.state = 96
347
- self._errHandler.sync(self)
348
- token = self._input.LA(1)
349
- if token in [3, 5, 6, 22]:
350
- self.enterOuterAlt(localctx, 1)
351
- self.state = 91
352
- self._errHandler.sync(self)
353
- _la = self._input.LA(1)
354
- while True:
355
- self.state = 90
356
- self.declaration()
357
- self.state = 93
358
- self._errHandler.sync(self)
359
- _la = self._input.LA(1)
360
- if not (((_la) & ~0x3f) == 0 and ((1 << _la) & 4194408) != 0):
361
- break
362
-
363
- elif token == -1:
364
- self.enterOuterAlt(localctx, 2)
365
- self.state = 95
366
- self.match(malParser.EOF)
367
- else:
368
- raise NoViableAltException(self)
369
-
370
- except RecognitionException as re:
371
- localctx.exception = re
372
- self._errHandler.reportError(self, re)
373
- self._errHandler.recover(self, re)
374
- finally:
375
- self.exitRule()
376
- return localctx
377
-
378
- class DeclarationContext(ParserRuleContext):
379
- __slots__ = 'parser'
380
-
381
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
382
- super().__init__(parent, invokingState)
383
- self.parser = parser
384
-
385
- def include(self):
386
- return self.getTypedRuleContext(malParser.IncludeContext, 0)
387
-
388
- def define(self):
389
- return self.getTypedRuleContext(malParser.DefineContext, 0)
390
-
391
- def category(self):
392
- return self.getTypedRuleContext(malParser.CategoryContext, 0)
393
-
394
- def associations(self):
395
- return self.getTypedRuleContext(malParser.AssociationsContext, 0)
396
-
397
- def getRuleIndex(self):
398
- return malParser.RULE_declaration
399
-
400
- def enterRule(self, listener: ParseTreeListener):
401
- if hasattr(listener, "enterDeclaration"):
402
- listener.enterDeclaration(self)
403
-
404
- def exitRule(self, listener: ParseTreeListener):
405
- if hasattr(listener, "exitDeclaration"):
406
- listener.exitDeclaration(self)
407
-
408
- def accept(self, visitor: ParseTreeVisitor):
409
- if hasattr(visitor, "visitDeclaration"):
410
- return visitor.visitDeclaration(self)
411
- return visitor.visitChildren(self)
412
-
413
- def declaration(self):
414
-
415
- localctx = malParser.DeclarationContext(self, self._ctx, self.state)
416
- self.enterRule(localctx, 2, self.RULE_declaration)
417
- try:
418
- self.state = 102
419
- self._errHandler.sync(self)
420
- token = self._input.LA(1)
421
- if token == 5:
422
- self.enterOuterAlt(localctx, 1)
423
- self.state = 98
424
- self.include()
425
- elif token == 22:
426
- self.enterOuterAlt(localctx, 2)
427
- self.state = 99
428
- self.define()
429
- elif token == 6:
430
- self.enterOuterAlt(localctx, 3)
431
- self.state = 100
432
- self.category()
433
- elif token == 3:
434
- self.enterOuterAlt(localctx, 4)
435
- self.state = 101
436
- self.associations()
437
- else:
438
- raise NoViableAltException(self)
439
-
440
- except RecognitionException as re:
441
- localctx.exception = re
442
- self._errHandler.reportError(self, re)
443
- self._errHandler.recover(self, re)
444
- finally:
445
- self.exitRule()
446
- return localctx
447
-
448
- class IncludeContext(ParserRuleContext):
449
- __slots__ = 'parser'
450
-
451
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
452
- super().__init__(parent, invokingState)
453
- self.parser = parser
454
-
455
- def INCLUDE(self):
456
- return self.getToken(malParser.INCLUDE, 0)
457
-
458
- def STRING(self):
459
- return self.getToken(malParser.STRING, 0)
460
-
461
- def getRuleIndex(self):
462
- return malParser.RULE_include
463
-
464
- def enterRule(self, listener: ParseTreeListener):
465
- if hasattr(listener, "enterInclude"):
466
- listener.enterInclude(self)
467
-
468
- def exitRule(self, listener: ParseTreeListener):
469
- if hasattr(listener, "exitInclude"):
470
- listener.exitInclude(self)
471
-
472
- def accept(self, visitor: ParseTreeVisitor):
473
- if hasattr(visitor, "visitInclude"):
474
- return visitor.visitInclude(self)
475
- return visitor.visitChildren(self)
476
-
477
- def include(self):
478
-
479
- localctx = malParser.IncludeContext(self, self._ctx, self.state)
480
- self.enterRule(localctx, 4, self.RULE_include)
481
- try:
482
- self.enterOuterAlt(localctx, 1)
483
- self.state = 104
484
- self.match(malParser.INCLUDE)
485
- self.state = 105
486
- self.match(malParser.STRING)
487
- except RecognitionException as re:
488
- localctx.exception = re
489
- self._errHandler.reportError(self, re)
490
- self._errHandler.recover(self, re)
491
- finally:
492
- self.exitRule()
493
- return localctx
494
-
495
- class DefineContext(ParserRuleContext):
496
- __slots__ = 'parser'
497
-
498
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
499
- super().__init__(parent, invokingState)
500
- self.parser = parser
501
-
502
- def HASH(self):
503
- return self.getToken(malParser.HASH, 0)
504
-
505
- def ID(self):
506
- return self.getToken(malParser.ID, 0)
507
-
508
- def COLON(self):
509
- return self.getToken(malParser.COLON, 0)
510
-
511
- def STRING(self):
512
- return self.getToken(malParser.STRING, 0)
513
-
514
- def getRuleIndex(self):
515
- return malParser.RULE_define
516
-
517
- def enterRule(self, listener: ParseTreeListener):
518
- if hasattr(listener, "enterDefine"):
519
- listener.enterDefine(self)
520
-
521
- def exitRule(self, listener: ParseTreeListener):
522
- if hasattr(listener, "exitDefine"):
523
- listener.exitDefine(self)
524
-
525
- def accept(self, visitor: ParseTreeVisitor):
526
- if hasattr(visitor, "visitDefine"):
527
- return visitor.visitDefine(self)
528
- return visitor.visitChildren(self)
529
-
530
- def define(self):
531
-
532
- localctx = malParser.DefineContext(self, self._ctx, self.state)
533
- self.enterRule(localctx, 6, self.RULE_define)
534
- try:
535
- self.enterOuterAlt(localctx, 1)
536
- self.state = 107
537
- self.match(malParser.HASH)
538
- self.state = 108
539
- self.match(malParser.ID)
540
- self.state = 109
541
- self.match(malParser.COLON)
542
- self.state = 110
543
- self.match(malParser.STRING)
544
- except RecognitionException as re:
545
- localctx.exception = re
546
- self._errHandler.reportError(self, re)
547
- self._errHandler.recover(self, re)
548
- finally:
549
- self.exitRule()
550
- return localctx
551
-
552
- class CategoryContext(ParserRuleContext):
553
- __slots__ = 'parser'
554
-
555
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
556
- super().__init__(parent, invokingState)
557
- self.parser = parser
558
-
559
- def CATEGORY(self):
560
- return self.getToken(malParser.CATEGORY, 0)
561
-
562
- def ID(self):
563
- return self.getToken(malParser.ID, 0)
564
-
565
- def LCURLY(self):
566
- return self.getToken(malParser.LCURLY, 0)
567
-
568
- def RCURLY(self):
569
- return self.getToken(malParser.RCURLY, 0)
570
-
571
- def meta(self, i: int = None):
572
- if i is None:
573
- return self.getTypedRuleContexts(malParser.MetaContext)
574
- return self.getTypedRuleContext(malParser.MetaContext, i)
575
-
576
- def asset(self, i: int = None):
577
- if i is None:
578
- return self.getTypedRuleContexts(malParser.AssetContext)
579
- return self.getTypedRuleContext(malParser.AssetContext, i)
580
-
581
- def getRuleIndex(self):
582
- return malParser.RULE_category
583
-
584
- def enterRule(self, listener: ParseTreeListener):
585
- if hasattr(listener, "enterCategory"):
586
- listener.enterCategory(self)
587
-
588
- def exitRule(self, listener: ParseTreeListener):
589
- if hasattr(listener, "exitCategory"):
590
- listener.exitCategory(self)
591
-
592
- def accept(self, visitor: ParseTreeVisitor):
593
- if hasattr(visitor, "visitCategory"):
594
- return visitor.visitCategory(self)
595
- return visitor.visitChildren(self)
596
-
597
- def category(self):
598
-
599
- localctx = malParser.CategoryContext(self, self._ctx, self.state)
600
- self.enterRule(localctx, 8, self.RULE_category)
601
- self._la = 0 # Token type
602
- try:
603
- self.enterOuterAlt(localctx, 1)
604
- self.state = 112
605
- self.match(malParser.CATEGORY)
606
- self.state = 113
607
- self.match(malParser.ID)
608
- self.state = 117
609
- self._errHandler.sync(self)
610
- _la = self._input.LA(1)
611
- while _la == 17:
612
- self.state = 114
613
- self.meta()
614
- self.state = 119
615
- self._errHandler.sync(self)
616
- _la = self._input.LA(1)
617
-
618
- self.state = 120
619
- self.match(malParser.LCURLY)
620
- self.state = 124
621
- self._errHandler.sync(self)
622
- _la = self._input.LA(1)
623
- while _la == 1 or _la == 2:
624
- self.state = 121
625
- self.asset()
626
- self.state = 126
627
- self._errHandler.sync(self)
628
- _la = self._input.LA(1)
629
-
630
- self.state = 127
631
- self.match(malParser.RCURLY)
632
- except RecognitionException as re:
633
- localctx.exception = re
634
- self._errHandler.reportError(self, re)
635
- self._errHandler.recover(self, re)
636
- finally:
637
- self.exitRule()
638
- return localctx
639
-
640
- class MetaContext(ParserRuleContext):
641
- __slots__ = 'parser'
642
-
643
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
644
- super().__init__(parent, invokingState)
645
- self.parser = parser
646
-
647
- def ID(self):
648
- return self.getToken(malParser.ID, 0)
649
-
650
- def INFO(self):
651
- return self.getToken(malParser.INFO, 0)
652
-
653
- def COLON(self):
654
- return self.getToken(malParser.COLON, 0)
655
-
656
- def text(self):
657
- return self.getTypedRuleContext(malParser.TextContext, 0)
658
-
659
- def getRuleIndex(self):
660
- return malParser.RULE_meta
661
-
662
- def enterRule(self, listener: ParseTreeListener):
663
- if hasattr(listener, "enterMeta"):
664
- listener.enterMeta(self)
665
-
666
- def exitRule(self, listener: ParseTreeListener):
667
- if hasattr(listener, "exitMeta"):
668
- listener.exitMeta(self)
669
-
670
- def accept(self, visitor: ParseTreeVisitor):
671
- if hasattr(visitor, "visitMeta"):
672
- return visitor.visitMeta(self)
673
- return visitor.visitChildren(self)
674
-
675
- def meta(self):
676
-
677
- localctx = malParser.MetaContext(self, self._ctx, self.state)
678
- self.enterRule(localctx, 10, self.RULE_meta)
679
- try:
680
- self.enterOuterAlt(localctx, 1)
681
- self.state = 129
682
- self.match(malParser.ID)
683
- self.state = 130
684
- self.match(malParser.INFO)
685
- self.state = 131
686
- self.match(malParser.COLON)
687
- self.state = 132
688
- self.text()
689
- except RecognitionException as re:
690
- localctx.exception = re
691
- self._errHandler.reportError(self, re)
692
- self._errHandler.recover(self, re)
693
- finally:
694
- self.exitRule()
695
- return localctx
696
-
697
- class TextContext(ParserRuleContext):
698
- __slots__ = 'parser'
699
-
700
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
701
- super().__init__(parent, invokingState)
702
- self.parser = parser
703
-
704
- def STRING(self):
705
- return self.getToken(malParser.STRING, 0)
706
-
707
- def MULTILINE_STRING(self):
708
- return self.getToken(malParser.MULTILINE_STRING, 0)
709
-
710
- def getRuleIndex(self):
711
- return malParser.RULE_text
712
-
713
- def enterRule(self, listener: ParseTreeListener):
714
- if hasattr(listener, "enterText"):
715
- listener.enterText(self)
716
-
717
- def exitRule(self, listener: ParseTreeListener):
718
- if hasattr(listener, "exitText"):
719
- listener.exitText(self)
720
-
721
- def accept(self, visitor: ParseTreeVisitor):
722
- if hasattr(visitor, "visitText"):
723
- return visitor.visitText(self)
724
- return visitor.visitChildren(self)
725
-
726
- def text(self):
727
-
728
- localctx = malParser.TextContext(self, self._ctx, self.state)
729
- self.enterRule(localctx, 12, self.RULE_text)
730
- self._la = 0 # Token type
731
- try:
732
- self.enterOuterAlt(localctx, 1)
733
- self.state = 134
734
- _la = self._input.LA(1)
735
- if not (_la == 9 or _la == 10):
736
- self._errHandler.recoverInline(self)
737
- else:
738
- self._errHandler.reportMatch(self)
739
- self.consume()
740
- except RecognitionException as re:
741
- localctx.exception = re
742
- self._errHandler.reportError(self, re)
743
- self._errHandler.recover(self, re)
744
- finally:
745
- self.exitRule()
746
- return localctx
747
-
748
- class AssetContext(ParserRuleContext):
749
- __slots__ = 'parser'
750
-
751
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
752
- super().__init__(parent, invokingState)
753
- self.parser = parser
754
-
755
- def ASSET(self):
756
- return self.getToken(malParser.ASSET, 0)
757
-
758
- def ID(self, i: int = None):
759
- if i is None:
760
- return self.getTokens(malParser.ID)
761
- return self.getToken(malParser.ID, i)
762
-
763
- def LCURLY(self):
764
- return self.getToken(malParser.LCURLY, 0)
765
-
766
- def RCURLY(self):
767
- return self.getToken(malParser.RCURLY, 0)
768
-
769
- def ABSTRACT(self):
770
- return self.getToken(malParser.ABSTRACT, 0)
771
-
772
- def EXTENDS(self):
773
- return self.getToken(malParser.EXTENDS, 0)
774
-
775
- def meta(self, i: int = None):
776
- if i is None:
777
- return self.getTypedRuleContexts(malParser.MetaContext)
778
- return self.getTypedRuleContext(malParser.MetaContext, i)
779
-
780
- def step(self, i: int = None):
781
- if i is None:
782
- return self.getTypedRuleContexts(malParser.StepContext)
783
- return self.getTypedRuleContext(malParser.StepContext, i)
784
-
785
- def variable(self, i: int = None):
786
- if i is None:
787
- return self.getTypedRuleContexts(malParser.VariableContext)
788
- return self.getTypedRuleContext(malParser.VariableContext, i)
789
-
790
- def getRuleIndex(self):
791
- return malParser.RULE_asset
792
-
793
- def enterRule(self, listener: ParseTreeListener):
794
- if hasattr(listener, "enterAsset"):
795
- listener.enterAsset(self)
796
-
797
- def exitRule(self, listener: ParseTreeListener):
798
- if hasattr(listener, "exitAsset"):
799
- listener.exitAsset(self)
800
-
801
- def accept(self, visitor: ParseTreeVisitor):
802
- if hasattr(visitor, "visitAsset"):
803
- return visitor.visitAsset(self)
804
- return visitor.visitChildren(self)
805
-
806
- def asset(self):
807
-
808
- localctx = malParser.AssetContext(self, self._ctx, self.state)
809
- self.enterRule(localctx, 14, self.RULE_asset)
810
- self._la = 0 # Token type
811
- try:
812
- self.enterOuterAlt(localctx, 1)
813
- self.state = 137
814
- self._errHandler.sync(self)
815
- _la = self._input.LA(1)
816
- if _la == 1:
817
- self.state = 136
818
- self.match(malParser.ABSTRACT)
819
-
820
- self.state = 139
821
- self.match(malParser.ASSET)
822
- self.state = 140
823
- self.match(malParser.ID)
824
- self.state = 143
825
- self._errHandler.sync(self)
826
- _la = self._input.LA(1)
827
- if _la == 4:
828
- self.state = 141
829
- self.match(malParser.EXTENDS)
830
- self.state = 142
831
- self.match(malParser.ID)
832
-
833
- self.state = 148
834
- self._errHandler.sync(self)
835
- _la = self._input.LA(1)
836
- while _la == 17:
837
- self.state = 145
838
- self.meta()
839
- self.state = 150
840
- self._errHandler.sync(self)
841
- _la = self._input.LA(1)
842
-
843
- self.state = 151
844
- self.match(malParser.LCURLY)
845
- self.state = 156
846
- self._errHandler.sync(self)
847
- _la = self._input.LA(1)
848
- while (((_la) & ~0x3f) == 0 and ((1 << _la) & 755918446848) != 0):
849
- self.state = 154
850
- self._errHandler.sync(self)
851
- token = self._input.LA(1)
852
- if token in [13, 22, 36, 37, 39]:
853
- self.state = 152
854
- self.step()
855
- elif token == 8:
856
- self.state = 153
857
- self.variable()
858
- else:
859
- raise NoViableAltException(self)
860
-
861
- self.state = 158
862
- self._errHandler.sync(self)
863
- _la = self._input.LA(1)
864
-
865
- self.state = 159
866
- self.match(malParser.RCURLY)
867
- except RecognitionException as re:
868
- localctx.exception = re
869
- self._errHandler.reportError(self, re)
870
- self._errHandler.recover(self, re)
871
- finally:
872
- self.exitRule()
873
- return localctx
874
-
875
- class StepContext(ParserRuleContext):
876
- __slots__ = 'parser'
877
-
878
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
879
- super().__init__(parent, invokingState)
880
- self.parser = parser
881
-
882
- def steptype(self):
883
- return self.getTypedRuleContext(malParser.SteptypeContext, 0)
884
-
885
- def ID(self):
886
- return self.getToken(malParser.ID, 0)
887
-
888
- def tag(self, i: int = None):
889
- if i is None:
890
- return self.getTypedRuleContexts(malParser.TagContext)
891
- return self.getTypedRuleContext(malParser.TagContext, i)
892
-
893
- def cias(self):
894
- return self.getTypedRuleContext(malParser.CiasContext, 0)
895
-
896
- def pdist(self):
897
- return self.getTypedRuleContext(malParser.PdistContext, 0)
898
-
899
- def meta(self, i: int = None):
900
- if i is None:
901
- return self.getTypedRuleContexts(malParser.MetaContext)
902
- return self.getTypedRuleContext(malParser.MetaContext, i)
903
-
904
- def detector(self, i: int = None):
905
- if i is None:
906
- return self.getTypedRuleContexts(malParser.DetectorContext)
907
- return self.getTypedRuleContext(malParser.DetectorContext, i)
908
-
909
- def precondition(self):
910
- return self.getTypedRuleContext(malParser.PreconditionContext, 0)
911
-
912
- def reaches(self):
913
- return self.getTypedRuleContext(malParser.ReachesContext, 0)
914
-
915
- def getRuleIndex(self):
916
- return malParser.RULE_step
917
-
918
- def enterRule(self, listener: ParseTreeListener):
919
- if hasattr(listener, "enterStep"):
920
- listener.enterStep(self)
921
-
922
- def exitRule(self, listener: ParseTreeListener):
923
- if hasattr(listener, "exitStep"):
924
- listener.exitStep(self)
925
-
926
- def accept(self, visitor: ParseTreeVisitor):
927
- if hasattr(visitor, "visitStep"):
928
- return visitor.visitStep(self)
929
- return visitor.visitChildren(self)
930
-
931
- def step(self):
932
-
933
- localctx = malParser.StepContext(self, self._ctx, self.state)
934
- self.enterRule(localctx, 16, self.RULE_step)
935
- self._la = 0 # Token type
936
- try:
937
- self.enterOuterAlt(localctx, 1)
938
- self.state = 161
939
- self.steptype()
940
- self.state = 162
941
- self.match(malParser.ID)
942
- self.state = 166
943
- self._errHandler.sync(self)
944
- _la = self._input.LA(1)
945
- while _la == 40:
946
- self.state = 163
947
- self.tag()
948
- self.state = 168
949
- self._errHandler.sync(self)
950
- _la = self._input.LA(1)
951
-
952
- self.state = 170
953
- self._errHandler.sync(self)
954
- _la = self._input.LA(1)
955
- if _la == 20:
956
- self.state = 169
957
- self.cias()
958
-
959
- self.state = 173
960
- self._errHandler.sync(self)
961
- _la = self._input.LA(1)
962
- if _la == 26:
963
- self.state = 172
964
- self.pdist()
965
-
966
- self.state = 178
967
- self._errHandler.sync(self)
968
- _la = self._input.LA(1)
969
- while _la == 17:
970
- self.state = 175
971
- self.meta()
972
- self.state = 180
973
- self._errHandler.sync(self)
974
- _la = self._input.LA(1)
975
-
976
- self.state = 184
977
- self._errHandler.sync(self)
978
- _la = self._input.LA(1)
979
- while _la == 38 or _la == 48:
980
- self.state = 181
981
- self.detector()
982
- self.state = 186
983
- self._errHandler.sync(self)
984
- _la = self._input.LA(1)
985
-
986
- self.state = 188
987
- self._errHandler.sync(self)
988
- _la = self._input.LA(1)
989
- if _la == 41:
990
- self.state = 187
991
- self.precondition()
992
-
993
- self.state = 191
994
- self._errHandler.sync(self)
995
- _la = self._input.LA(1)
996
- if _la == 42 or _la == 43:
997
- self.state = 190
998
- self.reaches()
999
-
1000
- except RecognitionException as re:
1001
- localctx.exception = re
1002
- self._errHandler.reportError(self, re)
1003
- self._errHandler.recover(self, re)
1004
- finally:
1005
- self.exitRule()
1006
- return localctx
1007
-
1008
- class SteptypeContext(ParserRuleContext):
1009
- __slots__ = 'parser'
1010
-
1011
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
1012
- super().__init__(parent, invokingState)
1013
- self.parser = parser
1014
-
1015
- def AND(self):
1016
- return self.getToken(malParser.AND, 0)
1017
-
1018
- def OR(self):
1019
- return self.getToken(malParser.OR, 0)
1020
-
1021
- def HASH(self):
1022
- return self.getToken(malParser.HASH, 0)
1023
-
1024
- def EXISTS(self):
1025
- return self.getToken(malParser.EXISTS, 0)
1026
-
1027
- def NOTEXISTS(self):
1028
- return self.getToken(malParser.NOTEXISTS, 0)
1029
-
1030
- def getRuleIndex(self):
1031
- return malParser.RULE_steptype
1032
-
1033
- def enterRule(self, listener: ParseTreeListener):
1034
- if hasattr(listener, "enterSteptype"):
1035
- listener.enterSteptype(self)
1036
-
1037
- def exitRule(self, listener: ParseTreeListener):
1038
- if hasattr(listener, "exitSteptype"):
1039
- listener.exitSteptype(self)
1040
-
1041
- def accept(self, visitor: ParseTreeVisitor):
1042
- if hasattr(visitor, "visitSteptype"):
1043
- return visitor.visitSteptype(self)
1044
- return visitor.visitChildren(self)
1045
-
1046
- def steptype(self):
1047
-
1048
- localctx = malParser.SteptypeContext(self, self._ctx, self.state)
1049
- self.enterRule(localctx, 18, self.RULE_steptype)
1050
- self._la = 0 # Token type
1051
- try:
1052
- self.enterOuterAlt(localctx, 1)
1053
- self.state = 193
1054
- _la = self._input.LA(1)
1055
- if not (((_la) & ~0x3f) == 0 and ((1 << _la) & 755918446592) != 0):
1056
- self._errHandler.recoverInline(self)
1057
- else:
1058
- self._errHandler.reportMatch(self)
1059
- self.consume()
1060
- except RecognitionException as re:
1061
- localctx.exception = re
1062
- self._errHandler.reportError(self, re)
1063
- self._errHandler.recover(self, re)
1064
- finally:
1065
- self.exitRule()
1066
- return localctx
1067
-
1068
- class TagContext(ParserRuleContext):
1069
- __slots__ = 'parser'
1070
-
1071
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
1072
- super().__init__(parent, invokingState)
1073
- self.parser = parser
1074
-
1075
- def AT(self):
1076
- return self.getToken(malParser.AT, 0)
1077
-
1078
- def ID(self):
1079
- return self.getToken(malParser.ID, 0)
1080
-
1081
- def getRuleIndex(self):
1082
- return malParser.RULE_tag
1083
-
1084
- def enterRule(self, listener: ParseTreeListener):
1085
- if hasattr(listener, "enterTag"):
1086
- listener.enterTag(self)
1087
-
1088
- def exitRule(self, listener: ParseTreeListener):
1089
- if hasattr(listener, "exitTag"):
1090
- listener.exitTag(self)
1091
-
1092
- def accept(self, visitor: ParseTreeVisitor):
1093
- if hasattr(visitor, "visitTag"):
1094
- return visitor.visitTag(self)
1095
- return visitor.visitChildren(self)
1096
-
1097
- def tag(self):
1098
-
1099
- localctx = malParser.TagContext(self, self._ctx, self.state)
1100
- self.enterRule(localctx, 20, self.RULE_tag)
1101
- try:
1102
- self.enterOuterAlt(localctx, 1)
1103
- self.state = 195
1104
- self.match(malParser.AT)
1105
- self.state = 196
1106
- self.match(malParser.ID)
1107
- except RecognitionException as re:
1108
- localctx.exception = re
1109
- self._errHandler.reportError(self, re)
1110
- self._errHandler.recover(self, re)
1111
- finally:
1112
- self.exitRule()
1113
- return localctx
1114
-
1115
- class CiasContext(ParserRuleContext):
1116
- __slots__ = 'parser'
1117
-
1118
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
1119
- super().__init__(parent, invokingState)
1120
- self.parser = parser
1121
-
1122
- def LCURLY(self):
1123
- return self.getToken(malParser.LCURLY, 0)
1124
-
1125
- def cia(self, i: int = None):
1126
- if i is None:
1127
- return self.getTypedRuleContexts(malParser.CiaContext)
1128
- return self.getTypedRuleContext(malParser.CiaContext, i)
1129
-
1130
- def RCURLY(self):
1131
- return self.getToken(malParser.RCURLY, 0)
1132
-
1133
- def COMMA(self, i: int = None):
1134
- if i is None:
1135
- return self.getTokens(malParser.COMMA)
1136
- return self.getToken(malParser.COMMA, i)
1137
-
1138
- def getRuleIndex(self):
1139
- return malParser.RULE_cias
1140
-
1141
- def enterRule(self, listener: ParseTreeListener):
1142
- if hasattr(listener, "enterCias"):
1143
- listener.enterCias(self)
1144
-
1145
- def exitRule(self, listener: ParseTreeListener):
1146
- if hasattr(listener, "exitCias"):
1147
- listener.exitCias(self)
1148
-
1149
- def accept(self, visitor: ParseTreeVisitor):
1150
- if hasattr(visitor, "visitCias"):
1151
- return visitor.visitCias(self)
1152
- return visitor.visitChildren(self)
1153
-
1154
- def cias(self):
1155
-
1156
- localctx = malParser.CiasContext(self, self._ctx, self.state)
1157
- self.enterRule(localctx, 22, self.RULE_cias)
1158
- self._la = 0 # Token type
1159
- try:
1160
- self.enterOuterAlt(localctx, 1)
1161
- self.state = 198
1162
- self.match(malParser.LCURLY)
1163
- self.state = 199
1164
- self.cia()
1165
- self.state = 204
1166
- self._errHandler.sync(self)
1167
- _la = self._input.LA(1)
1168
- while _la == 44:
1169
- self.state = 200
1170
- self.match(malParser.COMMA)
1171
- self.state = 201
1172
- self.cia()
1173
- self.state = 206
1174
- self._errHandler.sync(self)
1175
- _la = self._input.LA(1)
1176
-
1177
- self.state = 207
1178
- self.match(malParser.RCURLY)
1179
- except RecognitionException as re:
1180
- localctx.exception = re
1181
- self._errHandler.reportError(self, re)
1182
- self._errHandler.recover(self, re)
1183
- finally:
1184
- self.exitRule()
1185
- return localctx
1186
-
1187
- class CiaContext(ParserRuleContext):
1188
- __slots__ = 'parser'
1189
-
1190
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
1191
- super().__init__(parent, invokingState)
1192
- self.parser = parser
1193
-
1194
- def C(self):
1195
- return self.getToken(malParser.C, 0)
1196
-
1197
- def I(self):
1198
- return self.getToken(malParser.I, 0)
1199
-
1200
- def A(self):
1201
- return self.getToken(malParser.A, 0)
1202
-
1203
- def getRuleIndex(self):
1204
- return malParser.RULE_cia
1205
-
1206
- def enterRule(self, listener: ParseTreeListener):
1207
- if hasattr(listener, "enterCia"):
1208
- listener.enterCia(self)
1209
-
1210
- def exitRule(self, listener: ParseTreeListener):
1211
- if hasattr(listener, "exitCia"):
1212
- listener.exitCia(self)
1213
-
1214
- def accept(self, visitor: ParseTreeVisitor):
1215
- if hasattr(visitor, "visitCia"):
1216
- return visitor.visitCia(self)
1217
- return visitor.visitChildren(self)
1218
-
1219
- def cia(self):
1220
-
1221
- localctx = malParser.CiaContext(self, self._ctx, self.state)
1222
- self.enterRule(localctx, 24, self.RULE_cia)
1223
- self._la = 0 # Token type
1224
- try:
1225
- self.enterOuterAlt(localctx, 1)
1226
- self.state = 209
1227
- _la = self._input.LA(1)
1228
- if not (((_la) & ~0x3f) == 0 and ((1 << _la) & 114688) != 0):
1229
- self._errHandler.recoverInline(self)
1230
- else:
1231
- self._errHandler.reportMatch(self)
1232
- self.consume()
1233
- except RecognitionException as re:
1234
- localctx.exception = re
1235
- self._errHandler.reportError(self, re)
1236
- self._errHandler.recover(self, re)
1237
- finally:
1238
- self.exitRule()
1239
- return localctx
1240
-
1241
- class TtcContext(ParserRuleContext):
1242
- __slots__ = 'parser'
1243
-
1244
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
1245
- super().__init__(parent, invokingState)
1246
- self.parser = parser
1247
-
1248
- def pdist(self):
1249
- return self.getTypedRuleContext(malParser.PdistContext, 0)
1250
-
1251
- def getRuleIndex(self):
1252
- return malParser.RULE_ttc
1253
-
1254
- def enterRule(self, listener: ParseTreeListener):
1255
- if hasattr(listener, "enterTtc"):
1256
- listener.enterTtc(self)
1257
-
1258
- def exitRule(self, listener: ParseTreeListener):
1259
- if hasattr(listener, "exitTtc"):
1260
- listener.exitTtc(self)
1261
-
1262
- def accept(self, visitor: ParseTreeVisitor):
1263
- if hasattr(visitor, "visitTtc"):
1264
- return visitor.visitTtc(self)
1265
- return visitor.visitChildren(self)
1266
-
1267
- def ttc(self):
1268
-
1269
- localctx = malParser.TtcContext(self, self._ctx, self.state)
1270
- self.enterRule(localctx, 26, self.RULE_ttc)
1271
- try:
1272
- self.enterOuterAlt(localctx, 1)
1273
- self.state = 211
1274
- self.pdist()
1275
- except RecognitionException as re:
1276
- localctx.exception = re
1277
- self._errHandler.reportError(self, re)
1278
- self._errHandler.recover(self, re)
1279
- finally:
1280
- self.exitRule()
1281
- return localctx
1282
-
1283
- class PdistContext(ParserRuleContext):
1284
- __slots__ = 'parser'
1285
-
1286
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
1287
- super().__init__(parent, invokingState)
1288
- self.parser = parser
1289
-
1290
- def LSQUARE(self):
1291
- return self.getToken(malParser.LSQUARE, 0)
1292
-
1293
- def pdistexpr(self):
1294
- return self.getTypedRuleContext(malParser.PdistexprContext, 0)
1295
-
1296
- def RSQUARE(self):
1297
- return self.getToken(malParser.RSQUARE, 0)
1298
-
1299
- def getRuleIndex(self):
1300
- return malParser.RULE_pdist
1301
-
1302
- def enterRule(self, listener: ParseTreeListener):
1303
- if hasattr(listener, "enterPdist"):
1304
- listener.enterPdist(self)
1305
-
1306
- def exitRule(self, listener: ParseTreeListener):
1307
- if hasattr(listener, "exitPdist"):
1308
- listener.exitPdist(self)
1309
-
1310
- def accept(self, visitor: ParseTreeVisitor):
1311
- if hasattr(visitor, "visitPdist"):
1312
- return visitor.visitPdist(self)
1313
- return visitor.visitChildren(self)
1314
-
1315
- def pdist(self):
1316
-
1317
- localctx = malParser.PdistContext(self, self._ctx, self.state)
1318
- self.enterRule(localctx, 28, self.RULE_pdist)
1319
- try:
1320
- self.enterOuterAlt(localctx, 1)
1321
- self.state = 213
1322
- self.match(malParser.LSQUARE)
1323
- self.state = 214
1324
- self.pdistexpr()
1325
- self.state = 215
1326
- self.match(malParser.RSQUARE)
1327
- except RecognitionException as re:
1328
- localctx.exception = re
1329
- self._errHandler.reportError(self, re)
1330
- self._errHandler.recover(self, re)
1331
- finally:
1332
- self.exitRule()
1333
- return localctx
1334
-
1335
- class PdistexprContext(ParserRuleContext):
1336
- __slots__ = 'parser'
1337
-
1338
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
1339
- super().__init__(parent, invokingState)
1340
- self.parser = parser
1341
-
1342
- def pdistterm(self, i: int = None):
1343
- if i is None:
1344
- return self.getTypedRuleContexts(malParser.PdisttermContext)
1345
- return self.getTypedRuleContext(malParser.PdisttermContext, i)
1346
-
1347
- def PLUS(self, i: int = None):
1348
- if i is None:
1349
- return self.getTokens(malParser.PLUS)
1350
- return self.getToken(malParser.PLUS, i)
1351
-
1352
- def MINUS(self, i: int = None):
1353
- if i is None:
1354
- return self.getTokens(malParser.MINUS)
1355
- return self.getToken(malParser.MINUS, i)
1356
-
1357
- def getRuleIndex(self):
1358
- return malParser.RULE_pdistexpr
1359
-
1360
- def enterRule(self, listener: ParseTreeListener):
1361
- if hasattr(listener, "enterPdistexpr"):
1362
- listener.enterPdistexpr(self)
1363
-
1364
- def exitRule(self, listener: ParseTreeListener):
1365
- if hasattr(listener, "exitPdistexpr"):
1366
- listener.exitPdistexpr(self)
1367
-
1368
- def accept(self, visitor: ParseTreeVisitor):
1369
- if hasattr(visitor, "visitPdistexpr"):
1370
- return visitor.visitPdistexpr(self)
1371
- return visitor.visitChildren(self)
1372
-
1373
- def pdistexpr(self):
1374
-
1375
- localctx = malParser.PdistexprContext(self, self._ctx, self.state)
1376
- self.enterRule(localctx, 30, self.RULE_pdistexpr)
1377
- self._la = 0 # Token type
1378
- try:
1379
- self.enterOuterAlt(localctx, 1)
1380
- self.state = 217
1381
- self.pdistterm()
1382
- self.state = 222
1383
- self._errHandler.sync(self)
1384
- _la = self._input.LA(1)
1385
- while _la == 31 or _la == 45:
1386
- self.state = 218
1387
- _la = self._input.LA(1)
1388
- if not (_la == 31 or _la == 45):
1389
- self._errHandler.recoverInline(self)
1390
- else:
1391
- self._errHandler.reportMatch(self)
1392
- self.consume()
1393
- self.state = 219
1394
- self.pdistterm()
1395
- self.state = 224
1396
- self._errHandler.sync(self)
1397
- _la = self._input.LA(1)
1398
-
1399
- except RecognitionException as re:
1400
- localctx.exception = re
1401
- self._errHandler.reportError(self, re)
1402
- self._errHandler.recover(self, re)
1403
- finally:
1404
- self.exitRule()
1405
- return localctx
1406
-
1407
- class PdisttermContext(ParserRuleContext):
1408
- __slots__ = 'parser'
1409
-
1410
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
1411
- super().__init__(parent, invokingState)
1412
- self.parser = parser
1413
-
1414
- def pdistfact(self, i: int = None):
1415
- if i is None:
1416
- return self.getTypedRuleContexts(malParser.PdistfactContext)
1417
- return self.getTypedRuleContext(malParser.PdistfactContext, i)
1418
-
1419
- def STAR(self, i: int = None):
1420
- if i is None:
1421
- return self.getTokens(malParser.STAR)
1422
- return self.getToken(malParser.STAR, i)
1423
-
1424
- def DIVIDE(self, i: int = None):
1425
- if i is None:
1426
- return self.getTokens(malParser.DIVIDE)
1427
- return self.getToken(malParser.DIVIDE, i)
1428
-
1429
- def getRuleIndex(self):
1430
- return malParser.RULE_pdistterm
1431
-
1432
- def enterRule(self, listener: ParseTreeListener):
1433
- if hasattr(listener, "enterPdistterm"):
1434
- listener.enterPdistterm(self)
1435
-
1436
- def exitRule(self, listener: ParseTreeListener):
1437
- if hasattr(listener, "exitPdistterm"):
1438
- listener.exitPdistterm(self)
1439
-
1440
- def accept(self, visitor: ParseTreeVisitor):
1441
- if hasattr(visitor, "visitPdistterm"):
1442
- return visitor.visitPdistterm(self)
1443
- return visitor.visitChildren(self)
1444
-
1445
- def pdistterm(self):
1446
-
1447
- localctx = malParser.PdisttermContext(self, self._ctx, self.state)
1448
- self.enterRule(localctx, 32, self.RULE_pdistterm)
1449
- self._la = 0 # Token type
1450
- try:
1451
- self.enterOuterAlt(localctx, 1)
1452
- self.state = 225
1453
- self.pdistfact()
1454
- self.state = 230
1455
- self._errHandler.sync(self)
1456
- _la = self._input.LA(1)
1457
- while _la == 28 or _la == 46:
1458
- self.state = 226
1459
- _la = self._input.LA(1)
1460
- if not (_la == 28 or _la == 46):
1461
- self._errHandler.recoverInline(self)
1462
- else:
1463
- self._errHandler.reportMatch(self)
1464
- self.consume()
1465
- self.state = 227
1466
- self.pdistfact()
1467
- self.state = 232
1468
- self._errHandler.sync(self)
1469
- _la = self._input.LA(1)
1470
-
1471
- except RecognitionException as re:
1472
- localctx.exception = re
1473
- self._errHandler.reportError(self, re)
1474
- self._errHandler.recover(self, re)
1475
- finally:
1476
- self.exitRule()
1477
- return localctx
1478
-
1479
- class PdistfactContext(ParserRuleContext):
1480
- __slots__ = 'parser'
1481
-
1482
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
1483
- super().__init__(parent, invokingState)
1484
- self.parser = parser
1485
-
1486
- def pdistatom(self, i: int = None):
1487
- if i is None:
1488
- return self.getTypedRuleContexts(malParser.PdistatomContext)
1489
- return self.getTypedRuleContext(malParser.PdistatomContext, i)
1490
-
1491
- def POWER(self):
1492
- return self.getToken(malParser.POWER, 0)
1493
-
1494
- def getRuleIndex(self):
1495
- return malParser.RULE_pdistfact
1496
-
1497
- def enterRule(self, listener: ParseTreeListener):
1498
- if hasattr(listener, "enterPdistfact"):
1499
- listener.enterPdistfact(self)
1500
-
1501
- def exitRule(self, listener: ParseTreeListener):
1502
- if hasattr(listener, "exitPdistfact"):
1503
- listener.exitPdistfact(self)
1504
-
1505
- def accept(self, visitor: ParseTreeVisitor):
1506
- if hasattr(visitor, "visitPdistfact"):
1507
- return visitor.visitPdistfact(self)
1508
- return visitor.visitChildren(self)
1509
-
1510
- def pdistfact(self):
1511
-
1512
- localctx = malParser.PdistfactContext(self, self._ctx, self.state)
1513
- self.enterRule(localctx, 34, self.RULE_pdistfact)
1514
- self._la = 0 # Token type
1515
- try:
1516
- self.enterOuterAlt(localctx, 1)
1517
- self.state = 233
1518
- self.pdistatom()
1519
- self.state = 236
1520
- self._errHandler.sync(self)
1521
- _la = self._input.LA(1)
1522
- if _la == 47:
1523
- self.state = 234
1524
- self.match(malParser.POWER)
1525
- self.state = 235
1526
- self.pdistatom()
1527
-
1528
- except RecognitionException as re:
1529
- localctx.exception = re
1530
- self._errHandler.reportError(self, re)
1531
- self._errHandler.recover(self, re)
1532
- finally:
1533
- self.exitRule()
1534
- return localctx
1535
-
1536
- class PdistatomContext(ParserRuleContext):
1537
- __slots__ = 'parser'
1538
-
1539
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
1540
- super().__init__(parent, invokingState)
1541
- self.parser = parser
1542
-
1543
- def pdistdist(self):
1544
- return self.getTypedRuleContext(malParser.PdistdistContext, 0)
1545
-
1546
- def LPAREN(self):
1547
- return self.getToken(malParser.LPAREN, 0)
1548
-
1549
- def pdistexpr(self):
1550
- return self.getTypedRuleContext(malParser.PdistexprContext, 0)
1551
-
1552
- def RPAREN(self):
1553
- return self.getToken(malParser.RPAREN, 0)
1554
-
1555
- def number(self):
1556
- return self.getTypedRuleContext(malParser.NumberContext, 0)
1557
-
1558
- def getRuleIndex(self):
1559
- return malParser.RULE_pdistatom
1560
-
1561
- def enterRule(self, listener: ParseTreeListener):
1562
- if hasattr(listener, "enterPdistatom"):
1563
- listener.enterPdistatom(self)
1564
-
1565
- def exitRule(self, listener: ParseTreeListener):
1566
- if hasattr(listener, "exitPdistatom"):
1567
- listener.exitPdistatom(self)
1568
-
1569
- def accept(self, visitor: ParseTreeVisitor):
1570
- if hasattr(visitor, "visitPdistatom"):
1571
- return visitor.visitPdistatom(self)
1572
- return visitor.visitChildren(self)
1573
-
1574
- def pdistatom(self):
1575
-
1576
- localctx = malParser.PdistatomContext(self, self._ctx, self.state)
1577
- self.enterRule(localctx, 36, self.RULE_pdistatom)
1578
- try:
1579
- self.state = 244
1580
- self._errHandler.sync(self)
1581
- token = self._input.LA(1)
1582
- if token == 17:
1583
- self.enterOuterAlt(localctx, 1)
1584
- self.state = 238
1585
- self.pdistdist()
1586
- elif token == 18:
1587
- self.enterOuterAlt(localctx, 2)
1588
- self.state = 239
1589
- self.match(malParser.LPAREN)
1590
- self.state = 240
1591
- self.pdistexpr()
1592
- self.state = 241
1593
- self.match(malParser.RPAREN)
1594
- elif token in [11, 12]:
1595
- self.enterOuterAlt(localctx, 3)
1596
- self.state = 243
1597
- self.number()
1598
- else:
1599
- raise NoViableAltException(self)
1600
-
1601
- except RecognitionException as re:
1602
- localctx.exception = re
1603
- self._errHandler.reportError(self, re)
1604
- self._errHandler.recover(self, re)
1605
- finally:
1606
- self.exitRule()
1607
- return localctx
1608
-
1609
- class PdistdistContext(ParserRuleContext):
1610
- __slots__ = 'parser'
1611
-
1612
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
1613
- super().__init__(parent, invokingState)
1614
- self.parser = parser
1615
-
1616
- def ID(self):
1617
- return self.getToken(malParser.ID, 0)
1618
-
1619
- def LPAREN(self):
1620
- return self.getToken(malParser.LPAREN, 0)
1621
-
1622
- def RPAREN(self):
1623
- return self.getToken(malParser.RPAREN, 0)
1624
-
1625
- def number(self, i: int = None):
1626
- if i is None:
1627
- return self.getTypedRuleContexts(malParser.NumberContext)
1628
- return self.getTypedRuleContext(malParser.NumberContext, i)
1629
-
1630
- def COMMA(self, i: int = None):
1631
- if i is None:
1632
- return self.getTokens(malParser.COMMA)
1633
- return self.getToken(malParser.COMMA, i)
1634
-
1635
- def getRuleIndex(self):
1636
- return malParser.RULE_pdistdist
1637
-
1638
- def enterRule(self, listener: ParseTreeListener):
1639
- if hasattr(listener, "enterPdistdist"):
1640
- listener.enterPdistdist(self)
1641
-
1642
- def exitRule(self, listener: ParseTreeListener):
1643
- if hasattr(listener, "exitPdistdist"):
1644
- listener.exitPdistdist(self)
1645
-
1646
- def accept(self, visitor: ParseTreeVisitor):
1647
- if hasattr(visitor, "visitPdistdist"):
1648
- return visitor.visitPdistdist(self)
1649
- return visitor.visitChildren(self)
1650
-
1651
- def pdistdist(self):
1652
-
1653
- localctx = malParser.PdistdistContext(self, self._ctx, self.state)
1654
- self.enterRule(localctx, 38, self.RULE_pdistdist)
1655
- self._la = 0 # Token type
1656
- try:
1657
- self.enterOuterAlt(localctx, 1)
1658
- self.state = 246
1659
- self.match(malParser.ID)
1660
- self.state = 259
1661
- self._errHandler.sync(self)
1662
- _la = self._input.LA(1)
1663
- if _la == 18:
1664
- self.state = 247
1665
- self.match(malParser.LPAREN)
1666
- self.state = 256
1667
- self._errHandler.sync(self)
1668
- _la = self._input.LA(1)
1669
- if _la == 11 or _la == 12:
1670
- self.state = 248
1671
- self.number()
1672
- self.state = 253
1673
- self._errHandler.sync(self)
1674
- _la = self._input.LA(1)
1675
- while _la == 44:
1676
- self.state = 249
1677
- self.match(malParser.COMMA)
1678
- self.state = 250
1679
- self.number()
1680
- self.state = 255
1681
- self._errHandler.sync(self)
1682
- _la = self._input.LA(1)
1683
-
1684
- self.state = 258
1685
- self.match(malParser.RPAREN)
1686
-
1687
- except RecognitionException as re:
1688
- localctx.exception = re
1689
- self._errHandler.reportError(self, re)
1690
- self._errHandler.recover(self, re)
1691
- finally:
1692
- self.exitRule()
1693
- return localctx
1694
-
1695
- class DetectorContext(ParserRuleContext):
1696
- __slots__ = 'parser'
1697
-
1698
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
1699
- super().__init__(parent, invokingState)
1700
- self.parser = parser
1701
-
1702
- def bang(self):
1703
- return self.getTypedRuleContext(malParser.BangContext, 0)
1704
-
1705
- def context(self):
1706
- return self.getTypedRuleContext(malParser.ContextContext, 0)
1707
-
1708
- def detectorname(self):
1709
- return self.getTypedRuleContext(malParser.DetectornameContext, 0)
1710
-
1711
- def detectortype(self):
1712
- return self.getTypedRuleContext(malParser.DetectortypeContext, 0)
1713
-
1714
- def tprate(self):
1715
- return self.getTypedRuleContext(malParser.TprateContext, 0)
1716
-
1717
- def getRuleIndex(self):
1718
- return malParser.RULE_detector
1719
-
1720
- def enterRule(self, listener: ParseTreeListener):
1721
- if hasattr(listener, "enterDetector"):
1722
- listener.enterDetector(self)
1723
-
1724
- def exitRule(self, listener: ParseTreeListener):
1725
- if hasattr(listener, "exitDetector"):
1726
- listener.exitDetector(self)
1727
-
1728
- def accept(self, visitor: ParseTreeVisitor):
1729
- if hasattr(visitor, "visitDetector"):
1730
- return visitor.visitDetector(self)
1731
- return visitor.visitChildren(self)
1732
-
1733
- def detector(self):
1734
-
1735
- localctx = malParser.DetectorContext(self, self._ctx, self.state)
1736
- self.enterRule(localctx, 40, self.RULE_detector)
1737
- self._la = 0 # Token type
1738
- try:
1739
- self.enterOuterAlt(localctx, 1)
1740
- self.state = 261
1741
- self.bang()
1742
- self.state = 263
1743
- self._errHandler.sync(self)
1744
- _la = self._input.LA(1)
1745
- if _la == 17:
1746
- self.state = 262
1747
- self.detectorname()
1748
-
1749
- self.state = 265
1750
- self.context()
1751
- self.state = 267
1752
- self._errHandler.sync(self)
1753
- _la = self._input.LA(1)
1754
- if _la == 17:
1755
- self.state = 266
1756
- self.detectortype()
1757
-
1758
- self.state = 270
1759
- self._errHandler.sync(self)
1760
- _la = self._input.LA(1)
1761
- if _la == 26:
1762
- self.state = 269
1763
- self.tprate()
1764
-
1765
- except RecognitionException as re:
1766
- localctx.exception = re
1767
- self._errHandler.reportError(self, re)
1768
- self._errHandler.recover(self, re)
1769
- finally:
1770
- self.exitRule()
1771
- return localctx
1772
-
1773
- class BangContext(ParserRuleContext):
1774
- __slots__ = 'parser'
1775
-
1776
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
1777
- super().__init__(parent, invokingState)
1778
- self.parser = parser
1779
-
1780
- def EXCLAMATION(self):
1781
- return self.getToken(malParser.EXCLAMATION, 0)
1782
-
1783
- def EXCLM_COMM(self):
1784
- return self.getToken(malParser.EXCLM_COMM, 0)
1785
-
1786
- def getRuleIndex(self):
1787
- return malParser.RULE_bang
1788
-
1789
- def enterRule(self, listener: ParseTreeListener):
1790
- if hasattr(listener, "enterBang"):
1791
- listener.enterBang(self)
1792
-
1793
- def exitRule(self, listener: ParseTreeListener):
1794
- if hasattr(listener, "exitBang"):
1795
- listener.exitBang(self)
1796
-
1797
- def accept(self, visitor: ParseTreeVisitor):
1798
- if hasattr(visitor, "visitBang"):
1799
- return visitor.visitBang(self)
1800
- return visitor.visitChildren(self)
1801
-
1802
- def bang(self):
1803
-
1804
- localctx = malParser.BangContext(self, self._ctx, self.state)
1805
- self.enterRule(localctx, 42, self.RULE_bang)
1806
- self._la = 0 # Token type
1807
- try:
1808
- self.enterOuterAlt(localctx, 1)
1809
- self.state = 272
1810
- _la = self._input.LA(1)
1811
- if not (_la == 38 or _la == 48):
1812
- self._errHandler.recoverInline(self)
1813
- else:
1814
- self._errHandler.reportMatch(self)
1815
- self.consume()
1816
- except RecognitionException as re:
1817
- localctx.exception = re
1818
- self._errHandler.reportError(self, re)
1819
- self._errHandler.recover(self, re)
1820
- finally:
1821
- self.exitRule()
1822
- return localctx
1823
-
1824
- class DetectornameContext(ParserRuleContext):
1825
- __slots__ = 'parser'
1826
-
1827
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
1828
- super().__init__(parent, invokingState)
1829
- self.parser = parser
1830
-
1831
- def ID(self, i: int = None):
1832
- if i is None:
1833
- return self.getTokens(malParser.ID)
1834
- return self.getToken(malParser.ID, i)
1835
-
1836
- def DOT(self, i: int = None):
1837
- if i is None:
1838
- return self.getTokens(malParser.DOT)
1839
- return self.getToken(malParser.DOT, i)
1840
-
1841
- def getRuleIndex(self):
1842
- return malParser.RULE_detectorname
1843
-
1844
- def enterRule(self, listener: ParseTreeListener):
1845
- if hasattr(listener, "enterDetectorname"):
1846
- listener.enterDetectorname(self)
1847
-
1848
- def exitRule(self, listener: ParseTreeListener):
1849
- if hasattr(listener, "exitDetectorname"):
1850
- listener.exitDetectorname(self)
1851
-
1852
- def accept(self, visitor: ParseTreeVisitor):
1853
- if hasattr(visitor, "visitDetectorname"):
1854
- return visitor.visitDetectorname(self)
1855
- return visitor.visitChildren(self)
1856
-
1857
- def detectorname(self):
1858
-
1859
- localctx = malParser.DetectornameContext(self, self._ctx, self.state)
1860
- self.enterRule(localctx, 44, self.RULE_detectorname)
1861
- self._la = 0 # Token type
1862
- try:
1863
- self.enterOuterAlt(localctx, 1)
1864
- self.state = 274
1865
- self.match(malParser.ID)
1866
- self.state = 279
1867
- self._errHandler.sync(self)
1868
- _la = self._input.LA(1)
1869
- while _la == 35:
1870
- self.state = 275
1871
- self.match(malParser.DOT)
1872
- self.state = 276
1873
- self.match(malParser.ID)
1874
- self.state = 281
1875
- self._errHandler.sync(self)
1876
- _la = self._input.LA(1)
1877
-
1878
- except RecognitionException as re:
1879
- localctx.exception = re
1880
- self._errHandler.reportError(self, re)
1881
- self._errHandler.recover(self, re)
1882
- finally:
1883
- self.exitRule()
1884
- return localctx
1885
-
1886
- class ContextContext(ParserRuleContext):
1887
- __slots__ = 'parser'
1888
-
1889
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
1890
- super().__init__(parent, invokingState)
1891
- self.parser = parser
1892
-
1893
- def LPAREN(self):
1894
- return self.getToken(malParser.LPAREN, 0)
1895
-
1896
- def contextpart(self, i: int = None):
1897
- if i is None:
1898
- return self.getTypedRuleContexts(malParser.ContextpartContext)
1899
- return self.getTypedRuleContext(malParser.ContextpartContext, i)
1900
-
1901
- def RPAREN(self):
1902
- return self.getToken(malParser.RPAREN, 0)
1903
-
1904
- def COMMA(self, i: int = None):
1905
- if i is None:
1906
- return self.getTokens(malParser.COMMA)
1907
- return self.getToken(malParser.COMMA, i)
1908
-
1909
- def getRuleIndex(self):
1910
- return malParser.RULE_context
1911
-
1912
- def enterRule(self, listener: ParseTreeListener):
1913
- if hasattr(listener, "enterContext"):
1914
- listener.enterContext(self)
1915
-
1916
- def exitRule(self, listener: ParseTreeListener):
1917
- if hasattr(listener, "exitContext"):
1918
- listener.exitContext(self)
1919
-
1920
- def accept(self, visitor: ParseTreeVisitor):
1921
- if hasattr(visitor, "visitContext"):
1922
- return visitor.visitContext(self)
1923
- return visitor.visitChildren(self)
1924
-
1925
- def context(self):
1926
-
1927
- localctx = malParser.ContextContext(self, self._ctx, self.state)
1928
- self.enterRule(localctx, 46, self.RULE_context)
1929
- self._la = 0 # Token type
1930
- try:
1931
- self.enterOuterAlt(localctx, 1)
1932
- self.state = 282
1933
- self.match(malParser.LPAREN)
1934
- self.state = 283
1935
- self.contextpart()
1936
- self.state = 288
1937
- self._errHandler.sync(self)
1938
- _la = self._input.LA(1)
1939
- while _la == 44:
1940
- self.state = 284
1941
- self.match(malParser.COMMA)
1942
- self.state = 285
1943
- self.contextpart()
1944
- self.state = 290
1945
- self._errHandler.sync(self)
1946
- _la = self._input.LA(1)
1947
-
1948
- self.state = 291
1949
- self.match(malParser.RPAREN)
1950
- except RecognitionException as re:
1951
- localctx.exception = re
1952
- self._errHandler.reportError(self, re)
1953
- self._errHandler.recover(self, re)
1954
- finally:
1955
- self.exitRule()
1956
- return localctx
1957
-
1958
- class ContextpartContext(ParserRuleContext):
1959
- __slots__ = 'parser'
1960
-
1961
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
1962
- super().__init__(parent, invokingState)
1963
- self.parser = parser
1964
-
1965
- def contextasset(self):
1966
- return self.getTypedRuleContext(malParser.ContextassetContext, 0)
1967
-
1968
- def contextlabel(self):
1969
- return self.getTypedRuleContext(malParser.ContextlabelContext, 0)
1970
-
1971
- def getRuleIndex(self):
1972
- return malParser.RULE_contextpart
1973
-
1974
- def enterRule(self, listener: ParseTreeListener):
1975
- if hasattr(listener, "enterContextpart"):
1976
- listener.enterContextpart(self)
1977
-
1978
- def exitRule(self, listener: ParseTreeListener):
1979
- if hasattr(listener, "exitContextpart"):
1980
- listener.exitContextpart(self)
1981
-
1982
- def accept(self, visitor: ParseTreeVisitor):
1983
- if hasattr(visitor, "visitContextpart"):
1984
- return visitor.visitContextpart(self)
1985
- return visitor.visitChildren(self)
1986
-
1987
- def contextpart(self):
1988
-
1989
- localctx = malParser.ContextpartContext(self, self._ctx, self.state)
1990
- self.enterRule(localctx, 48, self.RULE_contextpart)
1991
- try:
1992
- self.enterOuterAlt(localctx, 1)
1993
- self.state = 293
1994
- self.contextasset()
1995
- self.state = 294
1996
- self.contextlabel()
1997
- except RecognitionException as re:
1998
- localctx.exception = re
1999
- self._errHandler.reportError(self, re)
2000
- self._errHandler.recover(self, re)
2001
- finally:
2002
- self.exitRule()
2003
- return localctx
2004
-
2005
- class ContextassetContext(ParserRuleContext):
2006
- __slots__ = 'parser'
2007
-
2008
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
2009
- super().__init__(parent, invokingState)
2010
- self.parser = parser
2011
-
2012
- def ID(self):
2013
- return self.getToken(malParser.ID, 0)
2014
-
2015
- def getRuleIndex(self):
2016
- return malParser.RULE_contextasset
2017
-
2018
- def enterRule(self, listener: ParseTreeListener):
2019
- if hasattr(listener, "enterContextasset"):
2020
- listener.enterContextasset(self)
2021
-
2022
- def exitRule(self, listener: ParseTreeListener):
2023
- if hasattr(listener, "exitContextasset"):
2024
- listener.exitContextasset(self)
2025
-
2026
- def accept(self, visitor: ParseTreeVisitor):
2027
- if hasattr(visitor, "visitContextasset"):
2028
- return visitor.visitContextasset(self)
2029
- return visitor.visitChildren(self)
2030
-
2031
- def contextasset(self):
2032
-
2033
- localctx = malParser.ContextassetContext(self, self._ctx, self.state)
2034
- self.enterRule(localctx, 50, self.RULE_contextasset)
2035
- try:
2036
- self.enterOuterAlt(localctx, 1)
2037
- self.state = 296
2038
- self.match(malParser.ID)
2039
- except RecognitionException as re:
2040
- localctx.exception = re
2041
- self._errHandler.reportError(self, re)
2042
- self._errHandler.recover(self, re)
2043
- finally:
2044
- self.exitRule()
2045
- return localctx
2046
-
2047
- class ContextlabelContext(ParserRuleContext):
2048
- __slots__ = 'parser'
2049
-
2050
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
2051
- super().__init__(parent, invokingState)
2052
- self.parser = parser
2053
-
2054
- def ID(self):
2055
- return self.getToken(malParser.ID, 0)
2056
-
2057
- def getRuleIndex(self):
2058
- return malParser.RULE_contextlabel
2059
-
2060
- def enterRule(self, listener: ParseTreeListener):
2061
- if hasattr(listener, "enterContextlabel"):
2062
- listener.enterContextlabel(self)
2063
-
2064
- def exitRule(self, listener: ParseTreeListener):
2065
- if hasattr(listener, "exitContextlabel"):
2066
- listener.exitContextlabel(self)
2067
-
2068
- def accept(self, visitor: ParseTreeVisitor):
2069
- if hasattr(visitor, "visitContextlabel"):
2070
- return visitor.visitContextlabel(self)
2071
- return visitor.visitChildren(self)
2072
-
2073
- def contextlabel(self):
2074
-
2075
- localctx = malParser.ContextlabelContext(self, self._ctx, self.state)
2076
- self.enterRule(localctx, 52, self.RULE_contextlabel)
2077
- try:
2078
- self.enterOuterAlt(localctx, 1)
2079
- self.state = 298
2080
- self.match(malParser.ID)
2081
- except RecognitionException as re:
2082
- localctx.exception = re
2083
- self._errHandler.reportError(self, re)
2084
- self._errHandler.recover(self, re)
2085
- finally:
2086
- self.exitRule()
2087
- return localctx
2088
-
2089
- class DetectortypeContext(ParserRuleContext):
2090
- __slots__ = 'parser'
2091
-
2092
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
2093
- super().__init__(parent, invokingState)
2094
- self.parser = parser
2095
-
2096
- def ID(self):
2097
- return self.getToken(malParser.ID, 0)
2098
-
2099
- def getRuleIndex(self):
2100
- return malParser.RULE_detectortype
2101
-
2102
- def enterRule(self, listener: ParseTreeListener):
2103
- if hasattr(listener, "enterDetectortype"):
2104
- listener.enterDetectortype(self)
2105
-
2106
- def exitRule(self, listener: ParseTreeListener):
2107
- if hasattr(listener, "exitDetectortype"):
2108
- listener.exitDetectortype(self)
2109
-
2110
- def accept(self, visitor: ParseTreeVisitor):
2111
- if hasattr(visitor, "visitDetectortype"):
2112
- return visitor.visitDetectortype(self)
2113
- return visitor.visitChildren(self)
2114
-
2115
- def detectortype(self):
2116
-
2117
- localctx = malParser.DetectortypeContext(self, self._ctx, self.state)
2118
- self.enterRule(localctx, 54, self.RULE_detectortype)
2119
- try:
2120
- self.enterOuterAlt(localctx, 1)
2121
- self.state = 300
2122
- self.match(malParser.ID)
2123
- except RecognitionException as re:
2124
- localctx.exception = re
2125
- self._errHandler.reportError(self, re)
2126
- self._errHandler.recover(self, re)
2127
- finally:
2128
- self.exitRule()
2129
- return localctx
2130
-
2131
- class TprateContext(ParserRuleContext):
2132
- __slots__ = 'parser'
2133
-
2134
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
2135
- super().__init__(parent, invokingState)
2136
- self.parser = parser
2137
-
2138
- def pdist(self):
2139
- return self.getTypedRuleContext(malParser.PdistContext, 0)
2140
-
2141
- def getRuleIndex(self):
2142
- return malParser.RULE_tprate
2143
-
2144
- def enterRule(self, listener: ParseTreeListener):
2145
- if hasattr(listener, "enterTprate"):
2146
- listener.enterTprate(self)
2147
-
2148
- def exitRule(self, listener: ParseTreeListener):
2149
- if hasattr(listener, "exitTprate"):
2150
- listener.exitTprate(self)
2151
-
2152
- def accept(self, visitor: ParseTreeVisitor):
2153
- if hasattr(visitor, "visitTprate"):
2154
- return visitor.visitTprate(self)
2155
- return visitor.visitChildren(self)
2156
-
2157
- def tprate(self):
2158
-
2159
- localctx = malParser.TprateContext(self, self._ctx, self.state)
2160
- self.enterRule(localctx, 56, self.RULE_tprate)
2161
- try:
2162
- self.enterOuterAlt(localctx, 1)
2163
- self.state = 302
2164
- self.pdist()
2165
- except RecognitionException as re:
2166
- localctx.exception = re
2167
- self._errHandler.reportError(self, re)
2168
- self._errHandler.recover(self, re)
2169
- finally:
2170
- self.exitRule()
2171
- return localctx
2172
-
2173
- class PreconditionContext(ParserRuleContext):
2174
- __slots__ = 'parser'
2175
-
2176
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
2177
- super().__init__(parent, invokingState)
2178
- self.parser = parser
2179
-
2180
- def REQUIRES(self):
2181
- return self.getToken(malParser.REQUIRES, 0)
2182
-
2183
- def expr(self, i: int = None):
2184
- if i is None:
2185
- return self.getTypedRuleContexts(malParser.ExprContext)
2186
- return self.getTypedRuleContext(malParser.ExprContext, i)
2187
-
2188
- def COMMA(self, i: int = None):
2189
- if i is None:
2190
- return self.getTokens(malParser.COMMA)
2191
- return self.getToken(malParser.COMMA, i)
2192
-
2193
- def getRuleIndex(self):
2194
- return malParser.RULE_precondition
2195
-
2196
- def enterRule(self, listener: ParseTreeListener):
2197
- if hasattr(listener, "enterPrecondition"):
2198
- listener.enterPrecondition(self)
2199
-
2200
- def exitRule(self, listener: ParseTreeListener):
2201
- if hasattr(listener, "exitPrecondition"):
2202
- listener.exitPrecondition(self)
2203
-
2204
- def accept(self, visitor: ParseTreeVisitor):
2205
- if hasattr(visitor, "visitPrecondition"):
2206
- return visitor.visitPrecondition(self)
2207
- return visitor.visitChildren(self)
2208
-
2209
- def precondition(self):
2210
-
2211
- localctx = malParser.PreconditionContext(self, self._ctx, self.state)
2212
- self.enterRule(localctx, 58, self.RULE_precondition)
2213
- self._la = 0 # Token type
2214
- try:
2215
- self.enterOuterAlt(localctx, 1)
2216
- self.state = 304
2217
- self.match(malParser.REQUIRES)
2218
- self.state = 305
2219
- self.expr()
2220
- self.state = 310
2221
- self._errHandler.sync(self)
2222
- _la = self._input.LA(1)
2223
- while _la == 44:
2224
- self.state = 306
2225
- self.match(malParser.COMMA)
2226
- self.state = 307
2227
- self.expr()
2228
- self.state = 312
2229
- self._errHandler.sync(self)
2230
- _la = self._input.LA(1)
2231
-
2232
- except RecognitionException as re:
2233
- localctx.exception = re
2234
- self._errHandler.reportError(self, re)
2235
- self._errHandler.recover(self, re)
2236
- finally:
2237
- self.exitRule()
2238
- return localctx
2239
-
2240
- class ReachesContext(ParserRuleContext):
2241
- __slots__ = 'parser'
2242
-
2243
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
2244
- super().__init__(parent, invokingState)
2245
- self.parser = parser
2246
-
2247
- def expr(self, i: int = None):
2248
- if i is None:
2249
- return self.getTypedRuleContexts(malParser.ExprContext)
2250
- return self.getTypedRuleContext(malParser.ExprContext, i)
2251
-
2252
- def INHERITS(self):
2253
- return self.getToken(malParser.INHERITS, 0)
2254
-
2255
- def LEADSTO(self):
2256
- return self.getToken(malParser.LEADSTO, 0)
2257
-
2258
- def COMMA(self, i: int = None):
2259
- if i is None:
2260
- return self.getTokens(malParser.COMMA)
2261
- return self.getToken(malParser.COMMA, i)
2262
-
2263
- def getRuleIndex(self):
2264
- return malParser.RULE_reaches
2265
-
2266
- def enterRule(self, listener: ParseTreeListener):
2267
- if hasattr(listener, "enterReaches"):
2268
- listener.enterReaches(self)
2269
-
2270
- def exitRule(self, listener: ParseTreeListener):
2271
- if hasattr(listener, "exitReaches"):
2272
- listener.exitReaches(self)
2273
-
2274
- def accept(self, visitor: ParseTreeVisitor):
2275
- if hasattr(visitor, "visitReaches"):
2276
- return visitor.visitReaches(self)
2277
- return visitor.visitChildren(self)
2278
-
2279
- def reaches(self):
2280
-
2281
- localctx = malParser.ReachesContext(self, self._ctx, self.state)
2282
- self.enterRule(localctx, 60, self.RULE_reaches)
2283
- self._la = 0 # Token type
2284
- try:
2285
- self.enterOuterAlt(localctx, 1)
2286
- self.state = 313
2287
- _la = self._input.LA(1)
2288
- if not (_la == 42 or _la == 43):
2289
- self._errHandler.recoverInline(self)
2290
- else:
2291
- self._errHandler.reportMatch(self)
2292
- self.consume()
2293
- self.state = 314
2294
- self.expr()
2295
- self.state = 319
2296
- self._errHandler.sync(self)
2297
- _la = self._input.LA(1)
2298
- while _la == 44:
2299
- self.state = 315
2300
- self.match(malParser.COMMA)
2301
- self.state = 316
2302
- self.expr()
2303
- self.state = 321
2304
- self._errHandler.sync(self)
2305
- _la = self._input.LA(1)
2306
-
2307
- except RecognitionException as re:
2308
- localctx.exception = re
2309
- self._errHandler.reportError(self, re)
2310
- self._errHandler.recover(self, re)
2311
- finally:
2312
- self.exitRule()
2313
- return localctx
2314
-
2315
- class NumberContext(ParserRuleContext):
2316
- __slots__ = 'parser'
2317
-
2318
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
2319
- super().__init__(parent, invokingState)
2320
- self.parser = parser
2321
-
2322
- def INT(self):
2323
- return self.getToken(malParser.INT, 0)
2324
-
2325
- def FLOAT(self):
2326
- return self.getToken(malParser.FLOAT, 0)
2327
-
2328
- def getRuleIndex(self):
2329
- return malParser.RULE_number
2330
-
2331
- def enterRule(self, listener: ParseTreeListener):
2332
- if hasattr(listener, "enterNumber"):
2333
- listener.enterNumber(self)
2334
-
2335
- def exitRule(self, listener: ParseTreeListener):
2336
- if hasattr(listener, "exitNumber"):
2337
- listener.exitNumber(self)
2338
-
2339
- def accept(self, visitor: ParseTreeVisitor):
2340
- if hasattr(visitor, "visitNumber"):
2341
- return visitor.visitNumber(self)
2342
- return visitor.visitChildren(self)
2343
-
2344
- def number(self):
2345
-
2346
- localctx = malParser.NumberContext(self, self._ctx, self.state)
2347
- self.enterRule(localctx, 62, self.RULE_number)
2348
- self._la = 0 # Token type
2349
- try:
2350
- self.enterOuterAlt(localctx, 1)
2351
- self.state = 322
2352
- _la = self._input.LA(1)
2353
- if not (_la == 11 or _la == 12):
2354
- self._errHandler.recoverInline(self)
2355
- else:
2356
- self._errHandler.reportMatch(self)
2357
- self.consume()
2358
- except RecognitionException as re:
2359
- localctx.exception = re
2360
- self._errHandler.reportError(self, re)
2361
- self._errHandler.recover(self, re)
2362
- finally:
2363
- self.exitRule()
2364
- return localctx
2365
-
2366
- class VariableContext(ParserRuleContext):
2367
- __slots__ = 'parser'
2368
-
2369
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
2370
- super().__init__(parent, invokingState)
2371
- self.parser = parser
2372
-
2373
- def LET(self):
2374
- return self.getToken(malParser.LET, 0)
2375
-
2376
- def ID(self):
2377
- return self.getToken(malParser.ID, 0)
2378
-
2379
- def ASSIGN(self):
2380
- return self.getToken(malParser.ASSIGN, 0)
2381
-
2382
- def expr(self):
2383
- return self.getTypedRuleContext(malParser.ExprContext, 0)
2384
-
2385
- def getRuleIndex(self):
2386
- return malParser.RULE_variable
2387
-
2388
- def enterRule(self, listener: ParseTreeListener):
2389
- if hasattr(listener, "enterVariable"):
2390
- listener.enterVariable(self)
2391
-
2392
- def exitRule(self, listener: ParseTreeListener):
2393
- if hasattr(listener, "exitVariable"):
2394
- listener.exitVariable(self)
2395
-
2396
- def accept(self, visitor: ParseTreeVisitor):
2397
- if hasattr(visitor, "visitVariable"):
2398
- return visitor.visitVariable(self)
2399
- return visitor.visitChildren(self)
2400
-
2401
- def variable(self):
2402
-
2403
- localctx = malParser.VariableContext(self, self._ctx, self.state)
2404
- self.enterRule(localctx, 64, self.RULE_variable)
2405
- try:
2406
- self.enterOuterAlt(localctx, 1)
2407
- self.state = 324
2408
- self.match(malParser.LET)
2409
- self.state = 325
2410
- self.match(malParser.ID)
2411
- self.state = 326
2412
- self.match(malParser.ASSIGN)
2413
- self.state = 327
2414
- self.expr()
2415
- except RecognitionException as re:
2416
- localctx.exception = re
2417
- self._errHandler.reportError(self, re)
2418
- self._errHandler.recover(self, re)
2419
- finally:
2420
- self.exitRule()
2421
- return localctx
2422
-
2423
- class ExprContext(ParserRuleContext):
2424
- __slots__ = 'parser'
2425
-
2426
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
2427
- super().__init__(parent, invokingState)
2428
- self.parser = parser
2429
-
2430
- def parts(self, i: int = None):
2431
- if i is None:
2432
- return self.getTypedRuleContexts(malParser.PartsContext)
2433
- return self.getTypedRuleContext(malParser.PartsContext, i)
2434
-
2435
- def setop(self, i: int = None):
2436
- if i is None:
2437
- return self.getTypedRuleContexts(malParser.SetopContext)
2438
- return self.getTypedRuleContext(malParser.SetopContext, i)
2439
-
2440
- def getRuleIndex(self):
2441
- return malParser.RULE_expr
2442
-
2443
- def enterRule(self, listener: ParseTreeListener):
2444
- if hasattr(listener, "enterExpr"):
2445
- listener.enterExpr(self)
2446
-
2447
- def exitRule(self, listener: ParseTreeListener):
2448
- if hasattr(listener, "exitExpr"):
2449
- listener.exitExpr(self)
2450
-
2451
- def accept(self, visitor: ParseTreeVisitor):
2452
- if hasattr(visitor, "visitExpr"):
2453
- return visitor.visitExpr(self)
2454
- return visitor.visitChildren(self)
2455
-
2456
- def expr(self):
2457
-
2458
- localctx = malParser.ExprContext(self, self._ctx, self.state)
2459
- self.enterRule(localctx, 66, self.RULE_expr)
2460
- self._la = 0 # Token type
2461
- try:
2462
- self.enterOuterAlt(localctx, 1)
2463
- self.state = 329
2464
- self.parts()
2465
- self.state = 335
2466
- self._errHandler.sync(self)
2467
- _la = self._input.LA(1)
2468
- while (((_la) & ~0x3f) == 0 and ((1 << _la) & 15032385536) != 0):
2469
- self.state = 330
2470
- self.setop()
2471
- self.state = 331
2472
- self.parts()
2473
- self.state = 337
2474
- self._errHandler.sync(self)
2475
- _la = self._input.LA(1)
2476
-
2477
- except RecognitionException as re:
2478
- localctx.exception = re
2479
- self._errHandler.reportError(self, re)
2480
- self._errHandler.recover(self, re)
2481
- finally:
2482
- self.exitRule()
2483
- return localctx
2484
-
2485
- class PartsContext(ParserRuleContext):
2486
- __slots__ = 'parser'
2487
-
2488
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
2489
- super().__init__(parent, invokingState)
2490
- self.parser = parser
2491
-
2492
- def part(self, i: int = None):
2493
- if i is None:
2494
- return self.getTypedRuleContexts(malParser.PartContext)
2495
- return self.getTypedRuleContext(malParser.PartContext, i)
2496
-
2497
- def DOT(self, i: int = None):
2498
- if i is None:
2499
- return self.getTokens(malParser.DOT)
2500
- return self.getToken(malParser.DOT, i)
2501
-
2502
- def getRuleIndex(self):
2503
- return malParser.RULE_parts
2504
-
2505
- def enterRule(self, listener: ParseTreeListener):
2506
- if hasattr(listener, "enterParts"):
2507
- listener.enterParts(self)
2508
-
2509
- def exitRule(self, listener: ParseTreeListener):
2510
- if hasattr(listener, "exitParts"):
2511
- listener.exitParts(self)
2512
-
2513
- def accept(self, visitor: ParseTreeVisitor):
2514
- if hasattr(visitor, "visitParts"):
2515
- return visitor.visitParts(self)
2516
- return visitor.visitChildren(self)
2517
-
2518
- def parts(self):
2519
-
2520
- localctx = malParser.PartsContext(self, self._ctx, self.state)
2521
- self.enterRule(localctx, 68, self.RULE_parts)
2522
- self._la = 0 # Token type
2523
- try:
2524
- self.enterOuterAlt(localctx, 1)
2525
- self.state = 338
2526
- self.part()
2527
- self.state = 343
2528
- self._errHandler.sync(self)
2529
- _la = self._input.LA(1)
2530
- while _la == 35:
2531
- self.state = 339
2532
- self.match(malParser.DOT)
2533
- self.state = 340
2534
- self.part()
2535
- self.state = 345
2536
- self._errHandler.sync(self)
2537
- _la = self._input.LA(1)
2538
-
2539
- except RecognitionException as re:
2540
- localctx.exception = re
2541
- self._errHandler.reportError(self, re)
2542
- self._errHandler.recover(self, re)
2543
- finally:
2544
- self.exitRule()
2545
- return localctx
2546
-
2547
- class PartContext(ParserRuleContext):
2548
- __slots__ = 'parser'
2549
-
2550
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
2551
- super().__init__(parent, invokingState)
2552
- self.parser = parser
2553
-
2554
- def LPAREN(self):
2555
- return self.getToken(malParser.LPAREN, 0)
2556
-
2557
- def expr(self):
2558
- return self.getTypedRuleContext(malParser.ExprContext, 0)
2559
-
2560
- def RPAREN(self):
2561
- return self.getToken(malParser.RPAREN, 0)
2562
-
2563
- def varsubst(self):
2564
- return self.getTypedRuleContext(malParser.VarsubstContext, 0)
2565
-
2566
- def ID(self):
2567
- return self.getToken(malParser.ID, 0)
2568
-
2569
- def STAR(self):
2570
- return self.getToken(malParser.STAR, 0)
2571
-
2572
- def type_(self, i: int = None):
2573
- if i is None:
2574
- return self.getTypedRuleContexts(malParser.TypeContext)
2575
- return self.getTypedRuleContext(malParser.TypeContext, i)
2576
-
2577
- def getRuleIndex(self):
2578
- return malParser.RULE_part
2579
-
2580
- def enterRule(self, listener: ParseTreeListener):
2581
- if hasattr(listener, "enterPart"):
2582
- listener.enterPart(self)
2583
-
2584
- def exitRule(self, listener: ParseTreeListener):
2585
- if hasattr(listener, "exitPart"):
2586
- listener.exitPart(self)
2587
-
2588
- def accept(self, visitor: ParseTreeVisitor):
2589
- if hasattr(visitor, "visitPart"):
2590
- return visitor.visitPart(self)
2591
- return visitor.visitChildren(self)
2592
-
2593
- def part(self):
2594
-
2595
- localctx = malParser.PartContext(self, self._ctx, self.state)
2596
- self.enterRule(localctx, 70, self.RULE_part)
2597
- self._la = 0 # Token type
2598
- try:
2599
- self.enterOuterAlt(localctx, 1)
2600
- self.state = 355
2601
- self._errHandler.sync(self)
2602
- la_ = self._interp.adaptivePredict(self._input, 34, self._ctx)
2603
- if la_ == 1:
2604
- self.state = 346
2605
- self.match(malParser.LPAREN)
2606
- self.state = 347
2607
- self.expr()
2608
- self.state = 348
2609
- self.match(malParser.RPAREN)
2610
-
2611
- elif la_ == 2:
2612
- self.state = 350
2613
- self.varsubst()
2614
- self.state = 351
2615
- self.match(malParser.LPAREN)
2616
- self.state = 352
2617
- self.match(malParser.RPAREN)
2618
-
2619
- elif la_ == 3:
2620
- self.state = 354
2621
- self.match(malParser.ID)
2622
-
2623
- self.state = 358
2624
- self._errHandler.sync(self)
2625
- _la = self._input.LA(1)
2626
- if _la == 28:
2627
- self.state = 357
2628
- self.match(malParser.STAR)
2629
-
2630
- self.state = 363
2631
- self._errHandler.sync(self)
2632
- _la = self._input.LA(1)
2633
- while _la == 26:
2634
- self.state = 360
2635
- self.type_()
2636
- self.state = 365
2637
- self._errHandler.sync(self)
2638
- _la = self._input.LA(1)
2639
-
2640
- except RecognitionException as re:
2641
- localctx.exception = re
2642
- self._errHandler.reportError(self, re)
2643
- self._errHandler.recover(self, re)
2644
- finally:
2645
- self.exitRule()
2646
- return localctx
2647
-
2648
- class VarsubstContext(ParserRuleContext):
2649
- __slots__ = 'parser'
2650
-
2651
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
2652
- super().__init__(parent, invokingState)
2653
- self.parser = parser
2654
-
2655
- def ID(self):
2656
- return self.getToken(malParser.ID, 0)
2657
-
2658
- def getRuleIndex(self):
2659
- return malParser.RULE_varsubst
2660
-
2661
- def enterRule(self, listener: ParseTreeListener):
2662
- if hasattr(listener, "enterVarsubst"):
2663
- listener.enterVarsubst(self)
2664
-
2665
- def exitRule(self, listener: ParseTreeListener):
2666
- if hasattr(listener, "exitVarsubst"):
2667
- listener.exitVarsubst(self)
2668
-
2669
- def accept(self, visitor: ParseTreeVisitor):
2670
- if hasattr(visitor, "visitVarsubst"):
2671
- return visitor.visitVarsubst(self)
2672
- return visitor.visitChildren(self)
2673
-
2674
- def varsubst(self):
2675
-
2676
- localctx = malParser.VarsubstContext(self, self._ctx, self.state)
2677
- self.enterRule(localctx, 72, self.RULE_varsubst)
2678
- try:
2679
- self.enterOuterAlt(localctx, 1)
2680
- self.state = 366
2681
- self.match(malParser.ID)
2682
- except RecognitionException as re:
2683
- localctx.exception = re
2684
- self._errHandler.reportError(self, re)
2685
- self._errHandler.recover(self, re)
2686
- finally:
2687
- self.exitRule()
2688
- return localctx
2689
-
2690
- class TypeContext(ParserRuleContext):
2691
- __slots__ = 'parser'
2692
-
2693
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
2694
- super().__init__(parent, invokingState)
2695
- self.parser = parser
2696
-
2697
- def LSQUARE(self):
2698
- return self.getToken(malParser.LSQUARE, 0)
2699
-
2700
- def ID(self):
2701
- return self.getToken(malParser.ID, 0)
2702
-
2703
- def RSQUARE(self):
2704
- return self.getToken(malParser.RSQUARE, 0)
2705
-
2706
- def getRuleIndex(self):
2707
- return malParser.RULE_type
2708
-
2709
- def enterRule(self, listener: ParseTreeListener):
2710
- if hasattr(listener, "enterType"):
2711
- listener.enterType(self)
2712
-
2713
- def exitRule(self, listener: ParseTreeListener):
2714
- if hasattr(listener, "exitType"):
2715
- listener.exitType(self)
2716
-
2717
- def accept(self, visitor: ParseTreeVisitor):
2718
- if hasattr(visitor, "visitType"):
2719
- return visitor.visitType(self)
2720
- return visitor.visitChildren(self)
2721
-
2722
- def type_(self):
2723
-
2724
- localctx = malParser.TypeContext(self, self._ctx, self.state)
2725
- self.enterRule(localctx, 74, self.RULE_type)
2726
- try:
2727
- self.enterOuterAlt(localctx, 1)
2728
- self.state = 368
2729
- self.match(malParser.LSQUARE)
2730
- self.state = 369
2731
- self.match(malParser.ID)
2732
- self.state = 370
2733
- self.match(malParser.RSQUARE)
2734
- except RecognitionException as re:
2735
- localctx.exception = re
2736
- self._errHandler.reportError(self, re)
2737
- self._errHandler.recover(self, re)
2738
- finally:
2739
- self.exitRule()
2740
- return localctx
2741
-
2742
- class SetopContext(ParserRuleContext):
2743
- __slots__ = 'parser'
2744
-
2745
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
2746
- super().__init__(parent, invokingState)
2747
- self.parser = parser
2748
-
2749
- def UNION(self):
2750
- return self.getToken(malParser.UNION, 0)
2751
-
2752
- def INTERSECT(self):
2753
- return self.getToken(malParser.INTERSECT, 0)
2754
-
2755
- def MINUS(self):
2756
- return self.getToken(malParser.MINUS, 0)
2757
-
2758
- def getRuleIndex(self):
2759
- return malParser.RULE_setop
2760
-
2761
- def enterRule(self, listener: ParseTreeListener):
2762
- if hasattr(listener, "enterSetop"):
2763
- listener.enterSetop(self)
2764
-
2765
- def exitRule(self, listener: ParseTreeListener):
2766
- if hasattr(listener, "exitSetop"):
2767
- listener.exitSetop(self)
2768
-
2769
- def accept(self, visitor: ParseTreeVisitor):
2770
- if hasattr(visitor, "visitSetop"):
2771
- return visitor.visitSetop(self)
2772
- return visitor.visitChildren(self)
2773
-
2774
- def setop(self):
2775
-
2776
- localctx = malParser.SetopContext(self, self._ctx, self.state)
2777
- self.enterRule(localctx, 76, self.RULE_setop)
2778
- self._la = 0 # Token type
2779
- try:
2780
- self.enterOuterAlt(localctx, 1)
2781
- self.state = 372
2782
- _la = self._input.LA(1)
2783
- if not (((_la) & ~0x3f) == 0 and ((1 << _la) & 15032385536) != 0):
2784
- self._errHandler.recoverInline(self)
2785
- else:
2786
- self._errHandler.reportMatch(self)
2787
- self.consume()
2788
- except RecognitionException as re:
2789
- localctx.exception = re
2790
- self._errHandler.reportError(self, re)
2791
- self._errHandler.recover(self, re)
2792
- finally:
2793
- self.exitRule()
2794
- return localctx
2795
-
2796
- class AssociationsContext(ParserRuleContext):
2797
- __slots__ = 'parser'
2798
-
2799
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
2800
- super().__init__(parent, invokingState)
2801
- self.parser = parser
2802
-
2803
- def ASSOCIATIONS(self):
2804
- return self.getToken(malParser.ASSOCIATIONS, 0)
2805
-
2806
- def LCURLY(self):
2807
- return self.getToken(malParser.LCURLY, 0)
2808
-
2809
- def RCURLY(self):
2810
- return self.getToken(malParser.RCURLY, 0)
2811
-
2812
- def association(self, i: int = None):
2813
- if i is None:
2814
- return self.getTypedRuleContexts(malParser.AssociationContext)
2815
- return self.getTypedRuleContext(malParser.AssociationContext, i)
2816
-
2817
- def getRuleIndex(self):
2818
- return malParser.RULE_associations
2819
-
2820
- def enterRule(self, listener: ParseTreeListener):
2821
- if hasattr(listener, "enterAssociations"):
2822
- listener.enterAssociations(self)
2823
-
2824
- def exitRule(self, listener: ParseTreeListener):
2825
- if hasattr(listener, "exitAssociations"):
2826
- listener.exitAssociations(self)
2827
-
2828
- def accept(self, visitor: ParseTreeVisitor):
2829
- if hasattr(visitor, "visitAssociations"):
2830
- return visitor.visitAssociations(self)
2831
- return visitor.visitChildren(self)
2832
-
2833
- def associations(self):
2834
-
2835
- localctx = malParser.AssociationsContext(self, self._ctx, self.state)
2836
- self.enterRule(localctx, 78, self.RULE_associations)
2837
- self._la = 0 # Token type
2838
- try:
2839
- self.enterOuterAlt(localctx, 1)
2840
- self.state = 374
2841
- self.match(malParser.ASSOCIATIONS)
2842
- self.state = 375
2843
- self.match(malParser.LCURLY)
2844
- self.state = 379
2845
- self._errHandler.sync(self)
2846
- _la = self._input.LA(1)
2847
- while _la == 17:
2848
- self.state = 376
2849
- self.association()
2850
- self.state = 381
2851
- self._errHandler.sync(self)
2852
- _la = self._input.LA(1)
2853
-
2854
- self.state = 382
2855
- self.match(malParser.RCURLY)
2856
- except RecognitionException as re:
2857
- localctx.exception = re
2858
- self._errHandler.reportError(self, re)
2859
- self._errHandler.recover(self, re)
2860
- finally:
2861
- self.exitRule()
2862
- return localctx
2863
-
2864
- class AssociationContext(ParserRuleContext):
2865
- __slots__ = 'parser'
2866
-
2867
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
2868
- super().__init__(parent, invokingState)
2869
- self.parser = parser
2870
-
2871
- def ID(self, i: int = None):
2872
- if i is None:
2873
- return self.getTokens(malParser.ID)
2874
- return self.getToken(malParser.ID, i)
2875
-
2876
- def field(self, i: int = None):
2877
- if i is None:
2878
- return self.getTypedRuleContexts(malParser.FieldContext)
2879
- return self.getTypedRuleContext(malParser.FieldContext, i)
2880
-
2881
- def mult(self, i: int = None):
2882
- if i is None:
2883
- return self.getTypedRuleContexts(malParser.MultContext)
2884
- return self.getTypedRuleContext(malParser.MultContext, i)
2885
-
2886
- def LARROW(self):
2887
- return self.getToken(malParser.LARROW, 0)
2888
-
2889
- def linkname(self):
2890
- return self.getTypedRuleContext(malParser.LinknameContext, 0)
2891
-
2892
- def RARROW(self):
2893
- return self.getToken(malParser.RARROW, 0)
2894
-
2895
- def meta(self, i: int = None):
2896
- if i is None:
2897
- return self.getTypedRuleContexts(malParser.MetaContext)
2898
- return self.getTypedRuleContext(malParser.MetaContext, i)
2899
-
2900
- def getRuleIndex(self):
2901
- return malParser.RULE_association
2902
-
2903
- def enterRule(self, listener: ParseTreeListener):
2904
- if hasattr(listener, "enterAssociation"):
2905
- listener.enterAssociation(self)
2906
-
2907
- def exitRule(self, listener: ParseTreeListener):
2908
- if hasattr(listener, "exitAssociation"):
2909
- listener.exitAssociation(self)
2910
-
2911
- def accept(self, visitor: ParseTreeVisitor):
2912
- if hasattr(visitor, "visitAssociation"):
2913
- return visitor.visitAssociation(self)
2914
- return visitor.visitChildren(self)
2915
-
2916
- def association(self):
2917
-
2918
- localctx = malParser.AssociationContext(self, self._ctx, self.state)
2919
- self.enterRule(localctx, 80, self.RULE_association)
2920
- try:
2921
- self.enterOuterAlt(localctx, 1)
2922
- self.state = 384
2923
- self.match(malParser.ID)
2924
- self.state = 385
2925
- self.field()
2926
- self.state = 386
2927
- self.mult()
2928
- self.state = 387
2929
- self.match(malParser.LARROW)
2930
- self.state = 388
2931
- self.linkname()
2932
- self.state = 389
2933
- self.match(malParser.RARROW)
2934
- self.state = 390
2935
- self.mult()
2936
- self.state = 391
2937
- self.field()
2938
- self.state = 392
2939
- self.match(malParser.ID)
2940
- self.state = 396
2941
- self._errHandler.sync(self)
2942
- _alt = self._interp.adaptivePredict(self._input, 38, self._ctx)
2943
- while _alt != 2 and _alt != ATN.INVALID_ALT_NUMBER:
2944
- if _alt == 1:
2945
- self.state = 393
2946
- self.meta()
2947
- self.state = 398
2948
- self._errHandler.sync(self)
2949
- _alt = self._interp.adaptivePredict(self._input, 38, self._ctx)
2950
-
2951
- except RecognitionException as re:
2952
- localctx.exception = re
2953
- self._errHandler.reportError(self, re)
2954
- self._errHandler.recover(self, re)
2955
- finally:
2956
- self.exitRule()
2957
- return localctx
2958
-
2959
- class FieldContext(ParserRuleContext):
2960
- __slots__ = 'parser'
2961
-
2962
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
2963
- super().__init__(parent, invokingState)
2964
- self.parser = parser
2965
-
2966
- def LSQUARE(self):
2967
- return self.getToken(malParser.LSQUARE, 0)
2968
-
2969
- def ID(self):
2970
- return self.getToken(malParser.ID, 0)
2971
-
2972
- def RSQUARE(self):
2973
- return self.getToken(malParser.RSQUARE, 0)
2974
-
2975
- def getRuleIndex(self):
2976
- return malParser.RULE_field
2977
-
2978
- def enterRule(self, listener: ParseTreeListener):
2979
- if hasattr(listener, "enterField"):
2980
- listener.enterField(self)
2981
-
2982
- def exitRule(self, listener: ParseTreeListener):
2983
- if hasattr(listener, "exitField"):
2984
- listener.exitField(self)
2985
-
2986
- def accept(self, visitor: ParseTreeVisitor):
2987
- if hasattr(visitor, "visitField"):
2988
- return visitor.visitField(self)
2989
- return visitor.visitChildren(self)
2990
-
2991
- def field(self):
2992
-
2993
- localctx = malParser.FieldContext(self, self._ctx, self.state)
2994
- self.enterRule(localctx, 82, self.RULE_field)
2995
- try:
2996
- self.enterOuterAlt(localctx, 1)
2997
- self.state = 399
2998
- self.match(malParser.LSQUARE)
2999
- self.state = 400
3000
- self.match(malParser.ID)
3001
- self.state = 401
3002
- self.match(malParser.RSQUARE)
3003
- except RecognitionException as re:
3004
- localctx.exception = re
3005
- self._errHandler.reportError(self, re)
3006
- self._errHandler.recover(self, re)
3007
- finally:
3008
- self.exitRule()
3009
- return localctx
3010
-
3011
- class MultContext(ParserRuleContext):
3012
- __slots__ = 'parser'
3013
-
3014
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
3015
- super().__init__(parent, invokingState)
3016
- self.parser = parser
3017
-
3018
- def multatom(self, i: int = None):
3019
- if i is None:
3020
- return self.getTypedRuleContexts(malParser.MultatomContext)
3021
- return self.getTypedRuleContext(malParser.MultatomContext, i)
3022
-
3023
- def RANGE(self):
3024
- return self.getToken(malParser.RANGE, 0)
3025
-
3026
- def getRuleIndex(self):
3027
- return malParser.RULE_mult
3028
-
3029
- def enterRule(self, listener: ParseTreeListener):
3030
- if hasattr(listener, "enterMult"):
3031
- listener.enterMult(self)
3032
-
3033
- def exitRule(self, listener: ParseTreeListener):
3034
- if hasattr(listener, "exitMult"):
3035
- listener.exitMult(self)
3036
-
3037
- def accept(self, visitor: ParseTreeVisitor):
3038
- if hasattr(visitor, "visitMult"):
3039
- return visitor.visitMult(self)
3040
- return visitor.visitChildren(self)
3041
-
3042
- def mult(self):
3043
-
3044
- localctx = malParser.MultContext(self, self._ctx, self.state)
3045
- self.enterRule(localctx, 84, self.RULE_mult)
3046
- self._la = 0 # Token type
3047
- try:
3048
- self.enterOuterAlt(localctx, 1)
3049
- self.state = 403
3050
- self.multatom()
3051
- self.state = 406
3052
- self._errHandler.sync(self)
3053
- _la = self._input.LA(1)
3054
- if _la == 34:
3055
- self.state = 404
3056
- self.match(malParser.RANGE)
3057
- self.state = 405
3058
- self.multatom()
3059
-
3060
- except RecognitionException as re:
3061
- localctx.exception = re
3062
- self._errHandler.reportError(self, re)
3063
- self._errHandler.recover(self, re)
3064
- finally:
3065
- self.exitRule()
3066
- return localctx
3067
-
3068
- class MultatomContext(ParserRuleContext):
3069
- __slots__ = 'parser'
3070
-
3071
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
3072
- super().__init__(parent, invokingState)
3073
- self.parser = parser
3074
-
3075
- def INT(self):
3076
- return self.getToken(malParser.INT, 0)
3077
-
3078
- def STAR(self):
3079
- return self.getToken(malParser.STAR, 0)
3080
-
3081
- def getRuleIndex(self):
3082
- return malParser.RULE_multatom
3083
-
3084
- def enterRule(self, listener: ParseTreeListener):
3085
- if hasattr(listener, "enterMultatom"):
3086
- listener.enterMultatom(self)
3087
-
3088
- def exitRule(self, listener: ParseTreeListener):
3089
- if hasattr(listener, "exitMultatom"):
3090
- listener.exitMultatom(self)
3091
-
3092
- def accept(self, visitor: ParseTreeVisitor):
3093
- if hasattr(visitor, "visitMultatom"):
3094
- return visitor.visitMultatom(self)
3095
- return visitor.visitChildren(self)
3096
-
3097
- def multatom(self):
3098
-
3099
- localctx = malParser.MultatomContext(self, self._ctx, self.state)
3100
- self.enterRule(localctx, 86, self.RULE_multatom)
3101
- self._la = 0 # Token type
3102
- try:
3103
- self.enterOuterAlt(localctx, 1)
3104
- self.state = 408
3105
- _la = self._input.LA(1)
3106
- if not (_la == 11 or _la == 28):
3107
- self._errHandler.recoverInline(self)
3108
- else:
3109
- self._errHandler.reportMatch(self)
3110
- self.consume()
3111
- except RecognitionException as re:
3112
- localctx.exception = re
3113
- self._errHandler.reportError(self, re)
3114
- self._errHandler.recover(self, re)
3115
- finally:
3116
- self.exitRule()
3117
- return localctx
3118
-
3119
- class LinknameContext(ParserRuleContext):
3120
- __slots__ = 'parser'
3121
-
3122
- def __init__(self, parser, parent: ParserRuleContext = None, invokingState: int = -1):
3123
- super().__init__(parent, invokingState)
3124
- self.parser = parser
3125
-
3126
- def ID(self):
3127
- return self.getToken(malParser.ID, 0)
3128
-
3129
- def getRuleIndex(self):
3130
- return malParser.RULE_linkname
3131
-
3132
- def enterRule(self, listener: ParseTreeListener):
3133
- if hasattr(listener, "enterLinkname"):
3134
- listener.enterLinkname(self)
3135
-
3136
- def exitRule(self, listener: ParseTreeListener):
3137
- if hasattr(listener, "exitLinkname"):
3138
- listener.exitLinkname(self)
3139
-
3140
- def accept(self, visitor: ParseTreeVisitor):
3141
- if hasattr(visitor, "visitLinkname"):
3142
- return visitor.visitLinkname(self)
3143
- return visitor.visitChildren(self)
3144
-
3145
- def linkname(self):
3146
-
3147
- localctx = malParser.LinknameContext(self, self._ctx, self.state)
3148
- self.enterRule(localctx, 88, self.RULE_linkname)
3149
- try:
3150
- self.enterOuterAlt(localctx, 1)
3151
- self.state = 410
3152
- self.match(malParser.ID)
3153
- except RecognitionException as re:
3154
- localctx.exception = re
3155
- self._errHandler.reportError(self, re)
3156
- self._errHandler.recover(self, re)
3157
- finally:
3158
- self.exitRule()
3159
- return localctx