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 ReInit(new StringReader(s));
187 } catch (ParseException e) {
188 processParseException(e);
193 * Call the php parse command ( php -l -f <filename> )
194 * and create markers according to the external parser output
196 public static void phpExternalParse(IFile file) {
197 IPreferenceStore store = PHPeclipsePlugin.getDefault().getPreferenceStore();
198 String filename = file.getLocation().toString();
200 String[] arguments = { filename };
201 MessageFormat form = new MessageFormat(store.getString(PHPeclipsePlugin.EXTERNAL_PARSER_PREF));
202 String command = form.format(arguments);
204 String parserResult = PHPStartApacheAction.getParserOutput(command, "External parser: ");
207 // parse the buffer to find the errors and warnings
208 createMarkers(parserResult, file);
209 } catch (CoreException e) {
210 PHPeclipsePlugin.log(e);
214 public void parse() throws ParseException {
218 /*****************************************
219 * THE JAVA LANGUAGE GRAMMAR STARTS HERE *
220 *****************************************/
223 * Program structuring syntax follows.
225 static final public void phpTest() throws ParseException {
230 static final public void phpFile() throws ParseException {
234 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
242 jj_consume_token(PHPSTART);
244 jj_consume_token(PHPEND);
247 } catch (TokenMgrError e) {
248 errorMessage = e.getMessage();
250 {if (true) throw generateParseException();}
254 static final public void Php() throws ParseException {
257 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
282 case INTEGER_LITERAL:
283 case FLOATING_POINT_LITERAL:
308 static final public void ClassDeclaration() throws ParseException {
309 PHPClassDeclaration classDeclaration;
311 int pos = jj_input_stream.bufpos;
312 jj_consume_token(CLASS);
313 className = jj_consume_token(IDENTIFIER);
314 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
316 jj_consume_token(EXTENDS);
317 jj_consume_token(IDENTIFIER);
323 classDeclaration = new PHPClassDeclaration(currentSegment,className.image,pos);
324 currentSegment.add(classDeclaration);
325 currentSegment = classDeclaration;
327 currentSegment = (PHPSegmentWithChildren) currentSegment.getParent();
330 static final public void ClassBody() throws ParseException {
332 jj_consume_token(LBRACE);
333 } catch (ParseException e) {
334 errorMessage = "'{' expected";
340 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
349 ClassBodyDeclaration();
352 jj_consume_token(RBRACE);
353 } catch (ParseException e) {
354 errorMessage = "'var', 'function' or '}' expected";
360 static final public void ClassBodyDeclaration() throws ParseException {
361 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
370 jj_consume_token(-1);
371 throw new ParseException();
375 static final public void FieldDeclaration() throws ParseException {
376 PHPVarDeclaration variableDeclaration;
377 jj_consume_token(VAR);
378 variableDeclaration = VariableDeclarator();
379 currentSegment.add(variableDeclaration);
382 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
390 jj_consume_token(COMMA);
391 variableDeclaration = VariableDeclarator();
392 currentSegment.add(variableDeclaration);
395 jj_consume_token(SEMICOLON);
396 } catch (ParseException e) {
397 errorMessage = "';' expected after variable declaration";
403 static final public PHPVarDeclaration VariableDeclarator() throws ParseException {
405 String varValue = null;
406 int pos = jj_input_stream.bufpos;
407 varName = VariableDeclaratorId();
408 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
410 jj_consume_token(ASSIGN);
412 varValue = VariableInitializer();
413 } catch (ParseException e) {
414 errorMessage = "Literal expression expected in variable initializer";
423 if (varValue == null) {
424 {if (true) return new PHPVarDeclaration(currentSegment,varName,pos);}
426 {if (true) return new PHPVarDeclaration(currentSegment,varName,pos,varValue);}
427 throw new Error("Missing return statement in function");
430 static final public String VariableDeclaratorId() throws ParseException {
432 StringBuffer buff = new StringBuffer();
443 expr = VariableSuffix();
446 {if (true) return buff.toString();}
447 } catch (ParseException e) {
448 errorMessage = "'$' expected for variable identifier";
452 throw new Error("Missing return statement in function");
455 static final public String Variable() throws ParseException {
458 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
460 token = jj_consume_token(DOLLAR_ID);
461 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
463 jj_consume_token(LBRACE);
465 jj_consume_token(RBRACE);
472 {if (true) return token.image;}
474 {if (true) return token + "{" + expr + "}";}
477 jj_consume_token(DOLLAR);
478 expr = VariableName();
479 {if (true) return "$" + expr;}
483 jj_consume_token(-1);
484 throw new ParseException();
486 throw new Error("Missing return statement in function");
489 static final public String VariableName() throws ParseException {
492 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
494 jj_consume_token(LBRACE);
496 jj_consume_token(RBRACE);
497 {if (true) return "{"+expr+"}";}
500 token = jj_consume_token(IDENTIFIER);
501 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
503 jj_consume_token(LBRACE);
505 jj_consume_token(RBRACE);
512 {if (true) return token.image;}
514 {if (true) return token + "{" + expr + "}";}
517 jj_consume_token(DOLLAR);
518 expr = VariableName();
519 {if (true) return "$" + expr;}
522 token = jj_consume_token(DOLLAR_ID);
523 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
528 expr = VariableName();
535 {if (true) return token.image;}
537 {if (true) return token.image + expr;}
541 jj_consume_token(-1);
542 throw new ParseException();
544 throw new Error("Missing return statement in function");
547 static final public String VariableInitializer() throws ParseException {
550 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
554 case INTEGER_LITERAL:
555 case FLOATING_POINT_LITERAL:
558 {if (true) return expr;}
561 jj_consume_token(MINUS);
562 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
563 case INTEGER_LITERAL:
564 token = jj_consume_token(INTEGER_LITERAL);
566 case FLOATING_POINT_LITERAL:
567 token = jj_consume_token(FLOATING_POINT_LITERAL);
571 jj_consume_token(-1);
572 throw new ParseException();
574 {if (true) return "-" + token.image;}
577 jj_consume_token(PLUS);
578 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
579 case INTEGER_LITERAL:
580 token = jj_consume_token(INTEGER_LITERAL);
582 case FLOATING_POINT_LITERAL:
583 token = jj_consume_token(FLOATING_POINT_LITERAL);
587 jj_consume_token(-1);
588 throw new ParseException();
590 {if (true) return "+" + token.image;}
593 expr = ArrayDeclarator();
594 {if (true) return expr;}
597 token = jj_consume_token(IDENTIFIER);
598 {if (true) return token.image;}
602 jj_consume_token(-1);
603 throw new ParseException();
605 throw new Error("Missing return statement in function");
608 static final public String ArrayVariable() throws ParseException {
610 StringBuffer buff = new StringBuffer();
613 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
615 jj_consume_token(ARRAYASSIGN);
617 buff.append("=>").append(expr);
623 {if (true) return buff.toString();}
624 throw new Error("Missing return statement in function");
627 static final public String ArrayInitializer() throws ParseException {
629 StringBuffer buff = new StringBuffer("(");
630 jj_consume_token(LPAREN);
631 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
638 case INTEGER_LITERAL:
639 case FLOATING_POINT_LITERAL:
652 expr = ArrayVariable();
661 jj_consume_token(COMMA);
662 expr = ArrayVariable();
663 buff.append(",").append(expr);
670 jj_consume_token(RPAREN);
672 {if (true) return buff.toString();}
673 throw new Error("Missing return statement in function");
676 static final public void MethodDeclaration() throws ParseException {
677 PHPFunctionDeclaration functionDeclaration;
678 jj_consume_token(FUNCTION);
679 functionDeclaration = MethodDeclarator();
680 currentSegment.add(functionDeclaration);
681 currentSegment = functionDeclaration;
683 currentSegment = (PHPSegmentWithChildren) currentSegment.getParent();
686 static final public PHPFunctionDeclaration MethodDeclarator() throws ParseException {
688 StringBuffer methodDeclaration = new StringBuffer();
689 String formalParameters;
690 int pos = jj_input_stream.bufpos;
691 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
693 jj_consume_token(BIT_AND);
694 methodDeclaration.append("&");
700 identifier = jj_consume_token(IDENTIFIER);
701 methodDeclaration.append(identifier);
702 formalParameters = FormalParameters();
703 methodDeclaration.append(formalParameters);
704 {if (true) return new PHPFunctionDeclaration(currentSegment,methodDeclaration.toString(),pos);}
705 throw new Error("Missing return statement in function");
708 static final public String FormalParameters() throws ParseException {
710 final StringBuffer buff = new StringBuffer("(");
712 jj_consume_token(LPAREN);
713 } catch (ParseException e) {
714 errorMessage = "Formal parameter expected after function identifier";
716 jj_consume_token(token.kind);
718 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
722 expr = FormalParameter();
726 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
734 jj_consume_token(COMMA);
735 expr = FormalParameter();
736 buff.append(",").append(expr);
744 jj_consume_token(RPAREN);
745 } catch (ParseException e) {
746 errorMessage = "')' expected";
751 {if (true) return buff.toString();}
752 throw new Error("Missing return statement in function");
755 static final public String FormalParameter() throws ParseException {
756 PHPVarDeclaration variableDeclaration;
757 StringBuffer buff = new StringBuffer();
758 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
760 jj_consume_token(BIT_AND);
767 variableDeclaration = VariableDeclarator();
768 buff.append(variableDeclaration.toString());
769 {if (true) return buff.toString();}
770 throw new Error("Missing return statement in function");
773 static final public String Type() throws ParseException {
774 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
776 jj_consume_token(STRING);
777 {if (true) return "string";}
780 jj_consume_token(BOOL);
781 {if (true) return "bool";}
784 jj_consume_token(BOOLEAN);
785 {if (true) return "boolean";}
788 jj_consume_token(REAL);
789 {if (true) return "real";}
792 jj_consume_token(DOUBLE);
793 {if (true) return "double";}
796 jj_consume_token(FLOAT);
797 {if (true) return "float";}
800 jj_consume_token(INT);
801 {if (true) return "int";}
804 jj_consume_token(INTEGER);
805 {if (true) return "integer";}
808 jj_consume_token(OBJECT);
809 {if (true) return "object";}
813 jj_consume_token(-1);
814 throw new ParseException();
816 throw new Error("Missing return statement in function");
819 static final public String Expression() throws ParseException {
821 String assignOperator = null;
823 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
825 expr = PrintExpression();
826 {if (true) return expr;}
833 case INTEGER_LITERAL:
834 case FLOATING_POINT_LITERAL:
847 expr = ConditionalExpression();
848 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
860 case RSIGNEDSHIFTASSIGN:
862 assignOperator = AssignmentOperator();
864 expr2 = Expression();
865 } catch (ParseException e) {
866 errorMessage = "expression expected";
876 {if (true) return expr;}
878 {if (true) return expr + assignOperator + expr2;}
883 jj_consume_token(-1);
884 throw new ParseException();
886 throw new Error("Missing return statement in function");
889 static final public String AssignmentOperator() throws ParseException {
890 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
892 jj_consume_token(ASSIGN);
893 {if (true) return "=";}
896 jj_consume_token(STARASSIGN);
897 {if (true) return "*=";}
900 jj_consume_token(SLASHASSIGN);
901 {if (true) return "/=";}
904 jj_consume_token(REMASSIGN);
905 {if (true) return "%=";}
908 jj_consume_token(PLUSASSIGN);
909 {if (true) return "+=";}
912 jj_consume_token(MINUSASSIGN);
913 {if (true) return "-=";}
916 jj_consume_token(LSHIFTASSIGN);
917 {if (true) return "<<=";}
919 case RSIGNEDSHIFTASSIGN:
920 jj_consume_token(RSIGNEDSHIFTASSIGN);
921 {if (true) return ">>=";}
924 jj_consume_token(ANDASSIGN);
925 {if (true) return "&=";}
928 jj_consume_token(XORASSIGN);
929 {if (true) return "|=";}
932 jj_consume_token(ORASSIGN);
933 {if (true) return "|=";}
936 jj_consume_token(DOTASSIGN);
937 {if (true) return ".=";}
940 jj_consume_token(TILDEEQUAL);
941 {if (true) return "~=";}
945 jj_consume_token(-1);
946 throw new ParseException();
948 throw new Error("Missing return statement in function");
951 static final public String ConditionalExpression() throws ParseException {
955 expr = ConditionalOrExpression();
956 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
958 jj_consume_token(HOOK);
959 expr2 = Expression();
960 jj_consume_token(COLON);
961 expr3 = ConditionalExpression();
968 {if (true) return expr;}
970 {if (true) return expr + "?" + expr2 + ":" + expr3;}
972 throw new Error("Missing return statement in function");
975 static final public String ConditionalOrExpression() throws ParseException {
979 StringBuffer buff = new StringBuffer();
980 expr = ConditionalAndExpression();
984 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
993 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
995 operator = jj_consume_token(SC_OR);
998 operator = jj_consume_token(_ORL);
1001 jj_la1[27] = jj_gen;
1002 jj_consume_token(-1);
1003 throw new ParseException();
1005 expr2 = ConditionalAndExpression();
1006 buff.append(operator.image);
1009 {if (true) return buff.toString();}
1010 throw new Error("Missing return statement in function");
1013 static final public String ConditionalAndExpression() throws ParseException {
1016 String expr2 = null;
1017 StringBuffer buff = new StringBuffer();
1018 expr = ConcatExpression();
1022 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1028 jj_la1[28] = jj_gen;
1031 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1033 operator = jj_consume_token(SC_AND);
1036 operator = jj_consume_token(_ANDL);
1039 jj_la1[29] = jj_gen;
1040 jj_consume_token(-1);
1041 throw new ParseException();
1043 expr2 = ConcatExpression();
1044 buff.append(operator.image);
1047 {if (true) return buff.toString();}
1048 throw new Error("Missing return statement in function");
1051 static final public String ConcatExpression() throws ParseException {
1053 String expr2 = null;
1054 StringBuffer buff = new StringBuffer();
1055 expr = InclusiveOrExpression();
1059 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1064 jj_la1[30] = jj_gen;
1067 jj_consume_token(DOT);
1068 expr2 = InclusiveOrExpression();
1072 {if (true) return buff.toString();}
1073 throw new Error("Missing return statement in function");
1076 static final public String InclusiveOrExpression() throws ParseException {
1078 String expr2 = null;
1079 StringBuffer buff = new StringBuffer();
1080 expr = ExclusiveOrExpression();
1084 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1089 jj_la1[31] = jj_gen;
1092 jj_consume_token(BIT_OR);
1093 expr2 = ExclusiveOrExpression();
1097 {if (true) return buff.toString();}
1098 throw new Error("Missing return statement in function");
1101 static final public String ExclusiveOrExpression() throws ParseException {
1103 String expr2 = null;
1104 StringBuffer buff = new StringBuffer();
1105 expr = AndExpression();
1109 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1114 jj_la1[32] = jj_gen;
1117 jj_consume_token(XOR);
1118 expr2 = AndExpression();
1122 {if (true) return buff.toString();}
1123 throw new Error("Missing return statement in function");
1126 static final public String AndExpression() throws ParseException {
1128 String expr2 = null;
1129 StringBuffer buff = new StringBuffer();
1130 expr = EqualityExpression();
1134 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1139 jj_la1[33] = jj_gen;
1142 jj_consume_token(BIT_AND);
1143 expr2 = EqualityExpression();
1147 {if (true) return buff.toString();}
1148 throw new Error("Missing return statement in function");
1151 static final public String EqualityExpression() throws ParseException {
1155 StringBuffer buff = new StringBuffer();
1156 expr = RelationalExpression();
1160 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1163 case BANGDOUBLEEQUAL:
1168 jj_la1[34] = jj_gen;
1171 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1173 operator = jj_consume_token(EQ);
1176 operator = jj_consume_token(NE);
1178 case BANGDOUBLEEQUAL:
1179 operator = jj_consume_token(BANGDOUBLEEQUAL);
1182 operator = jj_consume_token(TRIPLEEQUAL);
1185 jj_la1[35] = jj_gen;
1186 jj_consume_token(-1);
1187 throw new ParseException();
1189 expr2 = RelationalExpression();
1190 buff.append(operator.image);
1193 {if (true) return buff.toString();}
1194 throw new Error("Missing return statement in function");
1197 static final public String RelationalExpression() throws ParseException {
1201 StringBuffer buff = new StringBuffer();
1202 expr = ShiftExpression();
1206 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1214 jj_la1[36] = jj_gen;
1217 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1219 operator = jj_consume_token(LT);
1222 operator = jj_consume_token(GT);
1225 operator = jj_consume_token(LE);
1228 operator = jj_consume_token(GE);
1231 jj_la1[37] = jj_gen;
1232 jj_consume_token(-1);
1233 throw new ParseException();
1235 expr2 = ShiftExpression();
1236 buff.append(operator.image);
1239 {if (true) return buff.toString();}
1240 throw new Error("Missing return statement in function");
1243 static final public String ShiftExpression() throws ParseException {
1247 StringBuffer buff = new StringBuffer();
1248 expr = AdditiveExpression();
1252 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1255 case RUNSIGNEDSHIFT:
1259 jj_la1[38] = jj_gen;
1262 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1264 operator = jj_consume_token(LSHIFT);
1267 operator = jj_consume_token(RSIGNEDSHIFT);
1269 case RUNSIGNEDSHIFT:
1270 operator = jj_consume_token(RUNSIGNEDSHIFT);
1273 jj_la1[39] = jj_gen;
1274 jj_consume_token(-1);
1275 throw new ParseException();
1277 expr2 = AdditiveExpression();
1278 buff.append(operator.image);
1281 {if (true) return buff.toString();}
1282 throw new Error("Missing return statement in function");
1285 static final public String AdditiveExpression() throws ParseException {
1289 StringBuffer buff = new StringBuffer();
1290 expr = MultiplicativeExpression();
1294 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1300 jj_la1[40] = jj_gen;
1303 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1305 operator = jj_consume_token(PLUS);
1308 operator = jj_consume_token(MINUS);
1311 jj_la1[41] = jj_gen;
1312 jj_consume_token(-1);
1313 throw new ParseException();
1315 expr2 = MultiplicativeExpression();
1316 buff.append(operator.image);
1319 {if (true) return buff.toString();}
1320 throw new Error("Missing return statement in function");
1323 static final public String MultiplicativeExpression() throws ParseException {
1326 final StringBuffer buff = new StringBuffer();
1327 expr = UnaryExpression();
1331 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1338 jj_la1[42] = jj_gen;
1341 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1343 operator = jj_consume_token(STAR);
1346 operator = jj_consume_token(SLASH);
1349 operator = jj_consume_token(REM);
1352 jj_la1[43] = jj_gen;
1353 jj_consume_token(-1);
1354 throw new ParseException();
1356 expr2 = UnaryExpression();
1357 buff.append(operator.image);
1360 {if (true) return buff.toString();}
1361 throw new Error("Missing return statement in function");
1365 * An unary expression starting with @, & or nothing
1367 static final public String UnaryExpression() throws ParseException {
1370 final StringBuffer buff = new StringBuffer();
1371 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1373 token = jj_consume_token(BIT_AND);
1374 expr = UnaryExpressionNoPrefix();
1375 if (token == null) {
1376 {if (true) return expr;}
1378 {if (true) return token.image + expr;}
1385 case INTEGER_LITERAL:
1386 case FLOATING_POINT_LITERAL:
1387 case STRING_LITERAL:
1400 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1405 jj_la1[44] = jj_gen;
1408 jj_consume_token(AT);
1411 expr = UnaryExpressionNoPrefix();
1412 {if (true) return buff.append(expr).toString();}
1415 jj_la1[45] = jj_gen;
1416 jj_consume_token(-1);
1417 throw new ParseException();
1419 throw new Error("Missing return statement in function");
1422 static final public String UnaryExpressionNoPrefix() throws ParseException {
1425 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1428 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1430 token = jj_consume_token(PLUS);
1433 token = jj_consume_token(MINUS);
1436 jj_la1[46] = jj_gen;
1437 jj_consume_token(-1);
1438 throw new ParseException();
1440 expr = UnaryExpression();
1441 {if (true) return token.image + expr;}
1444 expr = PreIncrementExpression();
1445 {if (true) return expr;}
1448 expr = PreDecrementExpression();
1449 {if (true) return expr;}
1456 case INTEGER_LITERAL:
1457 case FLOATING_POINT_LITERAL:
1458 case STRING_LITERAL:
1464 expr = UnaryExpressionNotPlusMinus();
1465 {if (true) return expr;}
1468 jj_la1[47] = jj_gen;
1469 jj_consume_token(-1);
1470 throw new ParseException();
1472 throw new Error("Missing return statement in function");
1475 static final public String PreIncrementExpression() throws ParseException {
1477 jj_consume_token(INCR);
1478 expr = PrimaryExpression();
1479 {if (true) return "++"+expr;}
1480 throw new Error("Missing return statement in function");
1483 static final public String PreDecrementExpression() throws ParseException {
1485 jj_consume_token(DECR);
1486 expr = PrimaryExpression();
1487 {if (true) return "--"+expr;}
1488 throw new Error("Missing return statement in function");
1491 static final public String UnaryExpressionNotPlusMinus() throws ParseException {
1493 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1495 jj_consume_token(BANG);
1496 expr = UnaryExpression();
1497 {if (true) return "!" + expr;}
1500 jj_la1[48] = jj_gen;
1501 if (jj_2_3(2147483647)) {
1502 expr = CastExpression();
1503 {if (true) return expr;}
1505 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1511 expr = PostfixExpression();
1512 {if (true) return expr;}
1517 case INTEGER_LITERAL:
1518 case FLOATING_POINT_LITERAL:
1519 case STRING_LITERAL:
1521 {if (true) return expr;}
1524 jj_consume_token(LPAREN);
1525 expr = Expression();
1526 jj_consume_token(RPAREN);
1527 {if (true) return "("+expr+")";}
1530 jj_la1[49] = jj_gen;
1531 jj_consume_token(-1);
1532 throw new ParseException();
1536 throw new Error("Missing return statement in function");
1539 static final public String CastExpression() throws ParseException {
1542 jj_consume_token(LPAREN);
1544 jj_consume_token(RPAREN);
1545 expr = UnaryExpression();
1546 {if (true) return "(" + type + ")" + expr;}
1547 throw new Error("Missing return statement in function");
1550 static final public String PostfixExpression() throws ParseException {
1552 Token operator = null;
1553 expr = PrimaryExpression();
1554 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1557 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1559 operator = jj_consume_token(INCR);
1562 operator = jj_consume_token(DECR);
1565 jj_la1[50] = jj_gen;
1566 jj_consume_token(-1);
1567 throw new ParseException();
1571 jj_la1[51] = jj_gen;
1574 if (operator == null) {
1575 {if (true) return expr;}
1577 {if (true) return expr + operator.image;}
1578 throw new Error("Missing return statement in function");
1581 static final public String PrimaryExpression() throws ParseException {
1584 final StringBuffer buff = new StringBuffer();
1586 identifier = jj_consume_token(IDENTIFIER);
1587 jj_consume_token(STATICCLASSACCESS);
1588 expr = ClassIdentifier();
1589 buff.append(identifier.image).append("::").append(expr);
1592 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1599 jj_la1[52] = jj_gen;
1602 expr = PrimarySuffix();
1605 {if (true) return buff.toString();}
1607 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1612 expr = PrimaryPrefix();
1616 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1623 jj_la1[53] = jj_gen;
1626 expr = PrimarySuffix();
1629 {if (true) return buff.toString();}
1632 expr = ArrayDeclarator();
1633 {if (true) return "array" + expr;}
1636 jj_la1[54] = jj_gen;
1637 jj_consume_token(-1);
1638 throw new ParseException();
1641 throw new Error("Missing return statement in function");
1644 static final public String ArrayDeclarator() throws ParseException {
1646 jj_consume_token(ARRAY);
1647 expr = ArrayInitializer();
1648 {if (true) return "array" + expr;}
1649 throw new Error("Missing return statement in function");
1652 static final public String PrimaryPrefix() throws ParseException {
1655 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1657 token = jj_consume_token(IDENTIFIER);
1658 {if (true) return token.image;}
1661 jj_consume_token(NEW);
1662 expr = ClassIdentifier();
1663 {if (true) return "new " + expr;}
1667 expr = VariableDeclaratorId();
1668 {if (true) return expr;}
1671 jj_la1[55] = jj_gen;
1672 jj_consume_token(-1);
1673 throw new ParseException();
1675 throw new Error("Missing return statement in function");
1678 static final public String ClassIdentifier() throws ParseException {
1681 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1683 token = jj_consume_token(IDENTIFIER);
1684 {if (true) return token.image;}
1688 expr = VariableDeclaratorId();
1689 {if (true) return expr;}
1692 jj_la1[56] = jj_gen;
1693 jj_consume_token(-1);
1694 throw new ParseException();
1696 throw new Error("Missing return statement in function");
1699 static final public String PrimarySuffix() throws ParseException {
1701 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1704 {if (true) return expr;}
1708 expr = VariableSuffix();
1709 {if (true) return expr;}
1712 jj_la1[57] = 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 VariableSuffix() throws ParseException {
1721 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1723 jj_consume_token(CLASSACCESS);
1724 expr = VariableName();
1725 {if (true) return "->" + expr;}
1728 jj_consume_token(LBRACKET);
1729 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1736 case INTEGER_LITERAL:
1737 case FLOATING_POINT_LITERAL:
1738 case STRING_LITERAL:
1750 expr = Expression();
1753 jj_la1[58] = jj_gen;
1757 jj_consume_token(RBRACKET);
1758 } catch (ParseException e) {
1759 errorMessage = "']' expected";
1761 {if (true) throw e;}
1764 {if (true) return "[]";}
1766 {if (true) return "[" + expr + "]";}
1769 jj_la1[59] = jj_gen;
1770 jj_consume_token(-1);
1771 throw new ParseException();
1773 throw new Error("Missing return statement in function");
1776 static final public String Literal() throws ParseException {
1779 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1780 case INTEGER_LITERAL:
1781 token = jj_consume_token(INTEGER_LITERAL);
1782 {if (true) return token.image;}
1784 case FLOATING_POINT_LITERAL:
1785 token = jj_consume_token(FLOATING_POINT_LITERAL);
1786 {if (true) return token.image;}
1788 case STRING_LITERAL:
1789 token = jj_consume_token(STRING_LITERAL);
1790 {if (true) return token.image;}
1794 expr = BooleanLiteral();
1795 {if (true) return expr;}
1798 expr = NullLiteral();
1799 {if (true) return expr;}
1802 jj_la1[60] = jj_gen;
1803 jj_consume_token(-1);
1804 throw new ParseException();
1806 throw new Error("Missing return statement in function");
1809 static final public String BooleanLiteral() throws ParseException {
1810 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1812 jj_consume_token(TRUE);
1813 {if (true) return "true";}
1816 jj_consume_token(FALSE);
1817 {if (true) return "false";}
1820 jj_la1[61] = jj_gen;
1821 jj_consume_token(-1);
1822 throw new ParseException();
1824 throw new Error("Missing return statement in function");
1827 static final public String NullLiteral() throws ParseException {
1828 jj_consume_token(NULL);
1829 {if (true) return "null";}
1830 throw new Error("Missing return statement in function");
1833 static final public String Arguments() throws ParseException {
1835 jj_consume_token(LPAREN);
1836 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1843 case INTEGER_LITERAL:
1844 case FLOATING_POINT_LITERAL:
1845 case STRING_LITERAL:
1857 expr = ArgumentList();
1860 jj_la1[62] = jj_gen;
1864 jj_consume_token(RPAREN);
1865 } catch (ParseException e) {
1866 errorMessage = "')' expected to close the argument list";
1868 {if (true) throw e;}
1871 {if (true) return "()";}
1873 {if (true) return "(" + expr + ")";}
1874 throw new Error("Missing return statement in function");
1877 static final public String ArgumentList() throws ParseException {
1879 StringBuffer buff = new StringBuffer();
1880 expr = Expression();
1884 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1889 jj_la1[63] = jj_gen;
1892 jj_consume_token(COMMA);
1894 expr = Expression();
1895 } catch (ParseException e) {
1896 errorMessage = "expression expected after a comma in argument list";
1898 {if (true) throw e;}
1900 buff.append(",").append("expr");
1902 {if (true) return buff.toString();}
1903 throw new Error("Missing return statement in function");
1907 * Statement syntax follows.
1909 static final public void Statement() throws ParseException {
1913 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1915 jj_consume_token(SEMICOLON);
1918 jj_consume_token(132);
1921 jj_la1[64] = jj_gen;
1922 jj_consume_token(-1);
1923 throw new ParseException();
1925 } catch (ParseException e) {
1926 errorMessage = "';' expected";
1928 {if (true) throw e;}
1930 } else if (jj_2_6(2)) {
1933 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1947 StatementExpression();
1949 jj_consume_token(SEMICOLON);
1950 } catch (ParseException e) {
1951 errorMessage = "';' expected after expression";
1953 {if (true) throw e;}
1978 ContinueStatement();
1991 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1993 jj_consume_token(AT);
1996 jj_la1[65] = jj_gen;
2008 jj_la1[66] = jj_gen;
2009 jj_consume_token(-1);
2010 throw new ParseException();
2015 static final public void IncludeStatement() throws ParseException {
2017 int pos = jj_input_stream.bufpos;
2018 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2020 jj_consume_token(REQUIRE);
2021 expr = Expression();
2022 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "require",pos,expr));
2024 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2026 jj_consume_token(SEMICOLON);
2029 jj_consume_token(132);
2032 jj_la1[67] = jj_gen;
2033 jj_consume_token(-1);
2034 throw new ParseException();
2036 } catch (ParseException e) {
2037 errorMessage = "';' expected";
2039 {if (true) throw e;}
2043 jj_consume_token(REQUIRE_ONCE);
2044 expr = Expression();
2045 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "require_once",pos,expr));
2047 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2049 jj_consume_token(SEMICOLON);
2052 jj_consume_token(132);
2055 jj_la1[68] = jj_gen;
2056 jj_consume_token(-1);
2057 throw new ParseException();
2059 } catch (ParseException e) {
2060 errorMessage = "';' expected";
2062 {if (true) throw e;}
2066 jj_consume_token(INCLUDE);
2067 expr = Expression();
2068 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "include",pos,expr));
2070 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2072 jj_consume_token(SEMICOLON);
2075 jj_consume_token(132);
2078 jj_la1[69] = jj_gen;
2079 jj_consume_token(-1);
2080 throw new ParseException();
2082 } catch (ParseException e) {
2083 errorMessage = "';' expected";
2085 {if (true) throw e;}
2089 jj_consume_token(INCLUDE_ONCE);
2090 expr = Expression();
2091 currentSegment.add(new PHPReqIncDeclaration(currentSegment, "include_once",pos,expr));
2093 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2095 jj_consume_token(SEMICOLON);
2098 jj_consume_token(132);
2101 jj_la1[70] = jj_gen;
2102 jj_consume_token(-1);
2103 throw new ParseException();
2105 } catch (ParseException e) {
2106 errorMessage = "';' expected";
2108 {if (true) throw e;}
2112 jj_la1[71] = jj_gen;
2113 jj_consume_token(-1);
2114 throw new ParseException();
2118 static final public String PrintExpression() throws ParseException {
2119 StringBuffer buff = new StringBuffer("print ");
2121 jj_consume_token(PRINT);
2122 expr = Expression();
2124 {if (true) return buff.toString();}
2125 throw new Error("Missing return statement in function");
2128 static final public void EchoStatement() throws ParseException {
2129 jj_consume_token(ECHO);
2133 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2138 jj_la1[72] = jj_gen;
2141 jj_consume_token(COMMA);
2145 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2147 jj_consume_token(SEMICOLON);
2150 jj_consume_token(132);
2153 jj_la1[73] = jj_gen;
2154 jj_consume_token(-1);
2155 throw new ParseException();
2157 } catch (ParseException e) {
2158 errorMessage = "';' expected after 'echo' statement";
2160 {if (true) throw e;}
2164 static final public void GlobalStatement() throws ParseException {
2165 jj_consume_token(GLOBAL);
2166 VariableDeclaratorId();
2169 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2174 jj_la1[74] = jj_gen;
2177 jj_consume_token(COMMA);
2178 VariableDeclaratorId();
2181 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2183 jj_consume_token(SEMICOLON);
2186 jj_consume_token(132);
2189 jj_la1[75] = jj_gen;
2190 jj_consume_token(-1);
2191 throw new ParseException();
2193 } catch (ParseException e) {
2194 errorMessage = "';' expected";
2196 {if (true) throw e;}
2200 static final public void StaticStatement() throws ParseException {
2201 jj_consume_token(STATIC);
2202 VariableDeclarator();
2205 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2210 jj_la1[76] = jj_gen;
2213 jj_consume_token(COMMA);
2214 VariableDeclarator();
2217 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2219 jj_consume_token(SEMICOLON);
2222 jj_consume_token(132);
2225 jj_la1[77] = jj_gen;
2226 jj_consume_token(-1);
2227 throw new ParseException();
2229 } catch (ParseException e) {
2230 errorMessage = "';' expected";
2232 {if (true) throw e;}
2236 static final public void LabeledStatement() throws ParseException {
2237 jj_consume_token(IDENTIFIER);
2238 jj_consume_token(COLON);
2242 static final public void Block() throws ParseException {
2244 jj_consume_token(LBRACE);
2245 } catch (ParseException e) {
2246 errorMessage = "'{' expected";
2248 {if (true) throw e;}
2252 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2277 case INTEGER_LITERAL:
2278 case FLOATING_POINT_LITERAL:
2279 case STRING_LITERAL:
2296 jj_la1[78] = jj_gen;
2301 jj_consume_token(RBRACE);
2304 static final public void BlockStatement() throws ParseException {
2305 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2328 case INTEGER_LITERAL:
2329 case FLOATING_POINT_LITERAL:
2330 case STRING_LITERAL:
2350 MethodDeclaration();
2353 jj_la1[79] = jj_gen;
2354 jj_consume_token(-1);
2355 throw new ParseException();
2359 static final public void LocalVariableDeclaration() throws ParseException {
2360 VariableDeclarator();
2363 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2368 jj_la1[80] = jj_gen;
2371 jj_consume_token(COMMA);
2372 VariableDeclarator();
2376 static final public void EmptyStatement() throws ParseException {
2377 jj_consume_token(SEMICOLON);
2380 static final public void StatementExpression() throws ParseException {
2381 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2383 PreIncrementExpression();
2386 PreDecrementExpression();
2393 PrimaryExpression();
2394 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2408 case RSIGNEDSHIFTASSIGN:
2410 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2412 jj_consume_token(INCR);
2415 jj_consume_token(DECR);
2428 case RSIGNEDSHIFTASSIGN:
2430 AssignmentOperator();
2434 jj_la1[81] = jj_gen;
2435 jj_consume_token(-1);
2436 throw new ParseException();
2440 jj_la1[82] = jj_gen;
2445 jj_la1[83] = jj_gen;
2446 jj_consume_token(-1);
2447 throw new ParseException();
2451 static final public void SwitchStatement() throws ParseException {
2452 jj_consume_token(SWITCH);
2453 jj_consume_token(LPAREN);
2455 jj_consume_token(RPAREN);
2456 jj_consume_token(LBRACE);
2459 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2465 jj_la1[84] = jj_gen;
2471 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2496 case INTEGER_LITERAL:
2497 case FLOATING_POINT_LITERAL:
2498 case STRING_LITERAL:
2515 jj_la1[85] = jj_gen;
2521 jj_consume_token(RBRACE);
2524 static final public void SwitchLabel() throws ParseException {
2525 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2527 jj_consume_token(CASE);
2529 jj_consume_token(COLON);
2532 jj_consume_token(_DEFAULT);
2533 jj_consume_token(COLON);
2536 jj_la1[86] = jj_gen;
2537 jj_consume_token(-1);
2538 throw new ParseException();
2542 static final public void IfStatement() throws ParseException {
2543 jj_consume_token(IF);
2548 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2553 jj_la1[87] = jj_gen;
2558 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2560 jj_consume_token(ELSE);
2564 jj_la1[88] = jj_gen;
2569 static final public void Condition(String keyword) throws ParseException {
2571 jj_consume_token(LPAREN);
2572 } catch (ParseException e) {
2573 errorMessage = "'(' expected after " + keyword + " keyword";
2575 {if (true) throw e;}
2579 jj_consume_token(RPAREN);
2580 } catch (ParseException e) {
2581 errorMessage = "')' expected after " + keyword + " keyword";
2583 {if (true) throw e;}
2587 static final public void ElseIfStatement() throws ParseException {
2588 jj_consume_token(ELSEIF);
2589 Condition("elseif");
2593 static final public void WhileStatement() throws ParseException {
2594 jj_consume_token(WHILE);
2599 static final public void WhileStatement0() throws ParseException {
2600 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2602 jj_consume_token(COLON);
2605 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2628 case INTEGER_LITERAL:
2629 case FLOATING_POINT_LITERAL:
2630 case STRING_LITERAL:
2647 jj_la1[89] = jj_gen;
2652 jj_consume_token(ENDWHILE);
2654 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2656 jj_consume_token(SEMICOLON);
2659 jj_consume_token(132);
2662 jj_la1[90] = jj_gen;
2663 jj_consume_token(-1);
2664 throw new ParseException();
2666 } catch (ParseException e) {
2667 errorMessage = "';' expected";
2669 {if (true) throw e;}
2694 case INTEGER_LITERAL:
2695 case FLOATING_POINT_LITERAL:
2696 case STRING_LITERAL:
2713 jj_la1[91] = jj_gen;
2714 jj_consume_token(-1);
2715 throw new ParseException();
2719 static final public void DoStatement() throws ParseException {
2720 jj_consume_token(DO);
2722 jj_consume_token(WHILE);
2725 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2727 jj_consume_token(SEMICOLON);
2730 jj_consume_token(132);
2733 jj_la1[92] = jj_gen;
2734 jj_consume_token(-1);
2735 throw new ParseException();
2737 } catch (ParseException e) {
2738 errorMessage = "';' expected";
2740 {if (true) throw e;}
2744 static final public void ForeachStatement() throws ParseException {
2745 jj_consume_token(FOREACH);
2746 jj_consume_token(LPAREN);
2748 jj_consume_token(AS);
2750 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2752 jj_consume_token(ARRAYASSIGN);
2756 jj_la1[93] = jj_gen;
2759 jj_consume_token(RPAREN);
2763 static final public void ForStatement() throws ParseException {
2764 jj_consume_token(FOR);
2765 jj_consume_token(LPAREN);
2766 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2777 jj_la1[94] = jj_gen;
2780 jj_consume_token(SEMICOLON);
2781 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2788 case INTEGER_LITERAL:
2789 case FLOATING_POINT_LITERAL:
2790 case STRING_LITERAL:
2805 jj_la1[95] = jj_gen;
2808 jj_consume_token(SEMICOLON);
2809 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2820 jj_la1[96] = jj_gen;
2823 jj_consume_token(RPAREN);
2827 static final public void ForInit() throws ParseException {
2828 if (jj_2_7(2147483647)) {
2829 LocalVariableDeclaration();
2831 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2839 StatementExpressionList();
2842 jj_la1[97] = jj_gen;
2843 jj_consume_token(-1);
2844 throw new ParseException();
2849 static final public void StatementExpressionList() throws ParseException {
2850 StatementExpression();
2853 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2858 jj_la1[98] = jj_gen;
2861 jj_consume_token(COMMA);
2862 StatementExpression();
2866 static final public void ForUpdate() throws ParseException {
2867 StatementExpressionList();
2870 static final public void BreakStatement() throws ParseException {
2871 jj_consume_token(BREAK);
2872 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2874 jj_consume_token(IDENTIFIER);
2877 jj_la1[99] = jj_gen;
2880 jj_consume_token(SEMICOLON);
2883 static final public void ContinueStatement() throws ParseException {
2884 jj_consume_token(CONTINUE);
2885 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2887 jj_consume_token(IDENTIFIER);
2890 jj_la1[100] = jj_gen;
2893 jj_consume_token(SEMICOLON);
2896 static final public void ReturnStatement() throws ParseException {
2897 jj_consume_token(RETURN);
2898 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2905 case INTEGER_LITERAL:
2906 case FLOATING_POINT_LITERAL:
2907 case STRING_LITERAL:
2922 jj_la1[101] = jj_gen;
2925 jj_consume_token(SEMICOLON);
2928 static final private boolean jj_2_1(int xla) {
2929 jj_la = xla; jj_lastpos = jj_scanpos = token;
2930 boolean retval = !jj_3_1();
2935 static final private boolean jj_2_2(int xla) {
2936 jj_la = xla; jj_lastpos = jj_scanpos = token;
2937 boolean retval = !jj_3_2();
2942 static final private boolean jj_2_3(int xla) {
2943 jj_la = xla; jj_lastpos = jj_scanpos = token;
2944 boolean retval = !jj_3_3();
2949 static final private boolean jj_2_4(int xla) {
2950 jj_la = xla; jj_lastpos = jj_scanpos = token;
2951 boolean retval = !jj_3_4();
2956 static final private boolean jj_2_5(int xla) {
2957 jj_la = xla; jj_lastpos = jj_scanpos = token;
2958 boolean retval = !jj_3_5();
2963 static final private boolean jj_2_6(int xla) {
2964 jj_la = xla; jj_lastpos = jj_scanpos = token;
2965 boolean retval = !jj_3_6();
2970 static final private boolean jj_2_7(int xla) {
2971 jj_la = xla; jj_lastpos = jj_scanpos = token;
2972 boolean retval = !jj_3_7();
2977 static final private boolean jj_3R_114() {
2978 if (jj_scan_token(LPAREN)) return true;
2979 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2982 if (jj_3R_121()) jj_scanpos = xsp;
2983 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2984 if (jj_scan_token(RPAREN)) return true;
2985 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2989 static final private boolean jj_3R_38() {
2990 if (jj_scan_token(132)) return true;
2991 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2995 static final private boolean jj_3R_139() {
2996 if (jj_scan_token(LT)) return true;
2997 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3001 static final private boolean jj_3R_132() {
3010 if (jj_3R_142()) return true;
3011 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3012 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3013 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3014 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3015 if (jj_3R_131()) return true;
3016 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3020 static final private boolean jj_3R_128() {
3021 if (jj_scan_token(ARRAYASSIGN)) return true;
3022 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3023 if (jj_3R_36()) return true;
3024 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3028 static final private boolean jj_3R_129() {
3029 if (jj_3R_131()) return true;
3030 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3034 if (jj_3R_132()) { jj_scanpos = xsp; break; }
3035 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3040 static final private boolean jj_3R_34() {
3041 if (jj_3R_36()) return true;
3042 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3045 if (jj_3R_128()) jj_scanpos = xsp;
3046 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3050 static final private boolean jj_3_6() {
3051 if (jj_3R_39()) return true;
3052 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3056 static final private boolean jj_3R_37() {
3057 if (jj_scan_token(SEMICOLON)) return true;
3058 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3062 static final private boolean jj_3R_102() {
3063 if (jj_scan_token(INTEGER_LITERAL)) return true;
3064 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3068 static final private boolean jj_3R_93() {
3069 if (jj_scan_token(IDENTIFIER)) return true;
3070 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3074 static final private boolean jj_3R_100() {
3075 if (jj_scan_token(INTEGER_LITERAL)) return true;
3076 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3080 static final private boolean jj_3_5() {
3081 if (jj_3R_36()) return true;
3082 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3087 if (jj_3R_38()) return true;
3088 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3089 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3093 static final private boolean jj_3R_136() {
3094 if (jj_scan_token(TRIPLEEQUAL)) return true;
3095 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3099 static final private boolean jj_3R_135() {
3100 if (jj_scan_token(BANGDOUBLEEQUAL)) return true;
3101 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3105 static final private boolean jj_3R_92() {
3106 if (jj_3R_104()) return true;
3107 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3111 static final private boolean jj_3R_134() {
3112 if (jj_scan_token(NE)) return true;
3113 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3117 static final private boolean jj_3R_133() {
3118 if (jj_scan_token(EQ)) return true;
3119 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3123 static final private boolean jj_3R_91() {
3124 if (jj_scan_token(PLUS)) return true;
3125 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3130 if (jj_3R_103()) return true;
3131 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3132 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3136 static final private boolean jj_3R_118() {
3137 if (jj_3R_56()) return true;
3138 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3142 static final private boolean jj_3R_130() {
3151 if (jj_3R_136()) return true;
3152 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3153 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3154 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3155 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3156 if (jj_3R_129()) return true;
3157 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3161 static final private boolean jj_3R_90() {
3162 if (jj_scan_token(MINUS)) return true;
3163 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3168 if (jj_3R_101()) return true;
3169 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3170 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3174 static final private boolean jj_3R_126() {
3175 if (jj_3R_129()) return true;
3176 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3180 if (jj_3R_130()) { jj_scanpos = xsp; break; }
3181 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3186 static final private boolean jj_3R_89() {
3187 if (jj_3R_99()) return true;
3188 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3192 static final private boolean jj_3R_71() {
3203 if (jj_3R_93()) return true;
3204 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3205 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3206 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3207 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3208 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3212 static final private boolean jj_3R_117() {
3213 if (jj_scan_token(LBRACE)) return true;
3214 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3215 if (jj_3R_36()) return true;
3216 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3217 if (jj_scan_token(RBRACE)) return true;
3218 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3222 static final private boolean jj_3R_196() {
3223 if (jj_scan_token(COMMA)) return true;
3224 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3225 if (jj_3R_36()) return true;
3226 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3230 static final private boolean jj_3R_195() {
3231 if (jj_3R_36()) return true;
3232 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3236 if (jj_3R_196()) { jj_scanpos = xsp; break; }
3237 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3242 static final private boolean jj_3R_66() {
3243 if (jj_scan_token(DOLLAR_ID)) return true;
3244 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3247 if (jj_3R_118()) jj_scanpos = xsp;
3248 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3252 static final private boolean jj_3R_127() {
3253 if (jj_scan_token(BIT_AND)) return true;
3254 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3255 if (jj_3R_126()) return true;
3256 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3260 static final private boolean jj_3R_65() {
3261 if (jj_scan_token(DOLLAR)) return true;
3262 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3263 if (jj_3R_56()) return true;
3264 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3268 static final private boolean jj_3R_194() {
3269 if (jj_3R_195()) return true;
3270 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3274 static final private boolean jj_3R_122() {
3275 if (jj_3R_126()) return true;
3276 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3280 if (jj_3R_127()) { jj_scanpos = xsp; break; }
3281 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3286 static final private boolean jj_3R_64() {
3287 if (jj_scan_token(IDENTIFIER)) return true;
3288 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3291 if (jj_3R_117()) jj_scanpos = xsp;
3292 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3296 static final private boolean jj_3R_98() {
3297 if (jj_scan_token(LBRACE)) return true;
3298 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3299 if (jj_3R_36()) return true;
3300 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3301 if (jj_scan_token(RBRACE)) return true;
3302 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3306 static final private boolean jj_3R_63() {
3307 if (jj_scan_token(LBRACE)) return true;
3308 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3309 if (jj_3R_36()) return true;
3310 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3311 if (jj_scan_token(RBRACE)) return true;
3312 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3316 static final private boolean jj_3R_56() {
3325 if (jj_3R_66()) return true;
3326 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3327 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3328 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3329 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3333 static final private boolean jj_3R_192() {
3334 if (jj_scan_token(LPAREN)) return true;
3335 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3338 if (jj_3R_194()) jj_scanpos = xsp;
3339 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3340 if (jj_scan_token(RPAREN)) return true;
3341 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3345 static final private boolean jj_3R_88() {
3346 if (jj_scan_token(DOLLAR)) return true;
3347 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3348 if (jj_3R_56()) return true;
3349 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3353 static final private boolean jj_3R_123() {
3354 if (jj_scan_token(XOR)) return true;
3355 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3356 if (jj_3R_122()) return true;
3357 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3361 static final private boolean jj_3R_120() {
3362 if (jj_scan_token(NULL)) return true;
3363 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3367 static final private boolean jj_3_7() {
3368 if (jj_3R_40()) return true;
3369 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3373 static final private boolean jj_3R_115() {
3374 if (jj_3R_122()) return true;
3375 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3379 if (jj_3R_123()) { jj_scanpos = xsp; break; }
3380 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3385 static final private boolean jj_3R_87() {
3386 if (jj_scan_token(DOLLAR_ID)) return true;
3387 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3390 if (jj_3R_98()) jj_scanpos = xsp;
3391 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3395 static final private boolean jj_3R_70() {
3400 if (jj_3R_88()) return true;
3401 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3402 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3406 static final private boolean jj_3R_125() {
3407 if (jj_scan_token(FALSE)) return true;
3408 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3412 static final private boolean jj_3R_119() {
3417 if (jj_3R_125()) return true;
3418 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3419 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3423 static final private boolean jj_3R_124() {
3424 if (jj_scan_token(TRUE)) return true;
3425 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3429 static final private boolean jj_3_1() {
3430 if (jj_3R_33()) return true;
3431 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3435 static final private boolean jj_3R_113() {
3436 if (jj_3R_120()) return true;
3437 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3441 static final private boolean jj_3R_112() {
3442 if (jj_3R_119()) return true;
3443 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3447 static final private boolean jj_3R_116() {
3448 if (jj_scan_token(BIT_OR)) return true;
3449 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3450 if (jj_3R_115()) return true;
3451 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3455 static final private boolean jj_3R_111() {
3456 if (jj_scan_token(STRING_LITERAL)) return true;
3457 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3461 static final private boolean jj_3R_61() {
3462 if (jj_3R_70()) return true;
3463 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3467 if (jj_3_1()) { jj_scanpos = xsp; break; }
3468 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3473 static final private boolean jj_3R_105() {
3474 if (jj_3R_115()) return true;
3475 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3479 if (jj_3R_116()) { jj_scanpos = xsp; break; }
3480 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3485 static final private boolean jj_3R_110() {
3486 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
3487 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3491 static final private boolean jj_3R_99() {
3502 if (jj_3R_113()) return true;
3503 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3504 } else 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;
3511 static final private boolean jj_3R_109() {
3512 if (jj_scan_token(INTEGER_LITERAL)) return true;
3513 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3517 static final private boolean jj_3R_57() {
3518 if (jj_3R_36()) return true;
3519 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3523 static final private boolean jj_3R_106() {
3524 if (jj_scan_token(DOT)) return true;
3525 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3526 if (jj_3R_105()) return true;
3527 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3531 static final private boolean jj_3R_108() {
3532 if (jj_scan_token(_ANDL)) return true;
3533 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3537 static final private boolean jj_3R_62() {
3538 if (jj_scan_token(ASSIGN)) return true;
3539 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3540 if (jj_3R_71()) return true;
3541 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3545 static final private boolean jj_3R_54() {
3546 if (jj_3R_61()) return true;
3547 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3550 if (jj_3R_62()) jj_scanpos = xsp;
3551 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3555 static final private boolean jj_3R_94() {
3556 if (jj_3R_105()) return true;
3557 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3561 if (jj_3R_106()) { jj_scanpos = xsp; break; }
3562 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3567 static final private boolean jj_3R_42() {
3568 if (jj_scan_token(LBRACKET)) return true;
3569 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3572 if (jj_3R_57()) jj_scanpos = xsp;
3573 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3574 if (jj_scan_token(RBRACKET)) return true;
3575 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3579 static final private boolean jj_3R_41() {
3580 if (jj_scan_token(CLASSACCESS)) return true;
3581 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3582 if (jj_3R_56()) return true;
3583 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3587 static final private boolean jj_3R_33() {
3592 if (jj_3R_42()) return true;
3593 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3594 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3598 static final private boolean jj_3R_189() {
3599 if (jj_3R_33()) return true;
3600 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3604 static final private boolean jj_3R_188() {
3605 if (jj_3R_192()) return true;
3606 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3610 static final private boolean jj_3R_186() {
3615 if (jj_3R_189()) return true;
3616 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3617 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3621 static final private boolean jj_3R_107() {
3622 if (jj_scan_token(SC_AND)) return true;
3623 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3627 static final private boolean jj_3R_95() {
3632 if (jj_3R_108()) return true;
3633 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3634 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3635 if (jj_3R_94()) return true;
3636 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3640 static final private boolean jj_3R_97() {
3641 if (jj_scan_token(_ORL)) return true;
3642 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3646 static final private boolean jj_3R_72() {
3647 if (jj_3R_94()) return true;
3648 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3652 if (jj_3R_95()) { jj_scanpos = xsp; break; }
3653 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3658 static final private boolean jj_3R_191() {
3659 if (jj_3R_61()) return true;
3660 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3664 static final private boolean jj_3R_190() {
3665 if (jj_scan_token(IDENTIFIER)) return true;
3666 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3670 static final private boolean jj_3R_187() {
3675 if (jj_3R_191()) return true;
3676 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3677 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3681 static final private boolean jj_3R_68() {
3682 if (jj_scan_token(HOOK)) return true;
3683 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3684 if (jj_3R_36()) return true;
3685 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3686 if (jj_scan_token(COLON)) return true;
3687 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3688 if (jj_3R_59()) return true;
3689 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3693 static final private boolean jj_3R_182() {
3694 if (jj_3R_61()) return true;
3695 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3699 static final private boolean jj_3R_96() {
3700 if (jj_scan_token(SC_OR)) return true;
3701 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3705 static final private boolean jj_3R_73() {
3710 if (jj_3R_97()) return true;
3711 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3712 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3713 if (jj_3R_72()) return true;
3714 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3718 static final private boolean jj_3R_181() {
3719 if (jj_scan_token(NEW)) return true;
3720 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3721 if (jj_3R_187()) return true;
3722 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3726 static final private boolean jj_3R_184() {
3727 if (jj_scan_token(DECR)) return true;
3728 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3732 static final private boolean jj_3R_180() {
3733 if (jj_scan_token(IDENTIFIER)) return true;
3734 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3738 static final private boolean jj_3R_178() {
3745 if (jj_3R_182()) return true;
3746 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3747 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3748 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3752 static final private boolean jj_3R_67() {
3753 if (jj_3R_72()) return true;
3754 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3758 if (jj_3R_73()) { jj_scanpos = xsp; break; }
3759 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3764 static final private boolean jj_3R_104() {
3765 if (jj_scan_token(ARRAY)) return true;
3766 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3767 if (jj_3R_114()) return true;
3768 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3772 static final private boolean jj_3R_59() {
3773 if (jj_3R_67()) return true;
3774 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3777 if (jj_3R_68()) jj_scanpos = xsp;
3778 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3782 static final private boolean jj_3R_183() {
3783 if (jj_scan_token(INCR)) return true;
3784 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3788 static final private boolean jj_3R_179() {
3793 if (jj_3R_184()) return true;
3794 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3795 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3799 static final private boolean jj_3R_177() {
3800 if (jj_3R_104()) return true;
3801 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3805 static final private boolean jj_3R_185() {
3806 if (jj_3R_186()) return true;
3807 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3811 static final private boolean jj_3R_55() {
3812 if (jj_scan_token(COMMA)) return true;
3813 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3814 if (jj_3R_54()) return true;
3815 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3819 static final private boolean jj_3R_176() {
3820 if (jj_3R_178()) return true;
3821 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3825 if (jj_3R_185()) { jj_scanpos = xsp; break; }
3826 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3831 static final private boolean jj_3R_193() {
3832 if (jj_3R_186()) return true;
3833 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3837 static final private boolean jj_3R_86() {
3838 if (jj_scan_token(TILDEEQUAL)) return true;
3839 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3843 static final private boolean jj_3R_85() {
3844 if (jj_scan_token(DOTASSIGN)) return true;
3845 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3849 static final private boolean jj_3R_173() {
3856 if (jj_3R_177()) return true;
3857 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3858 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3859 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3863 static final private boolean jj_3_4() {
3864 if (jj_scan_token(IDENTIFIER)) return true;
3865 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3866 if (jj_scan_token(STATICCLASSACCESS)) return true;
3867 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3868 if (jj_3R_187()) return true;
3869 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3873 if (jj_3R_193()) { jj_scanpos = xsp; break; }
3874 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3879 static final private boolean jj_3R_84() {
3880 if (jj_scan_token(ORASSIGN)) return true;
3881 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3885 static final private boolean jj_3R_83() {
3886 if (jj_scan_token(XORASSIGN)) return true;
3887 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3891 static final private boolean jj_3R_82() {
3892 if (jj_scan_token(ANDASSIGN)) return true;
3893 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3897 static final private boolean jj_3R_81() {
3898 if (jj_scan_token(RSIGNEDSHIFTASSIGN)) return true;
3899 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3903 static final private boolean jj_3R_80() {
3904 if (jj_scan_token(LSHIFTASSIGN)) return true;
3905 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3909 static final private boolean jj_3R_79() {
3910 if (jj_scan_token(MINUSASSIGN)) return true;
3911 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3915 static final private boolean jj_3R_40() {
3916 if (jj_3R_54()) return true;
3917 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3921 if (jj_3R_55()) { jj_scanpos = xsp; break; }
3922 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3927 static final private boolean jj_3R_78() {
3928 if (jj_scan_token(PLUSASSIGN)) return true;
3929 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3933 static final private boolean jj_3R_77() {
3934 if (jj_scan_token(REMASSIGN)) return true;
3935 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3939 static final private boolean jj_3R_175() {
3940 if (jj_3R_173()) return true;
3941 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3944 if (jj_3R_179()) jj_scanpos = xsp;
3945 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3949 static final private boolean jj_3R_76() {
3950 if (jj_scan_token(SLASHASSIGN)) return true;
3951 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3955 static final private boolean jj_3R_75() {
3956 if (jj_scan_token(STARASSIGN)) return true;
3957 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3961 static final private boolean jj_3R_74() {
3962 if (jj_scan_token(ASSIGN)) return true;
3963 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3967 static final private boolean jj_3R_69() {
3994 if (jj_3R_86()) return true;
3995 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3996 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3997 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3998 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3999 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4000 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4001 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4002 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4003 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4004 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4005 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4006 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4007 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4011 static final private boolean jj_3R_174() {
4012 if (jj_scan_token(LPAREN)) return true;
4013 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4014 if (jj_3R_35()) return true;
4015 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4016 if (jj_scan_token(RPAREN)) return true;
4017 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4018 if (jj_3R_148()) return true;
4019 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4023 static final private boolean jj_3_3() {
4024 if (jj_scan_token(LPAREN)) return true;
4025 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4026 if (jj_3R_35()) return true;
4027 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4028 if (jj_scan_token(RPAREN)) return true;
4029 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4033 static final private boolean jj_3R_172() {
4034 if (jj_scan_token(LPAREN)) return true;
4035 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4036 if (jj_3R_36()) return true;
4037 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4038 if (jj_scan_token(RPAREN)) return true;
4039 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4043 static final private boolean jj_3R_171() {
4044 if (jj_3R_99()) return true;
4045 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4049 static final private boolean jj_3R_60() {
4050 if (jj_3R_69()) return true;
4051 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4052 if (jj_3R_36()) return true;
4053 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4057 static final private boolean jj_3R_39() {
4058 if (jj_scan_token(IDENTIFIER)) return true;
4059 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4060 if (jj_scan_token(COLON)) return true;
4061 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4065 static final private boolean jj_3R_170() {
4066 if (jj_3R_175()) return true;
4067 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4071 static final private boolean jj_3R_53() {
4072 if (jj_3R_59()) return true;
4073 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4076 if (jj_3R_60()) jj_scanpos = xsp;
4077 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4081 static final private boolean jj_3R_169() {
4082 if (jj_3R_174()) return true;
4083 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4087 static final private boolean jj_3R_36() {
4092 if (jj_3R_53()) return true;
4093 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4094 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4098 static final private boolean jj_3R_52() {
4099 if (jj_3R_58()) return true;
4100 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4104 static final private boolean jj_3R_167() {
4115 if (jj_3R_172()) return true;
4116 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4117 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4118 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4119 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4120 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4124 static final private boolean jj_3R_168() {
4125 if (jj_scan_token(BANG)) return true;
4126 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4127 if (jj_3R_148()) return true;
4128 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4132 static final private boolean jj_3R_51() {
4133 if (jj_scan_token(OBJECT)) return true;
4134 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4138 static final private boolean jj_3R_166() {
4139 if (jj_scan_token(DECR)) return true;
4140 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4141 if (jj_3R_173()) return true;
4142 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4146 static final private boolean jj_3R_50() {
4147 if (jj_scan_token(INTEGER)) return true;
4148 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4152 static final private boolean jj_3R_49() {
4153 if (jj_scan_token(INT)) return true;
4154 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4158 static final private boolean jj_3R_48() {
4159 if (jj_scan_token(FLOAT)) return true;
4160 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4164 static final private boolean jj_3R_165() {
4165 if (jj_scan_token(INCR)) return true;
4166 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4167 if (jj_3R_173()) return true;
4168 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4172 static final private boolean jj_3R_164() {
4173 if (jj_scan_token(MINUS)) return true;
4174 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4178 static final private boolean jj_3R_47() {
4179 if (jj_scan_token(DOUBLE)) return true;
4180 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4184 static final private boolean jj_3R_46() {
4185 if (jj_scan_token(REAL)) return true;
4186 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4190 static final private boolean jj_3R_45() {
4191 if (jj_scan_token(BOOLEAN)) return true;
4192 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4196 static final private boolean jj_3R_162() {
4197 if (jj_3R_167()) return true;
4198 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4202 static final private boolean jj_3R_44() {
4203 if (jj_scan_token(BOOL)) return true;
4204 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4208 static final private boolean jj_3R_161() {
4209 if (jj_3R_166()) return true;
4210 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4214 static final private boolean jj_3R_35() {
4233 if (jj_3R_51()) return true;
4234 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4235 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4236 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4237 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4238 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4239 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4240 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4241 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4242 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4246 static final private boolean jj_3R_43() {
4247 if (jj_scan_token(STRING)) return true;
4248 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4252 static final private boolean jj_3R_156() {
4253 if (jj_scan_token(REM)) return true;
4254 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4258 static final private boolean jj_3R_160() {
4259 if (jj_3R_165()) return true;
4260 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4264 static final private boolean jj_3R_163() {
4265 if (jj_scan_token(PLUS)) return true;
4266 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4270 static final private boolean jj_3R_157() {
4279 if (jj_3R_162()) return true;
4280 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4281 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4282 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4283 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4287 static final private boolean jj_3R_159() {
4292 if (jj_3R_164()) return true;
4293 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4294 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4295 if (jj_3R_148()) return true;
4296 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4300 static final private boolean jj_3R_58() {
4301 if (jj_scan_token(PRINT)) return true;
4302 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4303 if (jj_3R_36()) return true;
4304 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4308 static final private boolean jj_3R_158() {
4309 if (jj_scan_token(AT)) return true;
4310 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4314 static final private boolean jj_3R_153() {
4318 if (jj_3R_158()) { jj_scanpos = xsp; break; }
4319 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4321 if (jj_3R_157()) return true;
4322 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4326 static final private boolean jj_3R_155() {
4327 if (jj_scan_token(SLASH)) return true;
4328 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4332 static final private boolean jj_3R_148() {
4337 if (jj_3R_153()) return true;
4338 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4339 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4343 static final private boolean jj_3R_152() {
4344 if (jj_scan_token(BIT_AND)) return true;
4345 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4346 if (jj_3R_157()) return true;
4347 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4351 static final private boolean jj_3R_147() {
4352 if (jj_scan_token(RUNSIGNEDSHIFT)) return true;
4353 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4357 static final private boolean jj_3R_151() {
4358 if (jj_scan_token(MINUS)) return true;
4359 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4363 static final private boolean jj_3R_154() {
4364 if (jj_scan_token(STAR)) return true;
4365 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4369 static final private boolean jj_3R_149() {
4376 if (jj_3R_156()) return true;
4377 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4378 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4379 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4380 if (jj_3R_148()) return true;
4381 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4385 static final private boolean jj_3R_142() {
4386 if (jj_scan_token(GE)) return true;
4387 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4391 static final private boolean jj_3R_143() {
4392 if (jj_3R_148()) return true;
4393 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4397 if (jj_3R_149()) { jj_scanpos = xsp; break; }
4398 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4403 static final private boolean jj_3R_146() {
4404 if (jj_scan_token(RSIGNEDSHIFT)) return true;
4405 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4409 static final private boolean jj_3R_150() {
4410 if (jj_scan_token(PLUS)) return true;
4411 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4415 static final private boolean jj_3R_144() {
4420 if (jj_3R_151()) return true;
4421 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4422 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4423 if (jj_3R_143()) return true;
4424 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4428 static final private boolean jj_3R_141() {
4429 if (jj_scan_token(LE)) return true;
4430 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4434 static final private boolean jj_3R_137() {
4435 if (jj_3R_143()) return true;
4436 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4440 if (jj_3R_144()) { jj_scanpos = xsp; break; }
4441 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4446 static final private boolean jj_3R_145() {
4447 if (jj_scan_token(LSHIFT)) return true;
4448 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4452 static final private boolean jj_3_2() {
4453 if (jj_scan_token(COMMA)) return true;
4454 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4455 if (jj_3R_34()) return true;
4456 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4460 static final private boolean jj_3R_138() {
4467 if (jj_3R_147()) return true;
4468 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4469 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4470 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4471 if (jj_3R_137()) return true;
4472 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4476 static final private boolean jj_3R_140() {
4477 if (jj_scan_token(GT)) return true;
4478 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4482 static final private boolean jj_3R_121() {
4483 if (jj_3R_34()) return true;
4484 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4488 if (jj_3_2()) { jj_scanpos = xsp; break; }
4489 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4494 static final private boolean jj_3R_131() {
4495 if (jj_3R_137()) return true;
4496 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4500 if (jj_3R_138()) { jj_scanpos = xsp; break; }
4501 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4506 static final private boolean jj_3R_103() {
4507 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
4508 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4512 static final private boolean jj_3R_101() {
4513 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
4514 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4518 static private boolean jj_initialized_once = false;
4519 static public PHPParserTokenManager token_source;
4520 static SimpleCharStream jj_input_stream;
4521 static public Token token, jj_nt;
4522 static private int jj_ntk;
4523 static private Token jj_scanpos, jj_lastpos;
4524 static private int jj_la;
4525 static public boolean lookingAhead = false;
4526 static private boolean jj_semLA;
4527 static private int jj_gen;
4528 static final private int[] jj_la1 = new int[102];
4529 static private int[] jj_la1_0;
4530 static private int[] jj_la1_1;
4531 static private int[] jj_la1_2;
4532 static private int[] jj_la1_3;
4533 static private int[] jj_la1_4;
4541 private static void jj_la1_0() {
4542 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,0x200000,0x400000,0xff900000,0x0,0xff900000,0x0,0x0,0x800000,0x1800000,0x800000,0x800000,0x0,0x0,0x0,0x1800000,};
4544 private static void jj_la1_1() {
4545 jj_la1_1 = new int[] {0x0,0x5aed48,0x200,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x84400,0x4,0x86400,0x0,0x0,0x0,0x0,0xff000000,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,0x52a948,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x5aed48,0x5aed48,0x0,0x0,0x0,0x2000,0x90,0x5aed48,0x90,0x0,0x0,0x5aed48,0x0,0x5aed48,0x0,0x4,0x2000,0x86400,0x2000,0x2000,0x0,0x0,0x0,0x86400,};
4547 private static void jj_la1_2() {
4548 jj_la1_2 = new int[] {0x0,0x8c8a2288,0x0,0x0,0x0,0x1000000,0x10000000,0x80000,0x8000000,0x80000,0x8082000,0x8082000,0x88,0x88,0x2288,0x0,0x8c022288,0x0,0x1000000,0x8000000,0x0,0x1,0x10000000,0x8c022288,0x10000000,0x0,0x2,0x2,0x4,0x4,0x2000000,0x0,0x0,0x0,0x0,0x0,0x60000000,0x60000000,0x0,0x0,0x0,0x0,0x0,0x0,0x4000000,0x8c022288,0x0,0x88022288,0x80000000,0x8022288,0x0,0x0,0x220000,0x220000,0x8002000,0x8002000,0x8002000,0x220000,0x8c022288,0x200000,0x288,0x0,0x8c022288,0x1000000,0x800000,0x4000000,0xc882000,0x800000,0x800000,0x800000,0x800000,0x0,0x1000000,0x800000,0x1000000,0x800000,0x1000000,0x800000,0x8c8a2288,0x8c8a2288,0x1000000,0x10000000,0x10000000,0x8002000,0x0,0x8c8a2288,0x0,0x0,0x0,0x8c8a2288,0x800000,0x8c8a2288,0x800000,0x0,0x8002000,0x8c022288,0x8002000,0x8002000,0x1000000,0x2000,0x2000,0x8c022288,};
4550 private static void jj_la1_3() {
4551 jj_la1_3 = new int[] {0x0,0x4f00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc00,0x0,0x4f00,0x4000,0x0,0x4000,0x4000,0x0,0xffe00000,0x4f00,0xffe00000,0x1,0x40,0x40,0x80,0x80,0x0,0x8000,0x10000,0x4000,0x24,0x24,0x18,0x18,0x1c0000,0x1c0000,0xc00,0xc00,0x23000,0x23000,0x0,0x4f00,0xc00,0xf00,0x0,0x0,0x300,0x300,0x0,0x0,0x0,0x0,0x0,0x0,0x4f00,0x0,0x0,0x0,0x4f00,0x0,0x0,0x0,0x300,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4f00,0x4f00,0x0,0xffe00300,0xffe00300,0x300,0x0,0x4f00,0x0,0x0,0x0,0x4f00,0x0,0x4f02,0x0,0x0,0x300,0x4f00,0x300,0x300,0x0,0x0,0x0,0x4f00,};
4553 private static void jj_la1_4() {
4554 jj_la1_4 = new int[] {0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x8,0x8,0x0,0x0,0x0,0x0,0x8,0x0,0x0,0x8,0x0,0x0,0x4,0x8,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x0,0x0,0x0,0x8,0x8,0x8,0x0,0x8,0x0,0x0,0x0,0x8,0x0,0x10,0x0,0x8,0x10,0x10,0x10,0x10,0x0,0x0,0x10,0x0,0x10,0x0,0x10,0x8,0x8,0x0,0x4,0x4,0x8,0x0,0x8,0x0,0x0,0x0,0x8,0x10,0x8,0x10,0x0,0x8,0x8,0x8,0x8,0x0,0x0,0x0,0x8,};
4556 static final private JJCalls[] jj_2_rtns = new JJCalls[7];
4557 static private boolean jj_rescan = false;
4558 static private int jj_gc = 0;
4560 public PHPParser(java.io.InputStream stream) {
4561 if (jj_initialized_once) {
4562 System.out.println("ERROR: Second call to constructor of static parser. You must");
4563 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
4564 System.out.println(" during parser generation.");
4567 jj_initialized_once = true;
4568 jj_input_stream = new SimpleCharStream(stream, 1, 1);
4569 token_source = new PHPParserTokenManager(jj_input_stream);
4570 token = new Token();
4573 for (int i = 0; i < 102; i++) jj_la1[i] = -1;
4574 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4577 static public void ReInit(java.io.InputStream stream) {
4578 jj_input_stream.ReInit(stream, 1, 1);
4579 token_source.ReInit(jj_input_stream);
4580 token = new Token();
4583 for (int i = 0; i < 102; i++) jj_la1[i] = -1;
4584 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4587 public PHPParser(java.io.Reader stream) {
4588 if (jj_initialized_once) {
4589 System.out.println("ERROR: Second call to constructor of static parser. You must");
4590 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
4591 System.out.println(" during parser generation.");
4594 jj_initialized_once = true;
4595 jj_input_stream = new SimpleCharStream(stream, 1, 1);
4596 token_source = new PHPParserTokenManager(jj_input_stream);
4597 token = new Token();
4600 for (int i = 0; i < 102; i++) jj_la1[i] = -1;
4601 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4604 static public void ReInit(java.io.Reader stream) {
4605 jj_input_stream.ReInit(stream, 1, 1);
4606 token_source.ReInit(jj_input_stream);
4607 token = new Token();
4610 for (int i = 0; i < 102; i++) jj_la1[i] = -1;
4611 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4614 public PHPParser(PHPParserTokenManager tm) {
4615 if (jj_initialized_once) {
4616 System.out.println("ERROR: Second call to constructor of static parser. You must");
4617 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
4618 System.out.println(" during parser generation.");
4621 jj_initialized_once = true;
4623 token = new Token();
4626 for (int i = 0; i < 102; i++) jj_la1[i] = -1;
4627 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4630 public void ReInit(PHPParserTokenManager tm) {
4632 token = new Token();
4635 for (int i = 0; i < 102; i++) jj_la1[i] = -1;
4636 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4639 static final private Token jj_consume_token(int kind) throws ParseException {
4641 if ((oldToken = token).next != null) token = token.next;
4642 else token = token.next = token_source.getNextToken();
4644 if (token.kind == kind) {
4646 if (++jj_gc > 100) {
4648 for (int i = 0; i < jj_2_rtns.length; i++) {
4649 JJCalls c = jj_2_rtns[i];
4651 if (c.gen < jj_gen) c.first = null;
4660 throw generateParseException();
4663 static final private boolean jj_scan_token(int kind) {
4664 if (jj_scanpos == jj_lastpos) {
4666 if (jj_scanpos.next == null) {
4667 jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
4669 jj_lastpos = jj_scanpos = jj_scanpos.next;
4672 jj_scanpos = jj_scanpos.next;
4675 int i = 0; Token tok = token;
4676 while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
4677 if (tok != null) jj_add_error_token(kind, i);
4679 return (jj_scanpos.kind != kind);
4682 static final public Token getNextToken() {
4683 if (token.next != null) token = token.next;
4684 else token = token.next = token_source.getNextToken();
4690 static final public Token getToken(int index) {
4691 Token t = lookingAhead ? jj_scanpos : token;
4692 for (int i = 0; i < index; i++) {
4693 if (t.next != null) t = t.next;
4694 else t = t.next = token_source.getNextToken();
4699 static final private int jj_ntk() {
4700 if ((jj_nt=token.next) == null)
4701 return (jj_ntk = (token.next=token_source.getNextToken()).kind);
4703 return (jj_ntk = jj_nt.kind);
4706 static private java.util.Vector jj_expentries = new java.util.Vector();
4707 static private int[] jj_expentry;
4708 static private int jj_kind = -1;
4709 static private int[] jj_lasttokens = new int[100];
4710 static private int jj_endpos;
4712 static private void jj_add_error_token(int kind, int pos) {
4713 if (pos >= 100) return;
4714 if (pos == jj_endpos + 1) {
4715 jj_lasttokens[jj_endpos++] = kind;
4716 } else if (jj_endpos != 0) {
4717 jj_expentry = new int[jj_endpos];
4718 for (int i = 0; i < jj_endpos; i++) {
4719 jj_expentry[i] = jj_lasttokens[i];
4721 boolean exists = false;
4722 for (java.util.Enumeration enum = jj_expentries.elements(); enum.hasMoreElements();) {
4723 int[] oldentry = (int[])(enum.nextElement());
4724 if (oldentry.length == jj_expentry.length) {
4726 for (int i = 0; i < jj_expentry.length; i++) {
4727 if (oldentry[i] != jj_expentry[i]) {
4735 if (!exists) jj_expentries.addElement(jj_expentry);
4736 if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
4740 static public ParseException generateParseException() {
4741 jj_expentries.removeAllElements();
4742 boolean[] la1tokens = new boolean[133];
4743 for (int i = 0; i < 133; i++) {
4744 la1tokens[i] = false;
4747 la1tokens[jj_kind] = true;
4750 for (int i = 0; i < 102; i++) {
4751 if (jj_la1[i] == jj_gen) {
4752 for (int j = 0; j < 32; j++) {
4753 if ((jj_la1_0[i] & (1<<j)) != 0) {
4754 la1tokens[j] = true;
4756 if ((jj_la1_1[i] & (1<<j)) != 0) {
4757 la1tokens[32+j] = true;
4759 if ((jj_la1_2[i] & (1<<j)) != 0) {
4760 la1tokens[64+j] = true;
4762 if ((jj_la1_3[i] & (1<<j)) != 0) {
4763 la1tokens[96+j] = true;
4765 if ((jj_la1_4[i] & (1<<j)) != 0) {
4766 la1tokens[128+j] = true;
4771 for (int i = 0; i < 133; i++) {
4773 jj_expentry = new int[1];
4775 jj_expentries.addElement(jj_expentry);
4780 jj_add_error_token(0, 0);
4781 int[][] exptokseq = new int[jj_expentries.size()][];
4782 for (int i = 0; i < jj_expentries.size(); i++) {
4783 exptokseq[i] = (int[])jj_expentries.elementAt(i);
4785 return new ParseException(token, exptokseq, tokenImage);
4788 static final public void enable_tracing() {
4791 static final public void disable_tracing() {
4794 static final private void jj_rescan_token() {
4796 for (int i = 0; i < 7; i++) {
4797 JJCalls p = jj_2_rtns[i];
4799 if (p.gen > jj_gen) {
4800 jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
4802 case 0: jj_3_1(); break;
4803 case 1: jj_3_2(); break;
4804 case 2: jj_3_3(); break;
4805 case 3: jj_3_4(); break;
4806 case 4: jj_3_5(); break;
4807 case 5: jj_3_6(); break;
4808 case 6: jj_3_7(); break;
4812 } while (p != null);
4817 static final private void jj_save(int index, int xla) {
4818 JJCalls p = jj_2_rtns[index];
4819 while (p.gen > jj_gen) {
4820 if (p.next == null) { p = p.next = new JJCalls(); break; }
4823 p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
4826 static final class JJCalls {