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, errorMessage, jj_input_stream.tokenBegin,jj_input_stream.tokenBegin+e.currentToken.image.length(), errorLevel);
110 } catch (CoreException e2) {
111 PHPeclipsePlugin.log(e2);
116 * Create markers according to the external parser output
118 private static void createMarkers(String output, IFile file) throws CoreException {
119 // delete all markers
120 file.deleteMarkers(IMarker.PROBLEM, false, 0);
125 while ((brIndx = output.indexOf("<br />", indx)) != -1) {
126 // newer php error output (tested with 4.2.3)
127 scanLine(output, file, indx, brIndx);
132 while ((brIndx = output.indexOf("<br>", indx)) != -1) {
133 // older php error output (tested with 4.2.3)
134 scanLine(output, file, indx, brIndx);
140 private static void scanLine(String output, IFile file, int indx, int brIndx) throws CoreException {
142 StringBuffer lineNumberBuffer = new StringBuffer(10);
144 current = output.substring(indx, brIndx);
146 if (current.indexOf(PARSE_WARNING_STRING) != -1 || current.indexOf(PARSE_ERROR_STRING) != -1) {
147 int onLine = current.indexOf("on line <b>");
149 lineNumberBuffer.delete(0, lineNumberBuffer.length());
150 for (int i = onLine; i < current.length(); i++) {
151 ch = current.charAt(i);
152 if ('0' <= ch && '9' >= ch) {
153 lineNumberBuffer.append(ch);
157 int lineNumber = Integer.parseInt(lineNumberBuffer.toString());
159 Hashtable attributes = new Hashtable();
161 current = current.replaceAll("\n", "");
162 current = current.replaceAll("<b>", "");
163 current = current.replaceAll("</b>", "");
164 MarkerUtilities.setMessage(attributes, current);
166 if (current.indexOf(PARSE_ERROR_STRING) != -1)
167 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_ERROR));
168 else if (current.indexOf(PARSE_WARNING_STRING) != -1)
169 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_WARNING));
171 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_INFO));
172 MarkerUtilities.setLineNumber(attributes, lineNumber);
173 MarkerUtilities.createMarker(file, attributes, IMarker.PROBLEM);
178 public void parse(String s) throws CoreException {
179 ReInit(new StringReader(s));
182 } catch (ParseException e) {
183 processParseException(e);
188 * Call the php parse command ( php -l -f <filename> )
189 * and create markers according to the external parser output
191 public static void phpExternalParse(IFile file) {
192 IPreferenceStore store = PHPeclipsePlugin.getDefault().getPreferenceStore();
193 String filename = file.getLocation().toString();
195 String[] arguments = { filename };
196 MessageFormat form = new MessageFormat(store.getString(PHPeclipsePlugin.EXTERNAL_PARSER_PREF));
197 String command = form.format(arguments);
199 String parserResult = PHPStartApacheAction.getParserOutput(command, "External parser: ");
202 // parse the buffer to find the errors and warnings
203 createMarkers(parserResult, file);
204 } catch (CoreException e) {
205 PHPeclipsePlugin.log(e);
209 public void parse() throws ParseException {
213 /*****************************************
214 * THE JAVA LANGUAGE GRAMMAR STARTS HERE *
215 *****************************************/
218 * Program structuring syntax follows.
220 static final public void phpTest() throws ParseException {
225 static final public void phpFile() throws ParseException {
228 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
236 jj_consume_token(PHPSTART);
238 jj_consume_token(PHPEND);
243 static final public void Php() throws ParseException {
246 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
270 case INTEGER_LITERAL:
271 case FLOATING_POINT_LITERAL:
296 static final public void ClassDeclaration() throws ParseException {
297 PHPClassDeclaration classDeclaration;
299 int pos = jj_input_stream.bufpos;
300 jj_consume_token(CLASS);
301 className = jj_consume_token(IDENTIFIER);
302 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
304 jj_consume_token(EXTENDS);
305 jj_consume_token(IDENTIFIER);
311 classDeclaration = new PHPClassDeclaration(currentSegment,className.image,pos);
312 currentSegment.add(classDeclaration);
313 currentSegment = classDeclaration;
315 currentSegment = (PHPSegmentWithChildren) currentSegment.getParent();
318 static final public void ClassBody() throws ParseException {
320 jj_consume_token(LBRACE);
321 } catch (ParseException e) {
322 errorMessage = "'{' expected";
328 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
337 ClassBodyDeclaration();
340 jj_consume_token(RBRACE);
341 } catch (ParseException e) {
342 errorMessage = "'var', 'function' or '}' expected";
348 static final public void ClassBodyDeclaration() throws ParseException {
349 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
358 jj_consume_token(-1);
359 throw new ParseException();
363 static final public void FieldDeclaration() throws ParseException {
364 PHPVarDeclaration variableDeclaration;
365 jj_consume_token(VAR);
366 variableDeclaration = VariableDeclarator();
367 currentSegment.add(variableDeclaration);
370 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
378 jj_consume_token(COMMA);
379 variableDeclaration = VariableDeclarator();
380 currentSegment.add(variableDeclaration);
383 jj_consume_token(SEMICOLON);
384 } catch (ParseException e) {
385 errorMessage = "';' expected after variable declaration";
391 static final public PHPVarDeclaration VariableDeclarator() throws ParseException {
393 String varValue = null;
394 int pos = jj_input_stream.bufpos;
395 varName = VariableDeclaratorId();
396 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
398 jj_consume_token(ASSIGN);
400 varValue = VariableInitializer();
401 } catch (ParseException e) {
402 errorMessage = "Literal expression expected in variable initializer";
411 if (varValue == null) {
412 {if (true) return new PHPVarDeclaration(currentSegment,varName,pos);}
414 {if (true) return new PHPVarDeclaration(currentSegment,varName,pos,varValue);}
415 throw new Error("Missing return statement in function");
418 static final public String VariableDeclaratorId() throws ParseException {
420 StringBuffer buff = new StringBuffer();
431 expr = VariableSuffix();
434 {if (true) return buff.toString();}
435 } catch (ParseException e) {
436 errorMessage = "'$' expected for variable identifier";
440 throw new Error("Missing return statement in function");
443 static final public String Variable() throws ParseException {
446 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
448 token = jj_consume_token(DOLLAR_ID);
449 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
451 jj_consume_token(LBRACE);
453 jj_consume_token(RBRACE);
460 {if (true) return token.image;}
462 {if (true) return token + "{" + expr + "}";}
465 jj_consume_token(DOLLAR);
466 expr = VariableName();
467 {if (true) return "$" + expr;}
471 jj_consume_token(-1);
472 throw new ParseException();
474 throw new Error("Missing return statement in function");
477 static final public String VariableName() throws ParseException {
480 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
482 jj_consume_token(LBRACE);
484 jj_consume_token(RBRACE);
485 {if (true) return "{"+expr+"}";}
488 token = jj_consume_token(IDENTIFIER);
489 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
491 jj_consume_token(LBRACE);
493 jj_consume_token(RBRACE);
500 {if (true) return token.image;}
502 {if (true) return token + "{" + expr + "}";}
505 jj_consume_token(DOLLAR);
506 expr = VariableName();
507 {if (true) return "$" + expr;}
510 token = jj_consume_token(DOLLAR_ID);
511 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
516 expr = VariableName();
523 {if (true) return token.image;}
525 {if (true) return token.image + expr;}
529 jj_consume_token(-1);
530 throw new ParseException();
532 throw new Error("Missing return statement in function");
535 static final public String VariableInitializer() throws ParseException {
537 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
541 case INTEGER_LITERAL:
542 case FLOATING_POINT_LITERAL:
545 {if (true) return expr;}
548 expr = ArrayDeclarator();
549 {if (true) return expr;}
553 jj_consume_token(-1);
554 throw new ParseException();
556 throw new Error("Missing return statement in function");
559 static final public String ArrayVariable() throws ParseException {
561 StringBuffer buff = new StringBuffer();
564 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
566 jj_consume_token(ARRAYASSIGN);
568 buff.append("=>").append(expr);
574 {if (true) return buff.toString();}
575 throw new Error("Missing return statement in function");
578 static final public String ArrayInitializer() throws ParseException {
580 StringBuffer buff = new StringBuffer("(");
581 jj_consume_token(LPAREN);
582 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
589 case INTEGER_LITERAL:
590 case FLOATING_POINT_LITERAL:
603 expr = ArrayVariable();
612 jj_consume_token(COMMA);
613 expr = ArrayVariable();
614 buff.append(",").append(expr);
621 jj_consume_token(RPAREN);
623 {if (true) return buff.toString();}
624 throw new Error("Missing return statement in function");
627 static final public void MethodDeclaration() throws ParseException {
628 PHPFunctionDeclaration functionDeclaration;
629 jj_consume_token(FUNCTION);
630 functionDeclaration = MethodDeclarator();
631 currentSegment.add(functionDeclaration);
632 currentSegment = functionDeclaration;
634 currentSegment = (PHPSegmentWithChildren) currentSegment.getParent();
637 static final public PHPFunctionDeclaration MethodDeclarator() throws ParseException {
639 StringBuffer methodDeclaration = new StringBuffer();
640 String formalParameters;
641 int pos = jj_input_stream.bufpos;
642 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
644 jj_consume_token(BIT_AND);
645 methodDeclaration.append("&");
651 identifier = jj_consume_token(IDENTIFIER);
652 methodDeclaration.append(identifier);
653 formalParameters = FormalParameters();
654 methodDeclaration.append(formalParameters);
655 {if (true) return new PHPFunctionDeclaration(currentSegment,methodDeclaration.toString(),pos);}
656 throw new Error("Missing return statement in function");
659 static final public String FormalParameters() throws ParseException {
661 final StringBuffer buff = new StringBuffer("(");
663 jj_consume_token(LPAREN);
664 } catch (ParseException e) {
665 errorMessage = "Formal parameter expected after function identifier";
667 jj_consume_token(token.kind);
669 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
673 expr = FormalParameter();
677 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
685 jj_consume_token(COMMA);
686 expr = FormalParameter();
687 buff.append(",").append(expr);
695 jj_consume_token(RPAREN);
696 } catch (ParseException e) {
697 errorMessage = "')' expected";
702 {if (true) return buff.toString();}
703 throw new Error("Missing return statement in function");
706 static final public String FormalParameter() throws ParseException {
707 PHPVarDeclaration variableDeclaration;
708 StringBuffer buff = new StringBuffer();
709 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
711 jj_consume_token(BIT_AND);
718 variableDeclaration = VariableDeclarator();
719 buff.append(variableDeclaration.toString());
720 {if (true) return buff.toString();}
721 throw new Error("Missing return statement in function");
724 static final public String Type() throws ParseException {
725 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
727 jj_consume_token(STRING);
728 {if (true) return "string";}
731 jj_consume_token(BOOL);
732 {if (true) return "bool";}
735 jj_consume_token(BOOLEAN);
736 {if (true) return "boolean";}
739 jj_consume_token(REAL);
740 {if (true) return "real";}
743 jj_consume_token(DOUBLE);
744 {if (true) return "double";}
747 jj_consume_token(FLOAT);
748 {if (true) return "float";}
751 jj_consume_token(INT);
752 {if (true) return "int";}
755 jj_consume_token(INTEGER);
756 {if (true) return "integer";}
760 jj_consume_token(-1);
761 throw new ParseException();
763 throw new Error("Missing return statement in function");
766 static final public String Expression() throws ParseException {
768 String assignOperator = null;
770 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
772 expr = PrintExpression();
773 {if (true) return expr;}
780 case INTEGER_LITERAL:
781 case FLOATING_POINT_LITERAL:
794 expr = ConditionalExpression();
795 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
807 case RSIGNEDSHIFTASSIGN:
808 case RUNSIGNEDSHIFTASSIGN:
809 assignOperator = AssignmentOperator();
811 expr2 = Expression();
812 } catch (ParseException e) {
813 errorMessage = "expression expected";
815 {if (true) throw generateParseException();}
823 {if (true) return expr;}
825 {if (true) return expr + assignOperator + expr2;}
830 jj_consume_token(-1);
831 throw new ParseException();
833 throw new Error("Missing return statement in function");
836 static final public String AssignmentOperator() throws ParseException {
837 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
839 jj_consume_token(ASSIGN);
840 {if (true) return "=";}
843 jj_consume_token(STARASSIGN);
844 {if (true) return "*=";}
847 jj_consume_token(SLASHASSIGN);
848 {if (true) return "/=";}
851 jj_consume_token(REMASSIGN);
852 {if (true) return "%=";}
855 jj_consume_token(PLUSASSIGN);
856 {if (true) return "+=";}
859 jj_consume_token(MINUSASSIGN);
860 {if (true) return "-=";}
863 jj_consume_token(LSHIFTASSIGN);
864 {if (true) return "<<=";}
866 case RSIGNEDSHIFTASSIGN:
867 jj_consume_token(RSIGNEDSHIFTASSIGN);
868 {if (true) return ">>=";}
870 case RUNSIGNEDSHIFTASSIGN:
871 jj_consume_token(RUNSIGNEDSHIFTASSIGN);
872 {if (true) return ">>>=";}
875 jj_consume_token(ANDASSIGN);
876 {if (true) return "&=";}
879 jj_consume_token(XORASSIGN);
880 {if (true) return "|=";}
883 jj_consume_token(ORASSIGN);
884 {if (true) return "|=";}
887 jj_consume_token(DOTASSIGN);
888 {if (true) return ".=";}
892 jj_consume_token(-1);
893 throw new ParseException();
895 throw new Error("Missing return statement in function");
898 static final public String ConditionalExpression() throws ParseException {
902 expr = ConditionalOrExpression();
903 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
905 jj_consume_token(HOOK);
906 expr2 = Expression();
907 jj_consume_token(COLON);
908 expr3 = ConditionalExpression();
915 {if (true) return expr;}
917 {if (true) return expr + "?" + expr2 + ":" + expr3;}
919 throw new Error("Missing return statement in function");
922 static final public String ConditionalOrExpression() throws ParseException {
926 StringBuffer buff = new StringBuffer();
927 expr = ConditionalAndExpression();
931 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
940 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
942 operator = jj_consume_token(SC_OR);
945 operator = jj_consume_token(_ORL);
949 jj_consume_token(-1);
950 throw new ParseException();
952 expr2 = ConditionalAndExpression();
953 buff.append(operator.image);
956 {if (true) return buff.toString();}
957 throw new Error("Missing return statement in function");
960 static final public String ConditionalAndExpression() throws ParseException {
964 StringBuffer buff = new StringBuffer();
965 expr = ConcatExpression();
969 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
978 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
980 operator = jj_consume_token(SC_AND);
983 operator = jj_consume_token(_ANDL);
987 jj_consume_token(-1);
988 throw new ParseException();
990 expr2 = ConcatExpression();
991 buff.append(operator.image);
994 {if (true) return buff.toString();}
995 throw new Error("Missing return statement in function");
998 static final public String ConcatExpression() throws ParseException {
1000 String expr2 = null;
1001 StringBuffer buff = new StringBuffer();
1002 expr = InclusiveOrExpression();
1006 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1011 jj_la1[28] = jj_gen;
1014 jj_consume_token(DOT);
1015 expr2 = InclusiveOrExpression();
1019 {if (true) return buff.toString();}
1020 throw new Error("Missing return statement in function");
1023 static final public String InclusiveOrExpression() throws ParseException {
1025 String expr2 = null;
1026 StringBuffer buff = new StringBuffer();
1027 expr = ExclusiveOrExpression();
1031 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1036 jj_la1[29] = jj_gen;
1039 jj_consume_token(BIT_OR);
1040 expr2 = ExclusiveOrExpression();
1044 {if (true) return buff.toString();}
1045 throw new Error("Missing return statement in function");
1048 static final public String ExclusiveOrExpression() throws ParseException {
1050 String expr2 = null;
1051 StringBuffer buff = new StringBuffer();
1052 expr = AndExpression();
1056 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1061 jj_la1[30] = jj_gen;
1064 jj_consume_token(XOR);
1065 expr2 = AndExpression();
1069 {if (true) return buff.toString();}
1070 throw new Error("Missing return statement in function");
1073 static final public String AndExpression() throws ParseException {
1075 String expr2 = null;
1076 StringBuffer buff = new StringBuffer();
1077 expr = EqualityExpression();
1081 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1086 jj_la1[31] = jj_gen;
1089 jj_consume_token(BIT_AND);
1090 expr2 = EqualityExpression();
1094 {if (true) return buff.toString();}
1095 throw new Error("Missing return statement in function");
1098 static final public String EqualityExpression() throws ParseException {
1102 StringBuffer buff = new StringBuffer();
1103 expr = RelationalExpression();
1107 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1113 jj_la1[32] = jj_gen;
1116 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1118 operator = jj_consume_token(EQ);
1121 operator = jj_consume_token(NE);
1124 jj_la1[33] = jj_gen;
1125 jj_consume_token(-1);
1126 throw new ParseException();
1128 expr2 = RelationalExpression();
1129 buff.append(operator.image);
1132 {if (true) return buff.toString();}
1133 throw new Error("Missing return statement in function");
1136 static final public String RelationalExpression() throws ParseException {
1140 StringBuffer buff = new StringBuffer();
1141 expr = ShiftExpression();
1145 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1153 jj_la1[34] = jj_gen;
1156 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1158 operator = jj_consume_token(LT);
1161 operator = jj_consume_token(GT);
1164 operator = jj_consume_token(LE);
1167 operator = jj_consume_token(GE);
1170 jj_la1[35] = jj_gen;
1171 jj_consume_token(-1);
1172 throw new ParseException();
1174 expr2 = ShiftExpression();
1175 buff.append(operator.image);
1178 {if (true) return buff.toString();}
1179 throw new Error("Missing return statement in function");
1182 static final public String ShiftExpression() throws ParseException {
1186 StringBuffer buff = new StringBuffer();
1187 expr = AdditiveExpression();
1191 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1194 case RUNSIGNEDSHIFT:
1198 jj_la1[36] = jj_gen;
1201 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1203 operator = jj_consume_token(LSHIFT);
1206 operator = jj_consume_token(RSIGNEDSHIFT);
1208 case RUNSIGNEDSHIFT:
1209 operator = jj_consume_token(RUNSIGNEDSHIFT);
1212 jj_la1[37] = jj_gen;
1213 jj_consume_token(-1);
1214 throw new ParseException();
1216 expr2 = AdditiveExpression();
1217 buff.append(operator.image);
1220 {if (true) return buff.toString();}
1221 throw new Error("Missing return statement in function");
1224 static final public String AdditiveExpression() throws ParseException {
1228 StringBuffer buff = new StringBuffer();
1229 expr = MultiplicativeExpression();
1233 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1239 jj_la1[38] = jj_gen;
1242 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1244 operator = jj_consume_token(PLUS);
1247 operator = jj_consume_token(MINUS);
1250 jj_la1[39] = jj_gen;
1251 jj_consume_token(-1);
1252 throw new ParseException();
1254 expr2 = MultiplicativeExpression();
1255 buff.append(operator.image);
1258 {if (true) return buff.toString();}
1259 throw new Error("Missing return statement in function");
1262 static final public String MultiplicativeExpression() throws ParseException {
1265 final StringBuffer buff = new StringBuffer();
1266 expr = UnaryExpression();
1270 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1277 jj_la1[40] = jj_gen;
1280 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1282 operator = jj_consume_token(STAR);
1285 operator = jj_consume_token(SLASH);
1288 operator = jj_consume_token(REM);
1291 jj_la1[41] = jj_gen;
1292 jj_consume_token(-1);
1293 throw new ParseException();
1295 expr2 = UnaryExpression();
1296 buff.append(operator.image);
1299 {if (true) return buff.toString();}
1300 throw new Error("Missing return statement in function");
1303 static final public String UnaryExpression() throws ParseException {
1306 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1308 jj_consume_token(AT);
1309 expr = UnaryExpression();
1310 {if (true) return "@" + expr;}
1314 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1316 token = jj_consume_token(PLUS);
1319 token = jj_consume_token(MINUS);
1322 jj_la1[42] = jj_gen;
1323 jj_consume_token(-1);
1324 throw new ParseException();
1326 expr = UnaryExpression();
1327 {if (true) return token.image + expr;}
1330 expr = PreIncrementExpression();
1331 {if (true) return expr;}
1334 expr = PreDecrementExpression();
1335 {if (true) return expr;}
1342 case INTEGER_LITERAL:
1343 case FLOATING_POINT_LITERAL:
1344 case STRING_LITERAL:
1351 expr = UnaryExpressionNotPlusMinus();
1352 {if (true) return expr;}
1355 jj_la1[43] = jj_gen;
1356 jj_consume_token(-1);
1357 throw new ParseException();
1359 throw new Error("Missing return statement in function");
1362 static final public String PreIncrementExpression() throws ParseException {
1364 jj_consume_token(INCR);
1365 expr = PrimaryExpression();
1366 {if (true) return "++"+expr;}
1367 throw new Error("Missing return statement in function");
1370 static final public String PreDecrementExpression() throws ParseException {
1372 jj_consume_token(DECR);
1373 expr = PrimaryExpression();
1374 {if (true) return "--"+expr;}
1375 throw new Error("Missing return statement in function");
1378 static final public String UnaryExpressionNotPlusMinus() throws ParseException {
1380 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1382 jj_consume_token(BANG);
1383 expr = UnaryExpression();
1384 {if (true) return "!" + expr;}
1387 jj_la1[44] = jj_gen;
1388 if (jj_2_3(2147483647)) {
1389 expr = CastExpression();
1390 {if (true) return expr;}
1392 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1399 expr = PostfixExpression();
1400 {if (true) return expr;}
1405 case INTEGER_LITERAL:
1406 case FLOATING_POINT_LITERAL:
1407 case STRING_LITERAL:
1409 {if (true) return expr;}
1412 jj_consume_token(LPAREN);
1413 expr = Expression();
1414 jj_consume_token(RPAREN);
1415 {if (true) return "("+expr+")";}
1418 jj_la1[45] = jj_gen;
1419 jj_consume_token(-1);
1420 throw new ParseException();
1424 throw new Error("Missing return statement in function");
1427 static final public String CastExpression() throws ParseException {
1430 jj_consume_token(LPAREN);
1432 jj_consume_token(RPAREN);
1433 expr = UnaryExpression();
1434 {if (true) return "(" + type + ")" + expr;}
1435 throw new Error("Missing return statement in function");
1438 static final public String PostfixExpression() throws ParseException {
1440 Token operator = null;
1441 expr = PrimaryExpression();
1442 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1445 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1447 operator = jj_consume_token(INCR);
1450 operator = jj_consume_token(DECR);
1453 jj_la1[46] = jj_gen;
1454 jj_consume_token(-1);
1455 throw new ParseException();
1459 jj_la1[47] = jj_gen;
1462 if (operator == null) {
1463 {if (true) return expr;}
1465 {if (true) return expr + operator.image;}
1466 throw new Error("Missing return statement in function");
1469 static final public String PrimaryExpression() throws ParseException {
1472 final StringBuffer buff = new StringBuffer();
1474 identifier = jj_consume_token(IDENTIFIER);
1475 jj_consume_token(STATICCLASSACCESS);
1476 expr = ClassIdentifier();
1477 buff.append(identifier.image).append("::").append(expr);
1480 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1487 jj_la1[48] = jj_gen;
1490 expr = PrimarySuffix();
1493 {if (true) return buff.toString();}
1495 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1501 expr = PrimaryPrefix();
1505 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1512 jj_la1[49] = jj_gen;
1515 expr = PrimarySuffix();
1518 {if (true) return buff.toString();}
1521 expr = ArrayDeclarator();
1522 {if (true) return "array" + expr;}
1525 jj_la1[50] = jj_gen;
1526 jj_consume_token(-1);
1527 throw new ParseException();
1530 throw new Error("Missing return statement in function");
1533 static final public String ArrayDeclarator() throws ParseException {
1535 jj_consume_token(ARRAY);
1536 expr = ArrayInitializer();
1537 {if (true) return "array" + expr;}
1538 throw new Error("Missing return statement in function");
1541 static final public String PrimaryPrefix() throws ParseException {
1544 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1546 token = jj_consume_token(IDENTIFIER);
1547 {if (true) return token.image;}
1551 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1553 token = jj_consume_token(BIT_AND);
1556 jj_la1[51] = jj_gen;
1559 jj_consume_token(NEW);
1560 expr = ClassIdentifier();
1561 if (token == null) {
1562 {if (true) return "new " + expr;}
1564 {if (true) return "new &" + expr;}
1568 expr = VariableDeclaratorId();
1569 {if (true) return expr;}
1572 jj_la1[52] = jj_gen;
1573 jj_consume_token(-1);
1574 throw new ParseException();
1576 throw new Error("Missing return statement in function");
1579 static final public String ClassIdentifier() throws ParseException {
1582 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1584 token = jj_consume_token(IDENTIFIER);
1585 {if (true) return token.image;}
1589 expr = VariableDeclaratorId();
1590 {if (true) return expr;}
1593 jj_la1[53] = jj_gen;
1594 jj_consume_token(-1);
1595 throw new ParseException();
1597 throw new Error("Missing return statement in function");
1600 static final public String PrimarySuffix() throws ParseException {
1602 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1605 {if (true) return expr;}
1609 expr = VariableSuffix();
1610 {if (true) return expr;}
1613 jj_la1[54] = jj_gen;
1614 jj_consume_token(-1);
1615 throw new ParseException();
1617 throw new Error("Missing return statement in function");
1620 static final public String VariableSuffix() throws ParseException {
1622 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1624 jj_consume_token(CLASSACCESS);
1625 expr = VariableName();
1626 {if (true) return "->" + expr;}
1629 jj_consume_token(LBRACKET);
1630 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1637 case INTEGER_LITERAL:
1638 case FLOATING_POINT_LITERAL:
1639 case STRING_LITERAL:
1651 expr = Expression();
1654 jj_la1[55] = jj_gen;
1658 jj_consume_token(RBRACKET);
1659 } catch (ParseException e) {
1660 errorMessage = "']' expected";
1662 {if (true) throw generateParseException();}
1665 {if (true) return "[]";}
1667 {if (true) return "[" + expr + "]";}
1670 jj_la1[56] = jj_gen;
1671 jj_consume_token(-1);
1672 throw new ParseException();
1674 throw new Error("Missing return statement in function");
1677 static final public String Literal() throws ParseException {
1680 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1681 case INTEGER_LITERAL:
1682 token = jj_consume_token(INTEGER_LITERAL);
1683 {if (true) return token.image;}
1685 case FLOATING_POINT_LITERAL:
1686 token = jj_consume_token(FLOATING_POINT_LITERAL);
1687 {if (true) return token.image;}
1689 case STRING_LITERAL:
1691 token = jj_consume_token(STRING_LITERAL);
1692 {if (true) return token.image;}
1693 } catch (TokenMgrError e) {
1694 errorMessage = "unterminated string";
1696 {if (true) throw generateParseException();}
1701 expr = BooleanLiteral();
1702 {if (true) return expr;}
1705 expr = NullLiteral();
1706 {if (true) return expr;}
1709 jj_la1[57] = jj_gen;
1710 jj_consume_token(-1);
1711 throw new ParseException();
1713 throw new Error("Missing return statement in function");
1716 static final public String BooleanLiteral() throws ParseException {
1717 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1719 jj_consume_token(TRUE);
1720 {if (true) return "true";}
1723 jj_consume_token(FALSE);
1724 {if (true) return "false";}
1727 jj_la1[58] = jj_gen;
1728 jj_consume_token(-1);
1729 throw new ParseException();
1731 throw new Error("Missing return statement in function");
1734 static final public String NullLiteral() throws ParseException {
1735 jj_consume_token(NULL);
1736 {if (true) return "null";}
1737 throw new Error("Missing return statement in function");
1740 static final public String Arguments() throws ParseException {
1742 jj_consume_token(LPAREN);
1743 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1750 case INTEGER_LITERAL:
1751 case FLOATING_POINT_LITERAL:
1752 case STRING_LITERAL:
1764 expr = ArgumentList();
1767 jj_la1[59] = jj_gen;
1771 jj_consume_token(RPAREN);
1772 } catch (ParseException e) {
1773 errorMessage = "')' expected to close the argument list";
1775 {if (true) throw e;}
1778 {if (true) return "()";}
1780 {if (true) return "(" + expr + ")";}
1781 throw new Error("Missing return statement in function");
1784 static final public String ArgumentList() throws ParseException {
1786 StringBuffer buff = new StringBuffer();
1787 expr = Expression();
1791 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1796 jj_la1[60] = jj_gen;
1799 jj_consume_token(COMMA);
1801 expr = Expression();
1802 } catch (ParseException e) {
1803 errorMessage = "expression expected after a comma in argument list";
1805 {if (true) throw e;}
1807 buff.append(",").append("expr");
1809 {if (true) return buff.toString();}
1810 throw new Error("Missing return statement in function");
1814 * Statement syntax follows.
1816 static final public void Statement() throws ParseException {
1820 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1822 jj_consume_token(SEMICOLON);
1825 jj_consume_token(127);
1828 jj_la1[61] = jj_gen;
1829 jj_consume_token(-1);
1830 throw new ParseException();
1832 } catch (ParseException e) {
1833 errorMessage = "';' expected";
1835 {if (true) throw e;}
1837 } else if (jj_2_6(2)) {
1840 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1855 StatementExpression();
1857 jj_consume_token(SEMICOLON);
1858 } catch (ParseException e) {
1859 errorMessage = "';' expected after expression";
1861 {if (true) throw e;}
1883 ContinueStatement();
1896 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1898 jj_consume_token(AT);
1901 jj_la1[62] = jj_gen;
1913 jj_la1[63] = jj_gen;
1914 jj_consume_token(-1);
1915 throw new ParseException();
1920 static final public void IncludeStatement() throws ParseException {
1922 int pos = jj_input_stream.bufpos;
1923 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1925 jj_consume_token(REQUIRE);
1926 expr = Expression();
1927 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "require",pos,expr));
1929 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1931 jj_consume_token(SEMICOLON);
1934 jj_consume_token(127);
1937 jj_la1[64] = jj_gen;
1938 jj_consume_token(-1);
1939 throw new ParseException();
1941 } catch (ParseException e) {
1942 errorMessage = "';' expected";
1944 {if (true) throw e;}
1948 jj_consume_token(REQUIRE_ONCE);
1949 expr = Expression();
1950 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "require_once",pos,expr));
1952 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1954 jj_consume_token(SEMICOLON);
1957 jj_consume_token(127);
1960 jj_la1[65] = jj_gen;
1961 jj_consume_token(-1);
1962 throw new ParseException();
1964 } catch (ParseException e) {
1965 errorMessage = "';' expected";
1967 {if (true) throw e;}
1971 jj_consume_token(INCLUDE);
1972 expr = Expression();
1973 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "include",pos,expr));
1975 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1977 jj_consume_token(SEMICOLON);
1980 jj_consume_token(127);
1983 jj_la1[66] = jj_gen;
1984 jj_consume_token(-1);
1985 throw new ParseException();
1987 } catch (ParseException e) {
1988 errorMessage = "';' expected";
1990 {if (true) throw e;}
1994 jj_consume_token(INCLUDE_ONCE);
1995 expr = Expression();
1996 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "include_once",pos,expr));
1998 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2000 jj_consume_token(SEMICOLON);
2003 jj_consume_token(127);
2006 jj_la1[67] = jj_gen;
2007 jj_consume_token(-1);
2008 throw new ParseException();
2010 } catch (ParseException e) {
2011 errorMessage = "';' expected";
2013 {if (true) throw e;}
2017 jj_la1[68] = jj_gen;
2018 jj_consume_token(-1);
2019 throw new ParseException();
2023 static final public String PrintExpression() throws ParseException {
2024 StringBuffer buff = new StringBuffer("print ");
2026 jj_consume_token(PRINT);
2027 expr = Expression();
2029 {if (true) return buff.toString();}
2030 throw new Error("Missing return statement in function");
2033 static final public void EchoStatement() throws ParseException {
2034 jj_consume_token(ECHO);
2038 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2043 jj_la1[69] = jj_gen;
2046 jj_consume_token(COMMA);
2050 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2052 jj_consume_token(SEMICOLON);
2055 jj_consume_token(127);
2058 jj_la1[70] = jj_gen;
2059 jj_consume_token(-1);
2060 throw new ParseException();
2062 } catch (ParseException e) {
2063 errorMessage = "';' expected after 'echo' statement";
2065 {if (true) throw e;}
2069 static final public void GlobalStatement() throws ParseException {
2070 jj_consume_token(GLOBAL);
2071 VariableDeclaratorId();
2074 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2079 jj_la1[71] = jj_gen;
2082 jj_consume_token(COMMA);
2083 VariableDeclaratorId();
2086 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2088 jj_consume_token(SEMICOLON);
2091 jj_consume_token(127);
2094 jj_la1[72] = jj_gen;
2095 jj_consume_token(-1);
2096 throw new ParseException();
2098 } catch (ParseException e) {
2099 errorMessage = "';' expected";
2101 {if (true) throw e;}
2105 static final public void StaticStatement() throws ParseException {
2106 jj_consume_token(STATIC);
2107 VariableDeclarator();
2110 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2115 jj_la1[73] = jj_gen;
2118 jj_consume_token(COMMA);
2119 VariableDeclarator();
2122 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2124 jj_consume_token(SEMICOLON);
2127 jj_consume_token(127);
2130 jj_la1[74] = jj_gen;
2131 jj_consume_token(-1);
2132 throw new ParseException();
2134 } catch (ParseException e) {
2135 errorMessage = "';' expected";
2137 {if (true) throw e;}
2141 static final public void LabeledStatement() throws ParseException {
2142 jj_consume_token(IDENTIFIER);
2143 jj_consume_token(COLON);
2147 static final public void Block() throws ParseException {
2149 jj_consume_token(LBRACE);
2150 } catch (ParseException e) {
2151 errorMessage = "'{' expected";
2153 {if (true) throw e;}
2157 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2181 case INTEGER_LITERAL:
2182 case FLOATING_POINT_LITERAL:
2183 case STRING_LITERAL:
2200 jj_la1[75] = jj_gen;
2205 jj_consume_token(RBRACE);
2208 static final public void BlockStatement() throws ParseException {
2209 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2231 case INTEGER_LITERAL:
2232 case FLOATING_POINT_LITERAL:
2233 case STRING_LITERAL:
2253 MethodDeclaration();
2256 jj_la1[76] = jj_gen;
2257 jj_consume_token(-1);
2258 throw new ParseException();
2262 static final public void LocalVariableDeclaration() throws ParseException {
2263 VariableDeclarator();
2266 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2271 jj_la1[77] = jj_gen;
2274 jj_consume_token(COMMA);
2275 VariableDeclarator();
2279 static final public void EmptyStatement() throws ParseException {
2280 jj_consume_token(SEMICOLON);
2283 static final public void StatementExpression() throws ParseException {
2284 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2286 PreIncrementExpression();
2289 PreDecrementExpression();
2297 PrimaryExpression();
2298 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2312 case RSIGNEDSHIFTASSIGN:
2313 case RUNSIGNEDSHIFTASSIGN:
2314 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2316 jj_consume_token(INCR);
2319 jj_consume_token(DECR);
2332 case RSIGNEDSHIFTASSIGN:
2333 case RUNSIGNEDSHIFTASSIGN:
2334 AssignmentOperator();
2338 jj_la1[78] = jj_gen;
2339 jj_consume_token(-1);
2340 throw new ParseException();
2344 jj_la1[79] = jj_gen;
2349 jj_la1[80] = jj_gen;
2350 jj_consume_token(-1);
2351 throw new ParseException();
2355 static final public void SwitchStatement() throws ParseException {
2356 jj_consume_token(SWITCH);
2357 jj_consume_token(LPAREN);
2359 jj_consume_token(RPAREN);
2360 jj_consume_token(LBRACE);
2363 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2369 jj_la1[81] = jj_gen;
2375 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2399 case INTEGER_LITERAL:
2400 case FLOATING_POINT_LITERAL:
2401 case STRING_LITERAL:
2418 jj_la1[82] = jj_gen;
2424 jj_consume_token(RBRACE);
2427 static final public void SwitchLabel() throws ParseException {
2428 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2430 jj_consume_token(CASE);
2432 jj_consume_token(COLON);
2435 jj_consume_token(_DEFAULT);
2436 jj_consume_token(COLON);
2439 jj_la1[83] = jj_gen;
2440 jj_consume_token(-1);
2441 throw new ParseException();
2445 static final public void IfStatement() throws ParseException {
2446 jj_consume_token(IF);
2451 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2456 jj_la1[84] = jj_gen;
2461 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2463 jj_consume_token(ELSE);
2467 jj_la1[85] = jj_gen;
2472 static final public void Condition(String keyword) throws ParseException {
2474 jj_consume_token(LPAREN);
2475 } catch (ParseException e) {
2476 errorMessage = "'(' expected after " + keyword + " keyword";
2478 {if (true) throw e;}
2482 jj_consume_token(RPAREN);
2483 } catch (ParseException e) {
2484 errorMessage = "')' expected after " + keyword + " keyword";
2486 {if (true) throw e;}
2490 static final public void ElseIfStatement() throws ParseException {
2491 jj_consume_token(ELSEIF);
2492 Condition("elseif");
2496 static final public void WhileStatement() throws ParseException {
2497 jj_consume_token(WHILE);
2502 static final public void WhileStatement0() throws ParseException {
2503 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2505 jj_consume_token(COLON);
2508 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2530 case INTEGER_LITERAL:
2531 case FLOATING_POINT_LITERAL:
2532 case STRING_LITERAL:
2549 jj_la1[86] = jj_gen;
2554 jj_consume_token(ENDWHILE);
2556 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2558 jj_consume_token(SEMICOLON);
2561 jj_consume_token(127);
2564 jj_la1[87] = jj_gen;
2565 jj_consume_token(-1);
2566 throw new ParseException();
2568 } catch (ParseException e) {
2569 errorMessage = "';' expected";
2571 {if (true) throw e;}
2595 case INTEGER_LITERAL:
2596 case FLOATING_POINT_LITERAL:
2597 case STRING_LITERAL:
2614 jj_la1[88] = jj_gen;
2615 jj_consume_token(-1);
2616 throw new ParseException();
2620 static final public void DoStatement() throws ParseException {
2621 jj_consume_token(DO);
2623 jj_consume_token(WHILE);
2626 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2628 jj_consume_token(SEMICOLON);
2631 jj_consume_token(127);
2634 jj_la1[89] = jj_gen;
2635 jj_consume_token(-1);
2636 throw new ParseException();
2638 } catch (ParseException e) {
2639 errorMessage = "';' expected";
2641 {if (true) throw e;}
2645 static final public void ForStatement() throws ParseException {
2646 jj_consume_token(FOR);
2647 jj_consume_token(LPAREN);
2648 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2660 jj_la1[90] = jj_gen;
2663 jj_consume_token(SEMICOLON);
2664 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2671 case INTEGER_LITERAL:
2672 case FLOATING_POINT_LITERAL:
2673 case STRING_LITERAL:
2688 jj_la1[91] = jj_gen;
2691 jj_consume_token(SEMICOLON);
2692 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2704 jj_la1[92] = jj_gen;
2707 jj_consume_token(RPAREN);
2711 static final public void ForInit() throws ParseException {
2712 if (jj_2_7(2147483647)) {
2713 LocalVariableDeclaration();
2715 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2724 StatementExpressionList();
2727 jj_la1[93] = jj_gen;
2728 jj_consume_token(-1);
2729 throw new ParseException();
2734 static final public void StatementExpressionList() throws ParseException {
2735 StatementExpression();
2738 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2743 jj_la1[94] = jj_gen;
2746 jj_consume_token(COMMA);
2747 StatementExpression();
2751 static final public void ForUpdate() throws ParseException {
2752 StatementExpressionList();
2755 static final public void BreakStatement() throws ParseException {
2756 jj_consume_token(BREAK);
2757 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2759 jj_consume_token(IDENTIFIER);
2762 jj_la1[95] = jj_gen;
2765 jj_consume_token(SEMICOLON);
2768 static final public void ContinueStatement() throws ParseException {
2769 jj_consume_token(CONTINUE);
2770 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2772 jj_consume_token(IDENTIFIER);
2775 jj_la1[96] = jj_gen;
2778 jj_consume_token(SEMICOLON);
2781 static final public void ReturnStatement() throws ParseException {
2782 jj_consume_token(RETURN);
2783 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2790 case INTEGER_LITERAL:
2791 case FLOATING_POINT_LITERAL:
2792 case STRING_LITERAL:
2807 jj_la1[97] = jj_gen;
2810 jj_consume_token(SEMICOLON);
2813 static final private boolean jj_2_1(int xla) {
2814 jj_la = xla; jj_lastpos = jj_scanpos = token;
2815 boolean retval = !jj_3_1();
2820 static final private boolean jj_2_2(int xla) {
2821 jj_la = xla; jj_lastpos = jj_scanpos = token;
2822 boolean retval = !jj_3_2();
2827 static final private boolean jj_2_3(int xla) {
2828 jj_la = xla; jj_lastpos = jj_scanpos = token;
2829 boolean retval = !jj_3_3();
2834 static final private boolean jj_2_4(int xla) {
2835 jj_la = xla; jj_lastpos = jj_scanpos = token;
2836 boolean retval = !jj_3_4();
2841 static final private boolean jj_2_5(int xla) {
2842 jj_la = xla; jj_lastpos = jj_scanpos = token;
2843 boolean retval = !jj_3_5();
2848 static final private boolean jj_2_6(int xla) {
2849 jj_la = xla; jj_lastpos = jj_scanpos = token;
2850 boolean retval = !jj_3_6();
2855 static final private boolean jj_2_7(int xla) {
2856 jj_la = xla; jj_lastpos = jj_scanpos = token;
2857 boolean retval = !jj_3_7();
2862 static final private boolean jj_3R_135() {
2863 if (jj_scan_token(RSIGNEDSHIFT)) return true;
2864 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2868 static final private boolean jj_3R_139() {
2869 if (jj_scan_token(PLUS)) return true;
2870 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2874 static final private boolean jj_3R_133() {
2879 if (jj_3R_140()) return true;
2880 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2881 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2882 if (jj_3R_132()) return true;
2883 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2887 static final private boolean jj_3R_130() {
2888 if (jj_scan_token(LE)) return true;
2889 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2893 static final private boolean jj_3R_126() {
2894 if (jj_3R_132()) return true;
2895 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2899 if (jj_3R_133()) { jj_scanpos = xsp; break; }
2900 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2905 static final private boolean jj_3_2() {
2906 if (jj_scan_token(COMMA)) return true;
2907 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2908 if (jj_3R_33()) return true;
2909 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2913 static final private boolean jj_3R_112() {
2914 if (jj_3R_33()) return true;
2915 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2919 if (jj_3_2()) { jj_scanpos = xsp; break; }
2920 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2925 static final private boolean jj_3R_134() {
2926 if (jj_scan_token(LSHIFT)) return true;
2927 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2931 static final private boolean jj_3R_127() {
2938 if (jj_3R_136()) return true;
2939 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2940 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2941 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2942 if (jj_3R_126()) return true;
2943 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2947 static final private boolean jj_3R_129() {
2948 if (jj_scan_token(GT)) return true;
2949 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2953 static final private boolean jj_3R_122() {
2954 if (jj_3R_126()) return true;
2955 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2959 if (jj_3R_127()) { jj_scanpos = xsp; break; }
2960 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2965 static final private boolean jj_3R_105() {
2966 if (jj_scan_token(LPAREN)) return true;
2967 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2970 if (jj_3R_112()) jj_scanpos = xsp;
2971 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2972 if (jj_scan_token(RPAREN)) return true;
2973 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2977 static final private boolean jj_3R_119() {
2978 if (jj_scan_token(ARRAYASSIGN)) return true;
2979 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2980 if (jj_3R_35()) return true;
2981 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2985 static final private boolean jj_3R_128() {
2986 if (jj_scan_token(LT)) return true;
2987 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2991 static final private boolean jj_3R_33() {
2992 if (jj_3R_35()) return true;
2993 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2996 if (jj_3R_119()) jj_scanpos = xsp;
2997 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3001 static final private boolean jj_3R_123() {
3010 if (jj_3R_131()) return true;
3011 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3012 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3013 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3014 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3015 if (jj_3R_122()) return true;
3016 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3020 static final private boolean jj_3R_125() {
3021 if (jj_scan_token(NE)) return true;
3022 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3026 static final private boolean jj_3R_120() {
3027 if (jj_3R_122()) return true;
3028 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3032 if (jj_3R_123()) { jj_scanpos = xsp; break; }
3033 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3038 static final private boolean jj_3R_109() {
3039 if (jj_3R_54()) return true;
3040 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3044 static final private boolean jj_3R_37() {
3045 if (jj_scan_token(127)) return true;
3046 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3050 static final private boolean jj_3R_88() {
3051 if (jj_3R_95()) return true;
3052 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3056 static final private boolean jj_3R_87() {
3057 if (jj_3R_94()) return true;
3058 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3062 static final private boolean jj_3R_69() {
3067 if (jj_3R_88()) return true;
3068 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3069 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3073 static final private boolean jj_3R_108() {
3074 if (jj_scan_token(LBRACE)) return true;
3075 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3076 if (jj_3R_35()) return true;
3077 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3078 if (jj_scan_token(RBRACE)) return true;
3079 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3083 static final private boolean jj_3R_124() {
3084 if (jj_scan_token(EQ)) return true;
3085 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3089 static final private boolean jj_3_6() {
3090 if (jj_3R_38()) return true;
3091 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3095 static final private boolean jj_3R_121() {
3100 if (jj_3R_125()) return true;
3101 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3102 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3103 if (jj_3R_120()) return true;
3104 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3108 static final private boolean jj_3R_36() {
3109 if (jj_scan_token(SEMICOLON)) return true;
3110 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3114 static final private boolean jj_3R_117() {
3115 if (jj_3R_120()) return true;
3116 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3120 if (jj_3R_121()) { jj_scanpos = xsp; break; }
3121 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3126 static final private boolean jj_3R_64() {
3127 if (jj_scan_token(DOLLAR_ID)) return true;
3128 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3131 if (jj_3R_109()) jj_scanpos = xsp;
3132 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3136 static final private boolean jj_3_5() {
3137 if (jj_3R_35()) return true;
3138 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3143 if (jj_3R_37()) return true;
3144 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3145 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3149 static final private boolean jj_3R_63() {
3150 if (jj_scan_token(DOLLAR)) return true;
3151 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3152 if (jj_3R_54()) return true;
3153 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3157 static final private boolean jj_3R_93() {
3158 if (jj_scan_token(LBRACE)) return true;
3159 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3160 if (jj_3R_35()) return true;
3161 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3162 if (jj_scan_token(RBRACE)) return true;
3163 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3167 static final private boolean jj_3R_62() {
3168 if (jj_scan_token(IDENTIFIER)) return true;
3169 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3172 if (jj_3R_108()) jj_scanpos = xsp;
3173 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3177 static final private boolean jj_3R_61() {
3178 if (jj_scan_token(LBRACE)) return true;
3179 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3180 if (jj_3R_35()) return true;
3181 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3182 if (jj_scan_token(RBRACE)) return true;
3183 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3187 static final private boolean jj_3R_54() {
3196 if (jj_3R_64()) return true;
3197 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3198 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3199 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3200 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3204 static final private boolean jj_3R_118() {
3205 if (jj_scan_token(BIT_AND)) return true;
3206 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3207 if (jj_3R_117()) return true;
3208 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3212 static final private boolean jj_3R_113() {
3213 if (jj_3R_117()) return true;
3214 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3218 if (jj_3R_118()) { jj_scanpos = xsp; break; }
3219 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3224 static final private boolean jj_3R_183() {
3225 if (jj_scan_token(COMMA)) return true;
3226 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3227 if (jj_3R_35()) return true;
3228 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3232 static final private boolean jj_3R_86() {
3233 if (jj_scan_token(DOLLAR)) return true;
3234 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3235 if (jj_3R_54()) return true;
3236 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3240 static final private boolean jj_3R_182() {
3241 if (jj_3R_35()) return true;
3242 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3246 if (jj_3R_183()) { jj_scanpos = xsp; break; }
3247 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3252 static final private boolean jj_3R_85() {
3253 if (jj_scan_token(DOLLAR_ID)) return true;
3254 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3257 if (jj_3R_93()) jj_scanpos = xsp;
3258 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3262 static final private boolean jj_3R_68() {
3267 if (jj_3R_86()) return true;
3268 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3269 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3273 static final private boolean jj_3R_181() {
3274 if (jj_3R_182()) return true;
3275 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3279 static final private boolean jj_3R_114() {
3280 if (jj_scan_token(XOR)) return true;
3281 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3282 if (jj_3R_113()) return true;
3283 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3287 static final private boolean jj_3R_106() {
3288 if (jj_3R_113()) return true;
3289 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3293 if (jj_3R_114()) { jj_scanpos = xsp; break; }
3294 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3299 static final private boolean jj_3_1() {
3300 if (jj_3R_32()) return true;
3301 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3305 static final private boolean jj_3R_179() {
3306 if (jj_scan_token(LPAREN)) return true;
3307 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3310 if (jj_3R_181()) jj_scanpos = xsp;
3311 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3312 if (jj_scan_token(RPAREN)) return true;
3313 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3317 static final private boolean jj_3R_59() {
3318 if (jj_3R_68()) return true;
3319 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3323 if (jj_3_1()) { jj_scanpos = xsp; break; }
3324 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3329 static final private boolean jj_3R_111() {
3330 if (jj_scan_token(NULL)) return true;
3331 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3335 static final private boolean jj_3R_107() {
3336 if (jj_scan_token(BIT_OR)) return true;
3337 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3338 if (jj_3R_106()) return true;
3339 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3343 static final private boolean jj_3R_116() {
3344 if (jj_scan_token(FALSE)) return true;
3345 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3349 static final private boolean jj_3_7() {
3350 if (jj_3R_39()) return true;
3351 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3355 static final private boolean jj_3R_96() {
3356 if (jj_3R_106()) return true;
3357 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3361 if (jj_3R_107()) { jj_scanpos = xsp; break; }
3362 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3367 static final private boolean jj_3R_110() {
3372 if (jj_3R_116()) return true;
3373 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3374 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3378 static final private boolean jj_3R_115() {
3379 if (jj_scan_token(TRUE)) return true;
3380 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3384 static final private boolean jj_3R_60() {
3385 if (jj_scan_token(ASSIGN)) return true;
3386 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3387 if (jj_3R_69()) return true;
3388 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3392 static final private boolean jj_3R_104() {
3393 if (jj_3R_111()) return true;
3394 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3398 static final private boolean jj_3R_52() {
3399 if (jj_3R_59()) return true;
3400 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3403 if (jj_3R_60()) jj_scanpos = xsp;
3404 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3408 static final private boolean jj_3R_103() {
3409 if (jj_3R_110()) return true;
3410 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3414 static final private boolean jj_3R_97() {
3415 if (jj_scan_token(DOT)) return true;
3416 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3417 if (jj_3R_96()) return true;
3418 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3422 static final private boolean jj_3R_99() {
3423 if (jj_scan_token(_ANDL)) return true;
3424 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3428 static final private boolean jj_3R_102() {
3429 if (jj_scan_token(STRING_LITERAL)) return true;
3430 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3434 static final private boolean jj_3R_101() {
3435 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
3436 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3440 static final private boolean jj_3R_89() {
3441 if (jj_3R_96()) return true;
3442 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3446 if (jj_3R_97()) { jj_scanpos = xsp; break; }
3447 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3452 static final private boolean jj_3R_94() {
3463 if (jj_3R_104()) return true;
3464 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3465 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3466 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3467 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3468 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3472 static final private boolean jj_3R_100() {
3473 if (jj_scan_token(INTEGER_LITERAL)) return true;
3474 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3478 static final private boolean jj_3R_55() {
3479 if (jj_3R_35()) return true;
3480 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3484 static final private boolean jj_3R_98() {
3485 if (jj_scan_token(SC_AND)) return true;
3486 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3490 static final private boolean jj_3R_92() {
3491 if (jj_scan_token(_ORL)) return true;
3492 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3496 static final private boolean jj_3R_90() {
3501 if (jj_3R_99()) return true;
3502 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3503 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3504 if (jj_3R_89()) return true;
3505 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3509 static final private boolean jj_3R_70() {
3510 if (jj_3R_89()) return true;
3511 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3515 if (jj_3R_90()) { jj_scanpos = xsp; break; }
3516 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3521 static final private boolean jj_3R_41() {
3522 if (jj_scan_token(LBRACKET)) return true;
3523 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3526 if (jj_3R_55()) jj_scanpos = xsp;
3527 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3528 if (jj_scan_token(RBRACKET)) return true;
3529 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3533 static final private boolean jj_3R_40() {
3534 if (jj_scan_token(CLASSACCESS)) return true;
3535 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3536 if (jj_3R_54()) return true;
3537 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3541 static final private boolean jj_3R_32() {
3546 if (jj_3R_41()) return true;
3547 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3548 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3552 static final private boolean jj_3R_66() {
3553 if (jj_scan_token(HOOK)) return true;
3554 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3555 if (jj_3R_35()) return true;
3556 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3557 if (jj_scan_token(COLON)) return true;
3558 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3559 if (jj_3R_57()) return true;
3560 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3564 static final private boolean jj_3R_176() {
3565 if (jj_3R_32()) return true;
3566 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3570 static final private boolean jj_3R_175() {
3571 if (jj_3R_179()) return true;
3572 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3576 static final private boolean jj_3R_173() {
3581 if (jj_3R_176()) return true;
3582 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3583 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3587 static final private boolean jj_3R_91() {
3588 if (jj_scan_token(SC_OR)) return true;
3589 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3593 static final private boolean jj_3R_71() {
3598 if (jj_3R_92()) return true;
3599 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3600 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3601 if (jj_3R_70()) return true;
3602 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3606 static final private boolean jj_3R_65() {
3607 if (jj_3R_70()) return true;
3608 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3612 if (jj_3R_71()) { jj_scanpos = xsp; break; }
3613 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3618 static final private boolean jj_3R_178() {
3619 if (jj_3R_59()) return true;
3620 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3624 static final private boolean jj_3R_177() {
3625 if (jj_scan_token(IDENTIFIER)) return true;
3626 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3630 static final private boolean jj_3R_174() {
3635 if (jj_3R_178()) return true;
3636 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3637 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3641 static final private boolean jj_3R_168() {
3642 if (jj_3R_59()) return true;
3643 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3647 static final private boolean jj_3R_57() {
3648 if (jj_3R_65()) return true;
3649 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3652 if (jj_3R_66()) jj_scanpos = xsp;
3653 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3657 static final private boolean jj_3R_171() {
3658 if (jj_scan_token(BIT_AND)) return true;
3659 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3663 static final private boolean jj_3R_167() {
3666 if (jj_3R_171()) jj_scanpos = xsp;
3667 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3668 if (jj_scan_token(NEW)) return true;
3669 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3670 if (jj_3R_174()) return true;
3671 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3675 static final private boolean jj_3R_170() {
3676 if (jj_scan_token(DECR)) return true;
3677 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3681 static final private boolean jj_3R_164() {
3688 if (jj_3R_168()) return true;
3689 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3690 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3691 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3695 static final private boolean jj_3R_166() {
3696 if (jj_scan_token(IDENTIFIER)) return true;
3697 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3701 static final private boolean jj_3R_84() {
3702 if (jj_scan_token(DOTASSIGN)) return true;
3703 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3707 static final private boolean jj_3R_83() {
3708 if (jj_scan_token(ORASSIGN)) return true;
3709 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3713 static final private boolean jj_3R_82() {
3714 if (jj_scan_token(XORASSIGN)) return true;
3715 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3719 static final private boolean jj_3R_81() {
3720 if (jj_scan_token(ANDASSIGN)) return true;
3721 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3725 static final private boolean jj_3R_95() {
3726 if (jj_scan_token(ARRAY)) return true;
3727 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3728 if (jj_3R_105()) return true;
3729 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3733 static final private boolean jj_3R_80() {
3734 if (jj_scan_token(RUNSIGNEDSHIFTASSIGN)) return true;
3735 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3739 static final private boolean jj_3R_53() {
3740 if (jj_scan_token(COMMA)) return true;
3741 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3742 if (jj_3R_52()) return true;
3743 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3747 static final private boolean jj_3R_79() {
3748 if (jj_scan_token(RSIGNEDSHIFTASSIGN)) return true;
3749 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3753 static final private boolean jj_3R_78() {
3754 if (jj_scan_token(LSHIFTASSIGN)) return true;
3755 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3759 static final private boolean jj_3R_77() {
3760 if (jj_scan_token(MINUSASSIGN)) return true;
3761 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3765 static final private boolean jj_3R_169() {
3766 if (jj_scan_token(INCR)) return true;
3767 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3771 static final private boolean jj_3R_161() {
3772 if (jj_3R_95()) return true;
3773 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3777 static final private boolean jj_3R_165() {
3782 if (jj_3R_170()) return true;
3783 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3784 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3788 static final private boolean jj_3R_172() {
3789 if (jj_3R_173()) return true;
3790 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3794 static final private boolean jj_3R_76() {
3795 if (jj_scan_token(PLUSASSIGN)) return true;
3796 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3800 static final private boolean jj_3R_75() {
3801 if (jj_scan_token(REMASSIGN)) return true;
3802 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3806 static final private boolean jj_3R_160() {
3807 if (jj_3R_164()) return true;
3808 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3812 if (jj_3R_172()) { jj_scanpos = xsp; break; }
3813 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3818 static final private boolean jj_3R_74() {
3819 if (jj_scan_token(SLASHASSIGN)) return true;
3820 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3824 static final private boolean jj_3R_73() {
3825 if (jj_scan_token(STARASSIGN)) return true;
3826 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3830 static final private boolean jj_3R_180() {
3831 if (jj_3R_173()) return true;
3832 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3836 static final private boolean jj_3R_72() {
3837 if (jj_scan_token(ASSIGN)) return true;
3838 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3842 static final private boolean jj_3R_67() {
3869 if (jj_3R_84()) return true;
3870 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3871 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3872 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3873 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3874 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3875 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3876 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3877 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3878 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3879 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3880 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3881 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3882 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3886 static final private boolean jj_3_4() {
3887 if (jj_scan_token(IDENTIFIER)) return true;
3888 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3889 if (jj_scan_token(STATICCLASSACCESS)) return true;
3890 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3891 if (jj_3R_174()) return true;
3892 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3896 if (jj_3R_180()) { jj_scanpos = xsp; break; }
3897 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3902 static final private boolean jj_3R_154() {
3909 if (jj_3R_161()) return true;
3910 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3911 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3912 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3916 static final private boolean jj_3R_39() {
3917 if (jj_3R_52()) return true;
3918 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3922 if (jj_3R_53()) { jj_scanpos = xsp; break; }
3923 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3928 static final private boolean jj_3R_58() {
3929 if (jj_3R_67()) return true;
3930 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3931 if (jj_3R_35()) return true;
3932 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3936 static final private boolean jj_3R_163() {
3937 if (jj_3R_154()) return true;
3938 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3941 if (jj_3R_165()) jj_scanpos = xsp;
3942 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3946 static final private boolean jj_3R_51() {
3947 if (jj_3R_57()) return true;
3948 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3951 if (jj_3R_58()) jj_scanpos = xsp;
3952 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3956 static final private boolean jj_3R_35() {
3961 if (jj_3R_51()) return true;
3962 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3963 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3967 static final private boolean jj_3R_50() {
3968 if (jj_3R_56()) return true;
3969 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3973 static final private boolean jj_3R_162() {
3974 if (jj_scan_token(LPAREN)) return true;
3975 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3976 if (jj_3R_34()) return true;
3977 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3978 if (jj_scan_token(RPAREN)) return true;
3979 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3980 if (jj_3R_137()) return true;
3981 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3985 static final private boolean jj_3R_49() {
3986 if (jj_scan_token(INTEGER)) return true;
3987 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3991 static final private boolean jj_3R_38() {
3992 if (jj_scan_token(IDENTIFIER)) return true;
3993 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3994 if (jj_scan_token(COLON)) return true;
3995 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3999 static final private boolean jj_3_3() {
4000 if (jj_scan_token(LPAREN)) return true;
4001 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4002 if (jj_3R_34()) return true;
4003 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4004 if (jj_scan_token(RPAREN)) return true;
4005 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4009 static final private boolean jj_3R_48() {
4010 if (jj_scan_token(INT)) return true;
4011 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4015 static final private boolean jj_3R_159() {
4016 if (jj_scan_token(LPAREN)) return true;
4017 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4018 if (jj_3R_35()) return true;
4019 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4020 if (jj_scan_token(RPAREN)) return true;
4021 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4025 static final private boolean jj_3R_47() {
4026 if (jj_scan_token(FLOAT)) return true;
4027 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4031 static final private boolean jj_3R_158() {
4032 if (jj_3R_94()) return true;
4033 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4037 static final private boolean jj_3R_46() {
4038 if (jj_scan_token(DOUBLE)) return true;
4039 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4043 static final private boolean jj_3R_157() {
4044 if (jj_3R_163()) return true;
4045 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4049 static final private boolean jj_3R_45() {
4050 if (jj_scan_token(REAL)) return true;
4051 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4055 static final private boolean jj_3R_156() {
4056 if (jj_3R_162()) return true;
4057 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4061 static final private boolean jj_3R_44() {
4062 if (jj_scan_token(BOOLEAN)) return true;
4063 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4067 static final private boolean jj_3R_153() {
4078 if (jj_3R_159()) return true;
4079 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4080 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4081 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4082 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4083 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4087 static final private boolean jj_3R_155() {
4088 if (jj_scan_token(BANG)) return true;
4089 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4090 if (jj_3R_137()) return true;
4091 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4095 static final private boolean jj_3R_43() {
4096 if (jj_scan_token(BOOL)) return true;
4097 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4101 static final private boolean jj_3R_34() {
4118 if (jj_3R_49()) return true;
4119 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4120 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4121 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4122 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4123 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4124 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4125 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4126 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4130 static final private boolean jj_3R_42() {
4131 if (jj_scan_token(STRING)) return true;
4132 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4136 static final private boolean jj_3R_152() {
4137 if (jj_scan_token(DECR)) return true;
4138 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4139 if (jj_3R_154()) return true;
4140 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4144 static final private boolean jj_3R_148() {
4145 if (jj_scan_token(REM)) return true;
4146 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4150 static final private boolean jj_3R_151() {
4151 if (jj_scan_token(INCR)) return true;
4152 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4153 if (jj_3R_154()) return true;
4154 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4158 static final private boolean jj_3R_150() {
4159 if (jj_scan_token(MINUS)) return true;
4160 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4164 static final private boolean jj_3R_145() {
4165 if (jj_3R_153()) return true;
4166 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4170 static final private boolean jj_3R_144() {
4171 if (jj_3R_152()) return true;
4172 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4176 static final private boolean jj_3R_143() {
4177 if (jj_3R_151()) return true;
4178 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4182 static final private boolean jj_3R_147() {
4183 if (jj_scan_token(SLASH)) return true;
4184 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4188 static final private boolean jj_3R_56() {
4189 if (jj_scan_token(PRINT)) return true;
4190 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4191 if (jj_3R_35()) return true;
4192 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4196 static final private boolean jj_3R_149() {
4197 if (jj_scan_token(PLUS)) return true;
4198 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4202 static final private boolean jj_3R_142() {
4207 if (jj_3R_150()) return true;
4208 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4209 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4210 if (jj_3R_137()) return true;
4211 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4215 static final private boolean jj_3R_137() {
4226 if (jj_3R_145()) return true;
4227 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4228 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4229 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4230 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4231 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4235 static final private boolean jj_3R_141() {
4236 if (jj_scan_token(AT)) return true;
4237 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4238 if (jj_3R_137()) return true;
4239 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4243 static final private boolean jj_3R_136() {
4244 if (jj_scan_token(RUNSIGNEDSHIFT)) return true;
4245 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4249 static final private boolean jj_3R_140() {
4250 if (jj_scan_token(MINUS)) return true;
4251 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4255 static final private boolean jj_3R_146() {
4256 if (jj_scan_token(STAR)) return true;
4257 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4261 static final private boolean jj_3R_138() {
4268 if (jj_3R_148()) return true;
4269 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4270 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4271 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4272 if (jj_3R_137()) return true;
4273 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4277 static final private boolean jj_3R_131() {
4278 if (jj_scan_token(GE)) return true;
4279 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4283 static final private boolean jj_3R_132() {
4284 if (jj_3R_137()) return true;
4285 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4289 if (jj_3R_138()) { jj_scanpos = xsp; break; }
4290 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4295 static private boolean jj_initialized_once = false;
4296 static public PHPParserTokenManager token_source;
4297 static SimpleCharStream jj_input_stream;
4298 static public Token token, jj_nt;
4299 static private int jj_ntk;
4300 static private Token jj_scanpos, jj_lastpos;
4301 static private int jj_la;
4302 static public boolean lookingAhead = false;
4303 static private boolean jj_semLA;
4304 static private int jj_gen;
4305 static final private int[] jj_la1 = new int[98];
4306 static private int[] jj_la1_0;
4307 static private int[] jj_la1_1;
4308 static private int[] jj_la1_2;
4309 static private int[] jj_la1_3;
4316 private static void jj_la1_0() {
4317 jj_la1_0 = new int[] {0x2,0x7fcb0000,0x0,0x60000,0x60000,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,0x0,0x80000000,0x80000000,0x400000,0x0,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,};
4319 private static void jj_la1_1() {
4320 jj_la1_1 = new int[] {0x0,0xd76a4,0x100,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,0x0,0x0,0x0,0x1000,0x0,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,};
4322 private static void jj_la1_2() {
4323 jj_la1_2 = new int[] {0x0,0x11914451,0x0,0x0,0x0,0x200000,0x2000000,0x10000,0x1000000,0x10000,0x1010400,0x1010400,0x51,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,0x0,0x11804451,0x10000000,0x1004451,0x0,0x0,0x44000,0x44000,0x1000400,0x0,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,};
4325 private static void jj_la1_3() {
4326 jj_la1_3 = new int[] {0x0,0x400009e0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000000,0x0,0x40000000,0x40000000,0x0,0x0,0x400009e0,0x800,0x0,0x40000800,0x800,0x0,0x3ffc0000,0x400009e0,0x3ffc0000,0x0,0x8,0x8,0x10,0x10,0x0,0x1000,0x2000,0x800,0x4,0x4,0x3,0x3,0x38000,0x38000,0x180,0x180,0x4600,0x4600,0x180,0x400009e0,0x0,0x40000800,0x60,0x60,0x0,0x0,0x40000800,0x800,0x40000800,0x40000000,0x0,0x400009e0,0x0,0x0,0x0,0x400009e0,0x0,0x80000000,0x0,0x40000860,0x80000000,0x80000000,0x80000000,0x80000000,0x0,0x0,0x80000000,0x0,0x80000000,0x0,0x80000000,0x400009e0,0x400009e0,0x0,0x3ffc0060,0x3ffc0060,0x40000860,0x0,0x400009e0,0x0,0x0,0x0,0x400009e0,0x80000000,0x400009e0,0x80000000,0x40000860,0x400009e0,0x40000860,0x40000860,0x0,0x0,0x0,0x400009e0,};
4328 static final private JJCalls[] jj_2_rtns = new JJCalls[7];
4329 static private boolean jj_rescan = false;
4330 static private int jj_gc = 0;
4332 public PHPParser(java.io.InputStream stream) {
4333 if (jj_initialized_once) {
4334 System.out.println("ERROR: Second call to constructor of static parser. You must");
4335 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
4336 System.out.println(" during parser generation.");
4339 jj_initialized_once = true;
4340 jj_input_stream = new SimpleCharStream(stream, 1, 1);
4341 token_source = new PHPParserTokenManager(jj_input_stream);
4342 token = new Token();
4345 for (int i = 0; i < 98; i++) jj_la1[i] = -1;
4346 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4349 static public void ReInit(java.io.InputStream stream) {
4350 jj_input_stream.ReInit(stream, 1, 1);
4351 token_source.ReInit(jj_input_stream);
4352 token = new Token();
4355 for (int i = 0; i < 98; i++) jj_la1[i] = -1;
4356 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4359 public PHPParser(java.io.Reader stream) {
4360 if (jj_initialized_once) {
4361 System.out.println("ERROR: Second call to constructor of static parser. You must");
4362 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
4363 System.out.println(" during parser generation.");
4366 jj_initialized_once = true;
4367 jj_input_stream = new SimpleCharStream(stream, 1, 1);
4368 token_source = new PHPParserTokenManager(jj_input_stream);
4369 token = new Token();
4372 for (int i = 0; i < 98; i++) jj_la1[i] = -1;
4373 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4376 static public void ReInit(java.io.Reader stream) {
4377 jj_input_stream.ReInit(stream, 1, 1);
4378 token_source.ReInit(jj_input_stream);
4379 token = new Token();
4382 for (int i = 0; i < 98; i++) jj_la1[i] = -1;
4383 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4386 public PHPParser(PHPParserTokenManager tm) {
4387 if (jj_initialized_once) {
4388 System.out.println("ERROR: Second call to constructor of static parser. You must");
4389 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
4390 System.out.println(" during parser generation.");
4393 jj_initialized_once = true;
4395 token = new Token();
4398 for (int i = 0; i < 98; i++) jj_la1[i] = -1;
4399 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4402 public void ReInit(PHPParserTokenManager tm) {
4404 token = new Token();
4407 for (int i = 0; i < 98; i++) jj_la1[i] = -1;
4408 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4411 static final private Token jj_consume_token(int kind) throws ParseException {
4413 if ((oldToken = token).next != null) token = token.next;
4414 else token = token.next = token_source.getNextToken();
4416 if (token.kind == kind) {
4418 if (++jj_gc > 100) {
4420 for (int i = 0; i < jj_2_rtns.length; i++) {
4421 JJCalls c = jj_2_rtns[i];
4423 if (c.gen < jj_gen) c.first = null;
4432 throw generateParseException();
4435 static final private boolean jj_scan_token(int kind) {
4436 if (jj_scanpos == jj_lastpos) {
4438 if (jj_scanpos.next == null) {
4439 jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
4441 jj_lastpos = jj_scanpos = jj_scanpos.next;
4444 jj_scanpos = jj_scanpos.next;
4447 int i = 0; Token tok = token;
4448 while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
4449 if (tok != null) jj_add_error_token(kind, i);
4451 return (jj_scanpos.kind != kind);
4454 static final public Token getNextToken() {
4455 if (token.next != null) token = token.next;
4456 else token = token.next = token_source.getNextToken();
4462 static final public Token getToken(int index) {
4463 Token t = lookingAhead ? jj_scanpos : token;
4464 for (int i = 0; i < index; i++) {
4465 if (t.next != null) t = t.next;
4466 else t = t.next = token_source.getNextToken();
4471 static final private int jj_ntk() {
4472 if ((jj_nt=token.next) == null)
4473 return (jj_ntk = (token.next=token_source.getNextToken()).kind);
4475 return (jj_ntk = jj_nt.kind);
4478 static private java.util.Vector jj_expentries = new java.util.Vector();
4479 static private int[] jj_expentry;
4480 static private int jj_kind = -1;
4481 static private int[] jj_lasttokens = new int[100];
4482 static private int jj_endpos;
4484 static private void jj_add_error_token(int kind, int pos) {
4485 if (pos >= 100) return;
4486 if (pos == jj_endpos + 1) {
4487 jj_lasttokens[jj_endpos++] = kind;
4488 } else if (jj_endpos != 0) {
4489 jj_expentry = new int[jj_endpos];
4490 for (int i = 0; i < jj_endpos; i++) {
4491 jj_expentry[i] = jj_lasttokens[i];
4493 boolean exists = false;
4494 for (java.util.Enumeration enum = jj_expentries.elements(); enum.hasMoreElements();) {
4495 int[] oldentry = (int[])(enum.nextElement());
4496 if (oldentry.length == jj_expentry.length) {
4498 for (int i = 0; i < jj_expentry.length; i++) {
4499 if (oldentry[i] != jj_expentry[i]) {
4507 if (!exists) jj_expentries.addElement(jj_expentry);
4508 if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
4512 static public ParseException generateParseException() {
4513 jj_expentries.removeAllElements();
4514 boolean[] la1tokens = new boolean[128];
4515 for (int i = 0; i < 128; i++) {
4516 la1tokens[i] = false;
4519 la1tokens[jj_kind] = true;
4522 for (int i = 0; i < 98; i++) {
4523 if (jj_la1[i] == jj_gen) {
4524 for (int j = 0; j < 32; j++) {
4525 if ((jj_la1_0[i] & (1<<j)) != 0) {
4526 la1tokens[j] = true;
4528 if ((jj_la1_1[i] & (1<<j)) != 0) {
4529 la1tokens[32+j] = true;
4531 if ((jj_la1_2[i] & (1<<j)) != 0) {
4532 la1tokens[64+j] = true;
4534 if ((jj_la1_3[i] & (1<<j)) != 0) {
4535 la1tokens[96+j] = true;
4540 for (int i = 0; i < 128; i++) {
4542 jj_expentry = new int[1];
4544 jj_expentries.addElement(jj_expentry);
4549 jj_add_error_token(0, 0);
4550 int[][] exptokseq = new int[jj_expentries.size()][];
4551 for (int i = 0; i < jj_expentries.size(); i++) {
4552 exptokseq[i] = (int[])jj_expentries.elementAt(i);
4554 return new ParseException(token, exptokseq, tokenImage);
4557 static final public void enable_tracing() {
4560 static final public void disable_tracing() {
4563 static final private void jj_rescan_token() {
4565 for (int i = 0; i < 7; i++) {
4566 JJCalls p = jj_2_rtns[i];
4568 if (p.gen > jj_gen) {
4569 jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
4571 case 0: jj_3_1(); break;
4572 case 1: jj_3_2(); break;
4573 case 2: jj_3_3(); break;
4574 case 3: jj_3_4(); break;
4575 case 4: jj_3_5(); break;
4576 case 5: jj_3_6(); break;
4577 case 6: jj_3_7(); break;
4581 } while (p != null);
4586 static final private void jj_save(int index, int xla) {
4587 JJCalls p = jj_2_rtns[index];
4588 while (p.gen > jj_gen) {
4589 if (p.next == null) { p = p.next = new JJCalls(); break; }
4592 p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
4595 static final class JJCalls {