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 private static IFile fileToParse;
34 /** The current segment */
35 private static PHPSegmentWithChildren currentSegment;
37 private static final String PARSE_ERROR_STRING = "Parse error"; //$NON-NLS-1$
38 private static final String PARSE_WARNING_STRING = "Warning"; //$NON-NLS-1$
39 PHPOutlineInfo outlineInfo;
40 private static int errorLevel = ERROR;
41 private static String errorMessage;
46 public final void setFileToParse(final IFile fileToParse) {
47 this.fileToParse = fileToParse;
50 public PHPParser(final IFile fileToParse) {
51 this(new StringReader(""));
52 this.fileToParse = fileToParse;
55 public static final void phpParserTester(final String strEval) throws CoreException, ParseException {
56 PHPParserTokenManager.SwitchTo(PHPParserTokenManager.PHPPARSING);
57 final StringReader stream = new StringReader(strEval);
58 if (jj_input_stream == null) {
59 jj_input_stream = new SimpleCharStream(stream, 1, 1);
61 ReInit(new StringReader(strEval));
65 public static final void htmlParserTester(final String strEval) throws CoreException, ParseException {
66 final StringReader stream = new StringReader(strEval);
67 if (jj_input_stream == null) {
68 jj_input_stream = new SimpleCharStream(stream, 1, 1);
74 public final PHPOutlineInfo parseInfo(final Object parent, final String s) {
75 outlineInfo = new PHPOutlineInfo(parent);
76 currentSegment = outlineInfo.getDeclarations();
77 final StringReader stream = new StringReader(s);
78 if (jj_input_stream == null) {
79 jj_input_stream = new SimpleCharStream(stream, 1, 1);
84 } catch (ParseException e) {
85 processParseException(e);
91 * This method will process the parse exception.
92 * If the error message is null, the parse exception wasn't catched and a trace is written in the log
93 * @param e the ParseException
95 private static void processParseException(final ParseException e) {
96 if (errorMessage == null) {
97 PHPeclipsePlugin.log(e);
98 errorMessage = "this exception wasn't handled by the parser please tell us how to reproduce it";
105 * Create marker for the parse error
106 * @param e the ParseException
108 private static void setMarker(final ParseException e) {
110 setMarker(fileToParse,
112 jj_input_stream.tokenBegin,
113 jj_input_stream.tokenBegin + e.currentToken.image.length(),
115 "Line " + e.currentToken.beginLine);
116 } catch (CoreException e2) {
117 PHPeclipsePlugin.log(e2);
122 * Create markers according to the external parser output
124 private static void createMarkers(final String output, final IFile file) throws CoreException {
125 // delete all markers
126 file.deleteMarkers(IMarker.PROBLEM, false, 0);
131 while ((brIndx = output.indexOf("<br />", indx)) != -1) {
132 // newer php error output (tested with 4.2.3)
133 scanLine(output, file, indx, brIndx);
138 while ((brIndx = output.indexOf("<br>", indx)) != -1) {
139 // older php error output (tested with 4.2.3)
140 scanLine(output, file, indx, brIndx);
146 private static void scanLine(final String output,
149 final int brIndx) throws CoreException {
151 StringBuffer lineNumberBuffer = new StringBuffer(10);
153 current = output.substring(indx, brIndx);
155 if (current.indexOf(PARSE_WARNING_STRING) != -1 || current.indexOf(PARSE_ERROR_STRING) != -1) {
156 int onLine = current.indexOf("on line <b>");
158 lineNumberBuffer.delete(0, lineNumberBuffer.length());
159 for (int i = onLine; i < current.length(); i++) {
160 ch = current.charAt(i);
161 if ('0' <= ch && '9' >= ch) {
162 lineNumberBuffer.append(ch);
166 int lineNumber = Integer.parseInt(lineNumberBuffer.toString());
168 Hashtable attributes = new Hashtable();
170 current = current.replaceAll("\n", "");
171 current = current.replaceAll("<b>", "");
172 current = current.replaceAll("</b>", "");
173 MarkerUtilities.setMessage(attributes, current);
175 if (current.indexOf(PARSE_ERROR_STRING) != -1)
176 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_ERROR));
177 else if (current.indexOf(PARSE_WARNING_STRING) != -1)
178 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_WARNING));
180 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_INFO));
181 MarkerUtilities.setLineNumber(attributes, lineNumber);
182 MarkerUtilities.createMarker(file, attributes, IMarker.PROBLEM);
187 public final void parse(final String s) throws CoreException {
188 final StringReader stream = new StringReader(s);
189 if (jj_input_stream == null) {
190 jj_input_stream = new SimpleCharStream(stream, 1, 1);
195 } catch (ParseException e) {
196 processParseException(e);
201 * Call the php parse command ( php -l -f <filename> )
202 * and create markers according to the external parser output
204 public static void phpExternalParse(final IFile file) {
205 final IPreferenceStore store = PHPeclipsePlugin.getDefault().getPreferenceStore();
206 final String filename = file.getLocation().toString();
208 final String[] arguments = { filename };
209 final MessageFormat form = new MessageFormat(store.getString(PHPeclipsePlugin.EXTERNAL_PARSER_PREF));
210 final String command = form.format(arguments);
212 final String parserResult = PHPStartApacheAction.getParserOutput(command, "External parser: ");
215 // parse the buffer to find the errors and warnings
216 createMarkers(parserResult, file);
217 } catch (CoreException e) {
218 PHPeclipsePlugin.log(e);
222 public static final void parse() throws ParseException {
226 static final public void phpTest() throws ParseException {
231 static final public void phpFile() throws ParseException {
235 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
265 case INTEGER_LITERAL:
266 case FLOATING_POINT_LITERAL:
290 } catch (TokenMgrError e) {
291 errorMessage = e.getMessage();
293 {if (true) throw generateParseException();}
297 static final public void PhpBlock() throws ParseException {
298 final int start = jj_input_stream.bufpos;
299 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
301 jj_consume_token(PHPECHOSTART);
303 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
305 jj_consume_token(SEMICOLON);
311 jj_consume_token(PHPEND);
341 case INTEGER_LITERAL:
342 case FLOATING_POINT_LITERAL:
357 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
360 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
362 jj_consume_token(PHPSTARTLONG);
365 jj_consume_token(PHPSTARTSHORT);
367 setMarker(fileToParse,
368 "You should use '<?php' instead of '<?' it will avoid some problems with XML",
370 jj_input_stream.bufpos,
372 "Line " + token.beginLine);
373 } catch (CoreException e) {
374 PHPeclipsePlugin.log(e);
379 jj_consume_token(-1);
380 throw new ParseException();
389 jj_consume_token(PHPEND);
390 } catch (ParseException e) {
391 errorMessage = "'?>' expected";
398 jj_consume_token(-1);
399 throw new ParseException();
403 static final public void Php() throws ParseException {
406 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
432 case INTEGER_LITERAL:
433 case FLOATING_POINT_LITERAL:
458 static final public void ClassDeclaration() throws ParseException {
459 final PHPClassDeclaration classDeclaration;
460 final Token className;
461 final int pos = jj_input_stream.bufpos;
462 jj_consume_token(CLASS);
463 className = jj_consume_token(IDENTIFIER);
464 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
466 jj_consume_token(EXTENDS);
467 jj_consume_token(IDENTIFIER);
473 if (currentSegment != null) {
474 classDeclaration = new PHPClassDeclaration(currentSegment,className.image,pos);
475 currentSegment.add(classDeclaration);
476 currentSegment = classDeclaration;
479 if (currentSegment != null) {
480 currentSegment = (PHPSegmentWithChildren) currentSegment.getParent();
484 static final public void ClassBody() throws ParseException {
486 jj_consume_token(LBRACE);
487 } catch (ParseException e) {
488 errorMessage = "'{' expected";
494 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
503 ClassBodyDeclaration();
506 jj_consume_token(RBRACE);
507 } catch (ParseException e) {
508 errorMessage = "'var', 'function' or '}' expected";
514 static final public void ClassBodyDeclaration() throws ParseException {
515 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
524 jj_consume_token(-1);
525 throw new ParseException();
529 static final public void FieldDeclaration() throws ParseException {
530 PHPVarDeclaration variableDeclaration;
531 jj_consume_token(VAR);
532 variableDeclaration = VariableDeclarator();
533 if (currentSegment != null) {
534 currentSegment.add(variableDeclaration);
538 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
546 jj_consume_token(COMMA);
547 variableDeclaration = VariableDeclarator();
548 if (currentSegment != null) {
549 currentSegment.add(variableDeclaration);
553 jj_consume_token(SEMICOLON);
554 } catch (ParseException e) {
555 errorMessage = "';' expected after variable declaration";
561 static final public PHPVarDeclaration VariableDeclarator() throws ParseException {
562 final String varName;
564 final int pos = jj_input_stream.bufpos;
565 varName = VariableDeclaratorId();
566 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
568 jj_consume_token(ASSIGN);
570 varValue = VariableInitializer();
571 {if (true) return new PHPVarDeclaration(currentSegment,varName,pos,varValue);}
572 } catch (ParseException e) {
573 errorMessage = "Literal expression expected in variable initializer";
582 {if (true) return new PHPVarDeclaration(currentSegment,varName,pos);}
583 throw new Error("Missing return statement in function");
586 static final public String VariableDeclaratorId() throws ParseException {
588 final StringBuffer buff = new StringBuffer();
599 expr = VariableSuffix();
602 {if (true) return buff.toString();}
603 } catch (ParseException e) {
604 errorMessage = "'$' expected for variable identifier";
608 throw new Error("Missing return statement in function");
611 static final public String Variable() throws ParseException {
614 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
616 token = jj_consume_token(DOLLAR_ID);
617 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
619 jj_consume_token(LBRACE);
621 jj_consume_token(RBRACE);
628 {if (true) return token.image;}
630 {if (true) return token + "{" + expr + "}";}
633 jj_consume_token(DOLLAR);
634 expr = VariableName();
635 {if (true) return "$" + expr;}
639 jj_consume_token(-1);
640 throw new ParseException();
642 throw new Error("Missing return statement in function");
645 static final public String VariableName() throws ParseException {
648 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
650 jj_consume_token(LBRACE);
652 jj_consume_token(RBRACE);
653 {if (true) return "{"+expr+"}";}
656 token = jj_consume_token(IDENTIFIER);
657 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
659 jj_consume_token(LBRACE);
661 jj_consume_token(RBRACE);
668 {if (true) return token.image;}
670 {if (true) return token + "{" + expr + "}";}
673 jj_consume_token(DOLLAR);
674 expr = VariableName();
675 {if (true) return "$" + expr;}
678 token = jj_consume_token(DOLLAR_ID);
679 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
684 expr = VariableName();
691 {if (true) return token.image;}
693 {if (true) return token.image + expr;}
697 jj_consume_token(-1);
698 throw new ParseException();
700 throw new Error("Missing return statement in function");
703 static final public String VariableInitializer() throws ParseException {
706 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
710 case INTEGER_LITERAL:
711 case FLOATING_POINT_LITERAL:
714 {if (true) return expr;}
717 jj_consume_token(MINUS);
718 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
719 case INTEGER_LITERAL:
720 token = jj_consume_token(INTEGER_LITERAL);
722 case FLOATING_POINT_LITERAL:
723 token = jj_consume_token(FLOATING_POINT_LITERAL);
727 jj_consume_token(-1);
728 throw new ParseException();
730 {if (true) return "-" + token.image;}
733 jj_consume_token(PLUS);
734 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
735 case INTEGER_LITERAL:
736 token = jj_consume_token(INTEGER_LITERAL);
738 case FLOATING_POINT_LITERAL:
739 token = jj_consume_token(FLOATING_POINT_LITERAL);
743 jj_consume_token(-1);
744 throw new ParseException();
746 {if (true) return "+" + token.image;}
749 expr = ArrayDeclarator();
750 {if (true) return expr;}
753 token = jj_consume_token(IDENTIFIER);
754 {if (true) return token.image;}
758 jj_consume_token(-1);
759 throw new ParseException();
761 throw new Error("Missing return statement in function");
764 static final public String ArrayVariable() throws ParseException {
766 final StringBuffer buff = new StringBuffer();
769 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
771 jj_consume_token(ARRAYASSIGN);
773 buff.append("=>").append(expr);
779 {if (true) return buff.toString();}
780 throw new Error("Missing return statement in function");
783 static final public String ArrayInitializer() throws ParseException {
785 final StringBuffer buff = new StringBuffer("(");
786 jj_consume_token(LPAREN);
787 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
795 case INTEGER_LITERAL:
796 case FLOATING_POINT_LITERAL:
809 expr = ArrayVariable();
818 jj_consume_token(COMMA);
819 expr = ArrayVariable();
820 buff.append(",").append(expr);
827 jj_consume_token(RPAREN);
829 {if (true) return buff.toString();}
830 throw new Error("Missing return statement in function");
833 static final public void MethodDeclaration() throws ParseException {
834 final PHPFunctionDeclaration functionDeclaration;
835 jj_consume_token(FUNCTION);
836 functionDeclaration = MethodDeclarator();
837 if (currentSegment != null) {
838 currentSegment.add(functionDeclaration);
839 currentSegment = functionDeclaration;
842 if (currentSegment != null) {
843 currentSegment = (PHPSegmentWithChildren) currentSegment.getParent();
847 static final public PHPFunctionDeclaration MethodDeclarator() throws ParseException {
848 final Token identifier;
849 final StringBuffer methodDeclaration = new StringBuffer();
850 final String formalParameters;
851 final int pos = jj_input_stream.bufpos;
852 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
854 jj_consume_token(BIT_AND);
855 methodDeclaration.append("&");
861 identifier = jj_consume_token(IDENTIFIER);
862 methodDeclaration.append(identifier);
863 formalParameters = FormalParameters();
864 methodDeclaration.append(formalParameters);
865 {if (true) return new PHPFunctionDeclaration(currentSegment,methodDeclaration.toString(),pos);}
866 throw new Error("Missing return statement in function");
869 static final public String FormalParameters() throws ParseException {
871 final StringBuffer buff = new StringBuffer("(");
873 jj_consume_token(LPAREN);
874 } catch (ParseException e) {
875 errorMessage = "Formal parameter expected after function identifier";
877 jj_consume_token(token.kind);
879 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
883 expr = FormalParameter();
887 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
895 jj_consume_token(COMMA);
896 expr = FormalParameter();
897 buff.append(",").append(expr);
905 jj_consume_token(RPAREN);
906 } catch (ParseException e) {
907 errorMessage = "')' expected";
912 {if (true) return buff.toString();}
913 throw new Error("Missing return statement in function");
916 static final public String FormalParameter() throws ParseException {
917 final PHPVarDeclaration variableDeclaration;
918 final StringBuffer buff = new StringBuffer();
919 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
921 jj_consume_token(BIT_AND);
928 variableDeclaration = VariableDeclarator();
929 buff.append(variableDeclaration.toString());
930 {if (true) return buff.toString();}
931 throw new Error("Missing return statement in function");
934 static final public String Type() throws ParseException {
935 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
937 jj_consume_token(STRING);
938 {if (true) return "string";}
941 jj_consume_token(BOOL);
942 {if (true) return "bool";}
945 jj_consume_token(BOOLEAN);
946 {if (true) return "boolean";}
949 jj_consume_token(REAL);
950 {if (true) return "real";}
953 jj_consume_token(DOUBLE);
954 {if (true) return "double";}
957 jj_consume_token(FLOAT);
958 {if (true) return "float";}
961 jj_consume_token(INT);
962 {if (true) return "int";}
965 jj_consume_token(INTEGER);
966 {if (true) return "integer";}
969 jj_consume_token(OBJECT);
970 {if (true) return "object";}
974 jj_consume_token(-1);
975 throw new ParseException();
977 throw new Error("Missing return statement in function");
980 static final public String Expression() throws ParseException {
982 final String assignOperator;
984 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
986 expr = PrintExpression();
987 {if (true) return expr;}
990 expr = ListExpression();
991 {if (true) return expr;}
998 case INTEGER_LITERAL:
999 case FLOATING_POINT_LITERAL:
1000 case STRING_LITERAL:
1012 expr = ConditionalExpression();
1013 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1026 case RSIGNEDSHIFTASSIGN:
1027 assignOperator = AssignmentOperator();
1029 expr2 = Expression();
1030 {if (true) return expr + assignOperator + expr2;}
1031 } catch (ParseException e) {
1032 errorMessage = "expression expected";
1034 {if (true) throw e;}
1038 jj_la1[26] = jj_gen;
1041 {if (true) return expr;}
1044 jj_la1[27] = jj_gen;
1045 jj_consume_token(-1);
1046 throw new ParseException();
1048 throw new Error("Missing return statement in function");
1051 static final public String AssignmentOperator() throws ParseException {
1052 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1054 jj_consume_token(ASSIGN);
1055 {if (true) return "=";}
1058 jj_consume_token(STARASSIGN);
1059 {if (true) return "*=";}
1062 jj_consume_token(SLASHASSIGN);
1063 {if (true) return "/=";}
1066 jj_consume_token(REMASSIGN);
1067 {if (true) return "%=";}
1070 jj_consume_token(PLUSASSIGN);
1071 {if (true) return "+=";}
1074 jj_consume_token(MINUSASSIGN);
1075 {if (true) return "-=";}
1078 jj_consume_token(LSHIFTASSIGN);
1079 {if (true) return "<<=";}
1081 case RSIGNEDSHIFTASSIGN:
1082 jj_consume_token(RSIGNEDSHIFTASSIGN);
1083 {if (true) return ">>=";}
1086 jj_consume_token(ANDASSIGN);
1087 {if (true) return "&=";}
1090 jj_consume_token(XORASSIGN);
1091 {if (true) return "|=";}
1094 jj_consume_token(ORASSIGN);
1095 {if (true) return "|=";}
1098 jj_consume_token(DOTASSIGN);
1099 {if (true) return ".=";}
1102 jj_consume_token(TILDEEQUAL);
1103 {if (true) return "~=";}
1106 jj_la1[28] = jj_gen;
1107 jj_consume_token(-1);
1108 throw new ParseException();
1110 throw new Error("Missing return statement in function");
1113 static final public String ConditionalExpression() throws ParseException {
1115 String expr2 = null;
1116 String expr3 = null;
1117 expr = ConditionalOrExpression();
1118 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1120 jj_consume_token(HOOK);
1121 expr2 = Expression();
1122 jj_consume_token(COLON);
1123 expr3 = ConditionalExpression();
1126 jj_la1[29] = jj_gen;
1129 if (expr3 == null) {
1130 {if (true) return expr;}
1132 {if (true) return expr + "?" + expr2 + ":" + expr3;}
1134 throw new Error("Missing return statement in function");
1137 static final public String ConditionalOrExpression() throws ParseException {
1140 final StringBuffer buff = new StringBuffer();
1141 expr = ConditionalAndExpression();
1145 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1151 jj_la1[30] = jj_gen;
1154 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1156 operator = jj_consume_token(SC_OR);
1159 operator = jj_consume_token(_ORL);
1162 jj_la1[31] = jj_gen;
1163 jj_consume_token(-1);
1164 throw new ParseException();
1166 expr = ConditionalAndExpression();
1167 buff.append(operator.image);
1170 {if (true) return buff.toString();}
1171 throw new Error("Missing return statement in function");
1174 static final public String ConditionalAndExpression() throws ParseException {
1177 final StringBuffer buff = new StringBuffer();
1178 expr = ConcatExpression();
1182 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1188 jj_la1[32] = jj_gen;
1191 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1193 operator = jj_consume_token(SC_AND);
1196 operator = jj_consume_token(_ANDL);
1199 jj_la1[33] = jj_gen;
1200 jj_consume_token(-1);
1201 throw new ParseException();
1203 expr = ConcatExpression();
1204 buff.append(operator.image);
1207 {if (true) return buff.toString();}
1208 throw new Error("Missing return statement in function");
1211 static final public String ConcatExpression() throws ParseException {
1213 final StringBuffer buff = new StringBuffer();
1214 expr = InclusiveOrExpression();
1218 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1223 jj_la1[34] = jj_gen;
1226 jj_consume_token(DOT);
1227 expr = InclusiveOrExpression();
1228 buff.append(".").append(expr);
1230 {if (true) return buff.toString();}
1231 throw new Error("Missing return statement in function");
1234 static final public String InclusiveOrExpression() throws ParseException {
1236 final StringBuffer buff = new StringBuffer();
1237 expr = ExclusiveOrExpression();
1241 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1246 jj_la1[35] = jj_gen;
1249 jj_consume_token(BIT_OR);
1250 expr = ExclusiveOrExpression();
1251 buff.append("|").append(expr);
1253 {if (true) return buff.toString();}
1254 throw new Error("Missing return statement in function");
1257 static final public String ExclusiveOrExpression() throws ParseException {
1259 final StringBuffer buff = new StringBuffer();
1260 expr = AndExpression();
1264 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1269 jj_la1[36] = jj_gen;
1272 jj_consume_token(XOR);
1273 expr = AndExpression();
1277 {if (true) return buff.toString();}
1278 throw new Error("Missing return statement in function");
1281 static final public String AndExpression() throws ParseException {
1283 final StringBuffer buff = new StringBuffer();
1284 expr = EqualityExpression();
1288 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1293 jj_la1[37] = jj_gen;
1296 jj_consume_token(BIT_AND);
1297 expr = EqualityExpression();
1298 buff.append("&").append(expr);
1300 {if (true) return buff.toString();}
1301 throw new Error("Missing return statement in function");
1304 static final public String EqualityExpression() throws ParseException {
1307 final StringBuffer buff = new StringBuffer();
1308 expr = RelationalExpression();
1312 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1316 case BANGDOUBLEEQUAL:
1321 jj_la1[38] = jj_gen;
1324 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1326 operator = jj_consume_token(EQ);
1329 operator = jj_consume_token(DIF);
1332 operator = jj_consume_token(NE);
1334 case BANGDOUBLEEQUAL:
1335 operator = jj_consume_token(BANGDOUBLEEQUAL);
1338 operator = jj_consume_token(TRIPLEEQUAL);
1341 jj_la1[39] = jj_gen;
1342 jj_consume_token(-1);
1343 throw new ParseException();
1345 expr = RelationalExpression();
1346 buff.append(operator.image);
1349 {if (true) return buff.toString();}
1350 throw new Error("Missing return statement in function");
1353 static final public String RelationalExpression() throws ParseException {
1356 final StringBuffer buff = new StringBuffer();
1357 expr = ShiftExpression();
1361 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1369 jj_la1[40] = jj_gen;
1372 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1374 operator = jj_consume_token(LT);
1377 operator = jj_consume_token(GT);
1380 operator = jj_consume_token(LE);
1383 operator = jj_consume_token(GE);
1386 jj_la1[41] = jj_gen;
1387 jj_consume_token(-1);
1388 throw new ParseException();
1390 expr = ShiftExpression();
1391 buff.append(operator.image).append(expr);
1393 {if (true) return buff.toString();}
1394 throw new Error("Missing return statement in function");
1397 static final public String ShiftExpression() throws ParseException {
1400 final StringBuffer buff = new StringBuffer();
1401 expr = AdditiveExpression();
1405 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1408 case RUNSIGNEDSHIFT:
1412 jj_la1[42] = jj_gen;
1415 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1417 operator = jj_consume_token(LSHIFT);
1420 operator = jj_consume_token(RSIGNEDSHIFT);
1422 case RUNSIGNEDSHIFT:
1423 operator = jj_consume_token(RUNSIGNEDSHIFT);
1426 jj_la1[43] = jj_gen;
1427 jj_consume_token(-1);
1428 throw new ParseException();
1430 expr = AdditiveExpression();
1431 buff.append(operator.image);
1434 {if (true) return buff.toString();}
1435 throw new Error("Missing return statement in function");
1438 static final public String AdditiveExpression() throws ParseException {
1441 final StringBuffer buff = new StringBuffer();
1442 expr = MultiplicativeExpression();
1446 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1452 jj_la1[44] = jj_gen;
1455 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1457 operator = jj_consume_token(PLUS);
1460 operator = jj_consume_token(MINUS);
1463 jj_la1[45] = jj_gen;
1464 jj_consume_token(-1);
1465 throw new ParseException();
1467 expr = MultiplicativeExpression();
1468 buff.append(operator.image);
1471 {if (true) return buff.toString();}
1472 throw new Error("Missing return statement in function");
1475 static final public String MultiplicativeExpression() throws ParseException {
1478 final StringBuffer buff = new StringBuffer();
1479 expr = UnaryExpression();
1483 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1490 jj_la1[46] = jj_gen;
1493 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1495 operator = jj_consume_token(STAR);
1498 operator = jj_consume_token(SLASH);
1501 operator = jj_consume_token(REM);
1504 jj_la1[47] = jj_gen;
1505 jj_consume_token(-1);
1506 throw new ParseException();
1508 expr = UnaryExpression();
1509 buff.append(operator.image);
1512 {if (true) return buff.toString();}
1513 throw new Error("Missing return statement in function");
1517 * An unary expression starting with @, & or nothing
1519 static final public String UnaryExpression() throws ParseException {
1522 final StringBuffer buff = new StringBuffer();
1523 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1525 token = jj_consume_token(BIT_AND);
1526 expr = UnaryExpressionNoPrefix();
1527 if (token == null) {
1528 {if (true) return expr;}
1530 {if (true) return token.image + expr;}
1537 case INTEGER_LITERAL:
1538 case FLOATING_POINT_LITERAL:
1539 case STRING_LITERAL:
1552 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1557 jj_la1[48] = jj_gen;
1560 jj_consume_token(AT);
1563 expr = UnaryExpressionNoPrefix();
1564 {if (true) return buff.append(expr).toString();}
1567 jj_la1[49] = jj_gen;
1568 jj_consume_token(-1);
1569 throw new ParseException();
1571 throw new Error("Missing return statement in function");
1574 static final public String UnaryExpressionNoPrefix() throws ParseException {
1577 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1580 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1582 token = jj_consume_token(PLUS);
1585 token = jj_consume_token(MINUS);
1588 jj_la1[50] = jj_gen;
1589 jj_consume_token(-1);
1590 throw new ParseException();
1592 expr = UnaryExpression();
1593 {if (true) return token.image + expr;}
1596 expr = PreIncrementExpression();
1597 {if (true) return expr;}
1600 expr = PreDecrementExpression();
1601 {if (true) return expr;}
1608 case INTEGER_LITERAL:
1609 case FLOATING_POINT_LITERAL:
1610 case STRING_LITERAL:
1616 expr = UnaryExpressionNotPlusMinus();
1617 {if (true) return expr;}
1620 jj_la1[51] = jj_gen;
1621 jj_consume_token(-1);
1622 throw new ParseException();
1624 throw new Error("Missing return statement in function");
1627 static final public String PreIncrementExpression() throws ParseException {
1629 jj_consume_token(INCR);
1630 expr = PrimaryExpression();
1631 {if (true) return "++"+expr;}
1632 throw new Error("Missing return statement in function");
1635 static final public String PreDecrementExpression() throws ParseException {
1637 jj_consume_token(DECR);
1638 expr = PrimaryExpression();
1639 {if (true) return "--"+expr;}
1640 throw new Error("Missing return statement in function");
1643 static final public String UnaryExpressionNotPlusMinus() throws ParseException {
1645 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1647 jj_consume_token(BANG);
1648 expr = UnaryExpression();
1649 {if (true) return "!" + expr;}
1652 jj_la1[52] = jj_gen;
1653 if (jj_2_3(2147483647)) {
1654 expr = CastExpression();
1655 {if (true) return expr;}
1657 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1663 expr = PostfixExpression();
1664 {if (true) return expr;}
1669 case INTEGER_LITERAL:
1670 case FLOATING_POINT_LITERAL:
1671 case STRING_LITERAL:
1673 {if (true) return expr;}
1676 jj_consume_token(LPAREN);
1677 expr = Expression();
1679 jj_consume_token(RPAREN);
1680 } catch (ParseException e) {
1681 errorMessage = "')' expected";
1683 {if (true) throw e;}
1685 {if (true) return "("+expr+")";}
1688 jj_la1[53] = jj_gen;
1689 jj_consume_token(-1);
1690 throw new ParseException();
1694 throw new Error("Missing return statement in function");
1697 static final public String CastExpression() throws ParseException {
1698 final String type, expr;
1699 jj_consume_token(LPAREN);
1701 jj_consume_token(RPAREN);
1702 expr = UnaryExpression();
1703 {if (true) return "(" + type + ")" + expr;}
1704 throw new Error("Missing return statement in function");
1707 static final public String PostfixExpression() throws ParseException {
1709 Token operator = null;
1710 expr = PrimaryExpression();
1711 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1714 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1716 operator = jj_consume_token(INCR);
1719 operator = jj_consume_token(DECR);
1722 jj_la1[54] = jj_gen;
1723 jj_consume_token(-1);
1724 throw new ParseException();
1728 jj_la1[55] = jj_gen;
1731 if (operator == null) {
1732 {if (true) return expr;}
1734 {if (true) return expr + operator.image;}
1735 throw new Error("Missing return statement in function");
1738 static final public String PrimaryExpression() throws ParseException {
1739 final Token identifier;
1741 final StringBuffer buff = new StringBuffer();
1743 identifier = jj_consume_token(IDENTIFIER);
1744 jj_consume_token(STATICCLASSACCESS);
1745 expr = ClassIdentifier();
1746 buff.append(identifier.image).append("::").append(expr);
1749 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1756 jj_la1[56] = jj_gen;
1759 expr = PrimarySuffix();
1762 {if (true) return buff.toString();}
1764 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1769 expr = PrimaryPrefix();
1773 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1780 jj_la1[57] = jj_gen;
1783 expr = PrimarySuffix();
1786 {if (true) return buff.toString();}
1789 expr = ArrayDeclarator();
1790 {if (true) return "array" + expr;}
1793 jj_la1[58] = jj_gen;
1794 jj_consume_token(-1);
1795 throw new ParseException();
1798 throw new Error("Missing return statement in function");
1801 static final public String ArrayDeclarator() throws ParseException {
1803 jj_consume_token(ARRAY);
1804 expr = ArrayInitializer();
1805 {if (true) return "array" + expr;}
1806 throw new Error("Missing return statement in function");
1809 static final public String PrimaryPrefix() throws ParseException {
1812 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1814 token = jj_consume_token(IDENTIFIER);
1815 {if (true) return token.image;}
1818 jj_consume_token(NEW);
1819 expr = ClassIdentifier();
1820 {if (true) return "new " + expr;}
1824 expr = VariableDeclaratorId();
1825 {if (true) return expr;}
1828 jj_la1[59] = jj_gen;
1829 jj_consume_token(-1);
1830 throw new ParseException();
1832 throw new Error("Missing return statement in function");
1835 static final public String ClassIdentifier() throws ParseException {
1838 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1840 token = jj_consume_token(IDENTIFIER);
1841 {if (true) return token.image;}
1845 expr = VariableDeclaratorId();
1846 {if (true) return expr;}
1849 jj_la1[60] = jj_gen;
1850 jj_consume_token(-1);
1851 throw new ParseException();
1853 throw new Error("Missing return statement in function");
1856 static final public String PrimarySuffix() throws ParseException {
1858 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1861 {if (true) return expr;}
1865 expr = VariableSuffix();
1866 {if (true) return expr;}
1869 jj_la1[61] = jj_gen;
1870 jj_consume_token(-1);
1871 throw new ParseException();
1873 throw new Error("Missing return statement in function");
1876 static final public String VariableSuffix() throws ParseException {
1878 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1880 jj_consume_token(CLASSACCESS);
1882 expr = VariableName();
1883 } catch (ParseException e) {
1884 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', function call or field access expected";
1886 {if (true) throw e;}
1888 {if (true) return "->" + expr;}
1891 jj_consume_token(LBRACKET);
1892 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1900 case INTEGER_LITERAL:
1901 case FLOATING_POINT_LITERAL:
1902 case STRING_LITERAL:
1914 expr = Expression();
1917 jj_la1[62] = jj_gen;
1921 jj_consume_token(RBRACKET);
1922 } catch (ParseException e) {
1923 errorMessage = "']' expected";
1925 {if (true) throw e;}
1928 {if (true) return "[]";}
1930 {if (true) return "[" + expr + "]";}
1933 jj_la1[63] = jj_gen;
1934 jj_consume_token(-1);
1935 throw new ParseException();
1937 throw new Error("Missing return statement in function");
1940 static final public String Literal() throws ParseException {
1943 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1944 case INTEGER_LITERAL:
1945 token = jj_consume_token(INTEGER_LITERAL);
1946 {if (true) return token.image;}
1948 case FLOATING_POINT_LITERAL:
1949 token = jj_consume_token(FLOATING_POINT_LITERAL);
1950 {if (true) return token.image;}
1952 case STRING_LITERAL:
1953 token = jj_consume_token(STRING_LITERAL);
1954 {if (true) return token.image;}
1958 expr = BooleanLiteral();
1959 {if (true) return expr;}
1962 expr = NullLiteral();
1963 {if (true) return expr;}
1966 jj_la1[64] = jj_gen;
1967 jj_consume_token(-1);
1968 throw new ParseException();
1970 throw new Error("Missing return statement in function");
1973 static final public String BooleanLiteral() throws ParseException {
1974 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1976 jj_consume_token(TRUE);
1977 {if (true) return "true";}
1980 jj_consume_token(FALSE);
1981 {if (true) return "false";}
1984 jj_la1[65] = jj_gen;
1985 jj_consume_token(-1);
1986 throw new ParseException();
1988 throw new Error("Missing return statement in function");
1991 static final public String NullLiteral() throws ParseException {
1992 jj_consume_token(NULL);
1993 {if (true) return "null";}
1994 throw new Error("Missing return statement in function");
1997 static final public String Arguments() throws ParseException {
1999 jj_consume_token(LPAREN);
2000 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2008 case INTEGER_LITERAL:
2009 case FLOATING_POINT_LITERAL:
2010 case STRING_LITERAL:
2022 expr = ArgumentList();
2025 jj_la1[66] = jj_gen;
2029 jj_consume_token(RPAREN);
2030 } catch (ParseException e) {
2031 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', ')' expected to close the argument list";
2033 {if (true) throw e;}
2036 {if (true) return "()";}
2038 {if (true) return "(" + expr + ")";}
2039 throw new Error("Missing return statement in function");
2042 static final public String ArgumentList() throws ParseException {
2044 final StringBuffer buff = new StringBuffer();
2045 expr = Expression();
2049 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2054 jj_la1[67] = jj_gen;
2057 jj_consume_token(COMMA);
2059 expr = Expression();
2060 } catch (ParseException e) {
2061 errorMessage = "expression expected after a comma in argument list";
2063 {if (true) throw e;}
2065 buff.append(",").append(expr);
2067 {if (true) return buff.toString();}
2068 throw new Error("Missing return statement in function");
2072 * A Statement without break
2074 static final public void StatementNoBreak() throws ParseException {
2078 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2080 jj_consume_token(SEMICOLON);
2083 jj_consume_token(PHPEND);
2086 jj_la1[68] = jj_gen;
2087 jj_consume_token(-1);
2088 throw new ParseException();
2090 } catch (ParseException e) {
2091 errorMessage = "';' expected";
2093 {if (true) throw e;}
2095 } else if (jj_2_6(2)) {
2098 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2112 StatementExpression();
2114 jj_consume_token(SEMICOLON);
2115 } catch (ParseException e) {
2116 errorMessage = "';' expected after expression";
2118 {if (true) throw e;}
2140 ContinueStatement();
2153 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2155 jj_consume_token(AT);
2158 jj_la1[69] = jj_gen;
2170 jj_la1[70] = jj_gen;
2171 jj_consume_token(-1);
2172 throw new ParseException();
2178 * A Normal statement
2180 static final public void Statement() throws ParseException {
2181 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2204 case INTEGER_LITERAL:
2205 case FLOATING_POINT_LITERAL:
2206 case STRING_LITERAL:
2226 jj_la1[71] = jj_gen;
2227 jj_consume_token(-1);
2228 throw new ParseException();
2232 static final public void IncludeStatement() throws ParseException {
2234 final int pos = jj_input_stream.bufpos;
2235 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2237 jj_consume_token(REQUIRE);
2238 expr = Expression();
2239 if (currentSegment != null) {
2240 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "require",pos,expr));
2243 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2245 jj_consume_token(SEMICOLON);
2248 jj_consume_token(138);
2251 jj_la1[72] = jj_gen;
2252 jj_consume_token(-1);
2253 throw new ParseException();
2255 } catch (ParseException e) {
2256 errorMessage = "';' expected";
2258 {if (true) throw e;}
2262 jj_consume_token(REQUIRE_ONCE);
2263 expr = Expression();
2264 if (currentSegment != null) {
2265 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "require_once",pos,expr));
2268 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2270 jj_consume_token(SEMICOLON);
2273 jj_consume_token(138);
2276 jj_la1[73] = jj_gen;
2277 jj_consume_token(-1);
2278 throw new ParseException();
2280 } catch (ParseException e) {
2281 errorMessage = "';' expected";
2283 {if (true) throw e;}
2287 jj_consume_token(INCLUDE);
2288 expr = Expression();
2289 if (currentSegment != null) {
2290 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "include",pos,expr));
2293 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2295 jj_consume_token(SEMICOLON);
2298 jj_consume_token(138);
2301 jj_la1[74] = jj_gen;
2302 jj_consume_token(-1);
2303 throw new ParseException();
2305 } catch (ParseException e) {
2306 errorMessage = "';' expected";
2308 {if (true) throw e;}
2312 jj_consume_token(INCLUDE_ONCE);
2313 expr = Expression();
2314 if (currentSegment != null) {
2315 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "include_once",pos,expr));
2318 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2320 jj_consume_token(SEMICOLON);
2323 jj_consume_token(138);
2326 jj_la1[75] = jj_gen;
2327 jj_consume_token(-1);
2328 throw new ParseException();
2330 } catch (ParseException e) {
2331 errorMessage = "';' expected";
2333 {if (true) throw e;}
2337 jj_la1[76] = jj_gen;
2338 jj_consume_token(-1);
2339 throw new ParseException();
2343 static final public String PrintExpression() throws ParseException {
2344 final StringBuffer buff = new StringBuffer("print ");
2346 jj_consume_token(PRINT);
2347 expr = Expression();
2349 {if (true) return buff.toString();}
2350 throw new Error("Missing return statement in function");
2353 static final public String ListExpression() throws ParseException {
2354 final StringBuffer buff = new StringBuffer("list(");
2356 jj_consume_token(LIST);
2358 jj_consume_token(LPAREN);
2359 } catch (ParseException e) {
2360 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', '(' expected";
2362 {if (true) throw e;}
2364 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2367 expr = VariableDeclaratorId();
2371 jj_la1[77] = jj_gen;
2374 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2377 jj_consume_token(COMMA);
2378 } catch (ParseException e) {
2379 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', ',' expected";
2381 {if (true) throw e;}
2383 expr = VariableDeclaratorId();
2384 buff.append(",").append(expr);
2387 jj_la1[78] = jj_gen;
2392 jj_consume_token(RPAREN);
2393 } catch (ParseException e) {
2394 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', ')' expected";
2396 {if (true) throw e;}
2398 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2400 jj_consume_token(ASSIGN);
2401 expr = Expression();
2402 buff.append("(").append(expr);
2405 jj_la1[79] = jj_gen;
2408 {if (true) return buff.toString();}
2409 throw new Error("Missing return statement in function");
2412 static final public void EchoStatement() throws ParseException {
2413 jj_consume_token(ECHO);
2417 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2422 jj_la1[80] = jj_gen;
2425 jj_consume_token(COMMA);
2429 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2431 jj_consume_token(SEMICOLON);
2434 jj_consume_token(138);
2437 jj_la1[81] = jj_gen;
2438 jj_consume_token(-1);
2439 throw new ParseException();
2441 } catch (ParseException e) {
2442 errorMessage = "';' expected after 'echo' statement";
2444 {if (true) throw e;}
2448 static final public void GlobalStatement() throws ParseException {
2449 jj_consume_token(GLOBAL);
2450 VariableDeclaratorId();
2453 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2458 jj_la1[82] = jj_gen;
2461 jj_consume_token(COMMA);
2462 VariableDeclaratorId();
2465 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2467 jj_consume_token(SEMICOLON);
2470 jj_consume_token(138);
2473 jj_la1[83] = jj_gen;
2474 jj_consume_token(-1);
2475 throw new ParseException();
2477 } catch (ParseException e) {
2478 errorMessage = "';' expected";
2480 {if (true) throw e;}
2484 static final public void StaticStatement() throws ParseException {
2485 jj_consume_token(STATIC);
2486 VariableDeclarator();
2489 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2494 jj_la1[84] = jj_gen;
2497 jj_consume_token(COMMA);
2498 VariableDeclarator();
2501 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2503 jj_consume_token(SEMICOLON);
2506 jj_consume_token(138);
2509 jj_la1[85] = jj_gen;
2510 jj_consume_token(-1);
2511 throw new ParseException();
2513 } catch (ParseException e) {
2514 errorMessage = "';' expected";
2516 {if (true) throw e;}
2520 static final public void LabeledStatement() throws ParseException {
2521 jj_consume_token(IDENTIFIER);
2522 jj_consume_token(COLON);
2526 static final public void Block() throws ParseException {
2528 jj_consume_token(LBRACE);
2529 } catch (ParseException e) {
2530 errorMessage = "'{' expected";
2532 {if (true) throw e;}
2536 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2562 case INTEGER_LITERAL:
2563 case FLOATING_POINT_LITERAL:
2564 case STRING_LITERAL:
2581 jj_la1[86] = jj_gen;
2587 jj_consume_token(RBRACE);
2588 } catch (ParseException e) {
2589 errorMessage = "unexpected token : '"+ e.currentToken.image +"', '}' expected";
2591 {if (true) throw e;}
2595 static final public void BlockStatement() throws ParseException {
2596 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2620 case INTEGER_LITERAL:
2621 case FLOATING_POINT_LITERAL:
2622 case STRING_LITERAL:
2642 MethodDeclaration();
2645 jj_la1[87] = jj_gen;
2646 jj_consume_token(-1);
2647 throw new ParseException();
2652 * A Block statement that will not contain any 'break'
2654 static final public void BlockStatementNoBreak() throws ParseException {
2655 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2678 case INTEGER_LITERAL:
2679 case FLOATING_POINT_LITERAL:
2680 case STRING_LITERAL:
2700 MethodDeclaration();
2703 jj_la1[88] = jj_gen;
2704 jj_consume_token(-1);
2705 throw new ParseException();
2709 static final public void LocalVariableDeclaration() throws ParseException {
2710 LocalVariableDeclarator();
2713 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2718 jj_la1[89] = jj_gen;
2721 jj_consume_token(COMMA);
2722 LocalVariableDeclarator();
2726 static final public void LocalVariableDeclarator() throws ParseException {
2727 VariableDeclaratorId();
2728 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2730 jj_consume_token(ASSIGN);
2734 jj_la1[90] = jj_gen;
2739 static final public void EmptyStatement() throws ParseException {
2740 jj_consume_token(SEMICOLON);
2743 static final public void StatementExpression() throws ParseException {
2744 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2746 PreIncrementExpression();
2749 PreDecrementExpression();
2756 PrimaryExpression();
2757 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2772 case RSIGNEDSHIFTASSIGN:
2773 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2775 jj_consume_token(INCR);
2778 jj_consume_token(DECR);
2792 case RSIGNEDSHIFTASSIGN:
2793 AssignmentOperator();
2797 jj_la1[91] = jj_gen;
2798 jj_consume_token(-1);
2799 throw new ParseException();
2803 jj_la1[92] = jj_gen;
2808 jj_la1[93] = jj_gen;
2809 jj_consume_token(-1);
2810 throw new ParseException();
2814 static final public void SwitchStatement() throws ParseException {
2815 Token breakToken = null;
2817 jj_consume_token(SWITCH);
2819 jj_consume_token(LPAREN);
2820 } catch (ParseException e) {
2821 errorMessage = "'(' expected after 'switch'";
2823 {if (true) throw e;}
2827 jj_consume_token(RPAREN);
2828 } catch (ParseException e) {
2829 errorMessage = "')' expected";
2831 {if (true) throw e;}
2834 jj_consume_token(LBRACE);
2835 } catch (ParseException e) {
2836 errorMessage = "'{' expected";
2838 {if (true) throw e;}
2842 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2848 jj_la1[94] = jj_gen;
2851 line = SwitchLabel();
2854 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2879 case INTEGER_LITERAL:
2880 case FLOATING_POINT_LITERAL:
2881 case STRING_LITERAL:
2898 jj_la1[95] = jj_gen;
2901 BlockStatementNoBreak();
2903 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2905 breakToken = jj_consume_token(BREAK);
2907 jj_consume_token(SEMICOLON);
2908 } catch (ParseException e) {
2909 errorMessage = "';' expected after 'break' keyword";
2911 {if (true) throw e;}
2915 jj_la1[96] = jj_gen;
2919 if (breakToken == null) {
2920 setMarker(fileToParse,
2921 "You should use put a 'break' at the end of your statement",
2926 } catch (CoreException e) {
2927 PHPeclipsePlugin.log(e);
2931 jj_consume_token(RBRACE);
2932 } catch (ParseException e) {
2933 errorMessage = "'}' expected";
2935 {if (true) throw e;}
2939 static final public int SwitchLabel() throws ParseException {
2941 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2943 token = jj_consume_token(CASE);
2946 } catch (ParseException e) {
2947 if (errorMessage != null) {if (true) throw e;}
2948 errorMessage = "expression expected after 'case' keyword";
2950 {if (true) throw e;}
2953 jj_consume_token(COLON);
2954 } catch (ParseException e) {
2955 errorMessage = "':' expected after case expression";
2957 {if (true) throw e;}
2959 {if (true) return token.beginLine;}
2962 token = jj_consume_token(_DEFAULT);
2964 jj_consume_token(COLON);
2965 } catch (ParseException e) {
2966 errorMessage = "':' expected after 'default' keyword";
2968 {if (true) throw e;}
2970 {if (true) return token.beginLine;}
2973 jj_la1[97] = jj_gen;
2974 jj_consume_token(-1);
2975 throw new ParseException();
2977 throw new Error("Missing return statement in function");
2980 static final public void IfStatement() throws ParseException {
2982 final int pos = jj_input_stream.bufpos;
2983 token = jj_consume_token(IF);
2985 IfStatement0(pos,pos+token.image.length());
2988 static final public void Condition(final String keyword) throws ParseException {
2990 jj_consume_token(LPAREN);
2991 } catch (ParseException e) {
2992 errorMessage = "'(' expected after " + keyword + " keyword";
2994 {if (true) throw e;}
2998 jj_consume_token(RPAREN);
2999 } catch (ParseException e) {
3000 errorMessage = "')' expected after " + keyword + " keyword";
3002 {if (true) throw e;}
3006 static final public void IfStatement0(final int start,final int end) throws ParseException {
3007 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3009 jj_consume_token(COLON);
3012 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3036 case INTEGER_LITERAL:
3037 case FLOATING_POINT_LITERAL:
3038 case STRING_LITERAL:
3055 jj_la1[98] = jj_gen;
3062 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3067 jj_la1[99] = jj_gen;
3070 ElseIfStatementColon();
3072 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3074 ElseStatementColon();
3077 jj_la1[100] = jj_gen;
3081 setMarker(fileToParse,
3082 "Ugly syntax detected, you should if () {...} instead of if (): ... endif;",
3086 "Line " + token.beginLine);
3087 } catch (CoreException e) {
3088 PHPeclipsePlugin.log(e);
3091 jj_consume_token(ENDIF);
3092 } catch (ParseException e) {
3093 errorMessage = "'endif' expected";
3095 {if (true) throw e;}
3098 jj_consume_token(SEMICOLON);
3099 } catch (ParseException e) {
3100 errorMessage = "';' expected after 'endif' keyword";
3102 {if (true) throw e;}
3128 case INTEGER_LITERAL:
3129 case FLOATING_POINT_LITERAL:
3130 case STRING_LITERAL:
3147 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3152 jj_la1[101] = jj_gen;
3157 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3159 jj_consume_token(ELSE);
3163 jj_la1[102] = jj_gen;
3168 jj_la1[103] = jj_gen;
3169 jj_consume_token(-1);
3170 throw new ParseException();
3174 static final public void ElseIfStatementColon() throws ParseException {
3175 jj_consume_token(ELSEIF);
3176 Condition("elseif");
3177 jj_consume_token(COLON);
3180 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3204 case INTEGER_LITERAL:
3205 case FLOATING_POINT_LITERAL:
3206 case STRING_LITERAL:
3223 jj_la1[104] = jj_gen;
3230 static final public void ElseStatementColon() throws ParseException {
3231 jj_consume_token(ELSE);
3232 jj_consume_token(COLON);
3235 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3259 case INTEGER_LITERAL:
3260 case FLOATING_POINT_LITERAL:
3261 case STRING_LITERAL:
3278 jj_la1[105] = jj_gen;
3285 static final public void ElseIfStatement() throws ParseException {
3286 jj_consume_token(ELSEIF);
3287 Condition("elseif");
3291 static final public void WhileStatement() throws ParseException {
3293 final int pos = jj_input_stream.bufpos;
3294 token = jj_consume_token(WHILE);
3296 WhileStatement0(pos,pos + token.image.length());
3299 static final public void WhileStatement0(final int start, final int end) throws ParseException {
3300 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3302 jj_consume_token(COLON);
3305 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3329 case INTEGER_LITERAL:
3330 case FLOATING_POINT_LITERAL:
3331 case STRING_LITERAL:
3348 jj_la1[106] = jj_gen;
3354 setMarker(fileToParse,
3355 "Ugly syntax detected, you should while () {...} instead of while (): ... endwhile;",
3359 "Line " + token.beginLine);
3360 } catch (CoreException e) {
3361 PHPeclipsePlugin.log(e);
3364 jj_consume_token(ENDWHILE);
3365 } catch (ParseException e) {
3366 errorMessage = "'endwhile' expected";
3368 {if (true) throw e;}
3371 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3373 jj_consume_token(SEMICOLON);
3376 jj_consume_token(138);
3379 jj_la1[107] = jj_gen;
3380 jj_consume_token(-1);
3381 throw new ParseException();
3383 } catch (ParseException e) {
3384 errorMessage = "';' expected after 'endwhile' keyword";
3386 {if (true) throw e;}
3412 case INTEGER_LITERAL:
3413 case FLOATING_POINT_LITERAL:
3414 case STRING_LITERAL:
3431 jj_la1[108] = jj_gen;
3432 jj_consume_token(-1);
3433 throw new ParseException();
3437 static final public void DoStatement() throws ParseException {
3438 jj_consume_token(DO);
3440 jj_consume_token(WHILE);
3443 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3445 jj_consume_token(SEMICOLON);
3448 jj_consume_token(138);
3451 jj_la1[109] = jj_gen;
3452 jj_consume_token(-1);
3453 throw new ParseException();
3455 } catch (ParseException e) {
3456 errorMessage = "';' expected";
3458 {if (true) throw e;}
3462 static final public void ForeachStatement() throws ParseException {
3463 jj_consume_token(FOREACH);
3465 jj_consume_token(LPAREN);
3466 } catch (ParseException e) {
3467 errorMessage = "'(' expected after 'foreach' keyword";
3469 {if (true) throw e;}
3473 } catch (ParseException e) {
3474 errorMessage = "variable expected";
3476 {if (true) throw e;}
3478 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3484 jj_la1[110] = jj_gen;
3488 jj_consume_token(AS);
3489 } catch (ParseException e) {
3490 errorMessage = "'as' expected";
3492 {if (true) throw e;}
3496 } catch (ParseException e) {
3497 errorMessage = "variable expected";
3499 {if (true) throw e;}
3501 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3503 jj_consume_token(ARRAYASSIGN);
3507 jj_la1[111] = jj_gen;
3511 jj_consume_token(RPAREN);
3512 } catch (ParseException e) {
3513 errorMessage = "')' expected after 'foreach' keyword";
3515 {if (true) throw e;}
3519 } catch (ParseException e) {
3520 if (errorMessage != null) {if (true) throw e;}
3521 errorMessage = "statement expected";
3523 {if (true) throw e;}
3527 static final public void ForStatement() throws ParseException {
3529 final int pos = jj_input_stream.bufpos;
3530 token = jj_consume_token(FOR);
3532 jj_consume_token(LPAREN);
3533 } catch (ParseException e) {
3534 errorMessage = "'(' expected after 'for' keyword";
3536 {if (true) throw e;}
3538 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3549 jj_la1[112] = jj_gen;
3552 jj_consume_token(SEMICOLON);
3553 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3561 case INTEGER_LITERAL:
3562 case FLOATING_POINT_LITERAL:
3563 case STRING_LITERAL:
3578 jj_la1[113] = jj_gen;
3581 jj_consume_token(SEMICOLON);
3582 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3590 StatementExpressionList();
3593 jj_la1[114] = jj_gen;
3596 jj_consume_token(RPAREN);
3597 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3621 case INTEGER_LITERAL:
3622 case FLOATING_POINT_LITERAL:
3623 case STRING_LITERAL:
3640 jj_consume_token(COLON);
3643 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3667 case INTEGER_LITERAL:
3668 case FLOATING_POINT_LITERAL:
3669 case STRING_LITERAL:
3686 jj_la1[115] = jj_gen;
3692 setMarker(fileToParse,
3693 "Ugly syntax detected, you should for () {...} instead of for (): ... endfor;",
3695 pos+token.image.length(),
3697 "Line " + token.beginLine);
3698 } catch (CoreException e) {
3699 PHPeclipsePlugin.log(e);
3702 jj_consume_token(ENDFOR);
3703 } catch (ParseException e) {
3704 errorMessage = "'endfor' expected";
3706 {if (true) throw e;}
3709 jj_consume_token(SEMICOLON);
3710 } catch (ParseException e) {
3711 errorMessage = "';' expected after 'endfor' keyword";
3713 {if (true) throw e;}
3717 jj_la1[116] = jj_gen;
3718 jj_consume_token(-1);
3719 throw new ParseException();
3723 static final public void ForInit() throws ParseException {
3724 if (jj_2_7(2147483647)) {
3725 LocalVariableDeclaration();
3727 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3735 StatementExpressionList();
3738 jj_la1[117] = jj_gen;
3739 jj_consume_token(-1);
3740 throw new ParseException();
3745 static final public void StatementExpressionList() throws ParseException {
3746 StatementExpression();
3749 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3754 jj_la1[118] = jj_gen;
3757 jj_consume_token(COMMA);
3758 StatementExpression();
3762 static final public void BreakStatement() throws ParseException {
3763 jj_consume_token(BREAK);
3764 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3766 jj_consume_token(IDENTIFIER);
3769 jj_la1[119] = jj_gen;
3773 jj_consume_token(SEMICOLON);
3774 } catch (ParseException e) {
3775 errorMessage = "';' expected after 'break' statement";
3777 {if (true) throw e;}
3781 static final public void ContinueStatement() throws ParseException {
3782 jj_consume_token(CONTINUE);
3783 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3785 jj_consume_token(IDENTIFIER);
3788 jj_la1[120] = jj_gen;
3792 jj_consume_token(SEMICOLON);
3793 } catch (ParseException e) {
3794 errorMessage = "';' expected after 'continue' statement";
3796 {if (true) throw e;}
3800 static final public void ReturnStatement() throws ParseException {
3801 jj_consume_token(RETURN);
3802 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3810 case INTEGER_LITERAL:
3811 case FLOATING_POINT_LITERAL:
3812 case STRING_LITERAL:
3827 jj_la1[121] = jj_gen;
3831 jj_consume_token(SEMICOLON);
3832 } catch (ParseException e) {
3833 errorMessage = "';' expected after 'return' statement";
3835 {if (true) throw e;}
3839 static final private boolean jj_2_1(int xla) {
3840 jj_la = xla; jj_lastpos = jj_scanpos = token;
3841 boolean retval = !jj_3_1();
3846 static final private boolean jj_2_2(int xla) {
3847 jj_la = xla; jj_lastpos = jj_scanpos = token;
3848 boolean retval = !jj_3_2();
3853 static final private boolean jj_2_3(int xla) {
3854 jj_la = xla; jj_lastpos = jj_scanpos = token;
3855 boolean retval = !jj_3_3();
3860 static final private boolean jj_2_4(int xla) {
3861 jj_la = xla; jj_lastpos = jj_scanpos = token;
3862 boolean retval = !jj_3_4();
3867 static final private boolean jj_2_5(int xla) {
3868 jj_la = xla; jj_lastpos = jj_scanpos = token;
3869 boolean retval = !jj_3_5();
3874 static final private boolean jj_2_6(int xla) {
3875 jj_la = xla; jj_lastpos = jj_scanpos = token;
3876 boolean retval = !jj_3_6();
3881 static final private boolean jj_2_7(int xla) {
3882 jj_la = xla; jj_lastpos = jj_scanpos = token;
3883 boolean retval = !jj_3_7();
3888 static final private boolean jj_3R_116() {
3899 if (jj_3R_123()) return true;
3900 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3901 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3902 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3903 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3904 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3905 if (jj_3R_115()) return true;
3906 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3910 static final private boolean jj_3R_99() {
3911 if (jj_scan_token(LBRACE)) return true;
3912 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3913 if (jj_3R_41()) return true;
3914 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3915 if (jj_scan_token(RBRACE)) return true;
3916 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3920 static final private boolean jj_3R_71() {
3921 if (jj_scan_token(IDENTIFIER)) return true;
3922 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3925 if (jj_3R_109()) jj_scanpos = xsp;
3926 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3930 static final private boolean jj_3R_113() {
3931 if (jj_3R_115()) return true;
3932 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3936 if (jj_3R_116()) { jj_scanpos = xsp; break; }
3937 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3942 static final private boolean jj_3R_197() {
3943 if (jj_scan_token(COMMA)) return true;
3944 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3945 if (jj_3R_41()) return true;
3946 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3950 static final private boolean jj_3R_70() {
3951 if (jj_scan_token(LBRACE)) return true;
3952 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3953 if (jj_3R_41()) return true;
3954 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3955 if (jj_scan_token(RBRACE)) return true;
3956 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3960 static final private boolean jj_3R_62() {
3969 if (jj_3R_73()) return true;
3970 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3971 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3972 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3973 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3977 static final private boolean jj_3R_196() {
3978 if (jj_3R_41()) return true;
3979 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3983 if (jj_3R_197()) { jj_scanpos = xsp; break; }
3984 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3989 static final private boolean jj_3R_94() {
3990 if (jj_scan_token(DOLLAR)) return true;
3991 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3992 if (jj_3R_62()) return true;
3993 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3997 static final private boolean jj_3R_114() {
3998 if (jj_scan_token(BIT_AND)) return true;
3999 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4000 if (jj_3R_113()) return true;
4001 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4005 static final private boolean jj_3R_194() {
4006 if (jj_3R_196()) return true;
4007 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4011 static final private boolean jj_3R_93() {
4012 if (jj_scan_token(DOLLAR_ID)) return true;
4013 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4016 if (jj_3R_99()) jj_scanpos = xsp;
4017 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4021 static final private boolean jj_3R_77() {
4026 if (jj_3R_94()) return true;
4027 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4028 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4032 static final private boolean jj_3R_111() {
4033 if (jj_3R_113()) return true;
4034 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4038 if (jj_3R_114()) { jj_scanpos = xsp; break; }
4039 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4044 static final private boolean jj_3R_192() {
4045 if (jj_scan_token(LPAREN)) return true;
4046 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4049 if (jj_3R_194()) jj_scanpos = xsp;
4050 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4051 if (jj_scan_token(RPAREN)) return true;
4052 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4056 static final private boolean jj_3_1() {
4057 if (jj_3R_38()) return true;
4058 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4062 static final private boolean jj_3R_112() {
4063 if (jj_scan_token(XOR)) return true;
4064 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4065 if (jj_3R_111()) return true;
4066 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4070 static final private boolean jj_3R_175() {
4071 if (jj_scan_token(NULL)) return true;
4072 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4076 static final private boolean jj_3R_68() {
4077 if (jj_3R_77()) return true;
4078 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4082 if (jj_3_1()) { jj_scanpos = xsp; break; }
4083 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4088 static final private boolean jj_3R_107() {
4089 if (jj_3R_111()) return true;
4090 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4094 if (jj_3R_112()) { jj_scanpos = xsp; break; }
4095 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4100 static final private boolean jj_3R_182() {
4101 if (jj_scan_token(FALSE)) return true;
4102 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4106 static final private boolean jj_3R_181() {
4107 if (jj_scan_token(TRUE)) return true;
4108 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4112 static final private boolean jj_3R_174() {
4117 if (jj_3R_182()) return true;
4118 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4119 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4123 static final private boolean jj_3R_170() {
4124 if (jj_3R_175()) return true;
4125 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4129 static final private boolean jj_3R_108() {
4130 if (jj_scan_token(BIT_OR)) return true;
4131 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4132 if (jj_3R_107()) return true;
4133 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4137 static final private boolean jj_3R_169() {
4138 if (jj_3R_174()) return true;
4139 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4143 static final private boolean jj_3R_100() {
4144 if (jj_3R_107()) return true;
4145 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4149 if (jj_3R_108()) { jj_scanpos = xsp; break; }
4150 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4155 static final private boolean jj_3R_168() {
4156 if (jj_scan_token(STRING_LITERAL)) return true;
4157 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4161 static final private boolean jj_3R_69() {
4162 if (jj_scan_token(ASSIGN)) return true;
4163 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4164 if (jj_3R_41()) return true;
4165 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4169 static final private boolean jj_3R_167() {
4170 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
4171 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4175 static final private boolean jj_3R_61() {
4176 if (jj_scan_token(COMMA)) return true;
4177 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4178 if (jj_3R_60()) return true;
4179 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4183 static final private boolean jj_3R_103() {
4184 if (jj_scan_token(_ANDL)) return true;
4185 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4189 static final private boolean jj_3R_163() {
4200 if (jj_3R_170()) return true;
4201 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4202 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4203 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4204 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4205 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4209 static final private boolean jj_3R_166() {
4210 if (jj_scan_token(INTEGER_LITERAL)) return true;
4211 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4215 static final private boolean jj_3R_101() {
4216 if (jj_scan_token(DOT)) return true;
4217 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4218 if (jj_3R_100()) return true;
4219 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4223 static final private boolean jj_3R_95() {
4224 if (jj_3R_100()) return true;
4225 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4229 if (jj_3R_101()) { jj_scanpos = xsp; break; }
4230 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4235 static final private boolean jj_3R_63() {
4236 if (jj_3R_41()) return true;
4237 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4241 static final private boolean jj_3R_98() {
4242 if (jj_scan_token(_ORL)) return true;
4243 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4247 static final private boolean jj_3R_60() {
4248 if (jj_3R_68()) return true;
4249 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4252 if (jj_3R_69()) jj_scanpos = xsp;
4253 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4257 static final private boolean jj_3R_102() {
4258 if (jj_scan_token(SC_AND)) return true;
4259 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4263 static final private boolean jj_3R_96() {
4268 if (jj_3R_103()) return true;
4269 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4270 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4271 if (jj_3R_95()) return true;
4272 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4276 static final private boolean jj_3R_47() {
4277 if (jj_scan_token(LBRACKET)) return true;
4278 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4281 if (jj_3R_63()) jj_scanpos = xsp;
4282 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4283 if (jj_scan_token(RBRACKET)) return true;
4284 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4288 static final private boolean jj_3R_78() {
4289 if (jj_3R_95()) return true;
4290 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4294 if (jj_3R_96()) { jj_scanpos = xsp; break; }
4295 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4300 static final private boolean jj_3R_45() {
4301 if (jj_3R_60()) return true;
4302 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4306 if (jj_3R_61()) { jj_scanpos = xsp; break; }
4307 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4312 static final private boolean jj_3R_75() {
4313 if (jj_scan_token(HOOK)) return true;
4314 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4315 if (jj_3R_41()) return true;
4316 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4317 if (jj_scan_token(COLON)) return true;
4318 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4319 if (jj_3R_66()) return true;
4320 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4324 static final private boolean jj_3R_46() {
4325 if (jj_scan_token(CLASSACCESS)) return true;
4326 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4327 if (jj_3R_62()) return true;
4328 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4332 static final private boolean jj_3R_38() {
4337 if (jj_3R_47()) return true;
4338 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_3_7() {
4344 if (jj_3R_45()) return true;
4345 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4349 static final private boolean jj_3R_97() {
4350 if (jj_scan_token(SC_OR)) return true;
4351 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4355 static final private boolean jj_3R_189() {
4356 if (jj_3R_38()) return true;
4357 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4361 static final private boolean jj_3R_79() {
4366 if (jj_3R_98()) return true;
4367 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4368 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4369 if (jj_3R_78()) return true;
4370 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4374 static final private boolean jj_3R_188() {
4375 if (jj_3R_192()) return true;
4376 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4380 static final private boolean jj_3R_184() {
4385 if (jj_3R_189()) return true;
4386 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4387 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4391 static final private boolean jj_3R_74() {
4392 if (jj_3R_78()) return true;
4393 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4397 if (jj_3R_79()) { jj_scanpos = xsp; break; }
4398 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4403 static final private boolean jj_3R_191() {
4404 if (jj_3R_68()) return true;
4405 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4409 static final private boolean jj_3R_190() {
4410 if (jj_scan_token(IDENTIFIER)) return true;
4411 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4415 static final private boolean jj_3R_186() {
4420 if (jj_3R_191()) return true;
4421 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4422 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4426 static final private boolean jj_3R_66() {
4427 if (jj_3R_74()) return true;
4428 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4431 if (jj_3R_75()) jj_scanpos = xsp;
4432 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4436 static final private boolean jj_3R_178() {
4437 if (jj_3R_68()) return true;
4438 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4442 static final private boolean jj_3R_177() {
4443 if (jj_scan_token(NEW)) return true;
4444 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4445 if (jj_3R_186()) return true;
4446 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4450 static final private boolean jj_3R_180() {
4451 if (jj_scan_token(DECR)) return true;
4452 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4456 static final private boolean jj_3R_176() {
4457 if (jj_scan_token(IDENTIFIER)) return true;
4458 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4462 static final private boolean jj_3R_92() {
4463 if (jj_scan_token(TILDEEQUAL)) return true;
4464 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4468 static final private boolean jj_3R_171() {
4475 if (jj_3R_178()) return true;
4476 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4477 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4478 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4482 static final private boolean jj_3R_44() {
4483 if (jj_scan_token(IDENTIFIER)) return true;
4484 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4485 if (jj_scan_token(COLON)) return true;
4486 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4490 static final private boolean jj_3R_91() {
4491 if (jj_scan_token(DOTASSIGN)) return true;
4492 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4496 static final private boolean jj_3R_90() {
4497 if (jj_scan_token(ORASSIGN)) return true;
4498 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4502 static final private boolean jj_3R_89() {
4503 if (jj_scan_token(XORASSIGN)) return true;
4504 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4508 static final private boolean jj_3R_88() {
4509 if (jj_scan_token(ANDASSIGN)) return true;
4510 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4514 static final private boolean jj_3R_87() {
4515 if (jj_scan_token(RSIGNEDSHIFTASSIGN)) return true;
4516 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4520 static final private boolean jj_3R_172() {
4521 if (jj_scan_token(ARRAY)) return true;
4522 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4523 if (jj_3R_185()) return true;
4524 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4528 static final private boolean jj_3R_86() {
4529 if (jj_scan_token(LSHIFTASSIGN)) return true;
4530 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4534 static final private boolean jj_3R_85() {
4535 if (jj_scan_token(MINUSASSIGN)) return true;
4536 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4540 static final private boolean jj_3R_84() {
4541 if (jj_scan_token(PLUSASSIGN)) return true;
4542 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4546 static final private boolean jj_3R_83() {
4547 if (jj_scan_token(REMASSIGN)) return true;
4548 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4552 static final private boolean jj_3R_179() {
4553 if (jj_scan_token(INCR)) return true;
4554 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4558 static final private boolean jj_3R_165() {
4559 if (jj_3R_172()) return true;
4560 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4564 static final private boolean jj_3R_173() {
4569 if (jj_3R_180()) return true;
4570 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4571 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4575 static final private boolean jj_3R_183() {
4576 if (jj_3R_184()) return true;
4577 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4581 static final private boolean jj_3R_82() {
4582 if (jj_scan_token(SLASHASSIGN)) return true;
4583 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4587 static final private boolean jj_3R_81() {
4588 if (jj_scan_token(STARASSIGN)) return true;
4589 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4593 static final private boolean jj_3R_164() {
4594 if (jj_3R_171()) return true;
4595 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4599 if (jj_3R_183()) { jj_scanpos = xsp; break; }
4600 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4605 static final private boolean jj_3R_80() {
4606 if (jj_scan_token(ASSIGN)) return true;
4607 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4611 static final private boolean jj_3R_76() {
4638 if (jj_3R_92()) return true;
4639 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4640 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4641 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4642 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4643 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4644 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4645 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4646 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4647 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4648 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4649 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4650 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4651 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4655 static final private boolean jj_3R_187() {
4656 if (jj_3R_184()) return true;
4657 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4661 static final private boolean jj_3_4() {
4662 if (jj_scan_token(IDENTIFIER)) return true;
4663 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4664 if (jj_scan_token(STATICCLASSACCESS)) return true;
4665 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4666 if (jj_3R_186()) return true;
4667 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4671 if (jj_3R_187()) { jj_scanpos = xsp; break; }
4672 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4677 static final private boolean jj_3R_160() {
4684 if (jj_3R_165()) return true;
4685 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4686 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4687 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4691 static final private boolean jj_3R_67() {
4692 if (jj_3R_76()) return true;
4693 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4694 if (jj_3R_41()) return true;
4695 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4699 static final private boolean jj_3R_59() {
4700 if (jj_3R_66()) return true;
4701 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4704 if (jj_3R_67()) jj_scanpos = xsp;
4705 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4709 static final private boolean jj_3R_58() {
4710 if (jj_3R_65()) return true;
4711 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4715 static final private boolean jj_3R_106() {
4716 if (jj_scan_token(ASSIGN)) return true;
4717 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4718 if (jj_3R_41()) return true;
4719 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4723 static final private boolean jj_3R_41() {
4730 if (jj_3R_59()) return true;
4731 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4732 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4733 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4737 static final private boolean jj_3R_57() {
4738 if (jj_3R_64()) return true;
4739 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4743 static final private boolean jj_3R_162() {
4744 if (jj_3R_160()) return true;
4745 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4748 if (jj_3R_173()) jj_scanpos = xsp;
4749 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4753 static final private boolean jj_3R_161() {
4754 if (jj_scan_token(LPAREN)) return true;
4755 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4756 if (jj_3R_40()) return true;
4757 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4758 if (jj_scan_token(RPAREN)) return true;
4759 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4760 if (jj_3R_135()) return true;
4761 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4765 static final private boolean jj_3R_56() {
4766 if (jj_scan_token(OBJECT)) return true;
4767 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4771 static final private boolean jj_3R_55() {
4772 if (jj_scan_token(INTEGER)) return true;
4773 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4777 static final private boolean jj_3R_105() {
4778 if (jj_scan_token(COMMA)) return true;
4779 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4780 if (jj_3R_68()) return true;
4781 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4785 static final private boolean jj_3R_54() {
4786 if (jj_scan_token(INT)) return true;
4787 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4791 static final private boolean jj_3R_104() {
4792 if (jj_3R_68()) return true;
4793 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4797 static final private boolean jj_3R_53() {
4798 if (jj_scan_token(FLOAT)) return true;
4799 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4803 static final private boolean jj_3R_52() {
4804 if (jj_scan_token(DOUBLE)) return true;
4805 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4809 static final private boolean jj_3_3() {
4810 if (jj_scan_token(LPAREN)) return true;
4811 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4812 if (jj_3R_40()) return true;
4813 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4814 if (jj_scan_token(RPAREN)) return true;
4815 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4819 static final private boolean jj_3R_51() {
4820 if (jj_scan_token(REAL)) return true;
4821 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4825 static final private boolean jj_3R_159() {
4826 if (jj_scan_token(LPAREN)) return true;
4827 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4828 if (jj_3R_41()) return true;
4829 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4830 if (jj_scan_token(RPAREN)) return true;
4831 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4835 static final private boolean jj_3R_50() {
4836 if (jj_scan_token(BOOLEAN)) return true;
4837 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4841 static final private boolean jj_3R_158() {
4842 if (jj_3R_163()) return true;
4843 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4847 static final private boolean jj_3R_65() {
4848 if (jj_scan_token(LIST)) return true;
4849 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4850 if (jj_scan_token(LPAREN)) return true;
4851 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4854 if (jj_3R_104()) jj_scanpos = xsp;
4855 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4857 if (jj_3R_105()) jj_scanpos = xsp;
4858 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4859 if (jj_scan_token(RPAREN)) return true;
4860 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4862 if (jj_3R_106()) jj_scanpos = xsp;
4863 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4867 static final private boolean jj_3R_49() {
4868 if (jj_scan_token(BOOL)) return true;
4869 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4873 static final private boolean jj_3R_157() {
4874 if (jj_3R_162()) return true;
4875 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4879 static final private boolean jj_3R_40() {
4898 if (jj_3R_56()) return true;
4899 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4900 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4901 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4902 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4903 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4904 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4905 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4906 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4907 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4911 static final private boolean jj_3R_48() {
4912 if (jj_scan_token(STRING)) return true;
4913 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4917 static final private boolean jj_3R_156() {
4918 if (jj_3R_161()) return true;
4919 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4923 static final private boolean jj_3R_154() {
4934 if (jj_3R_159()) return true;
4935 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4936 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4937 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4938 } else 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_155() {
4944 if (jj_scan_token(BANG)) return true;
4945 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4946 if (jj_3R_135()) return true;
4947 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4951 static final private boolean jj_3R_64() {
4952 if (jj_scan_token(PRINT)) return true;
4953 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4954 if (jj_3R_41()) return true;
4955 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4959 static final private boolean jj_3R_153() {
4960 if (jj_scan_token(DECR)) return true;
4961 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4962 if (jj_3R_160()) return true;
4963 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4967 static final private boolean jj_3R_152() {
4968 if (jj_scan_token(INCR)) return true;
4969 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4970 if (jj_3R_160()) return true;
4971 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4975 static final private boolean jj_3R_151() {
4976 if (jj_scan_token(MINUS)) return true;
4977 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4981 static final private boolean jj_3R_149() {
4982 if (jj_3R_154()) return true;
4983 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4987 static final private boolean jj_3R_148() {
4988 if (jj_3R_153()) return true;
4989 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4993 static final private boolean jj_3R_143() {
4994 if (jj_scan_token(REM)) return true;
4995 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4999 static final private boolean jj_3R_147() {
5000 if (jj_3R_152()) return true;
5001 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5005 static final private boolean jj_3R_150() {
5006 if (jj_scan_token(PLUS)) return true;
5007 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5011 static final private boolean jj_3R_144() {
5020 if (jj_3R_149()) return true;
5021 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5022 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5023 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5024 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5028 static final private boolean jj_3R_146() {
5033 if (jj_3R_151()) return true;
5034 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5035 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5036 if (jj_3R_135()) return true;
5037 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5041 static final private boolean jj_3R_145() {
5042 if (jj_scan_token(AT)) return true;
5043 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5047 static final private boolean jj_3R_140() {
5051 if (jj_3R_145()) { jj_scanpos = xsp; break; }
5052 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5054 if (jj_3R_144()) return true;
5055 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5059 static final private boolean jj_3R_142() {
5060 if (jj_scan_token(SLASH)) return true;
5061 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5065 static final private boolean jj_3R_135() {
5070 if (jj_3R_140()) return true;
5071 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5072 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5076 static final private boolean jj_3R_139() {
5077 if (jj_scan_token(BIT_AND)) return true;
5078 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5079 if (jj_3R_144()) return true;
5080 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5084 static final private boolean jj_3R_134() {
5085 if (jj_scan_token(RUNSIGNEDSHIFT)) return true;
5086 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5090 static final private boolean jj_3R_138() {
5091 if (jj_scan_token(MINUS)) return true;
5092 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5096 static final private boolean jj_3R_129() {
5097 if (jj_scan_token(GE)) return true;
5098 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5102 static final private boolean jj_3R_141() {
5103 if (jj_scan_token(STAR)) return true;
5104 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5108 static final private boolean jj_3R_136() {
5115 if (jj_3R_143()) return true;
5116 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5117 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5118 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5119 if (jj_3R_135()) return true;
5120 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5124 static final private boolean jj_3R_130() {
5125 if (jj_3R_135()) return true;
5126 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5130 if (jj_3R_136()) { jj_scanpos = xsp; break; }
5131 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5136 static final private boolean jj_3_2() {
5137 if (jj_scan_token(COMMA)) return true;
5138 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5139 if (jj_3R_39()) return true;
5140 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5144 static final private boolean jj_3R_193() {
5145 if (jj_3R_39()) return true;
5146 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5150 if (jj_3_2()) { jj_scanpos = xsp; break; }
5151 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5156 static final private boolean jj_3R_133() {
5157 if (jj_scan_token(RSIGNEDSHIFT)) return true;
5158 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5162 static final private boolean jj_3R_128() {
5163 if (jj_scan_token(LE)) return true;
5164 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5168 static final private boolean jj_3R_137() {
5169 if (jj_scan_token(PLUS)) return true;
5170 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5174 static final private boolean jj_3R_131() {
5179 if (jj_3R_138()) return true;
5180 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5181 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5182 if (jj_3R_130()) return true;
5183 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5187 static final private boolean jj_3R_185() {
5188 if (jj_scan_token(LPAREN)) return true;
5189 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5192 if (jj_3R_193()) jj_scanpos = xsp;
5193 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5194 if (jj_scan_token(RPAREN)) return true;
5195 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5199 static final private boolean jj_3R_124() {
5200 if (jj_3R_130()) return true;
5201 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5205 if (jj_3R_131()) { jj_scanpos = xsp; break; }
5206 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5211 static final private boolean jj_3R_195() {
5212 if (jj_scan_token(ARRAYASSIGN)) return true;
5213 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5214 if (jj_3R_41()) return true;
5215 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5219 static final private boolean jj_3R_39() {
5220 if (jj_3R_41()) return true;
5221 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5224 if (jj_3R_195()) jj_scanpos = xsp;
5225 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5229 static final private boolean jj_3R_127() {
5230 if (jj_scan_token(GT)) return true;
5231 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5235 static final private boolean jj_3R_132() {
5236 if (jj_scan_token(LSHIFT)) return true;
5237 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5241 static final private boolean jj_3R_125() {
5248 if (jj_3R_134()) return true;
5249 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5250 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5251 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5252 if (jj_3R_124()) return true;
5253 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5257 static final private boolean jj_3R_117() {
5258 if (jj_3R_124()) return true;
5259 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5263 if (jj_3R_125()) { jj_scanpos = xsp; break; }
5264 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5269 static final private boolean jj_3R_43() {
5270 if (jj_scan_token(PHPEND)) return true;
5271 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5275 static final private boolean jj_3R_110() {
5276 if (jj_3R_62()) return true;
5277 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5281 static final private boolean jj_3R_126() {
5282 if (jj_scan_token(LT)) return true;
5283 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5287 static final private boolean jj_3R_118() {
5296 if (jj_3R_129()) return true;
5297 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5298 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5299 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5300 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5301 if (jj_3R_117()) return true;
5302 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5306 static final private boolean jj_3_6() {
5307 if (jj_3R_44()) return true;
5308 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5312 static final private boolean jj_3R_115() {
5313 if (jj_3R_117()) return true;
5314 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5318 if (jj_3R_118()) { jj_scanpos = xsp; break; }
5319 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5324 static final private boolean jj_3R_42() {
5325 if (jj_scan_token(SEMICOLON)) return true;
5326 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5330 static final private boolean jj_3R_109() {
5331 if (jj_scan_token(LBRACE)) return true;
5332 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5333 if (jj_3R_41()) return true;
5334 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5335 if (jj_scan_token(RBRACE)) return true;
5336 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5340 static final private boolean jj_3_5() {
5341 if (jj_3R_41()) return true;
5342 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5347 if (jj_3R_43()) return true;
5348 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5349 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5353 static final private boolean jj_3R_73() {
5354 if (jj_scan_token(DOLLAR_ID)) return true;
5355 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5358 if (jj_3R_110()) jj_scanpos = xsp;
5359 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5363 static final private boolean jj_3R_123() {
5364 if (jj_scan_token(TRIPLEEQUAL)) return true;
5365 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5369 static final private boolean jj_3R_122() {
5370 if (jj_scan_token(BANGDOUBLEEQUAL)) return true;
5371 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5375 static final private boolean jj_3R_72() {
5376 if (jj_scan_token(DOLLAR)) return true;
5377 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5378 if (jj_3R_62()) return true;
5379 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5383 static final private boolean jj_3R_121() {
5384 if (jj_scan_token(NE)) return true;
5385 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5389 static final private boolean jj_3R_120() {
5390 if (jj_scan_token(DIF)) return true;
5391 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5395 static final private boolean jj_3R_119() {
5396 if (jj_scan_token(EQ)) return true;
5397 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5401 static private boolean jj_initialized_once = false;
5402 static public PHPParserTokenManager token_source;
5403 static SimpleCharStream jj_input_stream;
5404 static public Token token, jj_nt;
5405 static private int jj_ntk;
5406 static private Token jj_scanpos, jj_lastpos;
5407 static private int jj_la;
5408 static public boolean lookingAhead = false;
5409 static private boolean jj_semLA;
5410 static private int jj_gen;
5411 static final private int[] jj_la1 = new int[122];
5412 static private int[] jj_la1_0;
5413 static private int[] jj_la1_1;
5414 static private int[] jj_la1_2;
5415 static private int[] jj_la1_3;
5416 static private int[] jj_la1_4;
5424 private static void jj_la1_0() {
5425 jj_la1_0 = new int[] {0xfe58001e,0x0,0x6,0x6,0xfe58001e,0xfe580000,0x0,0x300000,0x300000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000000,0x0,0xa000000,0x0,0x0,0x0,0x0,0x0,0x0,0xa000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000000,0x0,0x2000000,0x0,0x2000000,0x0,0x0,0x0,0x0,0x2000000,0x0,0x0,0x0,0xa000000,0x0,0x0,0x0,0xa000000,0x0,0x10,0x0,0xf2400000,0xfe400000,0x0,0x0,0x0,0x0,0xe0000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfe580000,0xfe580000,0xfa580000,0x0,0x0,0x0,0x0,0x2000000,0x0,0xfa580000,0x4000000,0x0,0xfe400000,0x800000,0x1000000,0x800000,0x1000000,0xfe400000,0xfe400000,0xfe400000,0xfe400000,0x0,0xfe400000,0x0,0x0,0x0,0x2000000,0xa000000,0x2000000,0xfe400000,0xfe400000,0x2000000,0x0,0x0,0x0,0xa000000,};
5427 private static void jj_la1_1() {
5428 jj_la1_1 = new int[] {0x8ebaa47,0x0,0x0,0x0,0x8ebaa47,0x8ebaa47,0x1000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x610000,0x20,0x618040,0x0,0x0,0x0,0x0,0xe0000000,0x0,0x618040,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x618000,0x0,0x618000,0x0,0x618000,0x0,0x0,0x8,0x8,0x8000,0x8000,0x0,0x8,0x618040,0x8,0x610000,0x600000,0x618040,0x0,0x0,0x0,0x88aaa07,0x8ebaa47,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8ebaa47,0x8ebaa47,0x8ebaa47,0x0,0x0,0x0,0x0,0x8000,0x480,0x8ebaa47,0x0,0x480,0x8ebaa47,0x0,0x0,0x0,0x0,0x8ebaa47,0x8ebaa47,0x8ebaa47,0x8ebaa47,0x0,0x8ebaa47,0x0,0x8,0x20,0x8000,0x618040,0x8000,0x8ebaa47,0x8ebaa47,0x8000,0x0,0x0,0x0,0x618040,};
5430 private static void jj_la1_2() {
5431 jj_la1_2 = new int[] {0x11445100,0x10000000,0x0,0x0,0x11445100,0x11445100,0x0,0x0,0x0,0x20000000,0x0,0x1000000,0x0,0x1000000,0x1040000,0x1040000,0x1100,0x1100,0x45100,0x0,0x445100,0x0,0x20000000,0x0,0x0,0x3f,0x0,0x445100,0x0,0x0,0x40,0x40,0x80,0x80,0x40000000,0x0,0x0,0x0,0x0,0x0,0x80000000,0x80000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x445100,0x0,0x445100,0x0,0x445100,0x0,0x0,0x4400000,0x4400000,0x40000,0x40000,0x40000,0x4400000,0x445100,0x4000000,0x5100,0x0,0x445100,0x20000000,0x10000000,0x0,0x11040000,0x11445100,0x10000000,0x10000000,0x10000000,0x10000000,0x0,0x0,0x20000000,0x0,0x20000000,0x10000000,0x20000000,0x10000000,0x20000000,0x10000000,0x11445100,0x11445100,0x11445100,0x20000000,0x0,0x0,0x0,0x40000,0x0,0x11445100,0x0,0x0,0x11445100,0x0,0x0,0x0,0x0,0x11445100,0x11445100,0x11445100,0x11445100,0x10000000,0x11445100,0x10000000,0x4000000,0x0,0x40000,0x445100,0x40000,0x11445100,0x11445100,0x40000,0x20000000,0x40000,0x40000,0x445100,};
5433 private static void jj_la1_3() {
5434 jj_la1_3 = new int[] {0x3c380000,0x0,0x0,0x0,0x3c380000,0x3c380000,0x0,0x0,0x0,0x0,0x100,0x0,0x100000,0x0,0x100000,0x100000,0x0,0x0,0x30000000,0x0,0x3c380000,0x0,0x0,0x100000,0x0,0x0,0x7ff00,0x3c380000,0x7ff00,0x400000,0x1000000,0x1000000,0x2000000,0x2000000,0x0,0x0,0x0,0x0,0xf2,0xf2,0xd,0xd,0x0,0x0,0x30000000,0x30000000,0xc0000000,0xc0000000,0x80000,0x3c380000,0x30000000,0x3c300000,0x200000,0x100000,0xc000000,0xc000000,0x0,0x0,0x100000,0x100000,0x100000,0x0,0x3c380000,0x0,0x0,0x0,0x3c380000,0x0,0x0,0x80000,0xc180000,0x3c380000,0x0,0x0,0x0,0x0,0x0,0x100000,0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x3c380000,0x3c380000,0x3c380000,0x0,0x100,0xc07ff00,0xc07ff00,0xc100000,0x0,0x3c380000,0x0,0x0,0x3c380000,0x0,0x0,0x0,0x0,0x3cb80000,0x3c380000,0x3c380000,0x3c380000,0x0,0x3cb80000,0x0,0x0,0x0,0xc100000,0x3c380000,0xc100000,0x3c380000,0x3cb80000,0xc100000,0x0,0x0,0x0,0x3c380000,};
5436 private static void jj_la1_4() {
5437 jj_la1_4 = new int[] {0x201,0x0,0x0,0x0,0x201,0x201,0x0,0x0,0x0,0x0,0x0,0x0,0x200,0x0,0x200,0x200,0x0,0x0,0x0,0x0,0x201,0x1,0x0,0x201,0x1,0x0,0x180,0x201,0x180,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x4,0x1,0x0,0x0,0x0,0x0,0x70,0x70,0x0,0x0,0x8,0x8,0x0,0x201,0x0,0x200,0x0,0x200,0x0,0x0,0x0,0x0,0x200,0x200,0x200,0x0,0x201,0x0,0x0,0x0,0x201,0x0,0x0,0x0,0x200,0x201,0x400,0x400,0x400,0x400,0x0,0x200,0x0,0x0,0x0,0x400,0x0,0x400,0x0,0x400,0x201,0x201,0x201,0x0,0x0,0x180,0x180,0x200,0x0,0x201,0x0,0x0,0x201,0x0,0x0,0x0,0x0,0x201,0x201,0x201,0x201,0x400,0x201,0x400,0x0,0x0,0x200,0x201,0x200,0x201,0x201,0x200,0x0,0x0,0x0,0x201,};
5439 static final private JJCalls[] jj_2_rtns = new JJCalls[7];
5440 static private boolean jj_rescan = false;
5441 static private int jj_gc = 0;
5443 public PHPParser(java.io.InputStream stream) {
5444 if (jj_initialized_once) {
5445 System.out.println("ERROR: Second call to constructor of static parser. You must");
5446 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
5447 System.out.println(" during parser generation.");
5450 jj_initialized_once = true;
5451 jj_input_stream = new SimpleCharStream(stream, 1, 1);
5452 token_source = new PHPParserTokenManager(jj_input_stream);
5453 token = new Token();
5456 for (int i = 0; i < 122; i++) jj_la1[i] = -1;
5457 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5460 static public void ReInit(java.io.InputStream stream) {
5461 jj_input_stream.ReInit(stream, 1, 1);
5462 token_source.ReInit(jj_input_stream);
5463 token = new Token();
5466 for (int i = 0; i < 122; i++) jj_la1[i] = -1;
5467 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5470 public PHPParser(java.io.Reader stream) {
5471 if (jj_initialized_once) {
5472 System.out.println("ERROR: Second call to constructor of static parser. You must");
5473 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
5474 System.out.println(" during parser generation.");
5477 jj_initialized_once = true;
5478 jj_input_stream = new SimpleCharStream(stream, 1, 1);
5479 token_source = new PHPParserTokenManager(jj_input_stream);
5480 token = new Token();
5483 for (int i = 0; i < 122; i++) jj_la1[i] = -1;
5484 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5487 static public void ReInit(java.io.Reader stream) {
5488 jj_input_stream.ReInit(stream, 1, 1);
5489 token_source.ReInit(jj_input_stream);
5490 token = new Token();
5493 for (int i = 0; i < 122; i++) jj_la1[i] = -1;
5494 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5497 public PHPParser(PHPParserTokenManager tm) {
5498 if (jj_initialized_once) {
5499 System.out.println("ERROR: Second call to constructor of static parser. You must");
5500 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
5501 System.out.println(" during parser generation.");
5504 jj_initialized_once = true;
5506 token = new Token();
5509 for (int i = 0; i < 122; i++) jj_la1[i] = -1;
5510 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5513 public void ReInit(PHPParserTokenManager tm) {
5515 token = new Token();
5518 for (int i = 0; i < 122; i++) jj_la1[i] = -1;
5519 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5522 static final private Token jj_consume_token(int kind) throws ParseException {
5524 if ((oldToken = token).next != null) token = token.next;
5525 else token = token.next = token_source.getNextToken();
5527 if (token.kind == kind) {
5529 if (++jj_gc > 100) {
5531 for (int i = 0; i < jj_2_rtns.length; i++) {
5532 JJCalls c = jj_2_rtns[i];
5534 if (c.gen < jj_gen) c.first = null;
5543 throw generateParseException();
5546 static final private boolean jj_scan_token(int kind) {
5547 if (jj_scanpos == jj_lastpos) {
5549 if (jj_scanpos.next == null) {
5550 jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
5552 jj_lastpos = jj_scanpos = jj_scanpos.next;
5555 jj_scanpos = jj_scanpos.next;
5558 int i = 0; Token tok = token;
5559 while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
5560 if (tok != null) jj_add_error_token(kind, i);
5562 return (jj_scanpos.kind != kind);
5565 static final public Token getNextToken() {
5566 if (token.next != null) token = token.next;
5567 else token = token.next = token_source.getNextToken();
5573 static final public Token getToken(int index) {
5574 Token t = lookingAhead ? jj_scanpos : token;
5575 for (int i = 0; i < index; i++) {
5576 if (t.next != null) t = t.next;
5577 else t = t.next = token_source.getNextToken();
5582 static final private int jj_ntk() {
5583 if ((jj_nt=token.next) == null)
5584 return (jj_ntk = (token.next=token_source.getNextToken()).kind);
5586 return (jj_ntk = jj_nt.kind);
5589 static private java.util.Vector jj_expentries = new java.util.Vector();
5590 static private int[] jj_expentry;
5591 static private int jj_kind = -1;
5592 static private int[] jj_lasttokens = new int[100];
5593 static private int jj_endpos;
5595 static private void jj_add_error_token(int kind, int pos) {
5596 if (pos >= 100) return;
5597 if (pos == jj_endpos + 1) {
5598 jj_lasttokens[jj_endpos++] = kind;
5599 } else if (jj_endpos != 0) {
5600 jj_expentry = new int[jj_endpos];
5601 for (int i = 0; i < jj_endpos; i++) {
5602 jj_expentry[i] = jj_lasttokens[i];
5604 boolean exists = false;
5605 for (java.util.Enumeration enum = jj_expentries.elements(); enum.hasMoreElements();) {
5606 int[] oldentry = (int[])(enum.nextElement());
5607 if (oldentry.length == jj_expentry.length) {
5609 for (int i = 0; i < jj_expentry.length; i++) {
5610 if (oldentry[i] != jj_expentry[i]) {
5618 if (!exists) jj_expentries.addElement(jj_expentry);
5619 if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
5623 static public ParseException generateParseException() {
5624 jj_expentries.removeAllElements();
5625 boolean[] la1tokens = new boolean[139];
5626 for (int i = 0; i < 139; i++) {
5627 la1tokens[i] = false;
5630 la1tokens[jj_kind] = true;
5633 for (int i = 0; i < 122; i++) {
5634 if (jj_la1[i] == jj_gen) {
5635 for (int j = 0; j < 32; j++) {
5636 if ((jj_la1_0[i] & (1<<j)) != 0) {
5637 la1tokens[j] = true;
5639 if ((jj_la1_1[i] & (1<<j)) != 0) {
5640 la1tokens[32+j] = true;
5642 if ((jj_la1_2[i] & (1<<j)) != 0) {
5643 la1tokens[64+j] = true;
5645 if ((jj_la1_3[i] & (1<<j)) != 0) {
5646 la1tokens[96+j] = true;
5648 if ((jj_la1_4[i] & (1<<j)) != 0) {
5649 la1tokens[128+j] = true;
5654 for (int i = 0; i < 139; i++) {
5656 jj_expentry = new int[1];
5658 jj_expentries.addElement(jj_expentry);
5663 jj_add_error_token(0, 0);
5664 int[][] exptokseq = new int[jj_expentries.size()][];
5665 for (int i = 0; i < jj_expentries.size(); i++) {
5666 exptokseq[i] = (int[])jj_expentries.elementAt(i);
5668 return new ParseException(token, exptokseq, tokenImage);
5671 static final public void enable_tracing() {
5674 static final public void disable_tracing() {
5677 static final private void jj_rescan_token() {
5679 for (int i = 0; i < 7; i++) {
5680 JJCalls p = jj_2_rtns[i];
5682 if (p.gen > jj_gen) {
5683 jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
5685 case 0: jj_3_1(); break;
5686 case 1: jj_3_2(); break;
5687 case 2: jj_3_3(); break;
5688 case 3: jj_3_4(); break;
5689 case 4: jj_3_5(); break;
5690 case 5: jj_3_6(); break;
5691 case 6: jj_3_7(); break;
5695 } while (p != null);
5700 static final private void jj_save(int index, int xla) {
5701 JJCalls p = jj_2_rtns[index];
5702 while (p.gen > jj_gen) {
5703 if (p.next == null) { p = p.next = new JJCalls(); break; }
5706 p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
5709 static final class JJCalls {