Merge lp:~tapaal-contributor/tapaal/signed-integers-fix-1714815 into lp:tapaal
- signed-integers-fix-1714815
- Merge into trunk
Proposed by
Mads Johannsen
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Jiri Srba | ||||
Approved revision: | 942 | ||||
Merged at revision: | 942 | ||||
Proposed branch: | lp:~tapaal-contributor/tapaal/signed-integers-fix-1714815 | ||||
Merge into: | lp:tapaal | ||||
Diff against target: |
1901 lines (+497/-609) 7 files modified
src/dk/aau/cs/TCTL/CTLParsing/ParseException.java (+16/-22) src/dk/aau/cs/TCTL/CTLParsing/SimpleCharStream.java (+7/-10) src/dk/aau/cs/TCTL/CTLParsing/TAPAALCTLQueryParser.java (+303/-365) src/dk/aau/cs/TCTL/CTLParsing/TAPAALCTLQueryParserTokenManager.java (+155/-197) src/dk/aau/cs/TCTL/CTLParsing/Token.java (+3/-3) src/dk/aau/cs/TCTL/CTLParsing/TokenMgrError.java (+12/-11) src/resources/TCTLParser/TAPAALCTLQueryParser.jj (+1/-1) |
||||
To merge this branch: | bzr merge lp:~tapaal-contributor/tapaal/signed-integers-fix-1714815 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Jiri Srba | Approve | ||
Review via email: mp+330241@code.launchpad.net |
Commit message
Description of the change
Allow signed integers in manual edit (for CTL queries).
To post a comment you must log in.
- 942. By Mads Johannsen
-
Allow signed integers in manual edit (for CTL queries)
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'src/dk/aau/cs/TCTL/CTLParsing/ParseException.java' | |||
2 | --- src/dk/aau/cs/TCTL/CTLParsing/ParseException.java 2017-05-07 12:44:00 +0000 | |||
3 | +++ src/dk/aau/cs/TCTL/CTLParsing/ParseException.java 2017-09-05 21:26:24 +0000 | |||
4 | @@ -1,5 +1,5 @@ | |||
7 | 1 | /* Generated By:JavaCC: Do not edit this line. ParseException.java Version 7.0 */ | 1 | /* Generated By:JavaCC: Do not edit this line. ParseException.java Version 5.0 */ |
8 | 2 | /* JavaCCOptions:KEEP_LINE_COLUMN=true */ | 2 | /* JavaCCOptions:KEEP_LINE_COL=null */ |
9 | 3 | package dk.aau.cs.TCTL.CTLParsing; | 3 | package dk.aau.cs.TCTL.CTLParsing; |
10 | 4 | 4 | ||
11 | 5 | /** | 5 | /** |
12 | @@ -21,11 +21,6 @@ | |||
13 | 21 | private static final long serialVersionUID = 1L; | 21 | private static final long serialVersionUID = 1L; |
14 | 22 | 22 | ||
15 | 23 | /** | 23 | /** |
16 | 24 | * The end of line string for this machine. | ||
17 | 25 | */ | ||
18 | 26 | protected static String EOL = System.getProperty("line.separator", "\n"); | ||
19 | 27 | |||
20 | 28 | /** | ||
21 | 29 | * This constructor is used by the method "generateParseException" | 24 | * This constructor is used by the method "generateParseException" |
22 | 30 | * in the generated parser. Calling this constructor generates | 25 | * in the generated parser. Calling this constructor generates |
23 | 31 | * a new object of this type with the fields "currentToken", | 26 | * a new object of this type with the fields "currentToken", |
24 | @@ -93,7 +88,7 @@ | |||
25 | 93 | private static String initialise(Token currentToken, | 88 | private static String initialise(Token currentToken, |
26 | 94 | int[][] expectedTokenSequences, | 89 | int[][] expectedTokenSequences, |
27 | 95 | String[] tokenImage) { | 90 | String[] tokenImage) { |
29 | 96 | 91 | String eol = System.getProperty("line.separator", "\n"); | |
30 | 97 | StringBuffer expected = new StringBuffer(); | 92 | StringBuffer expected = new StringBuffer(); |
31 | 98 | int maxSize = 0; | 93 | int maxSize = 0; |
32 | 99 | for (int i = 0; i < expectedTokenSequences.length; i++) { | 94 | for (int i = 0; i < expectedTokenSequences.length; i++) { |
33 | @@ -106,7 +101,7 @@ | |||
34 | 106 | if (expectedTokenSequences[i][expectedTokenSequences[i].length - 1] != 0) { | 101 | if (expectedTokenSequences[i][expectedTokenSequences[i].length - 1] != 0) { |
35 | 107 | expected.append("..."); | 102 | expected.append("..."); |
36 | 108 | } | 103 | } |
38 | 109 | expected.append(EOL).append(" "); | 104 | expected.append(eol).append(" "); |
39 | 110 | } | 105 | } |
40 | 111 | String retval = "Encountered \""; | 106 | String retval = "Encountered \""; |
41 | 112 | Token tok = currentToken.next; | 107 | Token tok = currentToken.next; |
42 | @@ -123,23 +118,20 @@ | |||
43 | 123 | tok = tok.next; | 118 | tok = tok.next; |
44 | 124 | } | 119 | } |
45 | 125 | retval += "\" at line " + currentToken.next.beginLine + ", column " + currentToken.next.beginColumn; | 120 | retval += "\" at line " + currentToken.next.beginLine + ", column " + currentToken.next.beginColumn; |
51 | 126 | retval += "." + EOL; | 121 | retval += "." + eol; |
52 | 127 | 122 | if (expectedTokenSequences.length == 1) { | |
53 | 128 | 123 | retval += "Was expecting:" + eol + " "; | |
49 | 129 | if (expectedTokenSequences.length == 0) { | ||
50 | 130 | // Nothing to add here | ||
54 | 131 | } else { | 124 | } else { |
61 | 132 | if (expectedTokenSequences.length == 1) { | 125 | retval += "Was expecting one of:" + eol + " "; |
56 | 133 | retval += "Was expecting:" + EOL + " "; | ||
57 | 134 | } else { | ||
58 | 135 | retval += "Was expecting one of:" + EOL + " "; | ||
59 | 136 | } | ||
60 | 137 | retval += expected.toString(); | ||
62 | 138 | } | 126 | } |
64 | 139 | 127 | retval += expected.toString(); | |
65 | 140 | return retval; | 128 | return retval; |
66 | 141 | } | 129 | } |
67 | 142 | 130 | ||
68 | 131 | /** | ||
69 | 132 | * The end of line string for this machine. | ||
70 | 133 | */ | ||
71 | 134 | protected String eol = System.getProperty("line.separator", "\n"); | ||
72 | 143 | 135 | ||
73 | 144 | /** | 136 | /** |
74 | 145 | * Used to convert raw characters to their escaped version | 137 | * Used to convert raw characters to their escaped version |
75 | @@ -152,6 +144,8 @@ | |||
76 | 152 | for (int i = 0; i < str.length(); i++) { | 144 | for (int i = 0; i < str.length(); i++) { |
77 | 153 | switch (str.charAt(i)) | 145 | switch (str.charAt(i)) |
78 | 154 | { | 146 | { |
79 | 147 | case 0 : | ||
80 | 148 | continue; | ||
81 | 155 | case '\b': | 149 | case '\b': |
82 | 156 | retval.append("\\b"); | 150 | retval.append("\\b"); |
83 | 157 | continue; | 151 | continue; |
84 | @@ -190,4 +184,4 @@ | |||
85 | 190 | } | 184 | } |
86 | 191 | 185 | ||
87 | 192 | } | 186 | } |
89 | 193 | /* JavaCC - OriginalChecksum=cecb7af8f6d81d2720805fee8666f83e (do not edit this line) */ | 187 | /* JavaCC - OriginalChecksum=e3b16ba93b705462aa836b464f80ade3 (do not edit this line) */ |
90 | 194 | 188 | ||
91 | === modified file 'src/dk/aau/cs/TCTL/CTLParsing/SimpleCharStream.java' | |||
92 | --- src/dk/aau/cs/TCTL/CTLParsing/SimpleCharStream.java 2017-05-07 12:44:00 +0000 | |||
93 | +++ src/dk/aau/cs/TCTL/CTLParsing/SimpleCharStream.java 2017-09-05 21:26:24 +0000 | |||
94 | @@ -1,4 +1,4 @@ | |||
96 | 1 | /* Generated By:JavaCC: Do not edit this line. SimpleCharStream.java Version 7.0 */ | 1 | /* Generated By:JavaCC: Do not edit this line. SimpleCharStream.java Version 5.0 */ |
97 | 2 | /* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */ | 2 | /* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */ |
98 | 3 | package dk.aau.cs.TCTL.CTLParsing; | 3 | package dk.aau.cs.TCTL.CTLParsing; |
99 | 4 | 4 | ||
100 | @@ -30,12 +30,10 @@ | |||
101 | 30 | protected char[] buffer; | 30 | protected char[] buffer; |
102 | 31 | protected int maxNextCharInd = 0; | 31 | protected int maxNextCharInd = 0; |
103 | 32 | protected int inBuf = 0; | 32 | protected int inBuf = 0; |
110 | 33 | protected int tabSize = 1; | 33 | protected int tabSize = 8; |
111 | 34 | protected boolean trackLineColumn = true; | 34 | |
112 | 35 | 35 | protected void setTabSize(int i) { tabSize = i; } | |
113 | 36 | public void setTabSize(int i) { tabSize = i; } | 36 | protected int getTabSize(int i) { return tabSize; } |
108 | 37 | public int getTabSize() { return tabSize; } | ||
109 | 38 | |||
114 | 39 | 37 | ||
115 | 40 | 38 | ||
116 | 41 | protected void ExpandBuff(boolean wrapAround) | 39 | protected void ExpandBuff(boolean wrapAround) |
117 | @@ -468,7 +466,6 @@ | |||
118 | 468 | line = bufline[j]; | 466 | line = bufline[j]; |
119 | 469 | column = bufcolumn[j]; | 467 | column = bufcolumn[j]; |
120 | 470 | } | 468 | } |
123 | 471 | boolean getTrackLineColumn() { return trackLineColumn; } | 469 | |
122 | 472 | void setTrackLineColumn(boolean tlc) { trackLineColumn = tlc; } | ||
124 | 473 | } | 470 | } |
126 | 474 | /* JavaCC - OriginalChecksum=3bfee23fa238f42634d20b3466c7eaef (do not edit this line) */ | 471 | /* JavaCC - OriginalChecksum=816436a32bfa27b6bfceb55653f8d63a (do not edit this line) */ |
127 | 475 | 472 | ||
128 | === modified file 'src/dk/aau/cs/TCTL/CTLParsing/TAPAALCTLQueryParser.java' | |||
129 | --- src/dk/aau/cs/TCTL/CTLParsing/TAPAALCTLQueryParser.java 2017-05-15 10:38:38 +0000 | |||
130 | +++ src/dk/aau/cs/TCTL/CTLParsing/TAPAALCTLQueryParser.java 2017-09-05 21:26:24 +0000 | |||
131 | @@ -1,4 +1,3 @@ | |||
132 | 1 | /* TAPAALCTLQueryParser.java */ | ||
133 | 2 | /* Generated By:JavaCC: Do not edit this line. TAPAALCTLQueryParser.java */ | 1 | /* Generated By:JavaCC: Do not edit this line. TAPAALCTLQueryParser.java */ |
134 | 3 | package dk.aau.cs.TCTL.CTLParsing; | 2 | package dk.aau.cs.TCTL.CTLParsing; |
135 | 4 | 3 | ||
136 | @@ -41,164 +40,155 @@ | |||
137 | 41 | } | 40 | } |
138 | 42 | 41 | ||
139 | 43 | /** Root production. */ | 42 | /** Root production. */ |
141 | 44 | final public TCTLAbstractPathProperty AbstractPathProperty() throws ParseException {TCTLAbstractStateProperty child = null; | 43 | final public TCTLAbstractPathProperty AbstractPathProperty() throws ParseException { |
142 | 44 | TCTLAbstractStateProperty child = null; | ||
143 | 45 | TCTLAbstractStateProperty child2 = null; | 45 | TCTLAbstractStateProperty child2 = null; |
146 | 46 | switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { | 46 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
147 | 47 | case EF:{ | 47 | case EF: |
148 | 48 | jj_consume_token(EF); | 48 | jj_consume_token(EF); |
149 | 49 | child = OrExpr(); | 49 | child = OrExpr(); |
151 | 50 | {if ("" != null) return new TCTLEFNode(child);} | 50 | {if (true) return new TCTLEFNode(child);} |
152 | 51 | break; | 51 | break; |
155 | 52 | } | 52 | case EG: |
154 | 53 | case EG:{ | ||
156 | 54 | jj_consume_token(EG); | 53 | jj_consume_token(EG); |
157 | 55 | child = OrExpr(); | 54 | child = OrExpr(); |
159 | 56 | {if ("" != null) return new TCTLEGNode(child);} | 55 | {if (true) return new TCTLEGNode(child);} |
160 | 57 | break; | 56 | break; |
163 | 58 | } | 57 | case EX: |
162 | 59 | case EX:{ | ||
164 | 60 | jj_consume_token(EX); | 58 | jj_consume_token(EX); |
165 | 61 | child = OrExpr(); | 59 | child = OrExpr(); |
167 | 62 | {if ("" != null) return new TCTLEXNode(child);} | 60 | {if (true) return new TCTLEXNode(child);} |
168 | 63 | break; | 61 | break; |
171 | 64 | } | 62 | case E: |
170 | 65 | case E:{ | ||
172 | 66 | jj_consume_token(E); | 63 | jj_consume_token(E); |
173 | 67 | jj_consume_token(26); | 64 | jj_consume_token(26); |
174 | 68 | child = OrExpr(); | 65 | child = OrExpr(); |
175 | 69 | jj_consume_token(U); | 66 | jj_consume_token(U); |
176 | 70 | child2 = OrExpr(); | 67 | child2 = OrExpr(); |
177 | 71 | jj_consume_token(27); | 68 | jj_consume_token(27); |
179 | 72 | {if ("" != null) return new TCTLEUNode(child, child2);} | 69 | {if (true) return new TCTLEUNode(child, child2);} |
180 | 73 | break; | 70 | break; |
183 | 74 | } | 71 | case AF: |
182 | 75 | case AF:{ | ||
184 | 76 | jj_consume_token(AF); | 72 | jj_consume_token(AF); |
185 | 77 | child = OrExpr(); | 73 | child = OrExpr(); |
187 | 78 | {if ("" != null) return new TCTLAFNode(child);} | 74 | {if (true) return new TCTLAFNode(child);} |
188 | 79 | break; | 75 | break; |
191 | 80 | } | 76 | case AG: |
190 | 81 | case AG:{ | ||
192 | 82 | jj_consume_token(AG); | 77 | jj_consume_token(AG); |
193 | 83 | child = OrExpr(); | 78 | child = OrExpr(); |
195 | 84 | {if ("" != null) return new TCTLAGNode(child);} | 79 | {if (true) return new TCTLAGNode(child);} |
196 | 85 | break; | 80 | break; |
199 | 86 | } | 81 | case A: |
198 | 87 | case A:{ | ||
200 | 88 | jj_consume_token(A); | 82 | jj_consume_token(A); |
201 | 89 | jj_consume_token(26); | 83 | jj_consume_token(26); |
202 | 90 | child = OrExpr(); | 84 | child = OrExpr(); |
203 | 91 | jj_consume_token(U); | 85 | jj_consume_token(U); |
204 | 92 | child2 = OrExpr(); | 86 | child2 = OrExpr(); |
205 | 93 | jj_consume_token(27); | 87 | jj_consume_token(27); |
207 | 94 | {if ("" != null) return new TCTLAUNode(child, child2);} | 88 | {if (true) return new TCTLAUNode(child, child2);} |
208 | 95 | break; | 89 | break; |
211 | 96 | } | 90 | case AX: |
210 | 97 | case AX:{ | ||
212 | 98 | jj_consume_token(AX); | 91 | jj_consume_token(AX); |
213 | 99 | child = OrExpr(); | 92 | child = OrExpr(); |
215 | 100 | {if ("" != null) return new TCTLAXNode(child);} | 93 | {if (true) return new TCTLAXNode(child);} |
216 | 101 | break; | 94 | break; |
217 | 102 | } | ||
218 | 103 | default: | 95 | default: |
219 | 104 | jj_la1[0] = jj_gen; | 96 | jj_la1[0] = jj_gen; |
220 | 105 | child = OrExpr(); | 97 | child = OrExpr(); |
222 | 106 | {if ("" != null) return new TCTLStateToPathConverter(child);} | 98 | {if (true) return new TCTLStateToPathConverter(child);} |
223 | 107 | } | 99 | } |
224 | 108 | throw new Error("Missing return statement in function"); | 100 | throw new Error("Missing return statement in function"); |
226 | 109 | } | 101 | } |
227 | 110 | 102 | ||
229 | 111 | final public TCTLAbstractStateProperty OrExpr() throws ParseException {TCTLAbstractStateProperty currentChild; | 103 | final public TCTLAbstractStateProperty OrExpr() throws ParseException { |
230 | 104 | TCTLAbstractStateProperty currentChild; | ||
231 | 112 | ArrayList<TCTLAbstractStateProperty> disjunctions = new ArrayList<TCTLAbstractStateProperty>(); | 105 | ArrayList<TCTLAbstractStateProperty> disjunctions = new ArrayList<TCTLAbstractStateProperty>(); |
232 | 113 | currentChild = AndExpr(); | 106 | currentChild = AndExpr(); |
234 | 114 | disjunctions.add(currentChild); | 107 | disjunctions.add(currentChild); |
235 | 115 | label_1: | 108 | label_1: |
236 | 116 | while (true) { | 109 | while (true) { |
239 | 117 | switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { | 110 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
240 | 118 | case OR:{ | 111 | case OR: |
241 | 119 | ; | 112 | ; |
242 | 120 | break; | 113 | break; |
243 | 121 | } | ||
244 | 122 | default: | 114 | default: |
245 | 123 | jj_la1[1] = jj_gen; | 115 | jj_la1[1] = jj_gen; |
246 | 124 | break label_1; | 116 | break label_1; |
247 | 125 | } | 117 | } |
248 | 126 | jj_consume_token(OR); | 118 | jj_consume_token(OR); |
249 | 127 | currentChild = AndExpr(); | 119 | currentChild = AndExpr(); |
251 | 128 | disjunctions.add(currentChild); | 120 | disjunctions.add(currentChild); |
252 | 129 | } | 121 | } |
254 | 130 | {if ("" != null) return disjunctions.size() == 1 ? currentChild : new TCTLOrListNode(disjunctions);} | 122 | {if (true) return disjunctions.size() == 1 ? currentChild : new TCTLOrListNode(disjunctions);} |
255 | 131 | throw new Error("Missing return statement in function"); | 123 | throw new Error("Missing return statement in function"); |
257 | 132 | } | 124 | } |
258 | 133 | 125 | ||
260 | 134 | final public TCTLAbstractStateProperty AndExpr() throws ParseException {TCTLAbstractStateProperty currentChild; | 126 | final public TCTLAbstractStateProperty AndExpr() throws ParseException { |
261 | 127 | TCTLAbstractStateProperty currentChild; | ||
262 | 135 | ArrayList<TCTLAbstractStateProperty> conjunctions = new ArrayList<TCTLAbstractStateProperty>(); | 128 | ArrayList<TCTLAbstractStateProperty> conjunctions = new ArrayList<TCTLAbstractStateProperty>(); |
263 | 136 | currentChild = NotExpr(); | 129 | currentChild = NotExpr(); |
265 | 137 | conjunctions.add(currentChild); | 130 | conjunctions.add(currentChild); |
266 | 138 | label_2: | 131 | label_2: |
267 | 139 | while (true) { | 132 | while (true) { |
270 | 140 | switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { | 133 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
271 | 141 | case AND:{ | 134 | case AND: |
272 | 142 | ; | 135 | ; |
273 | 143 | break; | 136 | break; |
274 | 144 | } | ||
275 | 145 | default: | 137 | default: |
276 | 146 | jj_la1[2] = jj_gen; | 138 | jj_la1[2] = jj_gen; |
277 | 147 | break label_2; | 139 | break label_2; |
278 | 148 | } | 140 | } |
279 | 149 | jj_consume_token(AND); | 141 | jj_consume_token(AND); |
280 | 150 | currentChild = NotExpr(); | 142 | currentChild = NotExpr(); |
282 | 151 | conjunctions.add(currentChild); | 143 | conjunctions.add(currentChild); |
283 | 152 | } | 144 | } |
285 | 153 | {if ("" != null) return conjunctions.size() == 1 ? currentChild : new TCTLAndListNode(conjunctions);} | 145 | {if (true) return conjunctions.size() == 1 ? currentChild : new TCTLAndListNode(conjunctions);} |
286 | 154 | throw new Error("Missing return statement in function"); | 146 | throw new Error("Missing return statement in function"); |
288 | 155 | } | 147 | } |
289 | 156 | 148 | ||
291 | 157 | final public TCTLAbstractStateProperty NotExpr() throws ParseException {TCTLAbstractStateProperty child; | 149 | final public TCTLAbstractStateProperty NotExpr() throws ParseException { |
292 | 150 | TCTLAbstractStateProperty child; | ||
293 | 158 | TCTLAbstractPathProperty childConverter; | 151 | TCTLAbstractPathProperty childConverter; |
296 | 159 | switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { | 152 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
297 | 160 | case NOT:{ | 153 | case NOT: |
298 | 161 | jj_consume_token(NOT); | 154 | jj_consume_token(NOT); |
299 | 162 | jj_consume_token(26); | 155 | jj_consume_token(26); |
300 | 163 | child = OrExpr(); | 156 | child = OrExpr(); |
301 | 164 | jj_consume_token(27); | 157 | jj_consume_token(27); |
303 | 165 | {if ("" != null) return new TCTLNotNode(child);} | 158 | {if (true) return new TCTLNotNode(child);} |
304 | 166 | break; | 159 | break; |
305 | 167 | } | ||
306 | 168 | default: | 160 | default: |
307 | 169 | jj_la1[3] = jj_gen; | 161 | jj_la1[3] = jj_gen; |
308 | 170 | child = Factor(); | 162 | child = Factor(); |
310 | 171 | {if ("" != null) return child;} | 163 | {if (true) return child;} |
311 | 172 | } | 164 | } |
312 | 173 | throw new Error("Missing return statement in function"); | 165 | throw new Error("Missing return statement in function"); |
314 | 174 | } | 166 | } |
315 | 175 | 167 | ||
317 | 176 | final public TCTLAbstractStateProperty Factor() throws ParseException {TCTLAbstractStateProperty thisProp; | 168 | final public TCTLAbstractStateProperty Factor() throws ParseException { |
318 | 169 | TCTLAbstractStateProperty thisProp; | ||
319 | 177 | Token temp = null; | 170 | Token temp = null; |
320 | 178 | Token transition; | 171 | Token transition; |
323 | 179 | switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { | 172 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
324 | 180 | case TRUE:{ | 173 | case TRUE: |
325 | 181 | jj_consume_token(TRUE); | 174 | jj_consume_token(TRUE); |
327 | 182 | thisProp = new TCTLTrueNode(); | 175 | thisProp = new TCTLTrueNode(); |
328 | 183 | break; | 176 | break; |
331 | 184 | } | 177 | case FALSE: |
330 | 185 | case FALSE:{ | ||
332 | 186 | jj_consume_token(FALSE); | 178 | jj_consume_token(FALSE); |
334 | 187 | thisProp = new TCTLFalseNode(); | 179 | thisProp = new TCTLFalseNode(); |
335 | 188 | break; | 180 | break; |
338 | 189 | } | 181 | case DEADLOCK: |
337 | 190 | case DEADLOCK:{ | ||
339 | 191 | jj_consume_token(DEADLOCK); | 182 | jj_consume_token(DEADLOCK); |
341 | 192 | thisProp = new TCTLDeadlockNode(); | 183 | thisProp = new TCTLDeadlockNode(); |
342 | 193 | break; | 184 | break; |
343 | 194 | } | ||
344 | 195 | default: | 185 | default: |
345 | 196 | jj_la1[4] = jj_gen; | 186 | jj_la1[4] = jj_gen; |
346 | 197 | if (jj_2_2(2147483647)) { | 187 | if (jj_2_2(2147483647)) { |
347 | 198 | thisProp = AtomicProposition(); | 188 | thisProp = AtomicProposition(); |
348 | 199 | } else { | 189 | } else { |
351 | 200 | switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { | 190 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
352 | 201 | case IDENT:{ | 191 | case IDENT: |
353 | 202 | if (jj_2_1(2)) { | 192 | if (jj_2_1(2)) { |
354 | 203 | temp = jj_consume_token(IDENT); | 193 | temp = jj_consume_token(IDENT); |
355 | 204 | jj_consume_token(28); | 194 | jj_consume_token(28); |
356 | @@ -206,117 +196,117 @@ | |||
357 | 206 | ; | 196 | ; |
358 | 207 | } | 197 | } |
359 | 208 | transition = jj_consume_token(IDENT); | 198 | transition = jj_consume_token(IDENT); |
361 | 209 | thisProp = new TCTLTransitionNode(temp == null ? "" : temp.image, transition.image); | 199 | thisProp = new TCTLTransitionNode(temp == null ? "" : temp.image, transition.image); |
362 | 210 | break; | 200 | break; |
365 | 211 | } | 201 | case 26: |
364 | 212 | case 26:{ | ||
366 | 213 | jj_consume_token(26); | 202 | jj_consume_token(26); |
367 | 214 | thisProp = OrExpr(); | 203 | thisProp = OrExpr(); |
368 | 215 | jj_consume_token(27); | 204 | jj_consume_token(27); |
369 | 216 | break; | 205 | break; |
370 | 217 | } | ||
371 | 218 | default: | 206 | default: |
372 | 219 | jj_la1[5] = jj_gen; | 207 | jj_la1[5] = jj_gen; |
374 | 220 | thisProp = new TCTLPathToStateConverter(AbstractPathProperty()); | 208 | thisProp = new TCTLPathToStateConverter(AbstractPathProperty()); |
375 | 221 | } | 209 | } |
376 | 222 | } | 210 | } |
377 | 223 | } | 211 | } |
379 | 224 | {if ("" != null) return thisProp;} | 212 | {if (true) return thisProp;} |
380 | 225 | throw new Error("Missing return statement in function"); | 213 | throw new Error("Missing return statement in function"); |
382 | 226 | } | 214 | } |
383 | 227 | 215 | ||
385 | 228 | final public TCTLAbstractStateProperty AtomicProposition() throws ParseException {TCTLAbstractStateProperty left; | 216 | final public TCTLAbstractStateProperty AtomicProposition() throws ParseException { |
386 | 217 | TCTLAbstractStateProperty left; | ||
387 | 229 | TCTLAbstractStateProperty right; | 218 | TCTLAbstractStateProperty right; |
388 | 230 | Token op; | 219 | Token op; |
389 | 231 | left = AritmeticExpr(); | 220 | left = AritmeticExpr(); |
390 | 232 | op = jj_consume_token(OP); | 221 | op = jj_consume_token(OP); |
391 | 233 | right = AritmeticExpr(); | 222 | right = AritmeticExpr(); |
393 | 234 | {if ("" != null) return new TCTLAtomicPropositionNode(left, op.image, right);} | 223 | {if (true) return new TCTLAtomicPropositionNode(left, op.image, right);} |
394 | 235 | throw new Error("Missing return statement in function"); | 224 | throw new Error("Missing return statement in function"); |
396 | 236 | } | 225 | } |
397 | 237 | 226 | ||
399 | 238 | final public TCTLAbstractStateProperty AritmeticExpr() throws ParseException {TCTLAbstractStateProperty currentChild; | 227 | final public TCTLAbstractStateProperty AritmeticExpr() throws ParseException { |
400 | 228 | TCTLAbstractStateProperty currentChild; | ||
401 | 239 | ArrayList<TCTLAbstractStateProperty> terms = new ArrayList<TCTLAbstractStateProperty>(); | 229 | ArrayList<TCTLAbstractStateProperty> terms = new ArrayList<TCTLAbstractStateProperty>(); |
402 | 240 | Token op; | 230 | Token op; |
403 | 241 | currentChild = AritmeticMinusExpr(); | 231 | currentChild = AritmeticMinusExpr(); |
405 | 242 | terms.add(currentChild); | 232 | terms.add(currentChild); |
406 | 243 | label_3: | 233 | label_3: |
407 | 244 | while (true) { | 234 | while (true) { |
410 | 245 | switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { | 235 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
411 | 246 | case PLUS:{ | 236 | case PLUS: |
412 | 247 | ; | 237 | ; |
413 | 248 | break; | 238 | break; |
414 | 249 | } | ||
415 | 250 | default: | 239 | default: |
416 | 251 | jj_la1[6] = jj_gen; | 240 | jj_la1[6] = jj_gen; |
417 | 252 | break label_3; | 241 | break label_3; |
418 | 253 | } | 242 | } |
419 | 254 | op = jj_consume_token(PLUS); | 243 | op = jj_consume_token(PLUS); |
420 | 255 | currentChild = AritmeticMinusExpr(); | 244 | currentChild = AritmeticMinusExpr(); |
422 | 256 | terms.add(new AritmeticOperator(op.image)); | 245 | terms.add(new AritmeticOperator(op.image)); |
423 | 257 | terms.add(currentChild); | 246 | terms.add(currentChild); |
424 | 258 | } | 247 | } |
426 | 259 | {if ("" != null) return terms.size() == 1 ? currentChild : new TCTLTermListNode(terms);} | 248 | {if (true) return terms.size() == 1 ? currentChild : new TCTLTermListNode(terms);} |
427 | 260 | throw new Error("Missing return statement in function"); | 249 | throw new Error("Missing return statement in function"); |
429 | 261 | } | 250 | } |
430 | 262 | 251 | ||
432 | 263 | final public TCTLAbstractStateProperty AritmeticMinusExpr() throws ParseException {TCTLAbstractStateProperty currentChild; | 252 | final public TCTLAbstractStateProperty AritmeticMinusExpr() throws ParseException { |
433 | 253 | TCTLAbstractStateProperty currentChild; | ||
434 | 264 | ArrayList<TCTLAbstractStateProperty> terms = new ArrayList<TCTLAbstractStateProperty>(); | 254 | ArrayList<TCTLAbstractStateProperty> terms = new ArrayList<TCTLAbstractStateProperty>(); |
435 | 265 | Token op; | 255 | Token op; |
436 | 266 | currentChild = AritmeticTerm(); | 256 | currentChild = AritmeticTerm(); |
438 | 267 | terms.add(currentChild); | 257 | terms.add(currentChild); |
439 | 268 | label_4: | 258 | label_4: |
440 | 269 | while (true) { | 259 | while (true) { |
443 | 270 | switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { | 260 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
444 | 271 | case MINUS:{ | 261 | case MINUS: |
445 | 272 | ; | 262 | ; |
446 | 273 | break; | 263 | break; |
447 | 274 | } | ||
448 | 275 | default: | 264 | default: |
449 | 276 | jj_la1[7] = jj_gen; | 265 | jj_la1[7] = jj_gen; |
450 | 277 | break label_4; | 266 | break label_4; |
451 | 278 | } | 267 | } |
452 | 279 | op = jj_consume_token(MINUS); | 268 | op = jj_consume_token(MINUS); |
453 | 280 | currentChild = AritmeticTerm(); | 269 | currentChild = AritmeticTerm(); |
455 | 281 | terms.add(new AritmeticOperator(op.image)); | 270 | terms.add(new AritmeticOperator(op.image)); |
456 | 282 | terms.add(currentChild); | 271 | terms.add(currentChild); |
457 | 283 | } | 272 | } |
459 | 284 | {if ("" != null) return terms.size() == 1 ? currentChild : new TCTLTermListNode(terms);} | 273 | {if (true) return terms.size() == 1 ? currentChild : new TCTLTermListNode(terms);} |
460 | 285 | throw new Error("Missing return statement in function"); | 274 | throw new Error("Missing return statement in function"); |
462 | 286 | } | 275 | } |
463 | 287 | 276 | ||
465 | 288 | final public TCTLAbstractStateProperty AritmeticTerm() throws ParseException {TCTLAbstractStateProperty currentChild; | 277 | final public TCTLAbstractStateProperty AritmeticTerm() throws ParseException { |
466 | 278 | TCTLAbstractStateProperty currentChild; | ||
467 | 289 | ArrayList<TCTLAbstractStateProperty> factors = new ArrayList<TCTLAbstractStateProperty>(); | 279 | ArrayList<TCTLAbstractStateProperty> factors = new ArrayList<TCTLAbstractStateProperty>(); |
468 | 290 | Token op; | 280 | Token op; |
469 | 291 | currentChild = AritmeticFactor(); | 281 | currentChild = AritmeticFactor(); |
471 | 292 | factors.add(currentChild); | 282 | factors.add(currentChild); |
472 | 293 | label_5: | 283 | label_5: |
473 | 294 | while (true) { | 284 | while (true) { |
476 | 295 | switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { | 285 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
477 | 296 | case MULT:{ | 286 | case MULT: |
478 | 297 | ; | 287 | ; |
479 | 298 | break; | 288 | break; |
480 | 299 | } | ||
481 | 300 | default: | 289 | default: |
482 | 301 | jj_la1[8] = jj_gen; | 290 | jj_la1[8] = jj_gen; |
483 | 302 | break label_5; | 291 | break label_5; |
484 | 303 | } | 292 | } |
485 | 304 | op = jj_consume_token(MULT); | 293 | op = jj_consume_token(MULT); |
486 | 305 | currentChild = AritmeticFactor(); | 294 | currentChild = AritmeticFactor(); |
488 | 306 | factors.add(new AritmeticOperator(op.image)); | 295 | factors.add(new AritmeticOperator(op.image)); |
489 | 307 | factors.add(currentChild); | 296 | factors.add(currentChild); |
490 | 308 | } | 297 | } |
492 | 309 | {if ("" != null) return factors.size() == 1 ? currentChild : new TCTLTermListNode(factors);} | 298 | {if (true) return factors.size() == 1 ? currentChild : new TCTLTermListNode(factors);} |
493 | 310 | throw new Error("Missing return statement in function"); | 299 | throw new Error("Missing return statement in function"); |
495 | 311 | } | 300 | } |
496 | 312 | 301 | ||
498 | 313 | final public TCTLAbstractStateProperty AritmeticFactor() throws ParseException {TCTLAbstractStateProperty thisProp; | 302 | final public TCTLAbstractStateProperty AritmeticFactor() throws ParseException { |
499 | 303 | TCTLAbstractStateProperty thisProp; | ||
500 | 314 | Token temp = null; | 304 | Token temp = null; |
501 | 315 | Token place; | 305 | Token place; |
502 | 316 | Token op; | 306 | Token op; |
503 | 317 | Token num; | 307 | Token num; |
506 | 318 | switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { | 308 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
507 | 319 | case IDENT:{ | 309 | case IDENT: |
508 | 320 | if (jj_2_3(2)) { | 310 | if (jj_2_3(2)) { |
509 | 321 | temp = jj_consume_token(IDENT); | 311 | temp = jj_consume_token(IDENT); |
510 | 322 | jj_consume_token(28); | 312 | jj_consume_token(28); |
511 | @@ -324,90 +314,78 @@ | |||
512 | 324 | ; | 314 | ; |
513 | 325 | } | 315 | } |
514 | 326 | place = jj_consume_token(IDENT); | 316 | place = jj_consume_token(IDENT); |
516 | 327 | thisProp = new TCTLPlaceNode(temp == null ? "" : temp.image, place.image); | 317 | thisProp = new TCTLPlaceNode(temp == null ? "" : temp.image, place.image); |
517 | 328 | break; | 318 | break; |
520 | 329 | } | 319 | case NUM: |
519 | 330 | case NUM:{ | ||
521 | 331 | num = jj_consume_token(NUM); | 320 | num = jj_consume_token(NUM); |
523 | 332 | thisProp = new TCTLConstNode(Integer.parseInt(num.image)); | 321 | thisProp = new TCTLConstNode(Integer.parseInt(num.image)); |
524 | 333 | break; | 322 | break; |
527 | 334 | } | 323 | case 26: |
526 | 335 | case 26:{ | ||
528 | 336 | jj_consume_token(26); | 324 | jj_consume_token(26); |
529 | 337 | thisProp = AritmeticExpr(); | 325 | thisProp = AritmeticExpr(); |
530 | 338 | jj_consume_token(27); | 326 | jj_consume_token(27); |
531 | 339 | break; | 327 | break; |
532 | 340 | } | ||
533 | 341 | default: | 328 | default: |
534 | 342 | jj_la1[9] = jj_gen; | 329 | jj_la1[9] = jj_gen; |
535 | 343 | jj_consume_token(-1); | 330 | jj_consume_token(-1); |
536 | 344 | throw new ParseException(); | 331 | throw new ParseException(); |
537 | 345 | } | 332 | } |
539 | 346 | {if ("" != null) return thisProp;} | 333 | {if (true) return thisProp;} |
540 | 347 | throw new Error("Missing return statement in function"); | 334 | throw new Error("Missing return statement in function"); |
542 | 348 | } | 335 | } |
543 | 349 | 336 | ||
546 | 350 | private boolean jj_2_1(int xla) | 337 | private boolean jj_2_1(int xla) { |
545 | 351 | { | ||
547 | 352 | jj_la = xla; jj_lastpos = jj_scanpos = token; | 338 | jj_la = xla; jj_lastpos = jj_scanpos = token; |
549 | 353 | try { return (!jj_3_1()); } | 339 | try { return !jj_3_1(); } |
550 | 354 | catch(LookaheadSuccess ls) { return true; } | 340 | catch(LookaheadSuccess ls) { return true; } |
551 | 355 | finally { jj_save(0, xla); } | 341 | finally { jj_save(0, xla); } |
552 | 356 | } | 342 | } |
553 | 357 | 343 | ||
556 | 358 | private boolean jj_2_2(int xla) | 344 | private boolean jj_2_2(int xla) { |
555 | 359 | { | ||
557 | 360 | jj_la = xla; jj_lastpos = jj_scanpos = token; | 345 | jj_la = xla; jj_lastpos = jj_scanpos = token; |
559 | 361 | try { return (!jj_3_2()); } | 346 | try { return !jj_3_2(); } |
560 | 362 | catch(LookaheadSuccess ls) { return true; } | 347 | catch(LookaheadSuccess ls) { return true; } |
561 | 363 | finally { jj_save(1, xla); } | 348 | finally { jj_save(1, xla); } |
562 | 364 | } | 349 | } |
563 | 365 | 350 | ||
566 | 366 | private boolean jj_2_3(int xla) | 351 | private boolean jj_2_3(int xla) { |
565 | 367 | { | ||
567 | 368 | jj_la = xla; jj_lastpos = jj_scanpos = token; | 352 | jj_la = xla; jj_lastpos = jj_scanpos = token; |
569 | 369 | try { return (!jj_3_3()); } | 353 | try { return !jj_3_3(); } |
570 | 370 | catch(LookaheadSuccess ls) { return true; } | 354 | catch(LookaheadSuccess ls) { return true; } |
571 | 371 | finally { jj_save(2, xla); } | 355 | finally { jj_save(2, xla); } |
572 | 372 | } | 356 | } |
573 | 373 | 357 | ||
576 | 374 | private boolean jj_3R_16() | 358 | private boolean jj_3R_16() { |
575 | 375 | { | ||
577 | 376 | if (jj_scan_token(26)) return true; | 359 | if (jj_scan_token(26)) return true; |
578 | 377 | if (jj_3R_7()) return true; | 360 | if (jj_3R_7()) return true; |
579 | 378 | if (jj_scan_token(27)) return true; | 361 | if (jj_scan_token(27)) return true; |
580 | 379 | return false; | 362 | return false; |
581 | 380 | } | 363 | } |
582 | 381 | 364 | ||
585 | 382 | private boolean jj_3R_13() | 365 | private boolean jj_3R_13() { |
584 | 383 | { | ||
586 | 384 | if (jj_scan_token(MULT)) return true; | 366 | if (jj_scan_token(MULT)) return true; |
587 | 385 | if (jj_3R_12()) return true; | 367 | if (jj_3R_12()) return true; |
588 | 386 | return false; | 368 | return false; |
589 | 387 | } | 369 | } |
590 | 388 | 370 | ||
593 | 389 | private boolean jj_3_1() | 371 | private boolean jj_3_1() { |
592 | 390 | { | ||
594 | 391 | if (jj_scan_token(IDENT)) return true; | 372 | if (jj_scan_token(IDENT)) return true; |
595 | 392 | if (jj_scan_token(28)) return true; | 373 | if (jj_scan_token(28)) return true; |
596 | 393 | return false; | 374 | return false; |
597 | 394 | } | 375 | } |
598 | 395 | 376 | ||
601 | 396 | private boolean jj_3R_15() | 377 | private boolean jj_3R_15() { |
600 | 397 | { | ||
602 | 398 | if (jj_scan_token(NUM)) return true; | 378 | if (jj_scan_token(NUM)) return true; |
603 | 399 | return false; | 379 | return false; |
604 | 400 | } | 380 | } |
605 | 401 | 381 | ||
608 | 402 | private boolean jj_3_3() | 382 | private boolean jj_3_3() { |
607 | 403 | { | ||
609 | 404 | if (jj_scan_token(IDENT)) return true; | 383 | if (jj_scan_token(IDENT)) return true; |
610 | 405 | if (jj_scan_token(28)) return true; | 384 | if (jj_scan_token(28)) return true; |
611 | 406 | return false; | 385 | return false; |
612 | 407 | } | 386 | } |
613 | 408 | 387 | ||
616 | 409 | private boolean jj_3R_7() | 388 | private boolean jj_3R_7() { |
615 | 410 | { | ||
617 | 411 | if (jj_3R_8()) return true; | 389 | if (jj_3R_8()) return true; |
618 | 412 | Token xsp; | 390 | Token xsp; |
619 | 413 | while (true) { | 391 | while (true) { |
620 | @@ -417,8 +395,7 @@ | |||
621 | 417 | return false; | 395 | return false; |
622 | 418 | } | 396 | } |
623 | 419 | 397 | ||
626 | 420 | private boolean jj_3R_14() | 398 | private boolean jj_3R_14() { |
625 | 421 | { | ||
627 | 422 | Token xsp; | 399 | Token xsp; |
628 | 423 | xsp = jj_scanpos; | 400 | xsp = jj_scanpos; |
629 | 424 | if (jj_3_3()) jj_scanpos = xsp; | 401 | if (jj_3_3()) jj_scanpos = xsp; |
630 | @@ -426,8 +403,7 @@ | |||
631 | 426 | return false; | 403 | return false; |
632 | 427 | } | 404 | } |
633 | 428 | 405 | ||
636 | 429 | private boolean jj_3R_8() | 406 | private boolean jj_3R_8() { |
635 | 430 | { | ||
637 | 431 | if (jj_3R_10()) return true; | 407 | if (jj_3R_10()) return true; |
638 | 432 | Token xsp; | 408 | Token xsp; |
639 | 433 | while (true) { | 409 | while (true) { |
640 | @@ -437,8 +413,7 @@ | |||
641 | 437 | return false; | 413 | return false; |
642 | 438 | } | 414 | } |
643 | 439 | 415 | ||
646 | 440 | private boolean jj_3R_10() | 416 | private boolean jj_3R_10() { |
645 | 441 | { | ||
647 | 442 | if (jj_3R_12()) return true; | 417 | if (jj_3R_12()) return true; |
648 | 443 | Token xsp; | 418 | Token xsp; |
649 | 444 | while (true) { | 419 | while (true) { |
650 | @@ -448,8 +423,7 @@ | |||
651 | 448 | return false; | 423 | return false; |
652 | 449 | } | 424 | } |
653 | 450 | 425 | ||
656 | 451 | private boolean jj_3R_12() | 426 | private boolean jj_3R_12() { |
655 | 452 | { | ||
657 | 453 | Token xsp; | 427 | Token xsp; |
658 | 454 | xsp = jj_scanpos; | 428 | xsp = jj_scanpos; |
659 | 455 | if (jj_3R_14()) { | 429 | if (jj_3R_14()) { |
660 | @@ -462,29 +436,25 @@ | |||
661 | 462 | return false; | 436 | return false; |
662 | 463 | } | 437 | } |
663 | 464 | 438 | ||
666 | 465 | private boolean jj_3R_9() | 439 | private boolean jj_3R_9() { |
665 | 466 | { | ||
667 | 467 | if (jj_scan_token(PLUS)) return true; | 440 | if (jj_scan_token(PLUS)) return true; |
668 | 468 | if (jj_3R_8()) return true; | 441 | if (jj_3R_8()) return true; |
669 | 469 | return false; | 442 | return false; |
670 | 470 | } | 443 | } |
671 | 471 | 444 | ||
674 | 472 | private boolean jj_3_2() | 445 | private boolean jj_3_2() { |
673 | 473 | { | ||
675 | 474 | if (jj_3R_6()) return true; | 446 | if (jj_3R_6()) return true; |
676 | 475 | return false; | 447 | return false; |
677 | 476 | } | 448 | } |
678 | 477 | 449 | ||
681 | 478 | private boolean jj_3R_6() | 450 | private boolean jj_3R_6() { |
680 | 479 | { | ||
682 | 480 | if (jj_3R_7()) return true; | 451 | if (jj_3R_7()) return true; |
683 | 481 | if (jj_scan_token(OP)) return true; | 452 | if (jj_scan_token(OP)) return true; |
684 | 482 | if (jj_3R_7()) return true; | 453 | if (jj_3R_7()) return true; |
685 | 483 | return false; | 454 | return false; |
686 | 484 | } | 455 | } |
687 | 485 | 456 | ||
690 | 486 | private boolean jj_3R_11() | 457 | private boolean jj_3R_11() { |
689 | 487 | { | ||
691 | 488 | if (jj_scan_token(MINUS)) return true; | 458 | if (jj_scan_token(MINUS)) return true; |
692 | 489 | if (jj_3R_10()) return true; | 459 | if (jj_3R_10()) return true; |
693 | 490 | return false; | 460 | return false; |
694 | @@ -504,168 +474,159 @@ | |||
695 | 504 | final private int[] jj_la1 = new int[10]; | 474 | final private int[] jj_la1 = new int[10]; |
696 | 505 | static private int[] jj_la1_0; | 475 | static private int[] jj_la1_0; |
697 | 506 | static { | 476 | static { |
703 | 507 | jj_la1_init_0(); | 477 | jj_la1_init_0(); |
704 | 508 | } | 478 | } |
705 | 509 | private static void jj_la1_init_0() { | 479 | private static void jj_la1_init_0() { |
706 | 510 | jj_la1_0 = new int[] {0x1ef0,0x2000,0x4000,0x8000,0xe,0x4100000,0x10000,0x20000,0x40000,0x4180000,}; | 480 | jj_la1_0 = new int[] {0x1ef0,0x2000,0x4000,0x8000,0xe,0x4100000,0x10000,0x20000,0x40000,0x4180000,}; |
707 | 511 | } | 481 | } |
708 | 512 | final private JJCalls[] jj_2_rtns = new JJCalls[3]; | 482 | final private JJCalls[] jj_2_rtns = new JJCalls[3]; |
709 | 513 | private boolean jj_rescan = false; | 483 | private boolean jj_rescan = false; |
710 | 514 | private int jj_gc = 0; | 484 | private int jj_gc = 0; |
711 | 515 | 485 | ||
712 | 516 | /** Constructor with InputStream. */ | 486 | /** Constructor with InputStream. */ |
713 | 517 | public TAPAALCTLQueryParser(java.io.InputStream stream) { | 487 | public TAPAALCTLQueryParser(java.io.InputStream stream) { |
715 | 518 | this(stream, null); | 488 | this(stream, null); |
716 | 519 | } | 489 | } |
717 | 520 | /** Constructor with InputStream and supplied encoding */ | 490 | /** Constructor with InputStream and supplied encoding */ |
718 | 521 | public TAPAALCTLQueryParser(java.io.InputStream stream, String encoding) { | 491 | public TAPAALCTLQueryParser(java.io.InputStream stream, String encoding) { |
726 | 522 | try { jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } | 492 | try { jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } |
727 | 523 | token_source = new TAPAALCTLQueryParserTokenManager(jj_input_stream); | 493 | token_source = new TAPAALCTLQueryParserTokenManager(jj_input_stream); |
728 | 524 | token = new Token(); | 494 | token = new Token(); |
729 | 525 | jj_ntk = -1; | 495 | jj_ntk = -1; |
730 | 526 | jj_gen = 0; | 496 | jj_gen = 0; |
731 | 527 | for (int i = 0; i < 10; i++) jj_la1[i] = -1; | 497 | for (int i = 0; i < 10; i++) jj_la1[i] = -1; |
732 | 528 | for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); | 498 | for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); |
733 | 529 | } | 499 | } |
734 | 530 | 500 | ||
735 | 531 | /** Reinitialise. */ | 501 | /** Reinitialise. */ |
736 | 532 | public void ReInit(java.io.InputStream stream) { | 502 | public void ReInit(java.io.InputStream stream) { |
738 | 533 | ReInit(stream, null); | 503 | ReInit(stream, null); |
739 | 534 | } | 504 | } |
740 | 535 | /** Reinitialise. */ | 505 | /** Reinitialise. */ |
741 | 536 | public void ReInit(java.io.InputStream stream, String encoding) { | 506 | public void ReInit(java.io.InputStream stream, String encoding) { |
749 | 537 | try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } | 507 | try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } |
750 | 538 | token_source.ReInit(jj_input_stream); | 508 | token_source.ReInit(jj_input_stream); |
751 | 539 | token = new Token(); | 509 | token = new Token(); |
752 | 540 | jj_ntk = -1; | 510 | jj_ntk = -1; |
753 | 541 | jj_gen = 0; | 511 | jj_gen = 0; |
754 | 542 | for (int i = 0; i < 10; i++) jj_la1[i] = -1; | 512 | for (int i = 0; i < 10; i++) jj_la1[i] = -1; |
755 | 543 | for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); | 513 | for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); |
756 | 544 | } | 514 | } |
757 | 545 | 515 | ||
758 | 546 | /** Constructor. */ | 516 | /** Constructor. */ |
759 | 547 | public TAPAALCTLQueryParser(java.io.Reader stream) { | 517 | public TAPAALCTLQueryParser(java.io.Reader stream) { |
767 | 548 | jj_input_stream = new SimpleCharStream(stream, 1, 1); | 518 | jj_input_stream = new SimpleCharStream(stream, 1, 1); |
768 | 549 | token_source = new TAPAALCTLQueryParserTokenManager(jj_input_stream); | 519 | token_source = new TAPAALCTLQueryParserTokenManager(jj_input_stream); |
769 | 550 | token = new Token(); | 520 | token = new Token(); |
770 | 551 | jj_ntk = -1; | 521 | jj_ntk = -1; |
771 | 552 | jj_gen = 0; | 522 | jj_gen = 0; |
772 | 553 | for (int i = 0; i < 10; i++) jj_la1[i] = -1; | 523 | for (int i = 0; i < 10; i++) jj_la1[i] = -1; |
773 | 554 | for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); | 524 | for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); |
774 | 555 | } | 525 | } |
775 | 556 | 526 | ||
776 | 557 | /** Reinitialise. */ | 527 | /** Reinitialise. */ |
777 | 558 | public void ReInit(java.io.Reader stream) { | 528 | public void ReInit(java.io.Reader stream) { |
793 | 559 | if (jj_input_stream == null) { | 529 | jj_input_stream.ReInit(stream, 1, 1); |
794 | 560 | jj_input_stream = new SimpleCharStream(stream, 1, 1); | 530 | token_source.ReInit(jj_input_stream); |
795 | 561 | } else { | 531 | token = new Token(); |
796 | 562 | jj_input_stream.ReInit(stream, 1, 1); | 532 | jj_ntk = -1; |
797 | 563 | } | 533 | jj_gen = 0; |
798 | 564 | if (token_source == null) { | 534 | for (int i = 0; i < 10; i++) jj_la1[i] = -1; |
799 | 565 | token_source = new TAPAALCTLQueryParserTokenManager(jj_input_stream); | 535 | for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); |
785 | 566 | } | ||
786 | 567 | |||
787 | 568 | token_source.ReInit(jj_input_stream); | ||
788 | 569 | token = new Token(); | ||
789 | 570 | jj_ntk = -1; | ||
790 | 571 | jj_gen = 0; | ||
791 | 572 | for (int i = 0; i < 10; i++) jj_la1[i] = -1; | ||
792 | 573 | for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); | ||
800 | 574 | } | 536 | } |
801 | 575 | 537 | ||
802 | 576 | /** Constructor with generated Token Manager. */ | 538 | /** Constructor with generated Token Manager. */ |
803 | 577 | public TAPAALCTLQueryParser(TAPAALCTLQueryParserTokenManager tm) { | 539 | public TAPAALCTLQueryParser(TAPAALCTLQueryParserTokenManager tm) { |
810 | 578 | token_source = tm; | 540 | token_source = tm; |
811 | 579 | token = new Token(); | 541 | token = new Token(); |
812 | 580 | jj_ntk = -1; | 542 | jj_ntk = -1; |
813 | 581 | jj_gen = 0; | 543 | jj_gen = 0; |
814 | 582 | for (int i = 0; i < 10; i++) jj_la1[i] = -1; | 544 | for (int i = 0; i < 10; i++) jj_la1[i] = -1; |
815 | 583 | for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); | 545 | for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); |
816 | 584 | } | 546 | } |
817 | 585 | 547 | ||
818 | 586 | /** Reinitialise. */ | 548 | /** Reinitialise. */ |
819 | 587 | public void ReInit(TAPAALCTLQueryParserTokenManager tm) { | 549 | public void ReInit(TAPAALCTLQueryParserTokenManager tm) { |
826 | 588 | token_source = tm; | 550 | token_source = tm; |
827 | 589 | token = new Token(); | 551 | token = new Token(); |
828 | 590 | jj_ntk = -1; | 552 | jj_ntk = -1; |
829 | 591 | jj_gen = 0; | 553 | jj_gen = 0; |
830 | 592 | for (int i = 0; i < 10; i++) jj_la1[i] = -1; | 554 | for (int i = 0; i < 10; i++) jj_la1[i] = -1; |
831 | 593 | for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); | 555 | for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); |
832 | 594 | } | 556 | } |
833 | 595 | 557 | ||
834 | 596 | private Token jj_consume_token(int kind) throws ParseException { | 558 | private Token jj_consume_token(int kind) throws ParseException { |
856 | 597 | Token oldToken; | 559 | Token oldToken; |
857 | 598 | if ((oldToken = token).next != null) token = token.next; | 560 | if ((oldToken = token).next != null) token = token.next; |
858 | 599 | else token = token.next = token_source.getNextToken(); | 561 | else token = token.next = token_source.getNextToken(); |
859 | 600 | jj_ntk = -1; | 562 | jj_ntk = -1; |
860 | 601 | if (token.kind == kind) { | 563 | if (token.kind == kind) { |
861 | 602 | jj_gen++; | 564 | jj_gen++; |
862 | 603 | if (++jj_gc > 100) { | 565 | if (++jj_gc > 100) { |
863 | 604 | jj_gc = 0; | 566 | jj_gc = 0; |
864 | 605 | for (int i = 0; i < jj_2_rtns.length; i++) { | 567 | for (int i = 0; i < jj_2_rtns.length; i++) { |
865 | 606 | JJCalls c = jj_2_rtns[i]; | 568 | JJCalls c = jj_2_rtns[i]; |
866 | 607 | while (c != null) { | 569 | while (c != null) { |
867 | 608 | if (c.gen < jj_gen) c.first = null; | 570 | if (c.gen < jj_gen) c.first = null; |
868 | 609 | c = c.next; | 571 | c = c.next; |
869 | 610 | } | 572 | } |
870 | 611 | } | 573 | } |
871 | 612 | } | 574 | } |
872 | 613 | return token; | 575 | return token; |
873 | 614 | } | 576 | } |
874 | 615 | token = oldToken; | 577 | token = oldToken; |
875 | 616 | jj_kind = kind; | 578 | jj_kind = kind; |
876 | 617 | throw generateParseException(); | 579 | throw generateParseException(); |
877 | 618 | } | 580 | } |
878 | 619 | 581 | ||
879 | 620 | @SuppressWarnings("serial") | ||
880 | 621 | static private final class LookaheadSuccess extends java.lang.Error { } | 582 | static private final class LookaheadSuccess extends java.lang.Error { } |
881 | 622 | final private LookaheadSuccess jj_ls = new LookaheadSuccess(); | 583 | final private LookaheadSuccess jj_ls = new LookaheadSuccess(); |
882 | 623 | private boolean jj_scan_token(int kind) { | 584 | private boolean jj_scan_token(int kind) { |
901 | 624 | if (jj_scanpos == jj_lastpos) { | 585 | if (jj_scanpos == jj_lastpos) { |
902 | 625 | jj_la--; | 586 | jj_la--; |
903 | 626 | if (jj_scanpos.next == null) { | 587 | if (jj_scanpos.next == null) { |
904 | 627 | jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken(); | 588 | jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken(); |
905 | 628 | } else { | 589 | } else { |
906 | 629 | jj_lastpos = jj_scanpos = jj_scanpos.next; | 590 | jj_lastpos = jj_scanpos = jj_scanpos.next; |
907 | 630 | } | 591 | } |
908 | 631 | } else { | 592 | } else { |
909 | 632 | jj_scanpos = jj_scanpos.next; | 593 | jj_scanpos = jj_scanpos.next; |
910 | 633 | } | 594 | } |
911 | 634 | if (jj_rescan) { | 595 | if (jj_rescan) { |
912 | 635 | int i = 0; Token tok = token; | 596 | int i = 0; Token tok = token; |
913 | 636 | while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; } | 597 | while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; } |
914 | 637 | if (tok != null) jj_add_error_token(kind, i); | 598 | if (tok != null) jj_add_error_token(kind, i); |
915 | 638 | } | 599 | } |
916 | 639 | if (jj_scanpos.kind != kind) return true; | 600 | if (jj_scanpos.kind != kind) return true; |
917 | 640 | if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls; | 601 | if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls; |
918 | 641 | return false; | 602 | return false; |
919 | 642 | } | 603 | } |
920 | 643 | 604 | ||
921 | 644 | 605 | ||
922 | 645 | /** Get the next Token. */ | 606 | /** Get the next Token. */ |
923 | 646 | final public Token getNextToken() { | 607 | final public Token getNextToken() { |
929 | 647 | if (token.next != null) token = token.next; | 608 | if (token.next != null) token = token.next; |
930 | 648 | else token = token.next = token_source.getNextToken(); | 609 | else token = token.next = token_source.getNextToken(); |
931 | 649 | jj_ntk = -1; | 610 | jj_ntk = -1; |
932 | 650 | jj_gen++; | 611 | jj_gen++; |
933 | 651 | return token; | 612 | return token; |
934 | 652 | } | 613 | } |
935 | 653 | 614 | ||
936 | 654 | /** Get the specific Token. */ | 615 | /** Get the specific Token. */ |
937 | 655 | final public Token getToken(int index) { | 616 | final public Token getToken(int index) { |
944 | 656 | Token t = token; | 617 | Token t = token; |
945 | 657 | for (int i = 0; i < index; i++) { | 618 | for (int i = 0; i < index; i++) { |
946 | 658 | if (t.next != null) t = t.next; | 619 | if (t.next != null) t = t.next; |
947 | 659 | else t = t.next = token_source.getNextToken(); | 620 | else t = t.next = token_source.getNextToken(); |
948 | 660 | } | 621 | } |
949 | 661 | return t; | 622 | return t; |
950 | 662 | } | 623 | } |
951 | 663 | 624 | ||
957 | 664 | private int jj_ntk_f() { | 625 | private int jj_ntk() { |
958 | 665 | if ((jj_nt=token.next) == null) | 626 | if ((jj_nt=token.next) == null) |
959 | 666 | return (jj_ntk = (token.next=token_source.getNextToken()).kind); | 627 | return (jj_ntk = (token.next=token_source.getNextToken()).kind); |
960 | 667 | else | 628 | else |
961 | 668 | return (jj_ntk = jj_nt.kind); | 629 | return (jj_ntk = jj_nt.kind); |
962 | 669 | } | 630 | } |
963 | 670 | 631 | ||
964 | 671 | private java.util.List<int[]> jj_expentries = new java.util.ArrayList<int[]>(); | 632 | private java.util.List<int[]> jj_expentries = new java.util.ArrayList<int[]>(); |
965 | @@ -675,83 +636,65 @@ | |||
966 | 675 | private int jj_endpos; | 636 | private int jj_endpos; |
967 | 676 | 637 | ||
968 | 677 | private void jj_add_error_token(int kind, int pos) { | 638 | private void jj_add_error_token(int kind, int pos) { |
1004 | 678 | if (pos >= 100) { | 639 | if (pos >= 100) return; |
1005 | 679 | return; | 640 | if (pos == jj_endpos + 1) { |
1006 | 680 | } | 641 | jj_lasttokens[jj_endpos++] = kind; |
1007 | 681 | 642 | } else if (jj_endpos != 0) { | |
1008 | 682 | if (pos == jj_endpos + 1) { | 643 | jj_expentry = new int[jj_endpos]; |
1009 | 683 | jj_lasttokens[jj_endpos++] = kind; | 644 | for (int i = 0; i < jj_endpos; i++) { |
1010 | 684 | } else if (jj_endpos != 0) { | 645 | jj_expentry[i] = jj_lasttokens[i]; |
1011 | 685 | jj_expentry = new int[jj_endpos]; | 646 | } |
1012 | 686 | 647 | boolean exists = false; | |
1013 | 687 | for (int i = 0; i < jj_endpos; i++) { | 648 | for (java.util.Iterator<?> it = jj_expentries.iterator(); it.hasNext();) { |
1014 | 688 | jj_expentry[i] = jj_lasttokens[i]; | 649 | exists = true; |
1015 | 689 | } | 650 | int[] oldentry = (int[])(it.next()); |
1016 | 690 | 651 | if (oldentry.length == jj_expentry.length) { | |
1017 | 691 | for (int[] oldentry : jj_expentries) { | 652 | for (int i = 0; i < jj_expentry.length; i++) { |
1018 | 692 | if (oldentry.length == jj_expentry.length) { | 653 | if (oldentry[i] != jj_expentry[i]) { |
1019 | 693 | boolean isMatched = true; | 654 | exists = false; |
1020 | 694 | 655 | break; | |
1021 | 695 | for (int i = 0; i < jj_expentry.length; i++) { | 656 | } |
1022 | 696 | if (oldentry[i] != jj_expentry[i]) { | 657 | } |
1023 | 697 | isMatched = false; | 658 | if (exists) break; |
1024 | 698 | break; | 659 | } |
1025 | 699 | } | 660 | } |
1026 | 700 | 661 | if (!exists) jj_expentries.add(jj_expentry); | |
1027 | 701 | } | 662 | if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind; |
1028 | 702 | if (isMatched) { | 663 | } |
994 | 703 | jj_expentries.add(jj_expentry); | ||
995 | 704 | break; | ||
996 | 705 | } | ||
997 | 706 | } | ||
998 | 707 | } | ||
999 | 708 | |||
1000 | 709 | if (pos != 0) { | ||
1001 | 710 | jj_lasttokens[(jj_endpos = pos) - 1] = kind; | ||
1002 | 711 | } | ||
1003 | 712 | } | ||
1029 | 713 | } | 664 | } |
1030 | 714 | 665 | ||
1031 | 715 | /** Generate ParseException. */ | 666 | /** Generate ParseException. */ |
1032 | 716 | public ParseException generateParseException() { | 667 | public ParseException generateParseException() { |
1071 | 717 | jj_expentries.clear(); | 668 | jj_expentries.clear(); |
1072 | 718 | boolean[] la1tokens = new boolean[29]; | 669 | boolean[] la1tokens = new boolean[29]; |
1073 | 719 | if (jj_kind >= 0) { | 670 | if (jj_kind >= 0) { |
1074 | 720 | la1tokens[jj_kind] = true; | 671 | la1tokens[jj_kind] = true; |
1075 | 721 | jj_kind = -1; | 672 | jj_kind = -1; |
1076 | 722 | } | 673 | } |
1077 | 723 | for (int i = 0; i < 10; i++) { | 674 | for (int i = 0; i < 10; i++) { |
1078 | 724 | if (jj_la1[i] == jj_gen) { | 675 | if (jj_la1[i] == jj_gen) { |
1079 | 725 | for (int j = 0; j < 32; j++) { | 676 | for (int j = 0; j < 32; j++) { |
1080 | 726 | if ((jj_la1_0[i] & (1<<j)) != 0) { | 677 | if ((jj_la1_0[i] & (1<<j)) != 0) { |
1081 | 727 | la1tokens[j] = true; | 678 | la1tokens[j] = true; |
1082 | 728 | } | 679 | } |
1083 | 729 | } | 680 | } |
1084 | 730 | } | 681 | } |
1085 | 731 | } | 682 | } |
1086 | 732 | for (int i = 0; i < 29; i++) { | 683 | for (int i = 0; i < 29; i++) { |
1087 | 733 | if (la1tokens[i]) { | 684 | if (la1tokens[i]) { |
1088 | 734 | jj_expentry = new int[1]; | 685 | jj_expentry = new int[1]; |
1089 | 735 | jj_expentry[0] = i; | 686 | jj_expentry[0] = i; |
1090 | 736 | jj_expentries.add(jj_expentry); | 687 | jj_expentries.add(jj_expentry); |
1091 | 737 | } | 688 | } |
1092 | 738 | } | 689 | } |
1093 | 739 | jj_endpos = 0; | 690 | jj_endpos = 0; |
1094 | 740 | jj_rescan_token(); | 691 | jj_rescan_token(); |
1095 | 741 | jj_add_error_token(0, 0); | 692 | jj_add_error_token(0, 0); |
1096 | 742 | int[][] exptokseq = new int[jj_expentries.size()][]; | 693 | int[][] exptokseq = new int[jj_expentries.size()][]; |
1097 | 743 | for (int i = 0; i < jj_expentries.size(); i++) { | 694 | for (int i = 0; i < jj_expentries.size(); i++) { |
1098 | 744 | exptokseq[i] = jj_expentries.get(i); | 695 | exptokseq[i] = jj_expentries.get(i); |
1099 | 745 | } | 696 | } |
1100 | 746 | return new ParseException(token, exptokseq, tokenImage); | 697 | return new ParseException(token, exptokseq, tokenImage); |
1063 | 747 | } | ||
1064 | 748 | |||
1065 | 749 | private int trace_indent = 0; | ||
1066 | 750 | private boolean trace_enabled; | ||
1067 | 751 | |||
1068 | 752 | /** Trace enabled. */ | ||
1069 | 753 | final public boolean trace_enabled() { | ||
1070 | 754 | return trace_enabled; | ||
1101 | 755 | } | 698 | } |
1102 | 756 | 699 | ||
1103 | 757 | /** Enable tracing. */ | 700 | /** Enable tracing. */ |
1104 | @@ -763,45 +706,40 @@ | |||
1105 | 763 | } | 706 | } |
1106 | 764 | 707 | ||
1107 | 765 | private void jj_rescan_token() { | 708 | private void jj_rescan_token() { |
1128 | 766 | jj_rescan = true; | 709 | jj_rescan = true; |
1129 | 767 | for (int i = 0; i < 3; i++) { | 710 | for (int i = 0; i < 3; i++) { |
1130 | 768 | try { | 711 | try { |
1131 | 769 | JJCalls p = jj_2_rtns[i]; | 712 | JJCalls p = jj_2_rtns[i]; |
1132 | 770 | 713 | do { | |
1133 | 771 | do { | 714 | if (p.gen > jj_gen) { |
1134 | 772 | if (p.gen > jj_gen) { | 715 | jj_la = p.arg; jj_lastpos = jj_scanpos = p.first; |
1135 | 773 | jj_la = p.arg; jj_lastpos = jj_scanpos = p.first; | 716 | switch (i) { |
1136 | 774 | switch (i) { | 717 | case 0: jj_3_1(); break; |
1137 | 775 | case 0: jj_3_1(); break; | 718 | case 1: jj_3_2(); break; |
1138 | 776 | case 1: jj_3_2(); break; | 719 | case 2: jj_3_3(); break; |
1139 | 777 | case 2: jj_3_3(); break; | 720 | } |
1140 | 778 | } | 721 | } |
1141 | 779 | } | 722 | p = p.next; |
1142 | 780 | p = p.next; | 723 | } while (p != null); |
1143 | 781 | } while (p != null); | 724 | } catch(LookaheadSuccess ls) { } |
1144 | 782 | 725 | } | |
1145 | 783 | } catch(LookaheadSuccess ls) { } | 726 | jj_rescan = false; |
1126 | 784 | } | ||
1127 | 785 | jj_rescan = false; | ||
1146 | 786 | } | 727 | } |
1147 | 787 | 728 | ||
1148 | 788 | private void jj_save(int index, int xla) { | 729 | private void jj_save(int index, int xla) { |
1158 | 789 | JJCalls p = jj_2_rtns[index]; | 730 | JJCalls p = jj_2_rtns[index]; |
1159 | 790 | while (p.gen > jj_gen) { | 731 | while (p.gen > jj_gen) { |
1160 | 791 | if (p.next == null) { p = p.next = new JJCalls(); break; } | 732 | if (p.next == null) { p = p.next = new JJCalls(); break; } |
1161 | 792 | p = p.next; | 733 | p = p.next; |
1162 | 793 | } | 734 | } |
1163 | 794 | 735 | p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla; | |
1155 | 795 | p.gen = jj_gen + xla - jj_la; | ||
1156 | 796 | p.first = token; | ||
1157 | 797 | p.arg = xla; | ||
1164 | 798 | } | 736 | } |
1165 | 799 | 737 | ||
1166 | 800 | static final class JJCalls { | 738 | static final class JJCalls { |
1171 | 801 | int gen; | 739 | int gen; |
1172 | 802 | Token first; | 740 | Token first; |
1173 | 803 | int arg; | 741 | int arg; |
1174 | 804 | JJCalls next; | 742 | JJCalls next; |
1175 | 805 | } | 743 | } |
1176 | 806 | 744 | ||
1177 | 807 | } | 745 | } |
1178 | 808 | 746 | ||
1179 | === modified file 'src/dk/aau/cs/TCTL/CTLParsing/TAPAALCTLQueryParserTokenManager.java' | |||
1180 | --- src/dk/aau/cs/TCTL/CTLParsing/TAPAALCTLQueryParserTokenManager.java 2017-05-14 19:42:09 +0000 | |||
1181 | +++ src/dk/aau/cs/TCTL/CTLParsing/TAPAALCTLQueryParserTokenManager.java 2017-09-05 21:26:24 +0000 | |||
1182 | @@ -1,4 +1,3 @@ | |||
1183 | 1 | /* TAPAALCTLQueryParserTokenManager.java */ | ||
1184 | 2 | /* Generated By:JavaCC: Do not edit this line. TAPAALCTLQueryParserTokenManager.java */ | 1 | /* Generated By:JavaCC: Do not edit this line. TAPAALCTLQueryParserTokenManager.java */ |
1185 | 3 | package dk.aau.cs.TCTL.CTLParsing; | 2 | package dk.aau.cs.TCTL.CTLParsing; |
1186 | 4 | import java.io.StringReader; | 3 | import java.io.StringReader; |
1187 | @@ -30,28 +29,33 @@ | |||
1188 | 30 | import dk.aau.cs.TCTL.TCTLStateToPathConverter; | 29 | import dk.aau.cs.TCTL.TCTLStateToPathConverter; |
1189 | 31 | 30 | ||
1190 | 32 | /** Token Manager. */ | 31 | /** Token Manager. */ |
1192 | 33 | public class TAPAALCTLQueryParserTokenManager implements TAPAALCTLQueryParserConstants { | 32 | public class TAPAALCTLQueryParserTokenManager implements TAPAALCTLQueryParserConstants |
1193 | 33 | { | ||
1194 | 34 | 34 | ||
1195 | 35 | /** Debug output. */ | 35 | /** Debug output. */ |
1196 | 36 | public java.io.PrintStream debugStream = System.out; | 36 | public java.io.PrintStream debugStream = System.out; |
1197 | 37 | /** Set debug output. */ | 37 | /** Set debug output. */ |
1198 | 38 | public void setDebugStream(java.io.PrintStream ds) { debugStream = ds; } | 38 | public void setDebugStream(java.io.PrintStream ds) { debugStream = ds; } |
1200 | 39 | private final int jjStopStringLiteralDfa_0(int pos, long active0){ | 39 | private final int jjStopStringLiteralDfa_0(int pos, long active0) |
1201 | 40 | { | ||
1202 | 40 | switch (pos) | 41 | switch (pos) |
1203 | 41 | { | 42 | { |
1204 | 42 | case 0: | 43 | case 0: |
1207 | 43 | if ((active0 & 0x100L) != 0L) | 44 | if ((active0 & 0x20000L) != 0L) |
1208 | 44 | return 49; | 45 | return 48; |
1209 | 45 | if ((active0 & 0x240L) != 0L) | 46 | if ((active0 & 0x240L) != 0L) |
1211 | 46 | return 64; | 47 | return 65; |
1212 | 47 | if ((active0 & 0x1080L) != 0L) | 48 | if ((active0 & 0x1080L) != 0L) |
1214 | 48 | return 57; | 49 | return 58; |
1215 | 50 | if ((active0 & 0x100L) != 0L) | ||
1216 | 51 | return 50; | ||
1217 | 49 | return -1; | 52 | return -1; |
1218 | 50 | default : | 53 | default : |
1219 | 51 | return -1; | 54 | return -1; |
1220 | 52 | } | 55 | } |
1221 | 53 | } | 56 | } |
1223 | 54 | private final int jjStartNfa_0(int pos, long active0){ | 57 | private final int jjStartNfa_0(int pos, long active0) |
1224 | 58 | { | ||
1225 | 55 | return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1); | 59 | return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1); |
1226 | 56 | } | 60 | } |
1227 | 57 | private int jjStopAtPos(int pos, int kind) | 61 | private int jjStopAtPos(int pos, int kind) |
1228 | @@ -60,7 +64,8 @@ | |||
1229 | 60 | jjmatchedPos = pos; | 64 | jjmatchedPos = pos; |
1230 | 61 | return pos + 1; | 65 | return pos + 1; |
1231 | 62 | } | 66 | } |
1233 | 63 | private int jjMoveStringLiteralDfa0_0(){ | 67 | private int jjMoveStringLiteralDfa0_0() |
1234 | 68 | { | ||
1235 | 64 | switch(curChar) | 69 | switch(curChar) |
1236 | 65 | { | 70 | { |
1237 | 66 | case 40: | 71 | case 40: |
1238 | @@ -72,7 +77,7 @@ | |||
1239 | 72 | case 43: | 77 | case 43: |
1240 | 73 | return jjStopAtPos(0, 16); | 78 | return jjStopAtPos(0, 16); |
1241 | 74 | case 45: | 79 | case 45: |
1243 | 75 | return jjStopAtPos(0, 17); | 80 | return jjStartNfaWithStates_0(0, 17, 48); |
1244 | 76 | case 46: | 81 | case 46: |
1245 | 77 | return jjStopAtPos(0, 28); | 82 | return jjStopAtPos(0, 28); |
1246 | 78 | case 65: | 83 | case 65: |
1247 | @@ -82,12 +87,13 @@ | |||
1248 | 82 | jjmatchedKind = 6; | 87 | jjmatchedKind = 6; |
1249 | 83 | return jjMoveStringLiteralDfa1_0(0x200L); | 88 | return jjMoveStringLiteralDfa1_0(0x200L); |
1250 | 84 | case 85: | 89 | case 85: |
1252 | 85 | return jjStartNfaWithStates_0(0, 8, 49); | 90 | return jjStartNfaWithStates_0(0, 8, 50); |
1253 | 86 | default : | 91 | default : |
1254 | 87 | return jjMoveNfa_0(3, 0); | 92 | return jjMoveNfa_0(3, 0); |
1255 | 88 | } | 93 | } |
1256 | 89 | } | 94 | } |
1258 | 90 | private int jjMoveStringLiteralDfa1_0(long active0){ | 95 | private int jjMoveStringLiteralDfa1_0(long active0) |
1259 | 96 | { | ||
1260 | 91 | try { curChar = input_stream.readChar(); } | 97 | try { curChar = input_stream.readChar(); } |
1261 | 92 | catch(java.io.IOException e) { | 98 | catch(java.io.IOException e) { |
1262 | 93 | jjStopStringLiteralDfa_0(0, active0); | 99 | jjStopStringLiteralDfa_0(0, active0); |
1263 | @@ -97,9 +103,9 @@ | |||
1264 | 97 | { | 103 | { |
1265 | 98 | case 88: | 104 | case 88: |
1266 | 99 | if ((active0 & 0x200L) != 0L) | 105 | if ((active0 & 0x200L) != 0L) |
1268 | 100 | return jjStartNfaWithStates_0(1, 9, 49); | 106 | return jjStartNfaWithStates_0(1, 9, 50); |
1269 | 101 | else if ((active0 & 0x1000L) != 0L) | 107 | else if ((active0 & 0x1000L) != 0L) |
1271 | 102 | return jjStartNfaWithStates_0(1, 12, 49); | 108 | return jjStartNfaWithStates_0(1, 12, 50); |
1272 | 103 | break; | 109 | break; |
1273 | 104 | default : | 110 | default : |
1274 | 105 | break; | 111 | break; |
1275 | @@ -117,7 +123,7 @@ | |||
1276 | 117 | private int jjMoveNfa_0(int startState, int curPos) | 123 | private int jjMoveNfa_0(int startState, int curPos) |
1277 | 118 | { | 124 | { |
1278 | 119 | int startsAt = 0; | 125 | int startsAt = 0; |
1280 | 120 | jjnewStateCnt = 70; | 126 | jjnewStateCnt = 71; |
1281 | 121 | int i = 1; | 127 | int i = 1; |
1282 | 122 | jjstateSet[0] = startState; | 128 | jjstateSet[0] = startState; |
1283 | 123 | int kind = 0x7fffffff; | 129 | int kind = 0x7fffffff; |
1284 | @@ -137,7 +143,7 @@ | |||
1285 | 137 | { | 143 | { |
1286 | 138 | if (kind > 19) | 144 | if (kind > 19) |
1287 | 139 | kind = 19; | 145 | kind = 19; |
1289 | 140 | { jjCheckNAdd(47); } | 146 | jjCheckNAdd(48); |
1290 | 141 | } | 147 | } |
1291 | 142 | else if ((0x7000000000000000L & l) != 0L) | 148 | else if ((0x7000000000000000L & l) != 0L) |
1292 | 143 | { | 149 | { |
1293 | @@ -145,40 +151,42 @@ | |||
1294 | 145 | kind = 21; | 151 | kind = 21; |
1295 | 146 | } | 152 | } |
1296 | 147 | else if (curChar == 33) | 153 | else if (curChar == 33) |
1298 | 148 | { jjCheckNAdd(51); } | 154 | jjCheckNAdd(52); |
1299 | 155 | else if (curChar == 45) | ||
1300 | 156 | jjCheckNAdd(48); | ||
1301 | 149 | else if (curChar == 38) | 157 | else if (curChar == 38) |
1302 | 150 | jjstateSet[jjnewStateCnt++] = 41; | 158 | jjstateSet[jjnewStateCnt++] = 41; |
1303 | 151 | if (curChar == 62) | 159 | if (curChar == 62) |
1305 | 152 | { jjCheckNAdd(51); } | 160 | jjCheckNAdd(52); |
1306 | 153 | else if (curChar == 61) | 161 | else if (curChar == 61) |
1308 | 154 | { jjCheckNAdd(51); } | 162 | jjCheckNAdd(52); |
1309 | 155 | else if (curChar == 60) | 163 | else if (curChar == 60) |
1311 | 156 | { jjCheckNAdd(51); } | 164 | jjCheckNAdd(52); |
1312 | 157 | else if (curChar == 33) | 165 | else if (curChar == 33) |
1313 | 158 | { | 166 | { |
1314 | 159 | if (kind > 15) | 167 | if (kind > 15) |
1315 | 160 | kind = 15; | 168 | kind = 15; |
1316 | 161 | } | 169 | } |
1317 | 162 | break; | 170 | break; |
1319 | 163 | case 64: | 171 | case 65: |
1320 | 164 | if ((0x3ff000000000000L & l) != 0L) | 172 | if ((0x3ff000000000000L & l) != 0L) |
1321 | 165 | { | 173 | { |
1322 | 166 | if (kind > 20) | 174 | if (kind > 20) |
1323 | 167 | kind = 20; | 175 | kind = 20; |
1325 | 168 | { jjCheckNAdd(49); } | 176 | jjCheckNAdd(50); |
1326 | 169 | } | 177 | } |
1327 | 170 | else if (curChar == 60) | 178 | else if (curChar == 60) |
1329 | 171 | jjstateSet[jjnewStateCnt++] = 65; | 179 | jjstateSet[jjnewStateCnt++] = 66; |
1330 | 172 | break; | 180 | break; |
1332 | 173 | case 57: | 181 | case 58: |
1333 | 174 | if ((0x3ff000000000000L & l) != 0L) | 182 | if ((0x3ff000000000000L & l) != 0L) |
1334 | 175 | { | 183 | { |
1335 | 176 | if (kind > 20) | 184 | if (kind > 20) |
1336 | 177 | kind = 20; | 185 | kind = 20; |
1338 | 178 | { jjCheckNAdd(49); } | 186 | jjCheckNAdd(50); |
1339 | 179 | } | 187 | } |
1340 | 180 | else if (curChar == 60) | 188 | else if (curChar == 60) |
1342 | 181 | jjstateSet[jjnewStateCnt++] = 58; | 189 | jjstateSet[jjnewStateCnt++] = 59; |
1343 | 182 | break; | 190 | break; |
1344 | 183 | case 41: | 191 | case 41: |
1345 | 184 | if (curChar == 38 && kind > 14) | 192 | if (curChar == 38 && kind > 14) |
1346 | @@ -193,58 +201,62 @@ | |||
1347 | 193 | kind = 15; | 201 | kind = 15; |
1348 | 194 | break; | 202 | break; |
1349 | 195 | case 47: | 203 | case 47: |
1350 | 204 | if (curChar == 45) | ||
1351 | 205 | jjCheckNAdd(48); | ||
1352 | 206 | break; | ||
1353 | 207 | case 48: | ||
1354 | 196 | if ((0x3ff000000000000L & l) == 0L) | 208 | if ((0x3ff000000000000L & l) == 0L) |
1355 | 197 | break; | 209 | break; |
1356 | 198 | if (kind > 19) | 210 | if (kind > 19) |
1357 | 199 | kind = 19; | 211 | kind = 19; |
1359 | 200 | { jjCheckNAdd(47); } | 212 | jjCheckNAdd(48); |
1360 | 201 | break; | 213 | break; |
1362 | 202 | case 49: | 214 | case 50: |
1363 | 203 | if ((0x3ff000000000000L & l) == 0L) | 215 | if ((0x3ff000000000000L & l) == 0L) |
1364 | 204 | break; | 216 | break; |
1365 | 205 | if (kind > 20) | 217 | if (kind > 20) |
1366 | 206 | kind = 20; | 218 | kind = 20; |
1368 | 207 | { jjCheckNAdd(49); } | 219 | jjCheckNAdd(50); |
1369 | 208 | break; | 220 | break; |
1371 | 209 | case 50: | 221 | case 51: |
1372 | 210 | if ((0x7000000000000000L & l) != 0L && kind > 21) | 222 | if ((0x7000000000000000L & l) != 0L && kind > 21) |
1373 | 211 | kind = 21; | 223 | kind = 21; |
1374 | 212 | break; | 224 | break; |
1376 | 213 | case 51: | 225 | case 52: |
1377 | 214 | if (curChar == 61 && kind > 21) | 226 | if (curChar == 61 && kind > 21) |
1378 | 215 | kind = 21; | 227 | kind = 21; |
1379 | 216 | break; | 228 | break; |
1381 | 217 | case 52: | 229 | case 53: |
1382 | 218 | if (curChar == 33) | 230 | if (curChar == 33) |
1388 | 219 | { jjCheckNAdd(51); } | 231 | jjCheckNAdd(52); |
1384 | 220 | break; | ||
1385 | 221 | case 53: | ||
1386 | 222 | if (curChar == 60) | ||
1387 | 223 | { jjCheckNAdd(51); } | ||
1389 | 224 | break; | 232 | break; |
1390 | 225 | case 54: | 233 | case 54: |
1391 | 234 | if (curChar == 60) | ||
1392 | 235 | jjCheckNAdd(52); | ||
1393 | 236 | break; | ||
1394 | 237 | case 55: | ||
1395 | 226 | if (curChar == 61) | 238 | if (curChar == 61) |
1397 | 227 | { jjCheckNAdd(51); } | 239 | jjCheckNAdd(52); |
1398 | 228 | break; | 240 | break; |
1400 | 229 | case 55: | 241 | case 56: |
1401 | 230 | if (curChar == 62) | 242 | if (curChar == 62) |
1403 | 231 | { jjCheckNAdd(51); } | 243 | jjCheckNAdd(52); |
1404 | 232 | break; | 244 | break; |
1406 | 233 | case 58: | 245 | case 59: |
1407 | 234 | if (curChar == 62 && kind > 10) | 246 | if (curChar == 62 && kind > 10) |
1408 | 235 | kind = 10; | 247 | kind = 10; |
1409 | 236 | break; | 248 | break; |
1411 | 237 | case 59: | 249 | case 60: |
1412 | 238 | if (curChar == 60) | 250 | if (curChar == 60) |
1414 | 239 | jjstateSet[jjnewStateCnt++] = 58; | 251 | jjstateSet[jjnewStateCnt++] = 59; |
1415 | 240 | break; | 252 | break; |
1417 | 241 | case 65: | 253 | case 66: |
1418 | 242 | if (curChar == 62 && kind > 4) | 254 | if (curChar == 62 && kind > 4) |
1419 | 243 | kind = 4; | 255 | kind = 4; |
1420 | 244 | break; | 256 | break; |
1422 | 245 | case 66: | 257 | case 67: |
1423 | 246 | if (curChar == 60) | 258 | if (curChar == 60) |
1425 | 247 | jjstateSet[jjnewStateCnt++] = 65; | 259 | jjstateSet[jjnewStateCnt++] = 66; |
1426 | 248 | break; | 260 | break; |
1427 | 249 | default : break; | 261 | default : break; |
1428 | 250 | } | 262 | } |
1429 | @@ -262,14 +274,14 @@ | |||
1430 | 262 | { | 274 | { |
1431 | 263 | if (kind > 20) | 275 | if (kind > 20) |
1432 | 264 | kind = 20; | 276 | kind = 20; |
1434 | 265 | { jjCheckNAdd(49); } | 277 | jjCheckNAdd(50); |
1435 | 266 | } | 278 | } |
1436 | 267 | else if (curChar == 124) | 279 | else if (curChar == 124) |
1437 | 268 | jjstateSet[jjnewStateCnt++] = 36; | 280 | jjstateSet[jjnewStateCnt++] = 36; |
1438 | 269 | if (curChar == 69) | 281 | if (curChar == 69) |
1440 | 270 | { jjAddStates(0, 3); } | 282 | jjAddStates(0, 3); |
1441 | 271 | else if (curChar == 65) | 283 | else if (curChar == 65) |
1443 | 272 | { jjAddStates(4, 7); } | 284 | jjAddStates(4, 7); |
1444 | 273 | else if (curChar == 110) | 285 | else if (curChar == 110) |
1445 | 274 | jjstateSet[jjnewStateCnt++] = 44; | 286 | jjstateSet[jjnewStateCnt++] = 44; |
1446 | 275 | else if (curChar == 97) | 287 | else if (curChar == 97) |
1447 | @@ -289,15 +301,15 @@ | |||
1448 | 289 | else if (curChar == 116) | 301 | else if (curChar == 116) |
1449 | 290 | jjstateSet[jjnewStateCnt++] = 2; | 302 | jjstateSet[jjnewStateCnt++] = 2; |
1450 | 291 | break; | 303 | break; |
1452 | 292 | case 64: | 304 | case 65: |
1453 | 293 | if ((0x7fffffe87fffffeL & l) != 0L) | 305 | if ((0x7fffffe87fffffeL & l) != 0L) |
1454 | 294 | { | 306 | { |
1455 | 295 | if (kind > 20) | 307 | if (kind > 20) |
1456 | 296 | kind = 20; | 308 | kind = 20; |
1458 | 297 | { jjCheckNAdd(49); } | 309 | jjCheckNAdd(50); |
1459 | 298 | } | 310 | } |
1460 | 299 | else if (curChar == 91) | 311 | else if (curChar == 91) |
1462 | 300 | jjstateSet[jjnewStateCnt++] = 68; | 312 | jjstateSet[jjnewStateCnt++] = 69; |
1463 | 301 | if (curChar == 71) | 313 | if (curChar == 71) |
1464 | 302 | { | 314 | { |
1465 | 303 | if (kind > 5) | 315 | if (kind > 5) |
1466 | @@ -309,15 +321,15 @@ | |||
1467 | 309 | kind = 4; | 321 | kind = 4; |
1468 | 310 | } | 322 | } |
1469 | 311 | break; | 323 | break; |
1471 | 312 | case 57: | 324 | case 58: |
1472 | 313 | if ((0x7fffffe87fffffeL & l) != 0L) | 325 | if ((0x7fffffe87fffffeL & l) != 0L) |
1473 | 314 | { | 326 | { |
1474 | 315 | if (kind > 20) | 327 | if (kind > 20) |
1475 | 316 | kind = 20; | 328 | kind = 20; |
1477 | 317 | { jjCheckNAdd(49); } | 329 | jjCheckNAdd(50); |
1478 | 318 | } | 330 | } |
1479 | 319 | else if (curChar == 91) | 331 | else if (curChar == 91) |
1481 | 320 | jjstateSet[jjnewStateCnt++] = 61; | 332 | jjstateSet[jjnewStateCnt++] = 62; |
1482 | 321 | if (curChar == 71) | 333 | if (curChar == 71) |
1483 | 322 | { | 334 | { |
1484 | 323 | if (kind > 11) | 335 | if (kind > 11) |
1485 | @@ -501,51 +513,51 @@ | |||
1486 | 501 | if (curChar == 110) | 513 | if (curChar == 110) |
1487 | 502 | jjstateSet[jjnewStateCnt++] = 44; | 514 | jjstateSet[jjnewStateCnt++] = 44; |
1488 | 503 | break; | 515 | break; |
1489 | 504 | case 48: | ||
1490 | 505 | if ((0x7fffffe87fffffeL & l) == 0L) | ||
1491 | 506 | break; | ||
1492 | 507 | if (kind > 20) | ||
1493 | 508 | kind = 20; | ||
1494 | 509 | { jjCheckNAdd(49); } | ||
1495 | 510 | break; | ||
1496 | 511 | case 49: | 516 | case 49: |
1497 | 512 | if ((0x7fffffe87fffffeL & l) == 0L) | 517 | if ((0x7fffffe87fffffeL & l) == 0L) |
1498 | 513 | break; | 518 | break; |
1499 | 514 | if (kind > 20) | 519 | if (kind > 20) |
1500 | 515 | kind = 20; | 520 | kind = 20; |
1504 | 516 | { jjCheckNAdd(49); } | 521 | jjCheckNAdd(50); |
1505 | 517 | break; | 522 | break; |
1506 | 518 | case 56: | 523 | case 50: |
1507 | 524 | if ((0x7fffffe87fffffeL & l) == 0L) | ||
1508 | 525 | break; | ||
1509 | 526 | if (kind > 20) | ||
1510 | 527 | kind = 20; | ||
1511 | 528 | jjCheckNAdd(50); | ||
1512 | 529 | break; | ||
1513 | 530 | case 57: | ||
1514 | 519 | if (curChar == 65) | 531 | if (curChar == 65) |
1516 | 520 | { jjAddStates(4, 7); } | 532 | jjAddStates(4, 7); |
1517 | 521 | break; | 533 | break; |
1519 | 522 | case 60: | 534 | case 61: |
1520 | 523 | if (curChar == 71 && kind > 11) | 535 | if (curChar == 71 && kind > 11) |
1521 | 524 | kind = 11; | 536 | kind = 11; |
1522 | 525 | break; | 537 | break; |
1524 | 526 | case 61: | 538 | case 62: |
1525 | 527 | if (curChar == 93 && kind > 11) | 539 | if (curChar == 93 && kind > 11) |
1526 | 528 | kind = 11; | 540 | kind = 11; |
1527 | 529 | break; | 541 | break; |
1528 | 530 | case 62: | ||
1529 | 531 | if (curChar == 91) | ||
1530 | 532 | jjstateSet[jjnewStateCnt++] = 61; | ||
1531 | 533 | break; | ||
1532 | 534 | case 63: | 542 | case 63: |
1533 | 543 | if (curChar == 91) | ||
1534 | 544 | jjstateSet[jjnewStateCnt++] = 62; | ||
1535 | 545 | break; | ||
1536 | 546 | case 64: | ||
1537 | 535 | if (curChar == 69) | 547 | if (curChar == 69) |
1539 | 536 | { jjAddStates(0, 3); } | 548 | jjAddStates(0, 3); |
1540 | 537 | break; | 549 | break; |
1542 | 538 | case 67: | 550 | case 68: |
1543 | 539 | if (curChar == 71 && kind > 5) | 551 | if (curChar == 71 && kind > 5) |
1544 | 540 | kind = 5; | 552 | kind = 5; |
1545 | 541 | break; | 553 | break; |
1547 | 542 | case 68: | 554 | case 69: |
1548 | 543 | if (curChar == 93 && kind > 5) | 555 | if (curChar == 93 && kind > 5) |
1549 | 544 | kind = 5; | 556 | kind = 5; |
1550 | 545 | break; | 557 | break; |
1552 | 546 | case 69: | 558 | case 70: |
1553 | 547 | if (curChar == 91) | 559 | if (curChar == 91) |
1555 | 548 | jjstateSet[jjnewStateCnt++] = 68; | 560 | jjstateSet[jjnewStateCnt++] = 69; |
1556 | 549 | break; | 561 | break; |
1557 | 550 | default : break; | 562 | default : break; |
1558 | 551 | } | 563 | } |
1559 | @@ -570,18 +582,81 @@ | |||
1560 | 570 | kind = 0x7fffffff; | 582 | kind = 0x7fffffff; |
1561 | 571 | } | 583 | } |
1562 | 572 | ++curPos; | 584 | ++curPos; |
1564 | 573 | if ((i = jjnewStateCnt) == (startsAt = 70 - (jjnewStateCnt = startsAt))) | 585 | if ((i = jjnewStateCnt) == (startsAt = 71 - (jjnewStateCnt = startsAt))) |
1565 | 574 | return curPos; | 586 | return curPos; |
1566 | 575 | try { curChar = input_stream.readChar(); } | 587 | try { curChar = input_stream.readChar(); } |
1567 | 576 | catch(java.io.IOException e) { return curPos; } | 588 | catch(java.io.IOException e) { return curPos; } |
1568 | 577 | } | 589 | } |
1569 | 578 | } | 590 | } |
1570 | 591 | static final int[] jjnextStates = { | ||
1571 | 592 | 65, 67, 68, 70, 58, 60, 61, 63, | ||
1572 | 593 | }; | ||
1573 | 579 | 594 | ||
1574 | 580 | /** Token literal values. */ | 595 | /** Token literal values. */ |
1575 | 581 | public static final String[] jjstrLiteralImages = { | 596 | public static final String[] jjstrLiteralImages = { |
1576 | 582 | "", null, null, null, null, null, "\105", "\101", "\125", "\105\130", null, | 597 | "", null, null, null, null, null, "\105", "\101", "\125", "\105\130", null, |
1577 | 583 | null, "\101\130", null, null, null, "\53", "\55", "\52", null, null, null, null, | 598 | null, "\101\130", null, null, null, "\53", "\55", "\52", null, null, null, null, |
1578 | 584 | null, null, null, "\50", "\51", "\56", }; | 599 | null, null, null, "\50", "\51", "\56", }; |
1579 | 600 | |||
1580 | 601 | /** Lexer state names. */ | ||
1581 | 602 | public static final String[] lexStateNames = { | ||
1582 | 603 | "DEFAULT", | ||
1583 | 604 | }; | ||
1584 | 605 | static final long[] jjtoToken = { | ||
1585 | 606 | 0x1c3fffffL, | ||
1586 | 607 | }; | ||
1587 | 608 | static final long[] jjtoSkip = { | ||
1588 | 609 | 0x3c00000L, | ||
1589 | 610 | }; | ||
1590 | 611 | protected SimpleCharStream input_stream; | ||
1591 | 612 | private final int[] jjrounds = new int[71]; | ||
1592 | 613 | private final int[] jjstateSet = new int[142]; | ||
1593 | 614 | protected char curChar; | ||
1594 | 615 | /** Constructor. */ | ||
1595 | 616 | public TAPAALCTLQueryParserTokenManager(SimpleCharStream stream){ | ||
1596 | 617 | if (SimpleCharStream.staticFlag) | ||
1597 | 618 | throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer."); | ||
1598 | 619 | input_stream = stream; | ||
1599 | 620 | } | ||
1600 | 621 | |||
1601 | 622 | /** Constructor. */ | ||
1602 | 623 | public TAPAALCTLQueryParserTokenManager(SimpleCharStream stream, int lexState){ | ||
1603 | 624 | this(stream); | ||
1604 | 625 | SwitchTo(lexState); | ||
1605 | 626 | } | ||
1606 | 627 | |||
1607 | 628 | /** Reinitialise parser. */ | ||
1608 | 629 | public void ReInit(SimpleCharStream stream) | ||
1609 | 630 | { | ||
1610 | 631 | jjmatchedPos = jjnewStateCnt = 0; | ||
1611 | 632 | curLexState = defaultLexState; | ||
1612 | 633 | input_stream = stream; | ||
1613 | 634 | ReInitRounds(); | ||
1614 | 635 | } | ||
1615 | 636 | private void ReInitRounds() | ||
1616 | 637 | { | ||
1617 | 638 | int i; | ||
1618 | 639 | jjround = 0x80000001; | ||
1619 | 640 | for (i = 71; i-- > 0;) | ||
1620 | 641 | jjrounds[i] = 0x80000000; | ||
1621 | 642 | } | ||
1622 | 643 | |||
1623 | 644 | /** Reinitialise parser. */ | ||
1624 | 645 | public void ReInit(SimpleCharStream stream, int lexState) | ||
1625 | 646 | { | ||
1626 | 647 | ReInit(stream); | ||
1627 | 648 | SwitchTo(lexState); | ||
1628 | 649 | } | ||
1629 | 650 | |||
1630 | 651 | /** Switch to specified lex state. */ | ||
1631 | 652 | public void SwitchTo(int lexState) | ||
1632 | 653 | { | ||
1633 | 654 | if (lexState >= 1 || lexState < 0) | ||
1634 | 655 | throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE); | ||
1635 | 656 | else | ||
1636 | 657 | curLexState = lexState; | ||
1637 | 658 | } | ||
1638 | 659 | |||
1639 | 585 | protected Token jjFillToken() | 660 | protected Token jjFillToken() |
1640 | 586 | { | 661 | { |
1641 | 587 | final Token t; | 662 | final Token t; |
1642 | @@ -596,9 +671,7 @@ | |||
1643 | 596 | beginColumn = input_stream.getBeginColumn(); | 671 | beginColumn = input_stream.getBeginColumn(); |
1644 | 597 | endLine = input_stream.getEndLine(); | 672 | endLine = input_stream.getEndLine(); |
1645 | 598 | endColumn = input_stream.getEndColumn(); | 673 | endColumn = input_stream.getEndColumn(); |
1649 | 599 | t = Token.newToken(jjmatchedKind); | 674 | t = Token.newToken(jjmatchedKind, curTokenImage); |
1647 | 600 | t.kind = jjmatchedKind; | ||
1648 | 601 | t.image = curTokenImage; | ||
1650 | 602 | 675 | ||
1651 | 603 | t.beginLine = beginLine; | 676 | t.beginLine = beginLine; |
1652 | 604 | t.endLine = endLine; | 677 | t.endLine = endLine; |
1653 | @@ -607,9 +680,6 @@ | |||
1654 | 607 | 680 | ||
1655 | 608 | return t; | 681 | return t; |
1656 | 609 | } | 682 | } |
1657 | 610 | static final int[] jjnextStates = { | ||
1658 | 611 | 64, 66, 67, 69, 57, 59, 60, 62, | ||
1659 | 612 | }; | ||
1660 | 613 | 683 | ||
1661 | 614 | int curLexState = 0; | 684 | int curLexState = 0; |
1662 | 615 | int defaultLexState = 0; | 685 | int defaultLexState = 0; |
1663 | @@ -631,10 +701,9 @@ | |||
1664 | 631 | { | 701 | { |
1665 | 632 | curChar = input_stream.BeginToken(); | 702 | curChar = input_stream.BeginToken(); |
1666 | 633 | } | 703 | } |
1668 | 634 | catch(Exception e) | 704 | catch(java.io.IOException e) |
1669 | 635 | { | 705 | { |
1670 | 636 | jjmatchedKind = 0; | 706 | jjmatchedKind = 0; |
1671 | 637 | jjmatchedPos = -1; | ||
1672 | 638 | matchedToken = jjFillToken(); | 707 | matchedToken = jjFillToken(); |
1673 | 639 | return matchedToken; | 708 | return matchedToken; |
1674 | 640 | } | 709 | } |
1675 | @@ -684,31 +753,6 @@ | |||
1676 | 684 | } | 753 | } |
1677 | 685 | } | 754 | } |
1678 | 686 | 755 | ||
1679 | 687 | void SkipLexicalActions(Token matchedToken) | ||
1680 | 688 | { | ||
1681 | 689 | switch(jjmatchedKind) | ||
1682 | 690 | { | ||
1683 | 691 | default : | ||
1684 | 692 | break; | ||
1685 | 693 | } | ||
1686 | 694 | } | ||
1687 | 695 | void MoreLexicalActions() | ||
1688 | 696 | { | ||
1689 | 697 | jjimageLen += (lengthOfMatch = jjmatchedPos + 1); | ||
1690 | 698 | switch(jjmatchedKind) | ||
1691 | 699 | { | ||
1692 | 700 | default : | ||
1693 | 701 | break; | ||
1694 | 702 | } | ||
1695 | 703 | } | ||
1696 | 704 | void TokenLexicalActions(Token matchedToken) | ||
1697 | 705 | { | ||
1698 | 706 | switch(jjmatchedKind) | ||
1699 | 707 | { | ||
1700 | 708 | default : | ||
1701 | 709 | break; | ||
1702 | 710 | } | ||
1703 | 711 | } | ||
1704 | 712 | private void jjCheckNAdd(int state) | 756 | private void jjCheckNAdd(int state) |
1705 | 713 | { | 757 | { |
1706 | 714 | if (jjrounds[state] != jjround) | 758 | if (jjrounds[state] != jjround) |
1707 | @@ -729,90 +773,4 @@ | |||
1708 | 729 | jjCheckNAdd(state2); | 773 | jjCheckNAdd(state2); |
1709 | 730 | } | 774 | } |
1710 | 731 | 775 | ||
1711 | 732 | /** Constructor. */ | ||
1712 | 733 | public TAPAALCTLQueryParserTokenManager(SimpleCharStream stream){ | ||
1713 | 734 | |||
1714 | 735 | if (SimpleCharStream.staticFlag) | ||
1715 | 736 | throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer."); | ||
1716 | 737 | |||
1717 | 738 | input_stream = stream; | ||
1718 | 739 | } | ||
1719 | 740 | |||
1720 | 741 | /** Constructor. */ | ||
1721 | 742 | public TAPAALCTLQueryParserTokenManager (SimpleCharStream stream, int lexState){ | ||
1722 | 743 | ReInit(stream); | ||
1723 | 744 | SwitchTo(lexState); | ||
1724 | 745 | } | ||
1725 | 746 | |||
1726 | 747 | /** Reinitialise parser. */ | ||
1727 | 748 | |||
1728 | 749 | public void ReInit(SimpleCharStream stream) | ||
1729 | 750 | { | ||
1730 | 751 | |||
1731 | 752 | |||
1732 | 753 | jjmatchedPos = | ||
1733 | 754 | jjnewStateCnt = | ||
1734 | 755 | 0; | ||
1735 | 756 | curLexState = defaultLexState; | ||
1736 | 757 | input_stream = stream; | ||
1737 | 758 | ReInitRounds(); | ||
1738 | 759 | } | ||
1739 | 760 | |||
1740 | 761 | private void ReInitRounds() | ||
1741 | 762 | { | ||
1742 | 763 | int i; | ||
1743 | 764 | jjround = 0x80000001; | ||
1744 | 765 | for (i = 70; i-- > 0;) | ||
1745 | 766 | jjrounds[i] = 0x80000000; | ||
1746 | 767 | } | ||
1747 | 768 | |||
1748 | 769 | /** Reinitialise parser. */ | ||
1749 | 770 | public void ReInit(SimpleCharStream stream, int lexState) | ||
1750 | 771 | |||
1751 | 772 | { | ||
1752 | 773 | ReInit(stream); | ||
1753 | 774 | SwitchTo(lexState); | ||
1754 | 775 | } | ||
1755 | 776 | |||
1756 | 777 | /** Switch to specified lex state. */ | ||
1757 | 778 | public void SwitchTo(int lexState) | ||
1758 | 779 | { | ||
1759 | 780 | if (lexState >= 1 || lexState < 0) | ||
1760 | 781 | throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE); | ||
1761 | 782 | else | ||
1762 | 783 | curLexState = lexState; | ||
1763 | 784 | } | ||
1764 | 785 | |||
1765 | 786 | |||
1766 | 787 | /** Lexer state names. */ | ||
1767 | 788 | public static final String[] lexStateNames = { | ||
1768 | 789 | "DEFAULT", | ||
1769 | 790 | }; | ||
1770 | 791 | |||
1771 | 792 | /** Lex State array. */ | ||
1772 | 793 | public static final int[] jjnewLexState = { | ||
1773 | 794 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | ||
1774 | 795 | -1, -1, -1, -1, | ||
1775 | 796 | }; | ||
1776 | 797 | static final long[] jjtoToken = { | ||
1777 | 798 | 0x1c3fffffL, | ||
1778 | 799 | }; | ||
1779 | 800 | static final long[] jjtoSkip = { | ||
1780 | 801 | 0x3c00000L, | ||
1781 | 802 | }; | ||
1782 | 803 | static final long[] jjtoSpecial = { | ||
1783 | 804 | 0x0L, | ||
1784 | 805 | }; | ||
1785 | 806 | static final long[] jjtoMore = { | ||
1786 | 807 | 0x0L, | ||
1787 | 808 | }; | ||
1788 | 809 | protected SimpleCharStream input_stream; | ||
1789 | 810 | |||
1790 | 811 | private final int[] jjrounds = new int[70]; | ||
1791 | 812 | private final int[] jjstateSet = new int[2 * 70]; | ||
1792 | 813 | private final StringBuilder jjimage = new StringBuilder(); | ||
1793 | 814 | private StringBuilder image = jjimage; | ||
1794 | 815 | private int jjimageLen; | ||
1795 | 816 | private int lengthOfMatch; | ||
1796 | 817 | protected int curChar; | ||
1797 | 818 | } | 776 | } |
1798 | 819 | 777 | ||
1799 | === modified file 'src/dk/aau/cs/TCTL/CTLParsing/Token.java' | |||
1800 | --- src/dk/aau/cs/TCTL/CTLParsing/Token.java 2017-05-07 12:44:00 +0000 | |||
1801 | +++ src/dk/aau/cs/TCTL/CTLParsing/Token.java 2017-09-05 21:26:24 +0000 | |||
1802 | @@ -1,5 +1,5 @@ | |||
1805 | 1 | /* Generated By:JavaCC: Do not edit this line. Token.java Version 7.0 */ | 1 | /* Generated By:JavaCC: Do not edit this line. Token.java Version 5.0 */ |
1806 | 2 | /* JavaCCOptions:TOKEN_EXTENDS=,KEEP_LINE_COLUMN=true,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */ | 2 | /* JavaCCOptions:TOKEN_EXTENDS=,KEEP_LINE_COL=null,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */ |
1807 | 3 | package dk.aau.cs.TCTL.CTLParsing; | 3 | package dk.aau.cs.TCTL.CTLParsing; |
1808 | 4 | 4 | ||
1809 | 5 | /** | 5 | /** |
1810 | @@ -128,4 +128,4 @@ | |||
1811 | 128 | } | 128 | } |
1812 | 129 | 129 | ||
1813 | 130 | } | 130 | } |
1815 | 131 | /* JavaCC - OriginalChecksum=8ee1473b89874b09d6c560395ea72ef9 (do not edit this line) */ | 131 | /* JavaCC - OriginalChecksum=c3a33ef5a2c7f5ec67f13491eacfbc58 (do not edit this line) */ |
1816 | 132 | 132 | ||
1817 | === modified file 'src/dk/aau/cs/TCTL/CTLParsing/TokenMgrError.java' | |||
1818 | --- src/dk/aau/cs/TCTL/CTLParsing/TokenMgrError.java 2017-05-07 12:44:00 +0000 | |||
1819 | +++ src/dk/aau/cs/TCTL/CTLParsing/TokenMgrError.java 2017-09-05 21:26:24 +0000 | |||
1820 | @@ -1,4 +1,4 @@ | |||
1822 | 1 | /* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 7.0 */ | 1 | /* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 5.0 */ |
1823 | 2 | /* JavaCCOptions: */ | 2 | /* JavaCCOptions: */ |
1824 | 3 | package dk.aau.cs.TCTL.CTLParsing; | 3 | package dk.aau.cs.TCTL.CTLParsing; |
1825 | 4 | 4 | ||
1826 | @@ -20,22 +20,22 @@ | |||
1827 | 20 | /** | 20 | /** |
1828 | 21 | * Lexical error occurred. | 21 | * Lexical error occurred. |
1829 | 22 | */ | 22 | */ |
1831 | 23 | public static final int LEXICAL_ERROR = 0; | 23 | static final int LEXICAL_ERROR = 0; |
1832 | 24 | 24 | ||
1833 | 25 | /** | 25 | /** |
1834 | 26 | * An attempt was made to create a second instance of a static token manager. | 26 | * An attempt was made to create a second instance of a static token manager. |
1835 | 27 | */ | 27 | */ |
1837 | 28 | public static final int STATIC_LEXER_ERROR = 1; | 28 | static final int STATIC_LEXER_ERROR = 1; |
1838 | 29 | 29 | ||
1839 | 30 | /** | 30 | /** |
1840 | 31 | * Tried to change to an invalid lexical state. | 31 | * Tried to change to an invalid lexical state. |
1841 | 32 | */ | 32 | */ |
1843 | 33 | public static final int INVALID_LEXICAL_STATE = 2; | 33 | static final int INVALID_LEXICAL_STATE = 2; |
1844 | 34 | 34 | ||
1845 | 35 | /** | 35 | /** |
1846 | 36 | * Detected (and bailed out of) an infinite loop in the token manager. | 36 | * Detected (and bailed out of) an infinite loop in the token manager. |
1847 | 37 | */ | 37 | */ |
1849 | 38 | public static final int LOOP_DETECTED = 3; | 38 | static final int LOOP_DETECTED = 3; |
1850 | 39 | 39 | ||
1851 | 40 | /** | 40 | /** |
1852 | 41 | * Indicates the reason why the exception is thrown. It will have | 41 | * Indicates the reason why the exception is thrown. It will have |
1853 | @@ -53,6 +53,8 @@ | |||
1854 | 53 | for (int i = 0; i < str.length(); i++) { | 53 | for (int i = 0; i < str.length(); i++) { |
1855 | 54 | switch (str.charAt(i)) | 54 | switch (str.charAt(i)) |
1856 | 55 | { | 55 | { |
1857 | 56 | case 0 : | ||
1858 | 57 | continue; | ||
1859 | 56 | case '\b': | 58 | case '\b': |
1860 | 57 | retval.append("\\b"); | 59 | retval.append("\\b"); |
1861 | 58 | continue; | 60 | continue; |
1862 | @@ -102,12 +104,11 @@ | |||
1863 | 102 | * curchar : the offending character | 104 | * curchar : the offending character |
1864 | 103 | * Note: You can customize the lexical error message by modifying this method. | 105 | * Note: You can customize the lexical error message by modifying this method. |
1865 | 104 | */ | 106 | */ |
1868 | 105 | protected static String LexicalErr(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, int curChar) { | 107 | protected static String LexicalError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar) { |
1867 | 106 | char curChar1 = (char)curChar; | ||
1869 | 107 | return("Lexical error at line " + | 108 | return("Lexical error at line " + |
1870 | 108 | errorLine + ", column " + | 109 | errorLine + ", column " + |
1871 | 109 | errorColumn + ". Encountered: " + | 110 | errorColumn + ". Encountered: " + |
1873 | 110 | (EOFSeen ? "<EOF> " : ("\"" + addEscapes(String.valueOf(curChar1)) + "\"") + " (" + (int)curChar + "), ") + | 111 | (EOFSeen ? "<EOF> " : ("\"" + addEscapes(String.valueOf(curChar)) + "\"") + " (" + (int)curChar + "), ") + |
1874 | 111 | "after : \"" + addEscapes(errorAfter) + "\""); | 112 | "after : \"" + addEscapes(errorAfter) + "\""); |
1875 | 112 | } | 113 | } |
1876 | 113 | 114 | ||
1877 | @@ -139,8 +140,8 @@ | |||
1878 | 139 | } | 140 | } |
1879 | 140 | 141 | ||
1880 | 141 | /** Full Constructor. */ | 142 | /** Full Constructor. */ |
1883 | 142 | public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, int curChar, int reason) { | 143 | public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar, int reason) { |
1884 | 143 | this(LexicalErr(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason); | 144 | this(LexicalError(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason); |
1885 | 144 | } | 145 | } |
1886 | 145 | } | 146 | } |
1888 | 146 | /* JavaCC - OriginalChecksum=e4cccd65824e0c3a5184be2779230da1 (do not edit this line) */ | 147 | /* JavaCC - OriginalChecksum=859f023f3abe7d4b866c6b4b7c693934 (do not edit this line) */ |
1889 | 147 | 148 | ||
1890 | === modified file 'src/resources/TCTLParser/TAPAALCTLQueryParser.jj' | |||
1891 | --- src/resources/TCTLParser/TAPAALCTLQueryParser.jj 2017-05-15 10:38:38 +0000 | |||
1892 | +++ src/resources/TCTLParser/TAPAALCTLQueryParser.jj 2017-09-05 21:26:24 +0000 | |||
1893 | @@ -112,7 +112,7 @@ | |||
1894 | 112 | 112 | ||
1895 | 113 | TOKEN : | 113 | TOKEN : |
1896 | 114 | { | 114 | { |
1898 | 115 | < NUM: ( ["0"-"9"] )+ > | 115 | < NUM: ("-")? ( ["0"-"9"] )+ > |
1899 | 116 | | | 116 | | |
1900 | 117 | <IDENT: ["a"-"z","A"-"Z","_"] ( ["a"-"z","A"-"Z","_","0"-"9"] )* > | 117 | <IDENT: ["a"-"z","A"-"Z","_"] ( ["a"-"z","A"-"Z","_","0"-"9"] )* > |
1901 | 118 | } | 118 | } |
Works nicely.