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 final class PHPParser extends PHPParserSuperclass implements PHPParserConstants {
32 /** The file that is parsed. */
33 private static IFile fileToParse;
35 /** The current segment */
36 private static PHPSegmentWithChildren currentSegment;
38 private static final String PARSE_ERROR_STRING = "Parse error"; //$NON-NLS-1$
39 private static final String PARSE_WARNING_STRING = "Warning"; //$NON-NLS-1$
40 PHPOutlineInfo outlineInfo;
42 /** The error level of the current ParseException. */
43 private static int errorLevel = ERROR;
44 /** The message of the current ParseException. If it's null it's because the parse exception wasn't handled */
45 private static String errorMessage;
47 private static int errorStart = -1;
48 private static int errorEnd = -1;
53 public final void setFileToParse(final IFile fileToParse) {
54 this.fileToParse = fileToParse;
57 public PHPParser(final IFile fileToParse) {
58 this(new StringReader(""));
59 this.fileToParse = fileToParse;
62 public static final void phpParserTester(final String strEval) throws CoreException, ParseException {
63 PHPParserTokenManager.SwitchTo(PHPParserTokenManager.PHPPARSING);
64 final StringReader stream = new StringReader(strEval);
65 if (jj_input_stream == null) {
66 jj_input_stream = new SimpleCharStream(stream, 1, 1);
68 ReInit(new StringReader(strEval));
72 public static final void htmlParserTester(final String strEval) throws CoreException, ParseException {
73 final StringReader stream = new StringReader(strEval);
74 if (jj_input_stream == null) {
75 jj_input_stream = new SimpleCharStream(stream, 1, 1);
81 public final PHPOutlineInfo parseInfo(final Object parent, final String s) {
82 outlineInfo = new PHPOutlineInfo(parent);
83 currentSegment = outlineInfo.getDeclarations();
84 final StringReader stream = new StringReader(s);
85 if (jj_input_stream == null) {
86 jj_input_stream = new SimpleCharStream(stream, 1, 1);
91 } catch (ParseException e) {
92 processParseException(e);
98 * This method will process the parse exception.
99 * If the error message is null, the parse exception wasn't catched and a trace is written in the log
100 * @param e the ParseException
102 private static void processParseException(final ParseException e) {
103 if (errorMessage == null) {
104 PHPeclipsePlugin.log(e);
105 errorMessage = "this exception wasn't handled by the parser please tell us how to reproduce it";
112 * Create marker for the parse error
113 * @param e the ParseException
115 private static void setMarker(final ParseException e) {
117 if (errorStart == -1) {
118 setMarker(fileToParse,
120 jj_input_stream.tokenBegin,
121 jj_input_stream.tokenBegin + e.currentToken.image.length(),
123 "Line " + e.currentToken.beginLine);
125 setMarker(fileToParse,
130 "Line " + e.currentToken.beginLine);
134 } catch (CoreException e2) {
135 PHPeclipsePlugin.log(e2);
140 * Create markers according to the external parser output
142 private static void createMarkers(final String output, final IFile file) throws CoreException {
143 // delete all markers
144 file.deleteMarkers(IMarker.PROBLEM, false, 0);
149 while ((brIndx = output.indexOf("<br />", indx)) != -1) {
150 // newer php error output (tested with 4.2.3)
151 scanLine(output, file, indx, brIndx);
156 while ((brIndx = output.indexOf("<br>", indx)) != -1) {
157 // older php error output (tested with 4.2.3)
158 scanLine(output, file, indx, brIndx);
164 private static void scanLine(final String output,
167 final int brIndx) throws CoreException {
169 StringBuffer lineNumberBuffer = new StringBuffer(10);
171 current = output.substring(indx, brIndx);
173 if (current.indexOf(PARSE_WARNING_STRING) != -1 || current.indexOf(PARSE_ERROR_STRING) != -1) {
174 int onLine = current.indexOf("on line <b>");
176 lineNumberBuffer.delete(0, lineNumberBuffer.length());
177 for (int i = onLine; i < current.length(); i++) {
178 ch = current.charAt(i);
179 if ('0' <= ch && '9' >= ch) {
180 lineNumberBuffer.append(ch);
184 int lineNumber = Integer.parseInt(lineNumberBuffer.toString());
186 Hashtable attributes = new Hashtable();
188 current = current.replaceAll("\n", "");
189 current = current.replaceAll("<b>", "");
190 current = current.replaceAll("</b>", "");
191 MarkerUtilities.setMessage(attributes, current);
193 if (current.indexOf(PARSE_ERROR_STRING) != -1)
194 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_ERROR));
195 else if (current.indexOf(PARSE_WARNING_STRING) != -1)
196 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_WARNING));
198 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_INFO));
199 MarkerUtilities.setLineNumber(attributes, lineNumber);
200 MarkerUtilities.createMarker(file, attributes, IMarker.PROBLEM);
205 public final void parse(final String s) throws CoreException {
206 final StringReader stream = new StringReader(s);
207 if (jj_input_stream == null) {
208 jj_input_stream = new SimpleCharStream(stream, 1, 1);
213 } catch (ParseException e) {
214 processParseException(e);
219 * Call the php parse command ( php -l -f <filename> )
220 * and create markers according to the external parser output
222 public static void phpExternalParse(final IFile file) {
223 final IPreferenceStore store = PHPeclipsePlugin.getDefault().getPreferenceStore();
224 final String filename = file.getLocation().toString();
226 final String[] arguments = { filename };
227 final MessageFormat form = new MessageFormat(store.getString(PHPeclipsePlugin.EXTERNAL_PARSER_PREF));
228 final String command = form.format(arguments);
230 final String parserResult = PHPStartApacheAction.getParserOutput(command, "External parser: ");
233 // parse the buffer to find the errors and warnings
234 createMarkers(parserResult, file);
235 } catch (CoreException e) {
236 PHPeclipsePlugin.log(e);
240 public static final void parse() throws ParseException {
244 static final public void phpTest() throws ParseException {
249 static final public void phpFile() throws ParseException {
253 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
283 case INTEGER_LITERAL:
284 case FLOATING_POINT_LITERAL:
308 } catch (TokenMgrError e) {
309 errorMessage = e.getMessage();
311 {if (true) throw generateParseException();}
315 static final public void PhpBlock() throws ParseException {
316 final int start = jj_input_stream.bufpos;
317 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
319 jj_consume_token(PHPECHOSTART);
321 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
323 jj_consume_token(SEMICOLON);
329 jj_consume_token(PHPEND);
359 case INTEGER_LITERAL:
360 case FLOATING_POINT_LITERAL:
375 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
378 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
380 jj_consume_token(PHPSTARTLONG);
383 jj_consume_token(PHPSTARTSHORT);
385 setMarker(fileToParse,
386 "You should use '<?php' instead of '<?' it will avoid some problems with XML",
388 jj_input_stream.bufpos,
390 "Line " + token.beginLine);
391 } catch (CoreException e) {
392 PHPeclipsePlugin.log(e);
397 jj_consume_token(-1);
398 throw new ParseException();
407 jj_consume_token(PHPEND);
408 } catch (ParseException e) {
409 errorMessage = "'?>' expected";
416 jj_consume_token(-1);
417 throw new ParseException();
421 static final public void Php() throws ParseException {
424 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
450 case INTEGER_LITERAL:
451 case FLOATING_POINT_LITERAL:
476 static final public void ClassDeclaration() throws ParseException {
477 final PHPClassDeclaration classDeclaration;
478 final Token className;
480 jj_consume_token(CLASS);
482 pos = jj_input_stream.bufpos;
483 className = jj_consume_token(IDENTIFIER);
484 } catch (ParseException e) {
485 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', identifier expected";
489 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
491 jj_consume_token(EXTENDS);
493 jj_consume_token(IDENTIFIER);
494 } catch (ParseException e) {
495 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', identifier expected";
504 if (currentSegment != null) {
505 classDeclaration = new PHPClassDeclaration(currentSegment,className.image,pos);
506 currentSegment.add(classDeclaration);
507 currentSegment = classDeclaration;
510 if (currentSegment != null) {
511 currentSegment = (PHPSegmentWithChildren) currentSegment.getParent();
515 static final public void ClassBody() throws ParseException {
517 jj_consume_token(LBRACE);
518 } catch (ParseException e) {
519 errorMessage = "'{' expected";
525 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
534 ClassBodyDeclaration();
537 jj_consume_token(RBRACE);
538 } catch (ParseException e) {
539 errorMessage = "'var', 'function' or '}' expected";
545 static final public void ClassBodyDeclaration() throws ParseException {
546 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
555 jj_consume_token(-1);
556 throw new ParseException();
560 static final public void FieldDeclaration() throws ParseException {
561 PHPVarDeclaration variableDeclaration;
562 jj_consume_token(VAR);
563 variableDeclaration = VariableDeclarator();
564 if (currentSegment != null) {
565 currentSegment.add(variableDeclaration);
569 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
577 jj_consume_token(COMMA);
578 variableDeclaration = VariableDeclarator();
579 if (currentSegment != null) {
580 currentSegment.add(variableDeclaration);
584 jj_consume_token(SEMICOLON);
585 } catch (ParseException e) {
586 errorMessage = "';' expected after variable declaration";
592 static final public PHPVarDeclaration VariableDeclarator() throws ParseException {
593 final String varName;
595 final int pos = jj_input_stream.bufpos;
596 varName = VariableDeclaratorId();
597 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
599 jj_consume_token(ASSIGN);
601 varValue = VariableInitializer();
602 {if (true) return new PHPVarDeclaration(currentSegment,varName,pos,varValue);}
603 } catch (ParseException e) {
604 errorMessage = "Literal expression expected in variable initializer";
613 {if (true) return new PHPVarDeclaration(currentSegment,varName,pos);}
614 throw new Error("Missing return statement in function");
617 static final public String VariableDeclaratorId() throws ParseException {
619 final StringBuffer buff = new StringBuffer();
630 expr = VariableSuffix();
633 {if (true) return buff.toString();}
634 } catch (ParseException e) {
635 errorMessage = "'$' expected for variable identifier";
639 throw new Error("Missing return statement in function");
642 static final public String Variable() throws ParseException {
645 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
647 token = jj_consume_token(DOLLAR_ID);
648 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
650 jj_consume_token(LBRACE);
652 jj_consume_token(RBRACE);
659 {if (true) return token.image;}
661 {if (true) return token + "{" + expr + "}";}
664 jj_consume_token(DOLLAR);
665 expr = VariableName();
666 {if (true) return "$" + expr;}
670 jj_consume_token(-1);
671 throw new ParseException();
673 throw new Error("Missing return statement in function");
676 static final public String VariableName() throws ParseException {
679 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
681 jj_consume_token(LBRACE);
683 jj_consume_token(RBRACE);
684 {if (true) return "{"+expr+"}";}
687 token = jj_consume_token(IDENTIFIER);
688 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
690 jj_consume_token(LBRACE);
692 jj_consume_token(RBRACE);
699 {if (true) return token.image;}
701 {if (true) return token + "{" + expr + "}";}
704 jj_consume_token(DOLLAR);
705 expr = VariableName();
706 {if (true) return "$" + expr;}
709 token = jj_consume_token(DOLLAR_ID);
710 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
715 expr = VariableName();
722 {if (true) return token.image;}
724 {if (true) return token.image + expr;}
728 jj_consume_token(-1);
729 throw new ParseException();
731 throw new Error("Missing return statement in function");
734 static final public String VariableInitializer() throws ParseException {
737 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
741 case INTEGER_LITERAL:
742 case FLOATING_POINT_LITERAL:
745 {if (true) return expr;}
748 jj_consume_token(MINUS);
749 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
750 case INTEGER_LITERAL:
751 token = jj_consume_token(INTEGER_LITERAL);
753 case FLOATING_POINT_LITERAL:
754 token = jj_consume_token(FLOATING_POINT_LITERAL);
758 jj_consume_token(-1);
759 throw new ParseException();
761 {if (true) return "-" + token.image;}
764 jj_consume_token(PLUS);
765 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
766 case INTEGER_LITERAL:
767 token = jj_consume_token(INTEGER_LITERAL);
769 case FLOATING_POINT_LITERAL:
770 token = jj_consume_token(FLOATING_POINT_LITERAL);
774 jj_consume_token(-1);
775 throw new ParseException();
777 {if (true) return "+" + token.image;}
780 expr = ArrayDeclarator();
781 {if (true) return expr;}
784 token = jj_consume_token(IDENTIFIER);
785 {if (true) return token.image;}
789 jj_consume_token(-1);
790 throw new ParseException();
792 throw new Error("Missing return statement in function");
795 static final public String ArrayVariable() throws ParseException {
797 final StringBuffer buff = new StringBuffer();
800 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
802 jj_consume_token(ARRAYASSIGN);
804 buff.append("=>").append(expr);
810 {if (true) return buff.toString();}
811 throw new Error("Missing return statement in function");
814 static final public String ArrayInitializer() throws ParseException {
816 final StringBuffer buff = new StringBuffer("(");
817 jj_consume_token(LPAREN);
818 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
826 case INTEGER_LITERAL:
827 case FLOATING_POINT_LITERAL:
840 expr = ArrayVariable();
849 jj_consume_token(COMMA);
850 expr = ArrayVariable();
851 buff.append(",").append(expr);
858 jj_consume_token(RPAREN);
860 {if (true) return buff.toString();}
861 throw new Error("Missing return statement in function");
864 static final public void MethodDeclaration() throws ParseException {
865 final PHPFunctionDeclaration functionDeclaration;
866 jj_consume_token(FUNCTION);
868 functionDeclaration = MethodDeclarator();
869 } catch (ParseException e) {
870 if (errorMessage != null) {
873 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', function identifier expected";
877 if (currentSegment != null) {
878 currentSegment.add(functionDeclaration);
879 currentSegment = functionDeclaration;
882 if (currentSegment != null) {
883 currentSegment = (PHPSegmentWithChildren) currentSegment.getParent();
887 static final public PHPFunctionDeclaration MethodDeclarator() throws ParseException {
888 final Token identifier;
889 final StringBuffer methodDeclaration = new StringBuffer();
890 final String formalParameters;
891 final int pos = jj_input_stream.bufpos;
892 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
894 jj_consume_token(BIT_AND);
895 methodDeclaration.append("&");
901 identifier = jj_consume_token(IDENTIFIER);
902 methodDeclaration.append(identifier);
903 formalParameters = FormalParameters();
904 methodDeclaration.append(formalParameters);
905 {if (true) return new PHPFunctionDeclaration(currentSegment,methodDeclaration.toString(),pos);}
906 throw new Error("Missing return statement in function");
909 static final public String FormalParameters() throws ParseException {
911 final StringBuffer buff = new StringBuffer("(");
913 jj_consume_token(LPAREN);
914 } catch (ParseException e) {
915 errorMessage = "Formal parameter expected after function identifier";
917 jj_consume_token(token.kind);
919 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
923 expr = FormalParameter();
927 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
935 jj_consume_token(COMMA);
936 expr = FormalParameter();
937 buff.append(",").append(expr);
945 jj_consume_token(RPAREN);
946 } catch (ParseException e) {
947 errorMessage = "')' expected";
952 {if (true) return buff.toString();}
953 throw new Error("Missing return statement in function");
956 static final public String FormalParameter() throws ParseException {
957 final PHPVarDeclaration variableDeclaration;
958 final StringBuffer buff = new StringBuffer();
959 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
961 jj_consume_token(BIT_AND);
968 variableDeclaration = VariableDeclarator();
969 buff.append(variableDeclaration.toString());
970 {if (true) return buff.toString();}
971 throw new Error("Missing return statement in function");
974 static final public String Type() throws ParseException {
975 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
977 jj_consume_token(STRING);
978 {if (true) return "string";}
981 jj_consume_token(BOOL);
982 {if (true) return "bool";}
985 jj_consume_token(BOOLEAN);
986 {if (true) return "boolean";}
989 jj_consume_token(REAL);
990 {if (true) return "real";}
993 jj_consume_token(DOUBLE);
994 {if (true) return "double";}
997 jj_consume_token(FLOAT);
998 {if (true) return "float";}
1001 jj_consume_token(INT);
1002 {if (true) return "int";}
1005 jj_consume_token(INTEGER);
1006 {if (true) return "integer";}
1009 jj_consume_token(OBJECT);
1010 {if (true) return "object";}
1013 jj_la1[25] = jj_gen;
1014 jj_consume_token(-1);
1015 throw new ParseException();
1017 throw new Error("Missing return statement in function");
1020 static final public String Expression() throws ParseException {
1022 final String assignOperator;
1024 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1026 expr = PrintExpression();
1027 {if (true) return expr;}
1030 expr = ListExpression();
1031 {if (true) return expr;}
1038 case INTEGER_LITERAL:
1039 case FLOATING_POINT_LITERAL:
1040 case STRING_LITERAL:
1052 expr = ConditionalExpression();
1053 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1066 case RSIGNEDSHIFTASSIGN:
1067 assignOperator = AssignmentOperator();
1069 expr2 = Expression();
1070 {if (true) return expr + assignOperator + expr2;}
1071 } catch (ParseException e) {
1072 errorMessage = "expression expected";
1074 {if (true) throw e;}
1078 jj_la1[26] = jj_gen;
1081 {if (true) return expr;}
1084 jj_la1[27] = jj_gen;
1085 jj_consume_token(-1);
1086 throw new ParseException();
1088 throw new Error("Missing return statement in function");
1091 static final public String AssignmentOperator() throws ParseException {
1092 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1094 jj_consume_token(ASSIGN);
1095 {if (true) return "=";}
1098 jj_consume_token(STARASSIGN);
1099 {if (true) return "*=";}
1102 jj_consume_token(SLASHASSIGN);
1103 {if (true) return "/=";}
1106 jj_consume_token(REMASSIGN);
1107 {if (true) return "%=";}
1110 jj_consume_token(PLUSASSIGN);
1111 {if (true) return "+=";}
1114 jj_consume_token(MINUSASSIGN);
1115 {if (true) return "-=";}
1118 jj_consume_token(LSHIFTASSIGN);
1119 {if (true) return "<<=";}
1121 case RSIGNEDSHIFTASSIGN:
1122 jj_consume_token(RSIGNEDSHIFTASSIGN);
1123 {if (true) return ">>=";}
1126 jj_consume_token(ANDASSIGN);
1127 {if (true) return "&=";}
1130 jj_consume_token(XORASSIGN);
1131 {if (true) return "|=";}
1134 jj_consume_token(ORASSIGN);
1135 {if (true) return "|=";}
1138 jj_consume_token(DOTASSIGN);
1139 {if (true) return ".=";}
1142 jj_consume_token(TILDEEQUAL);
1143 {if (true) return "~=";}
1146 jj_la1[28] = jj_gen;
1147 jj_consume_token(-1);
1148 throw new ParseException();
1150 throw new Error("Missing return statement in function");
1153 static final public String ConditionalExpression() throws ParseException {
1155 String expr2 = null;
1156 String expr3 = null;
1157 expr = ConditionalOrExpression();
1158 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1160 jj_consume_token(HOOK);
1161 expr2 = Expression();
1162 jj_consume_token(COLON);
1163 expr3 = ConditionalExpression();
1166 jj_la1[29] = jj_gen;
1169 if (expr3 == null) {
1170 {if (true) return expr;}
1172 {if (true) return expr + "?" + expr2 + ":" + expr3;}
1174 throw new Error("Missing return statement in function");
1177 static final public String ConditionalOrExpression() throws ParseException {
1180 final StringBuffer buff = new StringBuffer();
1181 expr = ConditionalAndExpression();
1185 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1191 jj_la1[30] = jj_gen;
1194 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1196 operator = jj_consume_token(SC_OR);
1199 operator = jj_consume_token(_ORL);
1202 jj_la1[31] = jj_gen;
1203 jj_consume_token(-1);
1204 throw new ParseException();
1206 expr = ConditionalAndExpression();
1207 buff.append(operator.image);
1210 {if (true) return buff.toString();}
1211 throw new Error("Missing return statement in function");
1214 static final public String ConditionalAndExpression() throws ParseException {
1217 final StringBuffer buff = new StringBuffer();
1218 expr = ConcatExpression();
1222 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1228 jj_la1[32] = jj_gen;
1231 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1233 operator = jj_consume_token(SC_AND);
1236 operator = jj_consume_token(_ANDL);
1239 jj_la1[33] = jj_gen;
1240 jj_consume_token(-1);
1241 throw new ParseException();
1243 expr = ConcatExpression();
1244 buff.append(operator.image);
1247 {if (true) return buff.toString();}
1248 throw new Error("Missing return statement in function");
1251 static final public String ConcatExpression() throws ParseException {
1253 final StringBuffer buff = new StringBuffer();
1254 expr = InclusiveOrExpression();
1258 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1263 jj_la1[34] = jj_gen;
1266 jj_consume_token(DOT);
1267 expr = InclusiveOrExpression();
1268 buff.append(".").append(expr);
1270 {if (true) return buff.toString();}
1271 throw new Error("Missing return statement in function");
1274 static final public String InclusiveOrExpression() throws ParseException {
1276 final StringBuffer buff = new StringBuffer();
1277 expr = ExclusiveOrExpression();
1281 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1286 jj_la1[35] = jj_gen;
1289 jj_consume_token(BIT_OR);
1290 expr = ExclusiveOrExpression();
1291 buff.append("|").append(expr);
1293 {if (true) return buff.toString();}
1294 throw new Error("Missing return statement in function");
1297 static final public String ExclusiveOrExpression() throws ParseException {
1299 final StringBuffer buff = new StringBuffer();
1300 expr = AndExpression();
1304 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1309 jj_la1[36] = jj_gen;
1312 jj_consume_token(XOR);
1313 expr = AndExpression();
1317 {if (true) return buff.toString();}
1318 throw new Error("Missing return statement in function");
1321 static final public String AndExpression() throws ParseException {
1323 final StringBuffer buff = new StringBuffer();
1324 expr = EqualityExpression();
1328 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1333 jj_la1[37] = jj_gen;
1336 jj_consume_token(BIT_AND);
1337 expr = EqualityExpression();
1338 buff.append("&").append(expr);
1340 {if (true) return buff.toString();}
1341 throw new Error("Missing return statement in function");
1344 static final public String EqualityExpression() throws ParseException {
1347 final StringBuffer buff = new StringBuffer();
1348 expr = RelationalExpression();
1352 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1356 case BANGDOUBLEEQUAL:
1361 jj_la1[38] = jj_gen;
1364 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1366 operator = jj_consume_token(EQ);
1369 operator = jj_consume_token(DIF);
1372 operator = jj_consume_token(NE);
1374 case BANGDOUBLEEQUAL:
1375 operator = jj_consume_token(BANGDOUBLEEQUAL);
1378 operator = jj_consume_token(TRIPLEEQUAL);
1381 jj_la1[39] = jj_gen;
1382 jj_consume_token(-1);
1383 throw new ParseException();
1385 expr = RelationalExpression();
1386 buff.append(operator.image);
1389 {if (true) return buff.toString();}
1390 throw new Error("Missing return statement in function");
1393 static final public String RelationalExpression() throws ParseException {
1396 final StringBuffer buff = new StringBuffer();
1397 expr = ShiftExpression();
1401 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1409 jj_la1[40] = jj_gen;
1412 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1414 operator = jj_consume_token(LT);
1417 operator = jj_consume_token(GT);
1420 operator = jj_consume_token(LE);
1423 operator = jj_consume_token(GE);
1426 jj_la1[41] = jj_gen;
1427 jj_consume_token(-1);
1428 throw new ParseException();
1430 expr = ShiftExpression();
1431 buff.append(operator.image).append(expr);
1433 {if (true) return buff.toString();}
1434 throw new Error("Missing return statement in function");
1437 static final public String ShiftExpression() throws ParseException {
1440 final StringBuffer buff = new StringBuffer();
1441 expr = AdditiveExpression();
1445 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1448 case RUNSIGNEDSHIFT:
1452 jj_la1[42] = jj_gen;
1455 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1457 operator = jj_consume_token(LSHIFT);
1460 operator = jj_consume_token(RSIGNEDSHIFT);
1462 case RUNSIGNEDSHIFT:
1463 operator = jj_consume_token(RUNSIGNEDSHIFT);
1466 jj_la1[43] = jj_gen;
1467 jj_consume_token(-1);
1468 throw new ParseException();
1470 expr = AdditiveExpression();
1471 buff.append(operator.image);
1474 {if (true) return buff.toString();}
1475 throw new Error("Missing return statement in function");
1478 static final public String AdditiveExpression() throws ParseException {
1481 final StringBuffer buff = new StringBuffer();
1482 expr = MultiplicativeExpression();
1486 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1492 jj_la1[44] = jj_gen;
1495 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1497 operator = jj_consume_token(PLUS);
1500 operator = jj_consume_token(MINUS);
1503 jj_la1[45] = jj_gen;
1504 jj_consume_token(-1);
1505 throw new ParseException();
1507 expr = MultiplicativeExpression();
1508 buff.append(operator.image);
1511 {if (true) return buff.toString();}
1512 throw new Error("Missing return statement in function");
1515 static final public String MultiplicativeExpression() throws ParseException {
1518 final StringBuffer buff = new StringBuffer();
1519 expr = UnaryExpression();
1523 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1530 jj_la1[46] = jj_gen;
1533 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1535 operator = jj_consume_token(STAR);
1538 operator = jj_consume_token(SLASH);
1541 operator = jj_consume_token(REM);
1544 jj_la1[47] = jj_gen;
1545 jj_consume_token(-1);
1546 throw new ParseException();
1548 expr = UnaryExpression();
1549 buff.append(operator.image);
1552 {if (true) return buff.toString();}
1553 throw new Error("Missing return statement in function");
1557 * An unary expression starting with @, & or nothing
1559 static final public String UnaryExpression() throws ParseException {
1562 final StringBuffer buff = new StringBuffer();
1563 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1565 token = jj_consume_token(BIT_AND);
1566 expr = UnaryExpressionNoPrefix();
1567 if (token == null) {
1568 {if (true) return expr;}
1570 {if (true) return token.image + expr;}
1577 case INTEGER_LITERAL:
1578 case FLOATING_POINT_LITERAL:
1579 case STRING_LITERAL:
1592 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1597 jj_la1[48] = jj_gen;
1600 jj_consume_token(AT);
1603 expr = UnaryExpressionNoPrefix();
1604 {if (true) return buff.append(expr).toString();}
1607 jj_la1[49] = jj_gen;
1608 jj_consume_token(-1);
1609 throw new ParseException();
1611 throw new Error("Missing return statement in function");
1614 static final public String UnaryExpressionNoPrefix() throws ParseException {
1617 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1620 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1622 token = jj_consume_token(PLUS);
1625 token = jj_consume_token(MINUS);
1628 jj_la1[50] = jj_gen;
1629 jj_consume_token(-1);
1630 throw new ParseException();
1632 expr = UnaryExpression();
1633 {if (true) return token.image + expr;}
1636 expr = PreIncrementExpression();
1637 {if (true) return expr;}
1640 expr = PreDecrementExpression();
1641 {if (true) return expr;}
1648 case INTEGER_LITERAL:
1649 case FLOATING_POINT_LITERAL:
1650 case STRING_LITERAL:
1656 expr = UnaryExpressionNotPlusMinus();
1657 {if (true) return expr;}
1660 jj_la1[51] = jj_gen;
1661 jj_consume_token(-1);
1662 throw new ParseException();
1664 throw new Error("Missing return statement in function");
1667 static final public String PreIncrementExpression() throws ParseException {
1669 jj_consume_token(INCR);
1670 expr = PrimaryExpression();
1671 {if (true) return "++"+expr;}
1672 throw new Error("Missing return statement in function");
1675 static final public String PreDecrementExpression() throws ParseException {
1677 jj_consume_token(DECR);
1678 expr = PrimaryExpression();
1679 {if (true) return "--"+expr;}
1680 throw new Error("Missing return statement in function");
1683 static final public String UnaryExpressionNotPlusMinus() throws ParseException {
1685 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1687 jj_consume_token(BANG);
1688 expr = UnaryExpression();
1689 {if (true) return "!" + expr;}
1692 jj_la1[52] = jj_gen;
1693 if (jj_2_3(2147483647)) {
1694 expr = CastExpression();
1695 {if (true) return expr;}
1697 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1703 expr = PostfixExpression();
1704 {if (true) return expr;}
1709 case INTEGER_LITERAL:
1710 case FLOATING_POINT_LITERAL:
1711 case STRING_LITERAL:
1713 {if (true) return expr;}
1716 jj_consume_token(LPAREN);
1717 expr = Expression();
1719 jj_consume_token(RPAREN);
1720 } catch (ParseException e) {
1721 errorMessage = "')' expected";
1723 {if (true) throw e;}
1725 {if (true) return "("+expr+")";}
1728 jj_la1[53] = jj_gen;
1729 jj_consume_token(-1);
1730 throw new ParseException();
1734 throw new Error("Missing return statement in function");
1737 static final public String CastExpression() throws ParseException {
1738 final String type, expr;
1739 jj_consume_token(LPAREN);
1741 jj_consume_token(RPAREN);
1742 expr = UnaryExpression();
1743 {if (true) return "(" + type + ")" + expr;}
1744 throw new Error("Missing return statement in function");
1747 static final public String PostfixExpression() throws ParseException {
1749 Token operator = null;
1750 expr = PrimaryExpression();
1751 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1754 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1756 operator = jj_consume_token(INCR);
1759 operator = jj_consume_token(DECR);
1762 jj_la1[54] = jj_gen;
1763 jj_consume_token(-1);
1764 throw new ParseException();
1768 jj_la1[55] = jj_gen;
1771 if (operator == null) {
1772 {if (true) return expr;}
1774 {if (true) return expr + operator.image;}
1775 throw new Error("Missing return statement in function");
1778 static final public String PrimaryExpression() throws ParseException {
1779 final Token identifier;
1781 final StringBuffer buff = new StringBuffer();
1783 identifier = jj_consume_token(IDENTIFIER);
1784 jj_consume_token(STATICCLASSACCESS);
1785 expr = ClassIdentifier();
1786 buff.append(identifier.image).append("::").append(expr);
1789 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1796 jj_la1[56] = jj_gen;
1799 expr = PrimarySuffix();
1802 {if (true) return buff.toString();}
1804 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1809 expr = PrimaryPrefix();
1813 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1820 jj_la1[57] = jj_gen;
1823 expr = PrimarySuffix();
1826 {if (true) return buff.toString();}
1829 expr = ArrayDeclarator();
1830 {if (true) return "array" + expr;}
1833 jj_la1[58] = jj_gen;
1834 jj_consume_token(-1);
1835 throw new ParseException();
1838 throw new Error("Missing return statement in function");
1841 static final public String ArrayDeclarator() throws ParseException {
1843 jj_consume_token(ARRAY);
1844 expr = ArrayInitializer();
1845 {if (true) return "array" + expr;}
1846 throw new Error("Missing return statement in function");
1849 static final public String PrimaryPrefix() throws ParseException {
1852 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1854 token = jj_consume_token(IDENTIFIER);
1855 {if (true) return token.image;}
1858 jj_consume_token(NEW);
1859 expr = ClassIdentifier();
1860 {if (true) return "new " + expr;}
1864 expr = VariableDeclaratorId();
1865 {if (true) return expr;}
1868 jj_la1[59] = jj_gen;
1869 jj_consume_token(-1);
1870 throw new ParseException();
1872 throw new Error("Missing return statement in function");
1875 static final public String ClassIdentifier() throws ParseException {
1878 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1880 token = jj_consume_token(IDENTIFIER);
1881 {if (true) return token.image;}
1885 expr = VariableDeclaratorId();
1886 {if (true) return expr;}
1889 jj_la1[60] = jj_gen;
1890 jj_consume_token(-1);
1891 throw new ParseException();
1893 throw new Error("Missing return statement in function");
1896 static final public String PrimarySuffix() throws ParseException {
1898 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1901 {if (true) return expr;}
1905 expr = VariableSuffix();
1906 {if (true) return expr;}
1909 jj_la1[61] = jj_gen;
1910 jj_consume_token(-1);
1911 throw new ParseException();
1913 throw new Error("Missing return statement in function");
1916 static final public String VariableSuffix() throws ParseException {
1918 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1920 jj_consume_token(CLASSACCESS);
1922 expr = VariableName();
1923 } catch (ParseException e) {
1924 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', function call or field access expected";
1926 {if (true) throw e;}
1928 {if (true) return "->" + expr;}
1931 jj_consume_token(LBRACKET);
1932 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1940 case INTEGER_LITERAL:
1941 case FLOATING_POINT_LITERAL:
1942 case STRING_LITERAL:
1954 expr = Expression();
1957 jj_la1[62] = jj_gen;
1961 jj_consume_token(RBRACKET);
1962 } catch (ParseException e) {
1963 errorMessage = "']' expected";
1965 {if (true) throw e;}
1968 {if (true) return "[]";}
1970 {if (true) return "[" + expr + "]";}
1973 jj_la1[63] = jj_gen;
1974 jj_consume_token(-1);
1975 throw new ParseException();
1977 throw new Error("Missing return statement in function");
1980 static final public String Literal() throws ParseException {
1983 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1984 case INTEGER_LITERAL:
1985 token = jj_consume_token(INTEGER_LITERAL);
1986 {if (true) return token.image;}
1988 case FLOATING_POINT_LITERAL:
1989 token = jj_consume_token(FLOATING_POINT_LITERAL);
1990 {if (true) return token.image;}
1992 case STRING_LITERAL:
1993 token = jj_consume_token(STRING_LITERAL);
1994 {if (true) return token.image;}
1998 expr = BooleanLiteral();
1999 {if (true) return expr;}
2002 expr = NullLiteral();
2003 {if (true) return expr;}
2006 jj_la1[64] = jj_gen;
2007 jj_consume_token(-1);
2008 throw new ParseException();
2010 throw new Error("Missing return statement in function");
2013 static final public String BooleanLiteral() throws ParseException {
2014 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2016 jj_consume_token(TRUE);
2017 {if (true) return "true";}
2020 jj_consume_token(FALSE);
2021 {if (true) return "false";}
2024 jj_la1[65] = jj_gen;
2025 jj_consume_token(-1);
2026 throw new ParseException();
2028 throw new Error("Missing return statement in function");
2031 static final public String NullLiteral() throws ParseException {
2032 jj_consume_token(NULL);
2033 {if (true) return "null";}
2034 throw new Error("Missing return statement in function");
2037 static final public String Arguments() throws ParseException {
2039 jj_consume_token(LPAREN);
2040 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2048 case INTEGER_LITERAL:
2049 case FLOATING_POINT_LITERAL:
2050 case STRING_LITERAL:
2062 expr = ArgumentList();
2065 jj_la1[66] = jj_gen;
2069 jj_consume_token(RPAREN);
2070 } catch (ParseException e) {
2071 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', ')' expected to close the argument list";
2073 {if (true) throw e;}
2076 {if (true) return "()";}
2078 {if (true) return "(" + expr + ")";}
2079 throw new Error("Missing return statement in function");
2082 static final public String ArgumentList() throws ParseException {
2084 final StringBuffer buff = new StringBuffer();
2085 expr = Expression();
2089 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2094 jj_la1[67] = jj_gen;
2097 jj_consume_token(COMMA);
2099 expr = Expression();
2100 } catch (ParseException e) {
2101 errorMessage = "expression expected after a comma in argument list";
2103 {if (true) throw e;}
2105 buff.append(",").append(expr);
2107 {if (true) return buff.toString();}
2108 throw new Error("Missing return statement in function");
2112 * A Statement without break
2114 static final public void StatementNoBreak() throws ParseException {
2118 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2120 jj_consume_token(SEMICOLON);
2123 jj_consume_token(PHPEND);
2126 jj_la1[68] = jj_gen;
2127 jj_consume_token(-1);
2128 throw new ParseException();
2130 } catch (ParseException e) {
2131 errorMessage = "';' expected";
2133 {if (true) throw e;}
2135 } else if (jj_2_6(2)) {
2138 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2152 StatementExpression();
2154 jj_consume_token(SEMICOLON);
2155 } catch (ParseException e) {
2156 errorMessage = "';' expected after expression";
2158 {if (true) throw e;}
2180 ContinueStatement();
2193 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2195 jj_consume_token(AT);
2198 jj_la1[69] = jj_gen;
2210 jj_la1[70] = jj_gen;
2211 jj_consume_token(-1);
2212 throw new ParseException();
2218 * A Normal statement
2220 static final public void Statement() throws ParseException {
2221 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2244 case INTEGER_LITERAL:
2245 case FLOATING_POINT_LITERAL:
2246 case STRING_LITERAL:
2266 jj_la1[71] = jj_gen;
2267 jj_consume_token(-1);
2268 throw new ParseException();
2272 static final public void IncludeStatement() throws ParseException {
2274 final int pos = jj_input_stream.bufpos;
2275 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2277 jj_consume_token(REQUIRE);
2278 expr = Expression();
2279 if (currentSegment != null) {
2280 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "require",pos,expr));
2283 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2285 jj_consume_token(SEMICOLON);
2288 jj_consume_token(139);
2291 jj_la1[72] = jj_gen;
2292 jj_consume_token(-1);
2293 throw new ParseException();
2295 } catch (ParseException e) {
2296 errorMessage = "';' expected";
2298 {if (true) throw e;}
2302 jj_consume_token(REQUIRE_ONCE);
2303 expr = Expression();
2304 if (currentSegment != null) {
2305 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "require_once",pos,expr));
2308 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2310 jj_consume_token(SEMICOLON);
2313 jj_consume_token(139);
2316 jj_la1[73] = jj_gen;
2317 jj_consume_token(-1);
2318 throw new ParseException();
2320 } catch (ParseException e) {
2321 errorMessage = "';' expected";
2323 {if (true) throw e;}
2327 jj_consume_token(INCLUDE);
2328 expr = Expression();
2329 if (currentSegment != null) {
2330 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "include",pos,expr));
2333 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2335 jj_consume_token(SEMICOLON);
2338 jj_consume_token(139);
2341 jj_la1[74] = jj_gen;
2342 jj_consume_token(-1);
2343 throw new ParseException();
2345 } catch (ParseException e) {
2346 errorMessage = "';' expected";
2348 {if (true) throw e;}
2352 jj_consume_token(INCLUDE_ONCE);
2353 expr = Expression();
2354 if (currentSegment != null) {
2355 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "include_once",pos,expr));
2358 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2360 jj_consume_token(SEMICOLON);
2363 jj_consume_token(139);
2366 jj_la1[75] = jj_gen;
2367 jj_consume_token(-1);
2368 throw new ParseException();
2370 } catch (ParseException e) {
2371 errorMessage = "';' expected";
2373 {if (true) throw e;}
2377 jj_la1[76] = jj_gen;
2378 jj_consume_token(-1);
2379 throw new ParseException();
2383 static final public String PrintExpression() throws ParseException {
2384 final StringBuffer buff = new StringBuffer("print ");
2386 jj_consume_token(PRINT);
2387 expr = Expression();
2389 {if (true) return buff.toString();}
2390 throw new Error("Missing return statement in function");
2393 static final public String ListExpression() throws ParseException {
2394 final StringBuffer buff = new StringBuffer("list(");
2396 jj_consume_token(LIST);
2398 jj_consume_token(LPAREN);
2399 } catch (ParseException e) {
2400 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', '(' expected";
2402 {if (true) throw e;}
2404 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2407 expr = VariableDeclaratorId();
2411 jj_la1[77] = jj_gen;
2414 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2417 jj_consume_token(COMMA);
2418 } catch (ParseException e) {
2419 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', ',' expected";
2421 {if (true) throw e;}
2423 expr = VariableDeclaratorId();
2424 buff.append(",").append(expr);
2427 jj_la1[78] = jj_gen;
2432 jj_consume_token(RPAREN);
2433 } catch (ParseException e) {
2434 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', ')' expected";
2436 {if (true) throw e;}
2438 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2440 jj_consume_token(ASSIGN);
2441 expr = Expression();
2442 buff.append("(").append(expr);
2445 jj_la1[79] = jj_gen;
2448 {if (true) return buff.toString();}
2449 throw new Error("Missing return statement in function");
2452 static final public void EchoStatement() throws ParseException {
2453 jj_consume_token(ECHO);
2457 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2462 jj_la1[80] = jj_gen;
2465 jj_consume_token(COMMA);
2469 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2471 jj_consume_token(SEMICOLON);
2474 jj_consume_token(139);
2477 jj_la1[81] = jj_gen;
2478 jj_consume_token(-1);
2479 throw new ParseException();
2481 } catch (ParseException e) {
2482 errorMessage = "';' expected after 'echo' statement";
2484 {if (true) throw e;}
2488 static final public void GlobalStatement() throws ParseException {
2489 jj_consume_token(GLOBAL);
2490 VariableDeclaratorId();
2493 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2498 jj_la1[82] = jj_gen;
2501 jj_consume_token(COMMA);
2502 VariableDeclaratorId();
2505 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2507 jj_consume_token(SEMICOLON);
2510 jj_consume_token(139);
2513 jj_la1[83] = jj_gen;
2514 jj_consume_token(-1);
2515 throw new ParseException();
2517 } catch (ParseException e) {
2518 errorMessage = "';' expected";
2520 {if (true) throw e;}
2524 static final public void StaticStatement() throws ParseException {
2525 jj_consume_token(STATIC);
2526 VariableDeclarator();
2529 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2534 jj_la1[84] = jj_gen;
2537 jj_consume_token(COMMA);
2538 VariableDeclarator();
2541 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2543 jj_consume_token(SEMICOLON);
2546 jj_consume_token(139);
2549 jj_la1[85] = jj_gen;
2550 jj_consume_token(-1);
2551 throw new ParseException();
2553 } catch (ParseException e) {
2554 errorMessage = "';' expected";
2556 {if (true) throw e;}
2560 static final public void LabeledStatement() throws ParseException {
2561 jj_consume_token(IDENTIFIER);
2562 jj_consume_token(COLON);
2566 static final public void Block() throws ParseException {
2568 jj_consume_token(LBRACE);
2569 } catch (ParseException e) {
2570 errorMessage = "'{' expected";
2572 {if (true) throw e;}
2576 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2602 case INTEGER_LITERAL:
2603 case FLOATING_POINT_LITERAL:
2604 case STRING_LITERAL:
2621 jj_la1[86] = jj_gen;
2627 jj_consume_token(RBRACE);
2628 } catch (ParseException e) {
2629 errorMessage = "unexpected token : '"+ e.currentToken.image +"', '}' expected";
2631 {if (true) throw e;}
2635 static final public void BlockStatement() throws ParseException {
2636 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2660 case INTEGER_LITERAL:
2661 case FLOATING_POINT_LITERAL:
2662 case STRING_LITERAL:
2682 MethodDeclaration();
2685 jj_la1[87] = jj_gen;
2686 jj_consume_token(-1);
2687 throw new ParseException();
2692 * A Block statement that will not contain any 'break'
2694 static final public void BlockStatementNoBreak() throws ParseException {
2695 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2718 case INTEGER_LITERAL:
2719 case FLOATING_POINT_LITERAL:
2720 case STRING_LITERAL:
2740 MethodDeclaration();
2743 jj_la1[88] = jj_gen;
2744 jj_consume_token(-1);
2745 throw new ParseException();
2749 static final public void LocalVariableDeclaration() throws ParseException {
2750 LocalVariableDeclarator();
2753 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2758 jj_la1[89] = jj_gen;
2761 jj_consume_token(COMMA);
2762 LocalVariableDeclarator();
2766 static final public void LocalVariableDeclarator() throws ParseException {
2767 VariableDeclaratorId();
2768 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2770 jj_consume_token(ASSIGN);
2774 jj_la1[90] = jj_gen;
2779 static final public void EmptyStatement() throws ParseException {
2780 jj_consume_token(SEMICOLON);
2783 static final public void StatementExpression() throws ParseException {
2784 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2786 PreIncrementExpression();
2789 PreDecrementExpression();
2796 PrimaryExpression();
2797 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2812 case RSIGNEDSHIFTASSIGN:
2813 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2815 jj_consume_token(INCR);
2818 jj_consume_token(DECR);
2832 case RSIGNEDSHIFTASSIGN:
2833 AssignmentOperator();
2837 jj_la1[91] = jj_gen;
2838 jj_consume_token(-1);
2839 throw new ParseException();
2843 jj_la1[92] = jj_gen;
2848 jj_la1[93] = jj_gen;
2849 jj_consume_token(-1);
2850 throw new ParseException();
2854 static final public void SwitchStatement() throws ParseException {
2855 Token breakToken = null;
2857 jj_consume_token(SWITCH);
2859 jj_consume_token(LPAREN);
2860 } catch (ParseException e) {
2861 errorMessage = "'(' expected after 'switch'";
2863 {if (true) throw e;}
2867 jj_consume_token(RPAREN);
2868 } catch (ParseException e) {
2869 errorMessage = "')' expected";
2871 {if (true) throw e;}
2874 jj_consume_token(LBRACE);
2875 } catch (ParseException e) {
2876 errorMessage = "'{' expected";
2878 {if (true) throw e;}
2882 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2888 jj_la1[94] = jj_gen;
2891 line = SwitchLabel();
2894 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2919 case INTEGER_LITERAL:
2920 case FLOATING_POINT_LITERAL:
2921 case STRING_LITERAL:
2938 jj_la1[95] = jj_gen;
2941 BlockStatementNoBreak();
2943 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2945 breakToken = jj_consume_token(BREAK);
2947 jj_consume_token(SEMICOLON);
2948 } catch (ParseException e) {
2949 errorMessage = "';' expected after 'break' keyword";
2951 {if (true) throw e;}
2955 jj_la1[96] = jj_gen;
2959 if (breakToken == null) {
2960 setMarker(fileToParse,
2961 "You should use put a 'break' at the end of your statement",
2966 } catch (CoreException e) {
2967 PHPeclipsePlugin.log(e);
2971 jj_consume_token(RBRACE);
2972 } catch (ParseException e) {
2973 errorMessage = "'}' expected";
2975 {if (true) throw e;}
2979 static final public int SwitchLabel() throws ParseException {
2981 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2983 token = jj_consume_token(CASE);
2986 } catch (ParseException e) {
2987 if (errorMessage != null) {if (true) throw e;}
2988 errorMessage = "expression expected after 'case' keyword";
2990 {if (true) throw e;}
2993 jj_consume_token(COLON);
2994 } catch (ParseException e) {
2995 errorMessage = "':' expected after case expression";
2997 {if (true) throw e;}
2999 {if (true) return token.beginLine;}
3002 token = jj_consume_token(_DEFAULT);
3004 jj_consume_token(COLON);
3005 } catch (ParseException e) {
3006 errorMessage = "':' expected after 'default' keyword";
3008 {if (true) throw e;}
3010 {if (true) return token.beginLine;}
3013 jj_la1[97] = jj_gen;
3014 jj_consume_token(-1);
3015 throw new ParseException();
3017 throw new Error("Missing return statement in function");
3020 static final public void IfStatement() throws ParseException {
3022 final int pos = jj_input_stream.bufpos;
3023 token = jj_consume_token(IF);
3025 IfStatement0(pos,pos+token.image.length());
3028 static final public void Condition(final String keyword) throws ParseException {
3030 jj_consume_token(LPAREN);
3031 } catch (ParseException e) {
3032 errorMessage = "'(' expected after " + keyword + " keyword";
3034 {if (true) throw e;}
3038 jj_consume_token(RPAREN);
3039 } catch (ParseException e) {
3040 errorMessage = "')' expected after " + keyword + " keyword";
3042 {if (true) throw e;}
3046 static final public void IfStatement0(final int start,final int end) throws ParseException {
3047 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3049 jj_consume_token(COLON);
3052 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3076 case INTEGER_LITERAL:
3077 case FLOATING_POINT_LITERAL:
3078 case STRING_LITERAL:
3095 jj_la1[98] = jj_gen;
3102 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3107 jj_la1[99] = jj_gen;
3110 ElseIfStatementColon();
3112 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3114 ElseStatementColon();
3117 jj_la1[100] = jj_gen;
3121 setMarker(fileToParse,
3122 "Ugly syntax detected, you should if () {...} instead of if (): ... endif;",
3126 "Line " + token.beginLine);
3127 } catch (CoreException e) {
3128 PHPeclipsePlugin.log(e);
3131 jj_consume_token(ENDIF);
3132 } catch (ParseException e) {
3133 errorMessage = "'endif' expected";
3135 {if (true) throw e;}
3138 jj_consume_token(SEMICOLON);
3139 } catch (ParseException e) {
3140 errorMessage = "';' expected after 'endif' keyword";
3142 {if (true) throw e;}
3168 case INTEGER_LITERAL:
3169 case FLOATING_POINT_LITERAL:
3170 case STRING_LITERAL:
3187 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3192 jj_la1[101] = jj_gen;
3197 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3199 jj_consume_token(ELSE);
3203 jj_la1[102] = jj_gen;
3208 jj_la1[103] = jj_gen;
3209 jj_consume_token(-1);
3210 throw new ParseException();
3214 static final public void ElseIfStatementColon() throws ParseException {
3215 jj_consume_token(ELSEIF);
3216 Condition("elseif");
3217 jj_consume_token(COLON);
3220 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3244 case INTEGER_LITERAL:
3245 case FLOATING_POINT_LITERAL:
3246 case STRING_LITERAL:
3263 jj_la1[104] = jj_gen;
3270 static final public void ElseStatementColon() throws ParseException {
3271 jj_consume_token(ELSE);
3272 jj_consume_token(COLON);
3275 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3299 case INTEGER_LITERAL:
3300 case FLOATING_POINT_LITERAL:
3301 case STRING_LITERAL:
3318 jj_la1[105] = jj_gen;
3325 static final public void ElseIfStatement() throws ParseException {
3326 jj_consume_token(ELSEIF);
3327 Condition("elseif");
3331 static final public void WhileStatement() throws ParseException {
3333 final int pos = jj_input_stream.bufpos;
3334 token = jj_consume_token(WHILE);
3336 WhileStatement0(pos,pos + token.image.length());
3339 static final public void WhileStatement0(final int start, final int end) throws ParseException {
3340 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3342 jj_consume_token(COLON);
3345 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3369 case INTEGER_LITERAL:
3370 case FLOATING_POINT_LITERAL:
3371 case STRING_LITERAL:
3388 jj_la1[106] = jj_gen;
3394 setMarker(fileToParse,
3395 "Ugly syntax detected, you should while () {...} instead of while (): ... endwhile;",
3399 "Line " + token.beginLine);
3400 } catch (CoreException e) {
3401 PHPeclipsePlugin.log(e);
3404 jj_consume_token(ENDWHILE);
3405 } catch (ParseException e) {
3406 errorMessage = "'endwhile' expected";
3408 {if (true) throw e;}
3411 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3413 jj_consume_token(SEMICOLON);
3416 jj_consume_token(139);
3419 jj_la1[107] = jj_gen;
3420 jj_consume_token(-1);
3421 throw new ParseException();
3423 } catch (ParseException e) {
3424 errorMessage = "';' expected after 'endwhile' keyword";
3426 {if (true) throw e;}
3452 case INTEGER_LITERAL:
3453 case FLOATING_POINT_LITERAL:
3454 case STRING_LITERAL:
3471 jj_la1[108] = jj_gen;
3472 jj_consume_token(-1);
3473 throw new ParseException();
3477 static final public void DoStatement() throws ParseException {
3478 jj_consume_token(DO);
3480 jj_consume_token(WHILE);
3483 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3485 jj_consume_token(SEMICOLON);
3488 jj_consume_token(139);
3491 jj_la1[109] = jj_gen;
3492 jj_consume_token(-1);
3493 throw new ParseException();
3495 } catch (ParseException e) {
3496 errorMessage = "';' expected";
3498 {if (true) throw e;}
3502 static final public void ForeachStatement() throws ParseException {
3503 jj_consume_token(FOREACH);
3505 jj_consume_token(LPAREN);
3506 } catch (ParseException e) {
3507 errorMessage = "'(' expected after 'foreach' keyword";
3509 {if (true) throw e;}
3513 } catch (ParseException e) {
3514 errorMessage = "variable expected";
3516 {if (true) throw e;}
3518 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3524 jj_la1[110] = jj_gen;
3528 jj_consume_token(AS);
3529 } catch (ParseException e) {
3530 errorMessage = "'as' expected";
3532 {if (true) throw e;}
3536 } catch (ParseException e) {
3537 errorMessage = "variable expected";
3539 {if (true) throw e;}
3541 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3543 jj_consume_token(ARRAYASSIGN);
3547 jj_la1[111] = jj_gen;
3551 jj_consume_token(RPAREN);
3552 } catch (ParseException e) {
3553 errorMessage = "')' expected after 'foreach' keyword";
3555 {if (true) throw e;}
3559 } catch (ParseException e) {
3560 if (errorMessage != null) {if (true) throw e;}
3561 errorMessage = "statement expected";
3563 {if (true) throw e;}
3567 static final public void ForStatement() throws ParseException {
3569 final int pos = jj_input_stream.bufpos;
3570 token = jj_consume_token(FOR);
3572 jj_consume_token(LPAREN);
3573 } catch (ParseException e) {
3574 errorMessage = "'(' expected after 'for' keyword";
3576 {if (true) throw e;}
3578 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3589 jj_la1[112] = jj_gen;
3592 jj_consume_token(SEMICOLON);
3593 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3601 case INTEGER_LITERAL:
3602 case FLOATING_POINT_LITERAL:
3603 case STRING_LITERAL:
3618 jj_la1[113] = jj_gen;
3621 jj_consume_token(SEMICOLON);
3622 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3630 StatementExpressionList();
3633 jj_la1[114] = jj_gen;
3636 jj_consume_token(RPAREN);
3637 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3661 case INTEGER_LITERAL:
3662 case FLOATING_POINT_LITERAL:
3663 case STRING_LITERAL:
3680 jj_consume_token(COLON);
3683 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3707 case INTEGER_LITERAL:
3708 case FLOATING_POINT_LITERAL:
3709 case STRING_LITERAL:
3726 jj_la1[115] = jj_gen;
3732 setMarker(fileToParse,
3733 "Ugly syntax detected, you should for () {...} instead of for (): ... endfor;",
3735 pos+token.image.length(),
3737 "Line " + token.beginLine);
3738 } catch (CoreException e) {
3739 PHPeclipsePlugin.log(e);
3742 jj_consume_token(ENDFOR);
3743 } catch (ParseException e) {
3744 errorMessage = "'endfor' expected";
3746 {if (true) throw e;}
3749 jj_consume_token(SEMICOLON);
3750 } catch (ParseException e) {
3751 errorMessage = "';' expected after 'endfor' keyword";
3753 {if (true) throw e;}
3757 jj_la1[116] = jj_gen;
3758 jj_consume_token(-1);
3759 throw new ParseException();
3763 static final public void ForInit() throws ParseException {
3764 if (jj_2_7(2147483647)) {
3765 LocalVariableDeclaration();
3767 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3775 StatementExpressionList();
3778 jj_la1[117] = jj_gen;
3779 jj_consume_token(-1);
3780 throw new ParseException();
3785 static final public void StatementExpressionList() throws ParseException {
3786 StatementExpression();
3789 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3794 jj_la1[118] = jj_gen;
3797 jj_consume_token(COMMA);
3798 StatementExpression();
3802 static final public void BreakStatement() throws ParseException {
3803 jj_consume_token(BREAK);
3804 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3806 jj_consume_token(IDENTIFIER);
3809 jj_la1[119] = jj_gen;
3813 jj_consume_token(SEMICOLON);
3814 } catch (ParseException e) {
3815 errorMessage = "';' expected after 'break' statement";
3817 {if (true) throw e;}
3821 static final public void ContinueStatement() throws ParseException {
3822 jj_consume_token(CONTINUE);
3823 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3825 jj_consume_token(IDENTIFIER);
3828 jj_la1[120] = jj_gen;
3832 jj_consume_token(SEMICOLON);
3833 } catch (ParseException e) {
3834 errorMessage = "';' expected after 'continue' statement";
3836 {if (true) throw e;}
3840 static final public void ReturnStatement() throws ParseException {
3841 jj_consume_token(RETURN);
3842 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3850 case INTEGER_LITERAL:
3851 case FLOATING_POINT_LITERAL:
3852 case STRING_LITERAL:
3867 jj_la1[121] = jj_gen;
3871 jj_consume_token(SEMICOLON);
3872 } catch (ParseException e) {
3873 errorMessage = "';' expected after 'return' statement";
3875 {if (true) throw e;}
3879 static final private boolean jj_2_1(int xla) {
3880 jj_la = xla; jj_lastpos = jj_scanpos = token;
3881 boolean retval = !jj_3_1();
3886 static final private boolean jj_2_2(int xla) {
3887 jj_la = xla; jj_lastpos = jj_scanpos = token;
3888 boolean retval = !jj_3_2();
3893 static final private boolean jj_2_3(int xla) {
3894 jj_la = xla; jj_lastpos = jj_scanpos = token;
3895 boolean retval = !jj_3_3();
3900 static final private boolean jj_2_4(int xla) {
3901 jj_la = xla; jj_lastpos = jj_scanpos = token;
3902 boolean retval = !jj_3_4();
3907 static final private boolean jj_2_5(int xla) {
3908 jj_la = xla; jj_lastpos = jj_scanpos = token;
3909 boolean retval = !jj_3_5();
3914 static final private boolean jj_2_6(int xla) {
3915 jj_la = xla; jj_lastpos = jj_scanpos = token;
3916 boolean retval = !jj_3_6();
3921 static final private boolean jj_2_7(int xla) {
3922 jj_la = xla; jj_lastpos = jj_scanpos = token;
3923 boolean retval = !jj_3_7();
3928 static final private boolean jj_3R_107() {
3929 if (jj_3R_111()) return true;
3930 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3934 if (jj_3R_112()) { jj_scanpos = xsp; break; }
3935 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3940 static final private boolean jj_3R_182() {
3941 if (jj_scan_token(FALSE)) return true;
3942 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3946 static final private boolean jj_3_1() {
3947 if (jj_3R_38()) return true;
3948 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3952 static final private boolean jj_3R_181() {
3953 if (jj_scan_token(TRUE)) return true;
3954 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3958 static final private boolean jj_3R_174() {
3963 if (jj_3R_182()) return true;
3964 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3965 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3969 static final private boolean jj_3R_68() {
3970 if (jj_3R_77()) return true;
3971 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3975 if (jj_3_1()) { jj_scanpos = xsp; break; }
3976 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3981 static final private boolean jj_3R_170() {
3982 if (jj_3R_175()) return true;
3983 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3987 static final private boolean jj_3R_108() {
3988 if (jj_scan_token(BIT_OR)) return true;
3989 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3990 if (jj_3R_107()) return true;
3991 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3995 static final private boolean jj_3R_169() {
3996 if (jj_3R_174()) return true;
3997 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4001 static final private boolean jj_3R_100() {
4002 if (jj_3R_107()) return true;
4003 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4007 if (jj_3R_108()) { jj_scanpos = xsp; break; }
4008 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4013 static final private boolean jj_3R_168() {
4014 if (jj_scan_token(STRING_LITERAL)) return true;
4015 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4019 static final private boolean jj_3R_69() {
4020 if (jj_scan_token(ASSIGN)) return true;
4021 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4022 if (jj_3R_41()) return true;
4023 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4027 static final private boolean jj_3R_167() {
4028 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
4029 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4033 static final private boolean jj_3R_61() {
4034 if (jj_scan_token(COMMA)) return true;
4035 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4036 if (jj_3R_60()) return true;
4037 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4041 static final private boolean jj_3R_103() {
4042 if (jj_scan_token(_ANDL)) return true;
4043 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4047 static final private boolean jj_3R_163() {
4058 if (jj_3R_170()) return true;
4059 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4060 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4061 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4062 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4063 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4067 static final private boolean jj_3R_166() {
4068 if (jj_scan_token(INTEGER_LITERAL)) return true;
4069 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4073 static final private boolean jj_3R_101() {
4074 if (jj_scan_token(DOT)) return true;
4075 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4076 if (jj_3R_100()) return true;
4077 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4081 static final private boolean jj_3R_95() {
4082 if (jj_3R_100()) return true;
4083 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4087 if (jj_3R_101()) { jj_scanpos = xsp; break; }
4088 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4093 static final private boolean jj_3R_63() {
4094 if (jj_3R_41()) return true;
4095 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4099 static final private boolean jj_3R_98() {
4100 if (jj_scan_token(_ORL)) return true;
4101 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4105 static final private boolean jj_3R_60() {
4106 if (jj_3R_68()) return true;
4107 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4110 if (jj_3R_69()) jj_scanpos = xsp;
4111 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4115 static final private boolean jj_3R_102() {
4116 if (jj_scan_token(SC_AND)) return true;
4117 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4121 static final private boolean jj_3R_96() {
4126 if (jj_3R_103()) return true;
4127 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4128 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4129 if (jj_3R_95()) return true;
4130 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4134 static final private boolean jj_3R_47() {
4135 if (jj_scan_token(LBRACKET)) return true;
4136 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4139 if (jj_3R_63()) jj_scanpos = xsp;
4140 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4141 if (jj_scan_token(RBRACKET)) return true;
4142 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4146 static final private boolean jj_3R_78() {
4147 if (jj_3R_95()) return true;
4148 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4152 if (jj_3R_96()) { jj_scanpos = xsp; break; }
4153 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4158 static final private boolean jj_3R_45() {
4159 if (jj_3R_60()) return true;
4160 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4164 if (jj_3R_61()) { jj_scanpos = xsp; break; }
4165 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4170 static final private boolean jj_3R_75() {
4171 if (jj_scan_token(HOOK)) return true;
4172 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4173 if (jj_3R_41()) return true;
4174 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4175 if (jj_scan_token(COLON)) return true;
4176 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4177 if (jj_3R_66()) return true;
4178 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4182 static final private boolean jj_3R_46() {
4183 if (jj_scan_token(CLASSACCESS)) return true;
4184 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4185 if (jj_3R_62()) return true;
4186 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4190 static final private boolean jj_3R_38() {
4195 if (jj_3R_47()) return true;
4196 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4197 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4201 static final private boolean jj_3_7() {
4202 if (jj_3R_45()) return true;
4203 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4207 static final private boolean jj_3R_97() {
4208 if (jj_scan_token(SC_OR)) return true;
4209 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4213 static final private boolean jj_3R_189() {
4214 if (jj_3R_38()) return true;
4215 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4219 static final private boolean jj_3R_79() {
4224 if (jj_3R_98()) return true;
4225 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4226 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4227 if (jj_3R_78()) return true;
4228 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4232 static final private boolean jj_3R_188() {
4233 if (jj_3R_192()) return true;
4234 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4238 static final private boolean jj_3R_184() {
4243 if (jj_3R_189()) return true;
4244 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4245 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4249 static final private boolean jj_3R_74() {
4250 if (jj_3R_78()) return true;
4251 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4255 if (jj_3R_79()) { jj_scanpos = xsp; break; }
4256 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4261 static final private boolean jj_3R_191() {
4262 if (jj_3R_68()) return true;
4263 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4267 static final private boolean jj_3R_190() {
4268 if (jj_scan_token(IDENTIFIER)) return true;
4269 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4273 static final private boolean jj_3R_186() {
4278 if (jj_3R_191()) return true;
4279 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4280 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4284 static final private boolean jj_3R_66() {
4285 if (jj_3R_74()) return true;
4286 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4289 if (jj_3R_75()) jj_scanpos = xsp;
4290 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4294 static final private boolean jj_3R_178() {
4295 if (jj_3R_68()) return true;
4296 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4300 static final private boolean jj_3R_177() {
4301 if (jj_scan_token(NEW)) return true;
4302 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4303 if (jj_3R_186()) return true;
4304 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4308 static final private boolean jj_3R_180() {
4309 if (jj_scan_token(DECR)) return true;
4310 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4314 static final private boolean jj_3R_176() {
4315 if (jj_scan_token(IDENTIFIER)) return true;
4316 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4320 static final private boolean jj_3R_92() {
4321 if (jj_scan_token(TILDEEQUAL)) return true;
4322 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4326 static final private boolean jj_3R_171() {
4333 if (jj_3R_178()) return true;
4334 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4335 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4336 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4340 static final private boolean jj_3R_44() {
4341 if (jj_scan_token(IDENTIFIER)) return true;
4342 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4343 if (jj_scan_token(COLON)) return true;
4344 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4348 static final private boolean jj_3R_91() {
4349 if (jj_scan_token(DOTASSIGN)) return true;
4350 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4354 static final private boolean jj_3R_90() {
4355 if (jj_scan_token(ORASSIGN)) return true;
4356 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4360 static final private boolean jj_3R_89() {
4361 if (jj_scan_token(XORASSIGN)) return true;
4362 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4366 static final private boolean jj_3R_88() {
4367 if (jj_scan_token(ANDASSIGN)) return true;
4368 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4372 static final private boolean jj_3R_87() {
4373 if (jj_scan_token(RSIGNEDSHIFTASSIGN)) return true;
4374 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4378 static final private boolean jj_3R_172() {
4379 if (jj_scan_token(ARRAY)) return true;
4380 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4381 if (jj_3R_185()) return true;
4382 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4386 static final private boolean jj_3R_86() {
4387 if (jj_scan_token(LSHIFTASSIGN)) return true;
4388 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4392 static final private boolean jj_3R_85() {
4393 if (jj_scan_token(MINUSASSIGN)) return true;
4394 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4398 static final private boolean jj_3R_84() {
4399 if (jj_scan_token(PLUSASSIGN)) return true;
4400 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4404 static final private boolean jj_3R_83() {
4405 if (jj_scan_token(REMASSIGN)) return true;
4406 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4410 static final private boolean jj_3R_179() {
4411 if (jj_scan_token(INCR)) return true;
4412 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4416 static final private boolean jj_3R_165() {
4417 if (jj_3R_172()) return true;
4418 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4422 static final private boolean jj_3R_173() {
4427 if (jj_3R_180()) return true;
4428 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4429 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4433 static final private boolean jj_3R_183() {
4434 if (jj_3R_184()) return true;
4435 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4439 static final private boolean jj_3R_82() {
4440 if (jj_scan_token(SLASHASSIGN)) return true;
4441 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4445 static final private boolean jj_3R_81() {
4446 if (jj_scan_token(STARASSIGN)) return true;
4447 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4451 static final private boolean jj_3R_164() {
4452 if (jj_3R_171()) return true;
4453 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4457 if (jj_3R_183()) { jj_scanpos = xsp; break; }
4458 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4463 static final private boolean jj_3R_80() {
4464 if (jj_scan_token(ASSIGN)) return true;
4465 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4469 static final private boolean jj_3R_76() {
4496 if (jj_3R_92()) return true;
4497 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4498 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4499 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4500 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4501 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4502 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4503 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4504 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4505 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4506 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4507 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4508 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4509 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4513 static final private boolean jj_3R_187() {
4514 if (jj_3R_184()) return true;
4515 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4519 static final private boolean jj_3_4() {
4520 if (jj_scan_token(IDENTIFIER)) return true;
4521 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4522 if (jj_scan_token(STATICCLASSACCESS)) return true;
4523 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4524 if (jj_3R_186()) return true;
4525 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4529 if (jj_3R_187()) { jj_scanpos = xsp; break; }
4530 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4535 static final private boolean jj_3R_160() {
4542 if (jj_3R_165()) return true;
4543 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4544 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4545 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4549 static final private boolean jj_3R_67() {
4550 if (jj_3R_76()) return true;
4551 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4552 if (jj_3R_41()) return true;
4553 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4557 static final private boolean jj_3R_59() {
4558 if (jj_3R_66()) return true;
4559 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4562 if (jj_3R_67()) jj_scanpos = xsp;
4563 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4567 static final private boolean jj_3R_58() {
4568 if (jj_3R_65()) return true;
4569 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4573 static final private boolean jj_3R_106() {
4574 if (jj_scan_token(ASSIGN)) return true;
4575 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4576 if (jj_3R_41()) return true;
4577 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4581 static final private boolean jj_3R_41() {
4588 if (jj_3R_59()) return true;
4589 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4590 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4591 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4595 static final private boolean jj_3R_57() {
4596 if (jj_3R_64()) return true;
4597 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4601 static final private boolean jj_3R_162() {
4602 if (jj_3R_160()) return true;
4603 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4606 if (jj_3R_173()) jj_scanpos = xsp;
4607 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4611 static final private boolean jj_3R_161() {
4612 if (jj_scan_token(LPAREN)) return true;
4613 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4614 if (jj_3R_40()) return true;
4615 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4616 if (jj_scan_token(RPAREN)) return true;
4617 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4618 if (jj_3R_135()) return true;
4619 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4623 static final private boolean jj_3R_56() {
4624 if (jj_scan_token(OBJECT)) return true;
4625 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4629 static final private boolean jj_3R_55() {
4630 if (jj_scan_token(INTEGER)) return true;
4631 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4635 static final private boolean jj_3R_105() {
4636 if (jj_scan_token(COMMA)) return true;
4637 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4638 if (jj_3R_68()) return true;
4639 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4643 static final private boolean jj_3R_54() {
4644 if (jj_scan_token(INT)) return true;
4645 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4649 static final private boolean jj_3R_104() {
4650 if (jj_3R_68()) return true;
4651 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4655 static final private boolean jj_3R_53() {
4656 if (jj_scan_token(FLOAT)) return true;
4657 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4661 static final private boolean jj_3R_52() {
4662 if (jj_scan_token(DOUBLE)) return true;
4663 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4667 static final private boolean jj_3_3() {
4668 if (jj_scan_token(LPAREN)) return true;
4669 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4670 if (jj_3R_40()) return true;
4671 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4672 if (jj_scan_token(RPAREN)) return true;
4673 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4677 static final private boolean jj_3R_51() {
4678 if (jj_scan_token(REAL)) return true;
4679 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4683 static final private boolean jj_3R_159() {
4684 if (jj_scan_token(LPAREN)) return true;
4685 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4686 if (jj_3R_41()) return true;
4687 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4688 if (jj_scan_token(RPAREN)) return true;
4689 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4693 static final private boolean jj_3R_50() {
4694 if (jj_scan_token(BOOLEAN)) return true;
4695 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4699 static final private boolean jj_3R_158() {
4700 if (jj_3R_163()) return true;
4701 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4705 static final private boolean jj_3R_65() {
4706 if (jj_scan_token(LIST)) return true;
4707 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4708 if (jj_scan_token(LPAREN)) return true;
4709 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4712 if (jj_3R_104()) jj_scanpos = xsp;
4713 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4715 if (jj_3R_105()) jj_scanpos = xsp;
4716 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4717 if (jj_scan_token(RPAREN)) return true;
4718 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4720 if (jj_3R_106()) jj_scanpos = xsp;
4721 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4725 static final private boolean jj_3R_49() {
4726 if (jj_scan_token(BOOL)) return true;
4727 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4731 static final private boolean jj_3R_157() {
4732 if (jj_3R_162()) return true;
4733 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4737 static final private boolean jj_3R_40() {
4756 if (jj_3R_56()) return true;
4757 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4758 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4759 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4760 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4761 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4762 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4763 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4764 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4765 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4769 static final private boolean jj_3R_48() {
4770 if (jj_scan_token(STRING)) return true;
4771 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4775 static final private boolean jj_3R_156() {
4776 if (jj_3R_161()) return true;
4777 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4781 static final private boolean jj_3R_154() {
4792 if (jj_3R_159()) return true;
4793 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4794 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4795 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4796 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4797 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4801 static final private boolean jj_3R_155() {
4802 if (jj_scan_token(BANG)) return true;
4803 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4804 if (jj_3R_135()) return true;
4805 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4809 static final private boolean jj_3R_64() {
4810 if (jj_scan_token(PRINT)) return true;
4811 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4812 if (jj_3R_41()) return true;
4813 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4817 static final private boolean jj_3R_153() {
4818 if (jj_scan_token(DECR)) return true;
4819 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4820 if (jj_3R_160()) return true;
4821 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4825 static final private boolean jj_3R_152() {
4826 if (jj_scan_token(INCR)) return true;
4827 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4828 if (jj_3R_160()) return true;
4829 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4833 static final private boolean jj_3R_151() {
4834 if (jj_scan_token(MINUS)) return true;
4835 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4839 static final private boolean jj_3R_149() {
4840 if (jj_3R_154()) return true;
4841 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4845 static final private boolean jj_3R_148() {
4846 if (jj_3R_153()) return true;
4847 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4851 static final private boolean jj_3R_143() {
4852 if (jj_scan_token(REM)) return true;
4853 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4857 static final private boolean jj_3R_147() {
4858 if (jj_3R_152()) return true;
4859 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4863 static final private boolean jj_3R_150() {
4864 if (jj_scan_token(PLUS)) return true;
4865 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4869 static final private boolean jj_3R_144() {
4878 if (jj_3R_149()) return true;
4879 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4880 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4881 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4882 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4886 static final private boolean jj_3R_146() {
4891 if (jj_3R_151()) return true;
4892 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4893 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4894 if (jj_3R_135()) return true;
4895 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4899 static final private boolean jj_3R_145() {
4900 if (jj_scan_token(AT)) return true;
4901 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4905 static final private boolean jj_3R_140() {
4909 if (jj_3R_145()) { jj_scanpos = xsp; break; }
4910 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4912 if (jj_3R_144()) return true;
4913 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4917 static final private boolean jj_3R_142() {
4918 if (jj_scan_token(SLASH)) return true;
4919 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4923 static final private boolean jj_3R_135() {
4928 if (jj_3R_140()) return true;
4929 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4930 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4934 static final private boolean jj_3R_139() {
4935 if (jj_scan_token(BIT_AND)) return true;
4936 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4937 if (jj_3R_144()) return true;
4938 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4942 static final private boolean jj_3R_134() {
4943 if (jj_scan_token(RUNSIGNEDSHIFT)) return true;
4944 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4948 static final private boolean jj_3R_138() {
4949 if (jj_scan_token(MINUS)) return true;
4950 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4954 static final private boolean jj_3R_129() {
4955 if (jj_scan_token(GE)) return true;
4956 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4960 static final private boolean jj_3R_141() {
4961 if (jj_scan_token(STAR)) return true;
4962 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4966 static final private boolean jj_3R_136() {
4973 if (jj_3R_143()) return true;
4974 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4975 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4976 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4977 if (jj_3R_135()) return true;
4978 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4982 static final private boolean jj_3R_130() {
4983 if (jj_3R_135()) return true;
4984 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4988 if (jj_3R_136()) { jj_scanpos = xsp; break; }
4989 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4994 static final private boolean jj_3R_133() {
4995 if (jj_scan_token(RSIGNEDSHIFT)) return true;
4996 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5000 static final private boolean jj_3_2() {
5001 if (jj_scan_token(COMMA)) return true;
5002 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5003 if (jj_3R_39()) return true;
5004 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5008 static final private boolean jj_3R_128() {
5009 if (jj_scan_token(LE)) return true;
5010 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5014 static final private boolean jj_3R_137() {
5015 if (jj_scan_token(PLUS)) return true;
5016 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5020 static final private boolean jj_3R_131() {
5025 if (jj_3R_138()) return true;
5026 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5027 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5028 if (jj_3R_130()) return true;
5029 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5033 static final private boolean jj_3R_193() {
5034 if (jj_3R_39()) return true;
5035 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5039 if (jj_3_2()) { jj_scanpos = xsp; break; }
5040 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5045 static final private boolean jj_3R_124() {
5046 if (jj_3R_130()) return true;
5047 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5051 if (jj_3R_131()) { jj_scanpos = xsp; break; }
5052 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5057 static final private boolean jj_3R_185() {
5058 if (jj_scan_token(LPAREN)) return true;
5059 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5062 if (jj_3R_193()) jj_scanpos = xsp;
5063 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5064 if (jj_scan_token(RPAREN)) return true;
5065 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5069 static final private boolean jj_3R_127() {
5070 if (jj_scan_token(GT)) return true;
5071 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5075 static final private boolean jj_3R_132() {
5076 if (jj_scan_token(LSHIFT)) return true;
5077 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5081 static final private boolean jj_3R_125() {
5088 if (jj_3R_134()) return true;
5089 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5090 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5091 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5092 if (jj_3R_124()) return true;
5093 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5097 static final private boolean jj_3R_195() {
5098 if (jj_scan_token(ARRAYASSIGN)) return true;
5099 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5100 if (jj_3R_41()) return true;
5101 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5105 static final private boolean jj_3R_117() {
5106 if (jj_3R_124()) return true;
5107 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5111 if (jj_3R_125()) { jj_scanpos = xsp; break; }
5112 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5117 static final private boolean jj_3R_39() {
5118 if (jj_3R_41()) return true;
5119 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5122 if (jj_3R_195()) jj_scanpos = xsp;
5123 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5127 static final private boolean jj_3R_43() {
5128 if (jj_scan_token(PHPEND)) return true;
5129 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5133 static final private boolean jj_3R_126() {
5134 if (jj_scan_token(LT)) return true;
5135 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5139 static final private boolean jj_3R_118() {
5148 if (jj_3R_129()) return true;
5149 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5150 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5151 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5152 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5153 if (jj_3R_117()) return true;
5154 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5158 static final private boolean jj_3_6() {
5159 if (jj_3R_44()) return true;
5160 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5164 static final private boolean jj_3R_115() {
5165 if (jj_3R_117()) return true;
5166 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5170 if (jj_3R_118()) { jj_scanpos = xsp; break; }
5171 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5176 static final private boolean jj_3R_42() {
5177 if (jj_scan_token(SEMICOLON)) return true;
5178 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5182 static final private boolean jj_3R_110() {
5183 if (jj_3R_62()) return true;
5184 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5188 static final private boolean jj_3_5() {
5189 if (jj_3R_41()) return true;
5190 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5195 if (jj_3R_43()) return true;
5196 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5197 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5201 static final private boolean jj_3R_109() {
5202 if (jj_scan_token(LBRACE)) return true;
5203 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5204 if (jj_3R_41()) return true;
5205 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5206 if (jj_scan_token(RBRACE)) return true;
5207 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5211 static final private boolean jj_3R_123() {
5212 if (jj_scan_token(TRIPLEEQUAL)) return true;
5213 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5217 static final private boolean jj_3R_122() {
5218 if (jj_scan_token(BANGDOUBLEEQUAL)) return true;
5219 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5223 static final private boolean jj_3R_121() {
5224 if (jj_scan_token(NE)) return true;
5225 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5229 static final private boolean jj_3R_120() {
5230 if (jj_scan_token(DIF)) return true;
5231 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5235 static final private boolean jj_3R_119() {
5236 if (jj_scan_token(EQ)) return true;
5237 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5241 static final private boolean jj_3R_116() {
5252 if (jj_3R_123()) return true;
5253 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5254 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5255 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5256 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5257 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5258 if (jj_3R_115()) return true;
5259 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5263 static final private boolean jj_3R_73() {
5264 if (jj_scan_token(DOLLAR_ID)) return true;
5265 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5268 if (jj_3R_110()) jj_scanpos = xsp;
5269 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5273 static final private boolean jj_3R_113() {
5274 if (jj_3R_115()) return true;
5275 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5279 if (jj_3R_116()) { jj_scanpos = xsp; break; }
5280 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5285 static final private boolean jj_3R_197() {
5286 if (jj_scan_token(COMMA)) return true;
5287 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5288 if (jj_3R_41()) return true;
5289 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5293 static final private boolean jj_3R_72() {
5294 if (jj_scan_token(DOLLAR)) return true;
5295 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5296 if (jj_3R_62()) return true;
5297 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5301 static final private boolean jj_3R_196() {
5302 if (jj_3R_41()) return true;
5303 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5307 if (jj_3R_197()) { jj_scanpos = xsp; break; }
5308 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5313 static final private boolean jj_3R_99() {
5314 if (jj_scan_token(LBRACE)) return true;
5315 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5316 if (jj_3R_41()) return true;
5317 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5318 if (jj_scan_token(RBRACE)) return true;
5319 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5323 static final private boolean jj_3R_71() {
5324 if (jj_scan_token(IDENTIFIER)) return true;
5325 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5328 if (jj_3R_109()) jj_scanpos = xsp;
5329 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5333 static final private boolean jj_3R_70() {
5334 if (jj_scan_token(LBRACE)) return true;
5335 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5336 if (jj_3R_41()) return true;
5337 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5338 if (jj_scan_token(RBRACE)) return true;
5339 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5343 static final private boolean jj_3R_62() {
5352 if (jj_3R_73()) return true;
5353 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5354 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5355 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5356 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5360 static final private boolean jj_3R_114() {
5361 if (jj_scan_token(BIT_AND)) return true;
5362 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5363 if (jj_3R_113()) return true;
5364 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5368 static final private boolean jj_3R_194() {
5369 if (jj_3R_196()) return true;
5370 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5374 static final private boolean jj_3R_111() {
5375 if (jj_3R_113()) return true;
5376 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5380 if (jj_3R_114()) { jj_scanpos = xsp; break; }
5381 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5386 static final private boolean jj_3R_94() {
5387 if (jj_scan_token(DOLLAR)) return true;
5388 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5389 if (jj_3R_62()) return true;
5390 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5394 static final private boolean jj_3R_192() {
5395 if (jj_scan_token(LPAREN)) return true;
5396 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5399 if (jj_3R_194()) jj_scanpos = xsp;
5400 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5401 if (jj_scan_token(RPAREN)) return true;
5402 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5406 static final private boolean jj_3R_93() {
5407 if (jj_scan_token(DOLLAR_ID)) return true;
5408 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5411 if (jj_3R_99()) jj_scanpos = xsp;
5412 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5416 static final private boolean jj_3R_77() {
5421 if (jj_3R_94()) return true;
5422 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5423 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5427 static final private boolean jj_3R_112() {
5428 if (jj_scan_token(XOR)) return true;
5429 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5430 if (jj_3R_111()) return true;
5431 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5435 static final private boolean jj_3R_175() {
5436 if (jj_scan_token(NULL)) return true;
5437 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5441 static private boolean jj_initialized_once = false;
5442 static public PHPParserTokenManager token_source;
5443 static SimpleCharStream jj_input_stream;
5444 static public Token token, jj_nt;
5445 static private int jj_ntk;
5446 static private Token jj_scanpos, jj_lastpos;
5447 static private int jj_la;
5448 static public boolean lookingAhead = false;
5449 static private boolean jj_semLA;
5450 static private int jj_gen;
5451 static final private int[] jj_la1 = new int[122];
5452 static private int[] jj_la1_0;
5453 static private int[] jj_la1_1;
5454 static private int[] jj_la1_2;
5455 static private int[] jj_la1_3;
5456 static private int[] jj_la1_4;
5464 private static void jj_la1_0() {
5465 jj_la1_0 = new int[] {0xfcb0001e,0x0,0x6,0x6,0xfcb0001e,0xfcb00000,0x0,0x600000,0x600000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000000,0x0,0x14000000,0x0,0x0,0x0,0x0,0x0,0x0,0x14000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000000,0x0,0x4000000,0x0,0x4000000,0x0,0x0,0x0,0x0,0x4000000,0x0,0x0,0x0,0x14000000,0x0,0x0,0x0,0x14000000,0x0,0x10,0x0,0xe4800000,0xfc800000,0x0,0x0,0x0,0x0,0xc0000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfcb00000,0xfcb00000,0xf4b00000,0x0,0x0,0x0,0x0,0x4000000,0x0,0xf4b00000,0x8000000,0x0,0xfc800000,0x1000000,0x2000000,0x1000000,0x2000000,0xfc800000,0xfc800000,0xfc800000,0xfc800000,0x0,0xfc800000,0x0,0x0,0x0,0x4000000,0x14000000,0x4000000,0xfc800000,0xfc800000,0x4000000,0x0,0x0,0x0,0x14000000,};
5467 private static void jj_la1_1() {
5468 jj_la1_1 = new int[] {0x11d7548f,0x0,0x0,0x0,0x11d7548f,0x11d7548f,0x2000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc20000,0x40,0xc30080,0x0,0x0,0x0,0x0,0xc0000000,0x0,0xc30080,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc30000,0x0,0xc30000,0x0,0xc30000,0x0,0x0,0x10,0x10,0x10000,0x10000,0x0,0x10,0xc30080,0x10,0xc20000,0xc00000,0xc30080,0x0,0x0,0x0,0x1115540f,0x11d7548f,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x11d7548f,0x11d7548f,0x11d7548f,0x0,0x0,0x0,0x0,0x10000,0x900,0x11d7548f,0x0,0x900,0x11d7548f,0x0,0x0,0x0,0x0,0x11d7548f,0x11d7548f,0x11d7548f,0x11d7548f,0x0,0x11d7548f,0x0,0x10,0x40,0x10000,0xc30080,0x10000,0x11d7548f,0x11d7548f,0x10000,0x0,0x0,0x0,0xc30080,};
5470 private static void jj_la1_2() {
5471 jj_la1_2 = new int[] {0x2288a200,0x20000000,0x0,0x0,0x2288a200,0x2288a200,0x0,0x0,0x0,0x40000000,0x0,0x2000000,0x0,0x2000000,0x2080000,0x2080000,0x2200,0x2200,0x8a200,0x0,0x88a200,0x0,0x40000000,0x0,0x0,0x7f,0x0,0x88a200,0x0,0x0,0x80,0x80,0x100,0x100,0x80000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x88a200,0x0,0x88a200,0x0,0x88a200,0x0,0x0,0x8800000,0x8800000,0x80000,0x80000,0x80000,0x8800000,0x88a200,0x8000000,0xa200,0x0,0x88a200,0x40000000,0x20000000,0x0,0x22080000,0x2288a200,0x20000000,0x20000000,0x20000000,0x20000000,0x0,0x0,0x40000000,0x0,0x40000000,0x20000000,0x40000000,0x20000000,0x40000000,0x20000000,0x2288a200,0x2288a200,0x2288a200,0x40000000,0x0,0x0,0x0,0x80000,0x0,0x2288a200,0x0,0x0,0x2288a200,0x0,0x0,0x0,0x0,0x2288a200,0x2288a200,0x2288a200,0x2288a200,0x20000000,0x2288a200,0x20000000,0x8000000,0x0,0x80000,0x88a200,0x80000,0x2288a200,0x2288a200,0x80000,0x40000000,0x80000,0x80000,0x88a200,};
5473 private static void jj_la1_3() {
5474 jj_la1_3 = new int[] {0x78700000,0x0,0x0,0x0,0x78700000,0x78700000,0x0,0x0,0x0,0x0,0x200,0x0,0x200000,0x0,0x200000,0x200000,0x0,0x0,0x60000000,0x0,0x78700000,0x0,0x0,0x200000,0x0,0x0,0xffe00,0x78700000,0xffe00,0x800000,0x2000000,0x2000000,0x4000000,0x4000000,0x0,0x0,0x0,0x0,0x1e4,0x1e4,0x1b,0x1b,0x0,0x0,0x60000000,0x60000000,0x80000000,0x80000000,0x100000,0x78700000,0x60000000,0x78600000,0x400000,0x200000,0x18000000,0x18000000,0x0,0x0,0x200000,0x200000,0x200000,0x0,0x78700000,0x0,0x0,0x0,0x78700000,0x0,0x0,0x100000,0x18300000,0x78700000,0x0,0x0,0x0,0x0,0x0,0x200000,0x0,0x200,0x0,0x0,0x0,0x0,0x0,0x0,0x78700000,0x78700000,0x78700000,0x0,0x200,0x180ffe00,0x180ffe00,0x18200000,0x0,0x78700000,0x0,0x0,0x78700000,0x0,0x0,0x0,0x0,0x79700000,0x78700000,0x78700000,0x78700000,0x0,0x79700000,0x0,0x0,0x0,0x18200000,0x78700000,0x18200000,0x78700000,0x79700000,0x18200000,0x0,0x0,0x0,0x78700000,};
5476 private static void jj_la1_4() {
5477 jj_la1_4 = new int[] {0x402,0x0,0x0,0x0,0x402,0x402,0x0,0x0,0x0,0x0,0x0,0x0,0x400,0x0,0x400,0x400,0x0,0x0,0x0,0x0,0x402,0x2,0x0,0x402,0x2,0x0,0x300,0x402,0x300,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x8,0x2,0x0,0x0,0x0,0x0,0xe0,0xe0,0x0,0x0,0x11,0x11,0x0,0x402,0x0,0x400,0x0,0x400,0x0,0x0,0x0,0x0,0x400,0x400,0x400,0x0,0x402,0x0,0x0,0x0,0x402,0x0,0x0,0x0,0x400,0x402,0x800,0x800,0x800,0x800,0x0,0x400,0x0,0x0,0x0,0x800,0x0,0x800,0x0,0x800,0x402,0x402,0x402,0x0,0x0,0x300,0x300,0x400,0x0,0x402,0x0,0x0,0x402,0x0,0x0,0x0,0x0,0x402,0x402,0x402,0x402,0x800,0x402,0x800,0x0,0x0,0x400,0x402,0x400,0x402,0x402,0x400,0x0,0x0,0x0,0x402,};
5479 static final private JJCalls[] jj_2_rtns = new JJCalls[7];
5480 static private boolean jj_rescan = false;
5481 static private int jj_gc = 0;
5483 public PHPParser(java.io.InputStream stream) {
5484 if (jj_initialized_once) {
5485 System.out.println("ERROR: Second call to constructor of static parser. You must");
5486 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
5487 System.out.println(" during parser generation.");
5490 jj_initialized_once = true;
5491 jj_input_stream = new SimpleCharStream(stream, 1, 1);
5492 token_source = new PHPParserTokenManager(jj_input_stream);
5493 token = new Token();
5496 for (int i = 0; i < 122; i++) jj_la1[i] = -1;
5497 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5500 static public void ReInit(java.io.InputStream stream) {
5501 jj_input_stream.ReInit(stream, 1, 1);
5502 token_source.ReInit(jj_input_stream);
5503 token = new Token();
5506 for (int i = 0; i < 122; i++) jj_la1[i] = -1;
5507 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5510 public PHPParser(java.io.Reader stream) {
5511 if (jj_initialized_once) {
5512 System.out.println("ERROR: Second call to constructor of static parser. You must");
5513 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
5514 System.out.println(" during parser generation.");
5517 jj_initialized_once = true;
5518 jj_input_stream = new SimpleCharStream(stream, 1, 1);
5519 token_source = new PHPParserTokenManager(jj_input_stream);
5520 token = new Token();
5523 for (int i = 0; i < 122; i++) jj_la1[i] = -1;
5524 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5527 static public void ReInit(java.io.Reader stream) {
5528 jj_input_stream.ReInit(stream, 1, 1);
5529 token_source.ReInit(jj_input_stream);
5530 token = new Token();
5533 for (int i = 0; i < 122; i++) jj_la1[i] = -1;
5534 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5537 public PHPParser(PHPParserTokenManager tm) {
5538 if (jj_initialized_once) {
5539 System.out.println("ERROR: Second call to constructor of static parser. You must");
5540 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
5541 System.out.println(" during parser generation.");
5544 jj_initialized_once = true;
5546 token = new Token();
5549 for (int i = 0; i < 122; i++) jj_la1[i] = -1;
5550 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5553 public void ReInit(PHPParserTokenManager tm) {
5555 token = new Token();
5558 for (int i = 0; i < 122; i++) jj_la1[i] = -1;
5559 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5562 static final private Token jj_consume_token(int kind) throws ParseException {
5564 if ((oldToken = token).next != null) token = token.next;
5565 else token = token.next = token_source.getNextToken();
5567 if (token.kind == kind) {
5569 if (++jj_gc > 100) {
5571 for (int i = 0; i < jj_2_rtns.length; i++) {
5572 JJCalls c = jj_2_rtns[i];
5574 if (c.gen < jj_gen) c.first = null;
5583 throw generateParseException();
5586 static final private boolean jj_scan_token(int kind) {
5587 if (jj_scanpos == jj_lastpos) {
5589 if (jj_scanpos.next == null) {
5590 jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
5592 jj_lastpos = jj_scanpos = jj_scanpos.next;
5595 jj_scanpos = jj_scanpos.next;
5598 int i = 0; Token tok = token;
5599 while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
5600 if (tok != null) jj_add_error_token(kind, i);
5602 return (jj_scanpos.kind != kind);
5605 static final public Token getNextToken() {
5606 if (token.next != null) token = token.next;
5607 else token = token.next = token_source.getNextToken();
5613 static final public Token getToken(int index) {
5614 Token t = lookingAhead ? jj_scanpos : token;
5615 for (int i = 0; i < index; i++) {
5616 if (t.next != null) t = t.next;
5617 else t = t.next = token_source.getNextToken();
5622 static final private int jj_ntk() {
5623 if ((jj_nt=token.next) == null)
5624 return (jj_ntk = (token.next=token_source.getNextToken()).kind);
5626 return (jj_ntk = jj_nt.kind);
5629 static private java.util.Vector jj_expentries = new java.util.Vector();
5630 static private int[] jj_expentry;
5631 static private int jj_kind = -1;
5632 static private int[] jj_lasttokens = new int[100];
5633 static private int jj_endpos;
5635 static private void jj_add_error_token(int kind, int pos) {
5636 if (pos >= 100) return;
5637 if (pos == jj_endpos + 1) {
5638 jj_lasttokens[jj_endpos++] = kind;
5639 } else if (jj_endpos != 0) {
5640 jj_expentry = new int[jj_endpos];
5641 for (int i = 0; i < jj_endpos; i++) {
5642 jj_expentry[i] = jj_lasttokens[i];
5644 boolean exists = false;
5645 for (java.util.Enumeration enum = jj_expentries.elements(); enum.hasMoreElements();) {
5646 int[] oldentry = (int[])(enum.nextElement());
5647 if (oldentry.length == jj_expentry.length) {
5649 for (int i = 0; i < jj_expentry.length; i++) {
5650 if (oldentry[i] != jj_expentry[i]) {
5658 if (!exists) jj_expentries.addElement(jj_expentry);
5659 if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
5663 static public ParseException generateParseException() {
5664 jj_expentries.removeAllElements();
5665 boolean[] la1tokens = new boolean[140];
5666 for (int i = 0; i < 140; i++) {
5667 la1tokens[i] = false;
5670 la1tokens[jj_kind] = true;
5673 for (int i = 0; i < 122; i++) {
5674 if (jj_la1[i] == jj_gen) {
5675 for (int j = 0; j < 32; j++) {
5676 if ((jj_la1_0[i] & (1<<j)) != 0) {
5677 la1tokens[j] = true;
5679 if ((jj_la1_1[i] & (1<<j)) != 0) {
5680 la1tokens[32+j] = true;
5682 if ((jj_la1_2[i] & (1<<j)) != 0) {
5683 la1tokens[64+j] = true;
5685 if ((jj_la1_3[i] & (1<<j)) != 0) {
5686 la1tokens[96+j] = true;
5688 if ((jj_la1_4[i] & (1<<j)) != 0) {
5689 la1tokens[128+j] = true;
5694 for (int i = 0; i < 140; i++) {
5696 jj_expentry = new int[1];
5698 jj_expentries.addElement(jj_expentry);
5703 jj_add_error_token(0, 0);
5704 int[][] exptokseq = new int[jj_expentries.size()][];
5705 for (int i = 0; i < jj_expentries.size(); i++) {
5706 exptokseq[i] = (int[])jj_expentries.elementAt(i);
5708 return new ParseException(token, exptokseq, tokenImage);
5711 static final public void enable_tracing() {
5714 static final public void disable_tracing() {
5717 static final private void jj_rescan_token() {
5719 for (int i = 0; i < 7; i++) {
5720 JJCalls p = jj_2_rtns[i];
5722 if (p.gen > jj_gen) {
5723 jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
5725 case 0: jj_3_1(); break;
5726 case 1: jj_3_2(); break;
5727 case 2: jj_3_3(); break;
5728 case 3: jj_3_4(); break;
5729 case 4: jj_3_5(); break;
5730 case 5: jj_3_6(); break;
5731 case 6: jj_3_7(); break;
5735 } while (p != null);
5740 static final private void jj_save(int index, int xla) {
5741 JJCalls p = jj_2_rtns[index];
5742 while (p.gen > jj_gen) {
5743 if (p.next == null) { p = p.next = new JJCalls(); break; }
5746 p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
5749 static final class JJCalls {