1 /* Generated By:JavaCC: Do not edit this line. PHPParser.java */
4 import org.eclipse.core.resources.IFile;
5 import org.eclipse.core.resources.IMarker;
6 import org.eclipse.core.runtime.CoreException;
7 import org.eclipse.ui.texteditor.MarkerUtilities;
8 import org.eclipse.jface.preference.IPreferenceStore;
10 import java.util.Hashtable;
11 import java.io.StringReader;
12 import java.text.MessageFormat;
14 import net.sourceforge.phpeclipse.actions.PHPStartApacheAction;
15 import net.sourceforge.phpeclipse.PHPeclipsePlugin;
16 import net.sourceforge.phpdt.internal.compiler.parser.PHPOutlineInfo;
17 import net.sourceforge.phpdt.internal.compiler.parser.PHPSegmentWithChildren;
18 import net.sourceforge.phpdt.internal.compiler.parser.PHPFunctionDeclaration;
19 import net.sourceforge.phpdt.internal.compiler.parser.PHPClassDeclaration;
23 * This php parser is inspired by the Java 1.2 grammar example
24 * given with JavaCC. You can get JavaCC at http://www.webgain.com
25 * You can test the parser with the PHPParserTestCase2.java
26 * @author Matthieu Casanova
28 public class PHPParser extends PHPParserSuperclass implements PHPParserConstants {
30 private static IFile fileToParse;
32 /** The current segment */
33 private static PHPSegmentWithChildren currentSegment;
35 private static final String PARSE_ERROR_STRING = "Parse error"; //$NON-NLS-1$
36 private static final String PARSE_WARNING_STRING = "Warning"; //$NON-NLS-1$
37 public static final int ERROR = 2;
38 public static final int WARNING = 1;
39 public static final int INFO = 0;
40 PHPOutlineInfo outlineInfo;
41 private static int errorLevel = ERROR;
42 private static String errorMessage;
47 public void setFileToParse(IFile fileToParse) {
48 this.fileToParse = fileToParse;
51 public PHPParser(IFile fileToParse) {
52 this(new StringReader(""));
53 this.fileToParse = fileToParse;
56 public void phpParserTester(String strEval) throws CoreException, ParseException {
57 PHPParserTokenManager.SwitchTo(PHPParserTokenManager.PHPPARSING);
58 StringReader stream = new StringReader(strEval);
59 if (jj_input_stream == null) {
60 jj_input_stream = new SimpleCharStream(stream, 1, 1);
62 ReInit(new StringReader(strEval));
66 public void htmlParserTester(String strEval) throws CoreException, ParseException {
67 StringReader stream = new StringReader(strEval);
68 if (jj_input_stream == null) {
69 jj_input_stream = new SimpleCharStream(stream, 1, 1);
75 public PHPOutlineInfo parseInfo(Object parent, String s) {
76 outlineInfo = new PHPOutlineInfo(parent);
77 currentSegment = outlineInfo.getDeclarations();
78 StringReader stream = new StringReader(s);
79 if (jj_input_stream == null) {
80 jj_input_stream = new SimpleCharStream(stream, 1, 1);
85 } catch (ParseException e) {
86 if (errorMessage == null) {
87 PHPeclipsePlugin.log(e);
89 setMarker(errorMessage, e.currentToken.beginLine, errorLevel);
98 * Create marker for the parse error
100 private static void setMarker(String message, int lineNumber, int errorLevel) {
102 setMarker(fileToParse, message, lineNumber, errorLevel);
103 } catch (CoreException e) {
104 PHPeclipsePlugin.log(e);
108 public static void setMarker(IFile file, String message, int lineNumber, int errorLevel) throws CoreException {
110 Hashtable attributes = new Hashtable();
111 MarkerUtilities.setMessage(attributes, message);
112 switch (errorLevel) {
114 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_ERROR));
117 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_WARNING));
120 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_INFO));
123 MarkerUtilities.setLineNumber(attributes, lineNumber);
124 MarkerUtilities.createMarker(file, attributes, IMarker.PROBLEM);
129 * Create markers according to the external parser output
131 private static void createMarkers(String output, IFile file) throws CoreException {
132 // delete all markers
133 file.deleteMarkers(IMarker.PROBLEM, false, 0);
138 while ((brIndx = output.indexOf("<br />", indx)) != -1) {
139 // newer php error output (tested with 4.2.3)
140 scanLine(output, file, indx, brIndx);
145 while ((brIndx = output.indexOf("<br>", indx)) != -1) {
146 // older php error output (tested with 4.2.3)
147 scanLine(output, file, indx, brIndx);
153 private static void scanLine(String output, IFile file, int indx, int brIndx) throws CoreException {
155 StringBuffer lineNumberBuffer = new StringBuffer(10);
157 current = output.substring(indx, brIndx);
159 if (current.indexOf(PARSE_WARNING_STRING) != -1 || current.indexOf(PARSE_ERROR_STRING) != -1) {
160 int onLine = current.indexOf("on line <b>");
162 lineNumberBuffer.delete(0, lineNumberBuffer.length());
163 for (int i = onLine; i < current.length(); i++) {
164 ch = current.charAt(i);
165 if ('0' <= ch && '9' >= ch) {
166 lineNumberBuffer.append(ch);
170 int lineNumber = Integer.parseInt(lineNumberBuffer.toString());
172 Hashtable attributes = new Hashtable();
174 current = current.replaceAll("\n", "");
175 current = current.replaceAll("<b>", "");
176 current = current.replaceAll("</b>", "");
177 MarkerUtilities.setMessage(attributes, current);
179 if (current.indexOf(PARSE_ERROR_STRING) != -1)
180 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_ERROR));
181 else if (current.indexOf(PARSE_WARNING_STRING) != -1)
182 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_WARNING));
184 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_INFO));
185 MarkerUtilities.setLineNumber(attributes, lineNumber);
186 MarkerUtilities.createMarker(file, attributes, IMarker.PROBLEM);
191 public void parse(String s) throws CoreException {
192 ReInit(new StringReader(s));
195 } catch (ParseException e) {
196 if (errorMessage == null) {
197 PHPeclipsePlugin.log(e);
199 setMarker(errorMessage, e.currentToken.beginLine, errorLevel);
206 * Call the php parse command ( php -l -f <filename> )
207 * and create markers according to the external parser output
209 public static void phpExternalParse(IFile file) {
210 IPreferenceStore store = PHPeclipsePlugin.getDefault().getPreferenceStore();
211 String filename = file.getLocation().toString();
213 String[] arguments = { filename };
214 MessageFormat form = new MessageFormat(store.getString(PHPeclipsePlugin.EXTERNAL_PARSER_PREF));
215 String command = form.format(arguments);
217 String parserResult = PHPStartApacheAction.getParserOutput(command, "External parser: ");
220 // parse the buffer to find the errors and warnings
221 createMarkers(parserResult, file);
222 } catch (CoreException e) {
223 PHPeclipsePlugin.log(e);
227 public void parse() throws ParseException {
231 /*****************************************
232 * THE JAVA LANGUAGE GRAMMAR STARTS HERE *
233 *****************************************/
236 * Program structuring syntax follows.
238 static final public void phpTest() throws ParseException {
243 static final public void phpFile() throws ParseException {
246 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
254 jj_consume_token(PHPSTART);
256 jj_consume_token(PHPEND);
261 static final public void Php() throws ParseException {
264 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
288 case INTEGER_LITERAL:
289 case FLOATING_POINT_LITERAL:
314 static final public void ClassDeclaration() throws ParseException {
315 PHPClassDeclaration classDeclaration;
317 int pos = jj_input_stream.bufpos;
318 jj_consume_token(CLASS);
319 className = jj_consume_token(IDENTIFIER);
320 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
322 jj_consume_token(EXTENDS);
323 jj_consume_token(IDENTIFIER);
329 classDeclaration = new PHPClassDeclaration(currentSegment,className.image,pos);
330 currentSegment.add(classDeclaration);
331 currentSegment = classDeclaration;
333 currentSegment = (PHPSegmentWithChildren) currentSegment.getParent();
336 static final public void ClassBody() throws ParseException {
337 jj_consume_token(LBRACE);
340 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
349 ClassBodyDeclaration();
351 jj_consume_token(RBRACE);
354 static final public void ClassBodyDeclaration() throws ParseException {
355 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
364 jj_consume_token(-1);
365 throw new ParseException();
369 static final public void FieldDeclaration() throws ParseException {
370 jj_consume_token(VAR);
371 VariableDeclarator();
374 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
382 jj_consume_token(COMMA);
383 VariableDeclarator();
385 jj_consume_token(SEMICOLON);
388 static final public void VariableDeclarator() throws ParseException {
389 VariableDeclaratorId();
390 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
392 jj_consume_token(ASSIGN);
393 VariableInitializer();
401 static final public void VariableDeclaratorId() throws ParseException {
414 static final public void Variable() throws ParseException {
415 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
417 jj_consume_token(DOLLAR_ID);
420 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
428 jj_consume_token(LBRACE);
430 jj_consume_token(RBRACE);
434 jj_consume_token(DOLLAR);
439 jj_consume_token(-1);
440 throw new ParseException();
444 static final public String VariableName() throws ParseException {
445 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
447 jj_consume_token(LBRACE);
449 jj_consume_token(RBRACE);
452 jj_consume_token(IDENTIFIER);
455 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
463 jj_consume_token(LBRACE);
465 jj_consume_token(RBRACE);
469 jj_consume_token(DOLLAR);
474 jj_consume_token(-1);
475 throw new ParseException();
479 static final public void VariableInitializer() throws ParseException {
483 static final public void ArrayVariable() throws ParseException {
487 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
495 jj_consume_token(ARRAYASSIGN);
500 static final public void ArrayInitializer() throws ParseException {
501 jj_consume_token(LPAREN);
502 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
509 case INTEGER_LITERAL:
510 case FLOATING_POINT_LITERAL:
531 jj_consume_token(COMMA);
539 jj_consume_token(RPAREN);
542 static final public void MethodDeclaration() throws ParseException {
543 PHPFunctionDeclaration functionDeclaration;
544 jj_consume_token(FUNCTION);
545 functionDeclaration = MethodDeclarator();
546 currentSegment.add(functionDeclaration);
547 currentSegment = functionDeclaration;
548 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
553 jj_consume_token(SEMICOLON);
557 jj_consume_token(-1);
558 throw new ParseException();
560 currentSegment = (PHPSegmentWithChildren) currentSegment.getParent();
563 static final public PHPFunctionDeclaration MethodDeclarator() throws ParseException {
564 Token bit_and = null;
566 StringBuffer methodDeclaration = new StringBuffer();
567 String formalParameters;
568 int pos = jj_input_stream.bufpos;
569 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
571 bit_and = jj_consume_token(BIT_AND);
577 identifier = jj_consume_token(IDENTIFIER);
579 if (bit_and != null) {
580 methodDeclaration.append("&");
582 methodDeclaration.append(identifier);
583 {if (true) return new PHPFunctionDeclaration(currentSegment,methodDeclaration.toString(),pos);}
584 throw new Error("Missing return statement in function");
587 static final public void FormalParameters() throws ParseException {
588 jj_consume_token(LPAREN);
589 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
596 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
604 jj_consume_token(COMMA);
612 jj_consume_token(RPAREN);
615 static final public void FormalParameter() throws ParseException {
616 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
618 jj_consume_token(BIT_AND);
624 VariableDeclarator();
627 static final public void Type() throws ParseException {
628 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
630 jj_consume_token(STRING);
633 jj_consume_token(BOOL);
636 jj_consume_token(BOOLEAN);
639 jj_consume_token(REAL);
642 jj_consume_token(DOUBLE);
645 jj_consume_token(FLOAT);
648 jj_consume_token(INT);
651 jj_consume_token(INTEGER);
655 jj_consume_token(-1);
656 throw new ParseException();
660 static final public void Expression() throws ParseException {
661 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
670 case INTEGER_LITERAL:
671 case FLOATING_POINT_LITERAL:
684 ConditionalExpression();
685 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
697 case RSIGNEDSHIFTASSIGN:
698 case RUNSIGNEDSHIFTASSIGN:
699 AssignmentOperator();
709 jj_consume_token(-1);
710 throw new ParseException();
714 static final public void AssignmentOperator() throws ParseException {
715 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
717 jj_consume_token(ASSIGN);
720 jj_consume_token(STARASSIGN);
723 jj_consume_token(SLASHASSIGN);
726 jj_consume_token(REMASSIGN);
729 jj_consume_token(PLUSASSIGN);
732 jj_consume_token(MINUSASSIGN);
735 jj_consume_token(LSHIFTASSIGN);
737 case RSIGNEDSHIFTASSIGN:
738 jj_consume_token(RSIGNEDSHIFTASSIGN);
740 case RUNSIGNEDSHIFTASSIGN:
741 jj_consume_token(RUNSIGNEDSHIFTASSIGN);
744 jj_consume_token(ANDASSIGN);
747 jj_consume_token(XORASSIGN);
750 jj_consume_token(ORASSIGN);
753 jj_consume_token(DOTASSIGN);
757 jj_consume_token(-1);
758 throw new ParseException();
762 static final public void ConditionalExpression() throws ParseException {
763 ConditionalOrExpression();
764 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
766 jj_consume_token(HOOK);
768 jj_consume_token(COLON);
769 ConditionalExpression();
777 static final public void ConditionalOrExpression() throws ParseException {
778 ConditionalAndExpression();
781 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
790 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
792 jj_consume_token(SC_OR);
795 jj_consume_token(_ORL);
799 jj_consume_token(-1);
800 throw new ParseException();
802 ConditionalAndExpression();
806 static final public void ConditionalAndExpression() throws ParseException {
810 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
819 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
821 jj_consume_token(SC_AND);
824 jj_consume_token(_ANDL);
828 jj_consume_token(-1);
829 throw new ParseException();
835 static final public void ConcatExpression() throws ParseException {
836 InclusiveOrExpression();
839 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
847 jj_consume_token(DOT);
848 InclusiveOrExpression();
852 static final public void InclusiveOrExpression() throws ParseException {
853 ExclusiveOrExpression();
856 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
864 jj_consume_token(BIT_OR);
865 ExclusiveOrExpression();
869 static final public void ExclusiveOrExpression() throws ParseException {
873 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
881 jj_consume_token(XOR);
886 static final public void AndExpression() throws ParseException {
887 EqualityExpression();
890 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
898 jj_consume_token(BIT_AND);
899 EqualityExpression();
903 static final public void EqualityExpression() throws ParseException {
904 RelationalExpression();
907 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
916 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
918 jj_consume_token(EQ);
921 jj_consume_token(NE);
925 jj_consume_token(-1);
926 throw new ParseException();
928 RelationalExpression();
932 static final public void RelationalExpression() throws ParseException {
936 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
947 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
949 jj_consume_token(LT);
952 jj_consume_token(GT);
955 jj_consume_token(LE);
958 jj_consume_token(GE);
962 jj_consume_token(-1);
963 throw new ParseException();
969 static final public void ShiftExpression() throws ParseException {
970 AdditiveExpression();
973 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
983 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
985 jj_consume_token(LSHIFT);
988 jj_consume_token(RSIGNEDSHIFT);
991 jj_consume_token(RUNSIGNEDSHIFT);
995 jj_consume_token(-1);
996 throw new ParseException();
998 AdditiveExpression();
1002 static final public void AdditiveExpression() throws ParseException {
1003 MultiplicativeExpression();
1006 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1012 jj_la1[37] = jj_gen;
1015 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1017 jj_consume_token(PLUS);
1020 jj_consume_token(MINUS);
1023 jj_la1[38] = jj_gen;
1024 jj_consume_token(-1);
1025 throw new ParseException();
1027 MultiplicativeExpression();
1031 static final public void MultiplicativeExpression() throws ParseException {
1035 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1042 jj_la1[39] = jj_gen;
1045 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1047 jj_consume_token(STAR);
1050 jj_consume_token(SLASH);
1053 jj_consume_token(REM);
1056 jj_la1[40] = jj_gen;
1057 jj_consume_token(-1);
1058 throw new ParseException();
1064 static final public void UnaryExpression() throws ParseException {
1065 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1067 jj_consume_token(AT);
1072 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1074 jj_consume_token(PLUS);
1077 jj_consume_token(MINUS);
1080 jj_la1[41] = jj_gen;
1081 jj_consume_token(-1);
1082 throw new ParseException();
1087 PreIncrementExpression();
1090 PreDecrementExpression();
1097 case INTEGER_LITERAL:
1098 case FLOATING_POINT_LITERAL:
1099 case STRING_LITERAL:
1106 UnaryExpressionNotPlusMinus();
1109 jj_la1[42] = jj_gen;
1110 jj_consume_token(-1);
1111 throw new ParseException();
1115 static final public void PreIncrementExpression() throws ParseException {
1116 jj_consume_token(INCR);
1117 PrimaryExpression();
1120 static final public void PreDecrementExpression() throws ParseException {
1121 jj_consume_token(DECR);
1122 PrimaryExpression();
1125 static final public void UnaryExpressionNotPlusMinus() throws ParseException {
1126 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1128 jj_consume_token(BANG);
1132 jj_la1[43] = jj_gen;
1133 if (jj_2_3(2147483647)) {
1136 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1143 PostfixExpression();
1148 case INTEGER_LITERAL:
1149 case FLOATING_POINT_LITERAL:
1150 case STRING_LITERAL:
1154 jj_consume_token(LPAREN);
1156 jj_consume_token(RPAREN);
1159 jj_la1[44] = jj_gen;
1160 jj_consume_token(-1);
1161 throw new ParseException();
1167 static final public void CastExpression() throws ParseException {
1168 jj_consume_token(LPAREN);
1170 jj_consume_token(RPAREN);
1174 static final public void PostfixExpression() throws ParseException {
1175 PrimaryExpression();
1176 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1179 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1181 jj_consume_token(INCR);
1184 jj_consume_token(DECR);
1187 jj_la1[45] = jj_gen;
1188 jj_consume_token(-1);
1189 throw new ParseException();
1193 jj_la1[46] = jj_gen;
1198 static final public void PrimaryExpression() throws ParseException {
1200 jj_consume_token(IDENTIFIER);
1201 jj_consume_token(STATICCLASSACCESS);
1205 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1212 jj_la1[47] = jj_gen;
1218 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1227 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1234 jj_la1[48] = jj_gen;
1241 jj_consume_token(ARRAY);
1245 jj_la1[49] = jj_gen;
1246 jj_consume_token(-1);
1247 throw new ParseException();
1252 static final public void PrimaryPrefix() throws ParseException {
1253 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1255 jj_consume_token(IDENTIFIER);
1259 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1261 jj_consume_token(BIT_AND);
1264 jj_la1[50] = jj_gen;
1267 jj_consume_token(NEW);
1272 VariableDeclaratorId();
1275 jj_la1[51] = jj_gen;
1276 jj_consume_token(-1);
1277 throw new ParseException();
1281 static final public void ClassIdentifier() throws ParseException {
1282 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1284 jj_consume_token(IDENTIFIER);
1288 VariableDeclaratorId();
1291 jj_la1[52] = jj_gen;
1292 jj_consume_token(-1);
1293 throw new ParseException();
1297 static final public void PrimarySuffix() throws ParseException {
1298 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1307 jj_la1[53] = jj_gen;
1308 jj_consume_token(-1);
1309 throw new ParseException();
1313 static final public void VariableSuffix() throws ParseException {
1314 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1316 jj_consume_token(CLASSACCESS);
1320 jj_consume_token(LBRACKET);
1321 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1328 case INTEGER_LITERAL:
1329 case FLOATING_POINT_LITERAL:
1330 case STRING_LITERAL:
1345 jj_la1[54] = jj_gen;
1348 jj_consume_token(RBRACKET);
1351 jj_la1[55] = jj_gen;
1352 jj_consume_token(-1);
1353 throw new ParseException();
1357 static final public void Literal() throws ParseException {
1358 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1359 case INTEGER_LITERAL:
1360 jj_consume_token(INTEGER_LITERAL);
1362 case FLOATING_POINT_LITERAL:
1363 jj_consume_token(FLOATING_POINT_LITERAL);
1365 case STRING_LITERAL:
1367 jj_consume_token(STRING_LITERAL);
1368 } catch (TokenMgrError e) {
1369 errorMessage = "unterminated string";
1371 {if (true) throw generateParseException();}
1382 jj_la1[56] = jj_gen;
1383 jj_consume_token(-1);
1384 throw new ParseException();
1388 static final public void BooleanLiteral() throws ParseException {
1389 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1391 jj_consume_token(TRUE);
1394 jj_consume_token(FALSE);
1397 jj_la1[57] = jj_gen;
1398 jj_consume_token(-1);
1399 throw new ParseException();
1403 static final public void NullLiteral() throws ParseException {
1404 jj_consume_token(NULL);
1407 static final public void Arguments() throws ParseException {
1408 jj_consume_token(LPAREN);
1409 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1416 case INTEGER_LITERAL:
1417 case FLOATING_POINT_LITERAL:
1418 case STRING_LITERAL:
1433 jj_la1[58] = jj_gen;
1437 jj_consume_token(RPAREN);
1438 } catch (ParseException e) {
1439 errorMessage = "')' expected to close the argument list";
1441 {if (true) throw e;}
1445 static final public void ArgumentList() throws ParseException {
1449 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1454 jj_la1[59] = jj_gen;
1457 jj_consume_token(COMMA);
1460 } catch (ParseException e) {
1461 errorMessage = "expression expected after a comma in argument list";
1463 {if (true) throw e;}
1469 * Statement syntax follows.
1471 static final public void Statement() throws ParseException {
1474 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1476 jj_consume_token(SEMICOLON);
1479 jj_consume_token(127);
1482 jj_la1[60] = jj_gen;
1483 jj_consume_token(-1);
1484 throw new ParseException();
1486 } else if (jj_2_6(2)) {
1489 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1504 StatementExpression();
1506 jj_consume_token(SEMICOLON);
1507 } catch (ParseException e) {
1508 errorMessage = "';' expected after expression";
1510 {if (true) throw e;}
1532 ContinueStatement();
1553 jj_la1[61] = jj_gen;
1554 jj_consume_token(-1);
1555 throw new ParseException();
1560 static final public void IncludeStatement() throws ParseException {
1561 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1563 jj_consume_token(REQUIRE);
1565 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1567 jj_consume_token(SEMICOLON);
1570 jj_consume_token(127);
1573 jj_la1[62] = jj_gen;
1574 jj_consume_token(-1);
1575 throw new ParseException();
1579 jj_consume_token(REQUIRE_ONCE);
1581 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1583 jj_consume_token(SEMICOLON);
1586 jj_consume_token(127);
1589 jj_la1[63] = jj_gen;
1590 jj_consume_token(-1);
1591 throw new ParseException();
1595 jj_consume_token(INCLUDE);
1597 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1599 jj_consume_token(SEMICOLON);
1602 jj_consume_token(127);
1605 jj_la1[64] = jj_gen;
1606 jj_consume_token(-1);
1607 throw new ParseException();
1611 jj_consume_token(INCLUDE_ONCE);
1613 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1615 jj_consume_token(SEMICOLON);
1618 jj_consume_token(127);
1621 jj_la1[65] = jj_gen;
1622 jj_consume_token(-1);
1623 throw new ParseException();
1627 jj_la1[66] = jj_gen;
1628 jj_consume_token(-1);
1629 throw new ParseException();
1633 static final public void PrintExpression() throws ParseException {
1634 jj_consume_token(PRINT);
1638 static final public void EchoStatement() throws ParseException {
1639 jj_consume_token(ECHO);
1643 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1648 jj_la1[67] = jj_gen;
1651 jj_consume_token(COMMA);
1655 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1657 jj_consume_token(SEMICOLON);
1660 jj_consume_token(127);
1663 jj_la1[68] = jj_gen;
1664 jj_consume_token(-1);
1665 throw new ParseException();
1667 } catch (ParseException e) {
1668 errorMessage = "';' expected after 'echo' statement";
1670 {if (true) throw e;}
1674 static final public void GlobalStatement() throws ParseException {
1675 jj_consume_token(GLOBAL);
1676 VariableDeclaratorId();
1679 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1684 jj_la1[69] = jj_gen;
1687 jj_consume_token(COMMA);
1688 VariableDeclaratorId();
1690 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1692 jj_consume_token(SEMICOLON);
1695 jj_consume_token(127);
1698 jj_la1[70] = jj_gen;
1699 jj_consume_token(-1);
1700 throw new ParseException();
1704 static final public void StaticStatement() throws ParseException {
1705 jj_consume_token(STATIC);
1706 VariableDeclarator();
1709 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1714 jj_la1[71] = jj_gen;
1717 jj_consume_token(COMMA);
1718 VariableDeclarator();
1720 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1722 jj_consume_token(SEMICOLON);
1725 jj_consume_token(127);
1728 jj_la1[72] = jj_gen;
1729 jj_consume_token(-1);
1730 throw new ParseException();
1734 static final public void LabeledStatement() throws ParseException {
1735 jj_consume_token(IDENTIFIER);
1736 jj_consume_token(COLON);
1740 static final public void Block() throws ParseException {
1741 jj_consume_token(LBRACE);
1744 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1768 case INTEGER_LITERAL:
1769 case FLOATING_POINT_LITERAL:
1770 case STRING_LITERAL:
1787 jj_la1[73] = jj_gen;
1792 jj_consume_token(RBRACE);
1795 static final public void BlockStatement() throws ParseException {
1796 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1818 case INTEGER_LITERAL:
1819 case FLOATING_POINT_LITERAL:
1820 case STRING_LITERAL:
1840 MethodDeclaration();
1843 jj_la1[74] = jj_gen;
1844 jj_consume_token(-1);
1845 throw new ParseException();
1849 static final public void LocalVariableDeclaration() throws ParseException {
1850 VariableDeclarator();
1853 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1858 jj_la1[75] = jj_gen;
1861 jj_consume_token(COMMA);
1862 VariableDeclarator();
1866 static final public void EmptyStatement() throws ParseException {
1867 jj_consume_token(SEMICOLON);
1870 static final public void StatementExpression() throws ParseException {
1871 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1873 PreIncrementExpression();
1876 PreDecrementExpression();
1884 PrimaryExpression();
1885 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1899 case RSIGNEDSHIFTASSIGN:
1900 case RUNSIGNEDSHIFTASSIGN:
1901 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1903 jj_consume_token(INCR);
1906 jj_consume_token(DECR);
1919 case RSIGNEDSHIFTASSIGN:
1920 case RUNSIGNEDSHIFTASSIGN:
1921 AssignmentOperator();
1925 jj_la1[76] = jj_gen;
1926 jj_consume_token(-1);
1927 throw new ParseException();
1931 jj_la1[77] = jj_gen;
1936 jj_la1[78] = jj_gen;
1937 jj_consume_token(-1);
1938 throw new ParseException();
1942 static final public void SwitchStatement() throws ParseException {
1943 jj_consume_token(SWITCH);
1944 jj_consume_token(LPAREN);
1946 jj_consume_token(RPAREN);
1947 jj_consume_token(LBRACE);
1950 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1956 jj_la1[79] = jj_gen;
1962 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1986 case INTEGER_LITERAL:
1987 case FLOATING_POINT_LITERAL:
1988 case STRING_LITERAL:
2005 jj_la1[80] = jj_gen;
2011 jj_consume_token(RBRACE);
2014 static final public void SwitchLabel() throws ParseException {
2015 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2017 jj_consume_token(CASE);
2019 jj_consume_token(COLON);
2022 jj_consume_token(_DEFAULT);
2023 jj_consume_token(COLON);
2026 jj_la1[81] = jj_gen;
2027 jj_consume_token(-1);
2028 throw new ParseException();
2032 static final public void IfStatement() throws ParseException {
2033 jj_consume_token(IF);
2038 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2043 jj_la1[82] = jj_gen;
2048 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2050 jj_consume_token(ELSE);
2054 jj_la1[83] = jj_gen;
2059 static final public void Condition(String keyword) throws ParseException {
2061 jj_consume_token(LPAREN);
2062 } catch (ParseException e) {
2063 errorMessage = "'(' expected after " + keyword + " keyword";
2065 {if (true) throw e;}
2069 jj_consume_token(RPAREN);
2070 } catch (ParseException e) {
2071 errorMessage = "')' expected after " + keyword + " keyword";
2073 {if (true) throw e;}
2077 static final public void ElseIfStatement() throws ParseException {
2078 jj_consume_token(ELSEIF);
2079 Condition("elseif");
2083 static final public void WhileStatement() throws ParseException {
2084 jj_consume_token(WHILE);
2089 static final public void WhileStatement0() throws ParseException {
2090 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2092 jj_consume_token(COLON);
2095 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2117 case INTEGER_LITERAL:
2118 case FLOATING_POINT_LITERAL:
2119 case STRING_LITERAL:
2136 jj_la1[84] = jj_gen;
2141 jj_consume_token(ENDWHILE);
2142 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2144 jj_consume_token(SEMICOLON);
2147 jj_consume_token(127);
2150 jj_la1[85] = jj_gen;
2151 jj_consume_token(-1);
2152 throw new ParseException();
2176 case INTEGER_LITERAL:
2177 case FLOATING_POINT_LITERAL:
2178 case STRING_LITERAL:
2195 jj_la1[86] = jj_gen;
2196 jj_consume_token(-1);
2197 throw new ParseException();
2201 static final public void DoStatement() throws ParseException {
2202 jj_consume_token(DO);
2204 jj_consume_token(WHILE);
2206 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2208 jj_consume_token(SEMICOLON);
2211 jj_consume_token(127);
2214 jj_la1[87] = jj_gen;
2215 jj_consume_token(-1);
2216 throw new ParseException();
2220 static final public void ForStatement() throws ParseException {
2221 jj_consume_token(FOR);
2222 jj_consume_token(LPAREN);
2223 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2235 jj_la1[88] = jj_gen;
2238 jj_consume_token(SEMICOLON);
2239 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2246 case INTEGER_LITERAL:
2247 case FLOATING_POINT_LITERAL:
2248 case STRING_LITERAL:
2263 jj_la1[89] = jj_gen;
2266 jj_consume_token(SEMICOLON);
2267 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2279 jj_la1[90] = jj_gen;
2282 jj_consume_token(RPAREN);
2286 static final public void ForInit() throws ParseException {
2287 if (jj_2_7(2147483647)) {
2288 LocalVariableDeclaration();
2290 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2299 StatementExpressionList();
2302 jj_la1[91] = jj_gen;
2303 jj_consume_token(-1);
2304 throw new ParseException();
2309 static final public void StatementExpressionList() throws ParseException {
2310 StatementExpression();
2313 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2318 jj_la1[92] = jj_gen;
2321 jj_consume_token(COMMA);
2322 StatementExpression();
2326 static final public void ForUpdate() throws ParseException {
2327 StatementExpressionList();
2330 static final public void BreakStatement() throws ParseException {
2331 jj_consume_token(BREAK);
2332 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2334 jj_consume_token(IDENTIFIER);
2337 jj_la1[93] = jj_gen;
2340 jj_consume_token(SEMICOLON);
2343 static final public void ContinueStatement() throws ParseException {
2344 jj_consume_token(CONTINUE);
2345 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2347 jj_consume_token(IDENTIFIER);
2350 jj_la1[94] = jj_gen;
2353 jj_consume_token(SEMICOLON);
2356 static final public void ReturnStatement() throws ParseException {
2357 jj_consume_token(RETURN);
2358 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2365 case INTEGER_LITERAL:
2366 case FLOATING_POINT_LITERAL:
2367 case STRING_LITERAL:
2382 jj_la1[95] = jj_gen;
2385 jj_consume_token(SEMICOLON);
2388 static final private boolean jj_2_1(int xla) {
2389 jj_la = xla; jj_lastpos = jj_scanpos = token;
2390 boolean retval = !jj_3_1();
2395 static final private boolean jj_2_2(int xla) {
2396 jj_la = xla; jj_lastpos = jj_scanpos = token;
2397 boolean retval = !jj_3_2();
2402 static final private boolean jj_2_3(int xla) {
2403 jj_la = xla; jj_lastpos = jj_scanpos = token;
2404 boolean retval = !jj_3_3();
2409 static final private boolean jj_2_4(int xla) {
2410 jj_la = xla; jj_lastpos = jj_scanpos = token;
2411 boolean retval = !jj_3_4();
2416 static final private boolean jj_2_5(int xla) {
2417 jj_la = xla; jj_lastpos = jj_scanpos = token;
2418 boolean retval = !jj_3_5();
2423 static final private boolean jj_2_6(int xla) {
2424 jj_la = xla; jj_lastpos = jj_scanpos = token;
2425 boolean retval = !jj_3_6();
2430 static final private boolean jj_2_7(int xla) {
2431 jj_la = xla; jj_lastpos = jj_scanpos = token;
2432 boolean retval = !jj_3_7();
2437 static final private boolean jj_3R_91() {
2438 if (jj_scan_token(SC_OR)) return true;
2439 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2443 static final private boolean jj_3R_77() {
2444 if (jj_scan_token(REMASSIGN)) return true;
2445 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2449 static final private boolean jj_3R_101() {
2450 if (jj_3R_103()) return true;
2451 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2455 if (jj_3R_104()) { jj_scanpos = xsp; break; }
2456 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2461 static final private boolean jj_3R_73() {
2466 if (jj_3R_92()) return true;
2467 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2468 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2469 if (jj_3R_72()) return true;
2470 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2474 static final private boolean jj_3R_96() {
2475 if (jj_scan_token(SC_AND)) return true;
2476 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2480 static final private boolean jj_3R_90() {
2485 if (jj_3R_97()) return true;
2486 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2487 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2488 if (jj_3R_89()) return true;
2489 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2493 static final private boolean jj_3R_98() {
2494 if (jj_3R_101()) return true;
2495 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2499 if (jj_3R_102()) { jj_scanpos = xsp; break; }
2500 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2505 static final private boolean jj_3R_68() {
2506 if (jj_scan_token(HOOK)) return true;
2507 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2508 if (jj_3R_38()) return true;
2509 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2510 if (jj_scan_token(COLON)) return true;
2511 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2512 if (jj_3R_60()) return true;
2513 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2517 static final private boolean jj_3R_94() {
2518 if (jj_3R_98()) return true;
2519 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2523 if (jj_3R_99()) { jj_scanpos = xsp; break; }
2524 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2529 static final private boolean jj_3R_76() {
2530 if (jj_scan_token(SLASHASSIGN)) return true;
2531 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2535 static final private boolean jj_3R_89() {
2536 if (jj_3R_94()) return true;
2537 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2541 if (jj_3R_95()) { jj_scanpos = xsp; break; }
2542 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2547 static final private boolean jj_3R_72() {
2548 if (jj_3R_89()) return true;
2549 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2553 if (jj_3R_90()) { jj_scanpos = xsp; break; }
2554 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2559 static final private boolean jj_3R_67() {
2560 if (jj_3R_72()) return true;
2561 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2565 if (jj_3R_73()) { jj_scanpos = xsp; break; }
2566 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2571 static final private boolean jj_3R_75() {
2572 if (jj_scan_token(STARASSIGN)) return true;
2573 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2577 static final private boolean jj_3R_60() {
2578 if (jj_3R_67()) return true;
2579 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2582 if (jj_3R_68()) jj_scanpos = xsp;
2583 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2587 static final private boolean jj_3R_74() {
2588 if (jj_scan_token(ASSIGN)) return true;
2589 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2593 static final private boolean jj_3R_69() {
2620 if (jj_3R_86()) return true;
2621 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2622 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2623 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2624 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2625 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2626 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2627 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2628 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2629 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2630 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2631 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2632 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2633 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2637 static final private boolean jj_3R_61() {
2638 if (jj_3R_69()) return true;
2639 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2640 if (jj_3R_38()) return true;
2641 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2645 static final private boolean jj_3R_56() {
2646 if (jj_scan_token(COMMA)) return true;
2647 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2648 if (jj_3R_55()) return true;
2649 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2653 static final private boolean jj_3R_54() {
2654 if (jj_3R_60()) return true;
2655 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2658 if (jj_3R_61()) jj_scanpos = xsp;
2659 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2663 static final private boolean jj_3R_38() {
2668 if (jj_3R_54()) return true;
2669 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2670 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2674 static final private boolean jj_3R_53() {
2675 if (jj_3R_59()) return true;
2676 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2680 static final private boolean jj_3R_52() {
2681 if (jj_scan_token(INTEGER)) return true;
2682 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2686 static final private boolean jj_3R_51() {
2687 if (jj_scan_token(INT)) return true;
2688 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2692 static final private boolean jj_3R_50() {
2693 if (jj_scan_token(FLOAT)) return true;
2694 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2698 static final private boolean jj_3R_49() {
2699 if (jj_scan_token(DOUBLE)) return true;
2700 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2704 static final private boolean jj_3R_48() {
2705 if (jj_scan_token(REAL)) return true;
2706 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2710 static final private boolean jj_3R_47() {
2711 if (jj_scan_token(BOOLEAN)) return true;
2712 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2716 static final private boolean jj_3R_46() {
2717 if (jj_scan_token(BOOL)) return true;
2718 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2722 static final private boolean jj_3R_42() {
2723 if (jj_3R_55()) return true;
2724 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2728 if (jj_3R_56()) { jj_scanpos = xsp; break; }
2729 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2734 static final private boolean jj_3R_37() {
2751 if (jj_3R_52()) return true;
2752 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2753 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2754 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2755 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2756 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2757 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2758 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2759 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2763 static final private boolean jj_3R_45() {
2764 if (jj_scan_token(STRING)) return true;
2765 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2769 static final private boolean jj_3R_41() {
2770 if (jj_scan_token(IDENTIFIER)) return true;
2771 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2772 if (jj_scan_token(COLON)) return true;
2773 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2777 static final private boolean jj_3_2() {
2778 if (jj_scan_token(COMMA)) return true;
2779 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2780 if (jj_3R_36()) return true;
2781 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2785 static final private boolean jj_3R_177() {
2786 if (jj_3R_36()) return true;
2787 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2791 if (jj_3_2()) { jj_scanpos = xsp; break; }
2792 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2797 static final private boolean jj_3R_178() {
2798 if (jj_scan_token(ARRAYASSIGN)) return true;
2799 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2800 if (jj_3R_38()) return true;
2801 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2805 static final private boolean jj_3R_59() {
2806 if (jj_scan_token(PRINT)) return true;
2807 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2808 if (jj_3R_38()) return true;
2809 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2813 static final private boolean jj_3R_166() {
2814 if (jj_scan_token(LPAREN)) return true;
2815 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2818 if (jj_3R_177()) jj_scanpos = xsp;
2819 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2820 if (jj_scan_token(RPAREN)) return true;
2821 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2825 static final private boolean jj_3R_36() {
2826 if (jj_3R_38()) return true;
2827 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2831 if (jj_3R_178()) { jj_scanpos = xsp; break; }
2832 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2837 static final private boolean jj_3R_100() {
2838 if (jj_scan_token(LBRACE)) return true;
2839 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2840 if (jj_3R_38()) return true;
2841 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2842 if (jj_scan_token(RBRACE)) return true;
2843 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2847 static final private boolean jj_3R_71() {
2848 if (jj_3R_38()) return true;
2849 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2853 static final private boolean jj_3R_93() {
2854 if (jj_scan_token(LBRACE)) return true;
2855 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2856 if (jj_3R_38()) return true;
2857 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2858 if (jj_scan_token(RBRACE)) return true;
2859 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2863 static final private boolean jj_3R_63() {
2864 if (jj_scan_token(ASSIGN)) return true;
2865 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2866 if (jj_3R_71()) return true;
2867 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2871 static final private boolean jj_3R_66() {
2872 if (jj_scan_token(DOLLAR)) return true;
2873 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2874 if (jj_3R_57()) return true;
2875 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2879 static final private boolean jj_3R_65() {
2880 if (jj_scan_token(IDENTIFIER)) return true;
2881 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2885 if (jj_3R_100()) { jj_scanpos = xsp; break; }
2886 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2891 static final private boolean jj_3R_64() {
2892 if (jj_scan_token(LBRACE)) return true;
2893 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2894 if (jj_3R_38()) return true;
2895 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2896 if (jj_scan_token(RBRACE)) return true;
2897 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2901 static final private boolean jj_3R_57() {
2908 if (jj_3R_66()) return true;
2909 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2910 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2911 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2915 static final private boolean jj_3_1() {
2916 if (jj_3R_35()) return true;
2917 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2921 static final private boolean jj_3R_40() {
2922 if (jj_scan_token(127)) return true;
2923 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2927 static final private boolean jj_3R_88() {
2928 if (jj_scan_token(DOLLAR)) return true;
2929 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2930 if (jj_3R_57()) return true;
2931 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2935 static final private boolean jj_3R_87() {
2936 if (jj_scan_token(DOLLAR_ID)) return true;
2937 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2941 if (jj_3R_93()) { jj_scanpos = xsp; break; }
2942 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2947 static final private boolean jj_3R_70() {
2952 if (jj_3R_88()) return true;
2953 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2954 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2958 static final private boolean jj_3R_62() {
2959 if (jj_3R_70()) return true;
2960 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2964 if (jj_3_1()) { jj_scanpos = xsp; break; }
2965 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2970 static final private boolean jj_3R_39() {
2971 if (jj_scan_token(SEMICOLON)) return true;
2972 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2976 static final private boolean jj_3R_55() {
2977 if (jj_3R_62()) return true;
2978 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2981 if (jj_3R_63()) jj_scanpos = xsp;
2982 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2986 static final private boolean jj_3_6() {
2987 if (jj_3R_41()) return true;
2988 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2992 static final private boolean jj_3_5() {
2993 if (jj_3R_38()) return true;
2994 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2999 if (jj_3R_40()) return true;
3000 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3001 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3005 static final private boolean jj_3R_181() {
3006 if (jj_scan_token(COMMA)) return true;
3007 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3008 if (jj_3R_38()) return true;
3009 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3013 static final private boolean jj_3R_180() {
3014 if (jj_3R_38()) return true;
3015 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3019 if (jj_3R_181()) { jj_scanpos = xsp; break; }
3020 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3025 static final private boolean jj_3R_179() {
3026 if (jj_3R_180()) return true;
3027 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3031 static final private boolean jj_3R_176() {
3032 if (jj_scan_token(LPAREN)) return true;
3033 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3036 if (jj_3R_179()) jj_scanpos = xsp;
3037 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3038 if (jj_scan_token(RPAREN)) return true;
3039 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3043 static final private boolean jj_3R_163() {
3044 if (jj_scan_token(NULL)) return true;
3045 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3049 static final private boolean jj_3R_168() {
3050 if (jj_scan_token(FALSE)) return true;
3051 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3055 static final private boolean jj_3R_162() {
3060 if (jj_3R_168()) return true;
3061 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3062 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3066 static final private boolean jj_3R_167() {
3067 if (jj_scan_token(TRUE)) return true;
3068 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3072 static final private boolean jj_3R_86() {
3073 if (jj_scan_token(DOTASSIGN)) return true;
3074 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3078 static final private boolean jj_3R_156() {
3079 if (jj_3R_163()) return true;
3080 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3084 static final private boolean jj_3R_155() {
3085 if (jj_3R_162()) return true;
3086 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3090 static final private boolean jj_3R_173() {
3091 if (jj_3R_169()) return true;
3092 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3096 static final private boolean jj_3R_58() {
3097 if (jj_3R_38()) return true;
3098 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3102 static final private boolean jj_3R_85() {
3103 if (jj_scan_token(ORASSIGN)) return true;
3104 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3108 static final private boolean jj_3R_154() {
3109 if (jj_scan_token(STRING_LITERAL)) return true;
3110 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3114 static final private boolean jj_3R_153() {
3115 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
3116 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3120 static final private boolean jj_3R_149() {
3131 if (jj_3R_156()) return true;
3132 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3133 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3134 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3135 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3136 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3140 static final private boolean jj_3R_152() {
3141 if (jj_scan_token(INTEGER_LITERAL)) return true;
3142 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3146 static final private boolean jj_3R_44() {
3147 if (jj_scan_token(LBRACKET)) return true;
3148 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3151 if (jj_3R_58()) jj_scanpos = xsp;
3152 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3153 if (jj_scan_token(RBRACKET)) return true;
3154 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3158 static final private boolean jj_3R_43() {
3159 if (jj_scan_token(CLASSACCESS)) return true;
3160 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3161 if (jj_3R_57()) return true;
3162 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3166 static final private boolean jj_3R_35() {
3171 if (jj_3R_44()) return true;
3172 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3173 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3177 static final private boolean jj_3R_84() {
3178 if (jj_scan_token(XORASSIGN)) return true;
3179 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3183 static final private boolean jj_3R_172() {
3184 if (jj_3R_35()) return true;
3185 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3189 static final private boolean jj_3R_171() {
3190 if (jj_3R_176()) return true;
3191 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3195 static final private boolean jj_3R_169() {
3200 if (jj_3R_172()) return true;
3201 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3202 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3206 static final private boolean jj_3R_161() {
3207 if (jj_scan_token(DECR)) return true;
3208 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3212 static final private boolean jj_3R_175() {
3213 if (jj_3R_62()) return true;
3214 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3218 static final private boolean jj_3R_174() {
3219 if (jj_scan_token(IDENTIFIER)) return true;
3220 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3224 static final private boolean jj_3R_83() {
3225 if (jj_scan_token(ANDASSIGN)) return true;
3226 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3230 static final private boolean jj_3R_165() {
3231 if (jj_3R_169()) return true;
3232 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3236 static final private boolean jj_3R_170() {
3241 if (jj_3R_175()) return true;
3242 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3243 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3247 static final private boolean jj_3R_151() {
3252 if (jj_3R_161()) return true;
3253 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3254 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3258 static final private boolean jj_3R_160() {
3259 if (jj_scan_token(INCR)) return true;
3260 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3264 static final private boolean jj_3R_159() {
3265 if (jj_3R_62()) return true;
3266 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3270 static final private boolean jj_3R_164() {
3271 if (jj_scan_token(BIT_AND)) return true;
3272 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3276 static final private boolean jj_3R_158() {
3279 if (jj_3R_164()) jj_scanpos = xsp;
3280 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3281 if (jj_scan_token(NEW)) return true;
3282 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3283 if (jj_3R_170()) return true;
3284 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3288 static final private boolean jj_3R_150() {
3295 if (jj_3R_159()) return true;
3296 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3297 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3298 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3302 static final private boolean jj_3R_157() {
3303 if (jj_scan_token(IDENTIFIER)) return true;
3304 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3308 static final private boolean jj_3R_146() {
3309 if (jj_scan_token(ARRAY)) return true;
3310 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3311 if (jj_3R_166()) return true;
3312 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3316 static final private boolean jj_3R_145() {
3317 if (jj_3R_150()) return true;
3318 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3322 if (jj_3R_165()) { jj_scanpos = xsp; break; }
3323 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3328 static final private boolean jj_3_4() {
3329 if (jj_scan_token(IDENTIFIER)) return true;
3330 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3331 if (jj_scan_token(STATICCLASSACCESS)) return true;
3332 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3333 if (jj_3R_170()) return true;
3334 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3338 if (jj_3R_173()) { jj_scanpos = xsp; break; }
3339 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3344 static final private boolean jj_3R_139() {
3351 if (jj_3R_146()) return true;
3352 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3353 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3354 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3358 static final private boolean jj_3R_82() {
3359 if (jj_scan_token(RUNSIGNEDSHIFTASSIGN)) return true;
3360 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3364 static final private boolean jj_3R_148() {
3365 if (jj_3R_139()) return true;
3366 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3369 if (jj_3R_151()) jj_scanpos = xsp;
3370 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3374 static final private boolean jj_3R_147() {
3375 if (jj_scan_token(LPAREN)) return true;
3376 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3377 if (jj_3R_37()) return true;
3378 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3379 if (jj_scan_token(RPAREN)) return true;
3380 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3381 if (jj_3R_122()) return true;
3382 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3386 static final private boolean jj_3_3() {
3387 if (jj_scan_token(LPAREN)) return true;
3388 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3389 if (jj_3R_37()) return true;
3390 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3391 if (jj_scan_token(RPAREN)) return true;
3392 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3396 static final private boolean jj_3R_121() {
3397 if (jj_scan_token(RUNSIGNEDSHIFT)) return true;
3398 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3402 static final private boolean jj_3R_133() {
3403 if (jj_scan_token(REM)) return true;
3404 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3408 static final private boolean jj_3R_144() {
3409 if (jj_scan_token(LPAREN)) return true;
3410 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3411 if (jj_3R_38()) return true;
3412 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3413 if (jj_scan_token(RPAREN)) return true;
3414 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3418 static final private boolean jj_3R_143() {
3419 if (jj_3R_149()) return true;
3420 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3424 static final private boolean jj_3R_142() {
3425 if (jj_3R_148()) return true;
3426 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3430 static final private boolean jj_3R_125() {
3431 if (jj_scan_token(MINUS)) return true;
3432 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3436 static final private boolean jj_3R_141() {
3437 if (jj_3R_147()) return true;
3438 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3442 static final private boolean jj_3R_81() {
3443 if (jj_scan_token(RSIGNEDSHIFTASSIGN)) return true;
3444 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3448 static final private boolean jj_3R_138() {
3459 if (jj_3R_144()) return true;
3460 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3461 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3462 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3463 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3464 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3468 static final private boolean jj_3R_140() {
3469 if (jj_scan_token(BANG)) return true;
3470 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3471 if (jj_3R_122()) return true;
3472 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3476 static final private boolean jj_3R_132() {
3477 if (jj_scan_token(SLASH)) return true;
3478 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3482 static final private boolean jj_3R_137() {
3483 if (jj_scan_token(DECR)) return true;
3484 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3485 if (jj_3R_139()) return true;
3486 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3490 static final private boolean jj_3R_116() {
3491 if (jj_scan_token(GE)) return true;
3492 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3496 static final private boolean jj_3R_124() {
3497 if (jj_scan_token(PLUS)) return true;
3498 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3502 static final private boolean jj_3R_120() {
3503 if (jj_scan_token(RSIGNEDSHIFT)) return true;
3504 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3508 static final private boolean jj_3R_118() {
3513 if (jj_3R_125()) return true;
3514 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3515 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3516 if (jj_3R_117()) return true;
3517 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3521 static final private boolean jj_3R_131() {
3522 if (jj_scan_token(STAR)) return true;
3523 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3527 static final private boolean jj_3_7() {
3528 if (jj_3R_42()) return true;
3529 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3533 static final private boolean jj_3R_123() {
3540 if (jj_3R_133()) return true;
3541 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3542 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3543 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3544 if (jj_3R_122()) return true;
3545 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3549 static final private boolean jj_3R_136() {
3550 if (jj_scan_token(INCR)) return true;
3551 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3552 if (jj_3R_139()) return true;
3553 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3557 static final private boolean jj_3R_135() {
3558 if (jj_scan_token(MINUS)) return true;
3559 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3563 static final private boolean jj_3R_115() {
3564 if (jj_scan_token(LE)) return true;
3565 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3569 static final private boolean jj_3R_80() {
3570 if (jj_scan_token(LSHIFTASSIGN)) return true;
3571 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3575 static final private boolean jj_3R_130() {
3576 if (jj_3R_138()) return true;
3577 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3581 static final private boolean jj_3R_119() {
3582 if (jj_scan_token(LSHIFT)) return true;
3583 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3587 static final private boolean jj_3R_129() {
3588 if (jj_3R_137()) return true;
3589 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3593 static final private boolean jj_3R_112() {
3600 if (jj_3R_121()) return true;
3601 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3602 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3603 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3604 if (jj_3R_111()) return true;
3605 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3609 static final private boolean jj_3R_114() {
3610 if (jj_scan_token(GT)) return true;
3611 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3615 static final private boolean jj_3R_110() {
3616 if (jj_scan_token(NE)) return true;
3617 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3621 static final private boolean jj_3R_128() {
3622 if (jj_3R_136()) return true;
3623 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3627 static final private boolean jj_3R_134() {
3628 if (jj_scan_token(PLUS)) return true;
3629 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3633 static final private boolean jj_3R_127() {
3638 if (jj_3R_135()) return true;
3639 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3640 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3641 if (jj_3R_122()) return true;
3642 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3646 static final private boolean jj_3R_122() {
3657 if (jj_3R_130()) return true;
3658 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3659 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3660 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3661 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3662 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3666 static final private boolean jj_3R_126() {
3667 if (jj_scan_token(AT)) return true;
3668 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3669 if (jj_3R_122()) return true;
3670 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3674 static final private boolean jj_3R_113() {
3675 if (jj_scan_token(LT)) return true;
3676 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3680 static final private boolean jj_3R_109() {
3681 if (jj_scan_token(EQ)) return true;
3682 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3686 static final private boolean jj_3R_108() {
3695 if (jj_3R_116()) return true;
3696 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3697 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3698 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3699 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3700 if (jj_3R_107()) return true;
3701 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3705 static final private boolean jj_3R_106() {
3710 if (jj_3R_110()) return true;
3711 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3712 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3713 if (jj_3R_105()) return true;
3714 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3718 static final private boolean jj_3R_117() {
3719 if (jj_3R_122()) return true;
3720 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3724 if (jj_3R_123()) { jj_scanpos = xsp; break; }
3725 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3730 static final private boolean jj_3R_79() {
3731 if (jj_scan_token(MINUSASSIGN)) return true;
3732 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3736 static final private boolean jj_3R_111() {
3737 if (jj_3R_117()) return true;
3738 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3742 if (jj_3R_118()) { jj_scanpos = xsp; break; }
3743 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3748 static final private boolean jj_3R_104() {
3749 if (jj_scan_token(BIT_AND)) return true;
3750 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3751 if (jj_3R_103()) return true;
3752 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3756 static final private boolean jj_3R_107() {
3757 if (jj_3R_111()) return true;
3758 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3762 if (jj_3R_112()) { jj_scanpos = xsp; break; }
3763 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3768 static final private boolean jj_3R_78() {
3769 if (jj_scan_token(PLUSASSIGN)) return true;
3770 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3774 static final private boolean jj_3R_99() {
3775 if (jj_scan_token(BIT_OR)) return true;
3776 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3777 if (jj_3R_98()) return true;
3778 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3782 static final private boolean jj_3R_102() {
3783 if (jj_scan_token(XOR)) return true;
3784 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3785 if (jj_3R_101()) return true;
3786 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3790 static final private boolean jj_3R_105() {
3791 if (jj_3R_107()) return true;
3792 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3796 if (jj_3R_108()) { jj_scanpos = xsp; break; }
3797 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3802 static final private boolean jj_3R_92() {
3803 if (jj_scan_token(_ORL)) return true;
3804 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3808 static final private boolean jj_3R_97() {
3809 if (jj_scan_token(_ANDL)) return true;
3810 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3814 static final private boolean jj_3R_95() {
3815 if (jj_scan_token(DOT)) return true;
3816 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3817 if (jj_3R_94()) return true;
3818 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3822 static final private boolean jj_3R_103() {
3823 if (jj_3R_105()) return true;
3824 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3828 if (jj_3R_106()) { jj_scanpos = xsp; break; }
3829 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3834 static private boolean jj_initialized_once = false;
3835 static public PHPParserTokenManager token_source;
3836 static SimpleCharStream jj_input_stream;
3837 static public Token token, jj_nt;
3838 static private int jj_ntk;
3839 static private Token jj_scanpos, jj_lastpos;
3840 static private int jj_la;
3841 static public boolean lookingAhead = false;
3842 static private boolean jj_semLA;
3843 static private int jj_gen;
3844 static final private int[] jj_la1 = new int[96];
3845 static final private int[] jj_la1_0 = {0x2,0x7fcb0000,0x0,0x60000,0x60000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0x0,0x400000,0x0,0x0,0x80000000,0x80000000,0x400000,0x0,0x0,0x0,0x80000000,0xc00000,0x80000000,0x0,0x0,0xc00000,0x0,0x0,0x7f480000,0x0,0x0,0x0,0x0,0x1e000000,0x0,0x0,0x0,0x0,0x0,0x0,0x7fcb0000,0x7fcb0000,0x0,0x0,0x0,0x400000,0x0,0x7fcb0000,0x0,0x100000,0x200000,0x7fc80000,0x0,0x7fc80000,0x0,0x400000,0xc00000,0x400000,0x400000,0x0,0x0,0x0,0xc00000,};
3846 static final private int[] jj_la1_1 = {0x0,0xd76a4,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x43200,0x0,0x0,0x0,0x0,0x0,0x3fa00000,0x0,0x43200,0x0,0x0,0x40000000,0x40000000,0x80000000,0x80000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x43200,0x0,0x43200,0x0,0x0,0x0,0x0,0x1000,0x0,0x1000,0x0,0x0,0x43200,0x0,0x42200,0x40200,0x43200,0x0,0x0,0x954a4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xd76a4,0xd76a4,0x0,0x0,0x0,0x1000,0x48,0xd76a4,0x48,0x0,0x0,0xd76a4,0x0,0xd76a4,0x0,0x1000,0x43200,0x1000,0x1000,0x0,0x0,0x0,0x43200,};
3847 static final private int[] jj_la1_2 = {0x0,0x11914451,0x0,0x0,0x0,0x200000,0x2000000,0x10000,0x1000000,0x10000,0x1010400,0x0,0x11804451,0x110000,0x0,0x200000,0x1000000,0x0,0x0,0x2000000,0x11804451,0x2000000,0x20000000,0x0,0x0,0x0,0x0,0x400000,0x0,0x0,0x0,0x80000000,0x80000000,0xc000000,0xc000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x11804451,0x10000000,0x1004451,0x0,0x0,0x44000,0x44000,0x1000400,0x0,0x1000400,0x1000400,0x44000,0x11804451,0x40000,0x51,0x0,0x11804451,0x200000,0x100000,0x1110400,0x100000,0x100000,0x100000,0x100000,0x0,0x200000,0x100000,0x200000,0x100000,0x200000,0x100000,0x11914451,0x11914451,0x200000,0x2000000,0x2000000,0x1000400,0x0,0x11914451,0x0,0x0,0x0,0x11914451,0x100000,0x51914451,0x100000,0x1000400,0x11804451,0x1000400,0x1000400,0x200000,0x400,0x400,0x11804451,};
3848 static final private int[] jj_la1_3 = {0x0,0x400009e0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000000,0x0,0x0,0x0,0x400009e0,0x0,0x800,0x0,0x40000800,0x800,0x0,0x3ffc0000,0x400009e0,0x3ffc0000,0x0,0x8,0x8,0x10,0x10,0x0,0x1000,0x2000,0x800,0x4,0x4,0x3,0x3,0x38000,0x38000,0x180,0x180,0x4600,0x4600,0x180,0x400009e0,0x0,0x40000800,0x60,0x60,0x0,0x0,0x40000800,0x800,0x40000800,0x40000000,0x0,0x400009e0,0x0,0x0,0x0,0x400009e0,0x0,0x80000000,0x40000860,0x80000000,0x80000000,0x80000000,0x80000000,0x0,0x0,0x80000000,0x0,0x80000000,0x0,0x80000000,0x400009e0,0x400009e0,0x0,0x3ffc0060,0x3ffc0060,0x40000860,0x0,0x400009e0,0x0,0x0,0x0,0x400009e0,0x80000000,0x400009e0,0x80000000,0x40000860,0x400009e0,0x40000860,0x40000860,0x0,0x0,0x0,0x400009e0,};
3849 static final private JJCalls[] jj_2_rtns = new JJCalls[7];
3850 static private boolean jj_rescan = false;
3851 static private int jj_gc = 0;
3853 public PHPParser(java.io.InputStream stream) {
3854 if (jj_initialized_once) {
3855 System.out.println("ERROR: Second call to constructor of static parser. You must");
3856 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
3857 System.out.println(" during parser generation.");
3860 jj_initialized_once = true;
3861 jj_input_stream = new SimpleCharStream(stream, 1, 1);
3862 token_source = new PHPParserTokenManager(jj_input_stream);
3863 token = new Token();
3866 for (int i = 0; i < 96; i++) jj_la1[i] = -1;
3867 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
3870 static public void ReInit(java.io.InputStream stream) {
3871 jj_input_stream.ReInit(stream, 1, 1);
3872 token_source.ReInit(jj_input_stream);
3873 token = new Token();
3876 for (int i = 0; i < 96; i++) jj_la1[i] = -1;
3877 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
3880 public PHPParser(java.io.Reader stream) {
3881 if (jj_initialized_once) {
3882 System.out.println("ERROR: Second call to constructor of static parser. You must");
3883 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
3884 System.out.println(" during parser generation.");
3887 jj_initialized_once = true;
3888 jj_input_stream = new SimpleCharStream(stream, 1, 1);
3889 token_source = new PHPParserTokenManager(jj_input_stream);
3890 token = new Token();
3893 for (int i = 0; i < 96; i++) jj_la1[i] = -1;
3894 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
3897 static public void ReInit(java.io.Reader stream) {
3898 jj_input_stream.ReInit(stream, 1, 1);
3899 token_source.ReInit(jj_input_stream);
3900 token = new Token();
3903 for (int i = 0; i < 96; i++) jj_la1[i] = -1;
3904 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
3907 public PHPParser(PHPParserTokenManager tm) {
3908 if (jj_initialized_once) {
3909 System.out.println("ERROR: Second call to constructor of static parser. You must");
3910 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
3911 System.out.println(" during parser generation.");
3914 jj_initialized_once = true;
3916 token = new Token();
3919 for (int i = 0; i < 96; i++) jj_la1[i] = -1;
3920 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
3923 public void ReInit(PHPParserTokenManager tm) {
3925 token = new Token();
3928 for (int i = 0; i < 96; i++) jj_la1[i] = -1;
3929 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
3932 static final private Token jj_consume_token(int kind) throws ParseException {
3934 if ((oldToken = token).next != null) token = token.next;
3935 else token = token.next = token_source.getNextToken();
3937 if (token.kind == kind) {
3939 if (++jj_gc > 100) {
3941 for (int i = 0; i < jj_2_rtns.length; i++) {
3942 JJCalls c = jj_2_rtns[i];
3944 if (c.gen < jj_gen) c.first = null;
3953 throw generateParseException();
3956 static final private boolean jj_scan_token(int kind) {
3957 if (jj_scanpos == jj_lastpos) {
3959 if (jj_scanpos.next == null) {
3960 jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
3962 jj_lastpos = jj_scanpos = jj_scanpos.next;
3965 jj_scanpos = jj_scanpos.next;
3968 int i = 0; Token tok = token;
3969 while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
3970 if (tok != null) jj_add_error_token(kind, i);
3972 return (jj_scanpos.kind != kind);
3975 static final public Token getNextToken() {
3976 if (token.next != null) token = token.next;
3977 else token = token.next = token_source.getNextToken();
3983 static final public Token getToken(int index) {
3984 Token t = lookingAhead ? jj_scanpos : token;
3985 for (int i = 0; i < index; i++) {
3986 if (t.next != null) t = t.next;
3987 else t = t.next = token_source.getNextToken();
3992 static final private int jj_ntk() {
3993 if ((jj_nt=token.next) == null)
3994 return (jj_ntk = (token.next=token_source.getNextToken()).kind);
3996 return (jj_ntk = jj_nt.kind);
3999 static private java.util.Vector jj_expentries = new java.util.Vector();
4000 static private int[] jj_expentry;
4001 static private int jj_kind = -1;
4002 static private int[] jj_lasttokens = new int[100];
4003 static private int jj_endpos;
4005 static private void jj_add_error_token(int kind, int pos) {
4006 if (pos >= 100) return;
4007 if (pos == jj_endpos + 1) {
4008 jj_lasttokens[jj_endpos++] = kind;
4009 } else if (jj_endpos != 0) {
4010 jj_expentry = new int[jj_endpos];
4011 for (int i = 0; i < jj_endpos; i++) {
4012 jj_expentry[i] = jj_lasttokens[i];
4014 boolean exists = false;
4015 for (java.util.Enumeration enum = jj_expentries.elements(); enum.hasMoreElements();) {
4016 int[] oldentry = (int[])(enum.nextElement());
4017 if (oldentry.length == jj_expentry.length) {
4019 for (int i = 0; i < jj_expentry.length; i++) {
4020 if (oldentry[i] != jj_expentry[i]) {
4028 if (!exists) jj_expentries.addElement(jj_expentry);
4029 if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
4033 static final public ParseException generateParseException() {
4034 jj_expentries.removeAllElements();
4035 boolean[] la1tokens = new boolean[128];
4036 for (int i = 0; i < 128; i++) {
4037 la1tokens[i] = false;
4040 la1tokens[jj_kind] = true;
4043 for (int i = 0; i < 96; i++) {
4044 if (jj_la1[i] == jj_gen) {
4045 for (int j = 0; j < 32; j++) {
4046 if ((jj_la1_0[i] & (1<<j)) != 0) {
4047 la1tokens[j] = true;
4049 if ((jj_la1_1[i] & (1<<j)) != 0) {
4050 la1tokens[32+j] = true;
4052 if ((jj_la1_2[i] & (1<<j)) != 0) {
4053 la1tokens[64+j] = true;
4055 if ((jj_la1_3[i] & (1<<j)) != 0) {
4056 la1tokens[96+j] = true;
4061 for (int i = 0; i < 128; i++) {
4063 jj_expentry = new int[1];
4065 jj_expentries.addElement(jj_expentry);
4070 jj_add_error_token(0, 0);
4071 int[][] exptokseq = new int[jj_expentries.size()][];
4072 for (int i = 0; i < jj_expentries.size(); i++) {
4073 exptokseq[i] = (int[])jj_expentries.elementAt(i);
4075 return new ParseException(token, exptokseq, tokenImage);
4078 static final public void enable_tracing() {
4081 static final public void disable_tracing() {
4084 static final private void jj_rescan_token() {
4086 for (int i = 0; i < 7; i++) {
4087 JJCalls p = jj_2_rtns[i];
4089 if (p.gen > jj_gen) {
4090 jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
4092 case 0: jj_3_1(); break;
4093 case 1: jj_3_2(); break;
4094 case 2: jj_3_3(); break;
4095 case 3: jj_3_4(); break;
4096 case 4: jj_3_5(); break;
4097 case 5: jj_3_6(); break;
4098 case 6: jj_3_7(); break;
4102 } while (p != null);
4107 static final private void jj_save(int index, int xla) {
4108 JJCalls p = jj_2_rtns[index];
4109 while (p.gen > jj_gen) {
4110 if (p.next == null) { p = p.next = new JJCalls(); break; }
4113 p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
4116 static final class JJCalls {