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 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 void setFileToParse(IFile fileToParse) {
47 this.fileToParse = fileToParse;
50 public PHPParser(IFile fileToParse) {
51 this(new StringReader(""));
52 this.fileToParse = fileToParse;
55 public 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 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 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 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 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);
248 jj_consume_token(PHPEND);
251 } catch (TokenMgrError e) {
252 errorMessage = e.getMessage();
254 {if (true) throw generateParseException();}
258 static final public void Php() throws ParseException {
261 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
286 case INTEGER_LITERAL:
287 case FLOATING_POINT_LITERAL:
312 static final public void ClassDeclaration() throws ParseException {
313 PHPClassDeclaration classDeclaration;
315 int pos = jj_input_stream.bufpos;
316 jj_consume_token(CLASS);
317 className = jj_consume_token(IDENTIFIER);
318 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
320 jj_consume_token(EXTENDS);
321 jj_consume_token(IDENTIFIER);
327 if (currentSegment != null) {
328 classDeclaration = new PHPClassDeclaration(currentSegment,className.image,pos);
329 currentSegment.add(classDeclaration);
330 currentSegment = classDeclaration;
333 if (currentSegment != null) {
334 currentSegment = (PHPSegmentWithChildren) currentSegment.getParent();
338 static final public void ClassBody() throws ParseException {
340 jj_consume_token(LBRACE);
341 } catch (ParseException e) {
342 errorMessage = "'{' expected";
348 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
357 ClassBodyDeclaration();
360 jj_consume_token(RBRACE);
361 } catch (ParseException e) {
362 errorMessage = "'var', 'function' or '}' expected";
368 static final public void ClassBodyDeclaration() throws ParseException {
369 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
378 jj_consume_token(-1);
379 throw new ParseException();
383 static final public void FieldDeclaration() throws ParseException {
384 PHPVarDeclaration variableDeclaration;
385 jj_consume_token(VAR);
386 variableDeclaration = VariableDeclarator();
387 if (currentSegment != null) {
388 currentSegment.add(variableDeclaration);
392 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
400 jj_consume_token(COMMA);
401 variableDeclaration = VariableDeclarator();
402 if (currentSegment != null) {
403 currentSegment.add(variableDeclaration);
407 jj_consume_token(SEMICOLON);
408 } catch (ParseException e) {
409 errorMessage = "';' expected after variable declaration";
415 static final public PHPVarDeclaration VariableDeclarator() throws ParseException {
417 String varValue = null;
418 int pos = jj_input_stream.bufpos;
419 varName = VariableDeclaratorId();
420 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
422 jj_consume_token(ASSIGN);
424 varValue = VariableInitializer();
425 } catch (ParseException e) {
426 errorMessage = "Literal expression expected in variable initializer";
435 if (varValue == null) {
436 {if (true) return new PHPVarDeclaration(currentSegment,varName,pos);}
438 {if (true) return new PHPVarDeclaration(currentSegment,varName,pos,varValue);}
439 throw new Error("Missing return statement in function");
442 static final public String VariableDeclaratorId() throws ParseException {
444 StringBuffer buff = new StringBuffer();
455 expr = VariableSuffix();
458 {if (true) return buff.toString();}
459 } catch (ParseException e) {
460 errorMessage = "'$' expected for variable identifier";
464 throw new Error("Missing return statement in function");
467 static final public String Variable() throws ParseException {
470 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
472 token = jj_consume_token(DOLLAR_ID);
473 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
475 jj_consume_token(LBRACE);
477 jj_consume_token(RBRACE);
484 {if (true) return token.image;}
486 {if (true) return token + "{" + expr + "}";}
489 jj_consume_token(DOLLAR);
490 expr = VariableName();
491 {if (true) return "$" + expr;}
495 jj_consume_token(-1);
496 throw new ParseException();
498 throw new Error("Missing return statement in function");
501 static final public String VariableName() throws ParseException {
504 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
506 jj_consume_token(LBRACE);
508 jj_consume_token(RBRACE);
509 {if (true) return "{"+expr+"}";}
512 token = jj_consume_token(IDENTIFIER);
513 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
515 jj_consume_token(LBRACE);
517 jj_consume_token(RBRACE);
524 {if (true) return token.image;}
526 {if (true) return token + "{" + expr + "}";}
529 jj_consume_token(DOLLAR);
530 expr = VariableName();
531 {if (true) return "$" + expr;}
534 token = jj_consume_token(DOLLAR_ID);
535 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
540 expr = VariableName();
547 {if (true) return token.image;}
549 {if (true) return token.image + expr;}
553 jj_consume_token(-1);
554 throw new ParseException();
556 throw new Error("Missing return statement in function");
559 static final public String VariableInitializer() throws ParseException {
562 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
566 case INTEGER_LITERAL:
567 case FLOATING_POINT_LITERAL:
570 {if (true) return expr;}
573 jj_consume_token(MINUS);
574 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
575 case INTEGER_LITERAL:
576 token = jj_consume_token(INTEGER_LITERAL);
578 case FLOATING_POINT_LITERAL:
579 token = jj_consume_token(FLOATING_POINT_LITERAL);
583 jj_consume_token(-1);
584 throw new ParseException();
586 {if (true) return "-" + token.image;}
589 jj_consume_token(PLUS);
590 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
591 case INTEGER_LITERAL:
592 token = jj_consume_token(INTEGER_LITERAL);
594 case FLOATING_POINT_LITERAL:
595 token = jj_consume_token(FLOATING_POINT_LITERAL);
599 jj_consume_token(-1);
600 throw new ParseException();
602 {if (true) return "+" + token.image;}
605 expr = ArrayDeclarator();
606 {if (true) return expr;}
609 token = jj_consume_token(IDENTIFIER);
610 {if (true) return token.image;}
614 jj_consume_token(-1);
615 throw new ParseException();
617 throw new Error("Missing return statement in function");
620 static final public String ArrayVariable() throws ParseException {
622 StringBuffer buff = new StringBuffer();
625 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
627 jj_consume_token(ARRAYASSIGN);
629 buff.append("=>").append(expr);
635 {if (true) return buff.toString();}
636 throw new Error("Missing return statement in function");
639 static final public String ArrayInitializer() throws ParseException {
641 StringBuffer buff = new StringBuffer("(");
642 jj_consume_token(LPAREN);
643 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
650 case INTEGER_LITERAL:
651 case FLOATING_POINT_LITERAL:
664 expr = ArrayVariable();
673 jj_consume_token(COMMA);
674 expr = ArrayVariable();
675 buff.append(",").append(expr);
682 jj_consume_token(RPAREN);
684 {if (true) return buff.toString();}
685 throw new Error("Missing return statement in function");
688 static final public void MethodDeclaration() throws ParseException {
689 PHPFunctionDeclaration functionDeclaration;
690 jj_consume_token(FUNCTION);
691 functionDeclaration = MethodDeclarator();
692 if (currentSegment != null) {
693 currentSegment.add(functionDeclaration);
694 currentSegment = functionDeclaration;
697 if (currentSegment != null) {
698 currentSegment = (PHPSegmentWithChildren) currentSegment.getParent();
702 static final public PHPFunctionDeclaration MethodDeclarator() throws ParseException {
704 StringBuffer methodDeclaration = new StringBuffer();
705 String formalParameters;
706 int pos = jj_input_stream.bufpos;
707 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
709 jj_consume_token(BIT_AND);
710 methodDeclaration.append("&");
716 identifier = jj_consume_token(IDENTIFIER);
717 methodDeclaration.append(identifier);
718 formalParameters = FormalParameters();
719 methodDeclaration.append(formalParameters);
720 {if (true) return new PHPFunctionDeclaration(currentSegment,methodDeclaration.toString(),pos);}
721 throw new Error("Missing return statement in function");
724 static final public String FormalParameters() throws ParseException {
726 final StringBuffer buff = new StringBuffer("(");
728 jj_consume_token(LPAREN);
729 } catch (ParseException e) {
730 errorMessage = "Formal parameter expected after function identifier";
732 jj_consume_token(token.kind);
734 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
738 expr = FormalParameter();
742 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
750 jj_consume_token(COMMA);
751 expr = FormalParameter();
752 buff.append(",").append(expr);
760 jj_consume_token(RPAREN);
761 } catch (ParseException e) {
762 errorMessage = "')' expected";
767 {if (true) return buff.toString();}
768 throw new Error("Missing return statement in function");
771 static final public String FormalParameter() throws ParseException {
772 PHPVarDeclaration variableDeclaration;
773 StringBuffer buff = new StringBuffer();
774 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
776 jj_consume_token(BIT_AND);
783 variableDeclaration = VariableDeclarator();
784 buff.append(variableDeclaration.toString());
785 {if (true) return buff.toString();}
786 throw new Error("Missing return statement in function");
789 static final public String Type() throws ParseException {
790 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
792 jj_consume_token(STRING);
793 {if (true) return "string";}
796 jj_consume_token(BOOL);
797 {if (true) return "bool";}
800 jj_consume_token(BOOLEAN);
801 {if (true) return "boolean";}
804 jj_consume_token(REAL);
805 {if (true) return "real";}
808 jj_consume_token(DOUBLE);
809 {if (true) return "double";}
812 jj_consume_token(FLOAT);
813 {if (true) return "float";}
816 jj_consume_token(INT);
817 {if (true) return "int";}
820 jj_consume_token(INTEGER);
821 {if (true) return "integer";}
824 jj_consume_token(OBJECT);
825 {if (true) return "object";}
829 jj_consume_token(-1);
830 throw new ParseException();
832 throw new Error("Missing return statement in function");
835 static final public String Expression() throws ParseException {
837 String assignOperator = null;
839 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
841 expr = PrintExpression();
842 {if (true) return expr;}
849 case INTEGER_LITERAL:
850 case FLOATING_POINT_LITERAL:
863 expr = ConditionalExpression();
864 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
876 case RSIGNEDSHIFTASSIGN:
878 assignOperator = AssignmentOperator();
880 expr2 = Expression();
881 } catch (ParseException e) {
882 errorMessage = "expression expected";
892 {if (true) return expr;}
894 {if (true) return expr + assignOperator + expr2;}
899 jj_consume_token(-1);
900 throw new ParseException();
902 throw new Error("Missing return statement in function");
905 static final public String AssignmentOperator() throws ParseException {
906 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
908 jj_consume_token(ASSIGN);
909 {if (true) return "=";}
912 jj_consume_token(STARASSIGN);
913 {if (true) return "*=";}
916 jj_consume_token(SLASHASSIGN);
917 {if (true) return "/=";}
920 jj_consume_token(REMASSIGN);
921 {if (true) return "%=";}
924 jj_consume_token(PLUSASSIGN);
925 {if (true) return "+=";}
928 jj_consume_token(MINUSASSIGN);
929 {if (true) return "-=";}
932 jj_consume_token(LSHIFTASSIGN);
933 {if (true) return "<<=";}
935 case RSIGNEDSHIFTASSIGN:
936 jj_consume_token(RSIGNEDSHIFTASSIGN);
937 {if (true) return ">>=";}
940 jj_consume_token(ANDASSIGN);
941 {if (true) return "&=";}
944 jj_consume_token(XORASSIGN);
945 {if (true) return "|=";}
948 jj_consume_token(ORASSIGN);
949 {if (true) return "|=";}
952 jj_consume_token(DOTASSIGN);
953 {if (true) return ".=";}
956 jj_consume_token(TILDEEQUAL);
957 {if (true) return "~=";}
961 jj_consume_token(-1);
962 throw new ParseException();
964 throw new Error("Missing return statement in function");
967 static final public String ConditionalExpression() throws ParseException {
971 expr = ConditionalOrExpression();
972 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
974 jj_consume_token(HOOK);
975 expr2 = Expression();
976 jj_consume_token(COLON);
977 expr3 = ConditionalExpression();
984 {if (true) return expr;}
986 {if (true) return expr + "?" + expr2 + ":" + expr3;}
988 throw new Error("Missing return statement in function");
991 static final public String ConditionalOrExpression() throws ParseException {
995 StringBuffer buff = new StringBuffer();
996 expr = ConditionalAndExpression();
1000 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1006 jj_la1[26] = jj_gen;
1009 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1011 operator = jj_consume_token(SC_OR);
1014 operator = jj_consume_token(_ORL);
1017 jj_la1[27] = jj_gen;
1018 jj_consume_token(-1);
1019 throw new ParseException();
1021 expr2 = ConditionalAndExpression();
1022 buff.append(operator.image);
1025 {if (true) return buff.toString();}
1026 throw new Error("Missing return statement in function");
1029 static final public String ConditionalAndExpression() throws ParseException {
1032 String expr2 = null;
1033 StringBuffer buff = new StringBuffer();
1034 expr = ConcatExpression();
1038 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1044 jj_la1[28] = jj_gen;
1047 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1049 operator = jj_consume_token(SC_AND);
1052 operator = jj_consume_token(_ANDL);
1055 jj_la1[29] = jj_gen;
1056 jj_consume_token(-1);
1057 throw new ParseException();
1059 expr2 = ConcatExpression();
1060 buff.append(operator.image);
1063 {if (true) return buff.toString();}
1064 throw new Error("Missing return statement in function");
1067 static final public String ConcatExpression() throws ParseException {
1069 String expr2 = null;
1070 StringBuffer buff = new StringBuffer();
1071 expr = InclusiveOrExpression();
1075 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1080 jj_la1[30] = jj_gen;
1083 jj_consume_token(DOT);
1084 expr2 = InclusiveOrExpression();
1088 {if (true) return buff.toString();}
1089 throw new Error("Missing return statement in function");
1092 static final public String InclusiveOrExpression() throws ParseException {
1094 String expr2 = null;
1095 StringBuffer buff = new StringBuffer();
1096 expr = ExclusiveOrExpression();
1100 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1105 jj_la1[31] = jj_gen;
1108 jj_consume_token(BIT_OR);
1109 expr2 = ExclusiveOrExpression();
1113 {if (true) return buff.toString();}
1114 throw new Error("Missing return statement in function");
1117 static final public String ExclusiveOrExpression() throws ParseException {
1119 String expr2 = null;
1120 StringBuffer buff = new StringBuffer();
1121 expr = AndExpression();
1125 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1130 jj_la1[32] = jj_gen;
1133 jj_consume_token(XOR);
1134 expr2 = AndExpression();
1138 {if (true) return buff.toString();}
1139 throw new Error("Missing return statement in function");
1142 static final public String AndExpression() throws ParseException {
1144 String expr2 = null;
1145 StringBuffer buff = new StringBuffer();
1146 expr = EqualityExpression();
1150 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1155 jj_la1[33] = jj_gen;
1158 jj_consume_token(BIT_AND);
1159 expr2 = EqualityExpression();
1163 {if (true) return buff.toString();}
1164 throw new Error("Missing return statement in function");
1167 static final public String EqualityExpression() throws ParseException {
1171 StringBuffer buff = new StringBuffer();
1172 expr = RelationalExpression();
1176 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1180 case BANGDOUBLEEQUAL:
1185 jj_la1[34] = jj_gen;
1188 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1190 operator = jj_consume_token(EQ);
1193 operator = jj_consume_token(DIF);
1196 operator = jj_consume_token(NE);
1198 case BANGDOUBLEEQUAL:
1199 operator = jj_consume_token(BANGDOUBLEEQUAL);
1202 operator = jj_consume_token(TRIPLEEQUAL);
1205 jj_la1[35] = jj_gen;
1206 jj_consume_token(-1);
1207 throw new ParseException();
1209 expr2 = RelationalExpression();
1210 buff.append(operator.image);
1213 {if (true) return buff.toString();}
1214 throw new Error("Missing return statement in function");
1217 static final public String RelationalExpression() throws ParseException {
1221 StringBuffer buff = new StringBuffer();
1222 expr = ShiftExpression();
1226 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1234 jj_la1[36] = jj_gen;
1237 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1239 operator = jj_consume_token(LT);
1242 operator = jj_consume_token(GT);
1245 operator = jj_consume_token(LE);
1248 operator = jj_consume_token(GE);
1251 jj_la1[37] = jj_gen;
1252 jj_consume_token(-1);
1253 throw new ParseException();
1255 expr2 = ShiftExpression();
1256 buff.append(operator.image);
1259 {if (true) return buff.toString();}
1260 throw new Error("Missing return statement in function");
1263 static final public String ShiftExpression() throws ParseException {
1267 StringBuffer buff = new StringBuffer();
1268 expr = AdditiveExpression();
1272 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1275 case RUNSIGNEDSHIFT:
1279 jj_la1[38] = jj_gen;
1282 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1284 operator = jj_consume_token(LSHIFT);
1287 operator = jj_consume_token(RSIGNEDSHIFT);
1289 case RUNSIGNEDSHIFT:
1290 operator = jj_consume_token(RUNSIGNEDSHIFT);
1293 jj_la1[39] = jj_gen;
1294 jj_consume_token(-1);
1295 throw new ParseException();
1297 expr2 = AdditiveExpression();
1298 buff.append(operator.image);
1301 {if (true) return buff.toString();}
1302 throw new Error("Missing return statement in function");
1305 static final public String AdditiveExpression() throws ParseException {
1309 StringBuffer buff = new StringBuffer();
1310 expr = MultiplicativeExpression();
1314 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1320 jj_la1[40] = jj_gen;
1323 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1325 operator = jj_consume_token(PLUS);
1328 operator = jj_consume_token(MINUS);
1331 jj_la1[41] = jj_gen;
1332 jj_consume_token(-1);
1333 throw new ParseException();
1335 expr2 = MultiplicativeExpression();
1336 buff.append(operator.image);
1339 {if (true) return buff.toString();}
1340 throw new Error("Missing return statement in function");
1343 static final public String MultiplicativeExpression() throws ParseException {
1346 final StringBuffer buff = new StringBuffer();
1347 expr = UnaryExpression();
1351 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1358 jj_la1[42] = jj_gen;
1361 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1363 operator = jj_consume_token(STAR);
1366 operator = jj_consume_token(SLASH);
1369 operator = jj_consume_token(REM);
1372 jj_la1[43] = jj_gen;
1373 jj_consume_token(-1);
1374 throw new ParseException();
1376 expr2 = UnaryExpression();
1377 buff.append(operator.image);
1380 {if (true) return buff.toString();}
1381 throw new Error("Missing return statement in function");
1385 * An unary expression starting with @, & or nothing
1387 static final public String UnaryExpression() throws ParseException {
1390 final StringBuffer buff = new StringBuffer();
1391 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1393 token = jj_consume_token(BIT_AND);
1394 expr = UnaryExpressionNoPrefix();
1395 if (token == null) {
1396 {if (true) return expr;}
1398 {if (true) return token.image + expr;}
1405 case INTEGER_LITERAL:
1406 case FLOATING_POINT_LITERAL:
1407 case STRING_LITERAL:
1420 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1425 jj_la1[44] = jj_gen;
1428 jj_consume_token(AT);
1431 expr = UnaryExpressionNoPrefix();
1432 {if (true) return buff.append(expr).toString();}
1435 jj_la1[45] = jj_gen;
1436 jj_consume_token(-1);
1437 throw new ParseException();
1439 throw new Error("Missing return statement in function");
1442 static final public String UnaryExpressionNoPrefix() throws ParseException {
1445 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1448 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1450 token = jj_consume_token(PLUS);
1453 token = jj_consume_token(MINUS);
1456 jj_la1[46] = jj_gen;
1457 jj_consume_token(-1);
1458 throw new ParseException();
1460 expr = UnaryExpression();
1461 {if (true) return token.image + expr;}
1464 expr = PreIncrementExpression();
1465 {if (true) return expr;}
1468 expr = PreDecrementExpression();
1469 {if (true) return expr;}
1476 case INTEGER_LITERAL:
1477 case FLOATING_POINT_LITERAL:
1478 case STRING_LITERAL:
1484 expr = UnaryExpressionNotPlusMinus();
1485 {if (true) return expr;}
1488 jj_la1[47] = jj_gen;
1489 jj_consume_token(-1);
1490 throw new ParseException();
1492 throw new Error("Missing return statement in function");
1495 static final public String PreIncrementExpression() throws ParseException {
1497 jj_consume_token(INCR);
1498 expr = PrimaryExpression();
1499 {if (true) return "++"+expr;}
1500 throw new Error("Missing return statement in function");
1503 static final public String PreDecrementExpression() throws ParseException {
1505 jj_consume_token(DECR);
1506 expr = PrimaryExpression();
1507 {if (true) return "--"+expr;}
1508 throw new Error("Missing return statement in function");
1511 static final public String UnaryExpressionNotPlusMinus() throws ParseException {
1513 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1515 jj_consume_token(BANG);
1516 expr = UnaryExpression();
1517 {if (true) return "!" + expr;}
1520 jj_la1[48] = jj_gen;
1521 if (jj_2_3(2147483647)) {
1522 expr = CastExpression();
1523 {if (true) return expr;}
1525 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1531 expr = PostfixExpression();
1532 {if (true) return expr;}
1537 case INTEGER_LITERAL:
1538 case FLOATING_POINT_LITERAL:
1539 case STRING_LITERAL:
1541 {if (true) return expr;}
1544 jj_consume_token(LPAREN);
1545 expr = Expression();
1546 jj_consume_token(RPAREN);
1547 {if (true) return "("+expr+")";}
1550 jj_la1[49] = jj_gen;
1551 jj_consume_token(-1);
1552 throw new ParseException();
1556 throw new Error("Missing return statement in function");
1559 static final public String CastExpression() throws ParseException {
1562 jj_consume_token(LPAREN);
1564 jj_consume_token(RPAREN);
1565 expr = UnaryExpression();
1566 {if (true) return "(" + type + ")" + expr;}
1567 throw new Error("Missing return statement in function");
1570 static final public String PostfixExpression() throws ParseException {
1572 Token operator = null;
1573 expr = PrimaryExpression();
1574 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1577 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1579 operator = jj_consume_token(INCR);
1582 operator = jj_consume_token(DECR);
1585 jj_la1[50] = jj_gen;
1586 jj_consume_token(-1);
1587 throw new ParseException();
1591 jj_la1[51] = jj_gen;
1594 if (operator == null) {
1595 {if (true) return expr;}
1597 {if (true) return expr + operator.image;}
1598 throw new Error("Missing return statement in function");
1601 static final public String PrimaryExpression() throws ParseException {
1604 final StringBuffer buff = new StringBuffer();
1606 identifier = jj_consume_token(IDENTIFIER);
1607 jj_consume_token(STATICCLASSACCESS);
1608 expr = ClassIdentifier();
1609 buff.append(identifier.image).append("::").append(expr);
1612 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1619 jj_la1[52] = jj_gen;
1622 expr = PrimarySuffix();
1625 {if (true) return buff.toString();}
1627 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1632 expr = PrimaryPrefix();
1636 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1643 jj_la1[53] = jj_gen;
1646 expr = PrimarySuffix();
1649 {if (true) return buff.toString();}
1652 expr = ArrayDeclarator();
1653 {if (true) return "array" + expr;}
1656 jj_la1[54] = jj_gen;
1657 jj_consume_token(-1);
1658 throw new ParseException();
1661 throw new Error("Missing return statement in function");
1664 static final public String ArrayDeclarator() throws ParseException {
1666 jj_consume_token(ARRAY);
1667 expr = ArrayInitializer();
1668 {if (true) return "array" + expr;}
1669 throw new Error("Missing return statement in function");
1672 static final public String PrimaryPrefix() throws ParseException {
1675 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1677 token = jj_consume_token(IDENTIFIER);
1678 {if (true) return token.image;}
1681 jj_consume_token(NEW);
1682 expr = ClassIdentifier();
1683 {if (true) return "new " + expr;}
1687 expr = VariableDeclaratorId();
1688 {if (true) return expr;}
1691 jj_la1[55] = jj_gen;
1692 jj_consume_token(-1);
1693 throw new ParseException();
1695 throw new Error("Missing return statement in function");
1698 static final public String ClassIdentifier() throws ParseException {
1701 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1703 token = jj_consume_token(IDENTIFIER);
1704 {if (true) return token.image;}
1708 expr = VariableDeclaratorId();
1709 {if (true) return expr;}
1712 jj_la1[56] = jj_gen;
1713 jj_consume_token(-1);
1714 throw new ParseException();
1716 throw new Error("Missing return statement in function");
1719 static final public String PrimarySuffix() throws ParseException {
1721 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1724 {if (true) return expr;}
1728 expr = VariableSuffix();
1729 {if (true) return expr;}
1732 jj_la1[57] = jj_gen;
1733 jj_consume_token(-1);
1734 throw new ParseException();
1736 throw new Error("Missing return statement in function");
1739 static final public String VariableSuffix() throws ParseException {
1741 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1743 jj_consume_token(CLASSACCESS);
1744 expr = VariableName();
1745 {if (true) return "->" + expr;}
1748 jj_consume_token(LBRACKET);
1749 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1756 case INTEGER_LITERAL:
1757 case FLOATING_POINT_LITERAL:
1758 case STRING_LITERAL:
1770 expr = Expression();
1773 jj_la1[58] = jj_gen;
1777 jj_consume_token(RBRACKET);
1778 } catch (ParseException e) {
1779 errorMessage = "']' expected";
1781 {if (true) throw e;}
1784 {if (true) return "[]";}
1786 {if (true) return "[" + expr + "]";}
1789 jj_la1[59] = jj_gen;
1790 jj_consume_token(-1);
1791 throw new ParseException();
1793 throw new Error("Missing return statement in function");
1796 static final public String Literal() throws ParseException {
1799 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1800 case INTEGER_LITERAL:
1801 token = jj_consume_token(INTEGER_LITERAL);
1802 {if (true) return token.image;}
1804 case FLOATING_POINT_LITERAL:
1805 token = jj_consume_token(FLOATING_POINT_LITERAL);
1806 {if (true) return token.image;}
1808 case STRING_LITERAL:
1809 token = jj_consume_token(STRING_LITERAL);
1810 {if (true) return token.image;}
1814 expr = BooleanLiteral();
1815 {if (true) return expr;}
1818 expr = NullLiteral();
1819 {if (true) return expr;}
1822 jj_la1[60] = jj_gen;
1823 jj_consume_token(-1);
1824 throw new ParseException();
1826 throw new Error("Missing return statement in function");
1829 static final public String BooleanLiteral() throws ParseException {
1830 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1832 jj_consume_token(TRUE);
1833 {if (true) return "true";}
1836 jj_consume_token(FALSE);
1837 {if (true) return "false";}
1840 jj_la1[61] = jj_gen;
1841 jj_consume_token(-1);
1842 throw new ParseException();
1844 throw new Error("Missing return statement in function");
1847 static final public String NullLiteral() throws ParseException {
1848 jj_consume_token(NULL);
1849 {if (true) return "null";}
1850 throw new Error("Missing return statement in function");
1853 static final public String Arguments() throws ParseException {
1855 jj_consume_token(LPAREN);
1856 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1863 case INTEGER_LITERAL:
1864 case FLOATING_POINT_LITERAL:
1865 case STRING_LITERAL:
1877 expr = ArgumentList();
1880 jj_la1[62] = jj_gen;
1884 jj_consume_token(RPAREN);
1885 } catch (ParseException e) {
1886 errorMessage = "')' expected to close the argument list";
1888 {if (true) throw e;}
1891 {if (true) return "()";}
1893 {if (true) return "(" + expr + ")";}
1894 throw new Error("Missing return statement in function");
1897 static final public String ArgumentList() throws ParseException {
1899 StringBuffer buff = new StringBuffer();
1900 expr = Expression();
1904 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1909 jj_la1[63] = jj_gen;
1912 jj_consume_token(COMMA);
1914 expr = Expression();
1915 } catch (ParseException e) {
1916 errorMessage = "expression expected after a comma in argument list";
1918 {if (true) throw e;}
1920 buff.append(",").append("expr");
1922 {if (true) return buff.toString();}
1923 throw new Error("Missing return statement in function");
1927 * Statement syntax follows.
1929 static final public void Statement() throws ParseException {
1933 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1935 jj_consume_token(SEMICOLON);
1938 jj_consume_token(135);
1941 jj_la1[64] = jj_gen;
1942 jj_consume_token(-1);
1943 throw new ParseException();
1945 } catch (ParseException e) {
1946 errorMessage = "';' expected";
1948 {if (true) throw e;}
1950 } else if (jj_2_6(2)) {
1953 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1967 StatementExpression();
1969 jj_consume_token(SEMICOLON);
1970 } catch (ParseException e) {
1971 errorMessage = "';' expected after expression";
1973 {if (true) throw e;}
1998 ContinueStatement();
2011 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2013 jj_consume_token(AT);
2016 jj_la1[65] = jj_gen;
2028 jj_la1[66] = jj_gen;
2029 jj_consume_token(-1);
2030 throw new ParseException();
2035 static final public void IncludeStatement() throws ParseException {
2037 int pos = jj_input_stream.bufpos;
2038 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2040 jj_consume_token(REQUIRE);
2041 expr = Expression();
2042 if (currentSegment != null) {
2043 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "require",pos,expr));
2046 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2048 jj_consume_token(SEMICOLON);
2051 jj_consume_token(135);
2054 jj_la1[67] = jj_gen;
2055 jj_consume_token(-1);
2056 throw new ParseException();
2058 } catch (ParseException e) {
2059 errorMessage = "';' expected";
2061 {if (true) throw e;}
2065 jj_consume_token(REQUIRE_ONCE);
2066 expr = Expression();
2067 if (currentSegment != null) {
2068 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "require_once",pos,expr));
2071 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2073 jj_consume_token(SEMICOLON);
2076 jj_consume_token(135);
2079 jj_la1[68] = jj_gen;
2080 jj_consume_token(-1);
2081 throw new ParseException();
2083 } catch (ParseException e) {
2084 errorMessage = "';' expected";
2086 {if (true) throw e;}
2090 jj_consume_token(INCLUDE);
2091 expr = Expression();
2092 if (currentSegment != null) {
2093 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "include",pos,expr));
2096 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2098 jj_consume_token(SEMICOLON);
2101 jj_consume_token(135);
2104 jj_la1[69] = jj_gen;
2105 jj_consume_token(-1);
2106 throw new ParseException();
2108 } catch (ParseException e) {
2109 errorMessage = "';' expected";
2111 {if (true) throw e;}
2115 jj_consume_token(INCLUDE_ONCE);
2116 expr = Expression();
2117 if (currentSegment != null) {
2118 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "include_once",pos,expr));
2121 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2123 jj_consume_token(SEMICOLON);
2126 jj_consume_token(135);
2129 jj_la1[70] = jj_gen;
2130 jj_consume_token(-1);
2131 throw new ParseException();
2133 } catch (ParseException e) {
2134 errorMessage = "';' expected";
2136 {if (true) throw e;}
2140 jj_la1[71] = jj_gen;
2141 jj_consume_token(-1);
2142 throw new ParseException();
2146 static final public String PrintExpression() throws ParseException {
2147 StringBuffer buff = new StringBuffer("print ");
2149 jj_consume_token(PRINT);
2150 expr = Expression();
2152 {if (true) return buff.toString();}
2153 throw new Error("Missing return statement in function");
2156 static final public void EchoStatement() throws ParseException {
2157 jj_consume_token(ECHO);
2161 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2166 jj_la1[72] = jj_gen;
2169 jj_consume_token(COMMA);
2173 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2175 jj_consume_token(SEMICOLON);
2178 jj_consume_token(135);
2181 jj_la1[73] = jj_gen;
2182 jj_consume_token(-1);
2183 throw new ParseException();
2185 } catch (ParseException e) {
2186 errorMessage = "';' expected after 'echo' statement";
2188 {if (true) throw e;}
2192 static final public void GlobalStatement() throws ParseException {
2193 jj_consume_token(GLOBAL);
2194 VariableDeclaratorId();
2197 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2202 jj_la1[74] = jj_gen;
2205 jj_consume_token(COMMA);
2206 VariableDeclaratorId();
2209 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2211 jj_consume_token(SEMICOLON);
2214 jj_consume_token(135);
2217 jj_la1[75] = jj_gen;
2218 jj_consume_token(-1);
2219 throw new ParseException();
2221 } catch (ParseException e) {
2222 errorMessage = "';' expected";
2224 {if (true) throw e;}
2228 static final public void StaticStatement() throws ParseException {
2229 jj_consume_token(STATIC);
2230 VariableDeclarator();
2233 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2238 jj_la1[76] = jj_gen;
2241 jj_consume_token(COMMA);
2242 VariableDeclarator();
2245 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2247 jj_consume_token(SEMICOLON);
2250 jj_consume_token(135);
2253 jj_la1[77] = jj_gen;
2254 jj_consume_token(-1);
2255 throw new ParseException();
2257 } catch (ParseException e) {
2258 errorMessage = "';' expected";
2260 {if (true) throw e;}
2264 static final public void LabeledStatement() throws ParseException {
2265 jj_consume_token(IDENTIFIER);
2266 jj_consume_token(COLON);
2270 static final public void Block() throws ParseException {
2272 jj_consume_token(LBRACE);
2273 } catch (ParseException e) {
2274 errorMessage = "'{' expected";
2276 {if (true) throw e;}
2280 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2305 case INTEGER_LITERAL:
2306 case FLOATING_POINT_LITERAL:
2307 case STRING_LITERAL:
2324 jj_la1[78] = jj_gen;
2329 jj_consume_token(RBRACE);
2332 static final public void BlockStatement() throws ParseException {
2333 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2356 case INTEGER_LITERAL:
2357 case FLOATING_POINT_LITERAL:
2358 case STRING_LITERAL:
2378 MethodDeclaration();
2381 jj_la1[79] = jj_gen;
2382 jj_consume_token(-1);
2383 throw new ParseException();
2387 static final public void LocalVariableDeclaration() throws ParseException {
2388 VariableDeclarator();
2391 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2396 jj_la1[80] = jj_gen;
2399 jj_consume_token(COMMA);
2400 VariableDeclarator();
2404 static final public void EmptyStatement() throws ParseException {
2405 jj_consume_token(SEMICOLON);
2408 static final public void StatementExpression() throws ParseException {
2409 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2411 PreIncrementExpression();
2414 PreDecrementExpression();
2421 PrimaryExpression();
2422 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2436 case RSIGNEDSHIFTASSIGN:
2438 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2440 jj_consume_token(INCR);
2443 jj_consume_token(DECR);
2456 case RSIGNEDSHIFTASSIGN:
2458 AssignmentOperator();
2462 jj_la1[81] = jj_gen;
2463 jj_consume_token(-1);
2464 throw new ParseException();
2468 jj_la1[82] = jj_gen;
2473 jj_la1[83] = jj_gen;
2474 jj_consume_token(-1);
2475 throw new ParseException();
2479 static final public void SwitchStatement() throws ParseException {
2480 jj_consume_token(SWITCH);
2481 jj_consume_token(LPAREN);
2483 jj_consume_token(RPAREN);
2484 jj_consume_token(LBRACE);
2487 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2493 jj_la1[84] = jj_gen;
2499 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2524 case INTEGER_LITERAL:
2525 case FLOATING_POINT_LITERAL:
2526 case STRING_LITERAL:
2543 jj_la1[85] = jj_gen;
2549 jj_consume_token(RBRACE);
2552 static final public void SwitchLabel() throws ParseException {
2553 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2555 jj_consume_token(CASE);
2557 jj_consume_token(COLON);
2560 jj_consume_token(_DEFAULT);
2561 jj_consume_token(COLON);
2564 jj_la1[86] = jj_gen;
2565 jj_consume_token(-1);
2566 throw new ParseException();
2570 static final public void IfStatement() throws ParseException {
2571 jj_consume_token(IF);
2576 static final public void Condition(String keyword) throws ParseException {
2578 jj_consume_token(LPAREN);
2579 } catch (ParseException e) {
2580 errorMessage = "'(' expected after " + keyword + " keyword";
2582 {if (true) throw e;}
2586 jj_consume_token(RPAREN);
2587 } catch (ParseException e) {
2588 errorMessage = "')' expected after " + keyword + " keyword";
2590 {if (true) throw e;}
2594 static final public void IfStatement0() throws ParseException {
2595 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2597 jj_consume_token(COLON);
2600 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2623 case INTEGER_LITERAL:
2624 case FLOATING_POINT_LITERAL:
2625 case STRING_LITERAL:
2642 jj_la1[87] = jj_gen;
2649 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2654 jj_la1[88] = jj_gen;
2657 ElseIfStatementColon();
2659 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2661 ElseStatementColon();
2664 jj_la1[89] = jj_gen;
2667 jj_consume_token(ENDIF);
2669 jj_consume_token(SEMICOLON);
2670 } catch (ParseException e) {
2671 errorMessage = "';' expected 'endif' keyword";
2673 {if (true) throw e;}
2698 case INTEGER_LITERAL:
2699 case FLOATING_POINT_LITERAL:
2700 case STRING_LITERAL:
2717 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2722 jj_la1[90] = jj_gen;
2727 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2729 jj_consume_token(ELSE);
2733 jj_la1[91] = jj_gen;
2738 jj_la1[92] = jj_gen;
2739 jj_consume_token(-1);
2740 throw new ParseException();
2744 static final public void ElseIfStatementColon() throws ParseException {
2745 jj_consume_token(ELSEIF);
2746 Condition("elseif");
2747 jj_consume_token(COLON);
2750 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2773 case INTEGER_LITERAL:
2774 case FLOATING_POINT_LITERAL:
2775 case STRING_LITERAL:
2792 jj_la1[93] = jj_gen;
2799 static final public void ElseStatement() throws ParseException {
2800 jj_consume_token(ELSE);
2804 static final public void ElseStatementColon() throws ParseException {
2805 jj_consume_token(ELSE);
2806 jj_consume_token(COLON);
2809 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2832 case INTEGER_LITERAL:
2833 case FLOATING_POINT_LITERAL:
2834 case STRING_LITERAL:
2851 jj_la1[94] = jj_gen;
2858 static final public void ElseIfStatement() throws ParseException {
2859 jj_consume_token(ELSEIF);
2860 Condition("elseif");
2864 static final public void WhileStatement() throws ParseException {
2865 jj_consume_token(WHILE);
2870 static final public void WhileStatement0() throws ParseException {
2871 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2873 jj_consume_token(COLON);
2876 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2899 case INTEGER_LITERAL:
2900 case FLOATING_POINT_LITERAL:
2901 case STRING_LITERAL:
2918 jj_la1[95] = jj_gen;
2923 jj_consume_token(ENDWHILE);
2925 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2927 jj_consume_token(SEMICOLON);
2930 jj_consume_token(135);
2933 jj_la1[96] = jj_gen;
2934 jj_consume_token(-1);
2935 throw new ParseException();
2937 } catch (ParseException e) {
2938 errorMessage = "';' expected after 'endwhile' keyword";
2940 {if (true) throw e;}
2965 case INTEGER_LITERAL:
2966 case FLOATING_POINT_LITERAL:
2967 case STRING_LITERAL:
2984 jj_la1[97] = jj_gen;
2985 jj_consume_token(-1);
2986 throw new ParseException();
2990 static final public void DoStatement() throws ParseException {
2991 jj_consume_token(DO);
2993 jj_consume_token(WHILE);
2996 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2998 jj_consume_token(SEMICOLON);
3001 jj_consume_token(135);
3004 jj_la1[98] = jj_gen;
3005 jj_consume_token(-1);
3006 throw new ParseException();
3008 } catch (ParseException e) {
3009 errorMessage = "';' expected";
3011 {if (true) throw e;}
3015 static final public void ForeachStatement() throws ParseException {
3016 jj_consume_token(FOREACH);
3017 jj_consume_token(LPAREN);
3019 jj_consume_token(AS);
3021 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3023 jj_consume_token(ARRAYASSIGN);
3027 jj_la1[99] = jj_gen;
3030 jj_consume_token(RPAREN);
3034 static final public void ForStatement() throws ParseException {
3035 jj_consume_token(FOR);
3036 jj_consume_token(LPAREN);
3037 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3048 jj_la1[100] = jj_gen;
3051 jj_consume_token(SEMICOLON);
3052 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3059 case INTEGER_LITERAL:
3060 case FLOATING_POINT_LITERAL:
3061 case STRING_LITERAL:
3076 jj_la1[101] = jj_gen;
3079 jj_consume_token(SEMICOLON);
3080 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3091 jj_la1[102] = jj_gen;
3094 jj_consume_token(RPAREN);
3095 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3118 case INTEGER_LITERAL:
3119 case FLOATING_POINT_LITERAL:
3120 case STRING_LITERAL:
3137 jj_consume_token(COLON);
3140 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3163 case INTEGER_LITERAL:
3164 case FLOATING_POINT_LITERAL:
3165 case STRING_LITERAL:
3182 jj_la1[103] = jj_gen;
3187 jj_consume_token(ENDFOR);
3189 jj_consume_token(SEMICOLON);
3190 } catch (ParseException e) {
3191 errorMessage = "';' expected 'endfor' keyword";
3193 {if (true) throw e;}
3197 jj_la1[104] = jj_gen;
3198 jj_consume_token(-1);
3199 throw new ParseException();
3203 static final public void ForInit() throws ParseException {
3204 if (jj_2_7(2147483647)) {
3205 LocalVariableDeclaration();
3207 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3215 StatementExpressionList();
3218 jj_la1[105] = jj_gen;
3219 jj_consume_token(-1);
3220 throw new ParseException();
3225 static final public void StatementExpressionList() throws ParseException {
3226 StatementExpression();
3229 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3234 jj_la1[106] = jj_gen;
3237 jj_consume_token(COMMA);
3238 StatementExpression();
3242 static final public void ForUpdate() throws ParseException {
3243 StatementExpressionList();
3246 static final public void BreakStatement() throws ParseException {
3247 jj_consume_token(BREAK);
3248 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3250 jj_consume_token(IDENTIFIER);
3253 jj_la1[107] = jj_gen;
3256 jj_consume_token(SEMICOLON);
3259 static final public void ContinueStatement() throws ParseException {
3260 jj_consume_token(CONTINUE);
3261 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3263 jj_consume_token(IDENTIFIER);
3266 jj_la1[108] = jj_gen;
3269 jj_consume_token(SEMICOLON);
3272 static final public void ReturnStatement() throws ParseException {
3273 jj_consume_token(RETURN);
3274 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3281 case INTEGER_LITERAL:
3282 case FLOATING_POINT_LITERAL:
3283 case STRING_LITERAL:
3298 jj_la1[109] = jj_gen;
3301 jj_consume_token(SEMICOLON);
3304 static final private boolean jj_2_1(int xla) {
3305 jj_la = xla; jj_lastpos = jj_scanpos = token;
3306 boolean retval = !jj_3_1();
3311 static final private boolean jj_2_2(int xla) {
3312 jj_la = xla; jj_lastpos = jj_scanpos = token;
3313 boolean retval = !jj_3_2();
3318 static final private boolean jj_2_3(int xla) {
3319 jj_la = xla; jj_lastpos = jj_scanpos = token;
3320 boolean retval = !jj_3_3();
3325 static final private boolean jj_2_4(int xla) {
3326 jj_la = xla; jj_lastpos = jj_scanpos = token;
3327 boolean retval = !jj_3_4();
3332 static final private boolean jj_2_5(int xla) {
3333 jj_la = xla; jj_lastpos = jj_scanpos = token;
3334 boolean retval = !jj_3_5();
3339 static final private boolean jj_2_6(int xla) {
3340 jj_la = xla; jj_lastpos = jj_scanpos = token;
3341 boolean retval = !jj_3_6();
3346 static final private boolean jj_2_7(int xla) {
3347 jj_la = xla; jj_lastpos = jj_scanpos = token;
3348 boolean retval = !jj_3_7();
3353 static final private boolean jj_3_5() {
3354 if (jj_3R_41()) return true;
3355 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3360 if (jj_3R_43()) return true;
3361 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3362 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3366 static final private boolean jj_3R_142() {
3367 if (jj_scan_token(TRIPLEEQUAL)) return true;
3368 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3372 static final private boolean jj_3R_141() {
3373 if (jj_scan_token(BANGDOUBLEEQUAL)) return true;
3374 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3378 static final private boolean jj_3R_107() {
3379 if (jj_scan_token(INTEGER_LITERAL)) return true;
3380 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3384 static final private boolean jj_3R_140() {
3385 if (jj_scan_token(NE)) return true;
3386 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3390 static final private boolean jj_3R_139() {
3391 if (jj_scan_token(DIF)) return true;
3392 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3396 static final private boolean jj_3R_98() {
3397 if (jj_scan_token(IDENTIFIER)) return true;
3398 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3402 static final private boolean jj_3R_105() {
3403 if (jj_scan_token(INTEGER_LITERAL)) return true;
3404 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3408 static final private boolean jj_3R_138() {
3409 if (jj_scan_token(EQ)) return true;
3410 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3414 static final private boolean jj_3R_97() {
3415 if (jj_3R_109()) return true;
3416 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3420 static final private boolean jj_3R_135() {
3431 if (jj_3R_142()) return true;
3432 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3433 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3434 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3435 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3436 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3437 if (jj_3R_134()) return true;
3438 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3442 static final private boolean jj_3R_96() {
3443 if (jj_scan_token(PLUS)) return true;
3444 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3449 if (jj_3R_108()) return true;
3450 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3451 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3455 static final private boolean jj_3R_123() {
3456 if (jj_3R_61()) return true;
3457 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3461 static final private boolean jj_3R_131() {
3462 if (jj_3R_134()) return true;
3463 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3467 if (jj_3R_135()) { jj_scanpos = xsp; break; }
3468 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3473 static final private boolean jj_3R_95() {
3474 if (jj_scan_token(MINUS)) return true;
3475 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3480 if (jj_3R_106()) return true;
3481 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3482 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3486 static final private boolean jj_3R_94() {
3487 if (jj_3R_104()) return true;
3488 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3492 static final private boolean jj_3R_76() {
3503 if (jj_3R_98()) return true;
3504 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3505 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3506 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3507 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3508 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3512 static final private boolean jj_3R_202() {
3513 if (jj_scan_token(COMMA)) return true;
3514 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3515 if (jj_3R_41()) return true;
3516 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3520 static final private boolean jj_3R_122() {
3521 if (jj_scan_token(LBRACE)) return true;
3522 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3523 if (jj_3R_41()) return true;
3524 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3525 if (jj_scan_token(RBRACE)) return true;
3526 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3530 static final private boolean jj_3R_201() {
3531 if (jj_3R_41()) return true;
3532 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3536 if (jj_3R_202()) { jj_scanpos = xsp; break; }
3537 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3542 static final private boolean jj_3R_132() {
3543 if (jj_scan_token(BIT_AND)) return true;
3544 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3545 if (jj_3R_131()) return true;
3546 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3550 static final private boolean jj_3R_71() {
3551 if (jj_scan_token(DOLLAR_ID)) return true;
3552 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3555 if (jj_3R_123()) jj_scanpos = xsp;
3556 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3560 static final private boolean jj_3R_200() {
3561 if (jj_3R_201()) return true;
3562 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3566 static final private boolean jj_3R_70() {
3567 if (jj_scan_token(DOLLAR)) return true;
3568 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3569 if (jj_3R_61()) return true;
3570 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3574 static final private boolean jj_3R_127() {
3575 if (jj_3R_131()) return true;
3576 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3580 if (jj_3R_132()) { jj_scanpos = xsp; break; }
3581 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3586 static final private boolean jj_3R_69() {
3587 if (jj_scan_token(IDENTIFIER)) return true;
3588 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3591 if (jj_3R_122()) jj_scanpos = xsp;
3592 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3596 static final private boolean jj_3R_103() {
3597 if (jj_scan_token(LBRACE)) return true;
3598 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3599 if (jj_3R_41()) return true;
3600 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3601 if (jj_scan_token(RBRACE)) return true;
3602 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3606 static final private boolean jj_3R_198() {
3607 if (jj_scan_token(LPAREN)) return true;
3608 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3611 if (jj_3R_200()) jj_scanpos = xsp;
3612 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3613 if (jj_scan_token(RPAREN)) return true;
3614 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3618 static final private boolean jj_3R_68() {
3619 if (jj_scan_token(LBRACE)) return true;
3620 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3621 if (jj_3R_41()) return true;
3622 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3623 if (jj_scan_token(RBRACE)) return true;
3624 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3628 static final private boolean jj_3R_61() {
3637 if (jj_3R_71()) return true;
3638 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3639 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3640 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3641 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3645 static final private boolean jj_3R_128() {
3646 if (jj_scan_token(XOR)) return true;
3647 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3648 if (jj_3R_127()) return true;
3649 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3653 static final private boolean jj_3R_125() {
3654 if (jj_scan_token(NULL)) return true;
3655 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3659 static final private boolean jj_3R_93() {
3660 if (jj_scan_token(DOLLAR)) return true;
3661 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3662 if (jj_3R_61()) return true;
3663 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3667 static final private boolean jj_3R_120() {
3668 if (jj_3R_127()) return true;
3669 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3673 if (jj_3R_128()) { jj_scanpos = xsp; break; }
3674 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3679 static final private boolean jj_3R_130() {
3680 if (jj_scan_token(FALSE)) return true;
3681 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3685 static final private boolean jj_3R_92() {
3686 if (jj_scan_token(DOLLAR_ID)) return true;
3687 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3690 if (jj_3R_103()) jj_scanpos = xsp;
3691 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3695 static final private boolean jj_3R_75() {
3700 if (jj_3R_93()) return true;
3701 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3702 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3706 static final private boolean jj_3R_124() {
3711 if (jj_3R_130()) return true;
3712 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3713 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3717 static final private boolean jj_3R_129() {
3718 if (jj_scan_token(TRUE)) return true;
3719 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3723 static final private boolean jj_3R_118() {
3724 if (jj_3R_125()) return true;
3725 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3729 static final private boolean jj_3R_117() {
3730 if (jj_3R_124()) return true;
3731 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3735 static final private boolean jj_3_1() {
3736 if (jj_3R_38()) return true;
3737 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3741 static final private boolean jj_3R_121() {
3742 if (jj_scan_token(BIT_OR)) return true;
3743 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3744 if (jj_3R_120()) return true;
3745 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3749 static final private boolean jj_3R_116() {
3750 if (jj_scan_token(STRING_LITERAL)) return true;
3751 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3755 static final private boolean jj_3R_115() {
3756 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
3757 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3761 static final private boolean jj_3R_110() {
3762 if (jj_3R_120()) return true;
3763 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3767 if (jj_3R_121()) { jj_scanpos = xsp; break; }
3768 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3773 static final private boolean jj_3R_66() {
3774 if (jj_3R_75()) return true;
3775 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3779 if (jj_3_1()) { jj_scanpos = xsp; break; }
3780 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3785 static final private boolean jj_3R_104() {
3796 if (jj_3R_118()) return true;
3797 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3798 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3799 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3800 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3801 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3805 static final private boolean jj_3R_114() {
3806 if (jj_scan_token(INTEGER_LITERAL)) return true;
3807 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3811 static final private boolean jj_3R_62() {
3812 if (jj_3R_41()) return true;
3813 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3817 static final private boolean jj_3R_111() {
3818 if (jj_scan_token(DOT)) return true;
3819 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3820 if (jj_3R_110()) return true;
3821 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3825 static final private boolean jj_3R_113() {
3826 if (jj_scan_token(_ANDL)) return true;
3827 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3831 static final private boolean jj_3R_67() {
3832 if (jj_scan_token(ASSIGN)) return true;
3833 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3834 if (jj_3R_76()) return true;
3835 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3839 static final private boolean jj_3R_99() {
3840 if (jj_3R_110()) return true;
3841 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3845 if (jj_3R_111()) { jj_scanpos = xsp; break; }
3846 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3851 static final private boolean jj_3R_47() {
3852 if (jj_scan_token(LBRACKET)) return true;
3853 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3856 if (jj_3R_62()) jj_scanpos = xsp;
3857 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3858 if (jj_scan_token(RBRACKET)) return true;
3859 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3863 static final private boolean jj_3R_59() {
3864 if (jj_3R_66()) return true;
3865 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3868 if (jj_3R_67()) jj_scanpos = xsp;
3869 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3873 static final private boolean jj_3R_46() {
3874 if (jj_scan_token(CLASSACCESS)) return true;
3875 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3876 if (jj_3R_61()) return true;
3877 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3881 static final private boolean jj_3R_38() {
3886 if (jj_3R_47()) return true;
3887 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3888 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3892 static final private boolean jj_3R_195() {
3893 if (jj_3R_38()) return true;
3894 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3898 static final private boolean jj_3R_194() {
3899 if (jj_3R_198()) return true;
3900 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3904 static final private boolean jj_3R_192() {
3909 if (jj_3R_195()) return true;
3910 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3911 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3915 static final private boolean jj_3R_112() {
3916 if (jj_scan_token(SC_AND)) return true;
3917 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3921 static final private boolean jj_3R_100() {
3926 if (jj_3R_113()) return true;
3927 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3928 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3929 if (jj_3R_99()) return true;
3930 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3934 static final private boolean jj_3R_102() {
3935 if (jj_scan_token(_ORL)) return true;
3936 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3940 static final private boolean jj_3R_77() {
3941 if (jj_3R_99()) return true;
3942 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3946 if (jj_3R_100()) { jj_scanpos = xsp; break; }
3947 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3952 static final private boolean jj_3R_197() {
3953 if (jj_3R_66()) return true;
3954 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3958 static final private boolean jj_3R_196() {
3959 if (jj_scan_token(IDENTIFIER)) return true;
3960 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3964 static final private boolean jj_3R_193() {
3969 if (jj_3R_197()) return true;
3970 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3971 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3975 static final private boolean jj_3R_73() {
3976 if (jj_scan_token(HOOK)) return true;
3977 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3978 if (jj_3R_41()) return true;
3979 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3980 if (jj_scan_token(COLON)) return true;
3981 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3982 if (jj_3R_64()) return true;
3983 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3987 static final private boolean jj_3R_188() {
3988 if (jj_3R_66()) return true;
3989 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3993 static final private boolean jj_3R_101() {
3994 if (jj_scan_token(SC_OR)) return true;
3995 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3999 static final private boolean jj_3R_78() {
4004 if (jj_3R_102()) return true;
4005 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4006 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4007 if (jj_3R_77()) return true;
4008 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4012 static final private boolean jj_3R_187() {
4013 if (jj_scan_token(NEW)) return true;
4014 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4015 if (jj_3R_193()) return true;
4016 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4020 static final private boolean jj_3R_190() {
4021 if (jj_scan_token(DECR)) return true;
4022 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4026 static final private boolean jj_3R_186() {
4027 if (jj_scan_token(IDENTIFIER)) return true;
4028 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4032 static final private boolean jj_3R_184() {
4039 if (jj_3R_188()) return true;
4040 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4041 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4042 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4046 static final private boolean jj_3R_72() {
4047 if (jj_3R_77()) return true;
4048 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4052 if (jj_3R_78()) { jj_scanpos = xsp; break; }
4053 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4058 static final private boolean jj_3R_60() {
4059 if (jj_scan_token(COMMA)) return true;
4060 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4061 if (jj_3R_59()) return true;
4062 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4066 static final private boolean jj_3R_109() {
4067 if (jj_scan_token(ARRAY)) return true;
4068 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4069 if (jj_3R_119()) return true;
4070 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4074 static final private boolean jj_3R_189() {
4075 if (jj_scan_token(INCR)) return true;
4076 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4080 static final private boolean jj_3R_185() {
4085 if (jj_3R_190()) 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;
4091 static final private boolean jj_3R_183() {
4092 if (jj_3R_109()) return true;
4093 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4097 static final private boolean jj_3R_64() {
4098 if (jj_3R_72()) return true;
4099 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4102 if (jj_3R_73()) jj_scanpos = xsp;
4103 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4107 static final private boolean jj_3R_191() {
4108 if (jj_3R_192()) return true;
4109 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4113 static final private boolean jj_3R_182() {
4114 if (jj_3R_184()) return true;
4115 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4119 if (jj_3R_191()) { jj_scanpos = xsp; break; }
4120 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4125 static final private boolean jj_3R_45() {
4126 if (jj_3R_59()) return true;
4127 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4131 if (jj_3R_60()) { jj_scanpos = xsp; break; }
4132 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4137 static final private boolean jj_3R_199() {
4138 if (jj_3R_192()) return true;
4139 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4143 static final private boolean jj_3R_91() {
4144 if (jj_scan_token(TILDEEQUAL)) return true;
4145 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4149 static final private boolean jj_3R_179() {
4156 if (jj_3R_183()) return true;
4157 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4158 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4159 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4163 static final private boolean jj_3R_90() {
4164 if (jj_scan_token(DOTASSIGN)) return true;
4165 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4169 static final private boolean jj_3_4() {
4170 if (jj_scan_token(IDENTIFIER)) return true;
4171 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4172 if (jj_scan_token(STATICCLASSACCESS)) return true;
4173 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4174 if (jj_3R_193()) return true;
4175 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4179 if (jj_3R_199()) { jj_scanpos = xsp; break; }
4180 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4185 static final private boolean jj_3R_89() {
4186 if (jj_scan_token(ORASSIGN)) return true;
4187 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4191 static final private boolean jj_3R_88() {
4192 if (jj_scan_token(XORASSIGN)) return true;
4193 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4197 static final private boolean jj_3R_87() {
4198 if (jj_scan_token(ANDASSIGN)) return true;
4199 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4203 static final private boolean jj_3R_86() {
4204 if (jj_scan_token(RSIGNEDSHIFTASSIGN)) return true;
4205 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4209 static final private boolean jj_3R_85() {
4210 if (jj_scan_token(LSHIFTASSIGN)) return true;
4211 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4215 static final private boolean jj_3R_84() {
4216 if (jj_scan_token(MINUSASSIGN)) return true;
4217 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4221 static final private boolean jj_3R_83() {
4222 if (jj_scan_token(PLUSASSIGN)) return true;
4223 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4227 static final private boolean jj_3R_181() {
4228 if (jj_3R_179()) return true;
4229 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4232 if (jj_3R_185()) jj_scanpos = xsp;
4233 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4237 static final private boolean jj_3R_82() {
4238 if (jj_scan_token(REMASSIGN)) return true;
4239 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4243 static final private boolean jj_3R_81() {
4244 if (jj_scan_token(SLASHASSIGN)) return true;
4245 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4249 static final private boolean jj_3R_80() {
4250 if (jj_scan_token(STARASSIGN)) return true;
4251 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4255 static final private boolean jj_3R_79() {
4256 if (jj_scan_token(ASSIGN)) return true;
4257 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4261 static final private boolean jj_3R_74() {
4288 if (jj_3R_91()) return true;
4289 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4290 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4291 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4292 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4293 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4294 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4295 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4296 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4297 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4298 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4299 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4300 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4301 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4305 static final private boolean jj_3R_44() {
4306 if (jj_scan_token(IDENTIFIER)) return true;
4307 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4308 if (jj_scan_token(COLON)) return true;
4309 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4313 static final private boolean jj_3R_180() {
4314 if (jj_scan_token(LPAREN)) return true;
4315 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4316 if (jj_3R_40()) return true;
4317 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4318 if (jj_scan_token(RPAREN)) return true;
4319 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4320 if (jj_3R_154()) return true;
4321 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4325 static final private boolean jj_3_3() {
4326 if (jj_scan_token(LPAREN)) return true;
4327 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4328 if (jj_3R_40()) return true;
4329 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4330 if (jj_scan_token(RPAREN)) return true;
4331 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4335 static final private boolean jj_3R_178() {
4336 if (jj_scan_token(LPAREN)) return true;
4337 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4338 if (jj_3R_41()) return true;
4339 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4340 if (jj_scan_token(RPAREN)) return true;
4341 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4345 static final private boolean jj_3R_177() {
4346 if (jj_3R_104()) return true;
4347 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4351 static final private boolean jj_3R_65() {
4352 if (jj_3R_74()) return true;
4353 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4354 if (jj_3R_41()) return true;
4355 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4359 static final private boolean jj_3R_176() {
4360 if (jj_3R_181()) return true;
4361 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4365 static final private boolean jj_3R_58() {
4366 if (jj_3R_64()) return true;
4367 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4370 if (jj_3R_65()) jj_scanpos = xsp;
4371 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4375 static final private boolean jj_3R_175() {
4376 if (jj_3R_180()) return true;
4377 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4381 static final private boolean jj_3R_41() {
4386 if (jj_3R_58()) return true;
4387 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4388 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4392 static final private boolean jj_3R_57() {
4393 if (jj_3R_63()) return true;
4394 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4398 static final private boolean jj_3R_174() {
4399 if (jj_scan_token(BANG)) return true;
4400 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4401 if (jj_3R_154()) return true;
4402 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4406 static final private boolean jj_3R_173() {
4417 if (jj_3R_178()) return true;
4418 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4419 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4420 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4421 } else 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_172() {
4427 if (jj_scan_token(DECR)) return true;
4428 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4429 if (jj_3R_179()) return true;
4430 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4434 static final private boolean jj_3R_56() {
4435 if (jj_scan_token(OBJECT)) return true;
4436 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4440 static final private boolean jj_3R_55() {
4441 if (jj_scan_token(INTEGER)) return true;
4442 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4446 static final private boolean jj_3R_54() {
4447 if (jj_scan_token(INT)) return true;
4448 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4452 static final private boolean jj_3R_171() {
4453 if (jj_scan_token(INCR)) return true;
4454 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4455 if (jj_3R_179()) return true;
4456 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4460 static final private boolean jj_3R_53() {
4461 if (jj_scan_token(FLOAT)) return true;
4462 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4466 static final private boolean jj_3R_170() {
4467 if (jj_scan_token(MINUS)) return true;
4468 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4472 static final private boolean jj_3R_52() {
4473 if (jj_scan_token(DOUBLE)) return true;
4474 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4478 static final private boolean jj_3R_51() {
4479 if (jj_scan_token(REAL)) return true;
4480 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4484 static final private boolean jj_3R_63() {
4485 if (jj_scan_token(PRINT)) return true;
4486 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4487 if (jj_3R_41()) return true;
4488 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4492 static final private boolean jj_3R_50() {
4493 if (jj_scan_token(BOOLEAN)) return true;
4494 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4498 static final private boolean jj_3R_168() {
4499 if (jj_3R_173()) return true;
4500 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4504 static final private boolean jj_3R_49() {
4505 if (jj_scan_token(BOOL)) return true;
4506 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4510 static final private boolean jj_3R_167() {
4511 if (jj_3R_172()) return true;
4512 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4516 static final private boolean jj_3R_162() {
4517 if (jj_scan_token(REM)) return true;
4518 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4522 static final private boolean jj_3R_40() {
4541 if (jj_3R_56()) return true;
4542 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4543 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4544 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4545 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4546 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4547 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4548 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4549 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4550 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4554 static final private boolean jj_3R_48() {
4555 if (jj_scan_token(STRING)) return true;
4556 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4560 static final private boolean jj_3R_166() {
4561 if (jj_3R_171()) return true;
4562 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4566 static final private boolean jj_3R_169() {
4567 if (jj_scan_token(PLUS)) return true;
4568 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4572 static final private boolean jj_3R_163() {
4581 if (jj_3R_168()) return true;
4582 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4583 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4584 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4585 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4589 static final private boolean jj_3R_165() {
4594 if (jj_3R_170()) return true;
4595 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4596 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4597 if (jj_3R_154()) return true;
4598 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4602 static final private boolean jj_3R_164() {
4603 if (jj_scan_token(AT)) return true;
4604 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4608 static final private boolean jj_3R_159() {
4612 if (jj_3R_164()) { jj_scanpos = xsp; break; }
4613 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4615 if (jj_3R_163()) return true;
4616 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4620 static final private boolean jj_3R_161() {
4621 if (jj_scan_token(SLASH)) return true;
4622 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4626 static final private boolean jj_3R_154() {
4631 if (jj_3R_159()) return true;
4632 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4633 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4637 static final private boolean jj_3R_158() {
4638 if (jj_scan_token(BIT_AND)) return true;
4639 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4640 if (jj_3R_163()) return true;
4641 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4645 static final private boolean jj_3R_153() {
4646 if (jj_scan_token(RUNSIGNEDSHIFT)) return true;
4647 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4651 static final private boolean jj_3R_157() {
4652 if (jj_scan_token(MINUS)) return true;
4653 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4657 static final private boolean jj_3R_160() {
4658 if (jj_scan_token(STAR)) return true;
4659 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4663 static final private boolean jj_3R_155() {
4670 if (jj_3R_162()) return true;
4671 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4672 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4673 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4674 if (jj_3R_154()) return true;
4675 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4679 static final private boolean jj_3R_148() {
4680 if (jj_scan_token(GE)) return true;
4681 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4685 static final private boolean jj_3R_149() {
4686 if (jj_3R_154()) return true;
4687 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4691 if (jj_3R_155()) { jj_scanpos = xsp; break; }
4692 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4697 static final private boolean jj_3R_152() {
4698 if (jj_scan_token(RSIGNEDSHIFT)) return true;
4699 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4703 static final private boolean jj_3R_156() {
4704 if (jj_scan_token(PLUS)) return true;
4705 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4709 static final private boolean jj_3R_150() {
4714 if (jj_3R_157()) return true;
4715 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4716 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4717 if (jj_3R_149()) return true;
4718 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4722 static final private boolean jj_3R_147() {
4723 if (jj_scan_token(LE)) return true;
4724 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4728 static final private boolean jj_3R_143() {
4729 if (jj_3R_149()) return true;
4730 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4734 if (jj_3R_150()) { jj_scanpos = xsp; break; }
4735 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4740 static final private boolean jj_3R_151() {
4741 if (jj_scan_token(LSHIFT)) return true;
4742 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4746 static final private boolean jj_3R_144() {
4753 if (jj_3R_153()) return true;
4754 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4755 } else 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_143()) return true;
4758 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4762 static final private boolean jj_3R_146() {
4763 if (jj_scan_token(GT)) return true;
4764 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4768 static final private boolean jj_3R_136() {
4769 if (jj_3R_143()) return true;
4770 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4774 if (jj_3R_144()) { jj_scanpos = xsp; break; }
4775 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4780 static final private boolean jj_3_2() {
4781 if (jj_scan_token(COMMA)) return true;
4782 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4783 if (jj_3R_39()) return true;
4784 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4788 static final private boolean jj_3R_126() {
4789 if (jj_3R_39()) return true;
4790 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4794 if (jj_3_2()) { jj_scanpos = xsp; break; }
4795 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4800 static final private boolean jj_3R_108() {
4801 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
4802 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4806 static final private boolean jj_3R_106() {
4807 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
4808 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4812 static final private boolean jj_3R_43() {
4813 if (jj_scan_token(135)) return true;
4814 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4818 static final private boolean jj_3R_145() {
4819 if (jj_scan_token(LT)) return true;
4820 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4824 static final private boolean jj_3R_119() {
4825 if (jj_scan_token(LPAREN)) return true;
4826 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4829 if (jj_3R_126()) jj_scanpos = xsp;
4830 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4831 if (jj_scan_token(RPAREN)) return true;
4832 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4836 static final private boolean jj_3R_137() {
4845 if (jj_3R_148()) return true;
4846 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4847 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4848 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4849 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4850 if (jj_3R_136()) return true;
4851 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4855 static final private boolean jj_3R_134() {
4856 if (jj_3R_136()) return true;
4857 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4861 if (jj_3R_137()) { jj_scanpos = xsp; break; }
4862 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4867 static final private boolean jj_3_6() {
4868 if (jj_3R_44()) return true;
4869 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4873 static final private boolean jj_3R_133() {
4874 if (jj_scan_token(ARRAYASSIGN)) return true;
4875 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4876 if (jj_3R_41()) return true;
4877 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4881 static final private boolean jj_3R_42() {
4882 if (jj_scan_token(SEMICOLON)) return true;
4883 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4887 static final private boolean jj_3R_39() {
4888 if (jj_3R_41()) return true;
4889 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4892 if (jj_3R_133()) jj_scanpos = xsp;
4893 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4897 static final private boolean jj_3_7() {
4898 if (jj_3R_45()) return true;
4899 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4903 static private boolean jj_initialized_once = false;
4904 static public PHPParserTokenManager token_source;
4905 static SimpleCharStream jj_input_stream;
4906 static public Token token, jj_nt;
4907 static private int jj_ntk;
4908 static private Token jj_scanpos, jj_lastpos;
4909 static private int jj_la;
4910 static public boolean lookingAhead = false;
4911 static private boolean jj_semLA;
4912 static private int jj_gen;
4913 static final private int[] jj_la1 = new int[110];
4914 static private int[] jj_la1_0;
4915 static private int[] jj_la1_1;
4916 static private int[] jj_la1_2;
4917 static private int[] jj_la1_3;
4918 static private int[] jj_la1_4;
4926 private static void jj_la1_0() {
4927 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,};
4929 private static void jj_la1_1() {
4930 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,};
4932 private static void jj_la1_2() {
4933 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,};
4935 private static void jj_la1_3() {
4936 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,};
4938 private static void jj_la1_4() {
4939 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,};
4941 static final private JJCalls[] jj_2_rtns = new JJCalls[7];
4942 static private boolean jj_rescan = false;
4943 static private int jj_gc = 0;
4945 public PHPParser(java.io.InputStream stream) {
4946 if (jj_initialized_once) {
4947 System.out.println("ERROR: Second call to constructor of static parser. You must");
4948 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
4949 System.out.println(" during parser generation.");
4952 jj_initialized_once = true;
4953 jj_input_stream = new SimpleCharStream(stream, 1, 1);
4954 token_source = new PHPParserTokenManager(jj_input_stream);
4955 token = new Token();
4958 for (int i = 0; i < 110; i++) jj_la1[i] = -1;
4959 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4962 static public void ReInit(java.io.InputStream stream) {
4963 jj_input_stream.ReInit(stream, 1, 1);
4964 token_source.ReInit(jj_input_stream);
4965 token = new Token();
4968 for (int i = 0; i < 110; i++) jj_la1[i] = -1;
4969 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4972 public PHPParser(java.io.Reader stream) {
4973 if (jj_initialized_once) {
4974 System.out.println("ERROR: Second call to constructor of static parser. You must");
4975 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
4976 System.out.println(" during parser generation.");
4979 jj_initialized_once = true;
4980 jj_input_stream = new SimpleCharStream(stream, 1, 1);
4981 token_source = new PHPParserTokenManager(jj_input_stream);
4982 token = new Token();
4985 for (int i = 0; i < 110; i++) jj_la1[i] = -1;
4986 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4989 static public void ReInit(java.io.Reader stream) {
4990 jj_input_stream.ReInit(stream, 1, 1);
4991 token_source.ReInit(jj_input_stream);
4992 token = new Token();
4995 for (int i = 0; i < 110; i++) jj_la1[i] = -1;
4996 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4999 public PHPParser(PHPParserTokenManager tm) {
5000 if (jj_initialized_once) {
5001 System.out.println("ERROR: Second call to constructor of static parser. You must");
5002 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
5003 System.out.println(" during parser generation.");
5006 jj_initialized_once = true;
5008 token = new Token();
5011 for (int i = 0; i < 110; i++) jj_la1[i] = -1;
5012 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5015 public void ReInit(PHPParserTokenManager tm) {
5017 token = new Token();
5020 for (int i = 0; i < 110; i++) jj_la1[i] = -1;
5021 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
5024 static final private Token jj_consume_token(int kind) throws ParseException {
5026 if ((oldToken = token).next != null) token = token.next;
5027 else token = token.next = token_source.getNextToken();
5029 if (token.kind == kind) {
5031 if (++jj_gc > 100) {
5033 for (int i = 0; i < jj_2_rtns.length; i++) {
5034 JJCalls c = jj_2_rtns[i];
5036 if (c.gen < jj_gen) c.first = null;
5045 throw generateParseException();
5048 static final private boolean jj_scan_token(int kind) {
5049 if (jj_scanpos == jj_lastpos) {
5051 if (jj_scanpos.next == null) {
5052 jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
5054 jj_lastpos = jj_scanpos = jj_scanpos.next;
5057 jj_scanpos = jj_scanpos.next;
5060 int i = 0; Token tok = token;
5061 while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
5062 if (tok != null) jj_add_error_token(kind, i);
5064 return (jj_scanpos.kind != kind);
5067 static final public Token getNextToken() {
5068 if (token.next != null) token = token.next;
5069 else token = token.next = token_source.getNextToken();
5075 static final public Token getToken(int index) {
5076 Token t = lookingAhead ? jj_scanpos : token;
5077 for (int i = 0; i < index; i++) {
5078 if (t.next != null) t = t.next;
5079 else t = t.next = token_source.getNextToken();
5084 static final private int jj_ntk() {
5085 if ((jj_nt=token.next) == null)
5086 return (jj_ntk = (token.next=token_source.getNextToken()).kind);
5088 return (jj_ntk = jj_nt.kind);
5091 static private java.util.Vector jj_expentries = new java.util.Vector();
5092 static private int[] jj_expentry;
5093 static private int jj_kind = -1;
5094 static private int[] jj_lasttokens = new int[100];
5095 static private int jj_endpos;
5097 static private void jj_add_error_token(int kind, int pos) {
5098 if (pos >= 100) return;
5099 if (pos == jj_endpos + 1) {
5100 jj_lasttokens[jj_endpos++] = kind;
5101 } else if (jj_endpos != 0) {
5102 jj_expentry = new int[jj_endpos];
5103 for (int i = 0; i < jj_endpos; i++) {
5104 jj_expentry[i] = jj_lasttokens[i];
5106 boolean exists = false;
5107 for (java.util.Enumeration enum = jj_expentries.elements(); enum.hasMoreElements();) {
5108 int[] oldentry = (int[])(enum.nextElement());
5109 if (oldentry.length == jj_expentry.length) {
5111 for (int i = 0; i < jj_expentry.length; i++) {
5112 if (oldentry[i] != jj_expentry[i]) {
5120 if (!exists) jj_expentries.addElement(jj_expentry);
5121 if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
5125 static public ParseException generateParseException() {
5126 jj_expentries.removeAllElements();
5127 boolean[] la1tokens = new boolean[136];
5128 for (int i = 0; i < 136; i++) {
5129 la1tokens[i] = false;
5132 la1tokens[jj_kind] = true;
5135 for (int i = 0; i < 110; i++) {
5136 if (jj_la1[i] == jj_gen) {
5137 for (int j = 0; j < 32; j++) {
5138 if ((jj_la1_0[i] & (1<<j)) != 0) {
5139 la1tokens[j] = true;
5141 if ((jj_la1_1[i] & (1<<j)) != 0) {
5142 la1tokens[32+j] = true;
5144 if ((jj_la1_2[i] & (1<<j)) != 0) {
5145 la1tokens[64+j] = true;
5147 if ((jj_la1_3[i] & (1<<j)) != 0) {
5148 la1tokens[96+j] = true;
5150 if ((jj_la1_4[i] & (1<<j)) != 0) {
5151 la1tokens[128+j] = true;
5156 for (int i = 0; i < 136; i++) {
5158 jj_expentry = new int[1];
5160 jj_expentries.addElement(jj_expentry);
5165 jj_add_error_token(0, 0);
5166 int[][] exptokseq = new int[jj_expentries.size()][];
5167 for (int i = 0; i < jj_expentries.size(); i++) {
5168 exptokseq[i] = (int[])jj_expentries.elementAt(i);
5170 return new ParseException(token, exptokseq, tokenImage);
5173 static final public void enable_tracing() {
5176 static final public void disable_tracing() {
5179 static final private void jj_rescan_token() {
5181 for (int i = 0; i < 7; i++) {
5182 JJCalls p = jj_2_rtns[i];
5184 if (p.gen > jj_gen) {
5185 jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
5187 case 0: jj_3_1(); break;
5188 case 1: jj_3_2(); break;
5189 case 2: jj_3_3(); break;
5190 case 3: jj_3_4(); break;
5191 case 4: jj_3_5(); break;
5192 case 5: jj_3_6(); break;
5193 case 6: jj_3_7(); break;
5197 } while (p != null);
5202 static final private void jj_save(int index, int xla) {
5203 JJCalls p = jj_2_rtns[index];
5204 while (p.gen > jj_gen) {
5205 if (p.next == null) { p = p.next = new JJCalls(); break; }
5208 p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
5211 static final class JJCalls {