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();
1386 expr = RelationalExpression();
1387 } catch (ParseException e) {
1388 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', expression expected after '"+operator.image+"'";
1390 {if (true) throw e;}
1392 buff.append(operator.image);
1395 {if (true) return buff.toString();}
1396 throw new Error("Missing return statement in function");
1399 static final public String RelationalExpression() throws ParseException {
1402 final StringBuffer buff = new StringBuffer();
1403 expr = ShiftExpression();
1407 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1415 jj_la1[40] = jj_gen;
1418 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1420 operator = jj_consume_token(LT);
1423 operator = jj_consume_token(GT);
1426 operator = jj_consume_token(LE);
1429 operator = jj_consume_token(GE);
1432 jj_la1[41] = jj_gen;
1433 jj_consume_token(-1);
1434 throw new ParseException();
1436 expr = ShiftExpression();
1437 buff.append(operator.image).append(expr);
1439 {if (true) return buff.toString();}
1440 throw new Error("Missing return statement in function");
1443 static final public String ShiftExpression() throws ParseException {
1446 final StringBuffer buff = new StringBuffer();
1447 expr = AdditiveExpression();
1451 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1454 case RUNSIGNEDSHIFT:
1458 jj_la1[42] = jj_gen;
1461 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1463 operator = jj_consume_token(LSHIFT);
1466 operator = jj_consume_token(RSIGNEDSHIFT);
1468 case RUNSIGNEDSHIFT:
1469 operator = jj_consume_token(RUNSIGNEDSHIFT);
1472 jj_la1[43] = jj_gen;
1473 jj_consume_token(-1);
1474 throw new ParseException();
1476 expr = AdditiveExpression();
1477 buff.append(operator.image);
1480 {if (true) return buff.toString();}
1481 throw new Error("Missing return statement in function");
1484 static final public String AdditiveExpression() throws ParseException {
1487 final StringBuffer buff = new StringBuffer();
1488 expr = MultiplicativeExpression();
1492 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1498 jj_la1[44] = jj_gen;
1501 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1503 operator = jj_consume_token(PLUS);
1506 operator = jj_consume_token(MINUS);
1509 jj_la1[45] = jj_gen;
1510 jj_consume_token(-1);
1511 throw new ParseException();
1513 expr = MultiplicativeExpression();
1514 buff.append(operator.image);
1517 {if (true) return buff.toString();}
1518 throw new Error("Missing return statement in function");
1521 static final public String MultiplicativeExpression() throws ParseException {
1524 final StringBuffer buff = new StringBuffer();
1525 expr = UnaryExpression();
1529 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1536 jj_la1[46] = jj_gen;
1539 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1541 operator = jj_consume_token(STAR);
1544 operator = jj_consume_token(SLASH);
1547 operator = jj_consume_token(REM);
1550 jj_la1[47] = jj_gen;
1551 jj_consume_token(-1);
1552 throw new ParseException();
1554 expr = UnaryExpression();
1555 buff.append(operator.image);
1558 {if (true) return buff.toString();}
1559 throw new Error("Missing return statement in function");
1563 * An unary expression starting with @, & or nothing
1565 static final public String UnaryExpression() throws ParseException {
1568 final StringBuffer buff = new StringBuffer();
1569 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1571 token = jj_consume_token(BIT_AND);
1572 expr = UnaryExpressionNoPrefix();
1573 if (token == null) {
1574 {if (true) return expr;}
1576 {if (true) return token.image + expr;}
1583 case INTEGER_LITERAL:
1584 case FLOATING_POINT_LITERAL:
1585 case STRING_LITERAL:
1598 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1603 jj_la1[48] = jj_gen;
1606 jj_consume_token(AT);
1609 expr = UnaryExpressionNoPrefix();
1610 {if (true) return buff.append(expr).toString();}
1613 jj_la1[49] = jj_gen;
1614 jj_consume_token(-1);
1615 throw new ParseException();
1617 throw new Error("Missing return statement in function");
1620 static final public String UnaryExpressionNoPrefix() throws ParseException {
1623 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1626 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1628 token = jj_consume_token(PLUS);
1631 token = jj_consume_token(MINUS);
1634 jj_la1[50] = jj_gen;
1635 jj_consume_token(-1);
1636 throw new ParseException();
1638 expr = UnaryExpression();
1639 {if (true) return token.image + expr;}
1642 expr = PreIncrementExpression();
1643 {if (true) return expr;}
1646 expr = PreDecrementExpression();
1647 {if (true) return expr;}
1654 case INTEGER_LITERAL:
1655 case FLOATING_POINT_LITERAL:
1656 case STRING_LITERAL:
1662 expr = UnaryExpressionNotPlusMinus();
1663 {if (true) return expr;}
1666 jj_la1[51] = jj_gen;
1667 jj_consume_token(-1);
1668 throw new ParseException();
1670 throw new Error("Missing return statement in function");
1673 static final public String PreIncrementExpression() throws ParseException {
1675 jj_consume_token(INCR);
1676 expr = PrimaryExpression();
1677 {if (true) return "++"+expr;}
1678 throw new Error("Missing return statement in function");
1681 static final public String PreDecrementExpression() throws ParseException {
1683 jj_consume_token(DECR);
1684 expr = PrimaryExpression();
1685 {if (true) return "--"+expr;}
1686 throw new Error("Missing return statement in function");
1689 static final public String UnaryExpressionNotPlusMinus() throws ParseException {
1691 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1693 jj_consume_token(BANG);
1694 expr = UnaryExpression();
1695 {if (true) return "!" + expr;}
1698 jj_la1[52] = jj_gen;
1699 if (jj_2_3(2147483647)) {
1700 expr = CastExpression();
1701 {if (true) return expr;}
1703 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1709 expr = PostfixExpression();
1710 {if (true) return expr;}
1715 case INTEGER_LITERAL:
1716 case FLOATING_POINT_LITERAL:
1717 case STRING_LITERAL:
1719 {if (true) return expr;}
1722 jj_consume_token(LPAREN);
1723 expr = Expression();
1725 jj_consume_token(RPAREN);
1726 } catch (ParseException e) {
1727 errorMessage = "')' expected";
1729 {if (true) throw e;}
1731 {if (true) return "("+expr+")";}
1734 jj_la1[53] = jj_gen;
1735 jj_consume_token(-1);
1736 throw new ParseException();
1740 throw new Error("Missing return statement in function");
1743 static final public String CastExpression() throws ParseException {
1744 final String type, expr;
1745 jj_consume_token(LPAREN);
1747 jj_consume_token(RPAREN);
1748 expr = UnaryExpression();
1749 {if (true) return "(" + type + ")" + expr;}
1750 throw new Error("Missing return statement in function");
1753 static final public String PostfixExpression() throws ParseException {
1755 Token operator = null;
1756 expr = PrimaryExpression();
1757 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1760 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1762 operator = jj_consume_token(INCR);
1765 operator = jj_consume_token(DECR);
1768 jj_la1[54] = jj_gen;
1769 jj_consume_token(-1);
1770 throw new ParseException();
1774 jj_la1[55] = jj_gen;
1777 if (operator == null) {
1778 {if (true) return expr;}
1780 {if (true) return expr + operator.image;}
1781 throw new Error("Missing return statement in function");
1784 static final public String PrimaryExpression() throws ParseException {
1785 final Token identifier;
1787 final StringBuffer buff = new StringBuffer();
1789 identifier = jj_consume_token(IDENTIFIER);
1790 jj_consume_token(STATICCLASSACCESS);
1791 expr = ClassIdentifier();
1792 buff.append(identifier.image).append("::").append(expr);
1795 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1802 jj_la1[56] = jj_gen;
1805 expr = PrimarySuffix();
1808 {if (true) return buff.toString();}
1810 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1815 expr = PrimaryPrefix();
1819 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1826 jj_la1[57] = jj_gen;
1829 expr = PrimarySuffix();
1832 {if (true) return buff.toString();}
1835 expr = ArrayDeclarator();
1836 {if (true) return "array" + expr;}
1839 jj_la1[58] = jj_gen;
1840 jj_consume_token(-1);
1841 throw new ParseException();
1844 throw new Error("Missing return statement in function");
1847 static final public String ArrayDeclarator() throws ParseException {
1849 jj_consume_token(ARRAY);
1850 expr = ArrayInitializer();
1851 {if (true) return "array" + expr;}
1852 throw new Error("Missing return statement in function");
1855 static final public String PrimaryPrefix() throws ParseException {
1858 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1860 token = jj_consume_token(IDENTIFIER);
1861 {if (true) return token.image;}
1864 jj_consume_token(NEW);
1865 expr = ClassIdentifier();
1866 {if (true) return "new " + expr;}
1870 expr = VariableDeclaratorId();
1871 {if (true) return expr;}
1874 jj_la1[59] = jj_gen;
1875 jj_consume_token(-1);
1876 throw new ParseException();
1878 throw new Error("Missing return statement in function");
1881 static final public String ClassIdentifier() throws ParseException {
1884 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1886 token = jj_consume_token(IDENTIFIER);
1887 {if (true) return token.image;}
1891 expr = VariableDeclaratorId();
1892 {if (true) return expr;}
1895 jj_la1[60] = jj_gen;
1896 jj_consume_token(-1);
1897 throw new ParseException();
1899 throw new Error("Missing return statement in function");
1902 static final public String PrimarySuffix() throws ParseException {
1904 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1907 {if (true) return expr;}
1911 expr = VariableSuffix();
1912 {if (true) return expr;}
1915 jj_la1[61] = jj_gen;
1916 jj_consume_token(-1);
1917 throw new ParseException();
1919 throw new Error("Missing return statement in function");
1922 static final public String VariableSuffix() throws ParseException {
1924 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1926 jj_consume_token(CLASSACCESS);
1928 expr = VariableName();
1929 } catch (ParseException e) {
1930 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', function call or field access expected";
1932 {if (true) throw e;}
1934 {if (true) return "->" + expr;}
1937 jj_consume_token(LBRACKET);
1938 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1946 case INTEGER_LITERAL:
1947 case FLOATING_POINT_LITERAL:
1948 case STRING_LITERAL:
1960 expr = Expression();
1963 jj_la1[62] = jj_gen;
1967 jj_consume_token(RBRACKET);
1968 } catch (ParseException e) {
1969 errorMessage = "']' expected";
1971 {if (true) throw e;}
1974 {if (true) return "[]";}
1976 {if (true) return "[" + expr + "]";}
1979 jj_la1[63] = jj_gen;
1980 jj_consume_token(-1);
1981 throw new ParseException();
1983 throw new Error("Missing return statement in function");
1986 static final public String Literal() throws ParseException {
1989 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1990 case INTEGER_LITERAL:
1991 token = jj_consume_token(INTEGER_LITERAL);
1992 {if (true) return token.image;}
1994 case FLOATING_POINT_LITERAL:
1995 token = jj_consume_token(FLOATING_POINT_LITERAL);
1996 {if (true) return token.image;}
1998 case STRING_LITERAL:
1999 token = jj_consume_token(STRING_LITERAL);
2000 {if (true) return token.image;}
2004 expr = BooleanLiteral();
2005 {if (true) return expr;}
2008 expr = NullLiteral();
2009 {if (true) return expr;}
2012 jj_la1[64] = jj_gen;
2013 jj_consume_token(-1);
2014 throw new ParseException();
2016 throw new Error("Missing return statement in function");
2019 static final public String BooleanLiteral() throws ParseException {
2020 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2022 jj_consume_token(TRUE);
2023 {if (true) return "true";}
2026 jj_consume_token(FALSE);
2027 {if (true) return "false";}
2030 jj_la1[65] = jj_gen;
2031 jj_consume_token(-1);
2032 throw new ParseException();
2034 throw new Error("Missing return statement in function");
2037 static final public String NullLiteral() throws ParseException {
2038 jj_consume_token(NULL);
2039 {if (true) return "null";}
2040 throw new Error("Missing return statement in function");
2043 static final public String Arguments() throws ParseException {
2045 jj_consume_token(LPAREN);
2046 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2054 case INTEGER_LITERAL:
2055 case FLOATING_POINT_LITERAL:
2056 case STRING_LITERAL:
2068 expr = ArgumentList();
2071 jj_la1[66] = jj_gen;
2075 jj_consume_token(RPAREN);
2076 } catch (ParseException e) {
2077 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', ')' expected to close the argument list";
2079 {if (true) throw e;}
2082 {if (true) return "()";}
2084 {if (true) return "(" + expr + ")";}
2085 throw new Error("Missing return statement in function");
2088 static final public String ArgumentList() throws ParseException {
2090 final StringBuffer buff = new StringBuffer();
2091 expr = Expression();
2095 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2100 jj_la1[67] = jj_gen;
2103 jj_consume_token(COMMA);
2105 expr = Expression();
2106 } catch (ParseException e) {
2107 errorMessage = "expression expected after a comma in argument list";
2109 {if (true) throw e;}
2111 buff.append(",").append(expr);
2113 {if (true) return buff.toString();}
2114 throw new Error("Missing return statement in function");
2118 * A Statement without break
2120 static final public void StatementNoBreak() throws ParseException {
2124 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2126 jj_consume_token(SEMICOLON);
2129 jj_consume_token(PHPEND);
2130 PHPParserTokenManager.SwitchTo(PHPParserTokenManager.DEFAULT);
2133 jj_la1[68] = jj_gen;
2134 jj_consume_token(-1);
2135 throw new ParseException();
2137 } catch (ParseException e) {
2138 errorMessage = "';' expected";
2140 {if (true) throw e;}
2142 } else if (jj_2_6(2)) {
2145 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2159 StatementExpression();
2161 jj_consume_token(SEMICOLON);
2162 } catch (ParseException e) {
2163 errorMessage = "';' expected after expression";
2165 {if (true) throw e;}
2187 ContinueStatement();
2200 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2202 jj_consume_token(AT);
2205 jj_la1[69] = jj_gen;
2217 jj_la1[70] = jj_gen;
2218 jj_consume_token(-1);
2219 throw new ParseException();
2225 * A Normal statement
2227 static final public void Statement() throws ParseException {
2228 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2251 case INTEGER_LITERAL:
2252 case FLOATING_POINT_LITERAL:
2253 case STRING_LITERAL:
2273 jj_la1[71] = jj_gen;
2274 jj_consume_token(-1);
2275 throw new ParseException();
2279 static final public void IncludeStatement() throws ParseException {
2281 final int pos = jj_input_stream.bufpos;
2282 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2284 jj_consume_token(REQUIRE);
2285 expr = Expression();
2286 if (currentSegment != null) {
2287 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "require",pos,expr));
2290 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2292 jj_consume_token(SEMICOLON);
2295 jj_consume_token(PHPEND);
2296 PHPParserTokenManager.SwitchTo(PHPParserTokenManager.DEFAULT);
2299 jj_la1[72] = jj_gen;
2300 jj_consume_token(-1);
2301 throw new ParseException();
2303 } catch (ParseException e) {
2304 errorMessage = "';' expected";
2306 {if (true) throw e;}
2310 jj_consume_token(REQUIRE_ONCE);
2311 expr = Expression();
2312 if (currentSegment != null) {
2313 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "require_once",pos,expr));
2316 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2318 jj_consume_token(SEMICOLON);
2321 jj_consume_token(PHPEND);
2322 PHPParserTokenManager.SwitchTo(PHPParserTokenManager.DEFAULT);
2325 jj_la1[73] = jj_gen;
2326 jj_consume_token(-1);
2327 throw new ParseException();
2329 } catch (ParseException e) {
2330 errorMessage = "';' expected";
2332 {if (true) throw e;}
2336 jj_consume_token(INCLUDE);
2337 expr = Expression();
2338 if (currentSegment != null) {
2339 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "include",pos,expr));
2342 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2344 jj_consume_token(SEMICOLON);
2347 jj_consume_token(PHPEND);
2348 PHPParserTokenManager.SwitchTo(PHPParserTokenManager.DEFAULT);
2351 jj_la1[74] = jj_gen;
2352 jj_consume_token(-1);
2353 throw new ParseException();
2355 } catch (ParseException e) {
2356 errorMessage = "';' expected";
2358 {if (true) throw e;}
2362 jj_consume_token(INCLUDE_ONCE);
2363 expr = Expression();
2364 if (currentSegment != null) {
2365 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "include_once",pos,expr));
2368 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2370 jj_consume_token(SEMICOLON);
2373 jj_consume_token(PHPEND);
2374 PHPParserTokenManager.SwitchTo(PHPParserTokenManager.DEFAULT);
2377 jj_la1[75] = jj_gen;
2378 jj_consume_token(-1);
2379 throw new ParseException();
2381 } catch (ParseException e) {
2382 errorMessage = "';' expected";
2384 {if (true) throw e;}
2388 jj_la1[76] = jj_gen;
2389 jj_consume_token(-1);
2390 throw new ParseException();
2394 static final public String PrintExpression() throws ParseException {
2395 final StringBuffer buff = new StringBuffer("print ");
2397 jj_consume_token(PRINT);
2398 expr = Expression();
2400 {if (true) return buff.toString();}
2401 throw new Error("Missing return statement in function");
2404 static final public String ListExpression() throws ParseException {
2405 final StringBuffer buff = new StringBuffer("list(");
2407 jj_consume_token(LIST);
2409 jj_consume_token(LPAREN);
2410 } catch (ParseException e) {
2411 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', '(' expected";
2413 {if (true) throw e;}
2415 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2418 expr = VariableDeclaratorId();
2422 jj_la1[77] = jj_gen;
2425 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2428 jj_consume_token(COMMA);
2429 } catch (ParseException e) {
2430 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', ',' expected";
2432 {if (true) throw e;}
2434 expr = VariableDeclaratorId();
2435 buff.append(",").append(expr);
2438 jj_la1[78] = jj_gen;
2443 jj_consume_token(RPAREN);
2444 } catch (ParseException e) {
2445 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', ')' expected";
2447 {if (true) throw e;}
2449 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2451 jj_consume_token(ASSIGN);
2452 expr = Expression();
2453 buff.append("(").append(expr);
2456 jj_la1[79] = jj_gen;
2459 {if (true) return buff.toString();}
2460 throw new Error("Missing return statement in function");
2463 static final public void EchoStatement() throws ParseException {
2464 jj_consume_token(ECHO);
2468 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2473 jj_la1[80] = jj_gen;
2476 jj_consume_token(COMMA);
2480 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2482 jj_consume_token(SEMICOLON);
2485 jj_consume_token(PHPEND);
2486 PHPParserTokenManager.SwitchTo(PHPParserTokenManager.DEFAULT);
2489 jj_la1[81] = jj_gen;
2490 jj_consume_token(-1);
2491 throw new ParseException();
2493 } catch (ParseException e) {
2494 errorMessage = "';' expected after 'echo' statement";
2496 {if (true) throw e;}
2500 static final public void GlobalStatement() throws ParseException {
2501 jj_consume_token(GLOBAL);
2502 VariableDeclaratorId();
2505 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2510 jj_la1[82] = jj_gen;
2513 jj_consume_token(COMMA);
2514 VariableDeclaratorId();
2517 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2519 jj_consume_token(SEMICOLON);
2522 jj_consume_token(PHPEND);
2523 PHPParserTokenManager.SwitchTo(PHPParserTokenManager.DEFAULT);
2526 jj_la1[83] = jj_gen;
2527 jj_consume_token(-1);
2528 throw new ParseException();
2530 } catch (ParseException e) {
2531 errorMessage = "';' expected";
2533 {if (true) throw e;}
2537 static final public void StaticStatement() throws ParseException {
2538 jj_consume_token(STATIC);
2539 VariableDeclarator();
2542 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2547 jj_la1[84] = jj_gen;
2550 jj_consume_token(COMMA);
2551 VariableDeclarator();
2554 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2556 jj_consume_token(SEMICOLON);
2559 jj_consume_token(PHPEND);
2560 PHPParserTokenManager.SwitchTo(PHPParserTokenManager.DEFAULT);
2563 jj_la1[85] = jj_gen;
2564 jj_consume_token(-1);
2565 throw new ParseException();
2567 } catch (ParseException e) {
2568 errorMessage = "';' expected";
2570 {if (true) throw e;}
2574 static final public void LabeledStatement() throws ParseException {
2575 jj_consume_token(IDENTIFIER);
2576 jj_consume_token(COLON);
2580 static final public void Block() throws ParseException {
2582 jj_consume_token(LBRACE);
2583 } catch (ParseException e) {
2584 errorMessage = "'{' expected";
2586 {if (true) throw e;}
2590 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2616 case INTEGER_LITERAL:
2617 case FLOATING_POINT_LITERAL:
2618 case STRING_LITERAL:
2635 jj_la1[86] = jj_gen;
2641 jj_consume_token(RBRACE);
2642 } catch (ParseException e) {
2643 errorMessage = "unexpected token : '"+ e.currentToken.image +"', '}' expected";
2645 {if (true) throw e;}
2649 static final public void BlockStatement() throws ParseException {
2650 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2674 case INTEGER_LITERAL:
2675 case FLOATING_POINT_LITERAL:
2676 case STRING_LITERAL:
2696 MethodDeclaration();
2699 jj_la1[87] = jj_gen;
2700 jj_consume_token(-1);
2701 throw new ParseException();
2706 * A Block statement that will not contain any 'break'
2708 static final public void BlockStatementNoBreak() throws ParseException {
2709 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2732 case INTEGER_LITERAL:
2733 case FLOATING_POINT_LITERAL:
2734 case STRING_LITERAL:
2754 MethodDeclaration();
2757 jj_la1[88] = jj_gen;
2758 jj_consume_token(-1);
2759 throw new ParseException();
2763 static final public void LocalVariableDeclaration() throws ParseException {
2764 LocalVariableDeclarator();
2767 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2772 jj_la1[89] = jj_gen;
2775 jj_consume_token(COMMA);
2776 LocalVariableDeclarator();
2780 static final public void LocalVariableDeclarator() throws ParseException {
2781 VariableDeclaratorId();
2782 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2784 jj_consume_token(ASSIGN);
2788 jj_la1[90] = jj_gen;
2793 static final public void EmptyStatement() throws ParseException {
2794 jj_consume_token(SEMICOLON);
2797 static final public void StatementExpression() throws ParseException {
2798 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2800 PreIncrementExpression();
2803 PreDecrementExpression();
2810 PrimaryExpression();
2811 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2826 case RSIGNEDSHIFTASSIGN:
2827 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2829 jj_consume_token(INCR);
2832 jj_consume_token(DECR);
2846 case RSIGNEDSHIFTASSIGN:
2847 AssignmentOperator();
2851 jj_la1[91] = jj_gen;
2852 jj_consume_token(-1);
2853 throw new ParseException();
2857 jj_la1[92] = jj_gen;
2862 jj_la1[93] = jj_gen;
2863 jj_consume_token(-1);
2864 throw new ParseException();
2868 static final public void SwitchStatement() throws ParseException {
2869 Token breakToken = null;
2871 jj_consume_token(SWITCH);
2873 jj_consume_token(LPAREN);
2874 } catch (ParseException e) {
2875 errorMessage = "'(' expected after 'switch'";
2877 {if (true) throw e;}
2881 jj_consume_token(RPAREN);
2882 } catch (ParseException e) {
2883 errorMessage = "')' expected";
2885 {if (true) throw e;}
2888 jj_consume_token(LBRACE);
2889 } catch (ParseException e) {
2890 errorMessage = "'{' expected";
2892 {if (true) throw e;}
2896 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2902 jj_la1[94] = jj_gen;
2905 line = SwitchLabel();
2908 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2933 case INTEGER_LITERAL:
2934 case FLOATING_POINT_LITERAL:
2935 case STRING_LITERAL:
2952 jj_la1[95] = jj_gen;
2955 BlockStatementNoBreak();
2957 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2959 breakToken = BreakStatement();
2962 jj_la1[96] = jj_gen;
2966 if (breakToken == null) {
2967 setMarker(fileToParse,
2968 "You should use put a 'break' at the end of your statement",
2973 } catch (CoreException e) {
2974 PHPeclipsePlugin.log(e);
2978 jj_consume_token(RBRACE);
2979 } catch (ParseException e) {
2980 errorMessage = "'}' expected";
2982 {if (true) throw e;}
2986 static final public Token BreakStatement() throws ParseException {
2988 token = jj_consume_token(BREAK);
2989 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2997 case INTEGER_LITERAL:
2998 case FLOATING_POINT_LITERAL:
2999 case STRING_LITERAL:
3014 jj_la1[97] = jj_gen;
3018 jj_consume_token(SEMICOLON);
3019 } catch (ParseException e) {
3020 errorMessage = "';' expected after 'break' keyword";
3022 {if (true) throw e;}
3024 {if (true) return token;}
3025 throw new Error("Missing return statement in function");
3028 static final public int SwitchLabel() throws ParseException {
3030 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3032 token = jj_consume_token(CASE);
3035 } catch (ParseException e) {
3036 if (errorMessage != null) {if (true) throw e;}
3037 errorMessage = "expression expected after 'case' keyword";
3039 {if (true) throw e;}
3042 jj_consume_token(COLON);
3043 } catch (ParseException e) {
3044 errorMessage = "':' expected after case expression";
3046 {if (true) throw e;}
3048 {if (true) return token.beginLine;}
3051 token = jj_consume_token(_DEFAULT);
3053 jj_consume_token(COLON);
3054 } catch (ParseException e) {
3055 errorMessage = "':' expected after 'default' keyword";
3057 {if (true) throw e;}
3059 {if (true) return token.beginLine;}
3062 jj_la1[98] = jj_gen;
3063 jj_consume_token(-1);
3064 throw new ParseException();
3066 throw new Error("Missing return statement in function");
3069 static final public void IfStatement() throws ParseException {
3071 final int pos = jj_input_stream.bufpos;
3072 token = jj_consume_token(IF);
3074 IfStatement0(pos,pos+token.image.length());
3077 static final public void Condition(final String keyword) throws ParseException {
3079 jj_consume_token(LPAREN);
3080 } catch (ParseException e) {
3081 errorMessage = "'(' expected after " + keyword + " keyword";
3083 {if (true) throw e;}
3087 jj_consume_token(RPAREN);
3088 } catch (ParseException e) {
3089 errorMessage = "')' expected after " + keyword + " keyword";
3091 {if (true) throw e;}
3095 static final public void IfStatement0(final int start,final int end) throws ParseException {
3096 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3098 jj_consume_token(COLON);
3101 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3125 case INTEGER_LITERAL:
3126 case FLOATING_POINT_LITERAL:
3127 case STRING_LITERAL:
3144 jj_la1[99] = jj_gen;
3151 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3156 jj_la1[100] = jj_gen;
3159 ElseIfStatementColon();
3161 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3163 ElseStatementColon();
3166 jj_la1[101] = jj_gen;
3170 setMarker(fileToParse,
3171 "Ugly syntax detected, you should if () {...} instead of if (): ... endif;",
3175 "Line " + token.beginLine);
3176 } catch (CoreException e) {
3177 PHPeclipsePlugin.log(e);
3180 jj_consume_token(ENDIF);
3181 } catch (ParseException e) {
3182 errorMessage = "'endif' expected";
3184 {if (true) throw e;}
3187 jj_consume_token(SEMICOLON);
3188 } catch (ParseException e) {
3189 errorMessage = "';' expected after 'endif' keyword";
3191 {if (true) throw e;}
3217 case INTEGER_LITERAL:
3218 case FLOATING_POINT_LITERAL:
3219 case STRING_LITERAL:
3236 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3241 jj_la1[102] = jj_gen;
3246 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3248 jj_consume_token(ELSE);
3252 jj_la1[103] = jj_gen;
3257 jj_la1[104] = jj_gen;
3258 jj_consume_token(-1);
3259 throw new ParseException();
3263 static final public void ElseIfStatementColon() throws ParseException {
3264 jj_consume_token(ELSEIF);
3265 Condition("elseif");
3266 jj_consume_token(COLON);
3269 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3293 case INTEGER_LITERAL:
3294 case FLOATING_POINT_LITERAL:
3295 case STRING_LITERAL:
3312 jj_la1[105] = jj_gen;
3319 static final public void ElseStatementColon() throws ParseException {
3320 jj_consume_token(ELSE);
3321 jj_consume_token(COLON);
3324 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3348 case INTEGER_LITERAL:
3349 case FLOATING_POINT_LITERAL:
3350 case STRING_LITERAL:
3367 jj_la1[106] = jj_gen;
3374 static final public void ElseIfStatement() throws ParseException {
3375 jj_consume_token(ELSEIF);
3376 Condition("elseif");
3380 static final public void WhileStatement() throws ParseException {
3382 final int pos = jj_input_stream.bufpos;
3383 token = jj_consume_token(WHILE);
3385 WhileStatement0(pos,pos + token.image.length());
3388 static final public void WhileStatement0(final int start, final int end) throws ParseException {
3389 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3391 jj_consume_token(COLON);
3394 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3418 case INTEGER_LITERAL:
3419 case FLOATING_POINT_LITERAL:
3420 case STRING_LITERAL:
3437 jj_la1[107] = jj_gen;
3443 setMarker(fileToParse,
3444 "Ugly syntax detected, you should while () {...} instead of while (): ... endwhile;",
3448 "Line " + token.beginLine);
3449 } catch (CoreException e) {
3450 PHPeclipsePlugin.log(e);
3453 jj_consume_token(ENDWHILE);
3454 } catch (ParseException e) {
3455 errorMessage = "'endwhile' expected";
3457 {if (true) throw e;}
3460 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3462 jj_consume_token(SEMICOLON);
3465 jj_consume_token(PHPEND);
3466 PHPParserTokenManager.SwitchTo(PHPParserTokenManager.DEFAULT);
3469 jj_la1[108] = jj_gen;
3470 jj_consume_token(-1);
3471 throw new ParseException();
3473 } catch (ParseException e) {
3474 errorMessage = "';' expected after 'endwhile' keyword";
3476 {if (true) throw e;}
3502 case INTEGER_LITERAL:
3503 case FLOATING_POINT_LITERAL:
3504 case STRING_LITERAL:
3521 jj_la1[109] = jj_gen;
3522 jj_consume_token(-1);
3523 throw new ParseException();
3527 static final public void DoStatement() throws ParseException {
3528 jj_consume_token(DO);
3530 jj_consume_token(WHILE);
3533 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3535 jj_consume_token(SEMICOLON);
3538 jj_consume_token(PHPEND);
3539 PHPParserTokenManager.SwitchTo(PHPParserTokenManager.DEFAULT);
3542 jj_la1[110] = jj_gen;
3543 jj_consume_token(-1);
3544 throw new ParseException();
3546 } catch (ParseException e) {
3547 errorMessage = "';' expected";
3549 {if (true) throw e;}
3553 static final public void ForeachStatement() throws ParseException {
3554 jj_consume_token(FOREACH);
3556 jj_consume_token(LPAREN);
3557 } catch (ParseException e) {
3558 errorMessage = "'(' expected after 'foreach' keyword";
3560 {if (true) throw e;}
3564 } catch (ParseException e) {
3565 errorMessage = "variable expected";
3567 {if (true) throw e;}
3569 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3575 jj_la1[111] = jj_gen;
3579 jj_consume_token(AS);
3580 } catch (ParseException e) {
3581 errorMessage = "'as' expected";
3583 {if (true) throw e;}
3587 } catch (ParseException e) {
3588 errorMessage = "variable expected";
3590 {if (true) throw e;}
3592 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3594 jj_consume_token(ARRAYASSIGN);
3598 jj_la1[112] = jj_gen;
3602 jj_consume_token(RPAREN);
3603 } catch (ParseException e) {
3604 errorMessage = "')' expected after 'foreach' keyword";
3606 {if (true) throw e;}
3610 } catch (ParseException e) {
3611 if (errorMessage != null) {if (true) throw e;}
3612 errorMessage = "statement expected";
3614 {if (true) throw e;}
3618 static final public void ForStatement() throws ParseException {
3620 final int pos = jj_input_stream.bufpos;
3621 token = jj_consume_token(FOR);
3623 jj_consume_token(LPAREN);
3624 } catch (ParseException e) {
3625 errorMessage = "'(' expected after 'for' keyword";
3627 {if (true) throw e;}
3629 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3640 jj_la1[113] = jj_gen;
3643 jj_consume_token(SEMICOLON);
3644 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3652 case INTEGER_LITERAL:
3653 case FLOATING_POINT_LITERAL:
3654 case STRING_LITERAL:
3669 jj_la1[114] = jj_gen;
3672 jj_consume_token(SEMICOLON);
3673 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3681 StatementExpressionList();
3684 jj_la1[115] = jj_gen;
3687 jj_consume_token(RPAREN);
3688 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3712 case INTEGER_LITERAL:
3713 case FLOATING_POINT_LITERAL:
3714 case STRING_LITERAL:
3731 jj_consume_token(COLON);
3734 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3758 case INTEGER_LITERAL:
3759 case FLOATING_POINT_LITERAL:
3760 case STRING_LITERAL:
3777 jj_la1[116] = jj_gen;
3783 setMarker(fileToParse,
3784 "Ugly syntax detected, you should for () {...} instead of for (): ... endfor;",
3786 pos+token.image.length(),
3788 "Line " + token.beginLine);
3789 } catch (CoreException e) {
3790 PHPeclipsePlugin.log(e);
3793 jj_consume_token(ENDFOR);
3794 } catch (ParseException e) {
3795 errorMessage = "'endfor' expected";
3797 {if (true) throw e;}
3800 jj_consume_token(SEMICOLON);
3801 } catch (ParseException e) {
3802 errorMessage = "';' expected after 'endfor' keyword";
3804 {if (true) throw e;}
3808 jj_la1[117] = jj_gen;
3809 jj_consume_token(-1);
3810 throw new ParseException();
3814 static final public void ForInit() throws ParseException {
3815 if (jj_2_7(2147483647)) {
3816 LocalVariableDeclaration();
3818 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3826 StatementExpressionList();
3829 jj_la1[118] = jj_gen;
3830 jj_consume_token(-1);
3831 throw new ParseException();
3836 static final public void StatementExpressionList() throws ParseException {
3837 StatementExpression();
3840 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3845 jj_la1[119] = jj_gen;
3848 jj_consume_token(COMMA);
3849 StatementExpression();
3853 static final public void ContinueStatement() throws ParseException {
3854 jj_consume_token(CONTINUE);
3855 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3857 jj_consume_token(IDENTIFIER);
3860 jj_la1[120] = jj_gen;
3864 jj_consume_token(SEMICOLON);
3865 } catch (ParseException e) {
3866 errorMessage = "';' expected after 'continue' statement";
3868 {if (true) throw e;}
3872 static final public void ReturnStatement() throws ParseException {
3873 jj_consume_token(RETURN);
3874 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3882 case INTEGER_LITERAL:
3883 case FLOATING_POINT_LITERAL:
3884 case STRING_LITERAL:
3899 jj_la1[121] = jj_gen;
3903 jj_consume_token(SEMICOLON);
3904 } catch (ParseException e) {
3905 errorMessage = "';' expected after 'return' statement";
3907 {if (true) throw e;}
3911 static final private boolean jj_2_1(int xla) {
3912 jj_la = xla; jj_lastpos = jj_scanpos = token;
3913 boolean retval = !jj_3_1();
3918 static final private boolean jj_2_2(int xla) {
3919 jj_la = xla; jj_lastpos = jj_scanpos = token;
3920 boolean retval = !jj_3_2();
3925 static final private boolean jj_2_3(int xla) {
3926 jj_la = xla; jj_lastpos = jj_scanpos = token;
3927 boolean retval = !jj_3_3();
3932 static final private boolean jj_2_4(int xla) {
3933 jj_la = xla; jj_lastpos = jj_scanpos = token;
3934 boolean retval = !jj_3_4();
3939 static final private boolean jj_2_5(int xla) {
3940 jj_la = xla; jj_lastpos = jj_scanpos = token;
3941 boolean retval = !jj_3_5();
3946 static final private boolean jj_2_6(int xla) {
3947 jj_la = xla; jj_lastpos = jj_scanpos = token;
3948 boolean retval = !jj_3_6();
3953 static final private boolean jj_2_7(int xla) {
3954 jj_la = xla; jj_lastpos = jj_scanpos = token;
3955 boolean retval = !jj_3_7();
3960 static final private boolean jj_3R_107() {
3961 if (jj_3R_111()) return true;
3962 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3966 if (jj_3R_112()) { jj_scanpos = xsp; break; }
3967 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3972 static final private boolean jj_3_1() {
3973 if (jj_3R_38()) return true;
3974 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3978 static final private boolean jj_3R_170() {
3979 if (jj_3R_175()) return true;
3980 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3984 static final private boolean jj_3R_68() {
3985 if (jj_3R_77()) return true;
3986 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3990 if (jj_3_1()) { jj_scanpos = xsp; break; }
3991 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3996 static final private boolean jj_3R_169() {
3997 if (jj_3R_174()) return true;
3998 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4002 static final private boolean jj_3R_168() {
4003 if (jj_scan_token(STRING_LITERAL)) return true;
4004 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4008 static final private boolean jj_3R_108() {
4009 if (jj_scan_token(BIT_OR)) return true;
4010 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4011 if (jj_3R_107()) return true;
4012 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4016 static final private boolean jj_3R_69() {
4017 if (jj_scan_token(ASSIGN)) return true;
4018 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4019 if (jj_3R_41()) return true;
4020 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4024 static final private boolean jj_3R_167() {
4025 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
4026 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4030 static final private boolean jj_3R_100() {
4031 if (jj_3R_107()) return true;
4032 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4036 if (jj_3R_108()) { jj_scanpos = xsp; break; }
4037 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4042 static final private boolean jj_3R_61() {
4043 if (jj_scan_token(COMMA)) return true;
4044 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4045 if (jj_3R_60()) return true;
4046 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4050 static final private boolean jj_3R_163() {
4061 if (jj_3R_170()) return true;
4062 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4063 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4064 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4065 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4066 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4070 static final private boolean jj_3R_166() {
4071 if (jj_scan_token(INTEGER_LITERAL)) return true;
4072 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4076 static final private boolean jj_3R_103() {
4077 if (jj_scan_token(_ANDL)) return true;
4078 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4082 static final private boolean jj_3R_63() {
4083 if (jj_3R_41()) return true;
4084 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4088 static final private boolean jj_3R_101() {
4089 if (jj_scan_token(DOT)) return true;
4090 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4091 if (jj_3R_100()) return true;
4092 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4096 static final private boolean jj_3R_95() {
4097 if (jj_3R_100()) return true;
4098 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4102 if (jj_3R_101()) { jj_scanpos = xsp; break; }
4103 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4108 static final private boolean jj_3R_60() {
4109 if (jj_3R_68()) return true;
4110 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4113 if (jj_3R_69()) jj_scanpos = xsp;
4114 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4118 static final private boolean jj_3R_47() {
4119 if (jj_scan_token(LBRACKET)) return true;
4120 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4123 if (jj_3R_63()) jj_scanpos = xsp;
4124 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4125 if (jj_scan_token(RBRACKET)) return true;
4126 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4130 static final private boolean jj_3R_98() {
4131 if (jj_scan_token(_ORL)) return true;
4132 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4136 static final private boolean jj_3_7() {
4137 if (jj_3R_45()) return true;
4138 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4142 static final private boolean jj_3R_45() {
4143 if (jj_3R_60()) return true;
4144 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4148 if (jj_3R_61()) { jj_scanpos = xsp; break; }
4149 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4154 static final private boolean jj_3R_102() {
4155 if (jj_scan_token(SC_AND)) return true;
4156 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4160 static final private boolean jj_3R_96() {
4165 if (jj_3R_103()) return true;
4166 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4167 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4168 if (jj_3R_95()) return true;
4169 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4173 static final private boolean jj_3R_78() {
4174 if (jj_3R_95()) return true;
4175 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4179 if (jj_3R_96()) { jj_scanpos = xsp; break; }
4180 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4185 static final private boolean jj_3R_46() {
4186 if (jj_scan_token(CLASSACCESS)) return true;
4187 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4188 if (jj_3R_62()) return true;
4189 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4193 static final private boolean jj_3R_38() {
4198 if (jj_3R_47()) return true;
4199 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4200 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4204 static final private boolean jj_3R_75() {
4205 if (jj_scan_token(HOOK)) return true;
4206 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4207 if (jj_3R_41()) return true;
4208 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4209 if (jj_scan_token(COLON)) return true;
4210 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4211 if (jj_3R_66()) return true;
4212 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4216 static final private boolean jj_3R_189() {
4217 if (jj_3R_38()) return true;
4218 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4222 static final private boolean jj_3R_188() {
4223 if (jj_3R_192()) return true;
4224 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4228 static final private boolean jj_3R_184() {
4233 if (jj_3R_189()) return true;
4234 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4235 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4239 static final private boolean jj_3R_97() {
4240 if (jj_scan_token(SC_OR)) return true;
4241 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4245 static final private boolean jj_3R_79() {
4250 if (jj_3R_98()) return true;
4251 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4252 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4253 if (jj_3R_78()) return true;
4254 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4258 static final private boolean jj_3R_74() {
4259 if (jj_3R_78()) return true;
4260 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4264 if (jj_3R_79()) { jj_scanpos = xsp; break; }
4265 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4270 static final private boolean jj_3R_191() {
4271 if (jj_3R_68()) return true;
4272 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4276 static final private boolean jj_3R_190() {
4277 if (jj_scan_token(IDENTIFIER)) return true;
4278 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4282 static final private boolean jj_3R_186() {
4287 if (jj_3R_191()) return true;
4288 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4289 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4293 static final private boolean jj_3R_178() {
4294 if (jj_3R_68()) return true;
4295 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4299 static final private boolean jj_3R_66() {
4300 if (jj_3R_74()) return true;
4301 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4304 if (jj_3R_75()) jj_scanpos = xsp;
4305 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4309 static final private boolean jj_3R_177() {
4310 if (jj_scan_token(NEW)) return true;
4311 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4312 if (jj_3R_186()) return true;
4313 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4317 static final private boolean jj_3R_180() {
4318 if (jj_scan_token(DECR)) return true;
4319 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4323 static final private boolean jj_3R_176() {
4324 if (jj_scan_token(IDENTIFIER)) return true;
4325 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4329 static final private boolean jj_3R_171() {
4336 if (jj_3R_178()) return true;
4337 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4338 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4339 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4343 static final private boolean jj_3R_44() {
4344 if (jj_scan_token(IDENTIFIER)) return true;
4345 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4346 if (jj_scan_token(COLON)) return true;
4347 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4351 static final private boolean jj_3R_92() {
4352 if (jj_scan_token(TILDEEQUAL)) return true;
4353 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4357 static final private boolean jj_3R_91() {
4358 if (jj_scan_token(DOTASSIGN)) return true;
4359 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4363 static final private boolean jj_3R_90() {
4364 if (jj_scan_token(ORASSIGN)) return true;
4365 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4369 static final private boolean jj_3R_172() {
4370 if (jj_scan_token(ARRAY)) return true;
4371 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4372 if (jj_3R_185()) return true;
4373 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4377 static final private boolean jj_3R_89() {
4378 if (jj_scan_token(XORASSIGN)) return true;
4379 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4383 static final private boolean jj_3R_88() {
4384 if (jj_scan_token(ANDASSIGN)) return true;
4385 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4389 static final private boolean jj_3R_87() {
4390 if (jj_scan_token(RSIGNEDSHIFTASSIGN)) return true;
4391 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4395 static final private boolean jj_3R_86() {
4396 if (jj_scan_token(LSHIFTASSIGN)) return true;
4397 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4401 static final private boolean jj_3R_179() {
4402 if (jj_scan_token(INCR)) return true;
4403 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4407 static final private boolean jj_3R_165() {
4408 if (jj_3R_172()) return true;
4409 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4413 static final private boolean jj_3R_173() {
4418 if (jj_3R_180()) return true;
4419 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4420 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4424 static final private boolean jj_3R_183() {
4425 if (jj_3R_184()) return true;
4426 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4430 static final private boolean jj_3R_85() {
4431 if (jj_scan_token(MINUSASSIGN)) return true;
4432 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4436 static final private boolean jj_3R_84() {
4437 if (jj_scan_token(PLUSASSIGN)) return true;
4438 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4442 static final private boolean jj_3R_164() {
4443 if (jj_3R_171()) return true;
4444 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4448 if (jj_3R_183()) { jj_scanpos = xsp; break; }
4449 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4454 static final private boolean jj_3R_83() {
4455 if (jj_scan_token(REMASSIGN)) return true;
4456 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4460 static final private boolean jj_3R_82() {
4461 if (jj_scan_token(SLASHASSIGN)) return true;
4462 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4466 static final private boolean jj_3R_187() {
4467 if (jj_3R_184()) return true;
4468 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4472 static final private boolean jj_3R_81() {
4473 if (jj_scan_token(STARASSIGN)) return true;
4474 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4478 static final private boolean jj_3R_80() {
4479 if (jj_scan_token(ASSIGN)) return true;
4480 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4484 static final private boolean jj_3R_76() {
4511 if (jj_3R_92()) return true;
4512 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4513 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4514 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4515 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4516 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4517 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4518 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4519 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4520 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4521 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4522 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4523 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4524 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4528 static final private boolean jj_3_4() {
4529 if (jj_scan_token(IDENTIFIER)) return true;
4530 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4531 if (jj_scan_token(STATICCLASSACCESS)) return true;
4532 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4533 if (jj_3R_186()) return true;
4534 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4538 if (jj_3R_187()) { jj_scanpos = xsp; break; }
4539 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4544 static final private boolean jj_3R_160() {
4551 if (jj_3R_165()) return true;
4552 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4553 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4554 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4558 static final private boolean jj_3R_67() {
4559 if (jj_3R_76()) return true;
4560 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4561 if (jj_3R_41()) return true;
4562 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4566 static final private boolean jj_3R_106() {
4567 if (jj_scan_token(ASSIGN)) return true;
4568 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4569 if (jj_3R_41()) return true;
4570 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4574 static final private boolean jj_3R_59() {
4575 if (jj_3R_66()) return true;
4576 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4579 if (jj_3R_67()) jj_scanpos = xsp;
4580 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4584 static final private boolean jj_3R_162() {
4585 if (jj_3R_160()) return true;
4586 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4589 if (jj_3R_173()) jj_scanpos = xsp;
4590 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4594 static final private boolean jj_3R_58() {
4595 if (jj_3R_65()) return true;
4596 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4600 static final private boolean jj_3R_41() {
4607 if (jj_3R_59()) return true;
4608 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4609 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4610 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4614 static final private boolean jj_3R_57() {
4615 if (jj_3R_64()) return true;
4616 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4620 static final private boolean jj_3R_161() {
4621 if (jj_scan_token(LPAREN)) return true;
4622 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4623 if (jj_3R_40()) return true;
4624 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4625 if (jj_scan_token(RPAREN)) return true;
4626 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4627 if (jj_3R_135()) return true;
4628 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4632 static final private boolean jj_3R_105() {
4633 if (jj_scan_token(COMMA)) return true;
4634 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4635 if (jj_3R_68()) return true;
4636 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4640 static final private boolean jj_3R_56() {
4641 if (jj_scan_token(OBJECT)) return true;
4642 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4646 static final private boolean jj_3R_104() {
4647 if (jj_3R_68()) return true;
4648 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4652 static final private boolean jj_3R_55() {
4653 if (jj_scan_token(INTEGER)) return true;
4654 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4658 static final private boolean jj_3R_54() {
4659 if (jj_scan_token(INT)) return true;
4660 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4664 static final private boolean jj_3_3() {
4665 if (jj_scan_token(LPAREN)) return true;
4666 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4667 if (jj_3R_40()) return true;
4668 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4669 if (jj_scan_token(RPAREN)) return true;
4670 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4674 static final private boolean jj_3R_53() {
4675 if (jj_scan_token(FLOAT)) return true;
4676 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4680 static final private boolean jj_3R_159() {
4681 if (jj_scan_token(LPAREN)) return true;
4682 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4683 if (jj_3R_41()) return true;
4684 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4685 if (jj_scan_token(RPAREN)) return true;
4686 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4690 static final private boolean jj_3R_52() {
4691 if (jj_scan_token(DOUBLE)) return true;
4692 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4696 static final private boolean jj_3R_158() {
4697 if (jj_3R_163()) return true;
4698 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4702 static final private boolean jj_3R_65() {
4703 if (jj_scan_token(LIST)) return true;
4704 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4705 if (jj_scan_token(LPAREN)) return true;
4706 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4709 if (jj_3R_104()) jj_scanpos = xsp;
4710 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4712 if (jj_3R_105()) jj_scanpos = xsp;
4713 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4714 if (jj_scan_token(RPAREN)) return true;
4715 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4717 if (jj_3R_106()) jj_scanpos = xsp;
4718 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4722 static final private boolean jj_3R_51() {
4723 if (jj_scan_token(REAL)) return true;
4724 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4728 static final private boolean jj_3R_157() {
4729 if (jj_3R_162()) return true;
4730 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4734 static final private boolean jj_3R_50() {
4735 if (jj_scan_token(BOOLEAN)) return true;
4736 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4740 static final private boolean jj_3R_156() {
4741 if (jj_3R_161()) return true;
4742 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4746 static final private boolean jj_3R_49() {
4747 if (jj_scan_token(BOOL)) return true;
4748 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4752 static final private boolean jj_3R_154() {
4763 if (jj_3R_159()) return true;
4764 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4765 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4766 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4767 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4768 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4772 static final private boolean jj_3R_155() {
4773 if (jj_scan_token(BANG)) return true;
4774 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4775 if (jj_3R_135()) return true;
4776 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4780 static final private boolean jj_3R_40() {
4799 if (jj_3R_56()) return true;
4800 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4801 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4802 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4803 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4804 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4805 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4806 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4807 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4808 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4812 static final private boolean jj_3R_48() {
4813 if (jj_scan_token(STRING)) return true;
4814 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4818 static final private boolean jj_3R_64() {
4819 if (jj_scan_token(PRINT)) return true;
4820 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4821 if (jj_3R_41()) return true;
4822 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4826 static final private boolean jj_3R_153() {
4827 if (jj_scan_token(DECR)) return true;
4828 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4829 if (jj_3R_160()) return true;
4830 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4834 static final private boolean jj_3R_152() {
4835 if (jj_scan_token(INCR)) return true;
4836 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4837 if (jj_3R_160()) return true;
4838 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4842 static final private boolean jj_3R_151() {
4843 if (jj_scan_token(MINUS)) return true;
4844 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4848 static final private boolean jj_3R_149() {
4849 if (jj_3R_154()) return true;
4850 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4854 static final private boolean jj_3R_148() {
4855 if (jj_3R_153()) return true;
4856 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4860 static final private boolean jj_3R_143() {
4861 if (jj_scan_token(REM)) return true;
4862 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4866 static final private boolean jj_3R_147() {
4867 if (jj_3R_152()) return true;
4868 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4872 static final private boolean jj_3R_150() {
4873 if (jj_scan_token(PLUS)) return true;
4874 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4878 static final private boolean jj_3R_144() {
4887 if (jj_3R_149()) return true;
4888 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4889 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4890 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4891 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4895 static final private boolean jj_3R_146() {
4900 if (jj_3R_151()) return true;
4901 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4902 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4903 if (jj_3R_135()) return true;
4904 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4908 static final private boolean jj_3R_145() {
4909 if (jj_scan_token(AT)) return true;
4910 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4914 static final private boolean jj_3R_140() {
4918 if (jj_3R_145()) { jj_scanpos = xsp; break; }
4919 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4921 if (jj_3R_144()) return true;
4922 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4926 static final private boolean jj_3R_142() {
4927 if (jj_scan_token(SLASH)) return true;
4928 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4932 static final private boolean jj_3R_135() {
4937 if (jj_3R_140()) return true;
4938 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4939 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4943 static final private boolean jj_3R_139() {
4944 if (jj_scan_token(BIT_AND)) return true;
4945 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4946 if (jj_3R_144()) return true;
4947 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4951 static final private boolean jj_3R_134() {
4952 if (jj_scan_token(RUNSIGNEDSHIFT)) return true;
4953 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4957 static final private boolean jj_3R_138() {
4958 if (jj_scan_token(MINUS)) return true;
4959 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4963 static final private boolean jj_3R_129() {
4964 if (jj_scan_token(GE)) return true;
4965 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4969 static final private boolean jj_3R_141() {
4970 if (jj_scan_token(STAR)) return true;
4971 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4975 static final private boolean jj_3R_136() {
4982 if (jj_3R_143()) return true;
4983 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4984 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4985 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4986 if (jj_3R_135()) return true;
4987 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4991 static final private boolean jj_3R_130() {
4992 if (jj_3R_135()) return true;
4993 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4997 if (jj_3R_136()) { jj_scanpos = xsp; break; }
4998 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5003 static final private boolean jj_3R_133() {
5004 if (jj_scan_token(RSIGNEDSHIFT)) return true;
5005 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5009 static final private boolean jj_3R_128() {
5010 if (jj_scan_token(LE)) return true;
5011 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5015 static final private boolean jj_3R_137() {
5016 if (jj_scan_token(PLUS)) return true;
5017 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5021 static final private boolean jj_3R_131() {
5026 if (jj_3R_138()) return true;
5027 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5028 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5029 if (jj_3R_130()) return true;
5030 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5034 static final private boolean jj_3_2() {
5035 if (jj_scan_token(COMMA)) return true;
5036 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5037 if (jj_3R_39()) return true;
5038 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5042 static final private boolean jj_3R_124() {
5043 if (jj_3R_130()) return true;
5044 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5048 if (jj_3R_131()) { jj_scanpos = xsp; break; }
5049 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5054 static final private boolean jj_3R_193() {
5055 if (jj_3R_39()) return true;
5056 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5060 if (jj_3_2()) { jj_scanpos = xsp; break; }
5061 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5066 static final private boolean jj_3R_127() {
5067 if (jj_scan_token(GT)) return true;
5068 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5072 static final private boolean jj_3R_185() {
5073 if (jj_scan_token(LPAREN)) return true;
5074 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5077 if (jj_3R_193()) jj_scanpos = xsp;
5078 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5079 if (jj_scan_token(RPAREN)) return true;
5080 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5084 static final private boolean jj_3R_132() {
5085 if (jj_scan_token(LSHIFT)) return true;
5086 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5090 static final private boolean jj_3R_125() {
5097 if (jj_3R_134()) return true;
5098 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5099 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5100 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5101 if (jj_3R_124()) return true;
5102 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5106 static final private boolean jj_3R_117() {
5107 if (jj_3R_124()) return true;
5108 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5112 if (jj_3R_125()) { jj_scanpos = xsp; break; }
5113 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5118 static final private boolean jj_3R_43() {
5119 if (jj_scan_token(PHPEND)) return true;
5120 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5124 static final private boolean jj_3R_195() {
5125 if (jj_scan_token(ARRAYASSIGN)) return true;
5126 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5127 if (jj_3R_41()) return true;
5128 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5132 static final private boolean jj_3R_39() {
5133 if (jj_3R_41()) return true;
5134 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5137 if (jj_3R_195()) jj_scanpos = xsp;
5138 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5142 static final private boolean jj_3R_126() {
5143 if (jj_scan_token(LT)) return true;
5144 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5148 static final private boolean jj_3R_118() {
5157 if (jj_3R_129()) return true;
5158 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5159 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5160 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5161 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5162 if (jj_3R_117()) return true;
5163 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5167 static final private boolean jj_3_6() {
5168 if (jj_3R_44()) return true;
5169 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5173 static final private boolean jj_3R_115() {
5174 if (jj_3R_117()) return true;
5175 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5179 if (jj_3R_118()) { jj_scanpos = xsp; break; }
5180 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5185 static final private boolean jj_3R_42() {
5186 if (jj_scan_token(SEMICOLON)) return true;
5187 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5191 static final private boolean jj_3_5() {
5192 if (jj_3R_41()) return true;
5193 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5198 if (jj_3R_43()) return true;
5199 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5200 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5204 static final private boolean jj_3R_110() {
5205 if (jj_3R_62()) return true;
5206 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5210 static final private boolean jj_3R_109() {
5211 if (jj_scan_token(LBRACE)) return true;
5212 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5213 if (jj_3R_41()) return true;
5214 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5215 if (jj_scan_token(RBRACE)) return true;
5216 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5220 static final private boolean jj_3R_123() {
5221 if (jj_scan_token(TRIPLEEQUAL)) return true;
5222 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5226 static final private boolean jj_3R_122() {
5227 if (jj_scan_token(BANGDOUBLEEQUAL)) return true;
5228 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5232 static final private boolean jj_3R_121() {
5233 if (jj_scan_token(NE)) return true;
5234 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5238 static final private boolean jj_3R_120() {
5239 if (jj_scan_token(DIF)) return true;
5240 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5244 static final private boolean jj_3R_119() {
5245 if (jj_scan_token(EQ)) return true;
5246 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5250 static final private boolean jj_3R_197() {
5251 if (jj_scan_token(COMMA)) return true;
5252 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5253 if (jj_3R_41()) return true;
5254 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5258 static final private boolean jj_3R_116() {
5269 if (jj_3R_123()) return true;
5270 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5271 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5272 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5273 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5274 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5275 if (jj_3R_115()) return true;
5276 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5280 static final private boolean jj_3R_73() {
5281 if (jj_scan_token(DOLLAR_ID)) return true;
5282 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5285 if (jj_3R_110()) jj_scanpos = xsp;
5286 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5290 static final private boolean jj_3R_196() {
5291 if (jj_3R_41()) return true;
5292 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5296 if (jj_3R_197()) { jj_scanpos = xsp; break; }
5297 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5302 static final private boolean jj_3R_113() {
5303 if (jj_3R_115()) return true;
5304 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5308 if (jj_3R_116()) { jj_scanpos = xsp; break; }
5309 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5314 static final private boolean jj_3R_72() {
5315 if (jj_scan_token(DOLLAR)) return true;
5316 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5317 if (jj_3R_62()) return true;
5318 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5322 static final private boolean jj_3R_99() {
5323 if (jj_scan_token(LBRACE)) return true;
5324 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5325 if (jj_3R_41()) return true;
5326 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5327 if (jj_scan_token(RBRACE)) return true;
5328 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5332 static final private boolean jj_3R_71() {
5333 if (jj_scan_token(IDENTIFIER)) return true;
5334 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5337 if (jj_3R_109()) jj_scanpos = xsp;
5338 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5342 static final private boolean jj_3R_194() {
5343 if (jj_3R_196()) return true;
5344 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5348 static final private boolean jj_3R_70() {
5349 if (jj_scan_token(LBRACE)) return true;
5350 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5351 if (jj_3R_41()) return true;
5352 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5353 if (jj_scan_token(RBRACE)) return true;
5354 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5358 static final private boolean jj_3R_62() {
5367 if (jj_3R_73()) return true;
5368 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5369 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5370 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5371 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5375 static final private boolean jj_3R_114() {
5376 if (jj_scan_token(BIT_AND)) return true;
5377 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5378 if (jj_3R_113()) return true;
5379 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5383 static final private boolean jj_3R_111() {
5384 if (jj_3R_113()) return true;
5385 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5389 if (jj_3R_114()) { jj_scanpos = xsp; break; }
5390 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5395 static final private boolean jj_3R_192() {
5396 if (jj_scan_token(LPAREN)) return true;
5397 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5400 if (jj_3R_194()) jj_scanpos = xsp;
5401 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5402 if (jj_scan_token(RPAREN)) return true;
5403 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5407 static final private boolean jj_3R_94() {
5408 if (jj_scan_token(DOLLAR)) return true;
5409 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5410 if (jj_3R_62()) return true;
5411 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5415 static final private boolean jj_3R_175() {
5416 if (jj_scan_token(NULL)) return true;
5417 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5421 static final private boolean jj_3R_93() {
5422 if (jj_scan_token(DOLLAR_ID)) return true;
5423 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5426 if (jj_3R_99()) jj_scanpos = xsp;
5427 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5431 static final private boolean jj_3R_77() {
5436 if (jj_3R_94()) return true;
5437 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5438 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5442 static final private boolean jj_3R_112() {
5443 if (jj_scan_token(XOR)) return true;
5444 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5445 if (jj_3R_111()) return true;
5446 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5450 static final private boolean jj_3R_182() {
5451 if (jj_scan_token(FALSE)) return true;
5452 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5456 static final private boolean jj_3R_181() {
5457 if (jj_scan_token(TRUE)) return true;
5458 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5462 static final private boolean jj_3R_174() {
5467 if (jj_3R_182()) return true;
5468 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5469 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5473 static private boolean jj_initialized_once = false;
5474 static public PHPParserTokenManager token_source;
5475 static SimpleCharStream jj_input_stream;
5476 static public Token token, jj_nt;
5477 static private int jj_ntk;
5478 static private Token jj_scanpos, jj_lastpos;
5479 static private int jj_la;
5480 static public boolean lookingAhead = false;
5481 static private boolean jj_semLA;
5482 static private int jj_gen;
5483 static final private int[] jj_la1 = new int[122];
5484 static private int[] jj_la1_0;
5485 static private int[] jj_la1_1;
5486 static private int[] jj_la1_2;
5487 static private int[] jj_la1_3;
5488 static private int[] jj_la1_4;
5496 private static void jj_la1_0() {
5497 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,0x10,0x10,0x10,0x10,0xc0000000,0x0,0x0,0x0,0x0,0x10,0x0,0x10,0x0,0x10,0xfcb00000,0xfcb00000,0xf4b00000,0x0,0x0,0x0,0x0,0x4000000,0x0,0xf4b00000,0x8000000,0x14000000,0x0,0xfc800000,0x1000000,0x2000000,0x1000000,0x2000000,0xfc800000,0xfc800000,0xfc800000,0xfc800000,0x10,0xfc800000,0x10,0x0,0x0,0x4000000,0x14000000,0x4000000,0xfc800000,0xfc800000,0x4000000,0x0,0x0,0x14000000,};
5499 private static void jj_la1_1() {
5500 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,0xc30080,0x900,0x11d7548f,0x0,0x0,0x0,0x0,0x11d7548f,0x11d7548f,0x11d7548f,0x11d7548f,0x0,0x11d7548f,0x0,0x10,0x40,0x10000,0xc30080,0x10000,0x11d7548f,0x11d7548f,0x10000,0x0,0x0,0xc30080,};
5502 private static void jj_la1_2() {
5503 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,0x88a200,0x0,0x2288a200,0x0,0x0,0x0,0x0,0x2288a200,0x2288a200,0x2288a200,0x2288a200,0x20000000,0x2288a200,0x20000000,0x8000000,0x0,0x80000,0x88a200,0x80000,0x2288a200,0x2288a200,0x80000,0x40000000,0x80000,0x88a200,};
5505 private static void jj_la1_3() {
5506 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,0x78700000,0x0,0x78700000,0x0,0x0,0x0,0x0,0x79700000,0x78700000,0x78700000,0x78700000,0x0,0x79700000,0x0,0x0,0x0,0x18200000,0x78700000,0x18200000,0x78700000,0x79700000,0x18200000,0x0,0x0,0x78700000,};
5508 private static void jj_la1_4() {
5509 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,0x0,0x0,0x0,0x0,0x0,0x400,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x402,0x402,0x402,0x0,0x0,0x300,0x300,0x400,0x0,0x402,0x0,0x402,0x0,0x402,0x0,0x0,0x0,0x0,0x402,0x402,0x402,0x402,0x0,0x402,0x0,0x0,0x0,0x400,0x402,0x400,0x402,0x402,0x400,0x0,0x0,0x402,};
5511 static final private JJCalls[] jj_2_rtns = new JJCalls[7];
5512 static private boolean jj_rescan = false;
5513 static private int jj_gc = 0;
5515 public PHPParser(java.io.InputStream stream) {
5516 if (jj_initialized_once) {
5517 System.out.println("ERROR: Second call to constructor of static parser. You must");
5518 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
5519 System.out.println(" during parser generation.");
5522 jj_initialized_once = true;
5523 jj_input_stream = new SimpleCharStream(stream, 1, 1);
5524 token_source = new PHPParserTokenManager(jj_input_stream);
5525 token = new Token();
5528 for (int i = 0; i < 122; i++) jj_la1[i] = -1;
5529 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5532 static public void ReInit(java.io.InputStream stream) {
5533 jj_input_stream.ReInit(stream, 1, 1);
5534 token_source.ReInit(jj_input_stream);
5535 token = new Token();
5538 for (int i = 0; i < 122; i++) jj_la1[i] = -1;
5539 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5542 public PHPParser(java.io.Reader stream) {
5543 if (jj_initialized_once) {
5544 System.out.println("ERROR: Second call to constructor of static parser. You must");
5545 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
5546 System.out.println(" during parser generation.");
5549 jj_initialized_once = true;
5550 jj_input_stream = new SimpleCharStream(stream, 1, 1);
5551 token_source = new PHPParserTokenManager(jj_input_stream);
5552 token = new Token();
5555 for (int i = 0; i < 122; i++) jj_la1[i] = -1;
5556 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5559 static public void ReInit(java.io.Reader stream) {
5560 jj_input_stream.ReInit(stream, 1, 1);
5561 token_source.ReInit(jj_input_stream);
5562 token = new Token();
5565 for (int i = 0; i < 122; i++) jj_la1[i] = -1;
5566 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5569 public PHPParser(PHPParserTokenManager tm) {
5570 if (jj_initialized_once) {
5571 System.out.println("ERROR: Second call to constructor of static parser. You must");
5572 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
5573 System.out.println(" during parser generation.");
5576 jj_initialized_once = true;
5578 token = new Token();
5581 for (int i = 0; i < 122; i++) jj_la1[i] = -1;
5582 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5585 public void ReInit(PHPParserTokenManager tm) {
5587 token = new Token();
5590 for (int i = 0; i < 122; i++) jj_la1[i] = -1;
5591 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5594 static final private Token jj_consume_token(int kind) throws ParseException {
5596 if ((oldToken = token).next != null) token = token.next;
5597 else token = token.next = token_source.getNextToken();
5599 if (token.kind == kind) {
5601 if (++jj_gc > 100) {
5603 for (int i = 0; i < jj_2_rtns.length; i++) {
5604 JJCalls c = jj_2_rtns[i];
5606 if (c.gen < jj_gen) c.first = null;
5615 throw generateParseException();
5618 static final private boolean jj_scan_token(int kind) {
5619 if (jj_scanpos == jj_lastpos) {
5621 if (jj_scanpos.next == null) {
5622 jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
5624 jj_lastpos = jj_scanpos = jj_scanpos.next;
5627 jj_scanpos = jj_scanpos.next;
5630 int i = 0; Token tok = token;
5631 while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
5632 if (tok != null) jj_add_error_token(kind, i);
5634 return (jj_scanpos.kind != kind);
5637 static final public Token getNextToken() {
5638 if (token.next != null) token = token.next;
5639 else token = token.next = token_source.getNextToken();
5645 static final public Token getToken(int index) {
5646 Token t = lookingAhead ? jj_scanpos : token;
5647 for (int i = 0; i < index; i++) {
5648 if (t.next != null) t = t.next;
5649 else t = t.next = token_source.getNextToken();
5654 static final private int jj_ntk() {
5655 if ((jj_nt=token.next) == null)
5656 return (jj_ntk = (token.next=token_source.getNextToken()).kind);
5658 return (jj_ntk = jj_nt.kind);
5661 static private java.util.Vector jj_expentries = new java.util.Vector();
5662 static private int[] jj_expentry;
5663 static private int jj_kind = -1;
5664 static private int[] jj_lasttokens = new int[100];
5665 static private int jj_endpos;
5667 static private void jj_add_error_token(int kind, int pos) {
5668 if (pos >= 100) return;
5669 if (pos == jj_endpos + 1) {
5670 jj_lasttokens[jj_endpos++] = kind;
5671 } else if (jj_endpos != 0) {
5672 jj_expentry = new int[jj_endpos];
5673 for (int i = 0; i < jj_endpos; i++) {
5674 jj_expentry[i] = jj_lasttokens[i];
5676 boolean exists = false;
5677 for (java.util.Enumeration enum = jj_expentries.elements(); enum.hasMoreElements();) {
5678 int[] oldentry = (int[])(enum.nextElement());
5679 if (oldentry.length == jj_expentry.length) {
5681 for (int i = 0; i < jj_expentry.length; i++) {
5682 if (oldentry[i] != jj_expentry[i]) {
5690 if (!exists) jj_expentries.addElement(jj_expentry);
5691 if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
5695 static public ParseException generateParseException() {
5696 jj_expentries.removeAllElements();
5697 boolean[] la1tokens = new boolean[139];
5698 for (int i = 0; i < 139; i++) {
5699 la1tokens[i] = false;
5702 la1tokens[jj_kind] = true;
5705 for (int i = 0; i < 122; i++) {
5706 if (jj_la1[i] == jj_gen) {
5707 for (int j = 0; j < 32; j++) {
5708 if ((jj_la1_0[i] & (1<<j)) != 0) {
5709 la1tokens[j] = true;
5711 if ((jj_la1_1[i] & (1<<j)) != 0) {
5712 la1tokens[32+j] = true;
5714 if ((jj_la1_2[i] & (1<<j)) != 0) {
5715 la1tokens[64+j] = true;
5717 if ((jj_la1_3[i] & (1<<j)) != 0) {
5718 la1tokens[96+j] = true;
5720 if ((jj_la1_4[i] & (1<<j)) != 0) {
5721 la1tokens[128+j] = true;
5726 for (int i = 0; i < 139; i++) {
5728 jj_expentry = new int[1];
5730 jj_expentries.addElement(jj_expentry);
5735 jj_add_error_token(0, 0);
5736 int[][] exptokseq = new int[jj_expentries.size()][];
5737 for (int i = 0; i < jj_expentries.size(); i++) {
5738 exptokseq[i] = (int[])jj_expentries.elementAt(i);
5740 return new ParseException(token, exptokseq, tokenImage);
5743 static final public void enable_tracing() {
5746 static final public void disable_tracing() {
5749 static final private void jj_rescan_token() {
5751 for (int i = 0; i < 7; i++) {
5752 JJCalls p = jj_2_rtns[i];
5754 if (p.gen > jj_gen) {
5755 jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
5757 case 0: jj_3_1(); break;
5758 case 1: jj_3_2(); break;
5759 case 2: jj_3_3(); break;
5760 case 3: jj_3_4(); break;
5761 case 4: jj_3_5(); break;
5762 case 5: jj_3_6(); break;
5763 case 6: jj_3_7(); break;
5767 } while (p != null);
5772 static final private void jj_save(int index, int xla) {
5773 JJCalls p = jj_2_rtns[index];
5774 while (p.gen > jj_gen) {
5775 if (p.next == null) { p = p.next = new JJCalls(); break; }
5778 p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
5781 static final class JJCalls {