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;
395 varName = VariableDeclaratorId();
396 pos = jj_input_stream.tokenBegin;
397 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
399 jj_consume_token(ASSIGN);
401 varValue = VariableInitializer();
402 } catch (ParseException e) {
403 errorMessage = "Literal expression expected in variable initializer";
412 if (varValue == null) {
413 {if (true) return new PHPVarDeclaration(currentSegment,varName,pos);}
415 {if (true) return new PHPVarDeclaration(currentSegment,varName,pos,varValue);}
416 throw new Error("Missing return statement in function");
419 static final public String VariableDeclaratorId() throws ParseException {
421 StringBuffer buff = new StringBuffer();
432 expr = VariableSuffix();
435 {if (true) return buff.toString();}
436 } catch (ParseException e) {
437 errorMessage = "'$' expected for variable identifier";
441 throw new Error("Missing return statement in function");
444 static final public String Variable() throws ParseException {
447 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
449 token = jj_consume_token(DOLLAR_ID);
450 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
452 jj_consume_token(LBRACE);
454 jj_consume_token(RBRACE);
461 {if (true) return token.image;}
463 {if (true) return token + "{" + expr + "}";}
466 jj_consume_token(DOLLAR);
467 expr = VariableName();
468 {if (true) return "$" + expr;}
472 jj_consume_token(-1);
473 throw new ParseException();
475 throw new Error("Missing return statement in function");
478 static final public String VariableName() throws ParseException {
481 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
483 jj_consume_token(LBRACE);
485 jj_consume_token(RBRACE);
486 {if (true) return "{"+expr+"}";}
489 token = jj_consume_token(IDENTIFIER);
490 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
492 jj_consume_token(LBRACE);
494 jj_consume_token(RBRACE);
501 {if (true) return token.image;}
503 {if (true) return token + "{" + expr + "}";}
506 jj_consume_token(DOLLAR);
507 expr = VariableName();
508 {if (true) return "$" + expr;}
511 token = jj_consume_token(DOLLAR_ID);
512 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
517 expr = VariableName();
524 {if (true) return token.image;}
526 {if (true) return token.image + expr;}
530 jj_consume_token(-1);
531 throw new ParseException();
533 throw new Error("Missing return statement in function");
536 static final public String VariableInitializer() throws ParseException {
539 {if (true) return expr;}
540 throw new Error("Missing return statement in function");
543 static final public String ArrayVariable() throws ParseException {
545 StringBuffer buff = new StringBuffer();
548 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
550 jj_consume_token(ARRAYASSIGN);
552 buff.append("=>").append(expr);
558 {if (true) return buff.toString();}
559 throw new Error("Missing return statement in function");
562 static final public String ArrayInitializer() throws ParseException {
564 StringBuffer buff = new StringBuffer("(");
565 jj_consume_token(LPAREN);
566 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
573 case INTEGER_LITERAL:
574 case FLOATING_POINT_LITERAL:
587 expr = ArrayVariable();
596 jj_consume_token(COMMA);
597 expr = ArrayVariable();
598 buff.append(",").append(expr);
605 jj_consume_token(RPAREN);
607 {if (true) return buff.toString();}
608 throw new Error("Missing return statement in function");
611 static final public void MethodDeclaration() throws ParseException {
612 PHPFunctionDeclaration functionDeclaration;
613 jj_consume_token(FUNCTION);
614 functionDeclaration = MethodDeclarator();
615 currentSegment.add(functionDeclaration);
616 currentSegment = functionDeclaration;
618 currentSegment = (PHPSegmentWithChildren) currentSegment.getParent();
621 static final public PHPFunctionDeclaration MethodDeclarator() throws ParseException {
623 StringBuffer methodDeclaration = new StringBuffer();
624 String formalParameters;
625 int pos = jj_input_stream.bufpos;
626 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
628 jj_consume_token(BIT_AND);
629 methodDeclaration.append("&");
635 identifier = jj_consume_token(IDENTIFIER);
636 methodDeclaration.append(identifier);
637 formalParameters = FormalParameters();
638 methodDeclaration.append(formalParameters);
639 {if (true) return new PHPFunctionDeclaration(currentSegment,methodDeclaration.toString(),pos);}
640 throw new Error("Missing return statement in function");
643 static final public String FormalParameters() throws ParseException {
645 final StringBuffer buff = new StringBuffer("(");
647 jj_consume_token(LPAREN);
648 } catch (ParseException e) {
649 errorMessage = "Formal parameter expected after function identifier";
651 jj_consume_token(token.kind);
653 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
657 expr = FormalParameter();
661 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
669 jj_consume_token(COMMA);
670 expr = FormalParameter();
671 buff.append(",").append(expr);
679 jj_consume_token(RPAREN);
680 } catch (ParseException e) {
681 errorMessage = "')' expected";
686 {if (true) return buff.toString();}
687 throw new Error("Missing return statement in function");
690 static final public String FormalParameter() throws ParseException {
691 PHPVarDeclaration variableDeclaration;
692 StringBuffer buff = new StringBuffer();
693 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
695 jj_consume_token(BIT_AND);
702 variableDeclaration = VariableDeclarator();
703 buff.append(variableDeclaration.toString());
704 {if (true) return buff.toString();}
705 throw new Error("Missing return statement in function");
708 static final public String Type() throws ParseException {
709 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
711 jj_consume_token(STRING);
712 {if (true) return "string";}
715 jj_consume_token(BOOL);
716 {if (true) return "bool";}
719 jj_consume_token(BOOLEAN);
720 {if (true) return "boolean";}
723 jj_consume_token(REAL);
724 {if (true) return "real";}
727 jj_consume_token(DOUBLE);
728 {if (true) return "double";}
731 jj_consume_token(FLOAT);
732 {if (true) return "float";}
735 jj_consume_token(INT);
736 {if (true) return "int";}
739 jj_consume_token(INTEGER);
740 {if (true) return "integer";}
744 jj_consume_token(-1);
745 throw new ParseException();
747 throw new Error("Missing return statement in function");
750 static final public String Expression() throws ParseException {
752 String assignOperator = null;
754 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
756 expr = PrintExpression();
757 {if (true) return expr;}
764 case INTEGER_LITERAL:
765 case FLOATING_POINT_LITERAL:
778 expr = ConditionalExpression();
779 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
791 case RSIGNEDSHIFTASSIGN:
792 case RUNSIGNEDSHIFTASSIGN:
793 assignOperator = AssignmentOperator();
794 expr2 = Expression();
801 {if (true) return expr;}
803 {if (true) return expr + assignOperator + expr2;}
808 jj_consume_token(-1);
809 throw new ParseException();
811 throw new Error("Missing return statement in function");
814 static final public String AssignmentOperator() throws ParseException {
815 Token assignOperator;
816 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
818 jj_consume_token(ASSIGN);
819 {if (true) return "=";}
822 jj_consume_token(STARASSIGN);
823 {if (true) return "*=";}
826 jj_consume_token(SLASHASSIGN);
827 {if (true) return "/=";}
830 jj_consume_token(REMASSIGN);
831 {if (true) return "%=";}
834 jj_consume_token(PLUSASSIGN);
835 {if (true) return "+=";}
838 jj_consume_token(MINUSASSIGN);
839 {if (true) return "-=";}
842 jj_consume_token(LSHIFTASSIGN);
843 {if (true) return "<<=";}
845 case RSIGNEDSHIFTASSIGN:
846 jj_consume_token(RSIGNEDSHIFTASSIGN);
847 {if (true) return ">>=";}
849 case RUNSIGNEDSHIFTASSIGN:
850 jj_consume_token(RUNSIGNEDSHIFTASSIGN);
851 {if (true) return ">>>=";}
854 jj_consume_token(ANDASSIGN);
855 {if (true) return "&=";}
858 jj_consume_token(XORASSIGN);
859 {if (true) return "|=";}
862 jj_consume_token(ORASSIGN);
863 {if (true) return "|=";}
866 jj_consume_token(DOTASSIGN);
867 {if (true) return ".=";}
871 jj_consume_token(-1);
872 throw new ParseException();
874 throw new Error("Missing return statement in function");
877 static final public String ConditionalExpression() throws ParseException {
881 expr = ConditionalOrExpression();
882 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
884 jj_consume_token(HOOK);
885 expr2 = Expression();
886 jj_consume_token(COLON);
887 expr3 = ConditionalExpression();
894 {if (true) return expr;}
896 {if (true) return expr + "?" + expr2 + ":" + expr3;}
898 throw new Error("Missing return statement in function");
901 static final public String ConditionalOrExpression() throws ParseException {
905 StringBuffer buff = new StringBuffer();
906 expr = ConditionalAndExpression();
910 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
919 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
921 operator = jj_consume_token(SC_OR);
924 operator = jj_consume_token(_ORL);
928 jj_consume_token(-1);
929 throw new ParseException();
931 expr2 = ConditionalAndExpression();
932 buff.append(operator.image);
935 {if (true) return buff.toString();}
936 throw new Error("Missing return statement in function");
939 static final public String ConditionalAndExpression() throws ParseException {
943 StringBuffer buff = new StringBuffer();
944 expr = ConcatExpression();
948 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
957 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
959 operator = jj_consume_token(SC_AND);
962 operator = jj_consume_token(_ANDL);
966 jj_consume_token(-1);
967 throw new ParseException();
969 expr2 = ConcatExpression();
970 buff.append(operator.image);
973 {if (true) return buff.toString();}
974 throw new Error("Missing return statement in function");
977 static final public String ConcatExpression() throws ParseException {
980 StringBuffer buff = new StringBuffer();
981 expr = InclusiveOrExpression();
985 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
993 jj_consume_token(DOT);
994 expr2 = InclusiveOrExpression();
998 {if (true) return buff.toString();}
999 throw new Error("Missing return statement in function");
1002 static final public String InclusiveOrExpression() throws ParseException {
1004 String expr2 = null;
1005 StringBuffer buff = new StringBuffer();
1006 expr = ExclusiveOrExpression();
1010 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1015 jj_la1[28] = jj_gen;
1018 jj_consume_token(BIT_OR);
1019 expr2 = ExclusiveOrExpression();
1023 {if (true) return buff.toString();}
1024 throw new Error("Missing return statement in function");
1027 static final public String ExclusiveOrExpression() throws ParseException {
1029 String expr2 = null;
1030 StringBuffer buff = new StringBuffer();
1031 expr = AndExpression();
1035 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1040 jj_la1[29] = jj_gen;
1043 jj_consume_token(XOR);
1044 expr2 = AndExpression();
1048 {if (true) return buff.toString();}
1049 throw new Error("Missing return statement in function");
1052 static final public String AndExpression() throws ParseException {
1054 String expr2 = null;
1055 StringBuffer buff = new StringBuffer();
1056 expr = EqualityExpression();
1060 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1065 jj_la1[30] = jj_gen;
1068 jj_consume_token(BIT_AND);
1069 expr2 = EqualityExpression();
1073 {if (true) return buff.toString();}
1074 throw new Error("Missing return statement in function");
1077 static final public String EqualityExpression() throws ParseException {
1081 StringBuffer buff = new StringBuffer();
1082 expr = RelationalExpression();
1086 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1092 jj_la1[31] = jj_gen;
1095 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1097 operator = jj_consume_token(EQ);
1100 operator = jj_consume_token(NE);
1103 jj_la1[32] = jj_gen;
1104 jj_consume_token(-1);
1105 throw new ParseException();
1107 expr2 = RelationalExpression();
1108 buff.append(operator.image);
1111 {if (true) return buff.toString();}
1112 throw new Error("Missing return statement in function");
1115 static final public String RelationalExpression() throws ParseException {
1119 StringBuffer buff = new StringBuffer();
1120 expr = ShiftExpression();
1124 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1132 jj_la1[33] = jj_gen;
1135 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1137 operator = jj_consume_token(LT);
1140 operator = jj_consume_token(GT);
1143 operator = jj_consume_token(LE);
1146 operator = jj_consume_token(GE);
1149 jj_la1[34] = jj_gen;
1150 jj_consume_token(-1);
1151 throw new ParseException();
1153 expr2 = ShiftExpression();
1154 buff.append(operator.image);
1157 {if (true) return buff.toString();}
1158 throw new Error("Missing return statement in function");
1161 static final public String ShiftExpression() throws ParseException {
1165 StringBuffer buff = new StringBuffer();
1166 expr = AdditiveExpression();
1170 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1173 case RUNSIGNEDSHIFT:
1177 jj_la1[35] = jj_gen;
1180 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1182 operator = jj_consume_token(LSHIFT);
1185 operator = jj_consume_token(RSIGNEDSHIFT);
1187 case RUNSIGNEDSHIFT:
1188 operator = jj_consume_token(RUNSIGNEDSHIFT);
1191 jj_la1[36] = jj_gen;
1192 jj_consume_token(-1);
1193 throw new ParseException();
1195 expr2 = AdditiveExpression();
1196 buff.append(operator.image);
1199 {if (true) return buff.toString();}
1200 throw new Error("Missing return statement in function");
1203 static final public String AdditiveExpression() throws ParseException {
1207 StringBuffer buff = new StringBuffer();
1208 expr = MultiplicativeExpression();
1212 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1218 jj_la1[37] = jj_gen;
1221 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1223 operator = jj_consume_token(PLUS);
1226 operator = jj_consume_token(MINUS);
1229 jj_la1[38] = jj_gen;
1230 jj_consume_token(-1);
1231 throw new ParseException();
1233 expr2 = MultiplicativeExpression();
1234 buff.append(operator.image);
1237 {if (true) return buff.toString();}
1238 throw new Error("Missing return statement in function");
1241 static final public String MultiplicativeExpression() throws ParseException {
1244 final StringBuffer buff = new StringBuffer();
1245 expr = UnaryExpression();
1249 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1256 jj_la1[39] = jj_gen;
1259 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1261 operator = jj_consume_token(STAR);
1264 operator = jj_consume_token(SLASH);
1267 operator = jj_consume_token(REM);
1270 jj_la1[40] = jj_gen;
1271 jj_consume_token(-1);
1272 throw new ParseException();
1274 expr2 = UnaryExpression();
1275 buff.append(operator.image);
1278 {if (true) return buff.toString();}
1279 throw new Error("Missing return statement in function");
1282 static final public String UnaryExpression() throws ParseException {
1284 final StringBuffer buff = new StringBuffer();
1285 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1287 jj_consume_token(AT);
1288 expr = UnaryExpression();
1289 {if (true) return "@" + expr;}
1293 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1295 jj_consume_token(PLUS);
1299 jj_consume_token(MINUS);
1303 jj_la1[41] = jj_gen;
1304 jj_consume_token(-1);
1305 throw new ParseException();
1307 expr = UnaryExpression();
1309 {if (true) return buff.toString();}
1312 expr = PreIncrementExpression();
1313 {if (true) return expr;}
1316 expr = PreDecrementExpression();
1317 {if (true) return expr;}
1324 case INTEGER_LITERAL:
1325 case FLOATING_POINT_LITERAL:
1326 case STRING_LITERAL:
1333 expr = UnaryExpressionNotPlusMinus();
1334 {if (true) return expr;}
1337 jj_la1[42] = jj_gen;
1338 jj_consume_token(-1);
1339 throw new ParseException();
1341 throw new Error("Missing return statement in function");
1344 static final public String PreIncrementExpression() throws ParseException {
1346 jj_consume_token(INCR);
1347 expr = PrimaryExpression();
1348 {if (true) return "++"+expr;}
1349 throw new Error("Missing return statement in function");
1352 static final public String PreDecrementExpression() throws ParseException {
1354 jj_consume_token(DECR);
1355 expr = PrimaryExpression();
1356 {if (true) return "--"+expr;}
1357 throw new Error("Missing return statement in function");
1360 static final public String UnaryExpressionNotPlusMinus() throws ParseException {
1362 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1364 jj_consume_token(BANG);
1365 expr = UnaryExpression();
1366 {if (true) return "!" + expr;}
1369 jj_la1[43] = jj_gen;
1370 if (jj_2_3(2147483647)) {
1371 expr = CastExpression();
1372 {if (true) return expr;}
1374 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1381 expr = PostfixExpression();
1382 {if (true) return expr;}
1387 case INTEGER_LITERAL:
1388 case FLOATING_POINT_LITERAL:
1389 case STRING_LITERAL:
1391 {if (true) return expr;}
1394 jj_consume_token(LPAREN);
1395 expr = Expression();
1396 jj_consume_token(RPAREN);
1397 {if (true) return "("+expr+")";}
1400 jj_la1[44] = jj_gen;
1401 jj_consume_token(-1);
1402 throw new ParseException();
1406 throw new Error("Missing return statement in function");
1409 static final public String CastExpression() throws ParseException {
1412 jj_consume_token(LPAREN);
1414 jj_consume_token(RPAREN);
1415 expr = UnaryExpression();
1416 {if (true) return "(" + type + ")" + expr;}
1417 throw new Error("Missing return statement in function");
1420 static final public String PostfixExpression() throws ParseException {
1422 Token operator = null;
1423 expr = PrimaryExpression();
1424 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1427 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1429 operator = jj_consume_token(INCR);
1432 operator = jj_consume_token(DECR);
1435 jj_la1[45] = jj_gen;
1436 jj_consume_token(-1);
1437 throw new ParseException();
1441 jj_la1[46] = jj_gen;
1444 if (operator == null) {
1445 {if (true) return expr;}
1447 {if (true) return expr + operator.image;}
1448 throw new Error("Missing return statement in function");
1451 static final public String PrimaryExpression() throws ParseException {
1454 final StringBuffer buff = new StringBuffer();
1456 identifier = jj_consume_token(IDENTIFIER);
1457 jj_consume_token(STATICCLASSACCESS);
1458 expr = ClassIdentifier();
1459 buff.append(identifier.image).append("::").append(expr);
1462 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1469 jj_la1[47] = jj_gen;
1472 expr = PrimarySuffix();
1475 {if (true) return buff.toString();}
1477 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1483 expr = PrimaryPrefix();
1487 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1494 jj_la1[48] = jj_gen;
1497 expr = PrimarySuffix();
1500 {if (true) return buff.toString();}
1503 jj_consume_token(ARRAY);
1504 expr = ArrayInitializer();
1505 {if (true) return "array" + expr;}
1508 jj_la1[49] = jj_gen;
1509 jj_consume_token(-1);
1510 throw new ParseException();
1513 throw new Error("Missing return statement in function");
1516 static final public String PrimaryPrefix() throws ParseException {
1519 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1521 token = jj_consume_token(IDENTIFIER);
1522 {if (true) return token.image;}
1526 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1528 token = jj_consume_token(BIT_AND);
1531 jj_la1[50] = jj_gen;
1534 jj_consume_token(NEW);
1535 expr = ClassIdentifier();
1536 if (token == null) {
1537 {if (true) return "new " + expr;}
1539 {if (true) return "new &" + expr;}
1543 expr = VariableDeclaratorId();
1544 {if (true) return expr;}
1547 jj_la1[51] = jj_gen;
1548 jj_consume_token(-1);
1549 throw new ParseException();
1551 throw new Error("Missing return statement in function");
1554 static final public String ClassIdentifier() throws ParseException {
1557 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1559 token = jj_consume_token(IDENTIFIER);
1560 {if (true) return token.image;}
1564 expr = VariableDeclaratorId();
1565 {if (true) return expr;}
1568 jj_la1[52] = jj_gen;
1569 jj_consume_token(-1);
1570 throw new ParseException();
1572 throw new Error("Missing return statement in function");
1575 static final public String PrimarySuffix() throws ParseException {
1577 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1580 {if (true) return expr;}
1584 expr = VariableSuffix();
1585 {if (true) return expr;}
1588 jj_la1[53] = jj_gen;
1589 jj_consume_token(-1);
1590 throw new ParseException();
1592 throw new Error("Missing return statement in function");
1595 static final public String VariableSuffix() throws ParseException {
1597 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1599 jj_consume_token(CLASSACCESS);
1600 expr = VariableName();
1601 {if (true) return "->" + expr;}
1604 jj_consume_token(LBRACKET);
1605 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1612 case INTEGER_LITERAL:
1613 case FLOATING_POINT_LITERAL:
1614 case STRING_LITERAL:
1626 expr = Expression();
1629 jj_la1[54] = jj_gen;
1632 jj_consume_token(RBRACKET);
1634 {if (true) return "[]";}
1636 {if (true) return "[" + expr + "]";}
1639 jj_la1[55] = jj_gen;
1640 jj_consume_token(-1);
1641 throw new ParseException();
1643 throw new Error("Missing return statement in function");
1646 static final public String Literal() throws ParseException {
1649 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1650 case INTEGER_LITERAL:
1651 token = jj_consume_token(INTEGER_LITERAL);
1652 {if (true) return token.image;}
1654 case FLOATING_POINT_LITERAL:
1655 token = jj_consume_token(FLOATING_POINT_LITERAL);
1656 {if (true) return token.image;}
1658 case STRING_LITERAL:
1660 token = jj_consume_token(STRING_LITERAL);
1661 {if (true) return token.image;}
1662 } catch (TokenMgrError e) {
1663 errorMessage = "unterminated string";
1665 {if (true) throw generateParseException();}
1670 expr = BooleanLiteral();
1671 {if (true) return expr;}
1674 expr = NullLiteral();
1675 {if (true) return expr;}
1678 jj_la1[56] = jj_gen;
1679 jj_consume_token(-1);
1680 throw new ParseException();
1682 throw new Error("Missing return statement in function");
1685 static final public String BooleanLiteral() throws ParseException {
1686 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1688 jj_consume_token(TRUE);
1689 {if (true) return "true";}
1692 jj_consume_token(FALSE);
1693 {if (true) return "false";}
1696 jj_la1[57] = jj_gen;
1697 jj_consume_token(-1);
1698 throw new ParseException();
1700 throw new Error("Missing return statement in function");
1703 static final public String NullLiteral() throws ParseException {
1704 jj_consume_token(NULL);
1705 {if (true) return "null";}
1706 throw new Error("Missing return statement in function");
1709 static final public String Arguments() throws ParseException {
1711 jj_consume_token(LPAREN);
1712 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1719 case INTEGER_LITERAL:
1720 case FLOATING_POINT_LITERAL:
1721 case STRING_LITERAL:
1733 expr = ArgumentList();
1736 jj_la1[58] = jj_gen;
1740 jj_consume_token(RPAREN);
1741 } catch (ParseException e) {
1742 errorMessage = "')' expected to close the argument list";
1744 {if (true) throw e;}
1747 {if (true) return "()";}
1749 {if (true) return "(" + expr + ")";}
1750 throw new Error("Missing return statement in function");
1753 static final public String ArgumentList() throws ParseException {
1755 StringBuffer buff = new StringBuffer();
1756 expr = Expression();
1760 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1765 jj_la1[59] = jj_gen;
1768 jj_consume_token(COMMA);
1770 expr = Expression();
1771 } catch (ParseException e) {
1772 errorMessage = "expression expected after a comma in argument list";
1774 {if (true) throw e;}
1776 buff.append(",").append("expr");
1778 {if (true) return buff.toString();}
1779 throw new Error("Missing return statement in function");
1783 * Statement syntax follows.
1785 static final public void Statement() throws ParseException {
1788 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1790 jj_consume_token(SEMICOLON);
1793 jj_consume_token(127);
1796 jj_la1[60] = jj_gen;
1797 jj_consume_token(-1);
1798 throw new ParseException();
1800 } else if (jj_2_6(2)) {
1803 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1818 StatementExpression();
1820 jj_consume_token(SEMICOLON);
1821 } catch (ParseException e) {
1822 errorMessage = "';' expected after expression";
1824 {if (true) throw e;}
1846 ContinueStatement();
1859 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1861 jj_consume_token(AT);
1864 jj_la1[61] = jj_gen;
1876 jj_la1[62] = jj_gen;
1877 jj_consume_token(-1);
1878 throw new ParseException();
1883 static final public void IncludeStatement() throws ParseException {
1887 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1889 token = jj_consume_token(REQUIRE);
1890 pos = token.beginLine;
1891 expr = Expression();
1892 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "require",pos,expr));
1893 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1895 jj_consume_token(SEMICOLON);
1898 jj_consume_token(127);
1901 jj_la1[63] = jj_gen;
1902 jj_consume_token(-1);
1903 throw new ParseException();
1907 token = jj_consume_token(REQUIRE_ONCE);
1908 pos = token.beginLine;
1909 expr = Expression();
1910 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "require_once",pos,expr));
1911 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1913 jj_consume_token(SEMICOLON);
1916 jj_consume_token(127);
1919 jj_la1[64] = jj_gen;
1920 jj_consume_token(-1);
1921 throw new ParseException();
1925 token = jj_consume_token(INCLUDE);
1926 pos = token.beginLine;
1927 expr = Expression();
1928 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "include",pos,expr));
1929 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1931 jj_consume_token(SEMICOLON);
1934 jj_consume_token(127);
1937 jj_la1[65] = jj_gen;
1938 jj_consume_token(-1);
1939 throw new ParseException();
1943 token = jj_consume_token(INCLUDE_ONCE);
1944 pos = token.beginLine;
1945 expr = Expression();
1946 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "include_once",pos,expr));
1947 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1949 jj_consume_token(SEMICOLON);
1952 jj_consume_token(127);
1955 jj_la1[66] = jj_gen;
1956 jj_consume_token(-1);
1957 throw new ParseException();
1961 jj_la1[67] = jj_gen;
1962 jj_consume_token(-1);
1963 throw new ParseException();
1967 static final public String PrintExpression() throws ParseException {
1968 StringBuffer buff = new StringBuffer("print ");
1970 jj_consume_token(PRINT);
1971 expr = Expression();
1973 {if (true) return buff.toString();}
1974 throw new Error("Missing return statement in function");
1977 static final public void EchoStatement() throws ParseException {
1978 jj_consume_token(ECHO);
1982 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1987 jj_la1[68] = jj_gen;
1990 jj_consume_token(COMMA);
1994 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1996 jj_consume_token(SEMICOLON);
1999 jj_consume_token(127);
2002 jj_la1[69] = jj_gen;
2003 jj_consume_token(-1);
2004 throw new ParseException();
2006 } catch (ParseException e) {
2007 errorMessage = "';' expected after 'echo' statement";
2009 {if (true) throw e;}
2013 static final public void GlobalStatement() throws ParseException {
2014 jj_consume_token(GLOBAL);
2015 VariableDeclaratorId();
2018 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2023 jj_la1[70] = jj_gen;
2026 jj_consume_token(COMMA);
2027 VariableDeclaratorId();
2029 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2031 jj_consume_token(SEMICOLON);
2034 jj_consume_token(127);
2037 jj_la1[71] = jj_gen;
2038 jj_consume_token(-1);
2039 throw new ParseException();
2043 static final public void StaticStatement() throws ParseException {
2044 jj_consume_token(STATIC);
2045 VariableDeclarator();
2048 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2053 jj_la1[72] = jj_gen;
2056 jj_consume_token(COMMA);
2057 VariableDeclarator();
2059 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2061 jj_consume_token(SEMICOLON);
2064 jj_consume_token(127);
2067 jj_la1[73] = jj_gen;
2068 jj_consume_token(-1);
2069 throw new ParseException();
2073 static final public void LabeledStatement() throws ParseException {
2074 jj_consume_token(IDENTIFIER);
2075 jj_consume_token(COLON);
2079 static final public void Block() throws ParseException {
2081 jj_consume_token(LBRACE);
2082 } catch (ParseException e) {
2083 errorMessage = "'{' expected";
2085 {if (true) throw e;}
2089 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2113 case INTEGER_LITERAL:
2114 case FLOATING_POINT_LITERAL:
2115 case STRING_LITERAL:
2132 jj_la1[74] = jj_gen;
2137 jj_consume_token(RBRACE);
2140 static final public void BlockStatement() throws ParseException {
2141 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2163 case INTEGER_LITERAL:
2164 case FLOATING_POINT_LITERAL:
2165 case STRING_LITERAL:
2185 MethodDeclaration();
2188 jj_la1[75] = jj_gen;
2189 jj_consume_token(-1);
2190 throw new ParseException();
2194 static final public void LocalVariableDeclaration() throws ParseException {
2195 VariableDeclarator();
2198 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2203 jj_la1[76] = jj_gen;
2206 jj_consume_token(COMMA);
2207 VariableDeclarator();
2211 static final public void EmptyStatement() throws ParseException {
2212 jj_consume_token(SEMICOLON);
2215 static final public void StatementExpression() throws ParseException {
2216 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2218 PreIncrementExpression();
2221 PreDecrementExpression();
2229 PrimaryExpression();
2230 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2244 case RSIGNEDSHIFTASSIGN:
2245 case RUNSIGNEDSHIFTASSIGN:
2246 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2248 jj_consume_token(INCR);
2251 jj_consume_token(DECR);
2264 case RSIGNEDSHIFTASSIGN:
2265 case RUNSIGNEDSHIFTASSIGN:
2266 AssignmentOperator();
2270 jj_la1[77] = jj_gen;
2271 jj_consume_token(-1);
2272 throw new ParseException();
2276 jj_la1[78] = jj_gen;
2281 jj_la1[79] = jj_gen;
2282 jj_consume_token(-1);
2283 throw new ParseException();
2287 static final public void SwitchStatement() throws ParseException {
2288 jj_consume_token(SWITCH);
2289 jj_consume_token(LPAREN);
2291 jj_consume_token(RPAREN);
2292 jj_consume_token(LBRACE);
2295 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2301 jj_la1[80] = jj_gen;
2307 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2331 case INTEGER_LITERAL:
2332 case FLOATING_POINT_LITERAL:
2333 case STRING_LITERAL:
2350 jj_la1[81] = jj_gen;
2356 jj_consume_token(RBRACE);
2359 static final public void SwitchLabel() throws ParseException {
2360 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2362 jj_consume_token(CASE);
2364 jj_consume_token(COLON);
2367 jj_consume_token(_DEFAULT);
2368 jj_consume_token(COLON);
2371 jj_la1[82] = jj_gen;
2372 jj_consume_token(-1);
2373 throw new ParseException();
2377 static final public void IfStatement() throws ParseException {
2378 jj_consume_token(IF);
2383 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2388 jj_la1[83] = jj_gen;
2393 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2395 jj_consume_token(ELSE);
2399 jj_la1[84] = jj_gen;
2404 static final public void Condition(String keyword) throws ParseException {
2406 jj_consume_token(LPAREN);
2407 } catch (ParseException e) {
2408 errorMessage = "'(' expected after " + keyword + " keyword";
2410 {if (true) throw e;}
2414 jj_consume_token(RPAREN);
2415 } catch (ParseException e) {
2416 errorMessage = "')' expected after " + keyword + " keyword";
2418 {if (true) throw e;}
2422 static final public void ElseIfStatement() throws ParseException {
2423 jj_consume_token(ELSEIF);
2424 Condition("elseif");
2428 static final public void WhileStatement() throws ParseException {
2429 jj_consume_token(WHILE);
2434 static final public void WhileStatement0() throws ParseException {
2435 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2437 jj_consume_token(COLON);
2440 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2462 case INTEGER_LITERAL:
2463 case FLOATING_POINT_LITERAL:
2464 case STRING_LITERAL:
2481 jj_la1[85] = jj_gen;
2486 jj_consume_token(ENDWHILE);
2487 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2489 jj_consume_token(SEMICOLON);
2492 jj_consume_token(127);
2495 jj_la1[86] = jj_gen;
2496 jj_consume_token(-1);
2497 throw new ParseException();
2521 case INTEGER_LITERAL:
2522 case FLOATING_POINT_LITERAL:
2523 case STRING_LITERAL:
2540 jj_la1[87] = jj_gen;
2541 jj_consume_token(-1);
2542 throw new ParseException();
2546 static final public void DoStatement() throws ParseException {
2547 jj_consume_token(DO);
2549 jj_consume_token(WHILE);
2551 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2553 jj_consume_token(SEMICOLON);
2556 jj_consume_token(127);
2559 jj_la1[88] = jj_gen;
2560 jj_consume_token(-1);
2561 throw new ParseException();
2565 static final public void ForStatement() throws ParseException {
2566 jj_consume_token(FOR);
2567 jj_consume_token(LPAREN);
2568 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2580 jj_la1[89] = jj_gen;
2583 jj_consume_token(SEMICOLON);
2584 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2591 case INTEGER_LITERAL:
2592 case FLOATING_POINT_LITERAL:
2593 case STRING_LITERAL:
2608 jj_la1[90] = jj_gen;
2611 jj_consume_token(SEMICOLON);
2612 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2624 jj_la1[91] = jj_gen;
2627 jj_consume_token(RPAREN);
2631 static final public void ForInit() throws ParseException {
2632 if (jj_2_7(2147483647)) {
2633 LocalVariableDeclaration();
2635 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2644 StatementExpressionList();
2647 jj_la1[92] = jj_gen;
2648 jj_consume_token(-1);
2649 throw new ParseException();
2654 static final public void StatementExpressionList() throws ParseException {
2655 StatementExpression();
2658 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2663 jj_la1[93] = jj_gen;
2666 jj_consume_token(COMMA);
2667 StatementExpression();
2671 static final public void ForUpdate() throws ParseException {
2672 StatementExpressionList();
2675 static final public void BreakStatement() throws ParseException {
2676 jj_consume_token(BREAK);
2677 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2679 jj_consume_token(IDENTIFIER);
2682 jj_la1[94] = jj_gen;
2685 jj_consume_token(SEMICOLON);
2688 static final public void ContinueStatement() throws ParseException {
2689 jj_consume_token(CONTINUE);
2690 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2692 jj_consume_token(IDENTIFIER);
2695 jj_la1[95] = jj_gen;
2698 jj_consume_token(SEMICOLON);
2701 static final public void ReturnStatement() throws ParseException {
2702 jj_consume_token(RETURN);
2703 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2710 case INTEGER_LITERAL:
2711 case FLOATING_POINT_LITERAL:
2712 case STRING_LITERAL:
2727 jj_la1[96] = jj_gen;
2730 jj_consume_token(SEMICOLON);
2733 static final private boolean jj_2_1(int xla) {
2734 jj_la = xla; jj_lastpos = jj_scanpos = token;
2735 boolean retval = !jj_3_1();
2740 static final private boolean jj_2_2(int xla) {
2741 jj_la = xla; jj_lastpos = jj_scanpos = token;
2742 boolean retval = !jj_3_2();
2747 static final private boolean jj_2_3(int xla) {
2748 jj_la = xla; jj_lastpos = jj_scanpos = token;
2749 boolean retval = !jj_3_3();
2754 static final private boolean jj_2_4(int xla) {
2755 jj_la = xla; jj_lastpos = jj_scanpos = token;
2756 boolean retval = !jj_3_4();
2761 static final private boolean jj_2_5(int xla) {
2762 jj_la = xla; jj_lastpos = jj_scanpos = token;
2763 boolean retval = !jj_3_5();
2768 static final private boolean jj_2_6(int xla) {
2769 jj_la = xla; jj_lastpos = jj_scanpos = token;
2770 boolean retval = !jj_3_6();
2775 static final private boolean jj_2_7(int xla) {
2776 jj_la = xla; jj_lastpos = jj_scanpos = token;
2777 boolean retval = !jj_3_7();
2782 static final private boolean jj_3R_140() {
2783 if (jj_scan_token(STAR)) return true;
2784 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2788 static final private boolean jj_3R_132() {
2795 if (jj_3R_142()) return true;
2796 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2797 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2798 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2799 if (jj_3R_131()) return true;
2800 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2804 static final private boolean jj_3R_125() {
2805 if (jj_scan_token(GE)) return true;
2806 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2810 static final private boolean jj_3R_126() {
2811 if (jj_3R_131()) return true;
2812 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2816 if (jj_3R_132()) { jj_scanpos = xsp; break; }
2817 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2822 static final private boolean jj_3R_129() {
2823 if (jj_scan_token(RSIGNEDSHIFT)) return true;
2824 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2828 static final private boolean jj_3R_133() {
2829 if (jj_scan_token(PLUS)) return true;
2830 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2834 static final private boolean jj_3R_127() {
2839 if (jj_3R_134()) return true;
2840 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2841 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2842 if (jj_3R_126()) return true;
2843 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2847 static final private boolean jj_3R_56() {
2848 if (jj_scan_token(PRINT)) return true;
2849 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2850 if (jj_3R_35()) return true;
2851 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2855 static final private boolean jj_3R_124() {
2856 if (jj_scan_token(LE)) return true;
2857 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2861 static final private boolean jj_3R_120() {
2862 if (jj_3R_126()) return true;
2863 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2867 if (jj_3R_127()) { jj_scanpos = xsp; break; }
2868 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2873 static final private boolean jj_3_2() {
2874 if (jj_scan_token(COMMA)) return true;
2875 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2876 if (jj_3R_33()) return true;
2877 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2881 static final private boolean jj_3R_176() {
2882 if (jj_3R_33()) return true;
2883 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2887 if (jj_3_2()) { jj_scanpos = xsp; break; }
2888 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2893 static final private boolean jj_3R_128() {
2894 if (jj_scan_token(LSHIFT)) return true;
2895 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2899 static final private boolean jj_3R_121() {
2906 if (jj_3R_130()) return true;
2907 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2908 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2909 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2910 if (jj_3R_120()) return true;
2911 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2915 static final private boolean jj_3R_123() {
2916 if (jj_scan_token(GT)) return true;
2917 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2921 static final private boolean jj_3R_167() {
2922 if (jj_scan_token(LPAREN)) return true;
2923 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2926 if (jj_3R_176()) jj_scanpos = xsp;
2927 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2928 if (jj_scan_token(RPAREN)) return true;
2929 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2933 static final private boolean jj_3R_116() {
2934 if (jj_3R_120()) return true;
2935 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2939 if (jj_3R_121()) { jj_scanpos = xsp; break; }
2940 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2945 static final private boolean jj_3R_177() {
2946 if (jj_scan_token(ARRAYASSIGN)) return true;
2947 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2948 if (jj_3R_35()) return true;
2949 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2953 static final private boolean jj_3R_33() {
2954 if (jj_3R_35()) return true;
2955 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2958 if (jj_3R_177()) jj_scanpos = xsp;
2959 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2963 static final private boolean jj_3R_107() {
2964 if (jj_3R_54()) return true;
2965 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2969 static final private boolean jj_3R_122() {
2970 if (jj_scan_token(LT)) return true;
2971 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2975 static final private boolean jj_3R_117() {
2984 if (jj_3R_125()) return true;
2985 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2986 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2987 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2988 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2989 if (jj_3R_116()) return true;
2990 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2994 static final private boolean jj_3R_119() {
2995 if (jj_scan_token(NE)) return true;
2996 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3000 static final private boolean jj_3R_114() {
3001 if (jj_3R_116()) return true;
3002 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3006 if (jj_3R_117()) { jj_scanpos = xsp; break; }
3007 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3012 static final private boolean jj_3R_69() {
3013 if (jj_3R_87()) return true;
3014 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3018 static final private boolean jj_3R_106() {
3019 if (jj_scan_token(LBRACE)) return true;
3020 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3021 if (jj_3R_35()) return true;
3022 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3023 if (jj_scan_token(RBRACE)) return true;
3024 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3028 static final private boolean jj_3R_37() {
3029 if (jj_scan_token(127)) return true;
3030 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3034 static final private boolean jj_3R_118() {
3035 if (jj_scan_token(EQ)) return true;
3036 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3040 static final private boolean jj_3R_64() {
3041 if (jj_scan_token(DOLLAR_ID)) return true;
3042 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3045 if (jj_3R_107()) jj_scanpos = xsp;
3046 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3050 static final private boolean jj_3R_115() {
3055 if (jj_3R_119()) return true;
3056 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3057 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3058 if (jj_3R_114()) return true;
3059 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3063 static final private boolean jj_3R_63() {
3064 if (jj_scan_token(DOLLAR)) return true;
3065 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3066 if (jj_3R_54()) return true;
3067 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3071 static final private boolean jj_3R_112() {
3072 if (jj_3R_114()) return true;
3073 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3077 if (jj_3R_115()) { jj_scanpos = xsp; break; }
3078 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3083 static final private boolean jj_3R_36() {
3084 if (jj_scan_token(SEMICOLON)) return true;
3085 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3089 static final private boolean jj_3R_92() {
3090 if (jj_scan_token(LBRACE)) return true;
3091 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3092 if (jj_3R_35()) return true;
3093 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3094 if (jj_scan_token(RBRACE)) return true;
3095 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3099 static final private boolean jj_3R_62() {
3100 if (jj_scan_token(IDENTIFIER)) return true;
3101 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3104 if (jj_3R_106()) jj_scanpos = xsp;
3105 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3109 static final private boolean jj_3R_61() {
3110 if (jj_scan_token(LBRACE)) return true;
3111 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3112 if (jj_3R_35()) return true;
3113 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3114 if (jj_scan_token(RBRACE)) return true;
3115 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3119 static final private boolean jj_3R_54() {
3128 if (jj_3R_64()) return true;
3129 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3130 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3131 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3132 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3136 static final private boolean jj_3R_113() {
3137 if (jj_scan_token(BIT_AND)) return true;
3138 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3139 if (jj_3R_112()) return true;
3140 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3144 static final private boolean jj_3_6() {
3145 if (jj_3R_38()) return true;
3146 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3150 static final private boolean jj_3R_86() {
3151 if (jj_scan_token(DOLLAR)) return true;
3152 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3153 if (jj_3R_54()) return true;
3154 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3158 static final private boolean jj_3_5() {
3159 if (jj_3R_35()) return true;
3160 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3165 if (jj_3R_37()) return true;
3166 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3167 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3171 static final private boolean jj_3R_110() {
3172 if (jj_3R_112()) return true;
3173 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3177 if (jj_3R_113()) { jj_scanpos = xsp; break; }
3178 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3183 static final private boolean jj_3R_85() {
3184 if (jj_scan_token(DOLLAR_ID)) return true;
3185 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3188 if (jj_3R_92()) jj_scanpos = xsp;
3189 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3193 static final private boolean jj_3R_68() {
3198 if (jj_3R_86()) return true;
3199 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_180() {
3205 if (jj_scan_token(COMMA)) return true;
3206 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3207 if (jj_3R_35()) return true;
3208 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3212 static final private boolean jj_3R_111() {
3213 if (jj_scan_token(XOR)) return true;
3214 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3215 if (jj_3R_110()) return true;
3216 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3220 static final private boolean jj_3_1() {
3221 if (jj_3R_32()) return true;
3222 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3226 static final private boolean jj_3R_179() {
3227 if (jj_3R_35()) return true;
3228 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3232 if (jj_3R_180()) { jj_scanpos = xsp; break; }
3233 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3238 static final private boolean jj_3R_104() {
3239 if (jj_3R_110()) return true;
3240 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3244 if (jj_3R_111()) { jj_scanpos = xsp; break; }
3245 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3250 static final private boolean jj_3R_59() {
3251 if (jj_3R_68()) return true;
3252 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3256 if (jj_3_1()) { jj_scanpos = xsp; break; }
3257 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3262 static final private boolean jj_3R_178() {
3263 if (jj_3R_179()) return true;
3264 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3268 static final private boolean jj_3R_105() {
3269 if (jj_scan_token(BIT_OR)) return true;
3270 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3271 if (jj_3R_104()) return true;
3272 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3276 static final private boolean jj_3R_174() {
3277 if (jj_scan_token(LPAREN)) return true;
3278 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3281 if (jj_3R_178()) jj_scanpos = xsp;
3282 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3283 if (jj_scan_token(RPAREN)) return true;
3284 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3288 static final private boolean jj_3R_60() {
3289 if (jj_scan_token(ASSIGN)) return true;
3290 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3291 if (jj_3R_69()) return true;
3292 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3296 static final private boolean jj_3R_98() {
3297 if (jj_3R_104()) return true;
3298 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3302 if (jj_3R_105()) { jj_scanpos = xsp; break; }
3303 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3308 static final private boolean jj_3R_52() {
3309 if (jj_3R_59()) return true;
3310 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3313 if (jj_3R_60()) jj_scanpos = xsp;
3314 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3318 static final private boolean jj_3R_103() {
3319 if (jj_scan_token(NULL)) return true;
3320 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3324 static final private boolean jj_3R_109() {
3325 if (jj_scan_token(FALSE)) return true;
3326 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3330 static final private boolean jj_3R_102() {
3335 if (jj_3R_109()) return true;
3336 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3337 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3341 static final private boolean jj_3R_108() {
3342 if (jj_scan_token(TRUE)) return true;
3343 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3347 static final private boolean jj_3R_99() {
3348 if (jj_scan_token(DOT)) return true;
3349 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3350 if (jj_3R_98()) return true;
3351 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3355 static final private boolean jj_3R_101() {
3356 if (jj_scan_token(_ANDL)) return true;
3357 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3361 static final private boolean jj_3R_97() {
3362 if (jj_3R_103()) return true;
3363 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3367 static final private boolean jj_3R_88() {
3368 if (jj_3R_98()) return true;
3369 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3373 if (jj_3R_99()) { jj_scanpos = xsp; break; }
3374 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3379 static final private boolean jj_3R_96() {
3380 if (jj_3R_102()) return true;
3381 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3385 static final private boolean jj_3R_95() {
3386 if (jj_scan_token(STRING_LITERAL)) return true;
3387 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3391 static final private boolean jj_3R_94() {
3392 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
3393 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3397 static final private boolean jj_3R_100() {
3398 if (jj_scan_token(SC_AND)) return true;
3399 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3403 static final private boolean jj_3R_93() {
3404 if (jj_scan_token(INTEGER_LITERAL)) return true;
3405 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3409 static final private boolean jj_3R_87() {
3420 if (jj_3R_97()) return true;
3421 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3422 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3423 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3424 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3425 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3429 static final private boolean jj_3R_91() {
3430 if (jj_scan_token(_ORL)) return true;
3431 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3435 static final private boolean jj_3R_89() {
3440 if (jj_3R_101()) return true;
3441 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3442 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3443 if (jj_3R_88()) return true;
3444 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3448 static final private boolean jj_3R_55() {
3449 if (jj_3R_35()) return true;
3450 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3454 static final private boolean jj_3R_70() {
3455 if (jj_3R_88()) return true;
3456 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3460 if (jj_3R_89()) { jj_scanpos = xsp; break; }
3461 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3466 static final private boolean jj_3R_66() {
3467 if (jj_scan_token(HOOK)) return true;
3468 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3469 if (jj_3R_35()) return true;
3470 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3471 if (jj_scan_token(COLON)) return true;
3472 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3473 if (jj_3R_57()) return true;
3474 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3478 static final private boolean jj_3R_41() {
3479 if (jj_scan_token(LBRACKET)) return true;
3480 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3483 if (jj_3R_55()) jj_scanpos = xsp;
3484 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3485 if (jj_scan_token(RBRACKET)) return true;
3486 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3490 static final private boolean jj_3R_40() {
3491 if (jj_scan_token(CLASSACCESS)) return true;
3492 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3493 if (jj_3R_54()) return true;
3494 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3498 static final private boolean jj_3R_32() {
3503 if (jj_3R_41()) return true;
3504 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3505 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3509 static final private boolean jj_3R_90() {
3510 if (jj_scan_token(SC_OR)) return true;
3511 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3515 static final private boolean jj_3R_71() {
3520 if (jj_3R_91()) return true;
3521 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3522 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3523 if (jj_3R_70()) return true;
3524 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3528 static final private boolean jj_3_7() {
3529 if (jj_3R_39()) return true;
3530 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3534 static final private boolean jj_3R_171() {
3535 if (jj_3R_32()) return true;
3536 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3540 static final private boolean jj_3R_170() {
3541 if (jj_3R_174()) return true;
3542 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3546 static final private boolean jj_3R_168() {
3551 if (jj_3R_171()) return true;
3552 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3553 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3557 static final private boolean jj_3R_65() {
3558 if (jj_3R_70()) return true;
3559 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3563 if (jj_3R_71()) { jj_scanpos = xsp; break; }
3564 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3569 static final private boolean jj_3R_173() {
3570 if (jj_3R_59()) return true;
3571 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3575 static final private boolean jj_3R_172() {
3576 if (jj_scan_token(IDENTIFIER)) return true;
3577 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3581 static final private boolean jj_3R_169() {
3586 if (jj_3R_173()) return true;
3587 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3588 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3592 static final private boolean jj_3R_57() {
3593 if (jj_3R_65()) return true;
3594 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3597 if (jj_3R_66()) jj_scanpos = xsp;
3598 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3602 static final private boolean jj_3R_162() {
3603 if (jj_3R_59()) return true;
3604 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3608 static final private boolean jj_3R_164() {
3609 if (jj_scan_token(DECR)) return true;
3610 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3614 static final private boolean jj_3R_84() {
3615 if (jj_scan_token(DOTASSIGN)) return true;
3616 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3620 static final private boolean jj_3R_165() {
3621 if (jj_scan_token(BIT_AND)) return true;
3622 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3626 static final private boolean jj_3R_161() {
3629 if (jj_3R_165()) jj_scanpos = xsp;
3630 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3631 if (jj_scan_token(NEW)) return true;
3632 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3633 if (jj_3R_169()) return true;
3634 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3638 static final private boolean jj_3R_83() {
3639 if (jj_scan_token(ORASSIGN)) return true;
3640 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3644 static final private boolean jj_3R_82() {
3645 if (jj_scan_token(XORASSIGN)) return true;
3646 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3650 static final private boolean jj_3R_158() {
3657 if (jj_3R_162()) return true;
3658 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3659 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3660 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3664 static final private boolean jj_3R_160() {
3665 if (jj_scan_token(IDENTIFIER)) return true;
3666 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3670 static final private boolean jj_3R_81() {
3671 if (jj_scan_token(ANDASSIGN)) return true;
3672 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3676 static final private boolean jj_3R_80() {
3677 if (jj_scan_token(RUNSIGNEDSHIFTASSIGN)) return true;
3678 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3682 static final private boolean jj_3R_79() {
3683 if (jj_scan_token(RSIGNEDSHIFTASSIGN)) return true;
3684 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3688 static final private boolean jj_3R_78() {
3689 if (jj_scan_token(LSHIFTASSIGN)) return true;
3690 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3694 static final private boolean jj_3R_77() {
3695 if (jj_scan_token(MINUSASSIGN)) return true;
3696 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3700 static final private boolean jj_3R_155() {
3701 if (jj_scan_token(ARRAY)) return true;
3702 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3703 if (jj_3R_167()) return true;
3704 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3708 static final private boolean jj_3R_159() {
3713 if (jj_3R_164()) return true;
3714 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3715 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3719 static final private boolean jj_3R_163() {
3720 if (jj_scan_token(INCR)) return true;
3721 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3725 static final private boolean jj_3R_166() {
3726 if (jj_3R_168()) return true;
3727 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3731 static final private boolean jj_3R_76() {
3732 if (jj_scan_token(PLUSASSIGN)) return true;
3733 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3737 static final private boolean jj_3R_75() {
3738 if (jj_scan_token(REMASSIGN)) return true;
3739 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3743 static final private boolean jj_3R_154() {
3744 if (jj_3R_158()) return true;
3745 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3749 if (jj_3R_166()) { jj_scanpos = xsp; break; }
3750 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3755 static final private boolean jj_3R_74() {
3756 if (jj_scan_token(SLASHASSIGN)) return true;
3757 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3761 static final private boolean jj_3R_73() {
3762 if (jj_scan_token(STARASSIGN)) return true;
3763 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3767 static final private boolean jj_3R_175() {
3768 if (jj_3R_168()) return true;
3769 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3773 static final private boolean jj_3R_72() {
3774 if (jj_scan_token(ASSIGN)) return true;
3775 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3779 static final private boolean jj_3R_67() {
3806 if (jj_3R_84()) return true;
3807 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3808 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3809 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3810 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3811 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3812 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3813 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3814 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3815 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3816 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3817 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3818 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3819 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3823 static final private boolean jj_3_4() {
3824 if (jj_scan_token(IDENTIFIER)) return true;
3825 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3826 if (jj_scan_token(STATICCLASSACCESS)) return true;
3827 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3828 if (jj_3R_169()) return true;
3829 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3833 if (jj_3R_175()) { jj_scanpos = xsp; break; }
3834 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3839 static final private boolean jj_3R_148() {
3846 if (jj_3R_155()) return true;
3847 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3848 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3849 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3853 static final private boolean jj_3R_58() {
3854 if (jj_3R_67()) return true;
3855 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3856 if (jj_3R_35()) return true;
3857 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3861 static final private boolean jj_3R_51() {
3862 if (jj_3R_57()) return true;
3863 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3866 if (jj_3R_58()) jj_scanpos = xsp;
3867 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3871 static final private boolean jj_3R_157() {
3872 if (jj_3R_148()) return true;
3873 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3876 if (jj_3R_159()) jj_scanpos = xsp;
3877 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3881 static final private boolean jj_3R_35() {
3886 if (jj_3R_51()) return true;
3887 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3888 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3892 static final private boolean jj_3R_50() {
3893 if (jj_3R_56()) return true;
3894 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3898 static final private boolean jj_3R_156() {
3899 if (jj_scan_token(LPAREN)) return true;
3900 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3901 if (jj_3R_34()) return true;
3902 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3903 if (jj_scan_token(RPAREN)) return true;
3904 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3905 if (jj_3R_131()) return true;
3906 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3910 static final private boolean jj_3R_49() {
3911 if (jj_scan_token(INTEGER)) return true;
3912 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3916 static final private boolean jj_3R_48() {
3917 if (jj_scan_token(INT)) return true;
3918 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3922 static final private boolean jj_3_3() {
3923 if (jj_scan_token(LPAREN)) return true;
3924 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3925 if (jj_3R_34()) return true;
3926 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3927 if (jj_scan_token(RPAREN)) return true;
3928 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3932 static final private boolean jj_3R_47() {
3933 if (jj_scan_token(FLOAT)) return true;
3934 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3938 static final private boolean jj_3R_153() {
3939 if (jj_scan_token(LPAREN)) return true;
3940 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3941 if (jj_3R_35()) return true;
3942 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3943 if (jj_scan_token(RPAREN)) return true;
3944 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3948 static final private boolean jj_3R_53() {
3949 if (jj_scan_token(COMMA)) return true;
3950 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3951 if (jj_3R_52()) return true;
3952 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3956 static final private boolean jj_3R_46() {
3957 if (jj_scan_token(DOUBLE)) return true;
3958 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3962 static final private boolean jj_3R_152() {
3963 if (jj_3R_87()) return true;
3964 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3968 static final private boolean jj_3R_45() {
3969 if (jj_scan_token(REAL)) return true;
3970 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3974 static final private boolean jj_3R_151() {
3975 if (jj_3R_157()) return true;
3976 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3980 static final private boolean jj_3R_44() {
3981 if (jj_scan_token(BOOLEAN)) return true;
3982 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3986 static final private boolean jj_3R_150() {
3987 if (jj_3R_156()) return true;
3988 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3992 static final private boolean jj_3R_43() {
3993 if (jj_scan_token(BOOL)) return true;
3994 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3998 static final private boolean jj_3R_147() {
4009 if (jj_3R_153()) return true;
4010 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4011 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4012 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4013 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4014 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4018 static final private boolean jj_3R_149() {
4019 if (jj_scan_token(BANG)) return true;
4020 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4021 if (jj_3R_131()) return true;
4022 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4026 static final private boolean jj_3R_34() {
4043 if (jj_3R_49()) return true;
4044 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4045 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4046 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4047 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4048 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4049 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4050 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4051 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4055 static final private boolean jj_3R_42() {
4056 if (jj_scan_token(STRING)) return true;
4057 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4061 static final private boolean jj_3R_144() {
4062 if (jj_scan_token(MINUS)) return true;
4063 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4067 static final private boolean jj_3R_146() {
4068 if (jj_scan_token(DECR)) return true;
4069 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4070 if (jj_3R_148()) return true;
4071 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4075 static final private boolean jj_3R_39() {
4076 if (jj_3R_52()) return true;
4077 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4081 if (jj_3R_53()) { jj_scanpos = xsp; break; }
4082 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4087 static final private boolean jj_3R_142() {
4088 if (jj_scan_token(REM)) return true;
4089 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4093 static final private boolean jj_3R_145() {
4094 if (jj_scan_token(INCR)) return true;
4095 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4096 if (jj_3R_148()) return true;
4097 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4101 static final private boolean jj_3R_139() {
4102 if (jj_3R_147()) return true;
4103 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4107 static final private boolean jj_3R_138() {
4108 if (jj_3R_146()) return true;
4109 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4113 static final private boolean jj_3R_137() {
4114 if (jj_3R_145()) return true;
4115 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4119 static final private boolean jj_3R_141() {
4120 if (jj_scan_token(SLASH)) return true;
4121 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4125 static final private boolean jj_3R_143() {
4126 if (jj_scan_token(PLUS)) return true;
4127 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4131 static final private boolean jj_3R_136() {
4136 if (jj_3R_144()) return true;
4137 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4138 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4139 if (jj_3R_131()) return true;
4140 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4144 static final private boolean jj_3R_38() {
4145 if (jj_scan_token(IDENTIFIER)) return true;
4146 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4147 if (jj_scan_token(COLON)) return true;
4148 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4152 static final private boolean jj_3R_131() {
4163 if (jj_3R_139()) return true;
4164 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4165 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4166 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4167 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4168 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4172 static final private boolean jj_3R_135() {
4173 if (jj_scan_token(AT)) return true;
4174 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4175 if (jj_3R_131()) return true;
4176 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4180 static final private boolean jj_3R_130() {
4181 if (jj_scan_token(RUNSIGNEDSHIFT)) return true;
4182 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4186 static final private boolean jj_3R_134() {
4187 if (jj_scan_token(MINUS)) return true;
4188 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4192 static private boolean jj_initialized_once = false;
4193 static public PHPParserTokenManager token_source;
4194 static SimpleCharStream jj_input_stream;
4195 static public Token token, jj_nt;
4196 static private int jj_ntk;
4197 static private Token jj_scanpos, jj_lastpos;
4198 static private int jj_la;
4199 static public boolean lookingAhead = false;
4200 static private boolean jj_semLA;
4201 static private int jj_gen;
4202 static final private int[] jj_la1 = new int[97];
4203 static private int[] jj_la1_0;
4204 static private int[] jj_la1_1;
4205 static private int[] jj_la1_2;
4206 static private int[] jj_la1_3;
4213 private static void jj_la1_0() {
4214 jj_la1_0 = new int[] {0x2,0x7fcb0000,0x0,0x60000,0x60000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,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,};
4216 private static void jj_la1_1() {
4217 jj_la1_1 = new int[] {0x0,0xd76a4,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,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,};
4219 private static void jj_la1_2() {
4220 jj_la1_2 = new int[] {0x0,0x11914451,0x0,0x0,0x0,0x200000,0x2000000,0x10000,0x1000000,0x10000,0x1010400,0x1010400,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,};
4222 private static void jj_la1_3() {
4223 jj_la1_3 = new int[] {0x0,0x400009e0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000000,0x0,0x40000000,0x40000000,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,};
4225 static final private JJCalls[] jj_2_rtns = new JJCalls[7];
4226 static private boolean jj_rescan = false;
4227 static private int jj_gc = 0;
4229 public PHPParser(java.io.InputStream stream) {
4230 if (jj_initialized_once) {
4231 System.out.println("ERROR: Second call to constructor of static parser. You must");
4232 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
4233 System.out.println(" during parser generation.");
4236 jj_initialized_once = true;
4237 jj_input_stream = new SimpleCharStream(stream, 1, 1);
4238 token_source = new PHPParserTokenManager(jj_input_stream);
4239 token = new Token();
4242 for (int i = 0; i < 97; i++) jj_la1[i] = -1;
4243 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4246 static public void ReInit(java.io.InputStream stream) {
4247 jj_input_stream.ReInit(stream, 1, 1);
4248 token_source.ReInit(jj_input_stream);
4249 token = new Token();
4252 for (int i = 0; i < 97; i++) jj_la1[i] = -1;
4253 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4256 public PHPParser(java.io.Reader stream) {
4257 if (jj_initialized_once) {
4258 System.out.println("ERROR: Second call to constructor of static parser. You must");
4259 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
4260 System.out.println(" during parser generation.");
4263 jj_initialized_once = true;
4264 jj_input_stream = new SimpleCharStream(stream, 1, 1);
4265 token_source = new PHPParserTokenManager(jj_input_stream);
4266 token = new Token();
4269 for (int i = 0; i < 97; i++) jj_la1[i] = -1;
4270 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4273 static public void ReInit(java.io.Reader stream) {
4274 jj_input_stream.ReInit(stream, 1, 1);
4275 token_source.ReInit(jj_input_stream);
4276 token = new Token();
4279 for (int i = 0; i < 97; i++) jj_la1[i] = -1;
4280 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4283 public PHPParser(PHPParserTokenManager tm) {
4284 if (jj_initialized_once) {
4285 System.out.println("ERROR: Second call to constructor of static parser. You must");
4286 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
4287 System.out.println(" during parser generation.");
4290 jj_initialized_once = true;
4292 token = new Token();
4295 for (int i = 0; i < 97; i++) jj_la1[i] = -1;
4296 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4299 public void ReInit(PHPParserTokenManager tm) {
4301 token = new Token();
4304 for (int i = 0; i < 97; i++) jj_la1[i] = -1;
4305 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4308 static final private Token jj_consume_token(int kind) throws ParseException {
4310 if ((oldToken = token).next != null) token = token.next;
4311 else token = token.next = token_source.getNextToken();
4313 if (token.kind == kind) {
4315 if (++jj_gc > 100) {
4317 for (int i = 0; i < jj_2_rtns.length; i++) {
4318 JJCalls c = jj_2_rtns[i];
4320 if (c.gen < jj_gen) c.first = null;
4329 throw generateParseException();
4332 static final private boolean jj_scan_token(int kind) {
4333 if (jj_scanpos == jj_lastpos) {
4335 if (jj_scanpos.next == null) {
4336 jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
4338 jj_lastpos = jj_scanpos = jj_scanpos.next;
4341 jj_scanpos = jj_scanpos.next;
4344 int i = 0; Token tok = token;
4345 while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
4346 if (tok != null) jj_add_error_token(kind, i);
4348 return (jj_scanpos.kind != kind);
4351 static final public Token getNextToken() {
4352 if (token.next != null) token = token.next;
4353 else token = token.next = token_source.getNextToken();
4359 static final public Token getToken(int index) {
4360 Token t = lookingAhead ? jj_scanpos : token;
4361 for (int i = 0; i < index; i++) {
4362 if (t.next != null) t = t.next;
4363 else t = t.next = token_source.getNextToken();
4368 static final private int jj_ntk() {
4369 if ((jj_nt=token.next) == null)
4370 return (jj_ntk = (token.next=token_source.getNextToken()).kind);
4372 return (jj_ntk = jj_nt.kind);
4375 static private java.util.Vector jj_expentries = new java.util.Vector();
4376 static private int[] jj_expentry;
4377 static private int jj_kind = -1;
4378 static private int[] jj_lasttokens = new int[100];
4379 static private int jj_endpos;
4381 static private void jj_add_error_token(int kind, int pos) {
4382 if (pos >= 100) return;
4383 if (pos == jj_endpos + 1) {
4384 jj_lasttokens[jj_endpos++] = kind;
4385 } else if (jj_endpos != 0) {
4386 jj_expentry = new int[jj_endpos];
4387 for (int i = 0; i < jj_endpos; i++) {
4388 jj_expentry[i] = jj_lasttokens[i];
4390 boolean exists = false;
4391 for (java.util.Enumeration enum = jj_expentries.elements(); enum.hasMoreElements();) {
4392 int[] oldentry = (int[])(enum.nextElement());
4393 if (oldentry.length == jj_expentry.length) {
4395 for (int i = 0; i < jj_expentry.length; i++) {
4396 if (oldentry[i] != jj_expentry[i]) {
4404 if (!exists) jj_expentries.addElement(jj_expentry);
4405 if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
4409 static public ParseException generateParseException() {
4410 jj_expentries.removeAllElements();
4411 boolean[] la1tokens = new boolean[128];
4412 for (int i = 0; i < 128; i++) {
4413 la1tokens[i] = false;
4416 la1tokens[jj_kind] = true;
4419 for (int i = 0; i < 97; i++) {
4420 if (jj_la1[i] == jj_gen) {
4421 for (int j = 0; j < 32; j++) {
4422 if ((jj_la1_0[i] & (1<<j)) != 0) {
4423 la1tokens[j] = true;
4425 if ((jj_la1_1[i] & (1<<j)) != 0) {
4426 la1tokens[32+j] = true;
4428 if ((jj_la1_2[i] & (1<<j)) != 0) {
4429 la1tokens[64+j] = true;
4431 if ((jj_la1_3[i] & (1<<j)) != 0) {
4432 la1tokens[96+j] = true;
4437 for (int i = 0; i < 128; i++) {
4439 jj_expentry = new int[1];
4441 jj_expentries.addElement(jj_expentry);
4446 jj_add_error_token(0, 0);
4447 int[][] exptokseq = new int[jj_expentries.size()][];
4448 for (int i = 0; i < jj_expentries.size(); i++) {
4449 exptokseq[i] = (int[])jj_expentries.elementAt(i);
4451 return new ParseException(token, exptokseq, tokenImage);
4454 static final public void enable_tracing() {
4457 static final public void disable_tracing() {
4460 static final private void jj_rescan_token() {
4462 for (int i = 0; i < 7; i++) {
4463 JJCalls p = jj_2_rtns[i];
4465 if (p.gen > jj_gen) {
4466 jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
4468 case 0: jj_3_1(); break;
4469 case 1: jj_3_2(); break;
4470 case 2: jj_3_3(); break;
4471 case 3: jj_3_4(); break;
4472 case 4: jj_3_5(); break;
4473 case 5: jj_3_6(); break;
4474 case 6: jj_3_7(); break;
4478 } while (p != null);
4483 static final private void jj_save(int index, int xla) {
4484 JJCalls p = jj_2_rtns[index];
4485 while (p.gen > jj_gen) {
4486 if (p.next == null) { p = p.next = new JJCalls(); break; }
4489 p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
4492 static final class JJCalls {