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(IFile fileToParse) {
47 this.fileToParse = fileToParse;
50 public PHPParser(IFile fileToParse) {
51 this(new StringReader(""));
52 this.fileToParse = fileToParse;
55 public static final void phpParserTester(String strEval) throws CoreException, ParseException {
56 PHPParserTokenManager.SwitchTo(PHPParserTokenManager.PHPPARSING);
57 StringReader stream = new StringReader(strEval);
58 if (jj_input_stream == null) {
59 jj_input_stream = new SimpleCharStream(stream, 1, 1);
61 ReInit(new StringReader(strEval));
65 public static final void htmlParserTester(String strEval) throws CoreException, ParseException {
66 StringReader stream = new StringReader(strEval);
67 if (jj_input_stream == null) {
68 jj_input_stream = new SimpleCharStream(stream, 1, 1);
74 public final PHPOutlineInfo parseInfo(Object parent, String s) {
75 outlineInfo = new PHPOutlineInfo(parent);
76 currentSegment = outlineInfo.getDeclarations();
77 StringReader stream = new StringReader(s);
78 if (jj_input_stream == null) {
79 jj_input_stream = new SimpleCharStream(stream, 1, 1);
84 } catch (ParseException e) {
85 processParseException(e);
91 * This method will process the parse exception.
92 * If the error message is null, the parse exception wasn't catched and a trace is written in the log
93 * @param e the ParseException
95 private static void processParseException(final ParseException e) {
96 if (errorMessage == null) {
97 PHPeclipsePlugin.log(e);
98 errorMessage = "this exception wasn't handled by the parser please tell us how to reproduce it";
105 * Create marker for the parse error
107 private static void setMarker(ParseException e) {
109 setMarker(fileToParse,
111 jj_input_stream.tokenBegin,
112 jj_input_stream.tokenBegin + e.currentToken.image.length(),
114 "Line " + e.currentToken.beginLine);
115 } catch (CoreException e2) {
116 PHPeclipsePlugin.log(e2);
121 * Create markers according to the external parser output
123 private static void createMarkers(String output, IFile file) throws CoreException {
124 // delete all markers
125 file.deleteMarkers(IMarker.PROBLEM, false, 0);
130 while ((brIndx = output.indexOf("<br />", indx)) != -1) {
131 // newer php error output (tested with 4.2.3)
132 scanLine(output, file, indx, brIndx);
137 while ((brIndx = output.indexOf("<br>", indx)) != -1) {
138 // older php error output (tested with 4.2.3)
139 scanLine(output, file, indx, brIndx);
145 private static void scanLine(String output, IFile file, int indx, int brIndx) throws CoreException {
147 StringBuffer lineNumberBuffer = new StringBuffer(10);
149 current = output.substring(indx, brIndx);
151 if (current.indexOf(PARSE_WARNING_STRING) != -1 || current.indexOf(PARSE_ERROR_STRING) != -1) {
152 int onLine = current.indexOf("on line <b>");
154 lineNumberBuffer.delete(0, lineNumberBuffer.length());
155 for (int i = onLine; i < current.length(); i++) {
156 ch = current.charAt(i);
157 if ('0' <= ch && '9' >= ch) {
158 lineNumberBuffer.append(ch);
162 int lineNumber = Integer.parseInt(lineNumberBuffer.toString());
164 Hashtable attributes = new Hashtable();
166 current = current.replaceAll("\n", "");
167 current = current.replaceAll("<b>", "");
168 current = current.replaceAll("</b>", "");
169 MarkerUtilities.setMessage(attributes, current);
171 if (current.indexOf(PARSE_ERROR_STRING) != -1)
172 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_ERROR));
173 else if (current.indexOf(PARSE_WARNING_STRING) != -1)
174 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_WARNING));
176 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_INFO));
177 MarkerUtilities.setLineNumber(attributes, lineNumber);
178 MarkerUtilities.createMarker(file, attributes, IMarker.PROBLEM);
183 public final void parse(String s) throws CoreException {
184 StringReader stream = new StringReader(s);
185 if (jj_input_stream == null) {
186 jj_input_stream = new SimpleCharStream(stream, 1, 1);
191 } catch (ParseException e) {
192 processParseException(e);
197 * Call the php parse command ( php -l -f <filename> )
198 * and create markers according to the external parser output
200 public static void phpExternalParse(IFile file) {
201 IPreferenceStore store = PHPeclipsePlugin.getDefault().getPreferenceStore();
202 String filename = file.getLocation().toString();
204 String[] arguments = { filename };
205 MessageFormat form = new MessageFormat(store.getString(PHPeclipsePlugin.EXTERNAL_PARSER_PREF));
206 String command = form.format(arguments);
208 String parserResult = PHPStartApacheAction.getParserOutput(command, "External parser: ");
211 // parse the buffer to find the errors and warnings
212 createMarkers(parserResult, file);
213 } catch (CoreException e) {
214 PHPeclipsePlugin.log(e);
218 public static final void parse() throws ParseException {
222 /*****************************************
223 * THE JAVA LANGUAGE GRAMMAR STARTS HERE *
224 *****************************************/
227 * Program structuring syntax follows.
229 static final public void phpTest() throws ParseException {
234 static final public void phpFile() throws ParseException {
238 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
246 jj_consume_token(PHPSTART);
249 jj_consume_token(PHPEND);
250 } catch (ParseException e) {
251 errorMessage = "'?>' expected";
257 } catch (TokenMgrError e) {
258 errorMessage = e.getMessage();
260 {if (true) throw generateParseException();}
264 static final public void Php() throws ParseException {
267 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
292 case INTEGER_LITERAL:
293 case FLOATING_POINT_LITERAL:
318 static final public void ClassDeclaration() throws ParseException {
319 PHPClassDeclaration classDeclaration;
321 final int pos = jj_input_stream.bufpos;
322 jj_consume_token(CLASS);
323 className = jj_consume_token(IDENTIFIER);
324 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
326 jj_consume_token(EXTENDS);
327 jj_consume_token(IDENTIFIER);
333 if (currentSegment != null) {
334 classDeclaration = new PHPClassDeclaration(currentSegment,className.image,pos);
335 currentSegment.add(classDeclaration);
336 currentSegment = classDeclaration;
339 if (currentSegment != null) {
340 currentSegment = (PHPSegmentWithChildren) currentSegment.getParent();
344 static final public void ClassBody() throws ParseException {
346 jj_consume_token(LBRACE);
347 } catch (ParseException e) {
348 errorMessage = "'{' expected";
354 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
363 ClassBodyDeclaration();
366 jj_consume_token(RBRACE);
367 } catch (ParseException e) {
368 errorMessage = "'var', 'function' or '}' expected";
374 static final public void ClassBodyDeclaration() throws ParseException {
375 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
384 jj_consume_token(-1);
385 throw new ParseException();
389 static final public void FieldDeclaration() throws ParseException {
390 PHPVarDeclaration variableDeclaration;
391 jj_consume_token(VAR);
392 variableDeclaration = VariableDeclarator();
393 if (currentSegment != null) {
394 currentSegment.add(variableDeclaration);
398 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
406 jj_consume_token(COMMA);
407 variableDeclaration = VariableDeclarator();
408 if (currentSegment != null) {
409 currentSegment.add(variableDeclaration);
413 jj_consume_token(SEMICOLON);
414 } catch (ParseException e) {
415 errorMessage = "';' expected after variable declaration";
421 static final public PHPVarDeclaration VariableDeclarator() throws ParseException {
423 String varValue = null;
424 final int pos = jj_input_stream.bufpos;
425 varName = VariableDeclaratorId();
426 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
428 jj_consume_token(ASSIGN);
430 varValue = VariableInitializer();
431 } catch (ParseException e) {
432 errorMessage = "Literal expression expected in variable initializer";
441 if (varValue == null) {
442 {if (true) return new PHPVarDeclaration(currentSegment,varName,pos);}
444 {if (true) return new PHPVarDeclaration(currentSegment,varName,pos,varValue);}
445 throw new Error("Missing return statement in function");
448 static final public String VariableDeclaratorId() throws ParseException {
450 final StringBuffer buff = new StringBuffer();
461 expr = VariableSuffix();
464 {if (true) return buff.toString();}
465 } catch (ParseException e) {
466 errorMessage = "'$' expected for variable identifier";
470 throw new Error("Missing return statement in function");
473 static final public String Variable() throws ParseException {
476 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
478 token = jj_consume_token(DOLLAR_ID);
479 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
481 jj_consume_token(LBRACE);
483 jj_consume_token(RBRACE);
490 {if (true) return token.image;}
492 {if (true) return token + "{" + expr + "}";}
495 jj_consume_token(DOLLAR);
496 expr = VariableName();
497 {if (true) return "$" + expr;}
501 jj_consume_token(-1);
502 throw new ParseException();
504 throw new Error("Missing return statement in function");
507 static final public String VariableName() throws ParseException {
510 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
512 jj_consume_token(LBRACE);
514 jj_consume_token(RBRACE);
515 {if (true) return "{"+expr+"}";}
518 token = jj_consume_token(IDENTIFIER);
519 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
521 jj_consume_token(LBRACE);
523 jj_consume_token(RBRACE);
530 {if (true) return token.image;}
532 {if (true) return token + "{" + expr + "}";}
535 jj_consume_token(DOLLAR);
536 expr = VariableName();
537 {if (true) return "$" + expr;}
540 token = jj_consume_token(DOLLAR_ID);
541 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
546 expr = VariableName();
553 {if (true) return token.image;}
555 {if (true) return token.image + expr;}
559 jj_consume_token(-1);
560 throw new ParseException();
562 throw new Error("Missing return statement in function");
565 static final public String VariableInitializer() throws ParseException {
568 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
572 case INTEGER_LITERAL:
573 case FLOATING_POINT_LITERAL:
576 {if (true) return expr;}
579 jj_consume_token(MINUS);
580 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
581 case INTEGER_LITERAL:
582 token = jj_consume_token(INTEGER_LITERAL);
584 case FLOATING_POINT_LITERAL:
585 token = jj_consume_token(FLOATING_POINT_LITERAL);
589 jj_consume_token(-1);
590 throw new ParseException();
592 {if (true) return "-" + token.image;}
595 jj_consume_token(PLUS);
596 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
597 case INTEGER_LITERAL:
598 token = jj_consume_token(INTEGER_LITERAL);
600 case FLOATING_POINT_LITERAL:
601 token = jj_consume_token(FLOATING_POINT_LITERAL);
605 jj_consume_token(-1);
606 throw new ParseException();
608 {if (true) return "+" + token.image;}
611 expr = ArrayDeclarator();
612 {if (true) return expr;}
615 token = jj_consume_token(IDENTIFIER);
616 {if (true) return token.image;}
620 jj_consume_token(-1);
621 throw new ParseException();
623 throw new Error("Missing return statement in function");
626 static final public String ArrayVariable() throws ParseException {
628 final StringBuffer buff = new StringBuffer();
631 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
633 jj_consume_token(ARRAYASSIGN);
635 buff.append("=>").append(expr);
641 {if (true) return buff.toString();}
642 throw new Error("Missing return statement in function");
645 static final public String ArrayInitializer() throws ParseException {
647 final StringBuffer buff = new StringBuffer("(");
648 jj_consume_token(LPAREN);
649 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
656 case INTEGER_LITERAL:
657 case FLOATING_POINT_LITERAL:
670 expr = ArrayVariable();
679 jj_consume_token(COMMA);
680 expr = ArrayVariable();
681 buff.append(",").append(expr);
688 jj_consume_token(RPAREN);
690 {if (true) return buff.toString();}
691 throw new Error("Missing return statement in function");
694 static final public void MethodDeclaration() throws ParseException {
695 PHPFunctionDeclaration functionDeclaration;
696 jj_consume_token(FUNCTION);
697 functionDeclaration = MethodDeclarator();
698 if (currentSegment != null) {
699 currentSegment.add(functionDeclaration);
700 currentSegment = functionDeclaration;
703 if (currentSegment != null) {
704 currentSegment = (PHPSegmentWithChildren) currentSegment.getParent();
708 static final public PHPFunctionDeclaration MethodDeclarator() throws ParseException {
710 StringBuffer methodDeclaration = new StringBuffer();
711 String formalParameters;
712 final int pos = jj_input_stream.bufpos;
713 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
715 jj_consume_token(BIT_AND);
716 methodDeclaration.append("&");
722 identifier = jj_consume_token(IDENTIFIER);
723 methodDeclaration.append(identifier);
724 formalParameters = FormalParameters();
725 methodDeclaration.append(formalParameters);
726 {if (true) return new PHPFunctionDeclaration(currentSegment,methodDeclaration.toString(),pos);}
727 throw new Error("Missing return statement in function");
730 static final public String FormalParameters() throws ParseException {
732 final StringBuffer buff = new StringBuffer("(");
734 jj_consume_token(LPAREN);
735 } catch (ParseException e) {
736 errorMessage = "Formal parameter expected after function identifier";
738 jj_consume_token(token.kind);
740 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
744 expr = FormalParameter();
748 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
756 jj_consume_token(COMMA);
757 expr = FormalParameter();
758 buff.append(",").append(expr);
766 jj_consume_token(RPAREN);
767 } catch (ParseException e) {
768 errorMessage = "')' expected";
773 {if (true) return buff.toString();}
774 throw new Error("Missing return statement in function");
777 static final public String FormalParameter() throws ParseException {
778 PHPVarDeclaration variableDeclaration;
779 final StringBuffer buff = new StringBuffer();
780 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
782 jj_consume_token(BIT_AND);
789 variableDeclaration = VariableDeclarator();
790 buff.append(variableDeclaration.toString());
791 {if (true) return buff.toString();}
792 throw new Error("Missing return statement in function");
795 static final public String Type() throws ParseException {
796 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
798 jj_consume_token(STRING);
799 {if (true) return "string";}
802 jj_consume_token(BOOL);
803 {if (true) return "bool";}
806 jj_consume_token(BOOLEAN);
807 {if (true) return "boolean";}
810 jj_consume_token(REAL);
811 {if (true) return "real";}
814 jj_consume_token(DOUBLE);
815 {if (true) return "double";}
818 jj_consume_token(FLOAT);
819 {if (true) return "float";}
822 jj_consume_token(INT);
823 {if (true) return "int";}
826 jj_consume_token(INTEGER);
827 {if (true) return "integer";}
830 jj_consume_token(OBJECT);
831 {if (true) return "object";}
835 jj_consume_token(-1);
836 throw new ParseException();
838 throw new Error("Missing return statement in function");
841 static final public String Expression() throws ParseException {
843 String assignOperator = null;
845 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
847 expr = PrintExpression();
848 {if (true) return expr;}
855 case INTEGER_LITERAL:
856 case FLOATING_POINT_LITERAL:
869 expr = ConditionalExpression();
870 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
882 case RSIGNEDSHIFTASSIGN:
884 assignOperator = AssignmentOperator();
886 expr2 = Expression();
887 } catch (ParseException e) {
888 errorMessage = "expression expected";
898 {if (true) return expr;}
900 {if (true) return expr + assignOperator + expr2;}
905 jj_consume_token(-1);
906 throw new ParseException();
908 throw new Error("Missing return statement in function");
911 static final public String AssignmentOperator() throws ParseException {
912 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
914 jj_consume_token(ASSIGN);
915 {if (true) return "=";}
918 jj_consume_token(STARASSIGN);
919 {if (true) return "*=";}
922 jj_consume_token(SLASHASSIGN);
923 {if (true) return "/=";}
926 jj_consume_token(REMASSIGN);
927 {if (true) return "%=";}
930 jj_consume_token(PLUSASSIGN);
931 {if (true) return "+=";}
934 jj_consume_token(MINUSASSIGN);
935 {if (true) return "-=";}
938 jj_consume_token(LSHIFTASSIGN);
939 {if (true) return "<<=";}
941 case RSIGNEDSHIFTASSIGN:
942 jj_consume_token(RSIGNEDSHIFTASSIGN);
943 {if (true) return ">>=";}
946 jj_consume_token(ANDASSIGN);
947 {if (true) return "&=";}
950 jj_consume_token(XORASSIGN);
951 {if (true) return "|=";}
954 jj_consume_token(ORASSIGN);
955 {if (true) return "|=";}
958 jj_consume_token(DOTASSIGN);
959 {if (true) return ".=";}
962 jj_consume_token(TILDEEQUAL);
963 {if (true) return "~=";}
967 jj_consume_token(-1);
968 throw new ParseException();
970 throw new Error("Missing return statement in function");
973 static final public String ConditionalExpression() throws ParseException {
977 expr = ConditionalOrExpression();
978 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
980 jj_consume_token(HOOK);
981 expr2 = Expression();
982 jj_consume_token(COLON);
983 expr3 = ConditionalExpression();
990 {if (true) return expr;}
992 {if (true) return expr + "?" + expr2 + ":" + expr3;}
994 throw new Error("Missing return statement in function");
997 static final public String ConditionalOrExpression() throws ParseException {
1000 String expr2 = null;
1001 final StringBuffer buff = new StringBuffer();
1002 expr = ConditionalAndExpression();
1006 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1012 jj_la1[26] = jj_gen;
1015 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1017 operator = jj_consume_token(SC_OR);
1020 operator = jj_consume_token(_ORL);
1023 jj_la1[27] = jj_gen;
1024 jj_consume_token(-1);
1025 throw new ParseException();
1027 expr2 = ConditionalAndExpression();
1028 buff.append(operator.image);
1031 {if (true) return buff.toString();}
1032 throw new Error("Missing return statement in function");
1035 static final public String ConditionalAndExpression() throws ParseException {
1038 String expr2 = null;
1039 final StringBuffer buff = new StringBuffer();
1040 expr = ConcatExpression();
1044 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1050 jj_la1[28] = jj_gen;
1053 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1055 operator = jj_consume_token(SC_AND);
1058 operator = jj_consume_token(_ANDL);
1061 jj_la1[29] = jj_gen;
1062 jj_consume_token(-1);
1063 throw new ParseException();
1065 expr2 = ConcatExpression();
1066 buff.append(operator.image);
1069 {if (true) return buff.toString();}
1070 throw new Error("Missing return statement in function");
1073 static final public String ConcatExpression() throws ParseException {
1075 String expr2 = null;
1076 final StringBuffer buff = new StringBuffer();
1077 expr = InclusiveOrExpression();
1081 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1086 jj_la1[30] = jj_gen;
1089 jj_consume_token(DOT);
1090 expr2 = InclusiveOrExpression();
1094 {if (true) return buff.toString();}
1095 throw new Error("Missing return statement in function");
1098 static final public String InclusiveOrExpression() throws ParseException {
1100 String expr2 = null;
1101 final StringBuffer buff = new StringBuffer();
1102 expr = ExclusiveOrExpression();
1106 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1111 jj_la1[31] = jj_gen;
1114 jj_consume_token(BIT_OR);
1115 expr2 = ExclusiveOrExpression();
1119 {if (true) return buff.toString();}
1120 throw new Error("Missing return statement in function");
1123 static final public String ExclusiveOrExpression() throws ParseException {
1125 String expr2 = null;
1126 final StringBuffer buff = new StringBuffer();
1127 expr = AndExpression();
1131 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1136 jj_la1[32] = jj_gen;
1139 jj_consume_token(XOR);
1140 expr2 = AndExpression();
1144 {if (true) return buff.toString();}
1145 throw new Error("Missing return statement in function");
1148 static final public String AndExpression() throws ParseException {
1150 String expr2 = null;
1151 final StringBuffer buff = new StringBuffer();
1152 expr = EqualityExpression();
1156 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1161 jj_la1[33] = jj_gen;
1164 jj_consume_token(BIT_AND);
1165 expr2 = EqualityExpression();
1169 {if (true) return buff.toString();}
1170 throw new Error("Missing return statement in function");
1173 static final public String EqualityExpression() throws ParseException {
1177 final StringBuffer buff = new StringBuffer();
1178 expr = RelationalExpression();
1182 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1186 case BANGDOUBLEEQUAL:
1191 jj_la1[34] = jj_gen;
1194 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1196 operator = jj_consume_token(EQ);
1199 operator = jj_consume_token(DIF);
1202 operator = jj_consume_token(NE);
1204 case BANGDOUBLEEQUAL:
1205 operator = jj_consume_token(BANGDOUBLEEQUAL);
1208 operator = jj_consume_token(TRIPLEEQUAL);
1211 jj_la1[35] = jj_gen;
1212 jj_consume_token(-1);
1213 throw new ParseException();
1215 expr2 = RelationalExpression();
1216 buff.append(operator.image);
1219 {if (true) return buff.toString();}
1220 throw new Error("Missing return statement in function");
1223 static final public String RelationalExpression() throws ParseException {
1227 final StringBuffer buff = new StringBuffer();
1228 expr = ShiftExpression();
1232 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1240 jj_la1[36] = jj_gen;
1243 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1245 operator = jj_consume_token(LT);
1248 operator = jj_consume_token(GT);
1251 operator = jj_consume_token(LE);
1254 operator = jj_consume_token(GE);
1257 jj_la1[37] = jj_gen;
1258 jj_consume_token(-1);
1259 throw new ParseException();
1261 expr2 = ShiftExpression();
1262 buff.append(operator.image);
1265 {if (true) return buff.toString();}
1266 throw new Error("Missing return statement in function");
1269 static final public String ShiftExpression() throws ParseException {
1272 final StringBuffer buff = new StringBuffer();
1273 expr = AdditiveExpression();
1277 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1280 case RUNSIGNEDSHIFT:
1284 jj_la1[38] = jj_gen;
1287 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1289 operator = jj_consume_token(LSHIFT);
1292 operator = jj_consume_token(RSIGNEDSHIFT);
1294 case RUNSIGNEDSHIFT:
1295 operator = jj_consume_token(RUNSIGNEDSHIFT);
1298 jj_la1[39] = jj_gen;
1299 jj_consume_token(-1);
1300 throw new ParseException();
1302 expr = AdditiveExpression();
1303 buff.append(operator.image);
1306 {if (true) return buff.toString();}
1307 throw new Error("Missing return statement in function");
1310 static final public String AdditiveExpression() throws ParseException {
1313 final StringBuffer buff = new StringBuffer();
1314 expr = MultiplicativeExpression();
1318 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1324 jj_la1[40] = jj_gen;
1327 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1329 operator = jj_consume_token(PLUS);
1332 operator = jj_consume_token(MINUS);
1335 jj_la1[41] = jj_gen;
1336 jj_consume_token(-1);
1337 throw new ParseException();
1339 expr = MultiplicativeExpression();
1340 buff.append(operator.image);
1343 {if (true) return buff.toString();}
1344 throw new Error("Missing return statement in function");
1347 static final public String MultiplicativeExpression() throws ParseException {
1350 final StringBuffer buff = new StringBuffer();
1351 expr = UnaryExpression();
1355 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1362 jj_la1[42] = jj_gen;
1365 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1367 operator = jj_consume_token(STAR);
1370 operator = jj_consume_token(SLASH);
1373 operator = jj_consume_token(REM);
1376 jj_la1[43] = jj_gen;
1377 jj_consume_token(-1);
1378 throw new ParseException();
1380 expr = UnaryExpression();
1381 buff.append(operator.image);
1384 {if (true) return buff.toString();}
1385 throw new Error("Missing return statement in function");
1389 * An unary expression starting with @, & or nothing
1391 static final public String UnaryExpression() throws ParseException {
1394 final StringBuffer buff = new StringBuffer();
1395 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1397 token = jj_consume_token(BIT_AND);
1398 expr = UnaryExpressionNoPrefix();
1399 if (token == null) {
1400 {if (true) return expr;}
1402 {if (true) return token.image + expr;}
1409 case INTEGER_LITERAL:
1410 case FLOATING_POINT_LITERAL:
1411 case STRING_LITERAL:
1424 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1429 jj_la1[44] = jj_gen;
1432 jj_consume_token(AT);
1435 expr = UnaryExpressionNoPrefix();
1436 {if (true) return buff.append(expr).toString();}
1439 jj_la1[45] = jj_gen;
1440 jj_consume_token(-1);
1441 throw new ParseException();
1443 throw new Error("Missing return statement in function");
1446 static final public String UnaryExpressionNoPrefix() throws ParseException {
1449 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1452 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1454 token = jj_consume_token(PLUS);
1457 token = jj_consume_token(MINUS);
1460 jj_la1[46] = jj_gen;
1461 jj_consume_token(-1);
1462 throw new ParseException();
1464 expr = UnaryExpression();
1465 {if (true) return token.image + expr;}
1468 expr = PreIncrementExpression();
1469 {if (true) return expr;}
1472 expr = PreDecrementExpression();
1473 {if (true) return expr;}
1480 case INTEGER_LITERAL:
1481 case FLOATING_POINT_LITERAL:
1482 case STRING_LITERAL:
1488 expr = UnaryExpressionNotPlusMinus();
1489 {if (true) return expr;}
1492 jj_la1[47] = jj_gen;
1493 jj_consume_token(-1);
1494 throw new ParseException();
1496 throw new Error("Missing return statement in function");
1499 static final public String PreIncrementExpression() throws ParseException {
1501 jj_consume_token(INCR);
1502 expr = PrimaryExpression();
1503 {if (true) return "++"+expr;}
1504 throw new Error("Missing return statement in function");
1507 static final public String PreDecrementExpression() throws ParseException {
1509 jj_consume_token(DECR);
1510 expr = PrimaryExpression();
1511 {if (true) return "--"+expr;}
1512 throw new Error("Missing return statement in function");
1515 static final public String UnaryExpressionNotPlusMinus() throws ParseException {
1517 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1519 jj_consume_token(BANG);
1520 expr = UnaryExpression();
1521 {if (true) return "!" + expr;}
1524 jj_la1[48] = jj_gen;
1525 if (jj_2_3(2147483647)) {
1526 expr = CastExpression();
1527 {if (true) return expr;}
1529 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1535 expr = PostfixExpression();
1536 {if (true) return expr;}
1541 case INTEGER_LITERAL:
1542 case FLOATING_POINT_LITERAL:
1543 case STRING_LITERAL:
1545 {if (true) return expr;}
1548 jj_consume_token(LPAREN);
1549 expr = Expression();
1550 jj_consume_token(RPAREN);
1551 {if (true) return "("+expr+")";}
1554 jj_la1[49] = jj_gen;
1555 jj_consume_token(-1);
1556 throw new ParseException();
1560 throw new Error("Missing return statement in function");
1563 static final public String CastExpression() throws ParseException {
1564 final String type, expr;
1565 jj_consume_token(LPAREN);
1567 jj_consume_token(RPAREN);
1568 expr = UnaryExpression();
1569 {if (true) return "(" + type + ")" + expr;}
1570 throw new Error("Missing return statement in function");
1573 static final public String PostfixExpression() throws ParseException {
1575 Token operator = null;
1576 expr = PrimaryExpression();
1577 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1580 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1582 operator = jj_consume_token(INCR);
1585 operator = jj_consume_token(DECR);
1588 jj_la1[50] = jj_gen;
1589 jj_consume_token(-1);
1590 throw new ParseException();
1594 jj_la1[51] = jj_gen;
1597 if (operator == null) {
1598 {if (true) return expr;}
1600 {if (true) return expr + operator.image;}
1601 throw new Error("Missing return statement in function");
1604 static final public String PrimaryExpression() throws ParseException {
1607 final StringBuffer buff = new StringBuffer();
1609 identifier = jj_consume_token(IDENTIFIER);
1610 jj_consume_token(STATICCLASSACCESS);
1611 expr = ClassIdentifier();
1612 buff.append(identifier.image).append("::").append(expr);
1615 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1622 jj_la1[52] = jj_gen;
1625 expr = PrimarySuffix();
1628 {if (true) return buff.toString();}
1630 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1635 expr = PrimaryPrefix();
1639 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1646 jj_la1[53] = jj_gen;
1649 expr = PrimarySuffix();
1652 {if (true) return buff.toString();}
1655 expr = ArrayDeclarator();
1656 {if (true) return "array" + expr;}
1659 jj_la1[54] = jj_gen;
1660 jj_consume_token(-1);
1661 throw new ParseException();
1664 throw new Error("Missing return statement in function");
1667 static final public String ArrayDeclarator() throws ParseException {
1669 jj_consume_token(ARRAY);
1670 expr = ArrayInitializer();
1671 {if (true) return "array" + expr;}
1672 throw new Error("Missing return statement in function");
1675 static final public String PrimaryPrefix() throws ParseException {
1678 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1680 token = jj_consume_token(IDENTIFIER);
1681 {if (true) return token.image;}
1684 jj_consume_token(NEW);
1685 expr = ClassIdentifier();
1686 {if (true) return "new " + expr;}
1690 expr = VariableDeclaratorId();
1691 {if (true) return expr;}
1694 jj_la1[55] = jj_gen;
1695 jj_consume_token(-1);
1696 throw new ParseException();
1698 throw new Error("Missing return statement in function");
1701 static final public String ClassIdentifier() throws ParseException {
1704 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1706 token = jj_consume_token(IDENTIFIER);
1707 {if (true) return token.image;}
1711 expr = VariableDeclaratorId();
1712 {if (true) return expr;}
1715 jj_la1[56] = jj_gen;
1716 jj_consume_token(-1);
1717 throw new ParseException();
1719 throw new Error("Missing return statement in function");
1722 static final public String PrimarySuffix() throws ParseException {
1724 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1727 {if (true) return expr;}
1731 expr = VariableSuffix();
1732 {if (true) return expr;}
1735 jj_la1[57] = jj_gen;
1736 jj_consume_token(-1);
1737 throw new ParseException();
1739 throw new Error("Missing return statement in function");
1742 static final public String VariableSuffix() throws ParseException {
1744 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1746 jj_consume_token(CLASSACCESS);
1747 expr = VariableName();
1748 {if (true) return "->" + expr;}
1751 jj_consume_token(LBRACKET);
1752 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1759 case INTEGER_LITERAL:
1760 case FLOATING_POINT_LITERAL:
1761 case STRING_LITERAL:
1773 expr = Expression();
1776 jj_la1[58] = jj_gen;
1780 jj_consume_token(RBRACKET);
1781 } catch (ParseException e) {
1782 errorMessage = "']' expected";
1784 {if (true) throw e;}
1787 {if (true) return "[]";}
1789 {if (true) return "[" + expr + "]";}
1792 jj_la1[59] = jj_gen;
1793 jj_consume_token(-1);
1794 throw new ParseException();
1796 throw new Error("Missing return statement in function");
1799 static final public String Literal() throws ParseException {
1802 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1803 case INTEGER_LITERAL:
1804 token = jj_consume_token(INTEGER_LITERAL);
1805 {if (true) return token.image;}
1807 case FLOATING_POINT_LITERAL:
1808 token = jj_consume_token(FLOATING_POINT_LITERAL);
1809 {if (true) return token.image;}
1811 case STRING_LITERAL:
1812 token = jj_consume_token(STRING_LITERAL);
1813 {if (true) return token.image;}
1817 expr = BooleanLiteral();
1818 {if (true) return expr;}
1821 expr = NullLiteral();
1822 {if (true) return expr;}
1825 jj_la1[60] = jj_gen;
1826 jj_consume_token(-1);
1827 throw new ParseException();
1829 throw new Error("Missing return statement in function");
1832 static final public String BooleanLiteral() throws ParseException {
1833 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1835 jj_consume_token(TRUE);
1836 {if (true) return "true";}
1839 jj_consume_token(FALSE);
1840 {if (true) return "false";}
1843 jj_la1[61] = jj_gen;
1844 jj_consume_token(-1);
1845 throw new ParseException();
1847 throw new Error("Missing return statement in function");
1850 static final public String NullLiteral() throws ParseException {
1851 jj_consume_token(NULL);
1852 {if (true) return "null";}
1853 throw new Error("Missing return statement in function");
1856 static final public String Arguments() throws ParseException {
1858 jj_consume_token(LPAREN);
1859 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1866 case INTEGER_LITERAL:
1867 case FLOATING_POINT_LITERAL:
1868 case STRING_LITERAL:
1880 expr = ArgumentList();
1883 jj_la1[62] = jj_gen;
1887 jj_consume_token(RPAREN);
1888 } catch (ParseException e) {
1889 errorMessage = "')' expected to close the argument list";
1891 {if (true) throw e;}
1894 {if (true) return "()";}
1896 {if (true) return "(" + expr + ")";}
1897 throw new Error("Missing return statement in function");
1900 static final public String ArgumentList() throws ParseException {
1902 final StringBuffer buff = new StringBuffer();
1903 expr = Expression();
1907 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1912 jj_la1[63] = jj_gen;
1915 jj_consume_token(COMMA);
1917 expr = Expression();
1918 } catch (ParseException e) {
1919 errorMessage = "expression expected after a comma in argument list";
1921 {if (true) throw e;}
1923 buff.append(",").append("expr");
1925 {if (true) return buff.toString();}
1926 throw new Error("Missing return statement in function");
1930 * Statement syntax follows.
1932 static final public void Statement() throws ParseException {
1936 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1938 jj_consume_token(SEMICOLON);
1941 jj_consume_token(135);
1944 jj_la1[64] = jj_gen;
1945 jj_consume_token(-1);
1946 throw new ParseException();
1948 } catch (ParseException e) {
1949 errorMessage = "';' expected";
1951 {if (true) throw e;}
1953 } else if (jj_2_6(2)) {
1956 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1970 StatementExpression();
1972 jj_consume_token(SEMICOLON);
1973 } catch (ParseException e) {
1974 errorMessage = "';' expected after expression";
1976 {if (true) throw e;}
2001 ContinueStatement();
2014 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2016 jj_consume_token(AT);
2019 jj_la1[65] = jj_gen;
2031 jj_la1[66] = jj_gen;
2032 jj_consume_token(-1);
2033 throw new ParseException();
2038 static final public void IncludeStatement() throws ParseException {
2040 final int pos = jj_input_stream.bufpos;
2041 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2043 jj_consume_token(REQUIRE);
2044 expr = Expression();
2045 if (currentSegment != null) {
2046 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "require",pos,expr));
2049 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2051 jj_consume_token(SEMICOLON);
2054 jj_consume_token(135);
2057 jj_la1[67] = jj_gen;
2058 jj_consume_token(-1);
2059 throw new ParseException();
2061 } catch (ParseException e) {
2062 errorMessage = "';' expected";
2064 {if (true) throw e;}
2068 jj_consume_token(REQUIRE_ONCE);
2069 expr = Expression();
2070 if (currentSegment != null) {
2071 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "require_once",pos,expr));
2074 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2076 jj_consume_token(SEMICOLON);
2079 jj_consume_token(135);
2082 jj_la1[68] = jj_gen;
2083 jj_consume_token(-1);
2084 throw new ParseException();
2086 } catch (ParseException e) {
2087 errorMessage = "';' expected";
2089 {if (true) throw e;}
2093 jj_consume_token(INCLUDE);
2094 expr = Expression();
2095 if (currentSegment != null) {
2096 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "include",pos,expr));
2099 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2101 jj_consume_token(SEMICOLON);
2104 jj_consume_token(135);
2107 jj_la1[69] = jj_gen;
2108 jj_consume_token(-1);
2109 throw new ParseException();
2111 } catch (ParseException e) {
2112 errorMessage = "';' expected";
2114 {if (true) throw e;}
2118 jj_consume_token(INCLUDE_ONCE);
2119 expr = Expression();
2120 if (currentSegment != null) {
2121 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "include_once",pos,expr));
2124 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2126 jj_consume_token(SEMICOLON);
2129 jj_consume_token(135);
2132 jj_la1[70] = jj_gen;
2133 jj_consume_token(-1);
2134 throw new ParseException();
2136 } catch (ParseException e) {
2137 errorMessage = "';' expected";
2139 {if (true) throw e;}
2143 jj_la1[71] = jj_gen;
2144 jj_consume_token(-1);
2145 throw new ParseException();
2149 static final public String PrintExpression() throws ParseException {
2150 final StringBuffer buff = new StringBuffer("print ");
2152 jj_consume_token(PRINT);
2153 expr = Expression();
2155 {if (true) return buff.toString();}
2156 throw new Error("Missing return statement in function");
2159 static final public void EchoStatement() throws ParseException {
2160 jj_consume_token(ECHO);
2164 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2169 jj_la1[72] = jj_gen;
2172 jj_consume_token(COMMA);
2176 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2178 jj_consume_token(SEMICOLON);
2181 jj_consume_token(135);
2184 jj_la1[73] = jj_gen;
2185 jj_consume_token(-1);
2186 throw new ParseException();
2188 } catch (ParseException e) {
2189 errorMessage = "';' expected after 'echo' statement";
2191 {if (true) throw e;}
2195 static final public void GlobalStatement() throws ParseException {
2196 jj_consume_token(GLOBAL);
2197 VariableDeclaratorId();
2200 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2205 jj_la1[74] = jj_gen;
2208 jj_consume_token(COMMA);
2209 VariableDeclaratorId();
2212 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2214 jj_consume_token(SEMICOLON);
2217 jj_consume_token(135);
2220 jj_la1[75] = jj_gen;
2221 jj_consume_token(-1);
2222 throw new ParseException();
2224 } catch (ParseException e) {
2225 errorMessage = "';' expected";
2227 {if (true) throw e;}
2231 static final public void StaticStatement() throws ParseException {
2232 jj_consume_token(STATIC);
2233 VariableDeclarator();
2236 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2241 jj_la1[76] = jj_gen;
2244 jj_consume_token(COMMA);
2245 VariableDeclarator();
2248 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2250 jj_consume_token(SEMICOLON);
2253 jj_consume_token(135);
2256 jj_la1[77] = jj_gen;
2257 jj_consume_token(-1);
2258 throw new ParseException();
2260 } catch (ParseException e) {
2261 errorMessage = "';' expected";
2263 {if (true) throw e;}
2267 static final public void LabeledStatement() throws ParseException {
2268 jj_consume_token(IDENTIFIER);
2269 jj_consume_token(COLON);
2273 static final public void Block() throws ParseException {
2275 jj_consume_token(LBRACE);
2276 } catch (ParseException e) {
2277 errorMessage = "'{' expected";
2279 {if (true) throw e;}
2283 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2308 case INTEGER_LITERAL:
2309 case FLOATING_POINT_LITERAL:
2310 case STRING_LITERAL:
2327 jj_la1[78] = jj_gen;
2332 jj_consume_token(RBRACE);
2335 static final public void BlockStatement() throws ParseException {
2336 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2359 case INTEGER_LITERAL:
2360 case FLOATING_POINT_LITERAL:
2361 case STRING_LITERAL:
2381 MethodDeclaration();
2384 jj_la1[79] = jj_gen;
2385 jj_consume_token(-1);
2386 throw new ParseException();
2390 static final public void LocalVariableDeclaration() throws ParseException {
2391 VariableDeclarator();
2394 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2399 jj_la1[80] = jj_gen;
2402 jj_consume_token(COMMA);
2403 VariableDeclarator();
2407 static final public void EmptyStatement() throws ParseException {
2408 jj_consume_token(SEMICOLON);
2411 static final public void StatementExpression() throws ParseException {
2412 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2414 PreIncrementExpression();
2417 PreDecrementExpression();
2424 PrimaryExpression();
2425 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2439 case RSIGNEDSHIFTASSIGN:
2441 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2443 jj_consume_token(INCR);
2446 jj_consume_token(DECR);
2459 case RSIGNEDSHIFTASSIGN:
2461 AssignmentOperator();
2465 jj_la1[81] = jj_gen;
2466 jj_consume_token(-1);
2467 throw new ParseException();
2471 jj_la1[82] = jj_gen;
2476 jj_la1[83] = jj_gen;
2477 jj_consume_token(-1);
2478 throw new ParseException();
2482 static final public void SwitchStatement() throws ParseException {
2483 jj_consume_token(SWITCH);
2484 jj_consume_token(LPAREN);
2486 jj_consume_token(RPAREN);
2487 jj_consume_token(LBRACE);
2490 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2496 jj_la1[84] = jj_gen;
2502 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2527 case INTEGER_LITERAL:
2528 case FLOATING_POINT_LITERAL:
2529 case STRING_LITERAL:
2546 jj_la1[85] = jj_gen;
2552 jj_consume_token(RBRACE);
2555 static final public void SwitchLabel() throws ParseException {
2556 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2558 jj_consume_token(CASE);
2560 jj_consume_token(COLON);
2563 jj_consume_token(_DEFAULT);
2564 jj_consume_token(COLON);
2567 jj_la1[86] = jj_gen;
2568 jj_consume_token(-1);
2569 throw new ParseException();
2573 static final public void IfStatement() throws ParseException {
2575 final int pos = jj_input_stream.bufpos;
2576 token = jj_consume_token(IF);
2578 IfStatement0(pos,pos+token.image.length());
2581 static final public void Condition(String keyword) throws ParseException {
2583 jj_consume_token(LPAREN);
2584 } catch (ParseException e) {
2585 errorMessage = "'(' expected after " + keyword + " keyword";
2587 {if (true) throw e;}
2591 jj_consume_token(RPAREN);
2592 } catch (ParseException e) {
2593 errorMessage = "')' expected after " + keyword + " keyword";
2595 {if (true) throw e;}
2599 static final public void IfStatement0(int start,int end) throws ParseException {
2600 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2602 jj_consume_token(COLON);
2605 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2628 case INTEGER_LITERAL:
2629 case FLOATING_POINT_LITERAL:
2630 case STRING_LITERAL:
2647 jj_la1[87] = jj_gen;
2654 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2659 jj_la1[88] = jj_gen;
2662 ElseIfStatementColon();
2664 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2666 ElseStatementColon();
2669 jj_la1[89] = jj_gen;
2673 setMarker(fileToParse,
2674 "Ugly syntax detected, you should if () {...} instead of if (): ... endif;",
2678 "Line " + token.beginLine);
2679 } catch (CoreException e) {
2680 PHPeclipsePlugin.log(e);
2683 jj_consume_token(ENDIF);
2684 } catch (ParseException e) {
2685 errorMessage = "'endif' expected";
2687 {if (true) throw e;}
2690 jj_consume_token(SEMICOLON);
2691 } catch (ParseException e) {
2692 errorMessage = "';' expected 'endif' keyword";
2694 {if (true) throw e;}
2719 case INTEGER_LITERAL:
2720 case FLOATING_POINT_LITERAL:
2721 case STRING_LITERAL:
2738 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2743 jj_la1[90] = jj_gen;
2748 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2750 jj_consume_token(ELSE);
2754 jj_la1[91] = jj_gen;
2759 jj_la1[92] = jj_gen;
2760 jj_consume_token(-1);
2761 throw new ParseException();
2765 static final public void ElseIfStatementColon() throws ParseException {
2766 jj_consume_token(ELSEIF);
2767 Condition("elseif");
2768 jj_consume_token(COLON);
2771 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2794 case INTEGER_LITERAL:
2795 case FLOATING_POINT_LITERAL:
2796 case STRING_LITERAL:
2813 jj_la1[93] = jj_gen;
2820 static final public void ElseStatementColon() throws ParseException {
2821 jj_consume_token(ELSE);
2822 jj_consume_token(COLON);
2825 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2848 case INTEGER_LITERAL:
2849 case FLOATING_POINT_LITERAL:
2850 case STRING_LITERAL:
2867 jj_la1[94] = jj_gen;
2874 static final public void ElseIfStatement() throws ParseException {
2875 jj_consume_token(ELSEIF);
2876 Condition("elseif");
2880 static final public void WhileStatement() throws ParseException {
2882 final int pos = jj_input_stream.bufpos;
2883 token = jj_consume_token(WHILE);
2885 WhileStatement0(pos,pos + token.image.length());
2888 static final public void WhileStatement0(final int start, final int end) throws ParseException {
2889 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2891 jj_consume_token(COLON);
2894 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2917 case INTEGER_LITERAL:
2918 case FLOATING_POINT_LITERAL:
2919 case STRING_LITERAL:
2936 jj_la1[95] = jj_gen;
2942 setMarker(fileToParse,
2943 "Ugly syntax detected, you should while () {...} instead of while (): ... endwhile;",
2947 "Line " + token.beginLine);
2948 } catch (CoreException e) {
2949 PHPeclipsePlugin.log(e);
2952 jj_consume_token(ENDWHILE);
2953 } catch (ParseException e) {
2954 errorMessage = "'endwhile' expected";
2956 {if (true) throw e;}
2959 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2961 jj_consume_token(SEMICOLON);
2964 jj_consume_token(135);
2967 jj_la1[96] = jj_gen;
2968 jj_consume_token(-1);
2969 throw new ParseException();
2971 } catch (ParseException e) {
2972 errorMessage = "';' expected after 'endwhile' keyword";
2974 {if (true) throw e;}
2999 case INTEGER_LITERAL:
3000 case FLOATING_POINT_LITERAL:
3001 case STRING_LITERAL:
3018 jj_la1[97] = jj_gen;
3019 jj_consume_token(-1);
3020 throw new ParseException();
3024 static final public void DoStatement() throws ParseException {
3025 jj_consume_token(DO);
3027 jj_consume_token(WHILE);
3030 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3032 jj_consume_token(SEMICOLON);
3035 jj_consume_token(135);
3038 jj_la1[98] = jj_gen;
3039 jj_consume_token(-1);
3040 throw new ParseException();
3042 } catch (ParseException e) {
3043 errorMessage = "';' expected";
3045 {if (true) throw e;}
3049 static final public void ForeachStatement() throws ParseException {
3050 jj_consume_token(FOREACH);
3052 jj_consume_token(LPAREN);
3053 } catch (ParseException e) {
3054 errorMessage = "'(' expected after 'foreach' keyword";
3056 {if (true) throw e;}
3060 } catch (ParseException e) {
3061 errorMessage = "variable expected";
3063 {if (true) throw e;}
3066 jj_consume_token(AS);
3067 } catch (ParseException e) {
3068 errorMessage = "'as' expected";
3070 {if (true) throw e;}
3074 } catch (ParseException e) {
3075 errorMessage = "variable expected";
3077 {if (true) throw e;}
3079 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3081 jj_consume_token(ARRAYASSIGN);
3085 jj_la1[99] = jj_gen;
3089 jj_consume_token(RPAREN);
3090 } catch (ParseException e) {
3091 errorMessage = "')' expected after 'foreach' keyword";
3093 {if (true) throw e;}
3097 } catch (ParseException e) {
3098 if (errorMessage != null) {if (true) throw e;}
3099 errorMessage = "statement expected";
3101 {if (true) throw e;}
3105 static final public void ForStatement() throws ParseException {
3107 final int pos = jj_input_stream.bufpos;
3108 token = jj_consume_token(FOR);
3110 jj_consume_token(LPAREN);
3111 } catch (ParseException e) {
3112 errorMessage = "'(' expected after 'for' keyword";
3114 {if (true) throw e;}
3116 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3127 jj_la1[100] = jj_gen;
3130 jj_consume_token(SEMICOLON);
3131 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3138 case INTEGER_LITERAL:
3139 case FLOATING_POINT_LITERAL:
3140 case STRING_LITERAL:
3155 jj_la1[101] = jj_gen;
3158 jj_consume_token(SEMICOLON);
3159 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3170 jj_la1[102] = jj_gen;
3173 jj_consume_token(RPAREN);
3174 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3197 case INTEGER_LITERAL:
3198 case FLOATING_POINT_LITERAL:
3199 case STRING_LITERAL:
3216 jj_consume_token(COLON);
3219 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3242 case INTEGER_LITERAL:
3243 case FLOATING_POINT_LITERAL:
3244 case STRING_LITERAL:
3261 jj_la1[103] = jj_gen;
3267 setMarker(fileToParse,
3268 "Ugly syntax detected, you should for () {...} instead of for (): ... endfor;",
3270 pos+token.image.length(),
3272 "Line " + token.beginLine);
3273 } catch (CoreException e) {
3274 PHPeclipsePlugin.log(e);
3277 jj_consume_token(ENDFOR);
3278 } catch (ParseException e) {
3279 errorMessage = "'endfor' expected";
3281 {if (true) throw e;}
3284 jj_consume_token(SEMICOLON);
3285 } catch (ParseException e) {
3286 errorMessage = "';' expected 'endfor' keyword";
3288 {if (true) throw e;}
3292 jj_la1[104] = jj_gen;
3293 jj_consume_token(-1);
3294 throw new ParseException();
3298 static final public void ForInit() throws ParseException {
3299 if (jj_2_7(2147483647)) {
3300 LocalVariableDeclaration();
3302 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3310 StatementExpressionList();
3313 jj_la1[105] = jj_gen;
3314 jj_consume_token(-1);
3315 throw new ParseException();
3320 static final public void StatementExpressionList() throws ParseException {
3321 StatementExpression();
3324 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3329 jj_la1[106] = jj_gen;
3332 jj_consume_token(COMMA);
3333 StatementExpression();
3337 static final public void ForUpdate() throws ParseException {
3338 StatementExpressionList();
3341 static final public void BreakStatement() throws ParseException {
3342 jj_consume_token(BREAK);
3343 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3345 jj_consume_token(IDENTIFIER);
3348 jj_la1[107] = jj_gen;
3351 jj_consume_token(SEMICOLON);
3354 static final public void ContinueStatement() throws ParseException {
3355 jj_consume_token(CONTINUE);
3356 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3358 jj_consume_token(IDENTIFIER);
3361 jj_la1[108] = jj_gen;
3364 jj_consume_token(SEMICOLON);
3367 static final public void ReturnStatement() throws ParseException {
3368 jj_consume_token(RETURN);
3369 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3376 case INTEGER_LITERAL:
3377 case FLOATING_POINT_LITERAL:
3378 case STRING_LITERAL:
3393 jj_la1[109] = jj_gen;
3396 jj_consume_token(SEMICOLON);
3399 static final private boolean jj_2_1(int xla) {
3400 jj_la = xla; jj_lastpos = jj_scanpos = token;
3401 boolean retval = !jj_3_1();
3406 static final private boolean jj_2_2(int xla) {
3407 jj_la = xla; jj_lastpos = jj_scanpos = token;
3408 boolean retval = !jj_3_2();
3413 static final private boolean jj_2_3(int xla) {
3414 jj_la = xla; jj_lastpos = jj_scanpos = token;
3415 boolean retval = !jj_3_3();
3420 static final private boolean jj_2_4(int xla) {
3421 jj_la = xla; jj_lastpos = jj_scanpos = token;
3422 boolean retval = !jj_3_4();
3427 static final private boolean jj_2_5(int xla) {
3428 jj_la = xla; jj_lastpos = jj_scanpos = token;
3429 boolean retval = !jj_3_5();
3434 static final private boolean jj_2_6(int xla) {
3435 jj_la = xla; jj_lastpos = jj_scanpos = token;
3436 boolean retval = !jj_3_6();
3441 static final private boolean jj_2_7(int xla) {
3442 jj_la = xla; jj_lastpos = jj_scanpos = token;
3443 boolean retval = !jj_3_7();
3448 static final private boolean jj_3R_97() {
3449 if (jj_3R_109()) return true;
3450 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3454 static final private boolean jj_3R_135() {
3465 if (jj_3R_142()) return true;
3466 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3467 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3468 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3469 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3470 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3471 if (jj_3R_134()) return true;
3472 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3476 static final private boolean jj_3R_96() {
3477 if (jj_scan_token(PLUS)) return true;
3478 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3483 if (jj_3R_108()) return true;
3484 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3485 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3489 static final private boolean jj_3R_123() {
3490 if (jj_3R_61()) return true;
3491 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3495 static final private boolean jj_3R_131() {
3496 if (jj_3R_134()) return true;
3497 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3501 if (jj_3R_135()) { jj_scanpos = xsp; break; }
3502 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3507 static final private boolean jj_3R_95() {
3508 if (jj_scan_token(MINUS)) return true;
3509 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3514 if (jj_3R_106()) return true;
3515 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3516 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3520 static final private boolean jj_3R_94() {
3521 if (jj_3R_104()) return true;
3522 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3526 static final private boolean jj_3R_76() {
3537 if (jj_3R_98()) return true;
3538 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3539 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3540 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3541 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3542 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3546 static final private boolean jj_3R_122() {
3547 if (jj_scan_token(LBRACE)) return true;
3548 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3549 if (jj_3R_41()) return true;
3550 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3551 if (jj_scan_token(RBRACE)) return true;
3552 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3556 static final private boolean jj_3R_202() {
3557 if (jj_scan_token(COMMA)) return true;
3558 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3559 if (jj_3R_41()) return true;
3560 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3564 static final private boolean jj_3R_201() {
3565 if (jj_3R_41()) return true;
3566 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3570 if (jj_3R_202()) { jj_scanpos = xsp; break; }
3571 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3576 static final private boolean jj_3R_132() {
3577 if (jj_scan_token(BIT_AND)) return true;
3578 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3579 if (jj_3R_131()) return true;
3580 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3584 static final private boolean jj_3R_71() {
3585 if (jj_scan_token(DOLLAR_ID)) return true;
3586 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3589 if (jj_3R_123()) jj_scanpos = xsp;
3590 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3594 static final private boolean jj_3R_70() {
3595 if (jj_scan_token(DOLLAR)) return true;
3596 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3597 if (jj_3R_61()) return true;
3598 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3602 static final private boolean jj_3R_127() {
3603 if (jj_3R_131()) return true;
3604 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3608 if (jj_3R_132()) { jj_scanpos = xsp; break; }
3609 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3614 static final private boolean jj_3R_200() {
3615 if (jj_3R_201()) return true;
3616 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3620 static final private boolean jj_3R_69() {
3621 if (jj_scan_token(IDENTIFIER)) return true;
3622 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3625 if (jj_3R_122()) jj_scanpos = xsp;
3626 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3630 static final private boolean jj_3R_103() {
3631 if (jj_scan_token(LBRACE)) return true;
3632 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3633 if (jj_3R_41()) return true;
3634 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3635 if (jj_scan_token(RBRACE)) return true;
3636 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3640 static final private boolean jj_3R_68() {
3641 if (jj_scan_token(LBRACE)) return true;
3642 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3643 if (jj_3R_41()) return true;
3644 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3645 if (jj_scan_token(RBRACE)) return true;
3646 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3650 static final private boolean jj_3R_61() {
3659 if (jj_3R_71()) return true;
3660 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3661 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3662 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3663 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3667 static final private boolean jj_3R_198() {
3668 if (jj_scan_token(LPAREN)) return true;
3669 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3672 if (jj_3R_200()) jj_scanpos = xsp;
3673 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3674 if (jj_scan_token(RPAREN)) return true;
3675 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3679 static final private boolean jj_3R_128() {
3680 if (jj_scan_token(XOR)) return true;
3681 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3682 if (jj_3R_127()) return true;
3683 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3687 static final private boolean jj_3R_93() {
3688 if (jj_scan_token(DOLLAR)) return true;
3689 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3690 if (jj_3R_61()) return true;
3691 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3695 static final private boolean jj_3R_125() {
3696 if (jj_scan_token(NULL)) return true;
3697 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3701 static final private boolean jj_3R_120() {
3702 if (jj_3R_127()) return true;
3703 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3707 if (jj_3R_128()) { jj_scanpos = xsp; break; }
3708 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3713 static final private boolean jj_3R_92() {
3714 if (jj_scan_token(DOLLAR_ID)) return true;
3715 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3718 if (jj_3R_103()) jj_scanpos = xsp;
3719 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3723 static final private boolean jj_3R_75() {
3728 if (jj_3R_93()) return true;
3729 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3730 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3734 static final private boolean jj_3R_130() {
3735 if (jj_scan_token(FALSE)) return true;
3736 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3740 static final private boolean jj_3R_124() {
3745 if (jj_3R_130()) return true;
3746 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3747 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3751 static final private boolean jj_3R_129() {
3752 if (jj_scan_token(TRUE)) return true;
3753 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3757 static final private boolean jj_3R_118() {
3758 if (jj_3R_125()) return true;
3759 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3763 static final private boolean jj_3_1() {
3764 if (jj_3R_38()) return true;
3765 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3769 static final private boolean jj_3R_121() {
3770 if (jj_scan_token(BIT_OR)) return true;
3771 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3772 if (jj_3R_120()) return true;
3773 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3777 static final private boolean jj_3R_117() {
3778 if (jj_3R_124()) return true;
3779 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3783 static final private boolean jj_3R_116() {
3784 if (jj_scan_token(STRING_LITERAL)) return true;
3785 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3789 static final private boolean jj_3R_110() {
3790 if (jj_3R_120()) return true;
3791 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3795 if (jj_3R_121()) { jj_scanpos = xsp; break; }
3796 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3801 static final private boolean jj_3R_66() {
3802 if (jj_3R_75()) return true;
3803 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3807 if (jj_3_1()) { jj_scanpos = xsp; break; }
3808 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3813 static final private boolean jj_3R_115() {
3814 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
3815 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3819 static final private boolean jj_3R_104() {
3830 if (jj_3R_118()) return true;
3831 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3832 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3833 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3834 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3835 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3839 static final private boolean jj_3R_114() {
3840 if (jj_scan_token(INTEGER_LITERAL)) return true;
3841 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3845 static final private boolean jj_3R_62() {
3846 if (jj_3R_41()) return true;
3847 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3851 static final private boolean jj_3R_111() {
3852 if (jj_scan_token(DOT)) return true;
3853 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3854 if (jj_3R_110()) return true;
3855 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3859 static final private boolean jj_3R_113() {
3860 if (jj_scan_token(_ANDL)) return true;
3861 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3865 static final private boolean jj_3R_67() {
3866 if (jj_scan_token(ASSIGN)) return true;
3867 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3868 if (jj_3R_76()) return true;
3869 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3873 static final private boolean jj_3R_99() {
3874 if (jj_3R_110()) return true;
3875 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3879 if (jj_3R_111()) { jj_scanpos = xsp; break; }
3880 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3885 static final private boolean jj_3R_59() {
3886 if (jj_3R_66()) return true;
3887 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3890 if (jj_3R_67()) jj_scanpos = xsp;
3891 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3895 static final private boolean jj_3R_47() {
3896 if (jj_scan_token(LBRACKET)) return true;
3897 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3900 if (jj_3R_62()) jj_scanpos = xsp;
3901 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3902 if (jj_scan_token(RBRACKET)) return true;
3903 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3907 static final private boolean jj_3R_46() {
3908 if (jj_scan_token(CLASSACCESS)) return true;
3909 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3910 if (jj_3R_61()) return true;
3911 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3915 static final private boolean jj_3R_38() {
3920 if (jj_3R_47()) return true;
3921 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3922 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3926 static final private boolean jj_3R_195() {
3927 if (jj_3R_38()) return true;
3928 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3932 static final private boolean jj_3R_112() {
3933 if (jj_scan_token(SC_AND)) return true;
3934 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3938 static final private boolean jj_3R_100() {
3943 if (jj_3R_113()) return true;
3944 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3945 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3946 if (jj_3R_99()) return true;
3947 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3951 static final private boolean jj_3R_102() {
3952 if (jj_scan_token(_ORL)) return true;
3953 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3957 static final private boolean jj_3R_194() {
3958 if (jj_3R_198()) return true;
3959 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3963 static final private boolean jj_3R_192() {
3968 if (jj_3R_195()) return true;
3969 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3970 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3974 static final private boolean jj_3R_77() {
3975 if (jj_3R_99()) return true;
3976 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3980 if (jj_3R_100()) { jj_scanpos = xsp; break; }
3981 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3986 static final private boolean jj_3R_197() {
3987 if (jj_3R_66()) return true;
3988 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3992 static final private boolean jj_3R_73() {
3993 if (jj_scan_token(HOOK)) return true;
3994 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3995 if (jj_3R_41()) return true;
3996 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3997 if (jj_scan_token(COLON)) return true;
3998 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3999 if (jj_3R_64()) return true;
4000 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4004 static final private boolean jj_3R_196() {
4005 if (jj_scan_token(IDENTIFIER)) return true;
4006 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4010 static final private boolean jj_3R_193() {
4015 if (jj_3R_197()) return true;
4016 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4017 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4021 static final private boolean jj_3R_101() {
4022 if (jj_scan_token(SC_OR)) return true;
4023 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4027 static final private boolean jj_3R_78() {
4032 if (jj_3R_102()) return true;
4033 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4034 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4035 if (jj_3R_77()) return true;
4036 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4040 static final private boolean jj_3R_188() {
4041 if (jj_3R_66()) return true;
4042 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4046 static final private boolean jj_3R_187() {
4047 if (jj_scan_token(NEW)) return true;
4048 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4049 if (jj_3R_193()) return true;
4050 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4054 static final private boolean jj_3R_72() {
4055 if (jj_3R_77()) return true;
4056 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4060 if (jj_3R_78()) { jj_scanpos = xsp; break; }
4061 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4066 static final private boolean jj_3R_190() {
4067 if (jj_scan_token(DECR)) return true;
4068 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4072 static final private boolean jj_3R_186() {
4073 if (jj_scan_token(IDENTIFIER)) return true;
4074 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4078 static final private boolean jj_3R_184() {
4085 if (jj_3R_188()) return true;
4086 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4087 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4088 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4092 static final private boolean jj_3R_60() {
4093 if (jj_scan_token(COMMA)) return true;
4094 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4095 if (jj_3R_59()) return true;
4096 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4100 static final private boolean jj_3R_109() {
4101 if (jj_scan_token(ARRAY)) return true;
4102 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4103 if (jj_3R_119()) return true;
4104 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4108 static final private boolean jj_3R_64() {
4109 if (jj_3R_72()) return true;
4110 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4113 if (jj_3R_73()) jj_scanpos = xsp;
4114 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4118 static final private boolean jj_3R_189() {
4119 if (jj_scan_token(INCR)) return true;
4120 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4124 static final private boolean jj_3R_185() {
4129 if (jj_3R_190()) return true;
4130 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4131 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4135 static final private boolean jj_3R_183() {
4136 if (jj_3R_109()) return true;
4137 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4141 static final private boolean jj_3R_191() {
4142 if (jj_3R_192()) return true;
4143 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4147 static final private boolean jj_3R_182() {
4148 if (jj_3R_184()) return true;
4149 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4153 if (jj_3R_191()) { jj_scanpos = xsp; break; }
4154 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4159 static final private boolean jj_3R_91() {
4160 if (jj_scan_token(TILDEEQUAL)) return true;
4161 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4165 static final private boolean jj_3R_45() {
4166 if (jj_3R_59()) return true;
4167 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4171 if (jj_3R_60()) { jj_scanpos = xsp; break; }
4172 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4177 static final private boolean jj_3R_199() {
4178 if (jj_3R_192()) return true;
4179 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4183 static final private boolean jj_3R_90() {
4184 if (jj_scan_token(DOTASSIGN)) return true;
4185 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4189 static final private boolean jj_3R_89() {
4190 if (jj_scan_token(ORASSIGN)) return true;
4191 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4195 static final private boolean jj_3R_179() {
4202 if (jj_3R_183()) return true;
4203 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4204 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4205 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4209 static final private boolean jj_3_4() {
4210 if (jj_scan_token(IDENTIFIER)) return true;
4211 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4212 if (jj_scan_token(STATICCLASSACCESS)) return true;
4213 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4214 if (jj_3R_193()) return true;
4215 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4219 if (jj_3R_199()) { jj_scanpos = xsp; break; }
4220 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4225 static final private boolean jj_3R_88() {
4226 if (jj_scan_token(XORASSIGN)) return true;
4227 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4231 static final private boolean jj_3R_87() {
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_86() {
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_85() {
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_84() {
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_83() {
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_82() {
4262 if (jj_scan_token(REMASSIGN)) return true;
4263 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4267 static final private boolean jj_3R_81() {
4268 if (jj_scan_token(SLASHASSIGN)) return true;
4269 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4273 static final private boolean jj_3R_181() {
4274 if (jj_3R_179()) return true;
4275 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4278 if (jj_3R_185()) jj_scanpos = xsp;
4279 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4283 static final private boolean jj_3R_80() {
4284 if (jj_scan_token(STARASSIGN)) return true;
4285 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4289 static final private boolean jj_3R_79() {
4290 if (jj_scan_token(ASSIGN)) return true;
4291 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4295 static final private boolean jj_3R_74() {
4322 if (jj_3R_91()) return true;
4323 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;
4334 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4335 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4339 static final private boolean jj_3R_44() {
4340 if (jj_scan_token(IDENTIFIER)) return true;
4341 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4342 if (jj_scan_token(COLON)) return true;
4343 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4347 static final private boolean jj_3R_180() {
4348 if (jj_scan_token(LPAREN)) return true;
4349 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4350 if (jj_3R_40()) return true;
4351 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4352 if (jj_scan_token(RPAREN)) return true;
4353 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4354 if (jj_3R_154()) return true;
4355 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4359 static final private boolean jj_3_3() {
4360 if (jj_scan_token(LPAREN)) return true;
4361 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4362 if (jj_3R_40()) return true;
4363 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4364 if (jj_scan_token(RPAREN)) return true;
4365 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4369 static final private boolean jj_3R_178() {
4370 if (jj_scan_token(LPAREN)) return true;
4371 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4372 if (jj_3R_41()) return true;
4373 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4374 if (jj_scan_token(RPAREN)) return true;
4375 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4379 static final private boolean jj_3R_177() {
4380 if (jj_3R_104()) return true;
4381 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4385 static final private boolean jj_3R_65() {
4386 if (jj_3R_74()) return true;
4387 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4388 if (jj_3R_41()) return true;
4389 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4393 static final private boolean jj_3R_176() {
4394 if (jj_3R_181()) return true;
4395 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4399 static final private boolean jj_3R_58() {
4400 if (jj_3R_64()) return true;
4401 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4404 if (jj_3R_65()) jj_scanpos = xsp;
4405 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4409 static final private boolean jj_3R_175() {
4410 if (jj_3R_180()) return true;
4411 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4415 static final private boolean jj_3R_41() {
4420 if (jj_3R_58()) return true;
4421 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4422 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4426 static final private boolean jj_3R_57() {
4427 if (jj_3R_63()) return true;
4428 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4432 static final private boolean jj_3R_174() {
4433 if (jj_scan_token(BANG)) return true;
4434 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4435 if (jj_3R_154()) return true;
4436 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4440 static final private boolean jj_3R_173() {
4451 if (jj_3R_178()) return true;
4452 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4453 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4454 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4455 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4456 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4460 static final private boolean jj_3R_56() {
4461 if (jj_scan_token(OBJECT)) return true;
4462 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4466 static final private boolean jj_3R_172() {
4467 if (jj_scan_token(DECR)) return true;
4468 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4469 if (jj_3R_179()) return true;
4470 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4474 static final private boolean jj_3R_55() {
4475 if (jj_scan_token(INTEGER)) return true;
4476 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4480 static final private boolean jj_3R_54() {
4481 if (jj_scan_token(INT)) return true;
4482 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4486 static final private boolean jj_3R_53() {
4487 if (jj_scan_token(FLOAT)) return true;
4488 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4492 static final private boolean jj_3R_171() {
4493 if (jj_scan_token(INCR)) return true;
4494 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4495 if (jj_3R_179()) return true;
4496 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4500 static final private boolean jj_3R_52() {
4501 if (jj_scan_token(DOUBLE)) return true;
4502 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4506 static final private boolean jj_3R_170() {
4507 if (jj_scan_token(MINUS)) return true;
4508 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4512 static final private boolean jj_3R_51() {
4513 if (jj_scan_token(REAL)) return true;
4514 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4518 static final private boolean jj_3R_50() {
4519 if (jj_scan_token(BOOLEAN)) return true;
4520 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4524 static final private boolean jj_3R_63() {
4525 if (jj_scan_token(PRINT)) return true;
4526 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4527 if (jj_3R_41()) return true;
4528 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4532 static final private boolean jj_3R_168() {
4533 if (jj_3R_173()) return true;
4534 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4538 static final private boolean jj_3R_49() {
4539 if (jj_scan_token(BOOL)) return true;
4540 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4544 static final private boolean jj_3R_167() {
4545 if (jj_3R_172()) return true;
4546 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4550 static final private boolean jj_3R_40() {
4569 if (jj_3R_56()) return true;
4570 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4571 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4572 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4573 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4574 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4575 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4576 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4577 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4578 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4582 static final private boolean jj_3R_48() {
4583 if (jj_scan_token(STRING)) return true;
4584 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4588 static final private boolean jj_3R_162() {
4589 if (jj_scan_token(REM)) return true;
4590 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4594 static final private boolean jj_3R_166() {
4595 if (jj_3R_171()) return true;
4596 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4600 static final private boolean jj_3R_169() {
4601 if (jj_scan_token(PLUS)) return true;
4602 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4606 static final private boolean jj_3_7() {
4607 if (jj_3R_45()) return true;
4608 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4612 static final private boolean jj_3R_163() {
4621 if (jj_3R_168()) return true;
4622 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4623 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4624 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4625 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4629 static final private boolean jj_3R_165() {
4634 if (jj_3R_170()) return true;
4635 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4636 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4637 if (jj_3R_154()) return true;
4638 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4642 static final private boolean jj_3R_164() {
4643 if (jj_scan_token(AT)) return true;
4644 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4648 static final private boolean jj_3R_159() {
4652 if (jj_3R_164()) { jj_scanpos = xsp; break; }
4653 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4655 if (jj_3R_163()) return true;
4656 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4660 static final private boolean jj_3R_161() {
4661 if (jj_scan_token(SLASH)) return true;
4662 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4666 static final private boolean jj_3R_154() {
4671 if (jj_3R_159()) return true;
4672 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4673 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4677 static final private boolean jj_3R_158() {
4678 if (jj_scan_token(BIT_AND)) return true;
4679 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4680 if (jj_3R_163()) return true;
4681 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4685 static final private boolean jj_3R_153() {
4686 if (jj_scan_token(RUNSIGNEDSHIFT)) return true;
4687 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4691 static final private boolean jj_3R_157() {
4692 if (jj_scan_token(MINUS)) return true;
4693 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4697 static final private boolean jj_3R_160() {
4698 if (jj_scan_token(STAR)) return true;
4699 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4703 static final private boolean jj_3R_148() {
4704 if (jj_scan_token(GE)) return true;
4705 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4709 static final private boolean jj_3R_155() {
4716 if (jj_3R_162()) return true;
4717 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4718 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4719 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4720 if (jj_3R_154()) return true;
4721 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4725 static final private boolean jj_3R_149() {
4726 if (jj_3R_154()) return true;
4727 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4731 if (jj_3R_155()) { jj_scanpos = xsp; break; }
4732 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4737 static final private boolean jj_3R_152() {
4738 if (jj_scan_token(RSIGNEDSHIFT)) return true;
4739 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4743 static final private boolean jj_3R_156() {
4744 if (jj_scan_token(PLUS)) return true;
4745 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4749 static final private boolean jj_3R_150() {
4754 if (jj_3R_157()) return true;
4755 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4756 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4757 if (jj_3R_149()) return true;
4758 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4762 static final private boolean jj_3R_147() {
4763 if (jj_scan_token(LE)) return true;
4764 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4768 static final private boolean jj_3R_143() {
4769 if (jj_3R_149()) return true;
4770 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4774 if (jj_3R_150()) { jj_scanpos = xsp; break; }
4775 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4780 static final private boolean jj_3R_146() {
4781 if (jj_scan_token(GT)) return true;
4782 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4786 static final private boolean jj_3R_151() {
4787 if (jj_scan_token(LSHIFT)) return true;
4788 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4792 static final private boolean jj_3R_144() {
4799 if (jj_3R_153()) return true;
4800 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4801 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4802 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4803 if (jj_3R_143()) return true;
4804 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4808 static final private boolean jj_3R_136() {
4809 if (jj_3R_143()) return true;
4810 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4814 if (jj_3R_144()) { jj_scanpos = xsp; break; }
4815 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4820 static final private boolean jj_3_2() {
4821 if (jj_scan_token(COMMA)) return true;
4822 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4823 if (jj_3R_39()) return true;
4824 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4828 static final private boolean jj_3R_126() {
4829 if (jj_3R_39()) return true;
4830 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4834 if (jj_3_2()) { jj_scanpos = xsp; break; }
4835 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4840 static final private boolean jj_3R_108() {
4841 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
4842 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4846 static final private boolean jj_3R_106() {
4847 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
4848 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4852 static final private boolean jj_3R_145() {
4853 if (jj_scan_token(LT)) return true;
4854 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4858 static final private boolean jj_3R_119() {
4859 if (jj_scan_token(LPAREN)) return true;
4860 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4863 if (jj_3R_126()) jj_scanpos = xsp;
4864 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4865 if (jj_scan_token(RPAREN)) return true;
4866 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4870 static final private boolean jj_3R_137() {
4879 if (jj_3R_148()) return true;
4880 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4881 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4882 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4883 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4884 if (jj_3R_136()) return true;
4885 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4889 static final private boolean jj_3R_43() {
4890 if (jj_scan_token(135)) return true;
4891 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4895 static final private boolean jj_3R_134() {
4896 if (jj_3R_136()) return true;
4897 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4901 if (jj_3R_137()) { jj_scanpos = xsp; break; }
4902 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4907 static final private boolean jj_3R_133() {
4908 if (jj_scan_token(ARRAYASSIGN)) return true;
4909 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4910 if (jj_3R_41()) return true;
4911 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4915 static final private boolean jj_3_6() {
4916 if (jj_3R_44()) return true;
4917 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4921 static final private boolean jj_3R_39() {
4922 if (jj_3R_41()) return true;
4923 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4926 if (jj_3R_133()) jj_scanpos = xsp;
4927 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4931 static final private boolean jj_3R_42() {
4932 if (jj_scan_token(SEMICOLON)) return true;
4933 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4937 static final private boolean jj_3R_142() {
4938 if (jj_scan_token(TRIPLEEQUAL)) return true;
4939 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4943 static final private boolean jj_3R_141() {
4944 if (jj_scan_token(BANGDOUBLEEQUAL)) return true;
4945 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4949 static final private boolean jj_3R_107() {
4950 if (jj_scan_token(INTEGER_LITERAL)) return true;
4951 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4955 static final private boolean jj_3R_140() {
4956 if (jj_scan_token(NE)) return true;
4957 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4961 static final private boolean jj_3_5() {
4962 if (jj_3R_41()) return true;
4963 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4968 if (jj_3R_43()) return true;
4969 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4970 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4974 static final private boolean jj_3R_139() {
4975 if (jj_scan_token(DIF)) return true;
4976 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4980 static final private boolean jj_3R_98() {
4981 if (jj_scan_token(IDENTIFIER)) return true;
4982 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4986 static final private boolean jj_3R_105() {
4987 if (jj_scan_token(INTEGER_LITERAL)) return true;
4988 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4992 static final private boolean jj_3R_138() {
4993 if (jj_scan_token(EQ)) return true;
4994 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4998 static private boolean jj_initialized_once = false;
4999 static public PHPParserTokenManager token_source;
5000 static SimpleCharStream jj_input_stream;
5001 static public Token token, jj_nt;
5002 static private int jj_ntk;
5003 static private Token jj_scanpos, jj_lastpos;
5004 static private int jj_la;
5005 static public boolean lookingAhead = false;
5006 static private boolean jj_semLA;
5007 static private int jj_gen;
5008 static final private int[] jj_la1 = new int[110];
5009 static private int[] jj_la1_0;
5010 static private int[] jj_la1_1;
5011 static private int[] jj_la1_2;
5012 static private int[] jj_la1_3;
5013 static private int[] jj_la1_4;
5021 private static void jj_la1_0() {
5022 jj_la1_0 = new int[] {0x2,0xff960000,0x0,0xc0000,0xc0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800000,0x0,0x1800000,0x0,0x0,0x0,0x0,0x0,0x0,0x1800000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800000,0x0,0x800000,0x0,0x800000,0x0,0x0,0x0,0x0,0x800000,0x0,0x0,0x0,0x1800000,0x0,0x0,0x0,0x1800000,0x0,0x0,0x0,0xfe900000,0x0,0x0,0x0,0x0,0x3c000000,0x0,0x0,0x0,0x0,0x0,0x0,0xff960000,0xff960000,0x0,0x0,0x0,0x800000,0x0,0xff960000,0x0,0xff900000,0x200000,0x400000,0x200000,0x400000,0xff900000,0xff900000,0xff900000,0xff900000,0x0,0xff900000,0x0,0x0,0x800000,0x1800000,0x800000,0xff900000,0xff900000,0x800000,0x0,0x0,0x0,0x1800000,};
5024 private static void jj_la1_1() {
5025 jj_la1_1 = new int[] {0x0,0x11aed48,0x200,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x84400,0x4,0x86400,0x0,0x0,0x0,0x0,0xfc000000,0x0,0x86400,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x86400,0x0,0x86400,0x0,0x86400,0x0,0x0,0x1,0x1,0x2000,0x2000,0x0,0x1,0x86400,0x1,0x84400,0x80400,0x86400,0x0,0x0,0x0,0x112a948,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x11aed48,0x11aed48,0x0,0x0,0x0,0x2000,0x90,0x11aed48,0x90,0x11aed48,0x0,0x0,0x0,0x0,0x11aed48,0x11aed48,0x11aed48,0x11aed48,0x0,0x11aed48,0x0,0x4,0x2000,0x86400,0x2000,0x11aed48,0x11aed48,0x2000,0x0,0x0,0x0,0x86400,};
5027 private static void jj_la1_2() {
5028 jj_la1_2 = new int[] {0x0,0x32288a20,0x0,0x0,0x0,0x4000000,0x40000000,0x200000,0x20000000,0x200000,0x20208000,0x20208000,0x220,0x220,0x8a20,0x0,0x30088a20,0x0,0x4000000,0x20000000,0x0,0x7,0x40000000,0x30088a20,0x40000000,0x0,0x8,0x8,0x10,0x10,0x8000000,0x0,0x0,0x0,0x0,0x0,0x80000000,0x80000000,0x0,0x0,0x0,0x0,0x0,0x0,0x10000000,0x30088a20,0x0,0x20088a20,0x0,0x20088a20,0x0,0x0,0x880000,0x880000,0x20008000,0x20008000,0x20008000,0x880000,0x30088a20,0x800000,0xa20,0x0,0x30088a20,0x4000000,0x2000000,0x10000000,0x32208000,0x2000000,0x2000000,0x2000000,0x2000000,0x0,0x4000000,0x2000000,0x4000000,0x2000000,0x4000000,0x2000000,0x32288a20,0x32288a20,0x4000000,0x40000000,0x40000000,0x20008000,0x0,0x32288a20,0x0,0x32288a20,0x0,0x0,0x0,0x0,0x32288a20,0x32288a20,0x32288a20,0x32288a20,0x2000000,0x32288a20,0x2000000,0x0,0x20008000,0x30088a20,0x20008000,0x32288a20,0x32288a20,0x20008000,0x4000000,0x8000,0x8000,0x30088a20,};
5030 private static void jj_la1_3() {
5031 jj_la1_3 = new int[] {0x0,0x27802,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6000,0x0,0x27802,0x20000,0x0,0x20000,0x20000,0x0,0xff000000,0x27802,0xff000000,0x4,0x200,0x200,0x400,0x400,0x0,0x40000,0x80000,0x20000,0x190,0x190,0x61,0x61,0xe00000,0xe00000,0x6000,0x6000,0x118000,0x118000,0x0,0x27802,0x6000,0x7802,0x2,0x0,0x1800,0x1800,0x0,0x0,0x0,0x0,0x0,0x0,0x27802,0x0,0x0,0x0,0x27802,0x0,0x0,0x0,0x1800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x27802,0x27802,0x0,0xff001800,0xff001800,0x1800,0x0,0x27802,0x0,0x27802,0x0,0x0,0x0,0x0,0x2780a,0x27802,0x27802,0x27802,0x0,0x2780a,0x0,0x0,0x1800,0x27802,0x1800,0x27802,0x2780a,0x1800,0x0,0x0,0x0,0x27802,};
5033 private static void jj_la1_4() {
5034 jj_la1_4 = new int[] {0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x40,0x40,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x40,0x0,0x0,0x27,0x40,0x27,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18,0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x40,0x0,0x40,0x0,0x0,0x0,0x0,0x40,0x40,0x40,0x0,0x40,0x0,0x0,0x0,0x40,0x0,0x80,0x0,0x40,0x80,0x80,0x80,0x80,0x0,0x0,0x80,0x0,0x80,0x0,0x80,0x40,0x40,0x0,0x27,0x27,0x40,0x0,0x40,0x0,0x40,0x0,0x0,0x0,0x0,0x40,0x40,0x40,0x40,0x80,0x40,0x80,0x0,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x0,0x0,0x40,};
5036 static final private JJCalls[] jj_2_rtns = new JJCalls[7];
5037 static private boolean jj_rescan = false;
5038 static private int jj_gc = 0;
5040 public PHPParser(java.io.InputStream stream) {
5041 if (jj_initialized_once) {
5042 System.out.println("ERROR: Second call to constructor of static parser. You must");
5043 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
5044 System.out.println(" during parser generation.");
5047 jj_initialized_once = true;
5048 jj_input_stream = new SimpleCharStream(stream, 1, 1);
5049 token_source = new PHPParserTokenManager(jj_input_stream);
5050 token = new Token();
5053 for (int i = 0; i < 110; i++) jj_la1[i] = -1;
5054 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5057 static public void ReInit(java.io.InputStream stream) {
5058 jj_input_stream.ReInit(stream, 1, 1);
5059 token_source.ReInit(jj_input_stream);
5060 token = new Token();
5063 for (int i = 0; i < 110; i++) jj_la1[i] = -1;
5064 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5067 public PHPParser(java.io.Reader stream) {
5068 if (jj_initialized_once) {
5069 System.out.println("ERROR: Second call to constructor of static parser. You must");
5070 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
5071 System.out.println(" during parser generation.");
5074 jj_initialized_once = true;
5075 jj_input_stream = new SimpleCharStream(stream, 1, 1);
5076 token_source = new PHPParserTokenManager(jj_input_stream);
5077 token = new Token();
5080 for (int i = 0; i < 110; i++) jj_la1[i] = -1;
5081 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5084 static public void ReInit(java.io.Reader stream) {
5085 jj_input_stream.ReInit(stream, 1, 1);
5086 token_source.ReInit(jj_input_stream);
5087 token = new Token();
5090 for (int i = 0; i < 110; i++) jj_la1[i] = -1;
5091 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5094 public PHPParser(PHPParserTokenManager tm) {
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;
5103 token = new Token();
5106 for (int i = 0; i < 110; i++) jj_la1[i] = -1;
5107 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5110 public void ReInit(PHPParserTokenManager tm) {
5112 token = new Token();
5115 for (int i = 0; i < 110; i++) jj_la1[i] = -1;
5116 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5119 static final private Token jj_consume_token(int kind) throws ParseException {
5121 if ((oldToken = token).next != null) token = token.next;
5122 else token = token.next = token_source.getNextToken();
5124 if (token.kind == kind) {
5126 if (++jj_gc > 100) {
5128 for (int i = 0; i < jj_2_rtns.length; i++) {
5129 JJCalls c = jj_2_rtns[i];
5131 if (c.gen < jj_gen) c.first = null;
5140 throw generateParseException();
5143 static final private boolean jj_scan_token(int kind) {
5144 if (jj_scanpos == jj_lastpos) {
5146 if (jj_scanpos.next == null) {
5147 jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
5149 jj_lastpos = jj_scanpos = jj_scanpos.next;
5152 jj_scanpos = jj_scanpos.next;
5155 int i = 0; Token tok = token;
5156 while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
5157 if (tok != null) jj_add_error_token(kind, i);
5159 return (jj_scanpos.kind != kind);
5162 static final public Token getNextToken() {
5163 if (token.next != null) token = token.next;
5164 else token = token.next = token_source.getNextToken();
5170 static final public Token getToken(int index) {
5171 Token t = lookingAhead ? jj_scanpos : token;
5172 for (int i = 0; i < index; i++) {
5173 if (t.next != null) t = t.next;
5174 else t = t.next = token_source.getNextToken();
5179 static final private int jj_ntk() {
5180 if ((jj_nt=token.next) == null)
5181 return (jj_ntk = (token.next=token_source.getNextToken()).kind);
5183 return (jj_ntk = jj_nt.kind);
5186 static private java.util.Vector jj_expentries = new java.util.Vector();
5187 static private int[] jj_expentry;
5188 static private int jj_kind = -1;
5189 static private int[] jj_lasttokens = new int[100];
5190 static private int jj_endpos;
5192 static private void jj_add_error_token(int kind, int pos) {
5193 if (pos >= 100) return;
5194 if (pos == jj_endpos + 1) {
5195 jj_lasttokens[jj_endpos++] = kind;
5196 } else if (jj_endpos != 0) {
5197 jj_expentry = new int[jj_endpos];
5198 for (int i = 0; i < jj_endpos; i++) {
5199 jj_expentry[i] = jj_lasttokens[i];
5201 boolean exists = false;
5202 for (java.util.Enumeration enum = jj_expentries.elements(); enum.hasMoreElements();) {
5203 int[] oldentry = (int[])(enum.nextElement());
5204 if (oldentry.length == jj_expentry.length) {
5206 for (int i = 0; i < jj_expentry.length; i++) {
5207 if (oldentry[i] != jj_expentry[i]) {
5215 if (!exists) jj_expentries.addElement(jj_expentry);
5216 if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
5220 static public ParseException generateParseException() {
5221 jj_expentries.removeAllElements();
5222 boolean[] la1tokens = new boolean[136];
5223 for (int i = 0; i < 136; i++) {
5224 la1tokens[i] = false;
5227 la1tokens[jj_kind] = true;
5230 for (int i = 0; i < 110; i++) {
5231 if (jj_la1[i] == jj_gen) {
5232 for (int j = 0; j < 32; j++) {
5233 if ((jj_la1_0[i] & (1<<j)) != 0) {
5234 la1tokens[j] = true;
5236 if ((jj_la1_1[i] & (1<<j)) != 0) {
5237 la1tokens[32+j] = true;
5239 if ((jj_la1_2[i] & (1<<j)) != 0) {
5240 la1tokens[64+j] = true;
5242 if ((jj_la1_3[i] & (1<<j)) != 0) {
5243 la1tokens[96+j] = true;
5245 if ((jj_la1_4[i] & (1<<j)) != 0) {
5246 la1tokens[128+j] = true;
5251 for (int i = 0; i < 136; i++) {
5253 jj_expentry = new int[1];
5255 jj_expentries.addElement(jj_expentry);
5260 jj_add_error_token(0, 0);
5261 int[][] exptokseq = new int[jj_expentries.size()][];
5262 for (int i = 0; i < jj_expentries.size(); i++) {
5263 exptokseq[i] = (int[])jj_expentries.elementAt(i);
5265 return new ParseException(token, exptokseq, tokenImage);
5268 static final public void enable_tracing() {
5271 static final public void disable_tracing() {
5274 static final private void jj_rescan_token() {
5276 for (int i = 0; i < 7; i++) {
5277 JJCalls p = jj_2_rtns[i];
5279 if (p.gen > jj_gen) {
5280 jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
5282 case 0: jj_3_1(); break;
5283 case 1: jj_3_2(); break;
5284 case 2: jj_3_3(); break;
5285 case 3: jj_3_4(); break;
5286 case 4: jj_3_5(); break;
5287 case 5: jj_3_6(); break;
5288 case 6: jj_3_7(); break;
5292 } while (p != null);
5297 static final private void jj_save(int index, int xla) {
5298 JJCalls p = jj_2_rtns[index];
5299 while (p.gen > jj_gen) {
5300 if (p.next == null) { p = p.next = new JJCalls(); break; }
5303 p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
5306 static final class JJCalls {