Skip to content

Commit c99d3dc

Browse files
Add files via upload
1 parent 74dc4ce commit c99d3dc

20 files changed

+2776
-16
lines changed

ATL.g4

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
grammar ATL;
2+
3+
atlExpr : ('!' | 'not') child=atlExpr # Negation
4+
//temporal operators
5+
| ('next' | 'X') child=atlExpr # Next
6+
| ('eventually' | 'F') child=atlExpr # Eventually
7+
| ('always' | 'G') child=atlExpr # Always
8+
| left=atlExpr ('until' | 'U') right=atlExpr # Until
9+
| left=atlExpr ('release' | 'R') right=atlExpr # Release
10+
// boolean operators
11+
| left=atlExpr ('&&' | 'and') right=atlExpr # Conjunction
12+
| left=atlExpr ('||' | 'or') right=atlExpr # Disjunction
13+
| left=atlExpr ('->' | 'implies') right=atlExpr # Implies
14+
// strategic operators
15+
| '<' group=ATOM '>' child=atlExpr # Existential
16+
| '[' group=ATOM ']' child=atlExpr # Universal
17+
| '(' atlExpr ')' # Grouping
18+
| child=atomExpr # Evaluation
19+
;
20+
21+
atomExpr : ATOM;
22+
23+
ATOM : [_a-z][_a-z0-9]*;
24+
25+
WS : [ \t\r\n\u000C]+ -> skip;
26+

ATL.interp

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
token literal names:
2+
null
3+
'!'
4+
'not'
5+
'next'
6+
'X'
7+
'eventually'
8+
'F'
9+
'always'
10+
'G'
11+
'until'
12+
'U'
13+
'release'
14+
'R'
15+
'&&'
16+
'and'
17+
'||'
18+
'or'
19+
'->'
20+
'implies'
21+
'<'
22+
'>'
23+
'['
24+
']'
25+
'('
26+
')'
27+
null
28+
null
29+
30+
token symbolic names:
31+
null
32+
null
33+
null
34+
null
35+
null
36+
null
37+
null
38+
null
39+
null
40+
null
41+
null
42+
null
43+
null
44+
null
45+
null
46+
null
47+
null
48+
null
49+
null
50+
null
51+
null
52+
null
53+
null
54+
null
55+
null
56+
ATOM
57+
WS
58+
59+
rule names:
60+
atlExpr
61+
atomExpr
62+
63+
64+
atn:
65+
[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 28, 53, 4, 2, 9, 2, 4, 3, 9, 3, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 5, 2, 29, 10, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 7, 2, 46, 10, 2, 12, 2, 14, 2, 49, 11, 2, 3, 3, 3, 3, 3, 3, 2, 3, 2, 4, 2, 4, 2, 11, 3, 2, 3, 4, 3, 2, 5, 6, 3, 2, 7, 8, 3, 2, 9, 10, 3, 2, 11, 12, 3, 2, 13, 14, 3, 2, 15, 16, 3, 2, 17, 18, 3, 2, 19, 20, 2, 62, 2, 28, 3, 2, 2, 2, 4, 50, 3, 2, 2, 2, 6, 7, 8, 2, 1, 2, 7, 8, 9, 2, 2, 2, 8, 29, 5, 2, 2, 15, 9, 10, 9, 3, 2, 2, 10, 29, 5, 2, 2, 14, 11, 12, 9, 4, 2, 2, 12, 29, 5, 2, 2, 13, 13, 14, 9, 5, 2, 2, 14, 29, 5, 2, 2, 12, 15, 16, 7, 21, 2, 2, 16, 17, 7, 27, 2, 2, 17, 18, 7, 22, 2, 2, 18, 29, 5, 2, 2, 6, 19, 20, 7, 23, 2, 2, 20, 21, 7, 27, 2, 2, 21, 22, 7, 24, 2, 2, 22, 29, 5, 2, 2, 5, 23, 24, 7, 25, 2, 2, 24, 25, 5, 2, 2, 2, 25, 26, 7, 26, 2, 2, 26, 29, 3, 2, 2, 2, 27, 29, 5, 4, 3, 2, 28, 6, 3, 2, 2, 2, 28, 9, 3, 2, 2, 2, 28, 11, 3, 2, 2, 2, 28, 13, 3, 2, 2, 2, 28, 15, 3, 2, 2, 2, 28, 19, 3, 2, 2, 2, 28, 23, 3, 2, 2, 2, 28, 27, 3, 2, 2, 2, 29, 47, 3, 2, 2, 2, 30, 31, 12, 11, 2, 2, 31, 32, 9, 6, 2, 2, 32, 46, 5, 2, 2, 12, 33, 34, 12, 10, 2, 2, 34, 35, 9, 7, 2, 2, 35, 46, 5, 2, 2, 11, 36, 37, 12, 9, 2, 2, 37, 38, 9, 8, 2, 2, 38, 46, 5, 2, 2, 10, 39, 40, 12, 8, 2, 2, 40, 41, 9, 9, 2, 2, 41, 46, 5, 2, 2, 9, 42, 43, 12, 7, 2, 2, 43, 44, 9, 10, 2, 2, 44, 46, 5, 2, 2, 8, 45, 30, 3, 2, 2, 2, 45, 33, 3, 2, 2, 2, 45, 36, 3, 2, 2, 2, 45, 39, 3, 2, 2, 2, 45, 42, 3, 2, 2, 2, 46, 49, 3, 2, 2, 2, 47, 45, 3, 2, 2, 2, 47, 48, 3, 2, 2, 2, 48, 3, 3, 2, 2, 2, 49, 47, 3, 2, 2, 2, 50, 51, 7, 27, 2, 2, 51, 5, 3, 2, 2, 2, 5, 28, 45, 47]

