Merge lp:~tapaal-contributor/tapaal/signed-integers-fix-1714815 into lp:tapaal

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
Reviewer Review Type Date Requested Status
Jiri Srba Approve
Review via email: mp+330241@code.launchpad.net

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)

Revision history for this message
Jiri Srba (srba) wrote :

Works nicely.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/dk/aau/cs/TCTL/CTLParsing/ParseException.java'
--- src/dk/aau/cs/TCTL/CTLParsing/ParseException.java 2017-05-07 12:44:00 +0000
+++ src/dk/aau/cs/TCTL/CTLParsing/ParseException.java 2017-09-05 21:26:24 +0000
@@ -1,5 +1,5 @@
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 */
2/* JavaCCOptions:KEEP_LINE_COLUMN=true */2/* JavaCCOptions:KEEP_LINE_COL=null */
3package dk.aau.cs.TCTL.CTLParsing;3package dk.aau.cs.TCTL.CTLParsing;
44
5/**5/**
@@ -21,11 +21,6 @@
21 private static final long serialVersionUID = 1L;21 private static final long serialVersionUID = 1L;
2222
23 /**23 /**
24 * The end of line string for this machine.
25 */
26 protected static String EOL = System.getProperty("line.separator", "\n");
27
28 /**
29 * This constructor is used by the method "generateParseException"24 * This constructor is used by the method "generateParseException"
30 * in the generated parser. Calling this constructor generates25 * in the generated parser. Calling this constructor generates
31 * a new object of this type with the fields "currentToken",26 * a new object of this type with the fields "currentToken",
@@ -93,7 +88,7 @@
93 private static String initialise(Token currentToken,88 private static String initialise(Token currentToken,
94 int[][] expectedTokenSequences,89 int[][] expectedTokenSequences,
95 String[] tokenImage) {90 String[] tokenImage) {
9691 String eol = System.getProperty("line.separator", "\n");
97 StringBuffer expected = new StringBuffer();92 StringBuffer expected = new StringBuffer();
98 int maxSize = 0;93 int maxSize = 0;
99 for (int i = 0; i < expectedTokenSequences.length; i++) {94 for (int i = 0; i < expectedTokenSequences.length; i++) {
@@ -106,7 +101,7 @@
106 if (expectedTokenSequences[i][expectedTokenSequences[i].length - 1] != 0) {101 if (expectedTokenSequences[i][expectedTokenSequences[i].length - 1] != 0) {
107 expected.append("...");102 expected.append("...");
108 }103 }
109 expected.append(EOL).append(" ");104 expected.append(eol).append(" ");
110 }105 }
111 String retval = "Encountered \"";106 String retval = "Encountered \"";
112 Token tok = currentToken.next;107 Token tok = currentToken.next;
@@ -123,23 +118,20 @@
123 tok = tok.next;118 tok = tok.next;
124 }119 }
125 retval += "\" at line " + currentToken.next.beginLine + ", column " + currentToken.next.beginColumn;120 retval += "\" at line " + currentToken.next.beginLine + ", column " + currentToken.next.beginColumn;
126 retval += "." + EOL;121 retval += "." + eol;
127 122 if (expectedTokenSequences.length == 1) {
128 123 retval += "Was expecting:" + eol + " ";
129 if (expectedTokenSequences.length == 0) {
130 // Nothing to add here
131 } else {124 } else {
132 if (expectedTokenSequences.length == 1) {125 retval += "Was expecting one of:" + eol + " ";
133 retval += "Was expecting:" + EOL + " ";
134 } else {
135 retval += "Was expecting one of:" + EOL + " ";
136 }
137 retval += expected.toString();
138 }126 }
139 127 retval += expected.toString();
140 return retval;128 return retval;
141 }129 }
142130
131 /**
132 * The end of line string for this machine.
133 */
134 protected String eol = System.getProperty("line.separator", "\n");
143135
144 /**136 /**
145 * Used to convert raw characters to their escaped version137 * Used to convert raw characters to their escaped version
@@ -152,6 +144,8 @@
152 for (int i = 0; i < str.length(); i++) {144 for (int i = 0; i < str.length(); i++) {
153 switch (str.charAt(i))145 switch (str.charAt(i))
154 {146 {
147 case 0 :
148 continue;
155 case '\b':149 case '\b':
156 retval.append("\\b");150 retval.append("\\b");
157 continue;151 continue;
@@ -190,4 +184,4 @@
190 }184 }
191185
192}186}
193/* JavaCC - OriginalChecksum=cecb7af8f6d81d2720805fee8666f83e (do not edit this line) */187/* JavaCC - OriginalChecksum=e3b16ba93b705462aa836b464f80ade3 (do not edit this line) */
194188
=== modified file 'src/dk/aau/cs/TCTL/CTLParsing/SimpleCharStream.java'
--- src/dk/aau/cs/TCTL/CTLParsing/SimpleCharStream.java 2017-05-07 12:44:00 +0000
+++ src/dk/aau/cs/TCTL/CTLParsing/SimpleCharStream.java 2017-09-05 21:26:24 +0000
@@ -1,4 +1,4 @@
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 */
2/* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */2/* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
3package dk.aau.cs.TCTL.CTLParsing;3package dk.aau.cs.TCTL.CTLParsing;
44
@@ -30,12 +30,10 @@
30 protected char[] buffer;30 protected char[] buffer;
31 protected int maxNextCharInd = 0;31 protected int maxNextCharInd = 0;
32 protected int inBuf = 0;32 protected int inBuf = 0;
33 protected int tabSize = 1;33 protected int tabSize = 8;
34 protected boolean trackLineColumn = true;34
3535 protected void setTabSize(int i) { tabSize = i; }
36 public void setTabSize(int i) { tabSize = i; }36 protected int getTabSize(int i) { return tabSize; }
37 public int getTabSize() { return tabSize; }
38
3937
4038
41 protected void ExpandBuff(boolean wrapAround)39 protected void ExpandBuff(boolean wrapAround)
@@ -468,7 +466,6 @@
468 line = bufline[j];466 line = bufline[j];
469 column = bufcolumn[j];467 column = bufcolumn[j];
470 }468 }
471 boolean getTrackLineColumn() { return trackLineColumn; }469
472 void setTrackLineColumn(boolean tlc) { trackLineColumn = tlc; }
473}470}
474/* JavaCC - OriginalChecksum=3bfee23fa238f42634d20b3466c7eaef (do not edit this line) */471/* JavaCC - OriginalChecksum=816436a32bfa27b6bfceb55653f8d63a (do not edit this line) */
475472
=== modified file 'src/dk/aau/cs/TCTL/CTLParsing/TAPAALCTLQueryParser.java'
--- src/dk/aau/cs/TCTL/CTLParsing/TAPAALCTLQueryParser.java 2017-05-15 10:38:38 +0000
+++ src/dk/aau/cs/TCTL/CTLParsing/TAPAALCTLQueryParser.java 2017-09-05 21:26:24 +0000
@@ -1,4 +1,3 @@
1/* TAPAALCTLQueryParser.java */
2/* Generated By:JavaCC: Do not edit this line. TAPAALCTLQueryParser.java */1/* Generated By:JavaCC: Do not edit this line. TAPAALCTLQueryParser.java */
3package dk.aau.cs.TCTL.CTLParsing;2package dk.aau.cs.TCTL.CTLParsing;
43
@@ -41,164 +40,155 @@
41 }40 }
4241
43/** Root production. */42/** Root production. */
44 final public TCTLAbstractPathProperty AbstractPathProperty() throws ParseException {TCTLAbstractStateProperty child = null;43 final public TCTLAbstractPathProperty AbstractPathProperty() throws ParseException {
44 TCTLAbstractStateProperty child = null;
45 TCTLAbstractStateProperty child2 = null;45 TCTLAbstractStateProperty child2 = null;
46 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {46 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
47 case EF:{47 case EF:
48 jj_consume_token(EF);48 jj_consume_token(EF);
49 child = OrExpr();49 child = OrExpr();
50{if ("" != null) return new TCTLEFNode(child);}50 {if (true) return new TCTLEFNode(child);}
51 break;51 break;
52 }52 case EG:
53 case EG:{
54 jj_consume_token(EG);53 jj_consume_token(EG);
55 child = OrExpr();54 child = OrExpr();
56{if ("" != null) return new TCTLEGNode(child);}55 {if (true) return new TCTLEGNode(child);}
57 break;56 break;
58 }57 case EX:
59 case EX:{
60 jj_consume_token(EX);58 jj_consume_token(EX);
61 child = OrExpr();59 child = OrExpr();
62{if ("" != null) return new TCTLEXNode(child);}60 {if (true) return new TCTLEXNode(child);}
63 break;61 break;
64 }62 case E:
65 case E:{
66 jj_consume_token(E);63 jj_consume_token(E);
67 jj_consume_token(26);64 jj_consume_token(26);
68 child = OrExpr();65 child = OrExpr();
69 jj_consume_token(U);66 jj_consume_token(U);
70 child2 = OrExpr();67 child2 = OrExpr();
71 jj_consume_token(27);68 jj_consume_token(27);
72{if ("" != null) return new TCTLEUNode(child, child2);}69 {if (true) return new TCTLEUNode(child, child2);}
73 break;70 break;
74 }71 case AF:
75 case AF:{
76 jj_consume_token(AF);72 jj_consume_token(AF);
77 child = OrExpr();73 child = OrExpr();
78{if ("" != null) return new TCTLAFNode(child);}74 {if (true) return new TCTLAFNode(child);}
79 break;75 break;
80 }76 case AG:
81 case AG:{
82 jj_consume_token(AG);77 jj_consume_token(AG);
83 child = OrExpr();78 child = OrExpr();
84{if ("" != null) return new TCTLAGNode(child);}79 {if (true) return new TCTLAGNode(child);}
85 break;80 break;
86 }81 case A:
87 case A:{
88 jj_consume_token(A);82 jj_consume_token(A);
89 jj_consume_token(26);83 jj_consume_token(26);
90 child = OrExpr();84 child = OrExpr();
91 jj_consume_token(U);85 jj_consume_token(U);
92 child2 = OrExpr();86 child2 = OrExpr();
93 jj_consume_token(27);87 jj_consume_token(27);
94{if ("" != null) return new TCTLAUNode(child, child2);}88 {if (true) return new TCTLAUNode(child, child2);}
95 break;89 break;
96 }90 case AX:
97 case AX:{
98 jj_consume_token(AX);91 jj_consume_token(AX);
99 child = OrExpr();92 child = OrExpr();
100{if ("" != null) return new TCTLAXNode(child);}93 {if (true) return new TCTLAXNode(child);}
101 break;94 break;
102 }
103 default:95 default:
104 jj_la1[0] = jj_gen;96 jj_la1[0] = jj_gen;
105 child = OrExpr();97 child = OrExpr();
106{if ("" != null) return new TCTLStateToPathConverter(child);}98 {if (true) return new TCTLStateToPathConverter(child);}
107 }99 }
108 throw new Error("Missing return statement in function");100 throw new Error("Missing return statement in function");
109}101 }
110102
111 final public TCTLAbstractStateProperty OrExpr() throws ParseException {TCTLAbstractStateProperty currentChild;103 final public TCTLAbstractStateProperty OrExpr() throws ParseException {
104 TCTLAbstractStateProperty currentChild;
112 ArrayList<TCTLAbstractStateProperty> disjunctions = new ArrayList<TCTLAbstractStateProperty>();105 ArrayList<TCTLAbstractStateProperty> disjunctions = new ArrayList<TCTLAbstractStateProperty>();
113 currentChild = AndExpr();106 currentChild = AndExpr();
114disjunctions.add(currentChild);107 disjunctions.add(currentChild);
115 label_1:108 label_1:
116 while (true) {109 while (true) {
117 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {110 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
118 case OR:{111 case OR:
119 ;112 ;
120 break;113 break;
121 }
122 default:114 default:
123 jj_la1[1] = jj_gen;115 jj_la1[1] = jj_gen;
124 break label_1;116 break label_1;
125 }117 }
126 jj_consume_token(OR);118 jj_consume_token(OR);
127 currentChild = AndExpr();119 currentChild = AndExpr();
128disjunctions.add(currentChild);120 disjunctions.add(currentChild);
129 }121 }
130{if ("" != null) return disjunctions.size() == 1 ? currentChild : new TCTLOrListNode(disjunctions);}122 {if (true) return disjunctions.size() == 1 ? currentChild : new TCTLOrListNode(disjunctions);}
131 throw new Error("Missing return statement in function");123 throw new Error("Missing return statement in function");
132}124 }
133125
134 final public TCTLAbstractStateProperty AndExpr() throws ParseException {TCTLAbstractStateProperty currentChild;126 final public TCTLAbstractStateProperty AndExpr() throws ParseException {
127 TCTLAbstractStateProperty currentChild;
135 ArrayList<TCTLAbstractStateProperty> conjunctions = new ArrayList<TCTLAbstractStateProperty>();128 ArrayList<TCTLAbstractStateProperty> conjunctions = new ArrayList<TCTLAbstractStateProperty>();
136 currentChild = NotExpr();129 currentChild = NotExpr();
137conjunctions.add(currentChild);130 conjunctions.add(currentChild);
138 label_2:131 label_2:
139 while (true) {132 while (true) {
140 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {133 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
141 case AND:{134 case AND:
142 ;135 ;
143 break;136 break;
144 }
145 default:137 default:
146 jj_la1[2] = jj_gen;138 jj_la1[2] = jj_gen;
147 break label_2;139 break label_2;
148 }140 }
149 jj_consume_token(AND);141 jj_consume_token(AND);
150 currentChild = NotExpr();142 currentChild = NotExpr();
151conjunctions.add(currentChild);143 conjunctions.add(currentChild);
152 }144 }
153{if ("" != null) return conjunctions.size() == 1 ? currentChild : new TCTLAndListNode(conjunctions);}145 {if (true) return conjunctions.size() == 1 ? currentChild : new TCTLAndListNode(conjunctions);}
154 throw new Error("Missing return statement in function");146 throw new Error("Missing return statement in function");
155}147 }
156148
157 final public TCTLAbstractStateProperty NotExpr() throws ParseException {TCTLAbstractStateProperty child;149 final public TCTLAbstractStateProperty NotExpr() throws ParseException {
150 TCTLAbstractStateProperty child;
158 TCTLAbstractPathProperty childConverter;151 TCTLAbstractPathProperty childConverter;
159 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {152 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
160 case NOT:{153 case NOT:
161 jj_consume_token(NOT);154 jj_consume_token(NOT);
162 jj_consume_token(26);155 jj_consume_token(26);
163 child = OrExpr();156 child = OrExpr();
164 jj_consume_token(27);157 jj_consume_token(27);
165{if ("" != null) return new TCTLNotNode(child);}158 {if (true) return new TCTLNotNode(child);}
166 break;159 break;
167 }
168 default:160 default:
169 jj_la1[3] = jj_gen;161 jj_la1[3] = jj_gen;
170 child = Factor();162 child = Factor();
171{if ("" != null) return child;}163 {if (true) return child;}
172 }164 }
173 throw new Error("Missing return statement in function");165 throw new Error("Missing return statement in function");
174}166 }
175167
176 final public TCTLAbstractStateProperty Factor() throws ParseException {TCTLAbstractStateProperty thisProp;168 final public TCTLAbstractStateProperty Factor() throws ParseException {
169 TCTLAbstractStateProperty thisProp;
177 Token temp = null;170 Token temp = null;
178 Token transition;171 Token transition;
179 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {172 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
180 case TRUE:{173 case TRUE:
181 jj_consume_token(TRUE);174 jj_consume_token(TRUE);
182thisProp = new TCTLTrueNode();175 thisProp = new TCTLTrueNode();
183 break;176 break;
184 }177 case FALSE:
185 case FALSE:{
186 jj_consume_token(FALSE);178 jj_consume_token(FALSE);
187thisProp = new TCTLFalseNode();179 thisProp = new TCTLFalseNode();
188 break;180 break;
189 }181 case DEADLOCK:
190 case DEADLOCK:{
191 jj_consume_token(DEADLOCK);182 jj_consume_token(DEADLOCK);
192thisProp = new TCTLDeadlockNode();183 thisProp = new TCTLDeadlockNode();
193 break;184 break;
194 }
195 default:185 default:
196 jj_la1[4] = jj_gen;186 jj_la1[4] = jj_gen;
197 if (jj_2_2(2147483647)) {187 if (jj_2_2(2147483647)) {
198 thisProp = AtomicProposition();188 thisProp = AtomicProposition();
199 } else {189 } else {
200 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {190 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
201 case IDENT:{191 case IDENT:
202 if (jj_2_1(2)) {192 if (jj_2_1(2)) {
203 temp = jj_consume_token(IDENT);193 temp = jj_consume_token(IDENT);
204 jj_consume_token(28);194 jj_consume_token(28);
@@ -206,117 +196,117 @@
206 ;196 ;
207 }197 }
208 transition = jj_consume_token(IDENT);198 transition = jj_consume_token(IDENT);
209thisProp = new TCTLTransitionNode(temp == null ? "" : temp.image, transition.image);199 thisProp = new TCTLTransitionNode(temp == null ? "" : temp.image, transition.image);
210 break;200 break;
211 }201 case 26:
212 case 26:{
213 jj_consume_token(26);202 jj_consume_token(26);
214 thisProp = OrExpr();203 thisProp = OrExpr();
215 jj_consume_token(27);204 jj_consume_token(27);
216 break;205 break;
217 }
218 default:206 default:
219 jj_la1[5] = jj_gen;207 jj_la1[5] = jj_gen;
220thisProp = new TCTLPathToStateConverter(AbstractPathProperty());208 thisProp = new TCTLPathToStateConverter(AbstractPathProperty());
221 }209 }
222 }210 }
223 }211 }
224{if ("" != null) return thisProp;}212 {if (true) return thisProp;}
225 throw new Error("Missing return statement in function");213 throw new Error("Missing return statement in function");
226}214 }
227215
228 final public TCTLAbstractStateProperty AtomicProposition() throws ParseException {TCTLAbstractStateProperty left;216 final public TCTLAbstractStateProperty AtomicProposition() throws ParseException {
217 TCTLAbstractStateProperty left;
229 TCTLAbstractStateProperty right;218 TCTLAbstractStateProperty right;
230 Token op;219 Token op;
231 left = AritmeticExpr();220 left = AritmeticExpr();
232 op = jj_consume_token(OP);221 op = jj_consume_token(OP);
233 right = AritmeticExpr();222 right = AritmeticExpr();
234{if ("" != null) return new TCTLAtomicPropositionNode(left, op.image, right);}223 {if (true) return new TCTLAtomicPropositionNode(left, op.image, right);}
235 throw new Error("Missing return statement in function");224 throw new Error("Missing return statement in function");
236}225 }
237226
238 final public TCTLAbstractStateProperty AritmeticExpr() throws ParseException {TCTLAbstractStateProperty currentChild;227 final public TCTLAbstractStateProperty AritmeticExpr() throws ParseException {
228 TCTLAbstractStateProperty currentChild;
239 ArrayList<TCTLAbstractStateProperty> terms = new ArrayList<TCTLAbstractStateProperty>();229 ArrayList<TCTLAbstractStateProperty> terms = new ArrayList<TCTLAbstractStateProperty>();
240 Token op;230 Token op;
241 currentChild = AritmeticMinusExpr();231 currentChild = AritmeticMinusExpr();
242terms.add(currentChild);232 terms.add(currentChild);
243 label_3:233 label_3:
244 while (true) {234 while (true) {
245 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {235 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
246 case PLUS:{236 case PLUS:
247 ;237 ;
248 break;238 break;
249 }
250 default:239 default:
251 jj_la1[6] = jj_gen;240 jj_la1[6] = jj_gen;
252 break label_3;241 break label_3;
253 }242 }
254 op = jj_consume_token(PLUS);243 op = jj_consume_token(PLUS);
255 currentChild = AritmeticMinusExpr();244 currentChild = AritmeticMinusExpr();
256terms.add(new AritmeticOperator(op.image));245 terms.add(new AritmeticOperator(op.image));
257 terms.add(currentChild);246 terms.add(currentChild);
258 }247 }
259{if ("" != null) return terms.size() == 1 ? currentChild : new TCTLTermListNode(terms);}248 {if (true) return terms.size() == 1 ? currentChild : new TCTLTermListNode(terms);}
260 throw new Error("Missing return statement in function");249 throw new Error("Missing return statement in function");
261}250 }
262251
263 final public TCTLAbstractStateProperty AritmeticMinusExpr() throws ParseException {TCTLAbstractStateProperty currentChild;252 final public TCTLAbstractStateProperty AritmeticMinusExpr() throws ParseException {
253 TCTLAbstractStateProperty currentChild;
264 ArrayList<TCTLAbstractStateProperty> terms = new ArrayList<TCTLAbstractStateProperty>();254 ArrayList<TCTLAbstractStateProperty> terms = new ArrayList<TCTLAbstractStateProperty>();
265 Token op;255 Token op;
266 currentChild = AritmeticTerm();256 currentChild = AritmeticTerm();
267terms.add(currentChild);257 terms.add(currentChild);
268 label_4:258 label_4:
269 while (true) {259 while (true) {
270 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {260 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
271 case MINUS:{261 case MINUS:
272 ;262 ;
273 break;263 break;
274 }
275 default:264 default:
276 jj_la1[7] = jj_gen;265 jj_la1[7] = jj_gen;
277 break label_4;266 break label_4;
278 }267 }
279 op = jj_consume_token(MINUS);268 op = jj_consume_token(MINUS);
280 currentChild = AritmeticTerm();269 currentChild = AritmeticTerm();
281terms.add(new AritmeticOperator(op.image));270 terms.add(new AritmeticOperator(op.image));
282 terms.add(currentChild);271 terms.add(currentChild);
283 }272 }
284{if ("" != null) return terms.size() == 1 ? currentChild : new TCTLTermListNode(terms);}273 {if (true) return terms.size() == 1 ? currentChild : new TCTLTermListNode(terms);}
285 throw new Error("Missing return statement in function");274 throw new Error("Missing return statement in function");
286}275 }
287276
288 final public TCTLAbstractStateProperty AritmeticTerm() throws ParseException {TCTLAbstractStateProperty currentChild;277 final public TCTLAbstractStateProperty AritmeticTerm() throws ParseException {
278 TCTLAbstractStateProperty currentChild;
289 ArrayList<TCTLAbstractStateProperty> factors = new ArrayList<TCTLAbstractStateProperty>();279 ArrayList<TCTLAbstractStateProperty> factors = new ArrayList<TCTLAbstractStateProperty>();
290 Token op;280 Token op;
291 currentChild = AritmeticFactor();281 currentChild = AritmeticFactor();
292factors.add(currentChild);282 factors.add(currentChild);
293 label_5:283 label_5:
294 while (true) {284 while (true) {
295 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {285 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
296 case MULT:{286 case MULT:
297 ;287 ;
298 break;288 break;
299 }
300 default:289 default:
301 jj_la1[8] = jj_gen;290 jj_la1[8] = jj_gen;
302 break label_5;291 break label_5;
303 }292 }
304 op = jj_consume_token(MULT);293 op = jj_consume_token(MULT);
305 currentChild = AritmeticFactor();294 currentChild = AritmeticFactor();
306factors.add(new AritmeticOperator(op.image));295 factors.add(new AritmeticOperator(op.image));
307 factors.add(currentChild);296 factors.add(currentChild);
308 }297 }
309{if ("" != null) return factors.size() == 1 ? currentChild : new TCTLTermListNode(factors);}298 {if (true) return factors.size() == 1 ? currentChild : new TCTLTermListNode(factors);}
310 throw new Error("Missing return statement in function");299 throw new Error("Missing return statement in function");
311}300 }
312301
313 final public TCTLAbstractStateProperty AritmeticFactor() throws ParseException {TCTLAbstractStateProperty thisProp;302 final public TCTLAbstractStateProperty AritmeticFactor() throws ParseException {
303 TCTLAbstractStateProperty thisProp;
314 Token temp = null;304 Token temp = null;
315 Token place;305 Token place;
316 Token op;306 Token op;
317 Token num;307 Token num;
318 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {308 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
319 case IDENT:{309 case IDENT:
320 if (jj_2_3(2)) {310 if (jj_2_3(2)) {
321 temp = jj_consume_token(IDENT);311 temp = jj_consume_token(IDENT);
322 jj_consume_token(28);312 jj_consume_token(28);
@@ -324,90 +314,78 @@
324 ;314 ;
325 }315 }
326 place = jj_consume_token(IDENT);316 place = jj_consume_token(IDENT);
327thisProp = new TCTLPlaceNode(temp == null ? "" : temp.image, place.image);317 thisProp = new TCTLPlaceNode(temp == null ? "" : temp.image, place.image);
328 break;318 break;
329 }319 case NUM:
330 case NUM:{
331 num = jj_consume_token(NUM);320 num = jj_consume_token(NUM);
332thisProp = new TCTLConstNode(Integer.parseInt(num.image));321 thisProp = new TCTLConstNode(Integer.parseInt(num.image));
333 break;322 break;
334 }323 case 26:
335 case 26:{
336 jj_consume_token(26);324 jj_consume_token(26);
337 thisProp = AritmeticExpr();325 thisProp = AritmeticExpr();
338 jj_consume_token(27);326 jj_consume_token(27);
339 break;327 break;
340 }
341 default:328 default:
342 jj_la1[9] = jj_gen;329 jj_la1[9] = jj_gen;
343 jj_consume_token(-1);330 jj_consume_token(-1);
344 throw new ParseException();331 throw new ParseException();
345 }332 }
346{if ("" != null) return thisProp;}333 {if (true) return thisProp;}
347 throw new Error("Missing return statement in function");334 throw new Error("Missing return statement in function");
348}335 }
349336
350 private boolean jj_2_1(int xla)337 private boolean jj_2_1(int xla) {
351 {
352 jj_la = xla; jj_lastpos = jj_scanpos = token;338 jj_la = xla; jj_lastpos = jj_scanpos = token;
353 try { return (!jj_3_1()); }339 try { return !jj_3_1(); }
354 catch(LookaheadSuccess ls) { return true; }340 catch(LookaheadSuccess ls) { return true; }
355 finally { jj_save(0, xla); }341 finally { jj_save(0, xla); }
356 }342 }
357343
358 private boolean jj_2_2(int xla)344 private boolean jj_2_2(int xla) {
359 {
360 jj_la = xla; jj_lastpos = jj_scanpos = token;345 jj_la = xla; jj_lastpos = jj_scanpos = token;
361 try { return (!jj_3_2()); }346 try { return !jj_3_2(); }
362 catch(LookaheadSuccess ls) { return true; }347 catch(LookaheadSuccess ls) { return true; }
363 finally { jj_save(1, xla); }348 finally { jj_save(1, xla); }
364 }349 }
365350
366 private boolean jj_2_3(int xla)351 private boolean jj_2_3(int xla) {
367 {
368 jj_la = xla; jj_lastpos = jj_scanpos = token;352 jj_la = xla; jj_lastpos = jj_scanpos = token;
369 try { return (!jj_3_3()); }353 try { return !jj_3_3(); }
370 catch(LookaheadSuccess ls) { return true; }354 catch(LookaheadSuccess ls) { return true; }
371 finally { jj_save(2, xla); }355 finally { jj_save(2, xla); }
372 }356 }
373357
374 private boolean jj_3R_16()358 private boolean jj_3R_16() {
375 {
376 if (jj_scan_token(26)) return true;359 if (jj_scan_token(26)) return true;
377 if (jj_3R_7()) return true;360 if (jj_3R_7()) return true;
378 if (jj_scan_token(27)) return true;361 if (jj_scan_token(27)) return true;
379 return false;362 return false;
380 }363 }
381364
382 private boolean jj_3R_13()365 private boolean jj_3R_13() {
383 {
384 if (jj_scan_token(MULT)) return true;366 if (jj_scan_token(MULT)) return true;
385 if (jj_3R_12()) return true;367 if (jj_3R_12()) return true;
386 return false;368 return false;
387 }369 }
388370
389 private boolean jj_3_1()371 private boolean jj_3_1() {
390 {
391 if (jj_scan_token(IDENT)) return true;372 if (jj_scan_token(IDENT)) return true;
392 if (jj_scan_token(28)) return true;373 if (jj_scan_token(28)) return true;
393 return false;374 return false;
394 }375 }
395376
396 private boolean jj_3R_15()377 private boolean jj_3R_15() {
397 {
398 if (jj_scan_token(NUM)) return true;378 if (jj_scan_token(NUM)) return true;
399 return false;379 return false;
400 }380 }
401381
402 private boolean jj_3_3()382 private boolean jj_3_3() {
403 {
404 if (jj_scan_token(IDENT)) return true;383 if (jj_scan_token(IDENT)) return true;
405 if (jj_scan_token(28)) return true;384 if (jj_scan_token(28)) return true;
406 return false;385 return false;
407 }386 }
408387
409 private boolean jj_3R_7()388 private boolean jj_3R_7() {
410 {
411 if (jj_3R_8()) return true;389 if (jj_3R_8()) return true;
412 Token xsp;390 Token xsp;
413 while (true) {391 while (true) {
@@ -417,8 +395,7 @@
417 return false;395 return false;
418 }396 }
419397
420 private boolean jj_3R_14()398 private boolean jj_3R_14() {
421 {
422 Token xsp;399 Token xsp;
423 xsp = jj_scanpos;400 xsp = jj_scanpos;
424 if (jj_3_3()) jj_scanpos = xsp;401 if (jj_3_3()) jj_scanpos = xsp;
@@ -426,8 +403,7 @@
426 return false;403 return false;
427 }404 }
428405
429 private boolean jj_3R_8()406 private boolean jj_3R_8() {
430 {
431 if (jj_3R_10()) return true;407 if (jj_3R_10()) return true;
432 Token xsp;408 Token xsp;
433 while (true) {409 while (true) {
@@ -437,8 +413,7 @@
437 return false;413 return false;
438 }414 }
439415
440 private boolean jj_3R_10()416 private boolean jj_3R_10() {
441 {
442 if (jj_3R_12()) return true;417 if (jj_3R_12()) return true;
443 Token xsp;418 Token xsp;
444 while (true) {419 while (true) {
@@ -448,8 +423,7 @@
448 return false;423 return false;
449 }424 }
450425
451 private boolean jj_3R_12()426 private boolean jj_3R_12() {
452 {
453 Token xsp;427 Token xsp;
454 xsp = jj_scanpos;428 xsp = jj_scanpos;
455 if (jj_3R_14()) {429 if (jj_3R_14()) {
@@ -462,29 +436,25 @@
462 return false;436 return false;
463 }437 }
464438
465 private boolean jj_3R_9()439 private boolean jj_3R_9() {
466 {
467 if (jj_scan_token(PLUS)) return true;440 if (jj_scan_token(PLUS)) return true;
468 if (jj_3R_8()) return true;441 if (jj_3R_8()) return true;
469 return false;442 return false;
470 }443 }
471444
472 private boolean jj_3_2()445 private boolean jj_3_2() {
473 {
474 if (jj_3R_6()) return true;446 if (jj_3R_6()) return true;
475 return false;447 return false;
476 }448 }
477449
478 private boolean jj_3R_6()450 private boolean jj_3R_6() {
479 {
480 if (jj_3R_7()) return true;451 if (jj_3R_7()) return true;
481 if (jj_scan_token(OP)) return true;452 if (jj_scan_token(OP)) return true;
482 if (jj_3R_7()) return true;453 if (jj_3R_7()) return true;
483 return false;454 return false;
484 }455 }
485456
486 private boolean jj_3R_11()457 private boolean jj_3R_11() {
487 {
488 if (jj_scan_token(MINUS)) return true;458 if (jj_scan_token(MINUS)) return true;
489 if (jj_3R_10()) return true;459 if (jj_3R_10()) return true;
490 return false;460 return false;
@@ -504,168 +474,159 @@
504 final private int[] jj_la1 = new int[10];474 final private int[] jj_la1 = new int[10];
505 static private int[] jj_la1_0;475 static private int[] jj_la1_0;
506 static {476 static {
507 jj_la1_init_0();477 jj_la1_init_0();
508 }478 }
509 private static void jj_la1_init_0() {479 private static void jj_la1_init_0() {
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,};
511 }481 }
512 final private JJCalls[] jj_2_rtns = new JJCalls[3];482 final private JJCalls[] jj_2_rtns = new JJCalls[3];
513 private boolean jj_rescan = false;483 private boolean jj_rescan = false;
514 private int jj_gc = 0;484 private int jj_gc = 0;
515485
516 /** Constructor with InputStream. */486 /** Constructor with InputStream. */
517 public TAPAALCTLQueryParser(java.io.InputStream stream) {487 public TAPAALCTLQueryParser(java.io.InputStream stream) {
518 this(stream, null);488 this(stream, null);
519 }489 }
520 /** Constructor with InputStream and supplied encoding */490 /** Constructor with InputStream and supplied encoding */
521 public TAPAALCTLQueryParser(java.io.InputStream stream, String encoding) {491 public TAPAALCTLQueryParser(java.io.InputStream stream, String encoding) {
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); }
523 token_source = new TAPAALCTLQueryParserTokenManager(jj_input_stream);493 token_source = new TAPAALCTLQueryParserTokenManager(jj_input_stream);
524 token = new Token();494 token = new Token();
525 jj_ntk = -1;495 jj_ntk = -1;
526 jj_gen = 0;496 jj_gen = 0;
527 for (int i = 0; i < 10; i++) jj_la1[i] = -1;497 for (int i = 0; i < 10; i++) jj_la1[i] = -1;
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();
529 }499 }
530500
531 /** Reinitialise. */501 /** Reinitialise. */
532 public void ReInit(java.io.InputStream stream) {502 public void ReInit(java.io.InputStream stream) {
533 ReInit(stream, null);503 ReInit(stream, null);
534 }504 }
535 /** Reinitialise. */505 /** Reinitialise. */
536 public void ReInit(java.io.InputStream stream, String encoding) {506 public void ReInit(java.io.InputStream stream, String encoding) {
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); }
538 token_source.ReInit(jj_input_stream);508 token_source.ReInit(jj_input_stream);
539 token = new Token();509 token = new Token();
540 jj_ntk = -1;510 jj_ntk = -1;
541 jj_gen = 0;511 jj_gen = 0;
542 for (int i = 0; i < 10; i++) jj_la1[i] = -1;512 for (int i = 0; i < 10; i++) jj_la1[i] = -1;
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();
544 }514 }
545515
546 /** Constructor. */516 /** Constructor. */
547 public TAPAALCTLQueryParser(java.io.Reader stream) {517 public TAPAALCTLQueryParser(java.io.Reader stream) {
548 jj_input_stream = new SimpleCharStream(stream, 1, 1);518 jj_input_stream = new SimpleCharStream(stream, 1, 1);
549 token_source = new TAPAALCTLQueryParserTokenManager(jj_input_stream);519 token_source = new TAPAALCTLQueryParserTokenManager(jj_input_stream);
550 token = new Token();520 token = new Token();
551 jj_ntk = -1;521 jj_ntk = -1;
552 jj_gen = 0;522 jj_gen = 0;
553 for (int i = 0; i < 10; i++) jj_la1[i] = -1;523 for (int i = 0; i < 10; i++) jj_la1[i] = -1;
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();
555 }525 }
556526
557 /** Reinitialise. */527 /** Reinitialise. */
558 public void ReInit(java.io.Reader stream) {528 public void ReInit(java.io.Reader stream) {
559 if (jj_input_stream == null) {529 jj_input_stream.ReInit(stream, 1, 1);
560 jj_input_stream = new SimpleCharStream(stream, 1, 1);530 token_source.ReInit(jj_input_stream);
561 } else {531 token = new Token();
562 jj_input_stream.ReInit(stream, 1, 1);532 jj_ntk = -1;
563 }533 jj_gen = 0;
564 if (token_source == null) {534 for (int i = 0; i < 10; i++) jj_la1[i] = -1;
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();
566 }
567
568 token_source.ReInit(jj_input_stream);
569 token = new Token();
570 jj_ntk = -1;
571 jj_gen = 0;
572 for (int i = 0; i < 10; i++) jj_la1[i] = -1;
573 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
574 }536 }
575537
576 /** Constructor with generated Token Manager. */538 /** Constructor with generated Token Manager. */
577 public TAPAALCTLQueryParser(TAPAALCTLQueryParserTokenManager tm) {539 public TAPAALCTLQueryParser(TAPAALCTLQueryParserTokenManager tm) {
578 token_source = tm;540 token_source = tm;
579 token = new Token();541 token = new Token();
580 jj_ntk = -1;542 jj_ntk = -1;
581 jj_gen = 0;543 jj_gen = 0;
582 for (int i = 0; i < 10; i++) jj_la1[i] = -1;544 for (int i = 0; i < 10; i++) jj_la1[i] = -1;
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();
584 }546 }
585547
586 /** Reinitialise. */548 /** Reinitialise. */
587 public void ReInit(TAPAALCTLQueryParserTokenManager tm) {549 public void ReInit(TAPAALCTLQueryParserTokenManager tm) {
588 token_source = tm;550 token_source = tm;
589 token = new Token();551 token = new Token();
590 jj_ntk = -1;552 jj_ntk = -1;
591 jj_gen = 0;553 jj_gen = 0;
592 for (int i = 0; i < 10; i++) jj_la1[i] = -1;554 for (int i = 0; i < 10; i++) jj_la1[i] = -1;
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();
594 }556 }
595557
596 private Token jj_consume_token(int kind) throws ParseException {558 private Token jj_consume_token(int kind) throws ParseException {
597 Token oldToken;559 Token oldToken;
598 if ((oldToken = token).next != null) token = token.next;560 if ((oldToken = token).next != null) token = token.next;
599 else token = token.next = token_source.getNextToken();561 else token = token.next = token_source.getNextToken();
600 jj_ntk = -1;562 jj_ntk = -1;
601 if (token.kind == kind) {563 if (token.kind == kind) {
602 jj_gen++;564 jj_gen++;
603 if (++jj_gc > 100) {565 if (++jj_gc > 100) {
604 jj_gc = 0;566 jj_gc = 0;
605 for (int i = 0; i < jj_2_rtns.length; i++) {567 for (int i = 0; i < jj_2_rtns.length; i++) {
606 JJCalls c = jj_2_rtns[i];568 JJCalls c = jj_2_rtns[i];
607 while (c != null) {569 while (c != null) {
608 if (c.gen < jj_gen) c.first = null;570 if (c.gen < jj_gen) c.first = null;
609 c = c.next;571 c = c.next;
610 }572 }
611 }573 }
612 }574 }
613 return token;575 return token;
614 }576 }
615 token = oldToken;577 token = oldToken;
616 jj_kind = kind;578 jj_kind = kind;
617 throw generateParseException();579 throw generateParseException();
618 }580 }
619581
620 @SuppressWarnings("serial")
621 static private final class LookaheadSuccess extends java.lang.Error { }582 static private final class LookaheadSuccess extends java.lang.Error { }
622 final private LookaheadSuccess jj_ls = new LookaheadSuccess();583 final private LookaheadSuccess jj_ls = new LookaheadSuccess();
623 private boolean jj_scan_token(int kind) {584 private boolean jj_scan_token(int kind) {
624 if (jj_scanpos == jj_lastpos) {585 if (jj_scanpos == jj_lastpos) {
625 jj_la--;586 jj_la--;
626 if (jj_scanpos.next == null) {587 if (jj_scanpos.next == null) {
627 jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();588 jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
628 } else {589 } else {
629 jj_lastpos = jj_scanpos = jj_scanpos.next;590 jj_lastpos = jj_scanpos = jj_scanpos.next;
630 }591 }
631 } else {592 } else {
632 jj_scanpos = jj_scanpos.next;593 jj_scanpos = jj_scanpos.next;
633 }594 }
634 if (jj_rescan) {595 if (jj_rescan) {
635 int i = 0; Token tok = token;596 int i = 0; Token tok = token;
636 while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }597 while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
637 if (tok != null) jj_add_error_token(kind, i);598 if (tok != null) jj_add_error_token(kind, i);
638 }599 }
639 if (jj_scanpos.kind != kind) return true;600 if (jj_scanpos.kind != kind) return true;
640 if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls;601 if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls;
641 return false;602 return false;
642 }603 }
643604
644605
645/** Get the next Token. */606/** Get the next Token. */
646 final public Token getNextToken() {607 final public Token getNextToken() {
647 if (token.next != null) token = token.next;608 if (token.next != null) token = token.next;
648 else token = token.next = token_source.getNextToken();609 else token = token.next = token_source.getNextToken();
649 jj_ntk = -1;610 jj_ntk = -1;
650 jj_gen++;611 jj_gen++;
651 return token;612 return token;
652 }613 }
653614
654/** Get the specific Token. */615/** Get the specific Token. */
655 final public Token getToken(int index) {616 final public Token getToken(int index) {
656 Token t = token;617 Token t = token;
657 for (int i = 0; i < index; i++) {618 for (int i = 0; i < index; i++) {
658 if (t.next != null) t = t.next;619 if (t.next != null) t = t.next;
659 else t = t.next = token_source.getNextToken();620 else t = t.next = token_source.getNextToken();
660 }621 }
661 return t;622 return t;
662 }623 }
663624
664 private int jj_ntk_f() {625 private int jj_ntk() {
665 if ((jj_nt=token.next) == null)626 if ((jj_nt=token.next) == null)
666 return (jj_ntk = (token.next=token_source.getNextToken()).kind);627 return (jj_ntk = (token.next=token_source.getNextToken()).kind);
667 else628 else
668 return (jj_ntk = jj_nt.kind);629 return (jj_ntk = jj_nt.kind);
669 }630 }
670631
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[]>();
@@ -675,83 +636,65 @@
675 private int jj_endpos;636 private int jj_endpos;
676637
677 private void jj_add_error_token(int kind, int pos) {638 private void jj_add_error_token(int kind, int pos) {
678 if (pos >= 100) {639 if (pos >= 100) return;
679 return;640 if (pos == jj_endpos + 1) {
680 }641 jj_lasttokens[jj_endpos++] = kind;
681642 } else if (jj_endpos != 0) {
682 if (pos == jj_endpos + 1) {643 jj_expentry = new int[jj_endpos];
683 jj_lasttokens[jj_endpos++] = kind;644 for (int i = 0; i < jj_endpos; i++) {
684 } else if (jj_endpos != 0) {645 jj_expentry[i] = jj_lasttokens[i];
685 jj_expentry = new int[jj_endpos];646 }
686647 boolean exists = false;
687 for (int i = 0; i < jj_endpos; i++) {648 for (java.util.Iterator<?> it = jj_expentries.iterator(); it.hasNext();) {
688 jj_expentry[i] = jj_lasttokens[i];649 exists = true;
689 }650 int[] oldentry = (int[])(it.next());
690651 if (oldentry.length == jj_expentry.length) {
691 for (int[] oldentry : jj_expentries) {652 for (int i = 0; i < jj_expentry.length; i++) {
692 if (oldentry.length == jj_expentry.length) {653 if (oldentry[i] != jj_expentry[i]) {
693 boolean isMatched = true;654 exists = false;
694655 break;
695 for (int i = 0; i < jj_expentry.length; i++) {656 }
696 if (oldentry[i] != jj_expentry[i]) {657 }
697 isMatched = false;658 if (exists) break;
698 break;659 }
699 }660 }
700661 if (!exists) jj_expentries.add(jj_expentry);
701 }662 if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
702 if (isMatched) {663 }
703 jj_expentries.add(jj_expentry);
704 break;
705 }
706 }
707 }
708
709 if (pos != 0) {
710 jj_lasttokens[(jj_endpos = pos) - 1] = kind;
711 }
712 }
713 }664 }
714665
715 /** Generate ParseException. */666 /** Generate ParseException. */
716 public ParseException generateParseException() {667 public ParseException generateParseException() {
717 jj_expentries.clear();668 jj_expentries.clear();
718 boolean[] la1tokens = new boolean[29];669 boolean[] la1tokens = new boolean[29];
719 if (jj_kind >= 0) {670 if (jj_kind >= 0) {
720 la1tokens[jj_kind] = true;671 la1tokens[jj_kind] = true;
721 jj_kind = -1;672 jj_kind = -1;
722 }673 }
723 for (int i = 0; i < 10; i++) {674 for (int i = 0; i < 10; i++) {
724 if (jj_la1[i] == jj_gen) {675 if (jj_la1[i] == jj_gen) {
725 for (int j = 0; j < 32; j++) {676 for (int j = 0; j < 32; j++) {
726 if ((jj_la1_0[i] & (1<<j)) != 0) {677 if ((jj_la1_0[i] & (1<<j)) != 0) {
727 la1tokens[j] = true;678 la1tokens[j] = true;
728 }679 }
729 }680 }
730 }681 }
731 }682 }
732 for (int i = 0; i < 29; i++) {683 for (int i = 0; i < 29; i++) {
733 if (la1tokens[i]) {684 if (la1tokens[i]) {
734 jj_expentry = new int[1];685 jj_expentry = new int[1];
735 jj_expentry[0] = i;686 jj_expentry[0] = i;
736 jj_expentries.add(jj_expentry);687 jj_expentries.add(jj_expentry);
737 }688 }
738 }689 }
739 jj_endpos = 0;690 jj_endpos = 0;
740 jj_rescan_token();691 jj_rescan_token();
741 jj_add_error_token(0, 0);692 jj_add_error_token(0, 0);
742 int[][] exptokseq = new int[jj_expentries.size()][];693 int[][] exptokseq = new int[jj_expentries.size()][];
743 for (int i = 0; i < jj_expentries.size(); i++) {694 for (int i = 0; i < jj_expentries.size(); i++) {
744 exptokseq[i] = jj_expentries.get(i);695 exptokseq[i] = jj_expentries.get(i);
745 }696 }
746 return new ParseException(token, exptokseq, tokenImage);697 return new ParseException(token, exptokseq, tokenImage);
747 }
748
749 private int trace_indent = 0;
750 private boolean trace_enabled;
751
752/** Trace enabled. */
753 final public boolean trace_enabled() {
754 return trace_enabled;
755 }698 }
756699
757 /** Enable tracing. */700 /** Enable tracing. */
@@ -763,45 +706,40 @@
763 }706 }
764707
765 private void jj_rescan_token() {708 private void jj_rescan_token() {
766 jj_rescan = true;709 jj_rescan = true;
767 for (int i = 0; i < 3; i++) {710 for (int i = 0; i < 3; i++) {
768 try {711 try {
769 JJCalls p = jj_2_rtns[i];712 JJCalls p = jj_2_rtns[i];
770713 do {
771 do {714 if (p.gen > jj_gen) {
772 if (p.gen > jj_gen) {715 jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
773 jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;716 switch (i) {
774 switch (i) {717 case 0: jj_3_1(); break;
775 case 0: jj_3_1(); break;718 case 1: jj_3_2(); break;
776 case 1: jj_3_2(); break;719 case 2: jj_3_3(); break;
777 case 2: jj_3_3(); break;720 }
778 }721 }
779 }722 p = p.next;
780 p = p.next;723 } while (p != null);
781 } while (p != null);724 } catch(LookaheadSuccess ls) { }
782725 }
783 } catch(LookaheadSuccess ls) { }726 jj_rescan = false;
784 }
785 jj_rescan = false;
786 }727 }
787728
788 private void jj_save(int index, int xla) {729 private void jj_save(int index, int xla) {
789 JJCalls p = jj_2_rtns[index];730 JJCalls p = jj_2_rtns[index];
790 while (p.gen > jj_gen) {731 while (p.gen > jj_gen) {
791 if (p.next == null) { p = p.next = new JJCalls(); break; }732 if (p.next == null) { p = p.next = new JJCalls(); break; }
792 p = p.next;733 p = p.next;
793 }734 }
794735 p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
795 p.gen = jj_gen + xla - jj_la;
796 p.first = token;
797 p.arg = xla;
798 }736 }
799737
800 static final class JJCalls {738 static final class JJCalls {
801 int gen;739 int gen;
802 Token first;740 Token first;
803 int arg;741 int arg;
804 JJCalls next;742 JJCalls next;
805 }743 }
806744
807}745}
808746
=== modified file 'src/dk/aau/cs/TCTL/CTLParsing/TAPAALCTLQueryParserTokenManager.java'
--- src/dk/aau/cs/TCTL/CTLParsing/TAPAALCTLQueryParserTokenManager.java 2017-05-14 19:42:09 +0000
+++ src/dk/aau/cs/TCTL/CTLParsing/TAPAALCTLQueryParserTokenManager.java 2017-09-05 21:26:24 +0000
@@ -1,4 +1,3 @@
1/* TAPAALCTLQueryParserTokenManager.java */
2/* Generated By:JavaCC: Do not edit this line. TAPAALCTLQueryParserTokenManager.java */1/* Generated By:JavaCC: Do not edit this line. TAPAALCTLQueryParserTokenManager.java */
3package dk.aau.cs.TCTL.CTLParsing;2package dk.aau.cs.TCTL.CTLParsing;
4import java.io.StringReader;3import java.io.StringReader;
@@ -30,28 +29,33 @@
30import dk.aau.cs.TCTL.TCTLStateToPathConverter;29import dk.aau.cs.TCTL.TCTLStateToPathConverter;
3130
32/** Token Manager. */31/** Token Manager. */
33public class TAPAALCTLQueryParserTokenManager implements TAPAALCTLQueryParserConstants {32public class TAPAALCTLQueryParserTokenManager implements TAPAALCTLQueryParserConstants
33{
3434
35 /** Debug output. */35 /** Debug output. */
36 public java.io.PrintStream debugStream = System.out;36 public java.io.PrintStream debugStream = System.out;
37 /** Set debug output. */37 /** Set debug output. */
38 public void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }38 public void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
39private final int jjStopStringLiteralDfa_0(int pos, long active0){39private final int jjStopStringLiteralDfa_0(int pos, long active0)
40{
40 switch (pos)41 switch (pos)
41 {42 {
42 case 0:43 case 0:
43 if ((active0 & 0x100L) != 0L)44 if ((active0 & 0x20000L) != 0L)
44 return 49;45 return 48;
45 if ((active0 & 0x240L) != 0L)46 if ((active0 & 0x240L) != 0L)
46 return 64;47 return 65;
47 if ((active0 & 0x1080L) != 0L)48 if ((active0 & 0x1080L) != 0L)
48 return 57;49 return 58;
50 if ((active0 & 0x100L) != 0L)
51 return 50;
49 return -1;52 return -1;
50 default :53 default :
51 return -1;54 return -1;
52 }55 }
53}56}
54private final int jjStartNfa_0(int pos, long active0){57private final int jjStartNfa_0(int pos, long active0)
58{
55 return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);59 return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);
56}60}
57private int jjStopAtPos(int pos, int kind)61private int jjStopAtPos(int pos, int kind)
@@ -60,7 +64,8 @@
60 jjmatchedPos = pos;64 jjmatchedPos = pos;
61 return pos + 1;65 return pos + 1;
62}66}
63private int jjMoveStringLiteralDfa0_0(){67private int jjMoveStringLiteralDfa0_0()
68{
64 switch(curChar)69 switch(curChar)
65 {70 {
66 case 40:71 case 40:
@@ -72,7 +77,7 @@
72 case 43:77 case 43:
73 return jjStopAtPos(0, 16);78 return jjStopAtPos(0, 16);
74 case 45:79 case 45:
75 return jjStopAtPos(0, 17);80 return jjStartNfaWithStates_0(0, 17, 48);
76 case 46:81 case 46:
77 return jjStopAtPos(0, 28);82 return jjStopAtPos(0, 28);
78 case 65:83 case 65:
@@ -82,12 +87,13 @@
82 jjmatchedKind = 6;87 jjmatchedKind = 6;
83 return jjMoveStringLiteralDfa1_0(0x200L);88 return jjMoveStringLiteralDfa1_0(0x200L);
84 case 85:89 case 85:
85 return jjStartNfaWithStates_0(0, 8, 49);90 return jjStartNfaWithStates_0(0, 8, 50);
86 default :91 default :
87 return jjMoveNfa_0(3, 0);92 return jjMoveNfa_0(3, 0);
88 }93 }
89}94}
90private int jjMoveStringLiteralDfa1_0(long active0){95private int jjMoveStringLiteralDfa1_0(long active0)
96{
91 try { curChar = input_stream.readChar(); }97 try { curChar = input_stream.readChar(); }
92 catch(java.io.IOException e) {98 catch(java.io.IOException e) {
93 jjStopStringLiteralDfa_0(0, active0);99 jjStopStringLiteralDfa_0(0, active0);
@@ -97,9 +103,9 @@
97 {103 {
98 case 88:104 case 88:
99 if ((active0 & 0x200L) != 0L)105 if ((active0 & 0x200L) != 0L)
100 return jjStartNfaWithStates_0(1, 9, 49);106 return jjStartNfaWithStates_0(1, 9, 50);
101 else if ((active0 & 0x1000L) != 0L)107 else if ((active0 & 0x1000L) != 0L)
102 return jjStartNfaWithStates_0(1, 12, 49);108 return jjStartNfaWithStates_0(1, 12, 50);
103 break;109 break;
104 default :110 default :
105 break;111 break;
@@ -117,7 +123,7 @@
117private int jjMoveNfa_0(int startState, int curPos)123private int jjMoveNfa_0(int startState, int curPos)
118{124{
119 int startsAt = 0;125 int startsAt = 0;
120 jjnewStateCnt = 70;126 jjnewStateCnt = 71;
121 int i = 1;127 int i = 1;
122 jjstateSet[0] = startState;128 jjstateSet[0] = startState;
123 int kind = 0x7fffffff;129 int kind = 0x7fffffff;
@@ -137,7 +143,7 @@
137 {143 {
138 if (kind > 19)144 if (kind > 19)
139 kind = 19;145 kind = 19;
140 { jjCheckNAdd(47); }146 jjCheckNAdd(48);
141 }147 }
142 else if ((0x7000000000000000L & l) != 0L)148 else if ((0x7000000000000000L & l) != 0L)
143 {149 {
@@ -145,40 +151,42 @@
145 kind = 21;151 kind = 21;
146 }152 }
147 else if (curChar == 33)153 else if (curChar == 33)
148 { jjCheckNAdd(51); }154 jjCheckNAdd(52);
155 else if (curChar == 45)
156 jjCheckNAdd(48);
149 else if (curChar == 38)157 else if (curChar == 38)
150 jjstateSet[jjnewStateCnt++] = 41;158 jjstateSet[jjnewStateCnt++] = 41;
151 if (curChar == 62)159 if (curChar == 62)
152 { jjCheckNAdd(51); }160 jjCheckNAdd(52);
153 else if (curChar == 61)161 else if (curChar == 61)
154 { jjCheckNAdd(51); }162 jjCheckNAdd(52);
155 else if (curChar == 60)163 else if (curChar == 60)
156 { jjCheckNAdd(51); }164 jjCheckNAdd(52);
157 else if (curChar == 33)165 else if (curChar == 33)
158 {166 {
159 if (kind > 15)167 if (kind > 15)
160 kind = 15;168 kind = 15;
161 }169 }
162 break;170 break;
163 case 64:171 case 65:
164 if ((0x3ff000000000000L & l) != 0L)172 if ((0x3ff000000000000L & l) != 0L)
165 {173 {
166 if (kind > 20)174 if (kind > 20)
167 kind = 20;175 kind = 20;
168 { jjCheckNAdd(49); }176 jjCheckNAdd(50);
169 }177 }
170 else if (curChar == 60)178 else if (curChar == 60)
171 jjstateSet[jjnewStateCnt++] = 65;179 jjstateSet[jjnewStateCnt++] = 66;
172 break;180 break;
173 case 57:181 case 58:
174 if ((0x3ff000000000000L & l) != 0L)182 if ((0x3ff000000000000L & l) != 0L)
175 {183 {
176 if (kind > 20)184 if (kind > 20)
177 kind = 20;185 kind = 20;
178 { jjCheckNAdd(49); }186 jjCheckNAdd(50);
179 }187 }
180 else if (curChar == 60)188 else if (curChar == 60)
181 jjstateSet[jjnewStateCnt++] = 58;189 jjstateSet[jjnewStateCnt++] = 59;
182 break;190 break;
183 case 41:191 case 41:
184 if (curChar == 38 && kind > 14)192 if (curChar == 38 && kind > 14)
@@ -193,58 +201,62 @@
193 kind = 15;201 kind = 15;
194 break;202 break;
195 case 47:203 case 47:
204 if (curChar == 45)
205 jjCheckNAdd(48);
206 break;
207 case 48:
196 if ((0x3ff000000000000L & l) == 0L)208 if ((0x3ff000000000000L & l) == 0L)
197 break;209 break;
198 if (kind > 19)210 if (kind > 19)
199 kind = 19;211 kind = 19;
200 { jjCheckNAdd(47); }212 jjCheckNAdd(48);
201 break;213 break;
202 case 49:214 case 50:
203 if ((0x3ff000000000000L & l) == 0L)215 if ((0x3ff000000000000L & l) == 0L)
204 break;216 break;
205 if (kind > 20)217 if (kind > 20)
206 kind = 20;218 kind = 20;
207 { jjCheckNAdd(49); }219 jjCheckNAdd(50);
208 break;220 break;
209 case 50:221 case 51:
210 if ((0x7000000000000000L & l) != 0L && kind > 21)222 if ((0x7000000000000000L & l) != 0L && kind > 21)
211 kind = 21;223 kind = 21;
212 break;224 break;
213 case 51:225 case 52:
214 if (curChar == 61 && kind > 21)226 if (curChar == 61 && kind > 21)
215 kind = 21;227 kind = 21;
216 break;228 break;
217 case 52:229 case 53:
218 if (curChar == 33)230 if (curChar == 33)
219 { jjCheckNAdd(51); }231 jjCheckNAdd(52);
220 break;
221 case 53:
222 if (curChar == 60)
223 { jjCheckNAdd(51); }
224 break;232 break;
225 case 54:233 case 54:
234 if (curChar == 60)
235 jjCheckNAdd(52);
236 break;
237 case 55:
226 if (curChar == 61)238 if (curChar == 61)
227 { jjCheckNAdd(51); }239 jjCheckNAdd(52);
228 break;240 break;
229 case 55:241 case 56:
230 if (curChar == 62)242 if (curChar == 62)
231 { jjCheckNAdd(51); }243 jjCheckNAdd(52);
232 break;244 break;
233 case 58:245 case 59:
234 if (curChar == 62 && kind > 10)246 if (curChar == 62 && kind > 10)
235 kind = 10;247 kind = 10;
236 break;248 break;
237 case 59:249 case 60:
238 if (curChar == 60)250 if (curChar == 60)
239 jjstateSet[jjnewStateCnt++] = 58;251 jjstateSet[jjnewStateCnt++] = 59;
240 break;252 break;
241 case 65:253 case 66:
242 if (curChar == 62 && kind > 4)254 if (curChar == 62 && kind > 4)
243 kind = 4;255 kind = 4;
244 break;256 break;
245 case 66:257 case 67:
246 if (curChar == 60)258 if (curChar == 60)
247 jjstateSet[jjnewStateCnt++] = 65;259 jjstateSet[jjnewStateCnt++] = 66;
248 break;260 break;
249 default : break;261 default : break;
250 }262 }
@@ -262,14 +274,14 @@
262 {274 {
263 if (kind > 20)275 if (kind > 20)
264 kind = 20;276 kind = 20;
265 { jjCheckNAdd(49); }277 jjCheckNAdd(50);
266 }278 }
267 else if (curChar == 124)279 else if (curChar == 124)
268 jjstateSet[jjnewStateCnt++] = 36;280 jjstateSet[jjnewStateCnt++] = 36;
269 if (curChar == 69)281 if (curChar == 69)
270 { jjAddStates(0, 3); }282 jjAddStates(0, 3);
271 else if (curChar == 65)283 else if (curChar == 65)
272 { jjAddStates(4, 7); }284 jjAddStates(4, 7);
273 else if (curChar == 110)285 else if (curChar == 110)
274 jjstateSet[jjnewStateCnt++] = 44;286 jjstateSet[jjnewStateCnt++] = 44;
275 else if (curChar == 97)287 else if (curChar == 97)
@@ -289,15 +301,15 @@
289 else if (curChar == 116)301 else if (curChar == 116)
290 jjstateSet[jjnewStateCnt++] = 2;302 jjstateSet[jjnewStateCnt++] = 2;
291 break;303 break;
292 case 64:304 case 65:
293 if ((0x7fffffe87fffffeL & l) != 0L)305 if ((0x7fffffe87fffffeL & l) != 0L)
294 {306 {
295 if (kind > 20)307 if (kind > 20)
296 kind = 20;308 kind = 20;
297 { jjCheckNAdd(49); }309 jjCheckNAdd(50);
298 }310 }
299 else if (curChar == 91)311 else if (curChar == 91)
300 jjstateSet[jjnewStateCnt++] = 68;312 jjstateSet[jjnewStateCnt++] = 69;
301 if (curChar == 71)313 if (curChar == 71)
302 {314 {
303 if (kind > 5)315 if (kind > 5)
@@ -309,15 +321,15 @@
309 kind = 4;321 kind = 4;
310 }322 }
311 break;323 break;
312 case 57:324 case 58:
313 if ((0x7fffffe87fffffeL & l) != 0L)325 if ((0x7fffffe87fffffeL & l) != 0L)
314 {326 {
315 if (kind > 20)327 if (kind > 20)
316 kind = 20;328 kind = 20;
317 { jjCheckNAdd(49); }329 jjCheckNAdd(50);
318 }330 }
319 else if (curChar == 91)331 else if (curChar == 91)
320 jjstateSet[jjnewStateCnt++] = 61;332 jjstateSet[jjnewStateCnt++] = 62;
321 if (curChar == 71)333 if (curChar == 71)
322 {334 {
323 if (kind > 11)335 if (kind > 11)
@@ -501,51 +513,51 @@
501 if (curChar == 110)513 if (curChar == 110)
502 jjstateSet[jjnewStateCnt++] = 44;514 jjstateSet[jjnewStateCnt++] = 44;
503 break;515 break;
504 case 48:
505 if ((0x7fffffe87fffffeL & l) == 0L)
506 break;
507 if (kind > 20)
508 kind = 20;
509 { jjCheckNAdd(49); }
510 break;
511 case 49:516 case 49:
512 if ((0x7fffffe87fffffeL & l) == 0L)517 if ((0x7fffffe87fffffeL & l) == 0L)
513 break;518 break;
514 if (kind > 20)519 if (kind > 20)
515 kind = 20;520 kind = 20;
516 { jjCheckNAdd(49); }521 jjCheckNAdd(50);
517 break;522 break;
518 case 56:523 case 50:
524 if ((0x7fffffe87fffffeL & l) == 0L)
525 break;
526 if (kind > 20)
527 kind = 20;
528 jjCheckNAdd(50);
529 break;
530 case 57:
519 if (curChar == 65)531 if (curChar == 65)
520 { jjAddStates(4, 7); }532 jjAddStates(4, 7);
521 break;533 break;
522 case 60:534 case 61:
523 if (curChar == 71 && kind > 11)535 if (curChar == 71 && kind > 11)
524 kind = 11;536 kind = 11;
525 break;537 break;
526 case 61:538 case 62:
527 if (curChar == 93 && kind > 11)539 if (curChar == 93 && kind > 11)
528 kind = 11;540 kind = 11;
529 break;541 break;
530 case 62:
531 if (curChar == 91)
532 jjstateSet[jjnewStateCnt++] = 61;
533 break;
534 case 63:542 case 63:
543 if (curChar == 91)
544 jjstateSet[jjnewStateCnt++] = 62;
545 break;
546 case 64:
535 if (curChar == 69)547 if (curChar == 69)
536 { jjAddStates(0, 3); }548 jjAddStates(0, 3);
537 break;549 break;
538 case 67:550 case 68:
539 if (curChar == 71 && kind > 5)551 if (curChar == 71 && kind > 5)
540 kind = 5;552 kind = 5;
541 break;553 break;
542 case 68:554 case 69:
543 if (curChar == 93 && kind > 5)555 if (curChar == 93 && kind > 5)
544 kind = 5;556 kind = 5;
545 break;557 break;
546 case 69:558 case 70:
547 if (curChar == 91)559 if (curChar == 91)
548 jjstateSet[jjnewStateCnt++] = 68;560 jjstateSet[jjnewStateCnt++] = 69;
549 break;561 break;
550 default : break;562 default : break;
551 }563 }
@@ -570,18 +582,81 @@
570 kind = 0x7fffffff;582 kind = 0x7fffffff;
571 }583 }
572 ++curPos;584 ++curPos;
573 if ((i = jjnewStateCnt) == (startsAt = 70 - (jjnewStateCnt = startsAt)))585 if ((i = jjnewStateCnt) == (startsAt = 71 - (jjnewStateCnt = startsAt)))
574 return curPos;586 return curPos;
575 try { curChar = input_stream.readChar(); }587 try { curChar = input_stream.readChar(); }
576 catch(java.io.IOException e) { return curPos; }588 catch(java.io.IOException e) { return curPos; }
577 }589 }
578}590}
591static final int[] jjnextStates = {
592 65, 67, 68, 70, 58, 60, 61, 63,
593};
579594
580/** Token literal values. */595/** Token literal values. */
581public static final String[] jjstrLiteralImages = {596public static final String[] jjstrLiteralImages = {
582"", null, null, null, null, null, "\105", "\101", "\125", "\105\130", null, 597"", null, null, null, null, null, "\105", "\101", "\125", "\105\130", null,
583null, "\101\130", null, null, null, "\53", "\55", "\52", null, null, null, null, 598null, "\101\130", null, null, null, "\53", "\55", "\52", null, null, null, null,
584null, null, null, "\50", "\51", "\56", };599null, null, null, "\50", "\51", "\56", };
600
601/** Lexer state names. */
602public static final String[] lexStateNames = {
603 "DEFAULT",
604};
605static final long[] jjtoToken = {
606 0x1c3fffffL,
607};
608static final long[] jjtoSkip = {
609 0x3c00000L,
610};
611protected SimpleCharStream input_stream;
612private final int[] jjrounds = new int[71];
613private final int[] jjstateSet = new int[142];
614protected char curChar;
615/** Constructor. */
616public TAPAALCTLQueryParserTokenManager(SimpleCharStream stream){
617 if (SimpleCharStream.staticFlag)
618 throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
619 input_stream = stream;
620}
621
622/** Constructor. */
623public TAPAALCTLQueryParserTokenManager(SimpleCharStream stream, int lexState){
624 this(stream);
625 SwitchTo(lexState);
626}
627
628/** Reinitialise parser. */
629public void ReInit(SimpleCharStream stream)
630{
631 jjmatchedPos = jjnewStateCnt = 0;
632 curLexState = defaultLexState;
633 input_stream = stream;
634 ReInitRounds();
635}
636private void ReInitRounds()
637{
638 int i;
639 jjround = 0x80000001;
640 for (i = 71; i-- > 0;)
641 jjrounds[i] = 0x80000000;
642}
643
644/** Reinitialise parser. */
645public void ReInit(SimpleCharStream stream, int lexState)
646{
647 ReInit(stream);
648 SwitchTo(lexState);
649}
650
651/** Switch to specified lex state. */
652public void SwitchTo(int lexState)
653{
654 if (lexState >= 1 || lexState < 0)
655 throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
656 else
657 curLexState = lexState;
658}
659
585protected Token jjFillToken()660protected Token jjFillToken()
586{661{
587 final Token t;662 final Token t;
@@ -596,9 +671,7 @@
596 beginColumn = input_stream.getBeginColumn();671 beginColumn = input_stream.getBeginColumn();
597 endLine = input_stream.getEndLine();672 endLine = input_stream.getEndLine();
598 endColumn = input_stream.getEndColumn();673 endColumn = input_stream.getEndColumn();
599 t = Token.newToken(jjmatchedKind);674 t = Token.newToken(jjmatchedKind, curTokenImage);
600 t.kind = jjmatchedKind;
601 t.image = curTokenImage;
602675
603 t.beginLine = beginLine;676 t.beginLine = beginLine;
604 t.endLine = endLine;677 t.endLine = endLine;
@@ -607,9 +680,6 @@
607680
608 return t;681 return t;
609}682}
610static final int[] jjnextStates = {
611 64, 66, 67, 69, 57, 59, 60, 62,
612};
613683
614int curLexState = 0;684int curLexState = 0;
615int defaultLexState = 0;685int defaultLexState = 0;
@@ -631,10 +701,9 @@
631 {701 {
632 curChar = input_stream.BeginToken();702 curChar = input_stream.BeginToken();
633 }703 }
634 catch(Exception e)704 catch(java.io.IOException e)
635 {705 {
636 jjmatchedKind = 0;706 jjmatchedKind = 0;
637 jjmatchedPos = -1;
638 matchedToken = jjFillToken();707 matchedToken = jjFillToken();
639 return matchedToken;708 return matchedToken;
640 }709 }
@@ -684,31 +753,6 @@
684 }753 }
685}754}
686755
687void SkipLexicalActions(Token matchedToken)
688{
689 switch(jjmatchedKind)
690 {
691 default :
692 break;
693 }
694}
695void MoreLexicalActions()
696{
697 jjimageLen += (lengthOfMatch = jjmatchedPos + 1);
698 switch(jjmatchedKind)
699 {
700 default :
701 break;
702 }
703}
704void TokenLexicalActions(Token matchedToken)
705{
706 switch(jjmatchedKind)
707 {
708 default :
709 break;
710 }
711}
712private void jjCheckNAdd(int state)756private void jjCheckNAdd(int state)
713{757{
714 if (jjrounds[state] != jjround)758 if (jjrounds[state] != jjround)
@@ -729,90 +773,4 @@
729 jjCheckNAdd(state2);773 jjCheckNAdd(state2);
730}774}
731775
732 /** Constructor. */
733 public TAPAALCTLQueryParserTokenManager(SimpleCharStream stream){
734
735 if (SimpleCharStream.staticFlag)
736 throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
737
738 input_stream = stream;
739 }
740
741 /** Constructor. */
742 public TAPAALCTLQueryParserTokenManager (SimpleCharStream stream, int lexState){
743 ReInit(stream);
744 SwitchTo(lexState);
745 }
746
747 /** Reinitialise parser. */
748
749 public void ReInit(SimpleCharStream stream)
750 {
751
752
753 jjmatchedPos =
754 jjnewStateCnt =
755 0;
756 curLexState = defaultLexState;
757 input_stream = stream;
758 ReInitRounds();
759 }
760
761 private void ReInitRounds()
762 {
763 int i;
764 jjround = 0x80000001;
765 for (i = 70; i-- > 0;)
766 jjrounds[i] = 0x80000000;
767 }
768
769 /** Reinitialise parser. */
770 public void ReInit(SimpleCharStream stream, int lexState)
771
772 {
773 ReInit(stream);
774 SwitchTo(lexState);
775 }
776
777 /** Switch to specified lex state. */
778 public void SwitchTo(int lexState)
779 {
780 if (lexState >= 1 || lexState < 0)
781 throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
782 else
783 curLexState = lexState;
784 }
785
786
787/** Lexer state names. */
788public static final String[] lexStateNames = {
789 "DEFAULT",
790};
791
792/** Lex State array. */
793public static final int[] jjnewLexState = {
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,
795 -1, -1, -1, -1,
796};
797static final long[] jjtoToken = {
798 0x1c3fffffL,
799};
800static final long[] jjtoSkip = {
801 0x3c00000L,
802};
803static final long[] jjtoSpecial = {
804 0x0L,
805};
806static final long[] jjtoMore = {
807 0x0L,
808};
809 protected SimpleCharStream input_stream;
810
811 private final int[] jjrounds = new int[70];
812 private final int[] jjstateSet = new int[2 * 70];
813 private final StringBuilder jjimage = new StringBuilder();
814 private StringBuilder image = jjimage;
815 private int jjimageLen;
816 private int lengthOfMatch;
817 protected int curChar;
818}776}
819777
=== modified file 'src/dk/aau/cs/TCTL/CTLParsing/Token.java'
--- src/dk/aau/cs/TCTL/CTLParsing/Token.java 2017-05-07 12:44:00 +0000
+++ src/dk/aau/cs/TCTL/CTLParsing/Token.java 2017-09-05 21:26:24 +0000
@@ -1,5 +1,5 @@
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 */
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 */
3package dk.aau.cs.TCTL.CTLParsing;3package dk.aau.cs.TCTL.CTLParsing;
44
5/**5/**
@@ -128,4 +128,4 @@
128 }128 }
129129
130}130}
131/* JavaCC - OriginalChecksum=8ee1473b89874b09d6c560395ea72ef9 (do not edit this line) */131/* JavaCC - OriginalChecksum=c3a33ef5a2c7f5ec67f13491eacfbc58 (do not edit this line) */
132132
=== modified file 'src/dk/aau/cs/TCTL/CTLParsing/TokenMgrError.java'
--- src/dk/aau/cs/TCTL/CTLParsing/TokenMgrError.java 2017-05-07 12:44:00 +0000
+++ src/dk/aau/cs/TCTL/CTLParsing/TokenMgrError.java 2017-09-05 21:26:24 +0000
@@ -1,4 +1,4 @@
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 */
2/* JavaCCOptions: */2/* JavaCCOptions: */
3package dk.aau.cs.TCTL.CTLParsing;3package dk.aau.cs.TCTL.CTLParsing;
44
@@ -20,22 +20,22 @@
20 /**20 /**
21 * Lexical error occurred.21 * Lexical error occurred.
22 */22 */
23 public static final int LEXICAL_ERROR = 0;23 static final int LEXICAL_ERROR = 0;
2424
25 /**25 /**
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.
27 */27 */
28 public static final int STATIC_LEXER_ERROR = 1;28 static final int STATIC_LEXER_ERROR = 1;
2929
30 /**30 /**
31 * Tried to change to an invalid lexical state.31 * Tried to change to an invalid lexical state.
32 */32 */
33 public static final int INVALID_LEXICAL_STATE = 2;33 static final int INVALID_LEXICAL_STATE = 2;
3434
35 /**35 /**
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.
37 */37 */
38 public static final int LOOP_DETECTED = 3;38 static final int LOOP_DETECTED = 3;
3939
40 /**40 /**
41 * Indicates the reason why the exception is thrown. It will have41 * Indicates the reason why the exception is thrown. It will have
@@ -53,6 +53,8 @@
53 for (int i = 0; i < str.length(); i++) {53 for (int i = 0; i < str.length(); i++) {
54 switch (str.charAt(i))54 switch (str.charAt(i))
55 {55 {
56 case 0 :
57 continue;
56 case '\b':58 case '\b':
57 retval.append("\\b");59 retval.append("\\b");
58 continue;60 continue;
@@ -102,12 +104,11 @@
102 * curchar : the offending character104 * curchar : the offending character
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.
104 */106 */
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) {
106 char curChar1 = (char)curChar;
107 return("Lexical error at line " +108 return("Lexical error at line " +
108 errorLine + ", column " +109 errorLine + ", column " +
109 errorColumn + ". Encountered: " +110 errorColumn + ". Encountered: " +
110 (EOFSeen ? "<EOF> " : ("\"" + addEscapes(String.valueOf(curChar1)) + "\"") + " (" + (int)curChar + "), ") +111 (EOFSeen ? "<EOF> " : ("\"" + addEscapes(String.valueOf(curChar)) + "\"") + " (" + (int)curChar + "), ") +
111 "after : \"" + addEscapes(errorAfter) + "\"");112 "after : \"" + addEscapes(errorAfter) + "\"");
112 }113 }
113114
@@ -139,8 +140,8 @@
139 }140 }
140141
141 /** Full Constructor. */142 /** Full Constructor. */
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) {
143 this(LexicalErr(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason);144 this(LexicalError(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason);
144 }145 }
145}146}
146/* JavaCC - OriginalChecksum=e4cccd65824e0c3a5184be2779230da1 (do not edit this line) */147/* JavaCC - OriginalChecksum=859f023f3abe7d4b866c6b4b7c693934 (do not edit this line) */
147148
=== modified file 'src/resources/TCTLParser/TAPAALCTLQueryParser.jj'
--- src/resources/TCTLParser/TAPAALCTLQueryParser.jj 2017-05-15 10:38:38 +0000
+++ src/resources/TCTLParser/TAPAALCTLQueryParser.jj 2017-09-05 21:26:24 +0000
@@ -112,7 +112,7 @@
112112
113TOKEN :113TOKEN :
114{114{
115 < NUM: ( ["0"-"9"] )+ >115 < NUM: ("-")? ( ["0"-"9"] )+ >
116 |116 |
117 <IDENT: ["a"-"z","A"-"Z","_"] ( ["a"-"z","A"-"Z","_","0"-"9"] )* > 117 <IDENT: ["a"-"z","A"-"Z","_"] ( ["a"-"z","A"-"Z","_","0"-"9"] )* >
118}118}

Subscribers

People subscribed via source and target branches