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) {
264 case INTEGER_LITERAL:
265 case FLOATING_POINT_LITERAL:
289 } catch (TokenMgrError e) {
290 errorMessage = e.getMessage();
292 {if (true) throw generateParseException();}
296 static final public void PhpBlock() throws ParseException {
297 final int start = jj_input_stream.bufpos;
298 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
300 jj_consume_token(PHPECHOSTART);
302 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
304 jj_consume_token(SEMICOLON);
310 jj_consume_token(PHPEND);
339 case INTEGER_LITERAL:
340 case FLOATING_POINT_LITERAL:
355 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
358 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
360 jj_consume_token(PHPSTARTLONG);
363 jj_consume_token(PHPSTARTSHORT);
365 setMarker(fileToParse,
366 "You should use '<?php' instead of '<?' it will avoid some problems with XML",
368 jj_input_stream.bufpos,
370 "Line " + token.beginLine);
371 } catch (CoreException e) {
372 PHPeclipsePlugin.log(e);
377 jj_consume_token(-1);
378 throw new ParseException();
387 jj_consume_token(PHPEND);
388 } catch (ParseException e) {
389 errorMessage = "'?>' expected";
396 jj_consume_token(-1);
397 throw new ParseException();
401 static final public void Php() throws ParseException {
404 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
429 case INTEGER_LITERAL:
430 case FLOATING_POINT_LITERAL:
455 static final public void ClassDeclaration() throws ParseException {
456 final PHPClassDeclaration classDeclaration;
457 final Token className;
458 final int pos = jj_input_stream.bufpos;
459 jj_consume_token(CLASS);
460 className = jj_consume_token(IDENTIFIER);
461 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
463 jj_consume_token(EXTENDS);
464 jj_consume_token(IDENTIFIER);
470 if (currentSegment != null) {
471 classDeclaration = new PHPClassDeclaration(currentSegment,className.image,pos);
472 currentSegment.add(classDeclaration);
473 currentSegment = classDeclaration;
476 if (currentSegment != null) {
477 currentSegment = (PHPSegmentWithChildren) currentSegment.getParent();
481 static final public void ClassBody() throws ParseException {
483 jj_consume_token(LBRACE);
484 } catch (ParseException e) {
485 errorMessage = "'{' expected";
491 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
500 ClassBodyDeclaration();
503 jj_consume_token(RBRACE);
504 } catch (ParseException e) {
505 errorMessage = "'var', 'function' or '}' expected";
511 static final public void ClassBodyDeclaration() throws ParseException {
512 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
521 jj_consume_token(-1);
522 throw new ParseException();
526 static final public void FieldDeclaration() throws ParseException {
527 PHPVarDeclaration variableDeclaration;
528 jj_consume_token(VAR);
529 variableDeclaration = VariableDeclarator();
530 if (currentSegment != null) {
531 currentSegment.add(variableDeclaration);
535 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
543 jj_consume_token(COMMA);
544 variableDeclaration = VariableDeclarator();
545 if (currentSegment != null) {
546 currentSegment.add(variableDeclaration);
550 jj_consume_token(SEMICOLON);
551 } catch (ParseException e) {
552 errorMessage = "';' expected after variable declaration";
558 static final public PHPVarDeclaration VariableDeclarator() throws ParseException {
559 final String varName;
560 String varValue = null;
561 final int pos = jj_input_stream.bufpos;
562 varName = VariableDeclaratorId();
563 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
565 jj_consume_token(ASSIGN);
567 varValue = VariableInitializer();
568 {if (true) return new PHPVarDeclaration(currentSegment,varName,pos,varValue);}
569 } catch (ParseException e) {
570 errorMessage = "Literal expression expected in variable initializer";
579 {if (true) return new PHPVarDeclaration(currentSegment,varName,pos);}
580 throw new Error("Missing return statement in function");
583 static final public String VariableDeclaratorId() throws ParseException {
585 final StringBuffer buff = new StringBuffer();
596 expr = VariableSuffix();
599 {if (true) return buff.toString();}
600 } catch (ParseException e) {
601 errorMessage = "'$' expected for variable identifier";
605 throw new Error("Missing return statement in function");
608 static final public String Variable() throws ParseException {
611 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
613 token = jj_consume_token(DOLLAR_ID);
614 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
616 jj_consume_token(LBRACE);
618 jj_consume_token(RBRACE);
625 {if (true) return token.image;}
627 {if (true) return token + "{" + expr + "}";}
630 jj_consume_token(DOLLAR);
631 expr = VariableName();
632 {if (true) return "$" + expr;}
636 jj_consume_token(-1);
637 throw new ParseException();
639 throw new Error("Missing return statement in function");
642 static final public String VariableName() throws ParseException {
645 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
647 jj_consume_token(LBRACE);
649 jj_consume_token(RBRACE);
650 {if (true) return "{"+expr+"}";}
653 token = jj_consume_token(IDENTIFIER);
654 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
656 jj_consume_token(LBRACE);
658 jj_consume_token(RBRACE);
665 {if (true) return token.image;}
667 {if (true) return token + "{" + expr + "}";}
670 jj_consume_token(DOLLAR);
671 expr = VariableName();
672 {if (true) return "$" + expr;}
675 token = jj_consume_token(DOLLAR_ID);
676 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
681 expr = VariableName();
688 {if (true) return token.image;}
690 {if (true) return token.image + expr;}
694 jj_consume_token(-1);
695 throw new ParseException();
697 throw new Error("Missing return statement in function");
700 static final public String VariableInitializer() throws ParseException {
703 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
707 case INTEGER_LITERAL:
708 case FLOATING_POINT_LITERAL:
711 {if (true) return expr;}
714 jj_consume_token(MINUS);
715 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
716 case INTEGER_LITERAL:
717 token = jj_consume_token(INTEGER_LITERAL);
719 case FLOATING_POINT_LITERAL:
720 token = jj_consume_token(FLOATING_POINT_LITERAL);
724 jj_consume_token(-1);
725 throw new ParseException();
727 {if (true) return "-" + token.image;}
730 jj_consume_token(PLUS);
731 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
732 case INTEGER_LITERAL:
733 token = jj_consume_token(INTEGER_LITERAL);
735 case FLOATING_POINT_LITERAL:
736 token = jj_consume_token(FLOATING_POINT_LITERAL);
740 jj_consume_token(-1);
741 throw new ParseException();
743 {if (true) return "+" + token.image;}
746 expr = ArrayDeclarator();
747 {if (true) return expr;}
750 token = jj_consume_token(IDENTIFIER);
751 {if (true) return token.image;}
755 jj_consume_token(-1);
756 throw new ParseException();
758 throw new Error("Missing return statement in function");
761 static final public String ArrayVariable() throws ParseException {
763 final StringBuffer buff = new StringBuffer();
766 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
768 jj_consume_token(ARRAYASSIGN);
770 buff.append("=>").append(expr);
776 {if (true) return buff.toString();}
777 throw new Error("Missing return statement in function");
780 static final public String ArrayInitializer() throws ParseException {
782 final StringBuffer buff = new StringBuffer("(");
783 jj_consume_token(LPAREN);
784 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
791 case INTEGER_LITERAL:
792 case FLOATING_POINT_LITERAL:
805 expr = ArrayVariable();
814 jj_consume_token(COMMA);
815 expr = ArrayVariable();
816 buff.append(",").append(expr);
823 jj_consume_token(RPAREN);
825 {if (true) return buff.toString();}
826 throw new Error("Missing return statement in function");
829 static final public void MethodDeclaration() throws ParseException {
830 final PHPFunctionDeclaration functionDeclaration;
831 jj_consume_token(FUNCTION);
832 functionDeclaration = MethodDeclarator();
833 if (currentSegment != null) {
834 currentSegment.add(functionDeclaration);
835 currentSegment = functionDeclaration;
838 if (currentSegment != null) {
839 currentSegment = (PHPSegmentWithChildren) currentSegment.getParent();
843 static final public PHPFunctionDeclaration MethodDeclarator() throws ParseException {
844 final Token identifier;
845 final StringBuffer methodDeclaration = new StringBuffer();
846 final String formalParameters;
847 final int pos = jj_input_stream.bufpos;
848 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
850 jj_consume_token(BIT_AND);
851 methodDeclaration.append("&");
857 identifier = jj_consume_token(IDENTIFIER);
858 methodDeclaration.append(identifier);
859 formalParameters = FormalParameters();
860 methodDeclaration.append(formalParameters);
861 {if (true) return new PHPFunctionDeclaration(currentSegment,methodDeclaration.toString(),pos);}
862 throw new Error("Missing return statement in function");
865 static final public String FormalParameters() throws ParseException {
867 final StringBuffer buff = new StringBuffer("(");
869 jj_consume_token(LPAREN);
870 } catch (ParseException e) {
871 errorMessage = "Formal parameter expected after function identifier";
873 jj_consume_token(token.kind);
875 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
879 expr = FormalParameter();
883 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
891 jj_consume_token(COMMA);
892 expr = FormalParameter();
893 buff.append(",").append(expr);
901 jj_consume_token(RPAREN);
902 } catch (ParseException e) {
903 errorMessage = "')' expected";
908 {if (true) return buff.toString();}
909 throw new Error("Missing return statement in function");
912 static final public String FormalParameter() throws ParseException {
913 final PHPVarDeclaration variableDeclaration;
914 final StringBuffer buff = new StringBuffer();
915 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
917 jj_consume_token(BIT_AND);
924 variableDeclaration = VariableDeclarator();
925 buff.append(variableDeclaration.toString());
926 {if (true) return buff.toString();}
927 throw new Error("Missing return statement in function");
930 static final public String Type() throws ParseException {
931 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
933 jj_consume_token(STRING);
934 {if (true) return "string";}
937 jj_consume_token(BOOL);
938 {if (true) return "bool";}
941 jj_consume_token(BOOLEAN);
942 {if (true) return "boolean";}
945 jj_consume_token(REAL);
946 {if (true) return "real";}
949 jj_consume_token(DOUBLE);
950 {if (true) return "double";}
953 jj_consume_token(FLOAT);
954 {if (true) return "float";}
957 jj_consume_token(INT);
958 {if (true) return "int";}
961 jj_consume_token(INTEGER);
962 {if (true) return "integer";}
965 jj_consume_token(OBJECT);
966 {if (true) return "object";}
970 jj_consume_token(-1);
971 throw new ParseException();
973 throw new Error("Missing return statement in function");
976 static final public String Expression() throws ParseException {
978 final String assignOperator;
980 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
982 expr = PrintExpression();
983 {if (true) return expr;}
990 case INTEGER_LITERAL:
991 case FLOATING_POINT_LITERAL:
1004 expr = ConditionalExpression();
1005 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1018 case RSIGNEDSHIFTASSIGN:
1019 assignOperator = AssignmentOperator();
1021 expr2 = Expression();
1022 {if (true) return expr + assignOperator + expr2;}
1023 } catch (ParseException e) {
1024 errorMessage = "expression expected";
1026 {if (true) throw e;}
1030 jj_la1[26] = jj_gen;
1033 {if (true) return expr;}
1036 jj_la1[27] = jj_gen;
1037 jj_consume_token(-1);
1038 throw new ParseException();
1040 throw new Error("Missing return statement in function");
1043 static final public String AssignmentOperator() throws ParseException {
1044 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1046 jj_consume_token(ASSIGN);
1047 {if (true) return "=";}
1050 jj_consume_token(STARASSIGN);
1051 {if (true) return "*=";}
1054 jj_consume_token(SLASHASSIGN);
1055 {if (true) return "/=";}
1058 jj_consume_token(REMASSIGN);
1059 {if (true) return "%=";}
1062 jj_consume_token(PLUSASSIGN);
1063 {if (true) return "+=";}
1066 jj_consume_token(MINUSASSIGN);
1067 {if (true) return "-=";}
1070 jj_consume_token(LSHIFTASSIGN);
1071 {if (true) return "<<=";}
1073 case RSIGNEDSHIFTASSIGN:
1074 jj_consume_token(RSIGNEDSHIFTASSIGN);
1075 {if (true) return ">>=";}
1078 jj_consume_token(ANDASSIGN);
1079 {if (true) return "&=";}
1082 jj_consume_token(XORASSIGN);
1083 {if (true) return "|=";}
1086 jj_consume_token(ORASSIGN);
1087 {if (true) return "|=";}
1090 jj_consume_token(DOTASSIGN);
1091 {if (true) return ".=";}
1094 jj_consume_token(TILDEEQUAL);
1095 {if (true) return "~=";}
1098 jj_la1[28] = jj_gen;
1099 jj_consume_token(-1);
1100 throw new ParseException();
1102 throw new Error("Missing return statement in function");
1105 static final public String ConditionalExpression() throws ParseException {
1107 String expr2 = null;
1108 String expr3 = null;
1109 expr = ConditionalOrExpression();
1110 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1112 jj_consume_token(HOOK);
1113 expr2 = Expression();
1114 jj_consume_token(COLON);
1115 expr3 = ConditionalExpression();
1118 jj_la1[29] = jj_gen;
1121 if (expr3 == null) {
1122 {if (true) return expr;}
1124 {if (true) return expr + "?" + expr2 + ":" + expr3;}
1126 throw new Error("Missing return statement in function");
1129 static final public String ConditionalOrExpression() throws ParseException {
1132 final StringBuffer buff = new StringBuffer();
1133 expr = ConditionalAndExpression();
1137 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1143 jj_la1[30] = jj_gen;
1146 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1148 operator = jj_consume_token(SC_OR);
1151 operator = jj_consume_token(_ORL);
1154 jj_la1[31] = jj_gen;
1155 jj_consume_token(-1);
1156 throw new ParseException();
1158 expr = ConditionalAndExpression();
1159 buff.append(operator.image);
1162 {if (true) return buff.toString();}
1163 throw new Error("Missing return statement in function");
1166 static final public String ConditionalAndExpression() throws ParseException {
1169 final StringBuffer buff = new StringBuffer();
1170 expr = ConcatExpression();
1174 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1180 jj_la1[32] = jj_gen;
1183 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1185 operator = jj_consume_token(SC_AND);
1188 operator = jj_consume_token(_ANDL);
1191 jj_la1[33] = jj_gen;
1192 jj_consume_token(-1);
1193 throw new ParseException();
1195 expr = ConcatExpression();
1196 buff.append(operator.image);
1199 {if (true) return buff.toString();}
1200 throw new Error("Missing return statement in function");
1203 static final public String ConcatExpression() throws ParseException {
1205 final StringBuffer buff = new StringBuffer();
1206 expr = InclusiveOrExpression();
1210 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1215 jj_la1[34] = jj_gen;
1218 jj_consume_token(DOT);
1219 expr = InclusiveOrExpression();
1220 buff.append(".").append(expr);
1222 {if (true) return buff.toString();}
1223 throw new Error("Missing return statement in function");
1226 static final public String InclusiveOrExpression() throws ParseException {
1228 final StringBuffer buff = new StringBuffer();
1229 expr = ExclusiveOrExpression();
1233 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1238 jj_la1[35] = jj_gen;
1241 jj_consume_token(BIT_OR);
1242 expr = ExclusiveOrExpression();
1243 buff.append("|").append(expr);
1245 {if (true) return buff.toString();}
1246 throw new Error("Missing return statement in function");
1249 static final public String ExclusiveOrExpression() throws ParseException {
1251 final StringBuffer buff = new StringBuffer();
1252 expr = AndExpression();
1256 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1261 jj_la1[36] = jj_gen;
1264 jj_consume_token(XOR);
1265 expr = AndExpression();
1269 {if (true) return buff.toString();}
1270 throw new Error("Missing return statement in function");
1273 static final public String AndExpression() throws ParseException {
1275 final StringBuffer buff = new StringBuffer();
1276 expr = EqualityExpression();
1280 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1285 jj_la1[37] = jj_gen;
1288 jj_consume_token(BIT_AND);
1289 expr = EqualityExpression();
1290 buff.append("&").append(expr);
1292 {if (true) return buff.toString();}
1293 throw new Error("Missing return statement in function");
1296 static final public String EqualityExpression() throws ParseException {
1299 final StringBuffer buff = new StringBuffer();
1300 expr = RelationalExpression();
1304 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1308 case BANGDOUBLEEQUAL:
1313 jj_la1[38] = jj_gen;
1316 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1318 operator = jj_consume_token(EQ);
1321 operator = jj_consume_token(DIF);
1324 operator = jj_consume_token(NE);
1326 case BANGDOUBLEEQUAL:
1327 operator = jj_consume_token(BANGDOUBLEEQUAL);
1330 operator = jj_consume_token(TRIPLEEQUAL);
1333 jj_la1[39] = jj_gen;
1334 jj_consume_token(-1);
1335 throw new ParseException();
1337 expr = RelationalExpression();
1338 buff.append(operator.image);
1341 {if (true) return buff.toString();}
1342 throw new Error("Missing return statement in function");
1345 static final public String RelationalExpression() throws ParseException {
1348 final StringBuffer buff = new StringBuffer();
1349 expr = ShiftExpression();
1353 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1361 jj_la1[40] = jj_gen;
1364 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1366 operator = jj_consume_token(LT);
1369 operator = jj_consume_token(GT);
1372 operator = jj_consume_token(LE);
1375 operator = jj_consume_token(GE);
1378 jj_la1[41] = jj_gen;
1379 jj_consume_token(-1);
1380 throw new ParseException();
1382 expr = ShiftExpression();
1383 buff.append(operator.image).append(expr);
1385 {if (true) return buff.toString();}
1386 throw new Error("Missing return statement in function");
1389 static final public String ShiftExpression() throws ParseException {
1392 final StringBuffer buff = new StringBuffer();
1393 expr = AdditiveExpression();
1397 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1400 case RUNSIGNEDSHIFT:
1404 jj_la1[42] = jj_gen;
1407 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1409 operator = jj_consume_token(LSHIFT);
1412 operator = jj_consume_token(RSIGNEDSHIFT);
1414 case RUNSIGNEDSHIFT:
1415 operator = jj_consume_token(RUNSIGNEDSHIFT);
1418 jj_la1[43] = jj_gen;
1419 jj_consume_token(-1);
1420 throw new ParseException();
1422 expr = AdditiveExpression();
1423 buff.append(operator.image);
1426 {if (true) return buff.toString();}
1427 throw new Error("Missing return statement in function");
1430 static final public String AdditiveExpression() throws ParseException {
1433 final StringBuffer buff = new StringBuffer();
1434 expr = MultiplicativeExpression();
1438 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1444 jj_la1[44] = jj_gen;
1447 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1449 operator = jj_consume_token(PLUS);
1452 operator = jj_consume_token(MINUS);
1455 jj_la1[45] = jj_gen;
1456 jj_consume_token(-1);
1457 throw new ParseException();
1459 expr = MultiplicativeExpression();
1460 buff.append(operator.image);
1463 {if (true) return buff.toString();}
1464 throw new Error("Missing return statement in function");
1467 static final public String MultiplicativeExpression() throws ParseException {
1470 final StringBuffer buff = new StringBuffer();
1471 expr = UnaryExpression();
1475 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1482 jj_la1[46] = jj_gen;
1485 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1487 operator = jj_consume_token(STAR);
1490 operator = jj_consume_token(SLASH);
1493 operator = jj_consume_token(REM);
1496 jj_la1[47] = jj_gen;
1497 jj_consume_token(-1);
1498 throw new ParseException();
1500 expr = UnaryExpression();
1501 buff.append(operator.image);
1504 {if (true) return buff.toString();}
1505 throw new Error("Missing return statement in function");
1509 * An unary expression starting with @, & or nothing
1511 static final public String UnaryExpression() throws ParseException {
1514 final StringBuffer buff = new StringBuffer();
1515 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1517 token = jj_consume_token(BIT_AND);
1518 expr = UnaryExpressionNoPrefix();
1519 if (token == null) {
1520 {if (true) return expr;}
1522 {if (true) return token.image + expr;}
1529 case INTEGER_LITERAL:
1530 case FLOATING_POINT_LITERAL:
1531 case STRING_LITERAL:
1544 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1549 jj_la1[48] = jj_gen;
1552 jj_consume_token(AT);
1555 expr = UnaryExpressionNoPrefix();
1556 {if (true) return buff.append(expr).toString();}
1559 jj_la1[49] = jj_gen;
1560 jj_consume_token(-1);
1561 throw new ParseException();
1563 throw new Error("Missing return statement in function");
1566 static final public String UnaryExpressionNoPrefix() throws ParseException {
1569 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1572 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1574 token = jj_consume_token(PLUS);
1577 token = jj_consume_token(MINUS);
1580 jj_la1[50] = jj_gen;
1581 jj_consume_token(-1);
1582 throw new ParseException();
1584 expr = UnaryExpression();
1585 {if (true) return token.image + expr;}
1588 expr = PreIncrementExpression();
1589 {if (true) return expr;}
1592 expr = PreDecrementExpression();
1593 {if (true) return expr;}
1600 case INTEGER_LITERAL:
1601 case FLOATING_POINT_LITERAL:
1602 case STRING_LITERAL:
1608 expr = UnaryExpressionNotPlusMinus();
1609 {if (true) return expr;}
1612 jj_la1[51] = jj_gen;
1613 jj_consume_token(-1);
1614 throw new ParseException();
1616 throw new Error("Missing return statement in function");
1619 static final public String PreIncrementExpression() throws ParseException {
1621 jj_consume_token(INCR);
1622 expr = PrimaryExpression();
1623 {if (true) return "++"+expr;}
1624 throw new Error("Missing return statement in function");
1627 static final public String PreDecrementExpression() throws ParseException {
1629 jj_consume_token(DECR);
1630 expr = PrimaryExpression();
1631 {if (true) return "--"+expr;}
1632 throw new Error("Missing return statement in function");
1635 static final public String UnaryExpressionNotPlusMinus() throws ParseException {
1637 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1639 jj_consume_token(BANG);
1640 expr = UnaryExpression();
1641 {if (true) return "!" + expr;}
1644 jj_la1[52] = jj_gen;
1645 if (jj_2_3(2147483647)) {
1646 expr = CastExpression();
1647 {if (true) return expr;}
1649 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1655 expr = PostfixExpression();
1656 {if (true) return expr;}
1661 case INTEGER_LITERAL:
1662 case FLOATING_POINT_LITERAL:
1663 case STRING_LITERAL:
1665 {if (true) return expr;}
1668 jj_consume_token(LPAREN);
1669 expr = Expression();
1670 jj_consume_token(RPAREN);
1671 {if (true) return "("+expr+")";}
1674 jj_la1[53] = jj_gen;
1675 jj_consume_token(-1);
1676 throw new ParseException();
1680 throw new Error("Missing return statement in function");
1683 static final public String CastExpression() throws ParseException {
1684 final String type, expr;
1685 jj_consume_token(LPAREN);
1687 jj_consume_token(RPAREN);
1688 expr = UnaryExpression();
1689 {if (true) return "(" + type + ")" + expr;}
1690 throw new Error("Missing return statement in function");
1693 static final public String PostfixExpression() throws ParseException {
1695 Token operator = null;
1696 expr = PrimaryExpression();
1697 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1700 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1702 operator = jj_consume_token(INCR);
1705 operator = jj_consume_token(DECR);
1708 jj_la1[54] = jj_gen;
1709 jj_consume_token(-1);
1710 throw new ParseException();
1714 jj_la1[55] = jj_gen;
1717 if (operator == null) {
1718 {if (true) return expr;}
1720 {if (true) return expr + operator.image;}
1721 throw new Error("Missing return statement in function");
1724 static final public String PrimaryExpression() throws ParseException {
1725 final Token identifier;
1727 final StringBuffer buff = new StringBuffer();
1729 identifier = jj_consume_token(IDENTIFIER);
1730 jj_consume_token(STATICCLASSACCESS);
1731 expr = ClassIdentifier();
1732 buff.append(identifier.image).append("::").append(expr);
1735 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1742 jj_la1[56] = jj_gen;
1745 expr = PrimarySuffix();
1748 {if (true) return buff.toString();}
1750 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1755 expr = PrimaryPrefix();
1759 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1766 jj_la1[57] = jj_gen;
1769 expr = PrimarySuffix();
1772 {if (true) return buff.toString();}
1775 expr = ArrayDeclarator();
1776 {if (true) return "array" + expr;}
1779 jj_la1[58] = jj_gen;
1780 jj_consume_token(-1);
1781 throw new ParseException();
1784 throw new Error("Missing return statement in function");
1787 static final public String ArrayDeclarator() throws ParseException {
1789 jj_consume_token(ARRAY);
1790 expr = ArrayInitializer();
1791 {if (true) return "array" + expr;}
1792 throw new Error("Missing return statement in function");
1795 static final public String PrimaryPrefix() throws ParseException {
1798 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1800 token = jj_consume_token(IDENTIFIER);
1801 {if (true) return token.image;}
1804 jj_consume_token(NEW);
1805 expr = ClassIdentifier();
1806 {if (true) return "new " + expr;}
1810 expr = VariableDeclaratorId();
1811 {if (true) return expr;}
1814 jj_la1[59] = jj_gen;
1815 jj_consume_token(-1);
1816 throw new ParseException();
1818 throw new Error("Missing return statement in function");
1821 static final public String ClassIdentifier() throws ParseException {
1824 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1826 token = jj_consume_token(IDENTIFIER);
1827 {if (true) return token.image;}
1831 expr = VariableDeclaratorId();
1832 {if (true) return expr;}
1835 jj_la1[60] = jj_gen;
1836 jj_consume_token(-1);
1837 throw new ParseException();
1839 throw new Error("Missing return statement in function");
1842 static final public String PrimarySuffix() throws ParseException {
1844 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1847 {if (true) return expr;}
1851 expr = VariableSuffix();
1852 {if (true) return expr;}
1855 jj_la1[61] = jj_gen;
1856 jj_consume_token(-1);
1857 throw new ParseException();
1859 throw new Error("Missing return statement in function");
1862 static final public String VariableSuffix() throws ParseException {
1864 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1866 jj_consume_token(CLASSACCESS);
1867 expr = VariableName();
1868 {if (true) return "->" + expr;}
1871 jj_consume_token(LBRACKET);
1872 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1879 case INTEGER_LITERAL:
1880 case FLOATING_POINT_LITERAL:
1881 case STRING_LITERAL:
1893 expr = Expression();
1896 jj_la1[62] = jj_gen;
1900 jj_consume_token(RBRACKET);
1901 } catch (ParseException e) {
1902 errorMessage = "']' expected";
1904 {if (true) throw e;}
1907 {if (true) return "[]";}
1909 {if (true) return "[" + expr + "]";}
1912 jj_la1[63] = jj_gen;
1913 jj_consume_token(-1);
1914 throw new ParseException();
1916 throw new Error("Missing return statement in function");
1919 static final public String Literal() throws ParseException {
1922 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1923 case INTEGER_LITERAL:
1924 token = jj_consume_token(INTEGER_LITERAL);
1925 {if (true) return token.image;}
1927 case FLOATING_POINT_LITERAL:
1928 token = jj_consume_token(FLOATING_POINT_LITERAL);
1929 {if (true) return token.image;}
1931 case STRING_LITERAL:
1932 token = jj_consume_token(STRING_LITERAL);
1933 {if (true) return token.image;}
1937 expr = BooleanLiteral();
1938 {if (true) return expr;}
1941 expr = NullLiteral();
1942 {if (true) return expr;}
1945 jj_la1[64] = jj_gen;
1946 jj_consume_token(-1);
1947 throw new ParseException();
1949 throw new Error("Missing return statement in function");
1952 static final public String BooleanLiteral() throws ParseException {
1953 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1955 jj_consume_token(TRUE);
1956 {if (true) return "true";}
1959 jj_consume_token(FALSE);
1960 {if (true) return "false";}
1963 jj_la1[65] = jj_gen;
1964 jj_consume_token(-1);
1965 throw new ParseException();
1967 throw new Error("Missing return statement in function");
1970 static final public String NullLiteral() throws ParseException {
1971 jj_consume_token(NULL);
1972 {if (true) return "null";}
1973 throw new Error("Missing return statement in function");
1976 static final public String Arguments() throws ParseException {
1978 jj_consume_token(LPAREN);
1979 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1986 case INTEGER_LITERAL:
1987 case FLOATING_POINT_LITERAL:
1988 case STRING_LITERAL:
2000 expr = ArgumentList();
2003 jj_la1[66] = jj_gen;
2007 jj_consume_token(RPAREN);
2008 } catch (ParseException e) {
2009 errorMessage = "')' expected to close the argument list";
2011 {if (true) throw e;}
2014 {if (true) return "()";}
2016 {if (true) return "(" + expr + ")";}
2017 throw new Error("Missing return statement in function");
2020 static final public String ArgumentList() throws ParseException {
2022 final StringBuffer buff = new StringBuffer();
2023 expr = Expression();
2027 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2032 jj_la1[67] = jj_gen;
2035 jj_consume_token(COMMA);
2037 expr = Expression();
2038 } catch (ParseException e) {
2039 errorMessage = "expression expected after a comma in argument list";
2041 {if (true) throw e;}
2043 buff.append(",").append(expr);
2045 {if (true) return buff.toString();}
2046 throw new Error("Missing return statement in function");
2050 * Statement syntax follows.
2052 static final public void Statement() throws ParseException {
2056 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2058 jj_consume_token(SEMICOLON);
2061 jj_consume_token(PHPEND);
2064 jj_la1[68] = jj_gen;
2065 jj_consume_token(-1);
2066 throw new ParseException();
2068 } catch (ParseException e) {
2069 errorMessage = "';' expected";
2071 {if (true) throw e;}
2073 } else if (jj_2_6(2)) {
2076 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2090 StatementExpression();
2092 jj_consume_token(SEMICOLON);
2093 } catch (ParseException e) {
2094 errorMessage = "';' expected after expression";
2096 {if (true) throw e;}
2121 ContinueStatement();
2134 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2136 jj_consume_token(AT);
2139 jj_la1[69] = jj_gen;
2151 jj_la1[70] = jj_gen;
2152 jj_consume_token(-1);
2153 throw new ParseException();
2158 static final public void IncludeStatement() throws ParseException {
2160 final int pos = jj_input_stream.bufpos;
2161 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2163 jj_consume_token(REQUIRE);
2164 expr = Expression();
2165 if (currentSegment != null) {
2166 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "require",pos,expr));
2169 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2171 jj_consume_token(SEMICOLON);
2174 jj_consume_token(137);
2177 jj_la1[71] = jj_gen;
2178 jj_consume_token(-1);
2179 throw new ParseException();
2181 } catch (ParseException e) {
2182 errorMessage = "';' expected";
2184 {if (true) throw e;}
2188 jj_consume_token(REQUIRE_ONCE);
2189 expr = Expression();
2190 if (currentSegment != null) {
2191 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "require_once",pos,expr));
2194 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2196 jj_consume_token(SEMICOLON);
2199 jj_consume_token(137);
2202 jj_la1[72] = jj_gen;
2203 jj_consume_token(-1);
2204 throw new ParseException();
2206 } catch (ParseException e) {
2207 errorMessage = "';' expected";
2209 {if (true) throw e;}
2213 jj_consume_token(INCLUDE);
2214 expr = Expression();
2215 if (currentSegment != null) {
2216 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "include",pos,expr));
2219 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2221 jj_consume_token(SEMICOLON);
2224 jj_consume_token(137);
2227 jj_la1[73] = jj_gen;
2228 jj_consume_token(-1);
2229 throw new ParseException();
2231 } catch (ParseException e) {
2232 errorMessage = "';' expected";
2234 {if (true) throw e;}
2238 jj_consume_token(INCLUDE_ONCE);
2239 expr = Expression();
2240 if (currentSegment != null) {
2241 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "include_once",pos,expr));
2244 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2246 jj_consume_token(SEMICOLON);
2249 jj_consume_token(137);
2252 jj_la1[74] = jj_gen;
2253 jj_consume_token(-1);
2254 throw new ParseException();
2256 } catch (ParseException e) {
2257 errorMessage = "';' expected";
2259 {if (true) throw e;}
2263 jj_la1[75] = jj_gen;
2264 jj_consume_token(-1);
2265 throw new ParseException();
2269 static final public String PrintExpression() throws ParseException {
2270 final StringBuffer buff = new StringBuffer("print ");
2272 jj_consume_token(PRINT);
2273 expr = Expression();
2275 {if (true) return buff.toString();}
2276 throw new Error("Missing return statement in function");
2279 static final public void EchoStatement() throws ParseException {
2280 jj_consume_token(ECHO);
2284 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2289 jj_la1[76] = jj_gen;
2292 jj_consume_token(COMMA);
2296 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2298 jj_consume_token(SEMICOLON);
2301 jj_consume_token(137);
2304 jj_la1[77] = jj_gen;
2305 jj_consume_token(-1);
2306 throw new ParseException();
2308 } catch (ParseException e) {
2309 errorMessage = "';' expected after 'echo' statement";
2311 {if (true) throw e;}
2315 static final public void GlobalStatement() throws ParseException {
2316 jj_consume_token(GLOBAL);
2317 VariableDeclaratorId();
2320 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2325 jj_la1[78] = jj_gen;
2328 jj_consume_token(COMMA);
2329 VariableDeclaratorId();
2332 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2334 jj_consume_token(SEMICOLON);
2337 jj_consume_token(137);
2340 jj_la1[79] = jj_gen;
2341 jj_consume_token(-1);
2342 throw new ParseException();
2344 } catch (ParseException e) {
2345 errorMessage = "';' expected";
2347 {if (true) throw e;}
2351 static final public void StaticStatement() throws ParseException {
2352 jj_consume_token(STATIC);
2353 VariableDeclarator();
2356 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2361 jj_la1[80] = jj_gen;
2364 jj_consume_token(COMMA);
2365 VariableDeclarator();
2368 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2370 jj_consume_token(SEMICOLON);
2373 jj_consume_token(137);
2376 jj_la1[81] = jj_gen;
2377 jj_consume_token(-1);
2378 throw new ParseException();
2380 } catch (ParseException e) {
2381 errorMessage = "';' expected";
2383 {if (true) throw e;}
2387 static final public void LabeledStatement() throws ParseException {
2388 jj_consume_token(IDENTIFIER);
2389 jj_consume_token(COLON);
2393 static final public void Block() throws ParseException {
2395 jj_consume_token(LBRACE);
2396 } catch (ParseException e) {
2397 errorMessage = "'{' expected";
2399 {if (true) throw e;}
2403 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2428 case INTEGER_LITERAL:
2429 case FLOATING_POINT_LITERAL:
2430 case STRING_LITERAL:
2447 jj_la1[82] = jj_gen;
2452 jj_consume_token(RBRACE);
2455 static final public void BlockStatement() throws ParseException {
2456 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2479 case INTEGER_LITERAL:
2480 case FLOATING_POINT_LITERAL:
2481 case STRING_LITERAL:
2501 MethodDeclaration();
2504 jj_la1[83] = jj_gen;
2505 jj_consume_token(-1);
2506 throw new ParseException();
2510 static final public void LocalVariableDeclaration() throws ParseException {
2511 LocalVariableDeclarator();
2514 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2519 jj_la1[84] = jj_gen;
2522 jj_consume_token(COMMA);
2523 LocalVariableDeclarator();
2527 static final public void LocalVariableDeclarator() throws ParseException {
2528 VariableDeclaratorId();
2529 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2531 jj_consume_token(ASSIGN);
2535 jj_la1[85] = jj_gen;
2540 static final public void EmptyStatement() throws ParseException {
2541 jj_consume_token(SEMICOLON);
2544 static final public void StatementExpression() throws ParseException {
2545 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2547 PreIncrementExpression();
2550 PreDecrementExpression();
2557 PrimaryExpression();
2558 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2573 case RSIGNEDSHIFTASSIGN:
2574 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2576 jj_consume_token(INCR);
2579 jj_consume_token(DECR);
2593 case RSIGNEDSHIFTASSIGN:
2594 AssignmentOperator();
2598 jj_la1[86] = jj_gen;
2599 jj_consume_token(-1);
2600 throw new ParseException();
2604 jj_la1[87] = jj_gen;
2609 jj_la1[88] = jj_gen;
2610 jj_consume_token(-1);
2611 throw new ParseException();
2615 static final public void SwitchStatement() throws ParseException {
2616 jj_consume_token(SWITCH);
2617 jj_consume_token(LPAREN);
2619 jj_consume_token(RPAREN);
2620 jj_consume_token(LBRACE);
2623 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2629 jj_la1[89] = jj_gen;
2635 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2660 case INTEGER_LITERAL:
2661 case FLOATING_POINT_LITERAL:
2662 case STRING_LITERAL:
2679 jj_la1[90] = jj_gen;
2685 jj_consume_token(RBRACE);
2688 static final public void SwitchLabel() throws ParseException {
2689 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2691 jj_consume_token(CASE);
2693 jj_consume_token(COLON);
2696 jj_consume_token(_DEFAULT);
2697 jj_consume_token(COLON);
2700 jj_la1[91] = jj_gen;
2701 jj_consume_token(-1);
2702 throw new ParseException();
2706 static final public void IfStatement() throws ParseException {
2708 final int pos = jj_input_stream.bufpos;
2709 token = jj_consume_token(IF);
2711 IfStatement0(pos,pos+token.image.length());
2714 static final public void Condition(final String keyword) throws ParseException {
2716 jj_consume_token(LPAREN);
2717 } catch (ParseException e) {
2718 errorMessage = "'(' expected after " + keyword + " keyword";
2720 {if (true) throw e;}
2724 jj_consume_token(RPAREN);
2725 } catch (ParseException e) {
2726 errorMessage = "')' expected after " + keyword + " keyword";
2728 {if (true) throw e;}
2732 static final public void IfStatement0(final int start,final int end) throws ParseException {
2733 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2735 jj_consume_token(COLON);
2738 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2761 case INTEGER_LITERAL:
2762 case FLOATING_POINT_LITERAL:
2763 case STRING_LITERAL:
2780 jj_la1[92] = jj_gen;
2787 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2792 jj_la1[93] = jj_gen;
2795 ElseIfStatementColon();
2797 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2799 ElseStatementColon();
2802 jj_la1[94] = jj_gen;
2806 setMarker(fileToParse,
2807 "Ugly syntax detected, you should if () {...} instead of if (): ... endif;",
2811 "Line " + token.beginLine);
2812 } catch (CoreException e) {
2813 PHPeclipsePlugin.log(e);
2816 jj_consume_token(ENDIF);
2817 } catch (ParseException e) {
2818 errorMessage = "'endif' expected";
2820 {if (true) throw e;}
2823 jj_consume_token(SEMICOLON);
2824 } catch (ParseException e) {
2825 errorMessage = "';' expected 'endif' keyword";
2827 {if (true) throw e;}
2852 case INTEGER_LITERAL:
2853 case FLOATING_POINT_LITERAL:
2854 case STRING_LITERAL:
2871 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2876 jj_la1[95] = jj_gen;
2881 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2883 jj_consume_token(ELSE);
2887 jj_la1[96] = jj_gen;
2892 jj_la1[97] = jj_gen;
2893 jj_consume_token(-1);
2894 throw new ParseException();
2898 static final public void ElseIfStatementColon() throws ParseException {
2899 jj_consume_token(ELSEIF);
2900 Condition("elseif");
2901 jj_consume_token(COLON);
2904 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2927 case INTEGER_LITERAL:
2928 case FLOATING_POINT_LITERAL:
2929 case STRING_LITERAL:
2946 jj_la1[98] = jj_gen;
2953 static final public void ElseStatementColon() throws ParseException {
2954 jj_consume_token(ELSE);
2955 jj_consume_token(COLON);
2958 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2981 case INTEGER_LITERAL:
2982 case FLOATING_POINT_LITERAL:
2983 case STRING_LITERAL:
3000 jj_la1[99] = jj_gen;
3007 static final public void ElseIfStatement() throws ParseException {
3008 jj_consume_token(ELSEIF);
3009 Condition("elseif");
3013 static final public void WhileStatement() throws ParseException {
3015 final int pos = jj_input_stream.bufpos;
3016 token = jj_consume_token(WHILE);
3018 WhileStatement0(pos,pos + token.image.length());
3021 static final public void WhileStatement0(final int start, final int end) throws ParseException {
3022 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3024 jj_consume_token(COLON);
3027 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3050 case INTEGER_LITERAL:
3051 case FLOATING_POINT_LITERAL:
3052 case STRING_LITERAL:
3069 jj_la1[100] = jj_gen;
3075 setMarker(fileToParse,
3076 "Ugly syntax detected, you should while () {...} instead of while (): ... endwhile;",
3080 "Line " + token.beginLine);
3081 } catch (CoreException e) {
3082 PHPeclipsePlugin.log(e);
3085 jj_consume_token(ENDWHILE);
3086 } catch (ParseException e) {
3087 errorMessage = "'endwhile' expected";
3089 {if (true) throw e;}
3092 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3094 jj_consume_token(SEMICOLON);
3097 jj_consume_token(137);
3100 jj_la1[101] = jj_gen;
3101 jj_consume_token(-1);
3102 throw new ParseException();
3104 } catch (ParseException e) {
3105 errorMessage = "';' expected after 'endwhile' keyword";
3107 {if (true) throw e;}
3132 case INTEGER_LITERAL:
3133 case FLOATING_POINT_LITERAL:
3134 case STRING_LITERAL:
3151 jj_la1[102] = jj_gen;
3152 jj_consume_token(-1);
3153 throw new ParseException();
3157 static final public void DoStatement() throws ParseException {
3158 jj_consume_token(DO);
3160 jj_consume_token(WHILE);
3163 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3165 jj_consume_token(SEMICOLON);
3168 jj_consume_token(137);
3171 jj_la1[103] = jj_gen;
3172 jj_consume_token(-1);
3173 throw new ParseException();
3175 } catch (ParseException e) {
3176 errorMessage = "';' expected";
3178 {if (true) throw e;}
3182 static final public void ForeachStatement() throws ParseException {
3183 jj_consume_token(FOREACH);
3185 jj_consume_token(LPAREN);
3186 } catch (ParseException e) {
3187 errorMessage = "'(' expected after 'foreach' keyword";
3189 {if (true) throw e;}
3193 } catch (ParseException e) {
3194 errorMessage = "variable expected";
3196 {if (true) throw e;}
3198 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3204 jj_la1[104] = jj_gen;
3208 jj_consume_token(AS);
3209 } catch (ParseException e) {
3210 errorMessage = "'as' expected";
3212 {if (true) throw e;}
3216 } catch (ParseException e) {
3217 errorMessage = "variable expected";
3219 {if (true) throw e;}
3221 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3223 jj_consume_token(ARRAYASSIGN);
3227 jj_la1[105] = jj_gen;
3231 jj_consume_token(RPAREN);
3232 } catch (ParseException e) {
3233 errorMessage = "')' expected after 'foreach' keyword";
3235 {if (true) throw e;}
3239 } catch (ParseException e) {
3240 if (errorMessage != null) {if (true) throw e;}
3241 errorMessage = "statement expected";
3243 {if (true) throw e;}
3247 static final public void ForStatement() throws ParseException {
3249 final int pos = jj_input_stream.bufpos;
3250 token = jj_consume_token(FOR);
3252 jj_consume_token(LPAREN);
3253 } catch (ParseException e) {
3254 errorMessage = "'(' expected after 'for' keyword";
3256 {if (true) throw e;}
3258 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3269 jj_la1[106] = jj_gen;
3272 jj_consume_token(SEMICOLON);
3273 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3280 case INTEGER_LITERAL:
3281 case FLOATING_POINT_LITERAL:
3282 case STRING_LITERAL:
3297 jj_la1[107] = jj_gen;
3300 jj_consume_token(SEMICOLON);
3301 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3312 jj_la1[108] = jj_gen;
3315 jj_consume_token(RPAREN);
3316 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3339 case INTEGER_LITERAL:
3340 case FLOATING_POINT_LITERAL:
3341 case STRING_LITERAL:
3358 jj_consume_token(COLON);
3361 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3384 case INTEGER_LITERAL:
3385 case FLOATING_POINT_LITERAL:
3386 case STRING_LITERAL:
3403 jj_la1[109] = jj_gen;
3409 setMarker(fileToParse,
3410 "Ugly syntax detected, you should for () {...} instead of for (): ... endfor;",
3412 pos+token.image.length(),
3414 "Line " + token.beginLine);
3415 } catch (CoreException e) {
3416 PHPeclipsePlugin.log(e);
3419 jj_consume_token(ENDFOR);
3420 } catch (ParseException e) {
3421 errorMessage = "'endfor' expected";
3423 {if (true) throw e;}
3426 jj_consume_token(SEMICOLON);
3427 } catch (ParseException e) {
3428 errorMessage = "';' expected 'endfor' keyword";
3430 {if (true) throw e;}
3434 jj_la1[110] = jj_gen;
3435 jj_consume_token(-1);
3436 throw new ParseException();
3440 static final public void ForInit() throws ParseException {
3441 if (jj_2_7(2147483647)) {
3442 LocalVariableDeclaration();
3444 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3452 StatementExpressionList();
3455 jj_la1[111] = jj_gen;
3456 jj_consume_token(-1);
3457 throw new ParseException();
3462 static final public void StatementExpressionList() throws ParseException {
3463 StatementExpression();
3466 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3471 jj_la1[112] = jj_gen;
3474 jj_consume_token(COMMA);
3475 StatementExpression();
3479 static final public void ForUpdate() throws ParseException {
3480 StatementExpressionList();
3483 static final public void BreakStatement() throws ParseException {
3484 jj_consume_token(BREAK);
3485 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3487 jj_consume_token(IDENTIFIER);
3490 jj_la1[113] = jj_gen;
3493 jj_consume_token(SEMICOLON);
3496 static final public void ContinueStatement() throws ParseException {
3497 jj_consume_token(CONTINUE);
3498 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3500 jj_consume_token(IDENTIFIER);
3503 jj_la1[114] = jj_gen;
3506 jj_consume_token(SEMICOLON);
3509 static final public void ReturnStatement() throws ParseException {
3510 jj_consume_token(RETURN);
3511 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3518 case INTEGER_LITERAL:
3519 case FLOATING_POINT_LITERAL:
3520 case STRING_LITERAL:
3535 jj_la1[115] = jj_gen;
3538 jj_consume_token(SEMICOLON);
3541 static final private boolean jj_2_1(int xla) {
3542 jj_la = xla; jj_lastpos = jj_scanpos = token;
3543 boolean retval = !jj_3_1();
3548 static final private boolean jj_2_2(int xla) {
3549 jj_la = xla; jj_lastpos = jj_scanpos = token;
3550 boolean retval = !jj_3_2();
3555 static final private boolean jj_2_3(int xla) {
3556 jj_la = xla; jj_lastpos = jj_scanpos = token;
3557 boolean retval = !jj_3_3();
3562 static final private boolean jj_2_4(int xla) {
3563 jj_la = xla; jj_lastpos = jj_scanpos = token;
3564 boolean retval = !jj_3_4();
3569 static final private boolean jj_2_5(int xla) {
3570 jj_la = xla; jj_lastpos = jj_scanpos = token;
3571 boolean retval = !jj_3_5();
3576 static final private boolean jj_2_6(int xla) {
3577 jj_la = xla; jj_lastpos = jj_scanpos = token;
3578 boolean retval = !jj_3_6();
3583 static final private boolean jj_2_7(int xla) {
3584 jj_la = xla; jj_lastpos = jj_scanpos = token;
3585 boolean retval = !jj_3_7();
3590 static final private boolean jj_3R_70() {
3591 if (jj_scan_token(DOLLAR)) return true;
3592 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3593 if (jj_3R_61()) return true;
3594 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3598 static final private boolean jj_3R_42() {
3599 if (jj_scan_token(SEMICOLON)) return true;
3600 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3604 static final private boolean jj_3R_118() {
3605 if (jj_scan_token(TRIPLEEQUAL)) return true;
3606 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3610 static final private boolean jj_3R_117() {
3611 if (jj_scan_token(BANGDOUBLEEQUAL)) return true;
3612 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3616 static final private boolean jj_3R_116() {
3617 if (jj_scan_token(NE)) return true;
3618 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3622 static final private boolean jj_3R_115() {
3623 if (jj_scan_token(DIF)) return true;
3624 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3628 static final private boolean jj_3R_114() {
3629 if (jj_scan_token(EQ)) return true;
3630 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3634 static final private boolean jj_3_5() {
3635 if (jj_3R_41()) return true;
3636 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3641 if (jj_3R_43()) return true;
3642 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3643 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3647 static final private boolean jj_3R_97() {
3648 if (jj_scan_token(LBRACE)) return true;
3649 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3650 if (jj_3R_41()) return true;
3651 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3652 if (jj_scan_token(RBRACE)) return true;
3653 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3657 static final private boolean jj_3R_69() {
3658 if (jj_scan_token(IDENTIFIER)) return true;
3659 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3662 if (jj_3R_104()) jj_scanpos = xsp;
3663 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3667 static final private boolean jj_3R_111() {
3678 if (jj_3R_118()) return true;
3679 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3680 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3681 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3682 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3683 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3684 if (jj_3R_110()) return true;
3685 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3689 static final private boolean jj_3R_68() {
3690 if (jj_scan_token(LBRACE)) return true;
3691 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3692 if (jj_3R_41()) return true;
3693 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3694 if (jj_scan_token(RBRACE)) return true;
3695 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3699 static final private boolean jj_3R_61() {
3708 if (jj_3R_71()) return true;
3709 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3710 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3711 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3712 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3716 static final private boolean jj_3R_108() {
3717 if (jj_3R_110()) return true;
3718 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3722 if (jj_3R_111()) { jj_scanpos = xsp; break; }
3723 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3728 static final private boolean jj_3R_92() {
3729 if (jj_scan_token(DOLLAR)) return true;
3730 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3731 if (jj_3R_61()) return true;
3732 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3736 static final private boolean jj_3R_109() {
3737 if (jj_scan_token(BIT_AND)) return true;
3738 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3739 if (jj_3R_108()) return true;
3740 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3744 static final private boolean jj_3R_192() {
3745 if (jj_scan_token(COMMA)) return true;
3746 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3747 if (jj_3R_41()) return true;
3748 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3752 static final private boolean jj_3R_91() {
3753 if (jj_scan_token(DOLLAR_ID)) return true;
3754 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3757 if (jj_3R_97()) jj_scanpos = xsp;
3758 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3762 static final private boolean jj_3R_75() {
3767 if (jj_3R_92()) return true;
3768 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3769 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3773 static final private boolean jj_3R_191() {
3774 if (jj_3R_41()) return true;
3775 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3779 if (jj_3R_192()) { jj_scanpos = xsp; break; }
3780 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3785 static final private boolean jj_3R_106() {
3786 if (jj_3R_108()) return true;
3787 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3791 if (jj_3R_109()) { jj_scanpos = xsp; break; }
3792 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3797 static final private boolean jj_3R_189() {
3798 if (jj_3R_191()) return true;
3799 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3803 static final private boolean jj_3_1() {
3804 if (jj_3R_38()) return true;
3805 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3809 static final private boolean jj_3R_107() {
3810 if (jj_scan_token(XOR)) return true;
3811 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3812 if (jj_3R_106()) return true;
3813 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3817 static final private boolean jj_3R_66() {
3818 if (jj_3R_75()) return true;
3819 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3823 if (jj_3_1()) { jj_scanpos = xsp; break; }
3824 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3829 static final private boolean jj_3R_187() {
3830 if (jj_scan_token(LPAREN)) return true;
3831 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3834 if (jj_3R_189()) jj_scanpos = xsp;
3835 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3836 if (jj_scan_token(RPAREN)) return true;
3837 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3841 static final private boolean jj_3R_102() {
3842 if (jj_3R_106()) return true;
3843 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3847 if (jj_3R_107()) { jj_scanpos = xsp; break; }
3848 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3853 static final private boolean jj_3R_170() {
3854 if (jj_scan_token(NULL)) return true;
3855 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3859 static final private boolean jj_3R_103() {
3860 if (jj_scan_token(BIT_OR)) return true;
3861 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3862 if (jj_3R_102()) return true;
3863 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3867 static final private boolean jj_3R_177() {
3868 if (jj_scan_token(FALSE)) return true;
3869 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3873 static final private boolean jj_3R_98() {
3874 if (jj_3R_102()) return true;
3875 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3879 if (jj_3R_103()) { jj_scanpos = xsp; break; }
3880 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3885 static final private boolean jj_3R_176() {
3886 if (jj_scan_token(TRUE)) return true;
3887 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3891 static final private boolean jj_3R_169() {
3896 if (jj_3R_177()) return true;
3897 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3898 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3902 static final private boolean jj_3R_101() {
3903 if (jj_scan_token(_ANDL)) return true;
3904 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3908 static final private boolean jj_3R_165() {
3909 if (jj_3R_170()) return true;
3910 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3914 static final private boolean jj_3R_99() {
3915 if (jj_scan_token(DOT)) return true;
3916 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3917 if (jj_3R_98()) return true;
3918 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3922 static final private boolean jj_3R_164() {
3923 if (jj_3R_169()) return true;
3924 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3928 static final private boolean jj_3R_93() {
3929 if (jj_3R_98()) return true;
3930 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3934 if (jj_3R_99()) { jj_scanpos = xsp; break; }
3935 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3940 static final private boolean jj_3R_163() {
3941 if (jj_scan_token(STRING_LITERAL)) return true;
3942 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3946 static final private boolean jj_3R_162() {
3947 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
3948 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3952 static final private boolean jj_3R_158() {
3963 if (jj_3R_165()) return true;
3964 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3965 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3966 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3967 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3968 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3972 static final private boolean jj_3R_161() {
3973 if (jj_scan_token(INTEGER_LITERAL)) return true;
3974 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3978 static final private boolean jj_3R_96() {
3979 if (jj_scan_token(_ORL)) return true;
3980 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3984 static final private boolean jj_3R_100() {
3985 if (jj_scan_token(SC_AND)) return true;
3986 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3990 static final private boolean jj_3R_94() {
3995 if (jj_3R_101()) return true;
3996 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3997 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3998 if (jj_3R_93()) return true;
3999 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4003 static final private boolean jj_3R_62() {
4004 if (jj_3R_41()) return true;
4005 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4009 static final private boolean jj_3R_76() {
4010 if (jj_3R_93()) return true;
4011 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4015 if (jj_3R_94()) { jj_scanpos = xsp; break; }
4016 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4021 static final private boolean jj_3R_73() {
4022 if (jj_scan_token(HOOK)) return true;
4023 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4024 if (jj_3R_41()) return true;
4025 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4026 if (jj_scan_token(COLON)) return true;
4027 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4028 if (jj_3R_64()) return true;
4029 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4033 static final private boolean jj_3R_47() {
4034 if (jj_scan_token(LBRACKET)) return true;
4035 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4038 if (jj_3R_62()) jj_scanpos = xsp;
4039 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4040 if (jj_scan_token(RBRACKET)) return true;
4041 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4045 static final private boolean jj_3R_46() {
4046 if (jj_scan_token(CLASSACCESS)) return true;
4047 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4048 if (jj_3R_61()) return true;
4049 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4053 static final private boolean jj_3R_38() {
4058 if (jj_3R_47()) return true;
4059 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4060 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4064 static final private boolean jj_3R_95() {
4065 if (jj_scan_token(SC_OR)) return true;
4066 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4070 static final private boolean jj_3R_77() {
4075 if (jj_3R_96()) return true;
4076 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4077 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4078 if (jj_3R_76()) return true;
4079 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4083 static final private boolean jj_3R_72() {
4084 if (jj_3R_76()) return true;
4085 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4089 if (jj_3R_77()) { jj_scanpos = xsp; break; }
4090 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4095 static final private boolean jj_3R_184() {
4096 if (jj_3R_38()) return true;
4097 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4101 static final private boolean jj_3R_183() {
4102 if (jj_3R_187()) return true;
4103 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4107 static final private boolean jj_3R_179() {
4112 if (jj_3R_184()) return true;
4113 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4114 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4118 static final private boolean jj_3R_186() {
4119 if (jj_3R_66()) return true;
4120 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4124 static final private boolean jj_3R_185() {
4125 if (jj_scan_token(IDENTIFIER)) return true;
4126 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4130 static final private boolean jj_3R_181() {
4135 if (jj_3R_186()) return true;
4136 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4137 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4141 static final private boolean jj_3R_64() {
4142 if (jj_3R_72()) return true;
4143 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4146 if (jj_3R_73()) jj_scanpos = xsp;
4147 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4151 static final private boolean jj_3R_173() {
4152 if (jj_3R_66()) return true;
4153 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4157 static final private boolean jj_3R_90() {
4158 if (jj_scan_token(TILDEEQUAL)) return true;
4159 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4163 static final private boolean jj_3R_89() {
4164 if (jj_scan_token(DOTASSIGN)) return true;
4165 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4169 static final private boolean jj_3R_67() {
4170 if (jj_scan_token(ASSIGN)) return true;
4171 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4172 if (jj_3R_41()) return true;
4173 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4177 static final private boolean jj_3R_88() {
4178 if (jj_scan_token(ORASSIGN)) return true;
4179 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4183 static final private boolean jj_3R_172() {
4184 if (jj_scan_token(NEW)) return true;
4185 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4186 if (jj_3R_181()) return true;
4187 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4191 static final private boolean jj_3R_175() {
4192 if (jj_scan_token(DECR)) return true;
4193 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4197 static final private boolean jj_3R_87() {
4198 if (jj_scan_token(XORASSIGN)) return true;
4199 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4203 static final private boolean jj_3R_60() {
4204 if (jj_scan_token(COMMA)) return true;
4205 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4206 if (jj_3R_59()) return true;
4207 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4211 static final private boolean jj_3R_166() {
4218 if (jj_3R_173()) return true;
4219 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4220 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4221 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4225 static final private boolean jj_3R_171() {
4226 if (jj_scan_token(IDENTIFIER)) return true;
4227 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4231 static final private boolean jj_3R_86() {
4232 if (jj_scan_token(ANDASSIGN)) return true;
4233 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4237 static final private boolean jj_3R_85() {
4238 if (jj_scan_token(RSIGNEDSHIFTASSIGN)) return true;
4239 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4243 static final private boolean jj_3R_84() {
4244 if (jj_scan_token(LSHIFTASSIGN)) return true;
4245 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4249 static final private boolean jj_3R_83() {
4250 if (jj_scan_token(MINUSASSIGN)) return true;
4251 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4255 static final private boolean jj_3R_82() {
4256 if (jj_scan_token(PLUSASSIGN)) return true;
4257 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4261 static final private boolean jj_3R_167() {
4262 if (jj_scan_token(ARRAY)) return true;
4263 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4264 if (jj_3R_180()) return true;
4265 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4269 static final private boolean jj_3R_81() {
4270 if (jj_scan_token(REMASSIGN)) return true;
4271 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4275 static final private boolean jj_3R_80() {
4276 if (jj_scan_token(SLASHASSIGN)) return true;
4277 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4281 static final private boolean jj_3R_79() {
4282 if (jj_scan_token(STARASSIGN)) return true;
4283 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4287 static final private boolean jj_3R_78() {
4288 if (jj_scan_token(ASSIGN)) return true;
4289 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4293 static final private boolean jj_3R_74() {
4320 if (jj_3R_90()) return true;
4321 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4322 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4323 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4324 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4325 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4326 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4327 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4328 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4329 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4330 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4331 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4332 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4333 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4337 static final private boolean jj_3R_174() {
4338 if (jj_scan_token(INCR)) return true;
4339 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4343 static final private boolean jj_3R_160() {
4344 if (jj_3R_167()) return true;
4345 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4349 static final private boolean jj_3R_168() {
4354 if (jj_3R_175()) return true;
4355 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4356 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4360 static final private boolean jj_3R_178() {
4361 if (jj_3R_179()) return true;
4362 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4366 static final private boolean jj_3R_59() {
4367 if (jj_3R_66()) return true;
4368 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4371 if (jj_3R_67()) jj_scanpos = xsp;
4372 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4376 static final private boolean jj_3R_159() {
4377 if (jj_3R_166()) return true;
4378 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4382 if (jj_3R_178()) { jj_scanpos = xsp; break; }
4383 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4388 static final private boolean jj_3R_45() {
4389 if (jj_3R_59()) return true;
4390 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4394 if (jj_3R_60()) { jj_scanpos = xsp; break; }
4395 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4400 static final private boolean jj_3R_182() {
4401 if (jj_3R_179()) return true;
4402 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4406 static final private boolean jj_3R_65() {
4407 if (jj_3R_74()) return true;
4408 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4409 if (jj_3R_41()) return true;
4410 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4414 static final private boolean jj_3_4() {
4415 if (jj_scan_token(IDENTIFIER)) return true;
4416 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4417 if (jj_scan_token(STATICCLASSACCESS)) return true;
4418 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4419 if (jj_3R_181()) return true;
4420 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4424 if (jj_3R_182()) { jj_scanpos = xsp; break; }
4425 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4430 static final private boolean jj_3R_155() {
4437 if (jj_3R_160()) return true;
4438 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4439 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4440 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4444 static final private boolean jj_3R_58() {
4445 if (jj_3R_64()) return true;
4446 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4449 if (jj_3R_65()) jj_scanpos = xsp;
4450 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4454 static final private boolean jj_3R_41() {
4459 if (jj_3R_58()) return true;
4460 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4461 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4465 static final private boolean jj_3R_57() {
4466 if (jj_3R_63()) return true;
4467 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4471 static final private boolean jj_3R_157() {
4472 if (jj_3R_155()) return true;
4473 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4476 if (jj_3R_168()) jj_scanpos = xsp;
4477 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4481 static final private boolean jj_3R_56() {
4482 if (jj_scan_token(OBJECT)) return true;
4483 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4487 static final private boolean jj_3R_55() {
4488 if (jj_scan_token(INTEGER)) return true;
4489 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4493 static final private boolean jj_3R_54() {
4494 if (jj_scan_token(INT)) return true;
4495 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4499 static final private boolean jj_3R_44() {
4500 if (jj_scan_token(IDENTIFIER)) return true;
4501 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4502 if (jj_scan_token(COLON)) return true;
4503 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4507 static final private boolean jj_3R_53() {
4508 if (jj_scan_token(FLOAT)) return true;
4509 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4513 static final private boolean jj_3R_156() {
4514 if (jj_scan_token(LPAREN)) return true;
4515 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4516 if (jj_3R_40()) return true;
4517 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4518 if (jj_scan_token(RPAREN)) return true;
4519 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4520 if (jj_3R_130()) return true;
4521 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4525 static final private boolean jj_3R_52() {
4526 if (jj_scan_token(DOUBLE)) return true;
4527 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4531 static final private boolean jj_3R_51() {
4532 if (jj_scan_token(REAL)) return true;
4533 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4537 static final private boolean jj_3_3() {
4538 if (jj_scan_token(LPAREN)) return true;
4539 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4540 if (jj_3R_40()) return true;
4541 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4542 if (jj_scan_token(RPAREN)) return true;
4543 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4547 static final private boolean jj_3R_50() {
4548 if (jj_scan_token(BOOLEAN)) return true;
4549 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4553 static final private boolean jj_3R_154() {
4554 if (jj_scan_token(LPAREN)) return true;
4555 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4556 if (jj_3R_41()) return true;
4557 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4558 if (jj_scan_token(RPAREN)) return true;
4559 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4563 static final private boolean jj_3R_49() {
4564 if (jj_scan_token(BOOL)) return true;
4565 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4569 static final private boolean jj_3R_153() {
4570 if (jj_3R_158()) return true;
4571 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4575 static final private boolean jj_3R_40() {
4594 if (jj_3R_56()) return true;
4595 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4596 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4597 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4598 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4599 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4600 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4601 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4602 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4603 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4607 static final private boolean jj_3R_48() {
4608 if (jj_scan_token(STRING)) return true;
4609 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4613 static final private boolean jj_3R_152() {
4614 if (jj_3R_157()) return true;
4615 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4619 static final private boolean jj_3R_151() {
4620 if (jj_3R_156()) return true;
4621 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4625 static final private boolean jj_3R_149() {
4636 if (jj_3R_154()) return true;
4637 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4638 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4639 } else 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;
4645 static final private boolean jj_3R_150() {
4646 if (jj_scan_token(BANG)) return true;
4647 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4648 if (jj_3R_130()) return true;
4649 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4653 static final private boolean jj_3R_148() {
4654 if (jj_scan_token(DECR)) return true;
4655 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4656 if (jj_3R_155()) return true;
4657 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4661 static final private boolean jj_3R_147() {
4662 if (jj_scan_token(INCR)) return true;
4663 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4664 if (jj_3R_155()) return true;
4665 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4669 static final private boolean jj_3R_146() {
4670 if (jj_scan_token(MINUS)) return true;
4671 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4675 static final private boolean jj_3R_63() {
4676 if (jj_scan_token(PRINT)) return true;
4677 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4678 if (jj_3R_41()) return true;
4679 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4683 static final private boolean jj_3R_144() {
4684 if (jj_3R_149()) return true;
4685 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4689 static final private boolean jj_3R_143() {
4690 if (jj_3R_148()) return true;
4691 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4695 static final private boolean jj_3R_138() {
4696 if (jj_scan_token(REM)) return true;
4697 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4701 static final private boolean jj_3R_142() {
4702 if (jj_3R_147()) return true;
4703 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4707 static final private boolean jj_3_7() {
4708 if (jj_3R_45()) return true;
4709 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4713 static final private boolean jj_3R_145() {
4714 if (jj_scan_token(PLUS)) return true;
4715 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4719 static final private boolean jj_3R_139() {
4728 if (jj_3R_144()) return true;
4729 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4730 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4731 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4732 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4736 static final private boolean jj_3R_141() {
4741 if (jj_3R_146()) return true;
4742 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4743 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4744 if (jj_3R_130()) return true;
4745 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4749 static final private boolean jj_3R_140() {
4750 if (jj_scan_token(AT)) return true;
4751 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4755 static final private boolean jj_3R_135() {
4759 if (jj_3R_140()) { jj_scanpos = xsp; break; }
4760 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4762 if (jj_3R_139()) return true;
4763 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4767 static final private boolean jj_3R_137() {
4768 if (jj_scan_token(SLASH)) return true;
4769 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4773 static final private boolean jj_3R_130() {
4778 if (jj_3R_135()) return true;
4779 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4780 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4784 static final private boolean jj_3R_134() {
4785 if (jj_scan_token(BIT_AND)) return true;
4786 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4787 if (jj_3R_139()) return true;
4788 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4792 static final private boolean jj_3R_129() {
4793 if (jj_scan_token(RUNSIGNEDSHIFT)) return true;
4794 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4798 static final private boolean jj_3R_133() {
4799 if (jj_scan_token(MINUS)) return true;
4800 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4804 static final private boolean jj_3R_124() {
4805 if (jj_scan_token(GE)) return true;
4806 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4810 static final private boolean jj_3R_136() {
4811 if (jj_scan_token(STAR)) return true;
4812 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4816 static final private boolean jj_3R_131() {
4823 if (jj_3R_138()) return true;
4824 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4825 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4826 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4827 if (jj_3R_130()) return true;
4828 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4832 static final private boolean jj_3_2() {
4833 if (jj_scan_token(COMMA)) return true;
4834 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4835 if (jj_3R_39()) return true;
4836 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4840 static final private boolean jj_3R_125() {
4841 if (jj_3R_130()) return true;
4842 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4846 if (jj_3R_131()) { jj_scanpos = xsp; break; }
4847 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4852 static final private boolean jj_3R_188() {
4853 if (jj_3R_39()) return true;
4854 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4858 if (jj_3_2()) { jj_scanpos = xsp; break; }
4859 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4864 static final private boolean jj_3R_128() {
4865 if (jj_scan_token(RSIGNEDSHIFT)) return true;
4866 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4870 static final private boolean jj_3R_123() {
4871 if (jj_scan_token(LE)) return true;
4872 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4876 static final private boolean jj_3R_132() {
4877 if (jj_scan_token(PLUS)) return true;
4878 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4882 static final private boolean jj_3R_180() {
4883 if (jj_scan_token(LPAREN)) return true;
4884 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4887 if (jj_3R_188()) jj_scanpos = xsp;
4888 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4889 if (jj_scan_token(RPAREN)) return true;
4890 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4894 static final private boolean jj_3R_126() {
4899 if (jj_3R_133()) return true;
4900 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4901 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4902 if (jj_3R_125()) return true;
4903 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4907 static final private boolean jj_3R_119() {
4908 if (jj_3R_125()) return true;
4909 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4913 if (jj_3R_126()) { jj_scanpos = xsp; break; }
4914 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4919 static final private boolean jj_3R_190() {
4920 if (jj_scan_token(ARRAYASSIGN)) return true;
4921 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4922 if (jj_3R_41()) return true;
4923 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4927 static final private boolean jj_3R_39() {
4928 if (jj_3R_41()) return true;
4929 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4932 if (jj_3R_190()) jj_scanpos = xsp;
4933 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4937 static final private boolean jj_3R_122() {
4938 if (jj_scan_token(GT)) return true;
4939 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4943 static final private boolean jj_3R_127() {
4944 if (jj_scan_token(LSHIFT)) return true;
4945 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4949 static final private boolean jj_3R_120() {
4956 if (jj_3R_129()) return true;
4957 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4958 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4959 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4960 if (jj_3R_119()) return true;
4961 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4965 static final private boolean jj_3R_112() {
4966 if (jj_3R_119()) return true;
4967 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4971 if (jj_3R_120()) { jj_scanpos = xsp; break; }
4972 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4977 static final private boolean jj_3R_105() {
4978 if (jj_3R_61()) return true;
4979 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4983 static final private boolean jj_3R_121() {
4984 if (jj_scan_token(LT)) return true;
4985 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4989 static final private boolean jj_3R_113() {
4998 if (jj_3R_124()) return true;
4999 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5000 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5001 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5002 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5003 if (jj_3R_112()) return true;
5004 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5008 static final private boolean jj_3R_104() {
5009 if (jj_scan_token(LBRACE)) return true;
5010 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5011 if (jj_3R_41()) return true;
5012 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5013 if (jj_scan_token(RBRACE)) return true;
5014 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5018 static final private boolean jj_3R_110() {
5019 if (jj_3R_112()) return true;
5020 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5024 if (jj_3R_113()) { jj_scanpos = xsp; break; }
5025 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5030 static final private boolean jj_3R_43() {
5031 if (jj_scan_token(PHPEND)) return true;
5032 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5036 static final private boolean jj_3R_71() {
5037 if (jj_scan_token(DOLLAR_ID)) return true;
5038 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5041 if (jj_3R_105()) jj_scanpos = xsp;
5042 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5046 static final private boolean jj_3_6() {
5047 if (jj_3R_44()) return true;
5048 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5052 static private boolean jj_initialized_once = false;
5053 static public PHPParserTokenManager token_source;
5054 static SimpleCharStream jj_input_stream;
5055 static public Token token, jj_nt;
5056 static private int jj_ntk;
5057 static private Token jj_scanpos, jj_lastpos;
5058 static private int jj_la;
5059 static public boolean lookingAhead = false;
5060 static private boolean jj_semLA;
5061 static private int jj_gen;
5062 static final private int[] jj_la1 = new int[116];
5063 static private int[] jj_la1_0;
5064 static private int[] jj_la1_1;
5065 static private int[] jj_la1_2;
5066 static private int[] jj_la1_3;
5067 static private int[] jj_la1_4;
5075 private static void jj_la1_0() {
5076 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,0xf6400000,0x0,0x0,0x0,0x0,0xe0000000,0x0,0x0,0x0,0x0,0x0,0x0,0xfe580000,0xfe580000,0x0,0x0,0x0,0x0,0x2000000,0x0,0xfe580000,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,};
5078 private static void jj_la1_1() {
5079 jj_la1_1 = new int[] {0x475d507,0x0,0x0,0x0,0x475d507,0x475d507,0x800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x308000,0x20,0x30c000,0x0,0x0,0x0,0x0,0xf0000000,0x0,0x30c000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30c000,0x0,0x30c000,0x0,0x30c000,0x0,0x0,0x8,0x8,0x4000,0x4000,0x0,0x8,0x30c000,0x8,0x308000,0x300000,0x30c000,0x0,0x0,0x0,0x4455507,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x475d507,0x475d507,0x0,0x0,0x0,0x0,0x4000,0x240,0x475d507,0x240,0x475d507,0x0,0x0,0x0,0x0,0x475d507,0x475d507,0x475d507,0x475d507,0x0,0x475d507,0x0,0x8,0x20,0x4000,0x30c000,0x4000,0x475d507,0x475d507,0x4000,0x0,0x0,0x0,0x30c000,};
5081 private static void jj_la1_2() {
5082 jj_la1_2 = new int[] {0x8a22880,0x8000000,0x0,0x0,0x8a22880,0x8a22880,0x0,0x0,0x0,0x10000000,0x0,0x800000,0x0,0x800000,0x820000,0x820000,0x880,0x880,0x22880,0x0,0x222880,0x0,0x10000000,0x0,0x0,0x1f,0x0,0x222880,0x0,0x0,0x20,0x20,0x40,0x40,0x20000000,0x0,0x0,0x0,0x0,0x0,0xc0000000,0xc0000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x222880,0x0,0x222880,0x0,0x222880,0x0,0x0,0x2200000,0x2200000,0x20000,0x20000,0x20000,0x2200000,0x222880,0x2000000,0x2880,0x0,0x222880,0x10000000,0x8000000,0x0,0x8820000,0x8000000,0x8000000,0x8000000,0x8000000,0x0,0x10000000,0x8000000,0x10000000,0x8000000,0x10000000,0x8000000,0x8a22880,0x8a22880,0x10000000,0x0,0x0,0x0,0x20000,0x0,0x8a22880,0x0,0x8a22880,0x0,0x0,0x0,0x0,0x8a22880,0x8a22880,0x8a22880,0x8a22880,0x8000000,0x8a22880,0x8000000,0x2000000,0x0,0x20000,0x222880,0x20000,0x8a22880,0x8a22880,0x20000,0x10000000,0x20000,0x20000,0x222880,};
5084 private static void jj_la1_3() {
5085 jj_la1_3 = new int[] {0x9e1c0000,0x0,0x0,0x0,0x9e1c0000,0x9e1c0000,0x0,0x0,0x0,0x0,0x80,0x0,0x80000,0x0,0x80000,0x80000,0x0,0x0,0x18000000,0x0,0x9e1c0000,0x80000000,0x0,0x80080000,0x80000000,0x0,0x3ff80,0x9e1c0000,0x3ff80,0x200000,0x800000,0x800000,0x1000000,0x1000000,0x0,0x0,0x0,0x80000000,0x79,0x79,0x6,0x6,0x0,0x0,0x18000000,0x18000000,0x60000000,0x60000000,0x40000,0x9e1c0000,0x18000000,0x1e180000,0x100000,0x80000,0x6000000,0x6000000,0x0,0x0,0x80000,0x80000,0x80000,0x0,0x9e1c0000,0x0,0x0,0x0,0x9e1c0000,0x0,0x0,0x40000,0x60c0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9e1c0000,0x9e1c0000,0x0,0x80,0x603ff80,0x603ff80,0x6080000,0x0,0x9e1c0000,0x0,0x9e1c0000,0x0,0x0,0x0,0x0,0x9e5c0000,0x9e1c0000,0x9e1c0000,0x9e1c0000,0x0,0x9e5c0000,0x0,0x0,0x0,0x6080000,0x9e1c0000,0x6080000,0x9e1c0000,0x9e5c0000,0x6080000,0x0,0x0,0x0,0x9e1c0000,};
5087 private static void jj_la1_4() {
5088 jj_la1_4 = new int[] {0x100,0x0,0x0,0x0,0x100,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x100,0x0,0x100,0x100,0x0,0x0,0x0,0x0,0x100,0x0,0x0,0x100,0x0,0x0,0xc0,0x100,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x2,0x0,0x0,0x0,0x0,0x0,0x38,0x38,0x0,0x0,0x4,0x4,0x0,0x100,0x0,0x100,0x0,0x100,0x0,0x0,0x0,0x0,0x100,0x100,0x100,0x0,0x100,0x0,0x0,0x0,0x100,0x0,0x0,0x0,0x100,0x200,0x200,0x200,0x200,0x0,0x0,0x200,0x0,0x200,0x0,0x200,0x100,0x100,0x0,0x0,0xc0,0xc0,0x100,0x0,0x100,0x0,0x100,0x0,0x0,0x0,0x0,0x100,0x100,0x100,0x100,0x200,0x100,0x200,0x0,0x0,0x100,0x100,0x100,0x100,0x100,0x100,0x0,0x0,0x0,0x100,};
5090 static final private JJCalls[] jj_2_rtns = new JJCalls[7];
5091 static private boolean jj_rescan = false;
5092 static private int jj_gc = 0;
5094 public PHPParser(java.io.InputStream stream) {
5095 if (jj_initialized_once) {
5096 System.out.println("ERROR: Second call to constructor of static parser. You must");
5097 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
5098 System.out.println(" during parser generation.");
5101 jj_initialized_once = true;
5102 jj_input_stream = new SimpleCharStream(stream, 1, 1);
5103 token_source = new PHPParserTokenManager(jj_input_stream);
5104 token = new Token();
5107 for (int i = 0; i < 116; i++) jj_la1[i] = -1;
5108 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5111 static public void ReInit(java.io.InputStream stream) {
5112 jj_input_stream.ReInit(stream, 1, 1);
5113 token_source.ReInit(jj_input_stream);
5114 token = new Token();
5117 for (int i = 0; i < 116; i++) jj_la1[i] = -1;
5118 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5121 public PHPParser(java.io.Reader stream) {
5122 if (jj_initialized_once) {
5123 System.out.println("ERROR: Second call to constructor of static parser. You must");
5124 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
5125 System.out.println(" during parser generation.");
5128 jj_initialized_once = true;
5129 jj_input_stream = new SimpleCharStream(stream, 1, 1);
5130 token_source = new PHPParserTokenManager(jj_input_stream);
5131 token = new Token();
5134 for (int i = 0; i < 116; i++) jj_la1[i] = -1;
5135 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5138 static public void ReInit(java.io.Reader stream) {
5139 jj_input_stream.ReInit(stream, 1, 1);
5140 token_source.ReInit(jj_input_stream);
5141 token = new Token();
5144 for (int i = 0; i < 116; i++) jj_la1[i] = -1;
5145 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5148 public PHPParser(PHPParserTokenManager tm) {
5149 if (jj_initialized_once) {
5150 System.out.println("ERROR: Second call to constructor of static parser. You must");
5151 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
5152 System.out.println(" during parser generation.");
5155 jj_initialized_once = true;
5157 token = new Token();
5160 for (int i = 0; i < 116; i++) jj_la1[i] = -1;
5161 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5164 public void ReInit(PHPParserTokenManager tm) {
5166 token = new Token();
5169 for (int i = 0; i < 116; i++) jj_la1[i] = -1;
5170 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5173 static final private Token jj_consume_token(int kind) throws ParseException {
5175 if ((oldToken = token).next != null) token = token.next;
5176 else token = token.next = token_source.getNextToken();
5178 if (token.kind == kind) {
5180 if (++jj_gc > 100) {
5182 for (int i = 0; i < jj_2_rtns.length; i++) {
5183 JJCalls c = jj_2_rtns[i];
5185 if (c.gen < jj_gen) c.first = null;
5194 throw generateParseException();
5197 static final private boolean jj_scan_token(int kind) {
5198 if (jj_scanpos == jj_lastpos) {
5200 if (jj_scanpos.next == null) {
5201 jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
5203 jj_lastpos = jj_scanpos = jj_scanpos.next;
5206 jj_scanpos = jj_scanpos.next;
5209 int i = 0; Token tok = token;
5210 while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
5211 if (tok != null) jj_add_error_token(kind, i);
5213 return (jj_scanpos.kind != kind);
5216 static final public Token getNextToken() {
5217 if (token.next != null) token = token.next;
5218 else token = token.next = token_source.getNextToken();
5224 static final public Token getToken(int index) {
5225 Token t = lookingAhead ? jj_scanpos : token;
5226 for (int i = 0; i < index; i++) {
5227 if (t.next != null) t = t.next;
5228 else t = t.next = token_source.getNextToken();
5233 static final private int jj_ntk() {
5234 if ((jj_nt=token.next) == null)
5235 return (jj_ntk = (token.next=token_source.getNextToken()).kind);
5237 return (jj_ntk = jj_nt.kind);
5240 static private java.util.Vector jj_expentries = new java.util.Vector();
5241 static private int[] jj_expentry;
5242 static private int jj_kind = -1;
5243 static private int[] jj_lasttokens = new int[100];
5244 static private int jj_endpos;
5246 static private void jj_add_error_token(int kind, int pos) {
5247 if (pos >= 100) return;
5248 if (pos == jj_endpos + 1) {
5249 jj_lasttokens[jj_endpos++] = kind;
5250 } else if (jj_endpos != 0) {
5251 jj_expentry = new int[jj_endpos];
5252 for (int i = 0; i < jj_endpos; i++) {
5253 jj_expentry[i] = jj_lasttokens[i];
5255 boolean exists = false;
5256 for (java.util.Enumeration enum = jj_expentries.elements(); enum.hasMoreElements();) {
5257 int[] oldentry = (int[])(enum.nextElement());
5258 if (oldentry.length == jj_expentry.length) {
5260 for (int i = 0; i < jj_expentry.length; i++) {
5261 if (oldentry[i] != jj_expentry[i]) {
5269 if (!exists) jj_expentries.addElement(jj_expentry);
5270 if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
5274 static public ParseException generateParseException() {
5275 jj_expentries.removeAllElements();
5276 boolean[] la1tokens = new boolean[138];
5277 for (int i = 0; i < 138; i++) {
5278 la1tokens[i] = false;
5281 la1tokens[jj_kind] = true;
5284 for (int i = 0; i < 116; i++) {
5285 if (jj_la1[i] == jj_gen) {
5286 for (int j = 0; j < 32; j++) {
5287 if ((jj_la1_0[i] & (1<<j)) != 0) {
5288 la1tokens[j] = true;
5290 if ((jj_la1_1[i] & (1<<j)) != 0) {
5291 la1tokens[32+j] = true;
5293 if ((jj_la1_2[i] & (1<<j)) != 0) {
5294 la1tokens[64+j] = true;
5296 if ((jj_la1_3[i] & (1<<j)) != 0) {
5297 la1tokens[96+j] = true;
5299 if ((jj_la1_4[i] & (1<<j)) != 0) {
5300 la1tokens[128+j] = true;
5305 for (int i = 0; i < 138; i++) {
5307 jj_expentry = new int[1];
5309 jj_expentries.addElement(jj_expentry);
5314 jj_add_error_token(0, 0);
5315 int[][] exptokseq = new int[jj_expentries.size()][];
5316 for (int i = 0; i < jj_expentries.size(); i++) {
5317 exptokseq[i] = (int[])jj_expentries.elementAt(i);
5319 return new ParseException(token, exptokseq, tokenImage);
5322 static final public void enable_tracing() {
5325 static final public void disable_tracing() {
5328 static final private void jj_rescan_token() {
5330 for (int i = 0; i < 7; i++) {
5331 JJCalls p = jj_2_rtns[i];
5333 if (p.gen > jj_gen) {
5334 jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
5336 case 0: jj_3_1(); break;
5337 case 1: jj_3_2(); break;
5338 case 2: jj_3_3(); break;
5339 case 3: jj_3_4(); break;
5340 case 4: jj_3_5(); break;
5341 case 5: jj_3_6(); break;
5342 case 6: jj_3_7(); break;
5346 } while (p != null);
5351 static final private void jj_save(int index, int xla) {
5352 JJCalls p = jj_2_rtns[index];
5353 while (p.gen > jj_gen) {
5354 if (p.next == null) { p = p.next = new JJCalls(); break; }
5357 p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
5360 static final class JJCalls {