ATL.tokens

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
T__0=1
2+
T__1=2
3+
T__2=3
4+
T__3=4
5+
T__4=5
6+
T__5=6
7+
T__6=7
8+
T__7=8
9+
T__8=9
10+
T__9=10
11+
T__10=11
12+
T__11=12
13+
T__12=13
14+
T__13=14
15+
T__14=15
16+
T__15=16
17+
T__16=17
18+
T__17=18
19+
T__18=19
20+
T__19=20
21+
T__20=21
22+
T__21=22
23+
T__22=23
24+
T__23=24
25+
ATOM=25
26+
WS=26
27+
'!'=1
28+
'not'=2
29+
'next'=3
30+
'X'=4
31+
'eventually'=5
32+
'F'=6
33+
'always'=7
34+
'G'=8
35+
'until'=9
36+
'U'=10
37+
'release'=11
38+
'R'=12
39+
'&&'=13
40+
'and'=14
41+
'||'=15
42+
'or'=16
43+
'->'=17
44+
'implies'=18
45+
'<'=19
46+
'>'=20
47+
'['=21
48+
']'=22
49+
'('=23
50+
')'=24

ATLLexer.interp

+95
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
token literal names:
2+
null
3+
'!'
4+
'not'
5+
'next'
6+
'X'
7+
'eventually'
8+
'F'
9+
'always'
10+
'G'
11+
'until'
12+
'U'
13+
'release'
14+
'R'
15+
'&&'
16+
'and'
17+
'||'
18+
'or'
19+
'->'
20+
'implies'
21+
'<'
22+
'>'
23+
'['
24+
']'
25+
'('
26+
')'
27+
null
28+
null
29+
30+
token symbolic names:
31+
null
32+
null
33+
null
34+
null
35+
null
36+
null
37+
null
38+
null
39+
null
40+
null
41+
null
42+
null
43+
null
44+
null
45+
null
46+
null
47+
null
48+
null
49+
null
50+
null
51+
null
52+
null
53+
null
54+
null
55+
null
56+
ATOM
57+
WS
58+
59+
rule names:
60+
T__0
61+
T__1
62+
T__2
63+
T__3
64+
T__4
65+
T__5
66+
T__6
67+
T__7
68+
T__8
69+
T__9
70+
T__10
71+
T__11
72+
T__12
73+
T__13
74+
T__14
75+
T__15
76+
T__16
77+
T__17
78+
T__18
79+
T__19
80+
T__20
81+
T__21
82+
T__22
83+
T__23
84+
ATOM
85+
WS
86+
87+
channel names:
88+
DEFAULT_TOKEN_CHANNEL
89+
HIDDEN
90+
91+
mode names:
92+
DEFAULT_MODE
93+
94+
atn:
95+
[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 28, 158, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 7, 26, 147, 10, 26, 12, 26, 14, 26, 150, 11, 26, 3, 27, 6, 27, 153, 10, 27, 13, 27, 14, 27, 154, 3, 27, 3, 27, 2, 2, 28, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 3, 2, 5, 4, 2, 97, 97, 99, 124, 5, 2, 50, 59, 97, 97, 99, 124, 5, 2, 11, 12, 14, 15, 34, 34, 2, 159, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 2, 31, 3, 2, 2, 2, 2, 33, 3, 2, 2, 2, 2, 35, 3, 2, 2, 2, 2, 37, 3, 2, 2, 2, 2, 39, 3, 2, 2, 2, 2, 41, 3, 2, 2, 2, 2, 43, 3, 2, 2, 2, 2, 45, 3, 2, 2, 2, 2, 47, 3, 2, 2, 2, 2, 49, 3, 2, 2, 2, 2, 51, 3, 2, 2, 2, 2, 53, 3, 2, 2, 2, 3, 55, 3, 2, 2, 2, 5, 57, 3, 2, 2, 2, 7, 61, 3, 2, 2, 2, 9, 66, 3, 2, 2, 2, 11, 68, 3, 2, 2, 2, 13, 79, 3, 2, 2, 2, 15, 81, 3, 2, 2, 2, 17, 88, 3, 2, 2, 2, 19, 90, 3, 2, 2, 2, 21, 96, 3, 2, 2, 2, 23, 98, 3, 2, 2, 2, 25, 106, 3, 2, 2, 2, 27, 108, 3, 2, 2, 2, 29, 111, 3, 2, 2, 2, 31, 115, 3, 2, 2, 2, 33, 118, 3, 2, 2, 2, 35, 121, 3, 2, 2, 2, 37, 124, 3, 2, 2, 2, 39, 132, 3, 2, 2, 2, 41, 134, 3, 2, 2, 2, 43, 136, 3, 2, 2, 2, 45, 138, 3, 2, 2, 2, 47, 140, 3, 2, 2, 2, 49, 142, 3, 2, 2, 2, 51, 144, 3, 2, 2, 2, 53, 152, 3, 2, 2, 2, 55, 56, 7, 35, 2, 2, 56, 4, 3, 2, 2, 2, 57, 58, 7, 112, 2, 2, 58, 59, 7, 113, 2, 2, 59, 60, 7, 118, 2, 2, 60, 6, 3, 2, 2, 2, 61, 62, 7, 112, 2, 2, 62, 63, 7, 103, 2, 2, 63, 64, 7, 122, 2, 2, 64, 65, 7, 118, 2, 2, 65, 8, 3, 2, 2, 2, 66, 67, 7, 90, 2, 2, 67, 10, 3, 2, 2, 2, 68, 69, 7, 103, 2, 2, 69, 70, 7, 120, 2, 2, 70, 71, 7, 103, 2, 2, 71, 72, 7, 112, 2, 2, 72, 73, 7, 118, 2, 2, 73, 74, 7, 119, 2, 2, 74, 75, 7, 99, 2, 2, 75, 76, 7, 110, 2, 2, 76, 77, 7, 110, 2, 2, 77, 78, 7, 123, 2, 2, 78, 12, 3, 2, 2, 2, 79, 80, 7, 72, 2, 2, 80, 14, 3, 2, 2, 2, 81, 82, 7, 99, 2, 2, 82, 83, 7, 110, 2, 2, 83, 84, 7, 121, 2, 2, 84, 85, 7, 99, 2, 2, 85, 86, 7, 123, 2, 2, 86, 87, 7, 117, 2, 2, 87, 16, 3, 2, 2, 2, 88, 89, 7, 73, 2, 2, 89, 18, 3, 2, 2, 2, 90, 91, 7, 119, 2, 2, 91, 92, 7, 112, 2, 2, 92, 93, 7, 118, 2, 2, 93, 94, 7, 107, 2, 2, 94, 95, 7, 110, 2, 2, 95, 20, 3, 2, 2, 2, 96, 97, 7, 87, 2, 2, 97, 22, 3, 2, 2, 2, 98, 99, 7, 116, 2, 2, 99, 100, 7, 103, 2, 2, 100, 101, 7, 110, 2, 2, 101, 102, 7, 103, 2, 2, 102, 103, 7, 99, 2, 2, 103, 104, 7, 117, 2, 2, 104, 105, 7, 103, 2, 2, 105, 24, 3, 2, 2, 2, 106, 107, 7, 84, 2, 2, 107, 26, 3, 2, 2, 2, 108, 109, 7, 40, 2, 2, 109, 110, 7, 40, 2, 2, 110, 28, 3, 2, 2, 2, 111, 112, 7, 99, 2, 2, 112, 113, 7, 112, 2, 2, 113, 114, 7, 102, 2, 2, 114, 30, 3, 2, 2, 2, 115, 116, 7, 126, 2, 2, 116, 117, 7, 126, 2, 2, 117, 32, 3, 2, 2, 2, 118, 119, 7, 113, 2, 2, 119, 120, 7, 116, 2, 2, 120, 34, 3, 2, 2, 2, 121, 122, 7, 47, 2, 2, 122, 123, 7, 64, 2, 2, 123, 36, 3, 2, 2, 2, 124, 125, 7, 107, 2, 2, 125, 126, 7, 111, 2, 2, 126, 127, 7, 114, 2, 2, 127, 128, 7, 110, 2, 2, 128, 129, 7, 107, 2, 2, 129, 130, 7, 103, 2, 2, 130, 131, 7, 117, 2, 2, 131, 38, 3, 2, 2, 2, 132, 133, 7, 62, 2, 2, 133, 40, 3, 2, 2, 2, 134, 135, 7, 64, 2, 2, 135, 42, 3, 2, 2, 2, 136, 137, 7, 93, 2, 2, 137, 44, 3, 2, 2, 2, 138, 139, 7, 95, 2, 2, 139, 46, 3, 2, 2, 2, 140, 141, 7, 42, 2, 2, 141, 48, 3, 2, 2, 2, 142, 143, 7, 43, 2, 2, 143, 50, 3, 2, 2, 2, 144, 148, 9, 2, 2, 2, 145, 147, 9, 3, 2, 2, 146, 145, 3, 2, 2, 2, 147, 150, 3, 2, 2, 2, 148, 146, 3, 2, 2, 2, 148, 149, 3, 2, 2, 2, 149, 52, 3, 2, 2, 2, 150, 148, 3, 2, 2, 2, 151, 153, 9, 4, 2, 2, 152, 151, 3, 2, 2, 2, 153, 154, 3, 2, 2, 2, 154, 152, 3, 2, 2, 2, 154, 155, 3, 2, 2, 2, 155, 156, 3, 2, 2, 2, 156, 157, 8, 27, 2, 2, 157, 54, 3, 2, 2, 2, 5, 2, 148, 154, 3, 8, 2, 2]

