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;
20 import net.sourceforge.phpdt.internal.compiler.parser.PHPVarDeclaration;
21 import net.sourceforge.phpdt.internal.compiler.parser.PHPReqIncDeclaration;
25 * This php parser is inspired by the Java 1.2 grammar example
26 * given with JavaCC. You can get JavaCC at http://www.webgain.com
27 * You can test the parser with the PHPParserTestCase2.java
28 * @author Matthieu Casanova
30 public class PHPParser extends PHPParserSuperclass implements PHPParserConstants {
32 private static IFile fileToParse;
34 /** The current segment */
35 private static PHPSegmentWithChildren currentSegment;
37 private static final String PARSE_ERROR_STRING = "Parse error"; //$NON-NLS-1$
38 private static final String PARSE_WARNING_STRING = "Warning"; //$NON-NLS-1$
39 PHPOutlineInfo outlineInfo;
40 private static int errorLevel = ERROR;
41 private static String errorMessage;
46 public void setFileToParse(IFile fileToParse) {
47 this.fileToParse = fileToParse;
50 public PHPParser(IFile fileToParse) {
51 this(new StringReader(""));
52 this.fileToParse = fileToParse;
55 public void phpParserTester(String strEval) throws CoreException, ParseException {
56 PHPParserTokenManager.SwitchTo(PHPParserTokenManager.PHPPARSING);
57 StringReader stream = new StringReader(strEval);
58 if (jj_input_stream == null) {
59 jj_input_stream = new SimpleCharStream(stream, 1, 1);
61 ReInit(new StringReader(strEval));
65 public void htmlParserTester(String strEval) throws CoreException, ParseException {
66 StringReader stream = new StringReader(strEval);
67 if (jj_input_stream == null) {
68 jj_input_stream = new SimpleCharStream(stream, 1, 1);
74 public PHPOutlineInfo parseInfo(Object parent, String s) {
75 outlineInfo = new PHPOutlineInfo(parent);
76 currentSegment = outlineInfo.getDeclarations();
77 StringReader stream = new StringReader(s);
78 if (jj_input_stream == null) {
79 jj_input_stream = new SimpleCharStream(stream, 1, 1);
84 } catch (ParseException e) {
85 processParseException(e);
91 * This method will process the parse exception.
92 * If the error message is null, the parse exception wasn't catched and a trace is written in the log
93 * @param e the ParseException
95 private static void processParseException(final ParseException e) {
96 if (errorMessage == null) {
97 PHPeclipsePlugin.log(e);
98 errorMessage = "this exception wasn't handled by the parser please tell us how to reproduce it";
105 * Create marker for the parse error
107 private static void setMarker(ParseException e) {
109 setMarker(fileToParse,
111 jj_input_stream.tokenBegin,
112 jj_input_stream.tokenBegin + e.currentToken.image.length(),
114 "Line " + e.currentToken.beginLine);
115 } catch (CoreException e2) {
116 PHPeclipsePlugin.log(e2);
121 * Create markers according to the external parser output
123 private static void createMarkers(String output, IFile file) throws CoreException {
124 // delete all markers
125 file.deleteMarkers(IMarker.PROBLEM, false, 0);
130 while ((brIndx = output.indexOf("<br />", indx)) != -1) {
131 // newer php error output (tested with 4.2.3)
132 scanLine(output, file, indx, brIndx);
137 while ((brIndx = output.indexOf("<br>", indx)) != -1) {
138 // older php error output (tested with 4.2.3)
139 scanLine(output, file, indx, brIndx);
145 private static void scanLine(String output, IFile file, int indx, int brIndx) throws CoreException {
147 StringBuffer lineNumberBuffer = new StringBuffer(10);
149 current = output.substring(indx, brIndx);
151 if (current.indexOf(PARSE_WARNING_STRING) != -1 || current.indexOf(PARSE_ERROR_STRING) != -1) {
152 int onLine = current.indexOf("on line <b>");
154 lineNumberBuffer.delete(0, lineNumberBuffer.length());
155 for (int i = onLine; i < current.length(); i++) {
156 ch = current.charAt(i);
157 if ('0' <= ch && '9' >= ch) {
158 lineNumberBuffer.append(ch);
162 int lineNumber = Integer.parseInt(lineNumberBuffer.toString());
164 Hashtable attributes = new Hashtable();
166 current = current.replaceAll("\n", "");
167 current = current.replaceAll("<b>", "");
168 current = current.replaceAll("</b>", "");
169 MarkerUtilities.setMessage(attributes, current);
171 if (current.indexOf(PARSE_ERROR_STRING) != -1)
172 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_ERROR));
173 else if (current.indexOf(PARSE_WARNING_STRING) != -1)
174 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_WARNING));
176 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_INFO));
177 MarkerUtilities.setLineNumber(attributes, lineNumber);
178 MarkerUtilities.createMarker(file, attributes, IMarker.PROBLEM);
183 public void parse(String s) throws CoreException {
184 ReInit(new StringReader(s));
187 } catch (ParseException e) {
188 processParseException(e);
193 * Call the php parse command ( php -l -f <filename> )
194 * and create markers according to the external parser output
196 public static void phpExternalParse(IFile file) {
197 IPreferenceStore store = PHPeclipsePlugin.getDefault().getPreferenceStore();
198 String filename = file.getLocation().toString();
200 String[] arguments = { filename };
201 MessageFormat form = new MessageFormat(store.getString(PHPeclipsePlugin.EXTERNAL_PARSER_PREF));
202 String command = form.format(arguments);
204 String parserResult = PHPStartApacheAction.getParserOutput(command, "External parser: ");
207 // parse the buffer to find the errors and warnings
208 createMarkers(parserResult, file);
209 } catch (CoreException e) {
210 PHPeclipsePlugin.log(e);
214 public void parse() throws ParseException {
218 /*****************************************
219 * THE JAVA LANGUAGE GRAMMAR STARTS HERE *
220 *****************************************/
223 * Program structuring syntax follows.
225 static final public void phpTest() throws ParseException {
230 static final public void phpFile() throws ParseException {
234 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
242 jj_consume_token(PHPSTART);
244 jj_consume_token(PHPEND);
247 } catch (TokenMgrError e) {
248 errorMessage = e.getMessage();
250 {if (true) throw generateParseException();}
254 static final public void Php() throws ParseException {
257 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
281 case INTEGER_LITERAL:
282 case FLOATING_POINT_LITERAL:
307 static final public void ClassDeclaration() throws ParseException {
308 PHPClassDeclaration classDeclaration;
310 int pos = jj_input_stream.bufpos;
311 jj_consume_token(CLASS);
312 className = jj_consume_token(IDENTIFIER);
313 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
315 jj_consume_token(EXTENDS);
316 jj_consume_token(IDENTIFIER);
322 classDeclaration = new PHPClassDeclaration(currentSegment,className.image,pos);
323 currentSegment.add(classDeclaration);
324 currentSegment = classDeclaration;
326 currentSegment = (PHPSegmentWithChildren) currentSegment.getParent();
329 static final public void ClassBody() throws ParseException {
331 jj_consume_token(LBRACE);
332 } catch (ParseException e) {
333 errorMessage = "'{' expected";
339 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
348 ClassBodyDeclaration();
351 jj_consume_token(RBRACE);
352 } catch (ParseException e) {
353 errorMessage = "'var', 'function' or '}' expected";
359 static final public void ClassBodyDeclaration() throws ParseException {
360 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
369 jj_consume_token(-1);
370 throw new ParseException();
374 static final public void FieldDeclaration() throws ParseException {
375 PHPVarDeclaration variableDeclaration;
376 jj_consume_token(VAR);
377 variableDeclaration = VariableDeclarator();
378 currentSegment.add(variableDeclaration);
381 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
389 jj_consume_token(COMMA);
390 variableDeclaration = VariableDeclarator();
391 currentSegment.add(variableDeclaration);
394 jj_consume_token(SEMICOLON);
395 } catch (ParseException e) {
396 errorMessage = "';' expected after variable declaration";
402 static final public PHPVarDeclaration VariableDeclarator() throws ParseException {
404 String varValue = null;
405 int pos = jj_input_stream.bufpos;
406 varName = VariableDeclaratorId();
407 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
409 jj_consume_token(ASSIGN);
411 varValue = VariableInitializer();
412 } catch (ParseException e) {
413 errorMessage = "Literal expression expected in variable initializer";
422 if (varValue == null) {
423 {if (true) return new PHPVarDeclaration(currentSegment,varName,pos);}
425 {if (true) return new PHPVarDeclaration(currentSegment,varName,pos,varValue);}
426 throw new Error("Missing return statement in function");
429 static final public String VariableDeclaratorId() throws ParseException {
431 StringBuffer buff = new StringBuffer();
442 expr = VariableSuffix();
445 {if (true) return buff.toString();}
446 } catch (ParseException e) {
447 errorMessage = "'$' expected for variable identifier";
451 throw new Error("Missing return statement in function");
454 static final public String Variable() throws ParseException {
457 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
459 token = jj_consume_token(DOLLAR_ID);
460 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
462 jj_consume_token(LBRACE);
464 jj_consume_token(RBRACE);
471 {if (true) return token.image;}
473 {if (true) return token + "{" + expr + "}";}
476 jj_consume_token(DOLLAR);
477 expr = VariableName();
478 {if (true) return "$" + expr;}
482 jj_consume_token(-1);
483 throw new ParseException();
485 throw new Error("Missing return statement in function");
488 static final public String VariableName() throws ParseException {
491 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
493 jj_consume_token(LBRACE);
495 jj_consume_token(RBRACE);
496 {if (true) return "{"+expr+"}";}
499 token = jj_consume_token(IDENTIFIER);
500 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
502 jj_consume_token(LBRACE);
504 jj_consume_token(RBRACE);
511 {if (true) return token.image;}
513 {if (true) return token + "{" + expr + "}";}
516 jj_consume_token(DOLLAR);
517 expr = VariableName();
518 {if (true) return "$" + expr;}
521 token = jj_consume_token(DOLLAR_ID);
522 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
527 expr = VariableName();
534 {if (true) return token.image;}
536 {if (true) return token.image + expr;}
540 jj_consume_token(-1);
541 throw new ParseException();
543 throw new Error("Missing return statement in function");
546 static final public String VariableInitializer() throws ParseException {
549 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
553 case INTEGER_LITERAL:
554 case FLOATING_POINT_LITERAL:
557 {if (true) return expr;}
560 jj_consume_token(MINUS);
561 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
562 case INTEGER_LITERAL:
563 token = jj_consume_token(INTEGER_LITERAL);
565 case FLOATING_POINT_LITERAL:
566 token = jj_consume_token(FLOATING_POINT_LITERAL);
570 jj_consume_token(-1);
571 throw new ParseException();
573 {if (true) return "-" + token.image;}
576 jj_consume_token(PLUS);
577 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
578 case INTEGER_LITERAL:
579 token = jj_consume_token(INTEGER_LITERAL);
581 case FLOATING_POINT_LITERAL:
582 token = jj_consume_token(FLOATING_POINT_LITERAL);
586 jj_consume_token(-1);
587 throw new ParseException();
589 {if (true) return "+" + token.image;}
592 expr = ArrayDeclarator();
593 {if (true) return expr;}
596 token = jj_consume_token(IDENTIFIER);
597 {if (true) return token.image;}
601 jj_consume_token(-1);
602 throw new ParseException();
604 throw new Error("Missing return statement in function");
607 static final public String ArrayVariable() throws ParseException {
609 StringBuffer buff = new StringBuffer();
612 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
614 jj_consume_token(ARRAYASSIGN);
616 buff.append("=>").append(expr);
622 {if (true) return buff.toString();}
623 throw new Error("Missing return statement in function");
626 static final public String ArrayInitializer() throws ParseException {
628 StringBuffer buff = new StringBuffer("(");
629 jj_consume_token(LPAREN);
630 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
637 case INTEGER_LITERAL:
638 case FLOATING_POINT_LITERAL:
651 expr = ArrayVariable();
660 jj_consume_token(COMMA);
661 expr = ArrayVariable();
662 buff.append(",").append(expr);
669 jj_consume_token(RPAREN);
671 {if (true) return buff.toString();}
672 throw new Error("Missing return statement in function");
675 static final public void MethodDeclaration() throws ParseException {
676 PHPFunctionDeclaration functionDeclaration;
677 jj_consume_token(FUNCTION);
678 functionDeclaration = MethodDeclarator();
679 currentSegment.add(functionDeclaration);
680 currentSegment = functionDeclaration;
682 currentSegment = (PHPSegmentWithChildren) currentSegment.getParent();
685 static final public PHPFunctionDeclaration MethodDeclarator() throws ParseException {
687 StringBuffer methodDeclaration = new StringBuffer();
688 String formalParameters;
689 int pos = jj_input_stream.bufpos;
690 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
692 jj_consume_token(BIT_AND);
693 methodDeclaration.append("&");
699 identifier = jj_consume_token(IDENTIFIER);
700 methodDeclaration.append(identifier);
701 formalParameters = FormalParameters();
702 methodDeclaration.append(formalParameters);
703 {if (true) return new PHPFunctionDeclaration(currentSegment,methodDeclaration.toString(),pos);}
704 throw new Error("Missing return statement in function");
707 static final public String FormalParameters() throws ParseException {
709 final StringBuffer buff = new StringBuffer("(");
711 jj_consume_token(LPAREN);
712 } catch (ParseException e) {
713 errorMessage = "Formal parameter expected after function identifier";
715 jj_consume_token(token.kind);
717 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
721 expr = FormalParameter();
725 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
733 jj_consume_token(COMMA);
734 expr = FormalParameter();
735 buff.append(",").append(expr);
743 jj_consume_token(RPAREN);
744 } catch (ParseException e) {
745 errorMessage = "')' expected";
750 {if (true) return buff.toString();}
751 throw new Error("Missing return statement in function");
754 static final public String FormalParameter() throws ParseException {
755 PHPVarDeclaration variableDeclaration;
756 StringBuffer buff = new StringBuffer();
757 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
759 jj_consume_token(BIT_AND);
766 variableDeclaration = VariableDeclarator();
767 buff.append(variableDeclaration.toString());
768 {if (true) return buff.toString();}
769 throw new Error("Missing return statement in function");
772 static final public String Type() throws ParseException {
773 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
775 jj_consume_token(STRING);
776 {if (true) return "string";}
779 jj_consume_token(BOOL);
780 {if (true) return "bool";}
783 jj_consume_token(BOOLEAN);
784 {if (true) return "boolean";}
787 jj_consume_token(REAL);
788 {if (true) return "real";}
791 jj_consume_token(DOUBLE);
792 {if (true) return "double";}
795 jj_consume_token(FLOAT);
796 {if (true) return "float";}
799 jj_consume_token(INT);
800 {if (true) return "int";}
803 jj_consume_token(INTEGER);
804 {if (true) return "integer";}
808 jj_consume_token(-1);
809 throw new ParseException();
811 throw new Error("Missing return statement in function");
814 static final public String Expression() throws ParseException {
816 String assignOperator = null;
818 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
820 expr = PrintExpression();
821 {if (true) return expr;}
828 case INTEGER_LITERAL:
829 case FLOATING_POINT_LITERAL:
842 expr = ConditionalExpression();
843 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
855 case RSIGNEDSHIFTASSIGN:
857 assignOperator = AssignmentOperator();
859 expr2 = Expression();
860 } catch (ParseException e) {
861 errorMessage = "expression expected";
871 {if (true) return expr;}
873 {if (true) return expr + assignOperator + expr2;}
878 jj_consume_token(-1);
879 throw new ParseException();
881 throw new Error("Missing return statement in function");
884 static final public String AssignmentOperator() throws ParseException {
885 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
887 jj_consume_token(ASSIGN);
888 {if (true) return "=";}
891 jj_consume_token(STARASSIGN);
892 {if (true) return "*=";}
895 jj_consume_token(SLASHASSIGN);
896 {if (true) return "/=";}
899 jj_consume_token(REMASSIGN);
900 {if (true) return "%=";}
903 jj_consume_token(PLUSASSIGN);
904 {if (true) return "+=";}
907 jj_consume_token(MINUSASSIGN);
908 {if (true) return "-=";}
911 jj_consume_token(LSHIFTASSIGN);
912 {if (true) return "<<=";}
914 case RSIGNEDSHIFTASSIGN:
915 jj_consume_token(RSIGNEDSHIFTASSIGN);
916 {if (true) return ">>=";}
919 jj_consume_token(ANDASSIGN);
920 {if (true) return "&=";}
923 jj_consume_token(XORASSIGN);
924 {if (true) return "|=";}
927 jj_consume_token(ORASSIGN);
928 {if (true) return "|=";}
931 jj_consume_token(DOTASSIGN);
932 {if (true) return ".=";}
935 jj_consume_token(TILDEEQUAL);
936 {if (true) return "~=";}
940 jj_consume_token(-1);
941 throw new ParseException();
943 throw new Error("Missing return statement in function");
946 static final public String ConditionalExpression() throws ParseException {
950 expr = ConditionalOrExpression();
951 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
953 jj_consume_token(HOOK);
954 expr2 = Expression();
955 jj_consume_token(COLON);
956 expr3 = ConditionalExpression();
963 {if (true) return expr;}
965 {if (true) return expr + "?" + expr2 + ":" + expr3;}
967 throw new Error("Missing return statement in function");
970 static final public String ConditionalOrExpression() throws ParseException {
974 StringBuffer buff = new StringBuffer();
975 expr = ConditionalAndExpression();
979 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
988 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
990 operator = jj_consume_token(SC_OR);
993 operator = jj_consume_token(_ORL);
997 jj_consume_token(-1);
998 throw new ParseException();
1000 expr2 = ConditionalAndExpression();
1001 buff.append(operator.image);
1004 {if (true) return buff.toString();}
1005 throw new Error("Missing return statement in function");
1008 static final public String ConditionalAndExpression() throws ParseException {
1011 String expr2 = null;
1012 StringBuffer buff = new StringBuffer();
1013 expr = ConcatExpression();
1017 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1023 jj_la1[28] = jj_gen;
1026 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1028 operator = jj_consume_token(SC_AND);
1031 operator = jj_consume_token(_ANDL);
1034 jj_la1[29] = jj_gen;
1035 jj_consume_token(-1);
1036 throw new ParseException();
1038 expr2 = ConcatExpression();
1039 buff.append(operator.image);
1042 {if (true) return buff.toString();}
1043 throw new Error("Missing return statement in function");
1046 static final public String ConcatExpression() throws ParseException {
1048 String expr2 = null;
1049 StringBuffer buff = new StringBuffer();
1050 expr = InclusiveOrExpression();
1054 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1059 jj_la1[30] = jj_gen;
1062 jj_consume_token(DOT);
1063 expr2 = InclusiveOrExpression();
1067 {if (true) return buff.toString();}
1068 throw new Error("Missing return statement in function");
1071 static final public String InclusiveOrExpression() throws ParseException {
1073 String expr2 = null;
1074 StringBuffer buff = new StringBuffer();
1075 expr = ExclusiveOrExpression();
1079 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1084 jj_la1[31] = jj_gen;
1087 jj_consume_token(BIT_OR);
1088 expr2 = ExclusiveOrExpression();
1092 {if (true) return buff.toString();}
1093 throw new Error("Missing return statement in function");
1096 static final public String ExclusiveOrExpression() throws ParseException {
1098 String expr2 = null;
1099 StringBuffer buff = new StringBuffer();
1100 expr = AndExpression();
1104 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1109 jj_la1[32] = jj_gen;
1112 jj_consume_token(XOR);
1113 expr2 = AndExpression();
1117 {if (true) return buff.toString();}
1118 throw new Error("Missing return statement in function");
1121 static final public String AndExpression() throws ParseException {
1123 String expr2 = null;
1124 StringBuffer buff = new StringBuffer();
1125 expr = EqualityExpression();
1129 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1134 jj_la1[33] = jj_gen;
1137 jj_consume_token(BIT_AND);
1138 expr2 = EqualityExpression();
1142 {if (true) return buff.toString();}
1143 throw new Error("Missing return statement in function");
1146 static final public String EqualityExpression() throws ParseException {
1150 StringBuffer buff = new StringBuffer();
1151 expr = RelationalExpression();
1155 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1158 case BANGDOUBLEEQUAL:
1163 jj_la1[34] = jj_gen;
1166 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1168 operator = jj_consume_token(EQ);
1171 operator = jj_consume_token(NE);
1173 case BANGDOUBLEEQUAL:
1174 operator = jj_consume_token(BANGDOUBLEEQUAL);
1177 operator = jj_consume_token(TRIPLEEQUAL);
1180 jj_la1[35] = jj_gen;
1181 jj_consume_token(-1);
1182 throw new ParseException();
1184 expr2 = RelationalExpression();
1185 buff.append(operator.image);
1188 {if (true) return buff.toString();}
1189 throw new Error("Missing return statement in function");
1192 static final public String RelationalExpression() throws ParseException {
1196 StringBuffer buff = new StringBuffer();
1197 expr = ShiftExpression();
1201 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1209 jj_la1[36] = jj_gen;
1212 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1214 operator = jj_consume_token(LT);
1217 operator = jj_consume_token(GT);
1220 operator = jj_consume_token(LE);
1223 operator = jj_consume_token(GE);
1226 jj_la1[37] = jj_gen;
1227 jj_consume_token(-1);
1228 throw new ParseException();
1230 expr2 = ShiftExpression();
1231 buff.append(operator.image);
1234 {if (true) return buff.toString();}
1235 throw new Error("Missing return statement in function");
1238 static final public String ShiftExpression() throws ParseException {
1242 StringBuffer buff = new StringBuffer();
1243 expr = AdditiveExpression();
1247 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1250 case RUNSIGNEDSHIFT:
1254 jj_la1[38] = jj_gen;
1257 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1259 operator = jj_consume_token(LSHIFT);
1262 operator = jj_consume_token(RSIGNEDSHIFT);
1264 case RUNSIGNEDSHIFT:
1265 operator = jj_consume_token(RUNSIGNEDSHIFT);
1268 jj_la1[39] = jj_gen;
1269 jj_consume_token(-1);
1270 throw new ParseException();
1272 expr2 = AdditiveExpression();
1273 buff.append(operator.image);
1276 {if (true) return buff.toString();}
1277 throw new Error("Missing return statement in function");
1280 static final public String AdditiveExpression() throws ParseException {
1284 StringBuffer buff = new StringBuffer();
1285 expr = MultiplicativeExpression();
1289 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1295 jj_la1[40] = jj_gen;
1298 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1300 operator = jj_consume_token(PLUS);
1303 operator = jj_consume_token(MINUS);
1306 jj_la1[41] = jj_gen;
1307 jj_consume_token(-1);
1308 throw new ParseException();
1310 expr2 = MultiplicativeExpression();
1311 buff.append(operator.image);
1314 {if (true) return buff.toString();}
1315 throw new Error("Missing return statement in function");
1318 static final public String MultiplicativeExpression() throws ParseException {
1321 final StringBuffer buff = new StringBuffer();
1322 expr = UnaryExpression();
1326 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1333 jj_la1[42] = jj_gen;
1336 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1338 operator = jj_consume_token(STAR);
1341 operator = jj_consume_token(SLASH);
1344 operator = jj_consume_token(REM);
1347 jj_la1[43] = jj_gen;
1348 jj_consume_token(-1);
1349 throw new ParseException();
1351 expr2 = UnaryExpression();
1352 buff.append(operator.image);
1355 {if (true) return buff.toString();}
1356 throw new Error("Missing return statement in function");
1360 * An unary expression starting with @, & or nothing
1362 static final public String UnaryExpression() throws ParseException {
1365 final StringBuffer buff = new StringBuffer();
1366 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1368 token = jj_consume_token(BIT_AND);
1369 expr = UnaryExpressionNoPrefix();
1370 if (token == null) {
1371 {if (true) return expr;}
1373 {if (true) return token.image + expr;}
1380 case INTEGER_LITERAL:
1381 case FLOATING_POINT_LITERAL:
1382 case STRING_LITERAL:
1395 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1400 jj_la1[44] = jj_gen;
1403 jj_consume_token(AT);
1406 expr = UnaryExpressionNoPrefix();
1407 {if (true) return buff.append(expr).toString();}
1410 jj_la1[45] = jj_gen;
1411 jj_consume_token(-1);
1412 throw new ParseException();
1414 throw new Error("Missing return statement in function");
1417 static final public String UnaryExpressionNoPrefix() throws ParseException {
1420 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1423 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1425 token = jj_consume_token(PLUS);
1428 token = jj_consume_token(MINUS);
1431 jj_la1[46] = jj_gen;
1432 jj_consume_token(-1);
1433 throw new ParseException();
1435 expr = UnaryExpression();
1436 {if (true) return token.image + expr;}
1439 expr = PreIncrementExpression();
1440 {if (true) return expr;}
1443 expr = PreDecrementExpression();
1444 {if (true) return expr;}
1451 case INTEGER_LITERAL:
1452 case FLOATING_POINT_LITERAL:
1453 case STRING_LITERAL:
1459 expr = UnaryExpressionNotPlusMinus();
1460 {if (true) return expr;}
1463 jj_la1[47] = jj_gen;
1464 jj_consume_token(-1);
1465 throw new ParseException();
1467 throw new Error("Missing return statement in function");
1470 static final public String PreIncrementExpression() throws ParseException {
1472 jj_consume_token(INCR);
1473 expr = PrimaryExpression();
1474 {if (true) return "++"+expr;}
1475 throw new Error("Missing return statement in function");
1478 static final public String PreDecrementExpression() throws ParseException {
1480 jj_consume_token(DECR);
1481 expr = PrimaryExpression();
1482 {if (true) return "--"+expr;}
1483 throw new Error("Missing return statement in function");
1486 static final public String UnaryExpressionNotPlusMinus() throws ParseException {
1488 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1490 jj_consume_token(BANG);
1491 expr = UnaryExpression();
1492 {if (true) return "!" + expr;}
1495 jj_la1[48] = jj_gen;
1496 if (jj_2_3(2147483647)) {
1497 expr = CastExpression();
1498 {if (true) return expr;}
1500 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1506 expr = PostfixExpression();
1507 {if (true) return expr;}
1512 case INTEGER_LITERAL:
1513 case FLOATING_POINT_LITERAL:
1514 case STRING_LITERAL:
1516 {if (true) return expr;}
1519 jj_consume_token(LPAREN);
1520 expr = Expression();
1521 jj_consume_token(RPAREN);
1522 {if (true) return "("+expr+")";}
1525 jj_la1[49] = jj_gen;
1526 jj_consume_token(-1);
1527 throw new ParseException();
1531 throw new Error("Missing return statement in function");
1534 static final public String CastExpression() throws ParseException {
1537 jj_consume_token(LPAREN);
1539 jj_consume_token(RPAREN);
1540 expr = UnaryExpression();
1541 {if (true) return "(" + type + ")" + expr;}
1542 throw new Error("Missing return statement in function");
1545 static final public String PostfixExpression() throws ParseException {
1547 Token operator = null;
1548 expr = PrimaryExpression();
1549 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1552 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1554 operator = jj_consume_token(INCR);
1557 operator = jj_consume_token(DECR);
1560 jj_la1[50] = jj_gen;
1561 jj_consume_token(-1);
1562 throw new ParseException();
1566 jj_la1[51] = jj_gen;
1569 if (operator == null) {
1570 {if (true) return expr;}
1572 {if (true) return expr + operator.image;}
1573 throw new Error("Missing return statement in function");
1576 static final public String PrimaryExpression() throws ParseException {
1579 final StringBuffer buff = new StringBuffer();
1581 identifier = jj_consume_token(IDENTIFIER);
1582 jj_consume_token(STATICCLASSACCESS);
1583 expr = ClassIdentifier();
1584 buff.append(identifier.image).append("::").append(expr);
1587 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1594 jj_la1[52] = jj_gen;
1597 expr = PrimarySuffix();
1600 {if (true) return buff.toString();}
1602 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1607 expr = PrimaryPrefix();
1611 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1618 jj_la1[53] = jj_gen;
1621 expr = PrimarySuffix();
1624 {if (true) return buff.toString();}
1627 expr = ArrayDeclarator();
1628 {if (true) return "array" + expr;}
1631 jj_la1[54] = jj_gen;
1632 jj_consume_token(-1);
1633 throw new ParseException();
1636 throw new Error("Missing return statement in function");
1639 static final public String ArrayDeclarator() throws ParseException {
1641 jj_consume_token(ARRAY);
1642 expr = ArrayInitializer();
1643 {if (true) return "array" + expr;}
1644 throw new Error("Missing return statement in function");
1647 static final public String PrimaryPrefix() throws ParseException {
1650 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1652 token = jj_consume_token(IDENTIFIER);
1653 {if (true) return token.image;}
1656 jj_consume_token(NEW);
1657 expr = ClassIdentifier();
1658 {if (true) return "new " + expr;}
1662 expr = VariableDeclaratorId();
1663 {if (true) return expr;}
1666 jj_la1[55] = jj_gen;
1667 jj_consume_token(-1);
1668 throw new ParseException();
1670 throw new Error("Missing return statement in function");
1673 static final public String ClassIdentifier() throws ParseException {
1676 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1678 token = jj_consume_token(IDENTIFIER);
1679 {if (true) return token.image;}
1683 expr = VariableDeclaratorId();
1684 {if (true) return expr;}
1687 jj_la1[56] = jj_gen;
1688 jj_consume_token(-1);
1689 throw new ParseException();
1691 throw new Error("Missing return statement in function");
1694 static final public String PrimarySuffix() throws ParseException {
1696 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1699 {if (true) return expr;}
1703 expr = VariableSuffix();
1704 {if (true) return expr;}
1707 jj_la1[57] = jj_gen;
1708 jj_consume_token(-1);
1709 throw new ParseException();
1711 throw new Error("Missing return statement in function");
1714 static final public String VariableSuffix() throws ParseException {
1716 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1718 jj_consume_token(CLASSACCESS);
1719 expr = VariableName();
1720 {if (true) return "->" + expr;}
1723 jj_consume_token(LBRACKET);
1724 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1731 case INTEGER_LITERAL:
1732 case FLOATING_POINT_LITERAL:
1733 case STRING_LITERAL:
1745 expr = Expression();
1748 jj_la1[58] = jj_gen;
1752 jj_consume_token(RBRACKET);
1753 } catch (ParseException e) {
1754 errorMessage = "']' expected";
1756 {if (true) throw e;}
1759 {if (true) return "[]";}
1761 {if (true) return "[" + expr + "]";}
1764 jj_la1[59] = jj_gen;
1765 jj_consume_token(-1);
1766 throw new ParseException();
1768 throw new Error("Missing return statement in function");
1771 static final public String Literal() throws ParseException {
1774 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1775 case INTEGER_LITERAL:
1776 token = jj_consume_token(INTEGER_LITERAL);
1777 {if (true) return token.image;}
1779 case FLOATING_POINT_LITERAL:
1780 token = jj_consume_token(FLOATING_POINT_LITERAL);
1781 {if (true) return token.image;}
1783 case STRING_LITERAL:
1784 token = jj_consume_token(STRING_LITERAL);
1785 {if (true) return token.image;}
1789 expr = BooleanLiteral();
1790 {if (true) return expr;}
1793 expr = NullLiteral();
1794 {if (true) return expr;}
1797 jj_la1[60] = jj_gen;
1798 jj_consume_token(-1);
1799 throw new ParseException();
1801 throw new Error("Missing return statement in function");
1804 static final public String BooleanLiteral() throws ParseException {
1805 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1807 jj_consume_token(TRUE);
1808 {if (true) return "true";}
1811 jj_consume_token(FALSE);
1812 {if (true) return "false";}
1815 jj_la1[61] = jj_gen;
1816 jj_consume_token(-1);
1817 throw new ParseException();
1819 throw new Error("Missing return statement in function");
1822 static final public String NullLiteral() throws ParseException {
1823 jj_consume_token(NULL);
1824 {if (true) return "null";}
1825 throw new Error("Missing return statement in function");
1828 static final public String Arguments() throws ParseException {
1830 jj_consume_token(LPAREN);
1831 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1838 case INTEGER_LITERAL:
1839 case FLOATING_POINT_LITERAL:
1840 case STRING_LITERAL:
1852 expr = ArgumentList();
1855 jj_la1[62] = jj_gen;
1859 jj_consume_token(RPAREN);
1860 } catch (ParseException e) {
1861 errorMessage = "')' expected to close the argument list";
1863 {if (true) throw e;}
1866 {if (true) return "()";}
1868 {if (true) return "(" + expr + ")";}
1869 throw new Error("Missing return statement in function");
1872 static final public String ArgumentList() throws ParseException {
1874 StringBuffer buff = new StringBuffer();
1875 expr = Expression();
1879 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1884 jj_la1[63] = jj_gen;
1887 jj_consume_token(COMMA);
1889 expr = Expression();
1890 } catch (ParseException e) {
1891 errorMessage = "expression expected after a comma in argument list";
1893 {if (true) throw e;}
1895 buff.append(",").append("expr");
1897 {if (true) return buff.toString();}
1898 throw new Error("Missing return statement in function");
1902 * Statement syntax follows.
1904 static final public void Statement() throws ParseException {
1908 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1910 jj_consume_token(SEMICOLON);
1913 jj_consume_token(129);
1916 jj_la1[64] = jj_gen;
1917 jj_consume_token(-1);
1918 throw new ParseException();
1920 } catch (ParseException e) {
1921 errorMessage = "';' expected";
1923 {if (true) throw e;}
1925 } else if (jj_2_6(2)) {
1928 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1942 StatementExpression();
1944 jj_consume_token(SEMICOLON);
1945 } catch (ParseException e) {
1946 errorMessage = "';' expected after expression";
1948 {if (true) throw e;}
1970 ContinueStatement();
1983 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1985 jj_consume_token(AT);
1988 jj_la1[65] = jj_gen;
2000 jj_la1[66] = jj_gen;
2001 jj_consume_token(-1);
2002 throw new ParseException();
2007 static final public void IncludeStatement() throws ParseException {
2009 int pos = jj_input_stream.bufpos;
2010 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2012 jj_consume_token(REQUIRE);
2013 expr = Expression();
2014 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "require",pos,expr));
2016 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2018 jj_consume_token(SEMICOLON);
2021 jj_consume_token(129);
2024 jj_la1[67] = jj_gen;
2025 jj_consume_token(-1);
2026 throw new ParseException();
2028 } catch (ParseException e) {
2029 errorMessage = "';' expected";
2031 {if (true) throw e;}
2035 jj_consume_token(REQUIRE_ONCE);
2036 expr = Expression();
2037 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "require_once",pos,expr));
2039 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2041 jj_consume_token(SEMICOLON);
2044 jj_consume_token(129);
2047 jj_la1[68] = jj_gen;
2048 jj_consume_token(-1);
2049 throw new ParseException();
2051 } catch (ParseException e) {
2052 errorMessage = "';' expected";
2054 {if (true) throw e;}
2058 jj_consume_token(INCLUDE);
2059 expr = Expression();
2060 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "include",pos,expr));
2062 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2064 jj_consume_token(SEMICOLON);
2067 jj_consume_token(129);
2070 jj_la1[69] = jj_gen;
2071 jj_consume_token(-1);
2072 throw new ParseException();
2074 } catch (ParseException e) {
2075 errorMessage = "';' expected";
2077 {if (true) throw e;}
2081 jj_consume_token(INCLUDE_ONCE);
2082 expr = Expression();
2083 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "include_once",pos,expr));
2085 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2087 jj_consume_token(SEMICOLON);
2090 jj_consume_token(129);
2093 jj_la1[70] = jj_gen;
2094 jj_consume_token(-1);
2095 throw new ParseException();
2097 } catch (ParseException e) {
2098 errorMessage = "';' expected";
2100 {if (true) throw e;}
2104 jj_la1[71] = jj_gen;
2105 jj_consume_token(-1);
2106 throw new ParseException();
2110 static final public String PrintExpression() throws ParseException {
2111 StringBuffer buff = new StringBuffer("print ");
2113 jj_consume_token(PRINT);
2114 expr = Expression();
2116 {if (true) return buff.toString();}
2117 throw new Error("Missing return statement in function");
2120 static final public void EchoStatement() throws ParseException {
2121 jj_consume_token(ECHO);
2125 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2130 jj_la1[72] = jj_gen;
2133 jj_consume_token(COMMA);
2137 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2139 jj_consume_token(SEMICOLON);
2142 jj_consume_token(129);
2145 jj_la1[73] = jj_gen;
2146 jj_consume_token(-1);
2147 throw new ParseException();
2149 } catch (ParseException e) {
2150 errorMessage = "';' expected after 'echo' statement";
2152 {if (true) throw e;}
2156 static final public void GlobalStatement() throws ParseException {
2157 jj_consume_token(GLOBAL);
2158 VariableDeclaratorId();
2161 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2166 jj_la1[74] = jj_gen;
2169 jj_consume_token(COMMA);
2170 VariableDeclaratorId();
2173 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2175 jj_consume_token(SEMICOLON);
2178 jj_consume_token(129);
2181 jj_la1[75] = jj_gen;
2182 jj_consume_token(-1);
2183 throw new ParseException();
2185 } catch (ParseException e) {
2186 errorMessage = "';' expected";
2188 {if (true) throw e;}
2192 static final public void StaticStatement() throws ParseException {
2193 jj_consume_token(STATIC);
2194 VariableDeclarator();
2197 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2202 jj_la1[76] = jj_gen;
2205 jj_consume_token(COMMA);
2206 VariableDeclarator();
2209 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2211 jj_consume_token(SEMICOLON);
2214 jj_consume_token(129);
2217 jj_la1[77] = jj_gen;
2218 jj_consume_token(-1);
2219 throw new ParseException();
2221 } catch (ParseException e) {
2222 errorMessage = "';' expected";
2224 {if (true) throw e;}
2228 static final public void LabeledStatement() throws ParseException {
2229 jj_consume_token(IDENTIFIER);
2230 jj_consume_token(COLON);
2234 static final public void Block() throws ParseException {
2236 jj_consume_token(LBRACE);
2237 } catch (ParseException e) {
2238 errorMessage = "'{' expected";
2240 {if (true) throw e;}
2244 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2268 case INTEGER_LITERAL:
2269 case FLOATING_POINT_LITERAL:
2270 case STRING_LITERAL:
2287 jj_la1[78] = jj_gen;
2292 jj_consume_token(RBRACE);
2295 static final public void BlockStatement() throws ParseException {
2296 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2318 case INTEGER_LITERAL:
2319 case FLOATING_POINT_LITERAL:
2320 case STRING_LITERAL:
2340 MethodDeclaration();
2343 jj_la1[79] = jj_gen;
2344 jj_consume_token(-1);
2345 throw new ParseException();
2349 static final public void LocalVariableDeclaration() throws ParseException {
2350 VariableDeclarator();
2353 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2358 jj_la1[80] = jj_gen;
2361 jj_consume_token(COMMA);
2362 VariableDeclarator();
2366 static final public void EmptyStatement() throws ParseException {
2367 jj_consume_token(SEMICOLON);
2370 static final public void StatementExpression() throws ParseException {
2371 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2373 PreIncrementExpression();
2376 PreDecrementExpression();
2383 PrimaryExpression();
2384 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2398 case RSIGNEDSHIFTASSIGN:
2400 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2402 jj_consume_token(INCR);
2405 jj_consume_token(DECR);
2418 case RSIGNEDSHIFTASSIGN:
2420 AssignmentOperator();
2424 jj_la1[81] = jj_gen;
2425 jj_consume_token(-1);
2426 throw new ParseException();
2430 jj_la1[82] = jj_gen;
2435 jj_la1[83] = jj_gen;
2436 jj_consume_token(-1);
2437 throw new ParseException();
2441 static final public void SwitchStatement() throws ParseException {
2442 jj_consume_token(SWITCH);
2443 jj_consume_token(LPAREN);
2445 jj_consume_token(RPAREN);
2446 jj_consume_token(LBRACE);
2449 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2455 jj_la1[84] = jj_gen;
2461 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2485 case INTEGER_LITERAL:
2486 case FLOATING_POINT_LITERAL:
2487 case STRING_LITERAL:
2504 jj_la1[85] = jj_gen;
2510 jj_consume_token(RBRACE);
2513 static final public void SwitchLabel() throws ParseException {
2514 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2516 jj_consume_token(CASE);
2518 jj_consume_token(COLON);
2521 jj_consume_token(_DEFAULT);
2522 jj_consume_token(COLON);
2525 jj_la1[86] = jj_gen;
2526 jj_consume_token(-1);
2527 throw new ParseException();
2531 static final public void IfStatement() throws ParseException {
2532 jj_consume_token(IF);
2537 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2542 jj_la1[87] = jj_gen;
2547 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2549 jj_consume_token(ELSE);
2553 jj_la1[88] = jj_gen;
2558 static final public void Condition(String keyword) throws ParseException {
2560 jj_consume_token(LPAREN);
2561 } catch (ParseException e) {
2562 errorMessage = "'(' expected after " + keyword + " keyword";
2564 {if (true) throw e;}
2568 jj_consume_token(RPAREN);
2569 } catch (ParseException e) {
2570 errorMessage = "')' expected after " + keyword + " keyword";
2572 {if (true) throw e;}
2576 static final public void ElseIfStatement() throws ParseException {
2577 jj_consume_token(ELSEIF);
2578 Condition("elseif");
2582 static final public void WhileStatement() throws ParseException {
2583 jj_consume_token(WHILE);
2588 static final public void WhileStatement0() throws ParseException {
2589 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2591 jj_consume_token(COLON);
2594 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2616 case INTEGER_LITERAL:
2617 case FLOATING_POINT_LITERAL:
2618 case STRING_LITERAL:
2635 jj_la1[89] = jj_gen;
2640 jj_consume_token(ENDWHILE);
2642 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2644 jj_consume_token(SEMICOLON);
2647 jj_consume_token(129);
2650 jj_la1[90] = jj_gen;
2651 jj_consume_token(-1);
2652 throw new ParseException();
2654 } catch (ParseException e) {
2655 errorMessage = "';' expected";
2657 {if (true) throw e;}
2681 case INTEGER_LITERAL:
2682 case FLOATING_POINT_LITERAL:
2683 case STRING_LITERAL:
2700 jj_la1[91] = jj_gen;
2701 jj_consume_token(-1);
2702 throw new ParseException();
2706 static final public void DoStatement() throws ParseException {
2707 jj_consume_token(DO);
2709 jj_consume_token(WHILE);
2712 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2714 jj_consume_token(SEMICOLON);
2717 jj_consume_token(129);
2720 jj_la1[92] = jj_gen;
2721 jj_consume_token(-1);
2722 throw new ParseException();
2724 } catch (ParseException e) {
2725 errorMessage = "';' expected";
2727 {if (true) throw e;}
2731 static final public void ForStatement() throws ParseException {
2732 jj_consume_token(FOR);
2733 jj_consume_token(LPAREN);
2734 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2745 jj_la1[93] = jj_gen;
2748 jj_consume_token(SEMICOLON);
2749 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2756 case INTEGER_LITERAL:
2757 case FLOATING_POINT_LITERAL:
2758 case STRING_LITERAL:
2773 jj_la1[94] = jj_gen;
2776 jj_consume_token(SEMICOLON);
2777 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2788 jj_la1[95] = jj_gen;
2791 jj_consume_token(RPAREN);
2795 static final public void ForInit() throws ParseException {
2796 if (jj_2_7(2147483647)) {
2797 LocalVariableDeclaration();
2799 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2807 StatementExpressionList();
2810 jj_la1[96] = jj_gen;
2811 jj_consume_token(-1);
2812 throw new ParseException();
2817 static final public void StatementExpressionList() throws ParseException {
2818 StatementExpression();
2821 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2826 jj_la1[97] = jj_gen;
2829 jj_consume_token(COMMA);
2830 StatementExpression();
2834 static final public void ForUpdate() throws ParseException {
2835 StatementExpressionList();
2838 static final public void BreakStatement() throws ParseException {
2839 jj_consume_token(BREAK);
2840 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2842 jj_consume_token(IDENTIFIER);
2845 jj_la1[98] = jj_gen;
2848 jj_consume_token(SEMICOLON);
2851 static final public void ContinueStatement() throws ParseException {
2852 jj_consume_token(CONTINUE);
2853 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2855 jj_consume_token(IDENTIFIER);
2858 jj_la1[99] = jj_gen;
2861 jj_consume_token(SEMICOLON);
2864 static final public void ReturnStatement() throws ParseException {
2865 jj_consume_token(RETURN);
2866 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2873 case INTEGER_LITERAL:
2874 case FLOATING_POINT_LITERAL:
2875 case STRING_LITERAL:
2890 jj_la1[100] = jj_gen;
2893 jj_consume_token(SEMICOLON);
2896 static final private boolean jj_2_1(int xla) {
2897 jj_la = xla; jj_lastpos = jj_scanpos = token;
2898 boolean retval = !jj_3_1();
2903 static final private boolean jj_2_2(int xla) {
2904 jj_la = xla; jj_lastpos = jj_scanpos = token;
2905 boolean retval = !jj_3_2();
2910 static final private boolean jj_2_3(int xla) {
2911 jj_la = xla; jj_lastpos = jj_scanpos = token;
2912 boolean retval = !jj_3_3();
2917 static final private boolean jj_2_4(int xla) {
2918 jj_la = xla; jj_lastpos = jj_scanpos = token;
2919 boolean retval = !jj_3_4();
2924 static final private boolean jj_2_5(int xla) {
2925 jj_la = xla; jj_lastpos = jj_scanpos = token;
2926 boolean retval = !jj_3_5();
2931 static final private boolean jj_2_6(int xla) {
2932 jj_la = xla; jj_lastpos = jj_scanpos = token;
2933 boolean retval = !jj_3_6();
2938 static final private boolean jj_2_7(int xla) {
2939 jj_la = xla; jj_lastpos = jj_scanpos = token;
2940 boolean retval = !jj_3_7();
2945 static final private boolean jj_3R_102() {
2946 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
2947 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2951 static final private boolean jj_3R_100() {
2952 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
2953 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2957 static final private boolean jj_3R_113() {
2958 if (jj_scan_token(LPAREN)) return true;
2959 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2962 if (jj_3R_120()) jj_scanpos = xsp;
2963 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2964 if (jj_scan_token(RPAREN)) return true;
2965 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2969 static final private boolean jj_3R_38() {
2970 if (jj_scan_token(129)) return true;
2971 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2975 static final private boolean jj_3R_138() {
2976 if (jj_scan_token(LT)) return true;
2977 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2981 static final private boolean jj_3R_127() {
2982 if (jj_scan_token(ARRAYASSIGN)) return true;
2983 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2984 if (jj_3R_36()) return true;
2985 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2989 static final private boolean jj_3R_131() {
2998 if (jj_3R_141()) return true;
2999 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3000 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3001 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3002 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3003 if (jj_3R_130()) return true;
3004 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3008 static final private boolean jj_3R_128() {
3009 if (jj_3R_130()) return true;
3010 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3014 if (jj_3R_131()) { jj_scanpos = xsp; break; }
3015 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3020 static final private boolean jj_3R_34() {
3021 if (jj_3R_36()) return true;
3022 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3025 if (jj_3R_127()) jj_scanpos = xsp;
3026 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3030 static final private boolean jj_3_6() {
3031 if (jj_3R_39()) return true;
3032 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3036 static final private boolean jj_3R_37() {
3037 if (jj_scan_token(SEMICOLON)) return true;
3038 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3042 static final private boolean jj_3R_101() {
3043 if (jj_scan_token(INTEGER_LITERAL)) return true;
3044 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3048 static final private boolean jj_3R_92() {
3049 if (jj_scan_token(IDENTIFIER)) return true;
3050 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3054 static final private boolean jj_3R_99() {
3055 if (jj_scan_token(INTEGER_LITERAL)) return true;
3056 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3060 static final private boolean jj_3R_91() {
3061 if (jj_3R_103()) return true;
3062 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3066 static final private boolean jj_3_5() {
3067 if (jj_3R_36()) return true;
3068 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3073 if (jj_3R_38()) return true;
3074 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3075 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3079 static final private boolean jj_3R_135() {
3080 if (jj_scan_token(TRIPLEEQUAL)) return true;
3081 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3085 static final private boolean jj_3R_134() {
3086 if (jj_scan_token(BANGDOUBLEEQUAL)) return true;
3087 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3091 static final private boolean jj_3R_90() {
3092 if (jj_scan_token(PLUS)) return true;
3093 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3098 if (jj_3R_102()) return true;
3099 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3100 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3104 static final private boolean jj_3R_117() {
3105 if (jj_3R_55()) return true;
3106 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3110 static final private boolean jj_3R_133() {
3111 if (jj_scan_token(NE)) return true;
3112 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3116 static final private boolean jj_3R_132() {
3117 if (jj_scan_token(EQ)) return true;
3118 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3122 static final private boolean jj_3R_89() {
3123 if (jj_scan_token(MINUS)) return true;
3124 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3129 if (jj_3R_100()) return true;
3130 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3131 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3135 static final private boolean jj_3R_129() {
3144 if (jj_3R_135()) return true;
3145 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3146 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3147 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3148 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3149 if (jj_3R_128()) return true;
3150 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3154 static final private boolean jj_3R_88() {
3155 if (jj_3R_98()) return true;
3156 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3160 static final private boolean jj_3R_70() {
3171 if (jj_3R_92()) 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;
3174 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3175 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3176 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3180 static final private boolean jj_3R_125() {
3181 if (jj_3R_128()) return true;
3182 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3186 if (jj_3R_129()) { jj_scanpos = xsp; break; }
3187 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3192 static final private boolean jj_3R_116() {
3193 if (jj_scan_token(LBRACE)) return true;
3194 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3195 if (jj_3R_36()) return true;
3196 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3197 if (jj_scan_token(RBRACE)) return true;
3198 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3202 static final private boolean jj_3R_195() {
3203 if (jj_scan_token(COMMA)) return true;
3204 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3205 if (jj_3R_36()) return true;
3206 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3210 static final private boolean jj_3R_194() {
3211 if (jj_3R_36()) return true;
3212 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3216 if (jj_3R_195()) { jj_scanpos = xsp; break; }
3217 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3222 static final private boolean jj_3R_65() {
3223 if (jj_scan_token(DOLLAR_ID)) return true;
3224 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3227 if (jj_3R_117()) jj_scanpos = xsp;
3228 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3232 static final private boolean jj_3R_64() {
3233 if (jj_scan_token(DOLLAR)) return true;
3234 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3235 if (jj_3R_55()) return true;
3236 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3240 static final private boolean jj_3R_126() {
3241 if (jj_scan_token(BIT_AND)) return true;
3242 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3243 if (jj_3R_125()) return true;
3244 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3248 static final private boolean jj_3R_193() {
3249 if (jj_3R_194()) return true;
3250 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3254 static final private boolean jj_3R_63() {
3255 if (jj_scan_token(IDENTIFIER)) return true;
3256 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3259 if (jj_3R_116()) jj_scanpos = xsp;
3260 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3264 static final private boolean jj_3R_97() {
3265 if (jj_scan_token(LBRACE)) return true;
3266 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3267 if (jj_3R_36()) return true;
3268 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3269 if (jj_scan_token(RBRACE)) return true;
3270 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3274 static final private boolean jj_3R_121() {
3275 if (jj_3R_125()) return true;
3276 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3280 if (jj_3R_126()) { jj_scanpos = xsp; break; }
3281 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3286 static final private boolean jj_3R_62() {
3287 if (jj_scan_token(LBRACE)) return true;
3288 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3289 if (jj_3R_36()) return true;
3290 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3291 if (jj_scan_token(RBRACE)) return true;
3292 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3296 static final private boolean jj_3R_55() {
3305 if (jj_3R_65()) return true;
3306 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3307 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3308 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3309 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3313 static final private boolean jj_3R_191() {
3314 if (jj_scan_token(LPAREN)) return true;
3315 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3318 if (jj_3R_193()) jj_scanpos = xsp;
3319 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3320 if (jj_scan_token(RPAREN)) return true;
3321 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3325 static final private boolean jj_3R_87() {
3326 if (jj_scan_token(DOLLAR)) return true;
3327 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3328 if (jj_3R_55()) return true;
3329 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3333 static final private boolean jj_3R_122() {
3334 if (jj_scan_token(XOR)) return true;
3335 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3336 if (jj_3R_121()) return true;
3337 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3341 static final private boolean jj_3R_119() {
3342 if (jj_scan_token(NULL)) return true;
3343 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3347 static final private boolean jj_3R_86() {
3348 if (jj_scan_token(DOLLAR_ID)) return true;
3349 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3352 if (jj_3R_97()) jj_scanpos = xsp;
3353 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3357 static final private boolean jj_3R_69() {
3362 if (jj_3R_87()) return true;
3363 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3364 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3368 static final private boolean jj_3R_114() {
3369 if (jj_3R_121()) return true;
3370 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3374 if (jj_3R_122()) { jj_scanpos = xsp; break; }
3375 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3380 static final private boolean jj_3R_124() {
3381 if (jj_scan_token(FALSE)) return true;
3382 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3386 static final private boolean jj_3_7() {
3387 if (jj_3R_40()) return true;
3388 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3392 static final private boolean jj_3R_118() {
3397 if (jj_3R_124()) return true;
3398 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3399 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3403 static final private boolean jj_3R_123() {
3404 if (jj_scan_token(TRUE)) return true;
3405 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3409 static final private boolean jj_3_1() {
3410 if (jj_3R_33()) return true;
3411 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3415 static final private boolean jj_3R_112() {
3416 if (jj_3R_119()) return true;
3417 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3421 static final private boolean jj_3R_111() {
3422 if (jj_3R_118()) return true;
3423 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3427 static final private boolean jj_3R_60() {
3428 if (jj_3R_69()) return true;
3429 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3433 if (jj_3_1()) { jj_scanpos = xsp; break; }
3434 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3439 static final private boolean jj_3R_115() {
3440 if (jj_scan_token(BIT_OR)) return true;
3441 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3442 if (jj_3R_114()) return true;
3443 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3447 static final private boolean jj_3R_110() {
3448 if (jj_scan_token(STRING_LITERAL)) return true;
3449 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3453 static final private boolean jj_3R_104() {
3454 if (jj_3R_114()) return true;
3455 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3459 if (jj_3R_115()) { jj_scanpos = xsp; break; }
3460 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3465 static final private boolean jj_3R_109() {
3466 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
3467 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3471 static final private boolean jj_3R_98() {
3482 if (jj_3R_112()) return true;
3483 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3484 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3485 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3486 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3487 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3491 static final private boolean jj_3R_108() {
3492 if (jj_scan_token(INTEGER_LITERAL)) return true;
3493 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3497 static final private boolean jj_3R_56() {
3498 if (jj_3R_36()) return true;
3499 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3503 static final private boolean jj_3R_61() {
3504 if (jj_scan_token(ASSIGN)) return true;
3505 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3506 if (jj_3R_70()) return true;
3507 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3511 static final private boolean jj_3R_105() {
3512 if (jj_scan_token(DOT)) return true;
3513 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3514 if (jj_3R_104()) return true;
3515 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3519 static final private boolean jj_3R_107() {
3520 if (jj_scan_token(_ANDL)) return true;
3521 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3525 static final private boolean jj_3R_53() {
3526 if (jj_3R_60()) return true;
3527 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3530 if (jj_3R_61()) jj_scanpos = xsp;
3531 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3535 static final private boolean jj_3R_93() {
3536 if (jj_3R_104()) return true;
3537 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3541 if (jj_3R_105()) { jj_scanpos = xsp; break; }
3542 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3547 static final private boolean jj_3R_42() {
3548 if (jj_scan_token(LBRACKET)) return true;
3549 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3552 if (jj_3R_56()) jj_scanpos = xsp;
3553 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3554 if (jj_scan_token(RBRACKET)) return true;
3555 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3559 static final private boolean jj_3R_41() {
3560 if (jj_scan_token(CLASSACCESS)) return true;
3561 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3562 if (jj_3R_55()) return true;
3563 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3567 static final private boolean jj_3R_33() {
3572 if (jj_3R_42()) return true;
3573 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3574 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3578 static final private boolean jj_3R_188() {
3579 if (jj_3R_33()) return true;
3580 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3584 static final private boolean jj_3R_187() {
3585 if (jj_3R_191()) return true;
3586 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3590 static final private boolean jj_3R_185() {
3595 if (jj_3R_188()) return true;
3596 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3597 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3601 static final private boolean jj_3R_106() {
3602 if (jj_scan_token(SC_AND)) return true;
3603 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3607 static final private boolean jj_3R_96() {
3608 if (jj_scan_token(_ORL)) return true;
3609 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3613 static final private boolean jj_3R_94() {
3618 if (jj_3R_107()) return true;
3619 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3620 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3621 if (jj_3R_93()) return true;
3622 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3626 static final private boolean jj_3R_71() {
3627 if (jj_3R_93()) return true;
3628 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3632 if (jj_3R_94()) { jj_scanpos = xsp; break; }
3633 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3638 static final private boolean jj_3R_190() {
3639 if (jj_3R_60()) return true;
3640 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3644 static final private boolean jj_3R_189() {
3645 if (jj_scan_token(IDENTIFIER)) return true;
3646 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3650 static final private boolean jj_3R_186() {
3655 if (jj_3R_190()) return true;
3656 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3657 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3661 static final private boolean jj_3R_67() {
3662 if (jj_scan_token(HOOK)) return true;
3663 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3664 if (jj_3R_36()) return true;
3665 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3666 if (jj_scan_token(COLON)) return true;
3667 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3668 if (jj_3R_58()) return true;
3669 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3673 static final private boolean jj_3R_181() {
3674 if (jj_3R_60()) return true;
3675 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3679 static final private boolean jj_3R_95() {
3680 if (jj_scan_token(SC_OR)) return true;
3681 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3685 static final private boolean jj_3R_72() {
3690 if (jj_3R_96()) return true;
3691 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3692 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3693 if (jj_3R_71()) return true;
3694 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3698 static final private boolean jj_3R_180() {
3699 if (jj_scan_token(NEW)) return true;
3700 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3701 if (jj_3R_186()) return true;
3702 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3706 static final private boolean jj_3R_183() {
3707 if (jj_scan_token(DECR)) return true;
3708 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3712 static final private boolean jj_3R_179() {
3713 if (jj_scan_token(IDENTIFIER)) return true;
3714 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3718 static final private boolean jj_3R_177() {
3725 if (jj_3R_181()) return true;
3726 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3727 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3728 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3732 static final private boolean jj_3R_66() {
3733 if (jj_3R_71()) return true;
3734 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3738 if (jj_3R_72()) { jj_scanpos = xsp; break; }
3739 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3744 static final private boolean jj_3R_103() {
3745 if (jj_scan_token(ARRAY)) return true;
3746 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3747 if (jj_3R_113()) return true;
3748 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3752 static final private boolean jj_3R_58() {
3753 if (jj_3R_66()) return true;
3754 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3757 if (jj_3R_67()) jj_scanpos = xsp;
3758 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3762 static final private boolean jj_3R_182() {
3763 if (jj_scan_token(INCR)) return true;
3764 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3768 static final private boolean jj_3R_178() {
3773 if (jj_3R_183()) return true;
3774 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3775 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3779 static final private boolean jj_3R_176() {
3780 if (jj_3R_103()) return true;
3781 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3785 static final private boolean jj_3R_184() {
3786 if (jj_3R_185()) return true;
3787 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3791 static final private boolean jj_3R_54() {
3792 if (jj_scan_token(COMMA)) return true;
3793 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3794 if (jj_3R_53()) return true;
3795 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3799 static final private boolean jj_3R_175() {
3800 if (jj_3R_177()) return true;
3801 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3805 if (jj_3R_184()) { jj_scanpos = xsp; break; }
3806 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3811 static final private boolean jj_3R_192() {
3812 if (jj_3R_185()) return true;
3813 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3817 static final private boolean jj_3R_85() {
3818 if (jj_scan_token(TILDEEQUAL)) return true;
3819 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3823 static final private boolean jj_3R_84() {
3824 if (jj_scan_token(DOTASSIGN)) return true;
3825 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3829 static final private boolean jj_3R_172() {
3836 if (jj_3R_176()) return true;
3837 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3838 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3839 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3843 static final private boolean jj_3_4() {
3844 if (jj_scan_token(IDENTIFIER)) return true;
3845 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3846 if (jj_scan_token(STATICCLASSACCESS)) return true;
3847 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3848 if (jj_3R_186()) return true;
3849 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3853 if (jj_3R_192()) { jj_scanpos = xsp; break; }
3854 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3859 static final private boolean jj_3R_83() {
3860 if (jj_scan_token(ORASSIGN)) return true;
3861 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3865 static final private boolean jj_3R_82() {
3866 if (jj_scan_token(XORASSIGN)) return true;
3867 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3871 static final private boolean jj_3R_81() {
3872 if (jj_scan_token(ANDASSIGN)) return true;
3873 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3877 static final private boolean jj_3R_80() {
3878 if (jj_scan_token(RSIGNEDSHIFTASSIGN)) return true;
3879 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3883 static final private boolean jj_3R_79() {
3884 if (jj_scan_token(LSHIFTASSIGN)) return true;
3885 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3889 static final private boolean jj_3R_78() {
3890 if (jj_scan_token(MINUSASSIGN)) return true;
3891 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3895 static final private boolean jj_3R_77() {
3896 if (jj_scan_token(PLUSASSIGN)) return true;
3897 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3901 static final private boolean jj_3R_40() {
3902 if (jj_3R_53()) return true;
3903 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3907 if (jj_3R_54()) { jj_scanpos = xsp; break; }
3908 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3913 static final private boolean jj_3R_76() {
3914 if (jj_scan_token(REMASSIGN)) return true;
3915 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3919 static final private boolean jj_3R_174() {
3920 if (jj_3R_172()) return true;
3921 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3924 if (jj_3R_178()) jj_scanpos = xsp;
3925 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3929 static final private boolean jj_3R_75() {
3930 if (jj_scan_token(SLASHASSIGN)) return true;
3931 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3935 static final private boolean jj_3R_74() {
3936 if (jj_scan_token(STARASSIGN)) return true;
3937 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3941 static final private boolean jj_3R_73() {
3942 if (jj_scan_token(ASSIGN)) return true;
3943 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3947 static final private boolean jj_3R_68() {
3974 if (jj_3R_85()) return true;
3975 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3976 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3977 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3978 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3979 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3980 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3981 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3982 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3983 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3984 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3985 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3986 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3987 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3991 static final private boolean jj_3R_173() {
3992 if (jj_scan_token(LPAREN)) return true;
3993 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3994 if (jj_3R_35()) return true;
3995 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3996 if (jj_scan_token(RPAREN)) return true;
3997 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3998 if (jj_3R_147()) return true;
3999 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4003 static final private boolean jj_3_3() {
4004 if (jj_scan_token(LPAREN)) return true;
4005 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4006 if (jj_3R_35()) return true;
4007 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4008 if (jj_scan_token(RPAREN)) return true;
4009 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4013 static final private boolean jj_3R_171() {
4014 if (jj_scan_token(LPAREN)) return true;
4015 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4016 if (jj_3R_36()) return true;
4017 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4018 if (jj_scan_token(RPAREN)) return true;
4019 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4023 static final private boolean jj_3R_170() {
4024 if (jj_3R_98()) return true;
4025 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4029 static final private boolean jj_3R_59() {
4030 if (jj_3R_68()) return true;
4031 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4032 if (jj_3R_36()) return true;
4033 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4037 static final private boolean jj_3R_169() {
4038 if (jj_3R_174()) return true;
4039 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4043 static final private boolean jj_3R_39() {
4044 if (jj_scan_token(IDENTIFIER)) return true;
4045 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4046 if (jj_scan_token(COLON)) return true;
4047 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4051 static final private boolean jj_3R_52() {
4052 if (jj_3R_58()) return true;
4053 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4056 if (jj_3R_59()) jj_scanpos = xsp;
4057 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4061 static final private boolean jj_3R_168() {
4062 if (jj_3R_173()) return true;
4063 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4067 static final private boolean jj_3R_36() {
4072 if (jj_3R_52()) return true;
4073 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4074 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4078 static final private boolean jj_3R_51() {
4079 if (jj_3R_57()) return true;
4080 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4084 static final private boolean jj_3R_166() {
4095 if (jj_3R_171()) return true;
4096 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4097 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4098 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4099 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4100 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4104 static final private boolean jj_3R_167() {
4105 if (jj_scan_token(BANG)) return true;
4106 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4107 if (jj_3R_147()) return true;
4108 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4112 static final private boolean jj_3R_50() {
4113 if (jj_scan_token(INTEGER)) return true;
4114 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4118 static final private boolean jj_3R_165() {
4119 if (jj_scan_token(DECR)) return true;
4120 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4121 if (jj_3R_172()) return true;
4122 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4126 static final private boolean jj_3R_49() {
4127 if (jj_scan_token(INT)) return true;
4128 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4132 static final private boolean jj_3R_48() {
4133 if (jj_scan_token(FLOAT)) return true;
4134 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4138 static final private boolean jj_3R_47() {
4139 if (jj_scan_token(DOUBLE)) return true;
4140 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4144 static final private boolean jj_3R_164() {
4145 if (jj_scan_token(INCR)) return true;
4146 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4147 if (jj_3R_172()) return true;
4148 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4152 static final private boolean jj_3R_163() {
4153 if (jj_scan_token(MINUS)) return true;
4154 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4158 static final private boolean jj_3R_46() {
4159 if (jj_scan_token(REAL)) return true;
4160 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4164 static final private boolean jj_3R_45() {
4165 if (jj_scan_token(BOOLEAN)) return true;
4166 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4170 static final private boolean jj_3R_44() {
4171 if (jj_scan_token(BOOL)) return true;
4172 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4176 static final private boolean jj_3R_161() {
4177 if (jj_3R_166()) return true;
4178 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4182 static final private boolean jj_3R_35() {
4199 if (jj_3R_50()) return true;
4200 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4201 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4202 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4203 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4204 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4205 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4206 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4207 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4211 static final private boolean jj_3R_43() {
4212 if (jj_scan_token(STRING)) return true;
4213 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4217 static final private boolean jj_3R_160() {
4218 if (jj_3R_165()) return true;
4219 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4223 static final private boolean jj_3R_155() {
4224 if (jj_scan_token(REM)) return true;
4225 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4229 static final private boolean jj_3R_159() {
4230 if (jj_3R_164()) return true;
4231 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4235 static final private boolean jj_3R_162() {
4236 if (jj_scan_token(PLUS)) return true;
4237 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4241 static final private boolean jj_3R_156() {
4250 if (jj_3R_161()) return true;
4251 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4252 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4253 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4254 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4258 static final private boolean jj_3R_158() {
4263 if (jj_3R_163()) return true;
4264 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4265 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4266 if (jj_3R_147()) return true;
4267 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4271 static final private boolean jj_3R_57() {
4272 if (jj_scan_token(PRINT)) return true;
4273 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4274 if (jj_3R_36()) return true;
4275 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4279 static final private boolean jj_3R_157() {
4280 if (jj_scan_token(AT)) return true;
4281 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4285 static final private boolean jj_3R_152() {
4289 if (jj_3R_157()) { jj_scanpos = xsp; break; }
4290 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4292 if (jj_3R_156()) return true;
4293 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4297 static final private boolean jj_3R_154() {
4298 if (jj_scan_token(SLASH)) return true;
4299 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4303 static final private boolean jj_3R_147() {
4308 if (jj_3R_152()) return true;
4309 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4310 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4314 static final private boolean jj_3R_151() {
4315 if (jj_scan_token(BIT_AND)) return true;
4316 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4317 if (jj_3R_156()) return true;
4318 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4322 static final private boolean jj_3R_146() {
4323 if (jj_scan_token(RUNSIGNEDSHIFT)) return true;
4324 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4328 static final private boolean jj_3R_150() {
4329 if (jj_scan_token(MINUS)) return true;
4330 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4334 static final private boolean jj_3R_153() {
4335 if (jj_scan_token(STAR)) return true;
4336 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4340 static final private boolean jj_3R_148() {
4347 if (jj_3R_155()) return true;
4348 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4349 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4350 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4351 if (jj_3R_147()) return true;
4352 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4356 static final private boolean jj_3R_141() {
4357 if (jj_scan_token(GE)) return true;
4358 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4362 static final private boolean jj_3R_142() {
4363 if (jj_3R_147()) return true;
4364 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4368 if (jj_3R_148()) { jj_scanpos = xsp; break; }
4369 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4374 static final private boolean jj_3R_145() {
4375 if (jj_scan_token(RSIGNEDSHIFT)) return true;
4376 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4380 static final private boolean jj_3R_149() {
4381 if (jj_scan_token(PLUS)) return true;
4382 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4386 static final private boolean jj_3R_143() {
4391 if (jj_3R_150()) return true;
4392 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4393 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4394 if (jj_3R_142()) return true;
4395 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4399 static final private boolean jj_3R_140() {
4400 if (jj_scan_token(LE)) return true;
4401 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4405 static final private boolean jj_3R_136() {
4406 if (jj_3R_142()) return true;
4407 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4411 if (jj_3R_143()) { jj_scanpos = xsp; break; }
4412 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4417 static final private boolean jj_3_2() {
4418 if (jj_scan_token(COMMA)) return true;
4419 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4420 if (jj_3R_34()) return true;
4421 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4425 static final private boolean jj_3R_144() {
4426 if (jj_scan_token(LSHIFT)) return true;
4427 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4431 static final private boolean jj_3R_120() {
4432 if (jj_3R_34()) return true;
4433 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4437 if (jj_3_2()) { jj_scanpos = xsp; break; }
4438 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4443 static final private boolean jj_3R_137() {
4450 if (jj_3R_146()) return true;
4451 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4452 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4453 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4454 if (jj_3R_136()) return true;
4455 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4459 static final private boolean jj_3R_139() {
4460 if (jj_scan_token(GT)) return true;
4461 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4465 static final private boolean jj_3R_130() {
4466 if (jj_3R_136()) return true;
4467 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4471 if (jj_3R_137()) { jj_scanpos = xsp; break; }
4472 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4477 static private boolean jj_initialized_once = false;
4478 static public PHPParserTokenManager token_source;
4479 static SimpleCharStream jj_input_stream;
4480 static public Token token, jj_nt;
4481 static private int jj_ntk;
4482 static private Token jj_scanpos, jj_lastpos;
4483 static private int jj_la;
4484 static public boolean lookingAhead = false;
4485 static private boolean jj_semLA;
4486 static private int jj_gen;
4487 static final private int[] jj_la1 = new int[101];
4488 static private int[] jj_la1_0;
4489 static private int[] jj_la1_1;
4490 static private int[] jj_la1_2;
4491 static private int[] jj_la1_3;
4492 static private int[] jj_la1_4;
4500 private static void jj_la1_0() {
4501 jj_la1_0 = new int[] {0x2,0x7fcb0000,0x0,0x60000,0x60000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0x0,0xc00000,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,0x400000,0x0,0x0,0x80000000,0x80000000,0x400000,0x0,0x0,0x80000000,0xc00000,0x80000000,0x0,0x0,0xc00000,0x0,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,};
4503 private static void jj_la1_1() {
4504 jj_la1_1 = new int[] {0x0,0xd76a4,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x42200,0x2,0x43200,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,0x43200,0x0,0x0,0x0,0x0,0x1000,0x1000,0x0,0x0,0x43200,0x0,0x42200,0x40200,0x43200,0x0,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,};
4506 private static void jj_la1_2() {
4507 jj_la1_2 = new int[] {0x0,0x11914451,0x0,0x0,0x0,0x200000,0x2000000,0x10000,0x1000000,0x10000,0x1010400,0x1010400,0x11,0x11,0x451,0x0,0x11804451,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,0x800000,0x11804451,0x0,0x11004451,0x10000000,0x1004451,0x0,0x0,0x44000,0x44000,0x1000400,0x1000400,0x1000400,0x44000,0x11804451,0x40000,0x51,0x0,0x11804451,0x200000,0x100000,0x800000,0x1910400,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,};
4509 private static void jj_la1_3() {
4510 jj_la1_3 = new int[] {0x0,0x9e0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x180,0x0,0x9e0,0x800,0x0,0x800,0x800,0x0,0x9ffc0000,0x9e0,0x9ffc0000,0x0,0x8,0x8,0x10,0x10,0x0,0x1000,0x2000,0x800,0x60000004,0x60000004,0x3,0x3,0x38000,0x38000,0x180,0x180,0x4600,0x4600,0x0,0x9e0,0x180,0x1e0,0x0,0x0,0x60,0x60,0x0,0x0,0x0,0x0,0x0,0x0,0x9e0,0x0,0x0,0x0,0x9e0,0x0,0x0,0x0,0x60,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9e0,0x9e0,0x0,0x9ffc0060,0x9ffc0060,0x60,0x0,0x9e0,0x0,0x0,0x0,0x9e0,0x0,0x9e0,0x0,0x60,0x9e0,0x60,0x60,0x0,0x0,0x0,0x9e0,};
4512 private static void jj_la1_4() {
4513 jj_la1_4 = new int[] {0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x0,0x1,0x0,0x0,0x0,0x0,0x1,0x1,0x1,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x2,0x0,0x1,0x2,0x2,0x2,0x2,0x0,0x0,0x2,0x0,0x2,0x0,0x2,0x1,0x1,0x0,0x0,0x0,0x1,0x0,0x1,0x0,0x0,0x0,0x1,0x2,0x1,0x2,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x1,};
4515 static final private JJCalls[] jj_2_rtns = new JJCalls[7];
4516 static private boolean jj_rescan = false;
4517 static private int jj_gc = 0;
4519 public PHPParser(java.io.InputStream stream) {
4520 if (jj_initialized_once) {
4521 System.out.println("ERROR: Second call to constructor of static parser. You must");
4522 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
4523 System.out.println(" during parser generation.");
4526 jj_initialized_once = true;
4527 jj_input_stream = new SimpleCharStream(stream, 1, 1);
4528 token_source = new PHPParserTokenManager(jj_input_stream);
4529 token = new Token();
4532 for (int i = 0; i < 101; i++) jj_la1[i] = -1;
4533 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4536 static public void ReInit(java.io.InputStream stream) {
4537 jj_input_stream.ReInit(stream, 1, 1);
4538 token_source.ReInit(jj_input_stream);
4539 token = new Token();
4542 for (int i = 0; i < 101; i++) jj_la1[i] = -1;
4543 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4546 public PHPParser(java.io.Reader stream) {
4547 if (jj_initialized_once) {
4548 System.out.println("ERROR: Second call to constructor of static parser. You must");
4549 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
4550 System.out.println(" during parser generation.");
4553 jj_initialized_once = true;
4554 jj_input_stream = new SimpleCharStream(stream, 1, 1);
4555 token_source = new PHPParserTokenManager(jj_input_stream);
4556 token = new Token();
4559 for (int i = 0; i < 101; i++) jj_la1[i] = -1;
4560 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4563 static public void ReInit(java.io.Reader stream) {
4564 jj_input_stream.ReInit(stream, 1, 1);
4565 token_source.ReInit(jj_input_stream);
4566 token = new Token();
4569 for (int i = 0; i < 101; i++) jj_la1[i] = -1;
4570 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4573 public PHPParser(PHPParserTokenManager tm) {
4574 if (jj_initialized_once) {
4575 System.out.println("ERROR: Second call to constructor of static parser. You must");
4576 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
4577 System.out.println(" during parser generation.");
4580 jj_initialized_once = true;
4582 token = new Token();
4585 for (int i = 0; i < 101; i++) jj_la1[i] = -1;
4586 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4589 public void ReInit(PHPParserTokenManager tm) {
4591 token = new Token();
4594 for (int i = 0; i < 101; i++) jj_la1[i] = -1;
4595 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4598 static final private Token jj_consume_token(int kind) throws ParseException {
4600 if ((oldToken = token).next != null) token = token.next;
4601 else token = token.next = token_source.getNextToken();
4603 if (token.kind == kind) {
4605 if (++jj_gc > 100) {
4607 for (int i = 0; i < jj_2_rtns.length; i++) {
4608 JJCalls c = jj_2_rtns[i];
4610 if (c.gen < jj_gen) c.first = null;
4619 throw generateParseException();
4622 static final private boolean jj_scan_token(int kind) {
4623 if (jj_scanpos == jj_lastpos) {
4625 if (jj_scanpos.next == null) {
4626 jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
4628 jj_lastpos = jj_scanpos = jj_scanpos.next;
4631 jj_scanpos = jj_scanpos.next;
4634 int i = 0; Token tok = token;
4635 while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
4636 if (tok != null) jj_add_error_token(kind, i);
4638 return (jj_scanpos.kind != kind);
4641 static final public Token getNextToken() {
4642 if (token.next != null) token = token.next;
4643 else token = token.next = token_source.getNextToken();
4649 static final public Token getToken(int index) {
4650 Token t = lookingAhead ? jj_scanpos : token;
4651 for (int i = 0; i < index; i++) {
4652 if (t.next != null) t = t.next;
4653 else t = t.next = token_source.getNextToken();
4658 static final private int jj_ntk() {
4659 if ((jj_nt=token.next) == null)
4660 return (jj_ntk = (token.next=token_source.getNextToken()).kind);
4662 return (jj_ntk = jj_nt.kind);
4665 static private java.util.Vector jj_expentries = new java.util.Vector();
4666 static private int[] jj_expentry;
4667 static private int jj_kind = -1;
4668 static private int[] jj_lasttokens = new int[100];
4669 static private int jj_endpos;
4671 static private void jj_add_error_token(int kind, int pos) {
4672 if (pos >= 100) return;
4673 if (pos == jj_endpos + 1) {
4674 jj_lasttokens[jj_endpos++] = kind;
4675 } else if (jj_endpos != 0) {
4676 jj_expentry = new int[jj_endpos];
4677 for (int i = 0; i < jj_endpos; i++) {
4678 jj_expentry[i] = jj_lasttokens[i];
4680 boolean exists = false;
4681 for (java.util.Enumeration enum = jj_expentries.elements(); enum.hasMoreElements();) {
4682 int[] oldentry = (int[])(enum.nextElement());
4683 if (oldentry.length == jj_expentry.length) {
4685 for (int i = 0; i < jj_expentry.length; i++) {
4686 if (oldentry[i] != jj_expentry[i]) {
4694 if (!exists) jj_expentries.addElement(jj_expentry);
4695 if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
4699 static public ParseException generateParseException() {
4700 jj_expentries.removeAllElements();
4701 boolean[] la1tokens = new boolean[130];
4702 for (int i = 0; i < 130; i++) {
4703 la1tokens[i] = false;
4706 la1tokens[jj_kind] = true;
4709 for (int i = 0; i < 101; i++) {
4710 if (jj_la1[i] == jj_gen) {
4711 for (int j = 0; j < 32; j++) {
4712 if ((jj_la1_0[i] & (1<<j)) != 0) {
4713 la1tokens[j] = true;
4715 if ((jj_la1_1[i] & (1<<j)) != 0) {
4716 la1tokens[32+j] = true;
4718 if ((jj_la1_2[i] & (1<<j)) != 0) {
4719 la1tokens[64+j] = true;
4721 if ((jj_la1_3[i] & (1<<j)) != 0) {
4722 la1tokens[96+j] = true;
4724 if ((jj_la1_4[i] & (1<<j)) != 0) {
4725 la1tokens[128+j] = true;
4730 for (int i = 0; i < 130; i++) {
4732 jj_expentry = new int[1];
4734 jj_expentries.addElement(jj_expentry);
4739 jj_add_error_token(0, 0);
4740 int[][] exptokseq = new int[jj_expentries.size()][];
4741 for (int i = 0; i < jj_expentries.size(); i++) {
4742 exptokseq[i] = (int[])jj_expentries.elementAt(i);
4744 return new ParseException(token, exptokseq, tokenImage);
4747 static final public void enable_tracing() {
4750 static final public void disable_tracing() {
4753 static final private void jj_rescan_token() {
4755 for (int i = 0; i < 7; i++) {
4756 JJCalls p = jj_2_rtns[i];
4758 if (p.gen > jj_gen) {
4759 jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
4761 case 0: jj_3_1(); break;
4762 case 1: jj_3_2(); break;
4763 case 2: jj_3_3(); break;
4764 case 3: jj_3_4(); break;
4765 case 4: jj_3_5(); break;
4766 case 5: jj_3_6(); break;
4767 case 6: jj_3_7(); break;
4771 } while (p != null);
4776 static final private void jj_save(int index, int xla) {
4777 JJCalls p = jj_2_rtns[index];
4778 while (p.gen > jj_gen) {
4779 if (p.next == null) { p = p.next = new JJCalls(); break; }
4782 p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
4785 static final class JJCalls {