ATLLexer.py

+129
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
# Generated from ATL.g4 by ANTLR 4.8
2+
from antlr4 import *
3+
from io import StringIO
4+
from typing.io import TextIO
5+
import sys
6+
7+
8+
9+
def serializedATN():
10+
with StringIO() as buf:
11+
buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\34")
12+
buf.write("\u009e\b\1\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7")
13+
buf.write("\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f\t\f\4\r\t\r")
14+
buf.write("\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22\4\23")
15+
buf.write("\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30")
16+
buf.write("\4\31\t\31\4\32\t\32\4\33\t\33\3\2\3\2\3\3\3\3\3\3\3\3")
17+
buf.write("\3\4\3\4\3\4\3\4\3\4\3\5\3\5\3\6\3\6\3\6\3\6\3\6\3\6\3")
18+
buf.write("\6\3\6\3\6\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\b\3\b\3\b\3\b")
19+
buf.write("\3\t\3\t\3\n\3\n\3\n\3\n\3\n\3\n\3\13\3\13\3\f\3\f\3\f")
20+
buf.write("\3\f\3\f\3\f\3\f\3\f\3\r\3\r\3\16\3\16\3\16\3\17\3\17")
21+
buf.write("\3\17\3\17\3\20\3\20\3\20\3\21\3\21\3\21\3\22\3\22\3\22")
22+
buf.write("\3\23\3\23\3\23\3\23\3\23\3\23\3\23\3\23\3\24\3\24\3\25")
23+
buf.write("\3\25\3\26\3\26\3\27\3\27\3\30\3\30\3\31\3\31\3\32\3\32")
24+
buf.write("\7\32\u0093\n\32\f\32\16\32\u0096\13\32\3\33\6\33\u0099")
25+
buf.write("\n\33\r\33\16\33\u009a\3\33\3\33\2\2\34\3\3\5\4\7\5\t")
26+
buf.write("\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20")
27+
buf.write("\37\21!\22#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33\65")
28+
buf.write("\34\3\2\5\4\2aac|\5\2\62;aac|\5\2\13\f\16\17\"\"\2\u009f")
29+
buf.write("\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13")
30+
buf.write("\3\2\2\2\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2\2\2\23\3")
31+
buf.write("\2\2\2\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3\2\2\2\2\33\3\2")
32+
buf.write("\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2")
33+
buf.write("%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2")
34+
buf.write("\2/\3\2\2\2\2\61\3\2\2\2\2\63\3\2\2\2\2\65\3\2\2\2\3\67")
35+
buf.write("\3\2\2\2\59\3\2\2\2\7=\3\2\2\2\tB\3\2\2\2\13D\3\2\2\2")
36+
buf.write("\rO\3\2\2\2\17Q\3\2\2\2\21X\3\2\2\2\23Z\3\2\2\2\25`\3")
37+
buf.write("\2\2\2\27b\3\2\2\2\31j\3\2\2\2\33l\3\2\2\2\35o\3\2\2\2")
38+
buf.write("\37s\3\2\2\2!v\3\2\2\2#y\3\2\2\2%|\3\2\2\2\'\u0084\3\2")
39+
buf.write("\2\2)\u0086\3\2\2\2+\u0088\3\2\2\2-\u008a\3\2\2\2/\u008c")
40+
buf.write("\3\2\2\2\61\u008e\3\2\2\2\63\u0090\3\2\2\2\65\u0098\3")
41+
buf.write("\2\2\2\678\7#\2\28\4\3\2\2\29:\7p\2\2:;\7q\2\2;<\7v\2")
42+
buf.write("\2<\6\3\2\2\2=>\7p\2\2>?\7g\2\2?@\7z\2\2@A\7v\2\2A\b\3")
43+
buf.write("\2\2\2BC\7Z\2\2C\n\3\2\2\2DE\7g\2\2EF\7x\2\2FG\7g\2\2")
44+
buf.write("GH\7p\2\2HI\7v\2\2IJ\7w\2\2JK\7c\2\2KL\7n\2\2LM\7n\2\2")
45+
buf.write("MN\7{\2\2N\f\3\2\2\2OP\7H\2\2P\16\3\2\2\2QR\7c\2\2RS\7")
46+
buf.write("n\2\2ST\7y\2\2TU\7c\2\2UV\7{\2\2VW\7u\2\2W\20\3\2\2\2")
47+
buf.write("XY\7I\2\2Y\22\3\2\2\2Z[\7w\2\2[\\\7p\2\2\\]\7v\2\2]^\7")
48+
buf.write("k\2\2^_\7n\2\2_\24\3\2\2\2`a\7W\2\2a\26\3\2\2\2bc\7t\2")
49+
buf.write("\2cd\7g\2\2de\7n\2\2ef\7g\2\2fg\7c\2\2gh\7u\2\2hi\7g\2")
50+
buf.write("\2i\30\3\2\2\2jk\7T\2\2k\32\3\2\2\2lm\7(\2\2mn\7(\2\2")
51+
buf.write("n\34\3\2\2\2op\7c\2\2pq\7p\2\2qr\7f\2\2r\36\3\2\2\2st")
52+
buf.write("\7~\2\2tu\7~\2\2u \3\2\2\2vw\7q\2\2wx\7t\2\2x\"\3\2\2")
53+
buf.write("\2yz\7/\2\2z{\7@\2\2{$\3\2\2\2|}\7k\2\2}~\7o\2\2~\177")
54+
buf.write("\7r\2\2\177\u0080\7n\2\2\u0080\u0081\7k\2\2\u0081\u0082")
55+
buf.write("\7g\2\2\u0082\u0083\7u\2\2\u0083&\3\2\2\2\u0084\u0085")
56+
buf.write("\7>\2\2\u0085(\3\2\2\2\u0086\u0087\7@\2\2\u0087*\3\2\2")
57+
buf.write("\2\u0088\u0089\7]\2\2\u0089,\3\2\2\2\u008a\u008b\7_\2")
58+
buf.write("\2\u008b.\3\2\2\2\u008c\u008d\7*\2\2\u008d\60\3\2\2\2")
59+
buf.write("\u008e\u008f\7+\2\2\u008f\62\3\2\2\2\u0090\u0094\t\2\2")
60+
buf.write("\2\u0091\u0093\t\3\2\2\u0092\u0091\3\2\2\2\u0093\u0096")
61+
buf.write("\3\2\2\2\u0094\u0092\3\2\2\2\u0094\u0095\3\2\2\2\u0095")
62+
buf.write("\64\3\2\2\2\u0096\u0094\3\2\2\2\u0097\u0099\t\4\2\2\u0098")
63+
buf.write("\u0097\3\2\2\2\u0099\u009a\3\2\2\2\u009a\u0098\3\2\2\2")
64+
buf.write("\u009a\u009b\3\2\2\2\u009b\u009c\3\2\2\2\u009c\u009d\b")
65+
buf.write("\33\2\2\u009d\66\3\2\2\2\5\2\u0094\u009a\3\b\2\2")
66+
return buf.getvalue()
67+
68+
69+
class ATLLexer(Lexer):
70+
71+
atn = ATNDeserializer().deserialize(serializedATN())
72+
73+
decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ]
74+
75+
T__0 = 1
76+
T__1 = 2
77+
T__2 = 3
78+
T__3 = 4
79+
T__4 = 5
80+
T__5 = 6
81+
T__6 = 7
82+
T__7 = 8
83+
T__8 = 9
84+
T__9 = 10
85+
T__10 = 11
86+
T__11 = 12
87+
T__12 = 13
88+
T__13 = 14
89+
T__14 = 15
90+
T__15 = 16
91+
T__16 = 17
92+
T__17 = 18
93+
T__18 = 19
94+
T__19 = 20
95+
T__20 = 21
96+
T__21 = 22
97+
T__22 = 23
98+
T__23 = 24
99+
ATOM = 25
100+
WS = 26
101+
102+
channelNames = [ u"DEFAULT_TOKEN_CHANNEL", u"HIDDEN" ]
103+
104+
modeNames = [ "DEFAULT_MODE" ]
105+
106+
literalNames = [ "<INVALID>",
107+
"'!'", "'not'", "'next'", "'X'", "'eventually'", "'F'", "'always'",
108+
"'G'", "'until'", "'U'", "'release'", "'R'", "'&&'", "'and'",
109+
"'||'", "'or'", "'->'", "'implies'", "'<'", "'>'", "'['", "']'",
110+
"'('", "')'" ]
111+
112+
symbolicNames = [ "<INVALID>",
113+
"ATOM", "WS" ]
114+
115+
ruleNames = [ "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6",
116+
"T__7", "T__8", "T__9", "T__10", "T__11", "T__12", "T__13",
117+
"T__14", "T__15", "T__16", "T__17", "T__18", "T__19",
118+
"T__20", "T__21", "T__22", "T__23", "ATOM", "WS" ]
119+
120+
grammarFileName = "ATL.g4"
121+
122+
def __init__(self, input=None, output:TextIO = sys.stdout):
123+
super().__init__(input, output)
124+
self.checkVersion("4.8")
125+
self._interp = LexerATNSimulator(self, self.atn, self.decisionsToDFA, PredictionContextCache())
126+
self._actions = None
127+
self._predicates = None
128+
129+

0 commit comments

Comments
 (0)