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;
23 * This php parser is inspired by the Java 1.2 grammar example
24 * given with JavaCC. You can get JavaCC at http://www.webgain.com
25 * You can test the parser with the PHPParserTestCase2.java
26 * @author Matthieu Casanova
28 public class PHPParser extends PHPParserSuperclass implements PHPParserConstants {
30 private static IFile fileToParse;
32 /** The current segment */
33 private static PHPSegmentWithChildren currentSegment;
35 private static final String PARSE_ERROR_STRING = "Parse error"; //$NON-NLS-1$
36 private static final String PARSE_WARNING_STRING = "Warning"; //$NON-NLS-1$
37 public static final int ERROR = 2;
38 public static final int WARNING = 1;
39 public static final int INFO = 0;
40 PHPOutlineInfo outlineInfo;
41 private static int errorLevel = ERROR;
42 private static String errorMessage;
47 public void setFileToParse(IFile fileToParse) {
48 this.fileToParse = fileToParse;
51 public PHPParser(IFile fileToParse) {
52 this(new StringReader(""));
53 this.fileToParse = fileToParse;
56 public void phpParserTester(String strEval) throws CoreException, ParseException {
57 PHPParserTokenManager.SwitchTo(PHPParserTokenManager.PHPPARSING);
58 StringReader stream = new StringReader(strEval);
59 if (jj_input_stream == null) {
60 jj_input_stream = new SimpleCharStream(stream, 1, 1);
62 ReInit(new StringReader(strEval));
66 public void htmlParserTester(String strEval) throws CoreException, ParseException {
67 StringReader stream = new StringReader(strEval);
68 if (jj_input_stream == null) {
69 jj_input_stream = new SimpleCharStream(stream, 1, 1);
75 public PHPOutlineInfo parseInfo(Object parent, String s) {
76 outlineInfo = new PHPOutlineInfo(parent);
77 currentSegment = outlineInfo.getDeclarations();
78 StringReader stream = new StringReader(s);
79 if (jj_input_stream == null) {
80 jj_input_stream = new SimpleCharStream(stream, 1, 1);
85 } catch (ParseException e) {
86 if (errorMessage == null) {
87 PHPeclipsePlugin.log(e);
89 setMarker(errorMessage, e.currentToken.beginLine, errorLevel);
98 * Create marker for the parse error
100 private static void setMarker(String message, int lineNumber, int errorLevel) {
102 setMarker(fileToParse, message, lineNumber, errorLevel);
103 } catch (CoreException e) {
104 PHPeclipsePlugin.log(e);
108 public static void setMarker(IFile file, String message, int lineNumber, int errorLevel) throws CoreException {
110 Hashtable attributes = new Hashtable();
111 MarkerUtilities.setMessage(attributes, message);
112 switch (errorLevel) {
114 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_ERROR));
117 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_WARNING));
120 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_INFO));
123 MarkerUtilities.setLineNumber(attributes, lineNumber);
124 MarkerUtilities.createMarker(file, attributes, IMarker.PROBLEM);
129 * Create markers according to the external parser output
131 private static void createMarkers(String output, IFile file) throws CoreException {
132 // delete all markers
133 file.deleteMarkers(IMarker.PROBLEM, false, 0);
138 while ((brIndx = output.indexOf("<br />", indx)) != -1) {
139 // newer php error output (tested with 4.2.3)
140 scanLine(output, file, indx, brIndx);
145 while ((brIndx = output.indexOf("<br>", indx)) != -1) {
146 // older php error output (tested with 4.2.3)
147 scanLine(output, file, indx, brIndx);
153 private static void scanLine(String output, IFile file, int indx, int brIndx) throws CoreException {
155 StringBuffer lineNumberBuffer = new StringBuffer(10);
157 current = output.substring(indx, brIndx);
159 if (current.indexOf(PARSE_WARNING_STRING) != -1 || current.indexOf(PARSE_ERROR_STRING) != -1) {
160 int onLine = current.indexOf("on line <b>");
162 lineNumberBuffer.delete(0, lineNumberBuffer.length());
163 for (int i = onLine; i < current.length(); i++) {
164 ch = current.charAt(i);
165 if ('0' <= ch && '9' >= ch) {
166 lineNumberBuffer.append(ch);
170 int lineNumber = Integer.parseInt(lineNumberBuffer.toString());
172 Hashtable attributes = new Hashtable();
174 current = current.replaceAll("\n", "");
175 current = current.replaceAll("<b>", "");
176 current = current.replaceAll("</b>", "");
177 MarkerUtilities.setMessage(attributes, current);
179 if (current.indexOf(PARSE_ERROR_STRING) != -1)
180 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_ERROR));
181 else if (current.indexOf(PARSE_WARNING_STRING) != -1)
182 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_WARNING));
184 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_INFO));
185 MarkerUtilities.setLineNumber(attributes, lineNumber);
186 MarkerUtilities.createMarker(file, attributes, IMarker.PROBLEM);
191 public void parse(String s) throws CoreException {
192 ReInit(new StringReader(s));
195 } catch (ParseException e) {
196 if (errorMessage == null) {
197 PHPeclipsePlugin.log(e);
199 setMarker(errorMessage, e.currentToken.beginLine, errorLevel);
206 * Call the php parse command ( php -l -f <filename> )
207 * and create markers according to the external parser output
209 public static void phpExternalParse(IFile file) {
210 IPreferenceStore store = PHPeclipsePlugin.getDefault().getPreferenceStore();
211 String filename = file.getLocation().toString();
213 String[] arguments = { filename };
214 MessageFormat form = new MessageFormat(store.getString(PHPeclipsePlugin.EXTERNAL_PARSER_PREF));
215 String command = form.format(arguments);
217 String parserResult = PHPStartApacheAction.getParserOutput(command, "External parser: ");
220 // parse the buffer to find the errors and warnings
221 createMarkers(parserResult, file);
222 } catch (CoreException e) {
223 PHPeclipsePlugin.log(e);
227 public void parse() throws ParseException {
231 /*****************************************
232 * THE JAVA LANGUAGE GRAMMAR STARTS HERE *
233 *****************************************/
236 * Program structuring syntax follows.
238 static final public void phpTest() throws ParseException {
243 static final public void phpFile() throws ParseException {
246 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
254 jj_consume_token(PHPSTART);
256 jj_consume_token(PHPEND);
261 static final public void Php() throws ParseException {
264 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
288 case INTEGER_LITERAL:
289 case FLOATING_POINT_LITERAL:
314 static final public void ClassDeclaration() throws ParseException {
315 PHPClassDeclaration classDeclaration;
317 int pos = jj_input_stream.bufpos;
318 jj_consume_token(CLASS);
319 className = jj_consume_token(IDENTIFIER);
320 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
322 jj_consume_token(EXTENDS);
323 jj_consume_token(IDENTIFIER);
329 classDeclaration = new PHPClassDeclaration(currentSegment,className.image,pos);
330 currentSegment.add(classDeclaration);
331 currentSegment = classDeclaration;
333 currentSegment = (PHPSegmentWithChildren) currentSegment.getParent();
336 static final public void ClassBody() throws ParseException {
337 jj_consume_token(LBRACE);
340 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
349 ClassBodyDeclaration();
351 jj_consume_token(RBRACE);
354 static final public void ClassBodyDeclaration() throws ParseException {
355 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
364 jj_consume_token(-1);
365 throw new ParseException();
369 static final public void FieldDeclaration() throws ParseException {
370 jj_consume_token(VAR);
371 VariableDeclarator();
374 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
382 jj_consume_token(COMMA);
383 VariableDeclarator();
385 jj_consume_token(SEMICOLON);
388 static final public String VariableDeclarator() throws ParseException {
390 StringBuffer buff = new StringBuffer();
391 expr = VariableDeclaratorId();
393 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
395 jj_consume_token(ASSIGN);
396 expr = VariableInitializer();
397 buff.append("=").append(expr);
403 {if (true) return buff.toString();}
404 throw new Error("Missing return statement in function");
407 static final public String VariableDeclaratorId() throws ParseException {
409 StringBuffer buff = new StringBuffer();
419 expr = VariableSuffix();
422 {if (true) return buff.toString();}
423 throw new Error("Missing return statement in function");
426 static final public String Variable() throws ParseException {
429 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
431 token = jj_consume_token(DOLLAR_ID);
432 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
434 jj_consume_token(LBRACE);
436 jj_consume_token(RBRACE);
443 {if (true) return token.image;}
445 {if (true) return token + "{" + expr + "}";}
448 jj_consume_token(DOLLAR);
449 expr = VariableName();
450 {if (true) return "$" + expr;}
454 jj_consume_token(-1);
455 throw new ParseException();
457 throw new Error("Missing return statement in function");
460 static final public String VariableName() throws ParseException {
463 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
465 jj_consume_token(LBRACE);
467 jj_consume_token(RBRACE);
468 {if (true) return "{"+expr+"}";}
471 token = jj_consume_token(IDENTIFIER);
472 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
474 jj_consume_token(LBRACE);
476 jj_consume_token(RBRACE);
483 {if (true) return token.image;}
485 {if (true) return token + "{" + expr + "}";}
488 jj_consume_token(DOLLAR);
489 expr = VariableName();
490 {if (true) return "$" + expr;}
494 jj_consume_token(-1);
495 throw new ParseException();
497 throw new Error("Missing return statement in function");
500 static final public String VariableInitializer() throws ParseException {
503 {if (true) return expr;}
504 throw new Error("Missing return statement in function");
507 static final public String ArrayVariable() throws ParseException {
509 StringBuffer buff = new StringBuffer();
512 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
514 jj_consume_token(ARRAYASSIGN);
516 buff.append("=>").append(expr);
522 {if (true) return buff.toString();}
523 throw new Error("Missing return statement in function");
526 static final public String ArrayInitializer() throws ParseException {
528 StringBuffer buff = new StringBuffer("(");
529 jj_consume_token(LPAREN);
530 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
537 case INTEGER_LITERAL:
538 case FLOATING_POINT_LITERAL:
551 expr = ArrayVariable();
560 jj_consume_token(COMMA);
561 expr = ArrayVariable();
562 buff.append(",").append(expr);
569 jj_consume_token(RPAREN);
571 {if (true) return buff.toString();}
572 throw new Error("Missing return statement in function");
575 static final public void MethodDeclaration() throws ParseException {
576 PHPFunctionDeclaration functionDeclaration;
577 jj_consume_token(FUNCTION);
578 functionDeclaration = MethodDeclarator();
579 currentSegment.add(functionDeclaration);
580 currentSegment = functionDeclaration;
581 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
586 jj_consume_token(SEMICOLON);
590 jj_consume_token(-1);
591 throw new ParseException();
593 currentSegment = (PHPSegmentWithChildren) currentSegment.getParent();
596 static final public PHPFunctionDeclaration MethodDeclarator() throws ParseException {
598 StringBuffer methodDeclaration = new StringBuffer();
599 String formalParameters;
600 int pos = jj_input_stream.bufpos;
601 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
603 jj_consume_token(BIT_AND);
604 methodDeclaration.append("&");
610 identifier = jj_consume_token(IDENTIFIER);
611 formalParameters = FormalParameters();
612 methodDeclaration.append(identifier).append(formalParameters);
613 {if (true) return new PHPFunctionDeclaration(currentSegment,methodDeclaration.toString(),pos);}
614 throw new Error("Missing return statement in function");
617 static final public String FormalParameters() throws ParseException {
619 StringBuffer buff = new StringBuffer("(");
620 jj_consume_token(LPAREN);
621 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
625 expr = FormalParameter();
629 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
637 jj_consume_token(COMMA);
638 expr = FormalParameter();
639 buff.append(",").append(expr);
646 jj_consume_token(RPAREN);
648 {if (true) return buff.toString();}
649 throw new Error("Missing return statement in function");
652 static final public String FormalParameter() throws ParseException {
654 StringBuffer buff = new StringBuffer();
655 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
657 jj_consume_token(BIT_AND);
664 expr = VariableDeclarator();
666 {if (true) return buff.toString();}
667 throw new Error("Missing return statement in function");
670 static final public String Type() throws ParseException {
671 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
673 jj_consume_token(STRING);
674 {if (true) return "string";}
677 jj_consume_token(BOOL);
678 {if (true) return "bool";}
681 jj_consume_token(BOOLEAN);
682 {if (true) return "boolean";}
685 jj_consume_token(REAL);
686 {if (true) return "real";}
689 jj_consume_token(DOUBLE);
690 {if (true) return "double";}
693 jj_consume_token(FLOAT);
694 {if (true) return "float";}
697 jj_consume_token(INT);
698 {if (true) return "int";}
701 jj_consume_token(INTEGER);
702 {if (true) return "integer";}
706 jj_consume_token(-1);
707 throw new ParseException();
709 throw new Error("Missing return statement in function");
712 static final public String Expression() throws ParseException {
714 String assignOperator = null;
716 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
718 expr = PrintExpression();
719 {if (true) return expr;}
726 case INTEGER_LITERAL:
727 case FLOATING_POINT_LITERAL:
740 expr = ConditionalExpression();
741 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
753 case RSIGNEDSHIFTASSIGN:
754 case RUNSIGNEDSHIFTASSIGN:
755 assignOperator = AssignmentOperator();
756 expr2 = Expression();
763 {if (true) return expr;}
765 {if (true) return expr + assignOperator + expr2;}
770 jj_consume_token(-1);
771 throw new ParseException();
773 throw new Error("Missing return statement in function");
776 static final public String AssignmentOperator() throws ParseException {
777 Token assignOperator;
778 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
780 jj_consume_token(ASSIGN);
781 {if (true) return "=";}
784 jj_consume_token(STARASSIGN);
785 {if (true) return "*=";}
788 jj_consume_token(SLASHASSIGN);
789 {if (true) return "/=";}
792 jj_consume_token(REMASSIGN);
793 {if (true) return "%=";}
796 jj_consume_token(PLUSASSIGN);
797 {if (true) return "+=";}
800 jj_consume_token(MINUSASSIGN);
801 {if (true) return "-=";}
804 jj_consume_token(LSHIFTASSIGN);
805 {if (true) return "<<=";}
807 case RSIGNEDSHIFTASSIGN:
808 jj_consume_token(RSIGNEDSHIFTASSIGN);
809 {if (true) return ">>=";}
811 case RUNSIGNEDSHIFTASSIGN:
812 jj_consume_token(RUNSIGNEDSHIFTASSIGN);
813 {if (true) return ">>>=";}
816 jj_consume_token(ANDASSIGN);
817 {if (true) return "&=";}
820 jj_consume_token(XORASSIGN);
821 {if (true) return "|=";}
824 jj_consume_token(ORASSIGN);
825 {if (true) return "|=";}
828 jj_consume_token(DOTASSIGN);
829 {if (true) return ".=";}
833 jj_consume_token(-1);
834 throw new ParseException();
836 throw new Error("Missing return statement in function");
839 static final public String ConditionalExpression() throws ParseException {
843 expr = ConditionalOrExpression();
844 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
846 jj_consume_token(HOOK);
847 expr2 = Expression();
848 jj_consume_token(COLON);
849 expr3 = ConditionalExpression();
856 {if (true) return expr;}
858 {if (true) return expr + "?" + expr2 + ":" + expr3;}
860 throw new Error("Missing return statement in function");
863 static final public String ConditionalOrExpression() throws ParseException {
867 StringBuffer buff = new StringBuffer();
868 expr = ConditionalAndExpression();
872 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
881 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
883 operator = jj_consume_token(SC_OR);
886 operator = jj_consume_token(_ORL);
890 jj_consume_token(-1);
891 throw new ParseException();
893 expr2 = ConditionalAndExpression();
894 buff.append(operator.image);
897 {if (true) return buff.toString();}
898 throw new Error("Missing return statement in function");
901 static final public String ConditionalAndExpression() throws ParseException {
905 StringBuffer buff = new StringBuffer();
906 expr = ConcatExpression();
910 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
919 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
921 operator = jj_consume_token(SC_AND);
924 operator = jj_consume_token(_ANDL);
928 jj_consume_token(-1);
929 throw new ParseException();
931 expr2 = ConcatExpression();
932 buff.append(operator.image);
935 {if (true) return buff.toString();}
936 throw new Error("Missing return statement in function");
939 static final public String ConcatExpression() throws ParseException {
942 StringBuffer buff = new StringBuffer();
943 expr = InclusiveOrExpression();
947 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
955 jj_consume_token(DOT);
956 expr2 = InclusiveOrExpression();
960 {if (true) return buff.toString();}
961 throw new Error("Missing return statement in function");
964 static final public String InclusiveOrExpression() throws ParseException {
967 StringBuffer buff = new StringBuffer();
968 expr = ExclusiveOrExpression();
972 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
980 jj_consume_token(BIT_OR);
981 expr2 = ExclusiveOrExpression();
985 {if (true) return buff.toString();}
986 throw new Error("Missing return statement in function");
989 static final public String ExclusiveOrExpression() throws ParseException {
992 StringBuffer buff = new StringBuffer();
993 expr = AndExpression();
997 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1002 jj_la1[29] = jj_gen;
1005 jj_consume_token(XOR);
1006 expr2 = AndExpression();
1010 {if (true) return buff.toString();}
1011 throw new Error("Missing return statement in function");
1014 static final public String AndExpression() throws ParseException {
1016 String expr2 = null;
1017 StringBuffer buff = new StringBuffer();
1018 expr = EqualityExpression();
1022 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1027 jj_la1[30] = jj_gen;
1030 jj_consume_token(BIT_AND);
1031 expr2 = EqualityExpression();
1035 {if (true) return buff.toString();}
1036 throw new Error("Missing return statement in function");
1039 static final public String EqualityExpression() throws ParseException {
1043 StringBuffer buff = new StringBuffer();
1044 expr = RelationalExpression();
1048 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1054 jj_la1[31] = jj_gen;
1057 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1059 operator = jj_consume_token(EQ);
1062 operator = jj_consume_token(NE);
1065 jj_la1[32] = jj_gen;
1066 jj_consume_token(-1);
1067 throw new ParseException();
1069 expr2 = RelationalExpression();
1070 buff.append(operator.image);
1073 {if (true) return buff.toString();}
1074 throw new Error("Missing return statement in function");
1077 static final public String RelationalExpression() throws ParseException {
1081 StringBuffer buff = new StringBuffer();
1082 expr = ShiftExpression();
1086 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1094 jj_la1[33] = jj_gen;
1097 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1099 operator = jj_consume_token(LT);
1102 operator = jj_consume_token(GT);
1105 operator = jj_consume_token(LE);
1108 operator = jj_consume_token(GE);
1111 jj_la1[34] = jj_gen;
1112 jj_consume_token(-1);
1113 throw new ParseException();
1115 expr2 = ShiftExpression();
1116 buff.append(operator.image);
1119 {if (true) return buff.toString();}
1120 throw new Error("Missing return statement in function");
1123 static final public String ShiftExpression() throws ParseException {
1127 StringBuffer buff = new StringBuffer();
1128 expr = AdditiveExpression();
1132 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1135 case RUNSIGNEDSHIFT:
1139 jj_la1[35] = jj_gen;
1142 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1144 operator = jj_consume_token(LSHIFT);
1147 operator = jj_consume_token(RSIGNEDSHIFT);
1149 case RUNSIGNEDSHIFT:
1150 operator = jj_consume_token(RUNSIGNEDSHIFT);
1153 jj_la1[36] = jj_gen;
1154 jj_consume_token(-1);
1155 throw new ParseException();
1157 expr2 = AdditiveExpression();
1158 buff.append(operator.image);
1161 {if (true) return buff.toString();}
1162 throw new Error("Missing return statement in function");
1165 static final public String AdditiveExpression() throws ParseException {
1169 StringBuffer buff = new StringBuffer();
1170 expr = MultiplicativeExpression();
1174 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1180 jj_la1[37] = jj_gen;
1183 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1185 operator = jj_consume_token(PLUS);
1188 operator = jj_consume_token(MINUS);
1191 jj_la1[38] = jj_gen;
1192 jj_consume_token(-1);
1193 throw new ParseException();
1195 expr2 = MultiplicativeExpression();
1196 buff.append(operator.image);
1199 {if (true) return buff.toString();}
1200 throw new Error("Missing return statement in function");
1203 static final public String MultiplicativeExpression() throws ParseException {
1207 StringBuffer buff = new StringBuffer();
1208 expr = UnaryExpression();
1212 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1219 jj_la1[39] = jj_gen;
1222 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1224 operator = jj_consume_token(STAR);
1227 operator = jj_consume_token(SLASH);
1230 operator = jj_consume_token(REM);
1233 jj_la1[40] = jj_gen;
1234 jj_consume_token(-1);
1235 throw new ParseException();
1237 expr2 = UnaryExpression();
1238 buff.append(operator.image);
1241 {if (true) return buff.toString();}
1242 throw new Error("Missing return statement in function");
1245 static final public String UnaryExpression() throws ParseException {
1247 StringBuffer buff = new StringBuffer();
1248 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1250 jj_consume_token(AT);
1251 expr = UnaryExpression();
1252 {if (true) return "@" + expr;}
1256 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1258 jj_consume_token(PLUS);
1262 jj_consume_token(MINUS);
1266 jj_la1[41] = jj_gen;
1267 jj_consume_token(-1);
1268 throw new ParseException();
1270 expr = UnaryExpression();
1272 {if (true) return buff.toString();}
1275 expr = PreIncrementExpression();
1276 {if (true) return expr;}
1279 expr = PreDecrementExpression();
1280 {if (true) return expr;}
1287 case INTEGER_LITERAL:
1288 case FLOATING_POINT_LITERAL:
1289 case STRING_LITERAL:
1296 expr = UnaryExpressionNotPlusMinus();
1297 {if (true) return buff.toString();}
1300 jj_la1[42] = jj_gen;
1301 jj_consume_token(-1);
1302 throw new ParseException();
1304 throw new Error("Missing return statement in function");
1307 static final public String PreIncrementExpression() throws ParseException {
1309 jj_consume_token(INCR);
1310 expr = PrimaryExpression();
1311 {if (true) return "++"+expr;}
1312 throw new Error("Missing return statement in function");
1315 static final public String PreDecrementExpression() throws ParseException {
1317 jj_consume_token(DECR);
1318 expr = PrimaryExpression();
1319 {if (true) return "--"+expr;}
1320 throw new Error("Missing return statement in function");
1323 static final public String UnaryExpressionNotPlusMinus() throws ParseException {
1325 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1327 jj_consume_token(BANG);
1328 expr = UnaryExpression();
1329 {if (true) return "!" + expr;}
1332 jj_la1[43] = jj_gen;
1333 if (jj_2_3(2147483647)) {
1334 expr = CastExpression();
1335 {if (true) return expr;}
1337 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1344 expr = PostfixExpression();
1345 {if (true) return expr;}
1350 case INTEGER_LITERAL:
1351 case FLOATING_POINT_LITERAL:
1352 case STRING_LITERAL:
1354 {if (true) return expr;}
1357 jj_consume_token(LPAREN);
1358 expr = Expression();
1359 jj_consume_token(RPAREN);
1360 {if (true) return "("+expr+")";}
1363 jj_la1[44] = jj_gen;
1364 jj_consume_token(-1);
1365 throw new ParseException();
1369 throw new Error("Missing return statement in function");
1372 static final public String CastExpression() throws ParseException {
1375 jj_consume_token(LPAREN);
1377 jj_consume_token(RPAREN);
1378 expr = UnaryExpression();
1379 {if (true) return "(" + type + ")" + expr;}
1380 throw new Error("Missing return statement in function");
1383 static final public String PostfixExpression() throws ParseException {
1385 Token operator = null;
1386 expr = PrimaryExpression();
1387 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1390 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1392 operator = jj_consume_token(INCR);
1395 operator = jj_consume_token(DECR);
1398 jj_la1[45] = jj_gen;
1399 jj_consume_token(-1);
1400 throw new ParseException();
1404 jj_la1[46] = jj_gen;
1407 if (operator == null) {
1408 {if (true) return expr;}
1410 {if (true) return expr + operator.image;}
1411 throw new Error("Missing return statement in function");
1414 static final public String PrimaryExpression() throws ParseException {
1417 StringBuffer buff = new StringBuffer();
1419 identifier = jj_consume_token(IDENTIFIER);
1420 jj_consume_token(STATICCLASSACCESS);
1421 expr = ClassIdentifier();
1422 buff.append(identifier.image).append("::").append(expr);
1425 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1432 jj_la1[47] = jj_gen;
1435 expr = PrimarySuffix();
1438 {if (true) return buff.toString();}
1440 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1446 expr = PrimaryPrefix();
1450 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1457 jj_la1[48] = jj_gen;
1460 expr = PrimarySuffix();
1463 {if (true) return buff.toString();}
1466 jj_consume_token(ARRAY);
1467 expr = ArrayInitializer();
1468 {if (true) return "array" + expr;}
1471 jj_la1[49] = jj_gen;
1472 jj_consume_token(-1);
1473 throw new ParseException();
1476 throw new Error("Missing return statement in function");
1479 static final public String PrimaryPrefix() throws ParseException {
1482 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1484 token = jj_consume_token(IDENTIFIER);
1485 {if (true) return token.image;}
1489 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1491 token = jj_consume_token(BIT_AND);
1494 jj_la1[50] = jj_gen;
1497 jj_consume_token(NEW);
1498 expr = ClassIdentifier();
1499 if (token == null) {
1500 {if (true) return "new " + expr;}
1502 {if (true) return "new " + expr;}
1506 expr = VariableDeclaratorId();
1507 {if (true) return expr;}
1510 jj_la1[51] = jj_gen;
1511 jj_consume_token(-1);
1512 throw new ParseException();
1514 throw new Error("Missing return statement in function");
1517 static final public String ClassIdentifier() throws ParseException {
1520 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1522 token = jj_consume_token(IDENTIFIER);
1523 {if (true) return token.image;}
1527 expr = VariableDeclaratorId();
1528 {if (true) return expr;}
1531 jj_la1[52] = jj_gen;
1532 jj_consume_token(-1);
1533 throw new ParseException();
1535 throw new Error("Missing return statement in function");
1538 static final public String PrimarySuffix() throws ParseException {
1540 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1543 {if (true) return expr;}
1547 expr = VariableSuffix();
1548 {if (true) return expr;}
1551 jj_la1[53] = jj_gen;
1552 jj_consume_token(-1);
1553 throw new ParseException();
1555 throw new Error("Missing return statement in function");
1558 static final public String VariableSuffix() throws ParseException {
1560 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1562 jj_consume_token(CLASSACCESS);
1563 expr = VariableName();
1564 {if (true) return "->" + expr;}
1567 jj_consume_token(LBRACKET);
1568 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1575 case INTEGER_LITERAL:
1576 case FLOATING_POINT_LITERAL:
1577 case STRING_LITERAL:
1589 expr = Expression();
1592 jj_la1[54] = jj_gen;
1595 jj_consume_token(RBRACKET);
1597 {if (true) return "[]";}
1599 {if (true) return "[" + expr + "]";}
1602 jj_la1[55] = jj_gen;
1603 jj_consume_token(-1);
1604 throw new ParseException();
1606 throw new Error("Missing return statement in function");
1609 static final public String Literal() throws ParseException {
1612 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1613 case INTEGER_LITERAL:
1614 token = jj_consume_token(INTEGER_LITERAL);
1615 {if (true) return token.image;}
1617 case FLOATING_POINT_LITERAL:
1618 token = jj_consume_token(FLOATING_POINT_LITERAL);
1619 {if (true) return token.image;}
1621 case STRING_LITERAL:
1623 token = jj_consume_token(STRING_LITERAL);
1624 {if (true) return token.image;}
1625 } catch (TokenMgrError e) {
1626 errorMessage = "unterminated string";
1628 {if (true) throw generateParseException();}
1633 expr = BooleanLiteral();
1634 {if (true) return expr;}
1637 expr = NullLiteral();
1638 {if (true) return expr;}
1641 jj_la1[56] = jj_gen;
1642 jj_consume_token(-1);
1643 throw new ParseException();
1645 throw new Error("Missing return statement in function");
1648 static final public String BooleanLiteral() throws ParseException {
1649 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1651 jj_consume_token(TRUE);
1652 {if (true) return "true";}
1655 jj_consume_token(FALSE);
1656 {if (true) return "false";}
1659 jj_la1[57] = jj_gen;
1660 jj_consume_token(-1);
1661 throw new ParseException();
1663 throw new Error("Missing return statement in function");
1666 static final public String NullLiteral() throws ParseException {
1667 jj_consume_token(NULL);
1668 {if (true) return "null";}
1669 throw new Error("Missing return statement in function");
1672 static final public String Arguments() throws ParseException {
1674 jj_consume_token(LPAREN);
1675 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1682 case INTEGER_LITERAL:
1683 case FLOATING_POINT_LITERAL:
1684 case STRING_LITERAL:
1696 expr = ArgumentList();
1699 jj_la1[58] = jj_gen;
1703 jj_consume_token(RPAREN);
1704 } catch (ParseException e) {
1705 errorMessage = "')' expected to close the argument list";
1707 {if (true) throw e;}
1710 {if (true) return "()";}
1712 {if (true) return "(" + expr + ")";}
1713 throw new Error("Missing return statement in function");
1716 static final public String ArgumentList() throws ParseException {
1718 StringBuffer buff = new StringBuffer();
1719 expr = Expression();
1723 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1728 jj_la1[59] = jj_gen;
1731 jj_consume_token(COMMA);
1733 expr = Expression();
1734 } catch (ParseException e) {
1735 errorMessage = "expression expected after a comma in argument list";
1737 {if (true) throw e;}
1739 buff.append(",").append("expr");
1741 {if (true) return buff.toString();}
1742 throw new Error("Missing return statement in function");
1746 * Statement syntax follows.
1748 static final public void Statement() throws ParseException {
1751 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1753 jj_consume_token(SEMICOLON);
1756 jj_consume_token(127);
1759 jj_la1[60] = jj_gen;
1760 jj_consume_token(-1);
1761 throw new ParseException();
1763 } else if (jj_2_6(2)) {
1766 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1781 StatementExpression();
1783 jj_consume_token(SEMICOLON);
1784 } catch (ParseException e) {
1785 errorMessage = "';' expected after expression";
1787 {if (true) throw e;}
1809 ContinueStatement();
1830 jj_la1[61] = jj_gen;
1831 jj_consume_token(-1);
1832 throw new ParseException();
1837 static final public void IncludeStatement() throws ParseException {
1838 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1840 jj_consume_token(REQUIRE);
1842 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1844 jj_consume_token(SEMICOLON);
1847 jj_consume_token(127);
1850 jj_la1[62] = jj_gen;
1851 jj_consume_token(-1);
1852 throw new ParseException();
1856 jj_consume_token(REQUIRE_ONCE);
1858 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1860 jj_consume_token(SEMICOLON);
1863 jj_consume_token(127);
1866 jj_la1[63] = jj_gen;
1867 jj_consume_token(-1);
1868 throw new ParseException();
1872 jj_consume_token(INCLUDE);
1874 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1876 jj_consume_token(SEMICOLON);
1879 jj_consume_token(127);
1882 jj_la1[64] = jj_gen;
1883 jj_consume_token(-1);
1884 throw new ParseException();
1888 jj_consume_token(INCLUDE_ONCE);
1890 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1892 jj_consume_token(SEMICOLON);
1895 jj_consume_token(127);
1898 jj_la1[65] = jj_gen;
1899 jj_consume_token(-1);
1900 throw new ParseException();
1904 jj_la1[66] = jj_gen;
1905 jj_consume_token(-1);
1906 throw new ParseException();
1910 static final public String PrintExpression() throws ParseException {
1911 StringBuffer buff = new StringBuffer("print ");
1913 jj_consume_token(PRINT);
1914 expr = Expression();
1916 {if (true) return buff.toString();}
1917 throw new Error("Missing return statement in function");
1920 static final public void EchoStatement() throws ParseException {
1921 jj_consume_token(ECHO);
1925 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1930 jj_la1[67] = jj_gen;
1933 jj_consume_token(COMMA);
1937 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1939 jj_consume_token(SEMICOLON);
1942 jj_consume_token(127);
1945 jj_la1[68] = jj_gen;
1946 jj_consume_token(-1);
1947 throw new ParseException();
1949 } catch (ParseException e) {
1950 errorMessage = "';' expected after 'echo' statement";
1952 {if (true) throw e;}
1956 static final public void GlobalStatement() throws ParseException {
1957 jj_consume_token(GLOBAL);
1958 VariableDeclaratorId();
1961 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1966 jj_la1[69] = jj_gen;
1969 jj_consume_token(COMMA);
1970 VariableDeclaratorId();
1972 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1974 jj_consume_token(SEMICOLON);
1977 jj_consume_token(127);
1980 jj_la1[70] = jj_gen;
1981 jj_consume_token(-1);
1982 throw new ParseException();
1986 static final public void StaticStatement() throws ParseException {
1987 jj_consume_token(STATIC);
1988 VariableDeclarator();
1991 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1996 jj_la1[71] = jj_gen;
1999 jj_consume_token(COMMA);
2000 VariableDeclarator();
2002 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2004 jj_consume_token(SEMICOLON);
2007 jj_consume_token(127);
2010 jj_la1[72] = jj_gen;
2011 jj_consume_token(-1);
2012 throw new ParseException();
2016 static final public void LabeledStatement() throws ParseException {
2017 jj_consume_token(IDENTIFIER);
2018 jj_consume_token(COLON);
2022 static final public void Block() throws ParseException {
2023 jj_consume_token(LBRACE);
2026 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2050 case INTEGER_LITERAL:
2051 case FLOATING_POINT_LITERAL:
2052 case STRING_LITERAL:
2069 jj_la1[73] = jj_gen;
2074 jj_consume_token(RBRACE);
2077 static final public void BlockStatement() throws ParseException {
2078 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2100 case INTEGER_LITERAL:
2101 case FLOATING_POINT_LITERAL:
2102 case STRING_LITERAL:
2122 MethodDeclaration();
2125 jj_la1[74] = jj_gen;
2126 jj_consume_token(-1);
2127 throw new ParseException();
2131 static final public void LocalVariableDeclaration() throws ParseException {
2132 VariableDeclarator();
2135 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2140 jj_la1[75] = jj_gen;
2143 jj_consume_token(COMMA);
2144 VariableDeclarator();
2148 static final public void EmptyStatement() throws ParseException {
2149 jj_consume_token(SEMICOLON);
2152 static final public void StatementExpression() throws ParseException {
2153 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2155 PreIncrementExpression();
2158 PreDecrementExpression();
2166 PrimaryExpression();
2167 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2181 case RSIGNEDSHIFTASSIGN:
2182 case RUNSIGNEDSHIFTASSIGN:
2183 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2185 jj_consume_token(INCR);
2188 jj_consume_token(DECR);
2201 case RSIGNEDSHIFTASSIGN:
2202 case RUNSIGNEDSHIFTASSIGN:
2203 AssignmentOperator();
2207 jj_la1[76] = jj_gen;
2208 jj_consume_token(-1);
2209 throw new ParseException();
2213 jj_la1[77] = jj_gen;
2218 jj_la1[78] = jj_gen;
2219 jj_consume_token(-1);
2220 throw new ParseException();
2224 static final public void SwitchStatement() throws ParseException {
2225 jj_consume_token(SWITCH);
2226 jj_consume_token(LPAREN);
2228 jj_consume_token(RPAREN);
2229 jj_consume_token(LBRACE);
2232 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2238 jj_la1[79] = jj_gen;
2244 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2268 case INTEGER_LITERAL:
2269 case FLOATING_POINT_LITERAL:
2270 case STRING_LITERAL:
2287 jj_la1[80] = jj_gen;
2293 jj_consume_token(RBRACE);
2296 static final public void SwitchLabel() throws ParseException {
2297 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2299 jj_consume_token(CASE);
2301 jj_consume_token(COLON);
2304 jj_consume_token(_DEFAULT);
2305 jj_consume_token(COLON);
2308 jj_la1[81] = jj_gen;
2309 jj_consume_token(-1);
2310 throw new ParseException();
2314 static final public void IfStatement() throws ParseException {
2315 jj_consume_token(IF);
2320 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2325 jj_la1[82] = jj_gen;
2330 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2332 jj_consume_token(ELSE);
2336 jj_la1[83] = jj_gen;
2341 static final public void Condition(String keyword) throws ParseException {
2343 jj_consume_token(LPAREN);
2344 } catch (ParseException e) {
2345 errorMessage = "'(' expected after " + keyword + " keyword";
2347 {if (true) throw e;}
2351 jj_consume_token(RPAREN);
2352 } catch (ParseException e) {
2353 errorMessage = "')' expected after " + keyword + " keyword";
2355 {if (true) throw e;}
2359 static final public void ElseIfStatement() throws ParseException {
2360 jj_consume_token(ELSEIF);
2361 Condition("elseif");
2365 static final public void WhileStatement() throws ParseException {
2366 jj_consume_token(WHILE);
2371 static final public void WhileStatement0() throws ParseException {
2372 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2374 jj_consume_token(COLON);
2377 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2399 case INTEGER_LITERAL:
2400 case FLOATING_POINT_LITERAL:
2401 case STRING_LITERAL:
2418 jj_la1[84] = jj_gen;
2423 jj_consume_token(ENDWHILE);
2424 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2426 jj_consume_token(SEMICOLON);
2429 jj_consume_token(127);
2432 jj_la1[85] = jj_gen;
2433 jj_consume_token(-1);
2434 throw new ParseException();
2458 case INTEGER_LITERAL:
2459 case FLOATING_POINT_LITERAL:
2460 case STRING_LITERAL:
2477 jj_la1[86] = jj_gen;
2478 jj_consume_token(-1);
2479 throw new ParseException();
2483 static final public void DoStatement() throws ParseException {
2484 jj_consume_token(DO);
2486 jj_consume_token(WHILE);
2488 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2490 jj_consume_token(SEMICOLON);
2493 jj_consume_token(127);
2496 jj_la1[87] = jj_gen;
2497 jj_consume_token(-1);
2498 throw new ParseException();
2502 static final public void ForStatement() throws ParseException {
2503 jj_consume_token(FOR);
2504 jj_consume_token(LPAREN);
2505 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2517 jj_la1[88] = jj_gen;
2520 jj_consume_token(SEMICOLON);
2521 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2528 case INTEGER_LITERAL:
2529 case FLOATING_POINT_LITERAL:
2530 case STRING_LITERAL:
2545 jj_la1[89] = jj_gen;
2548 jj_consume_token(SEMICOLON);
2549 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2561 jj_la1[90] = jj_gen;
2564 jj_consume_token(RPAREN);
2568 static final public void ForInit() throws ParseException {
2569 if (jj_2_7(2147483647)) {
2570 LocalVariableDeclaration();
2572 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2581 StatementExpressionList();
2584 jj_la1[91] = jj_gen;
2585 jj_consume_token(-1);
2586 throw new ParseException();
2591 static final public void StatementExpressionList() throws ParseException {
2592 StatementExpression();
2595 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2600 jj_la1[92] = jj_gen;
2603 jj_consume_token(COMMA);
2604 StatementExpression();
2608 static final public void ForUpdate() throws ParseException {
2609 StatementExpressionList();
2612 static final public void BreakStatement() throws ParseException {
2613 jj_consume_token(BREAK);
2614 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2616 jj_consume_token(IDENTIFIER);
2619 jj_la1[93] = jj_gen;
2622 jj_consume_token(SEMICOLON);
2625 static final public void ContinueStatement() throws ParseException {
2626 jj_consume_token(CONTINUE);
2627 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2629 jj_consume_token(IDENTIFIER);
2632 jj_la1[94] = jj_gen;
2635 jj_consume_token(SEMICOLON);
2638 static final public void ReturnStatement() throws ParseException {
2639 jj_consume_token(RETURN);
2640 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2647 case INTEGER_LITERAL:
2648 case FLOATING_POINT_LITERAL:
2649 case STRING_LITERAL:
2664 jj_la1[95] = jj_gen;
2667 jj_consume_token(SEMICOLON);
2670 static final private boolean jj_2_1(int xla) {
2671 jj_la = xla; jj_lastpos = jj_scanpos = token;
2672 boolean retval = !jj_3_1();
2677 static final private boolean jj_2_2(int xla) {
2678 jj_la = xla; jj_lastpos = jj_scanpos = token;
2679 boolean retval = !jj_3_2();
2684 static final private boolean jj_2_3(int xla) {
2685 jj_la = xla; jj_lastpos = jj_scanpos = token;
2686 boolean retval = !jj_3_3();
2691 static final private boolean jj_2_4(int xla) {
2692 jj_la = xla; jj_lastpos = jj_scanpos = token;
2693 boolean retval = !jj_3_4();
2698 static final private boolean jj_2_5(int xla) {
2699 jj_la = xla; jj_lastpos = jj_scanpos = token;
2700 boolean retval = !jj_3_5();
2705 static final private boolean jj_2_6(int xla) {
2706 jj_la = xla; jj_lastpos = jj_scanpos = token;
2707 boolean retval = !jj_3_6();
2712 static final private boolean jj_2_7(int xla) {
2713 jj_la = xla; jj_lastpos = jj_scanpos = token;
2714 boolean retval = !jj_3_7();
2719 static final private boolean jj_3R_43() {
2720 if (jj_scan_token(BOOL)) return true;
2721 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2725 static final private boolean jj_3R_135() {
2736 if (jj_3R_141()) return true;
2737 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2738 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2739 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2740 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2741 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2745 static final private boolean jj_3R_137() {
2746 if (jj_scan_token(BANG)) return true;
2747 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2748 if (jj_3R_119()) return true;
2749 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2753 static final private boolean jj_3R_34() {
2770 if (jj_3R_49()) return true;
2771 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2772 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2773 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2774 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2775 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2776 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2777 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2778 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2782 static final private boolean jj_3R_42() {
2783 if (jj_scan_token(STRING)) return true;
2784 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2788 static final private boolean jj_3R_132() {
2789 if (jj_scan_token(MINUS)) return true;
2790 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2794 static final private boolean jj_3R_134() {
2795 if (jj_scan_token(DECR)) return true;
2796 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2797 if (jj_3R_136()) return true;
2798 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2802 static final private boolean jj_3R_53() {
2803 if (jj_scan_token(COMMA)) return true;
2804 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2805 if (jj_3R_52()) return true;
2806 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2810 static final private boolean jj_3R_130() {
2811 if (jj_scan_token(REM)) return true;
2812 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2816 static final private boolean jj_3R_133() {
2817 if (jj_scan_token(INCR)) return true;
2818 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2819 if (jj_3R_136()) return true;
2820 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2824 static final private boolean jj_3R_127() {
2825 if (jj_3R_135()) return true;
2826 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2830 static final private boolean jj_3R_126() {
2831 if (jj_3R_134()) return true;
2832 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2836 static final private boolean jj_3R_125() {
2837 if (jj_3R_133()) return true;
2838 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2842 static final private boolean jj_3R_129() {
2843 if (jj_scan_token(SLASH)) return true;
2844 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2848 static final private boolean jj_3R_39() {
2849 if (jj_3R_52()) return true;
2850 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2854 if (jj_3R_53()) { jj_scanpos = xsp; break; }
2855 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2860 static final private boolean jj_3R_131() {
2861 if (jj_scan_token(PLUS)) return true;
2862 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2866 static final private boolean jj_3R_124() {
2871 if (jj_3R_132()) return true;
2872 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2873 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2874 if (jj_3R_119()) return true;
2875 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2879 static final private boolean jj_3R_119() {
2890 if (jj_3R_127()) return true;
2891 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2892 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2893 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2894 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2895 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2899 static final private boolean jj_3R_123() {
2900 if (jj_scan_token(AT)) return true;
2901 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2902 if (jj_3R_119()) return true;
2903 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2907 static final private boolean jj_3R_118() {
2908 if (jj_scan_token(RUNSIGNEDSHIFT)) return true;
2909 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2913 static final private boolean jj_3R_122() {
2914 if (jj_scan_token(MINUS)) return true;
2915 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2919 static final private boolean jj_3R_128() {
2920 if (jj_scan_token(STAR)) return true;
2921 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2925 static final private boolean jj_3R_120() {
2932 if (jj_3R_130()) return true;
2933 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2934 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2935 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2936 if (jj_3R_119()) return true;
2937 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2941 static final private boolean jj_3R_38() {
2942 if (jj_scan_token(IDENTIFIER)) return true;
2943 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2944 if (jj_scan_token(COLON)) return true;
2945 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2949 static final private boolean jj_3R_113() {
2950 if (jj_scan_token(GE)) return true;
2951 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2955 static final private boolean jj_3R_114() {
2956 if (jj_3R_119()) return true;
2957 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2961 if (jj_3R_120()) { jj_scanpos = xsp; break; }
2962 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2967 static final private boolean jj_3_2() {
2968 if (jj_scan_token(COMMA)) return true;
2969 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2970 if (jj_3R_33()) return true;
2971 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2975 static final private boolean jj_3R_174() {
2976 if (jj_3R_33()) return true;
2977 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2981 if (jj_3_2()) { jj_scanpos = xsp; break; }
2982 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2987 static final private boolean jj_3R_117() {
2988 if (jj_scan_token(RSIGNEDSHIFT)) return true;
2989 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2993 static final private boolean jj_3R_121() {
2994 if (jj_scan_token(PLUS)) return true;
2995 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2999 static final private boolean jj_3R_115() {
3004 if (jj_3R_122()) return true;
3005 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3006 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3007 if (jj_3R_114()) return true;
3008 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3012 static final private boolean jj_3R_112() {
3013 if (jj_scan_token(LE)) return true;
3014 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3018 static final private boolean jj_3R_163() {
3019 if (jj_scan_token(LPAREN)) return true;
3020 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3023 if (jj_3R_174()) jj_scanpos = xsp;
3024 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3025 if (jj_scan_token(RPAREN)) return true;
3026 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3030 static final private boolean jj_3R_108() {
3031 if (jj_3R_114()) return true;
3032 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3036 if (jj_3R_115()) { jj_scanpos = xsp; break; }
3037 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3042 static final private boolean jj_3R_175() {
3043 if (jj_scan_token(ARRAYASSIGN)) return true;
3044 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3045 if (jj_3R_35()) return true;
3046 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3050 static final private boolean jj_3R_33() {
3051 if (jj_3R_35()) return true;
3052 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3055 if (jj_3R_175()) jj_scanpos = xsp;
3056 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3060 static final private boolean jj_3R_56() {
3061 if (jj_scan_token(PRINT)) return true;
3062 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3063 if (jj_3R_35()) return true;
3064 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3068 static final private boolean jj_3R_116() {
3069 if (jj_scan_token(LSHIFT)) return true;
3070 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3074 static final private boolean jj_3R_97() {
3075 if (jj_scan_token(LBRACE)) return true;
3076 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3077 if (jj_3R_35()) return true;
3078 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3079 if (jj_scan_token(RBRACE)) return true;
3080 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3084 static final private boolean jj_3R_109() {
3091 if (jj_3R_118()) return true;
3092 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3093 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3094 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3095 if (jj_3R_108()) return true;
3096 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3100 static final private boolean jj_3R_111() {
3101 if (jj_scan_token(GT)) return true;
3102 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3106 static final private boolean jj_3R_104() {
3107 if (jj_3R_108()) return true;
3108 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3112 if (jj_3R_109()) { jj_scanpos = xsp; break; }
3113 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3118 static final private boolean jj_3R_68() {
3119 if (jj_3R_35()) return true;
3120 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3124 static final private boolean jj_3R_63() {
3125 if (jj_scan_token(DOLLAR)) return true;
3126 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3127 if (jj_3R_54()) return true;
3128 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3132 static final private boolean jj_3R_110() {
3133 if (jj_scan_token(LT)) return true;
3134 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3138 static final private boolean jj_3R_105() {
3147 if (jj_3R_113()) return true;
3148 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3149 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3150 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3151 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3152 if (jj_3R_104()) return true;
3153 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3157 static final private boolean jj_3R_107() {
3158 if (jj_scan_token(NE)) return true;
3159 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3163 static final private boolean jj_3R_90() {
3164 if (jj_scan_token(LBRACE)) return true;
3165 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3166 if (jj_3R_35()) return true;
3167 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3168 if (jj_scan_token(RBRACE)) return true;
3169 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3173 static final private boolean jj_3R_62() {
3174 if (jj_scan_token(IDENTIFIER)) return true;
3175 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3178 if (jj_3R_97()) jj_scanpos = xsp;
3179 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3183 static final private boolean jj_3R_102() {
3184 if (jj_3R_104()) return true;
3185 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3189 if (jj_3R_105()) { jj_scanpos = xsp; break; }
3190 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3195 static final private boolean jj_3R_61() {
3196 if (jj_scan_token(LBRACE)) return true;
3197 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3198 if (jj_3R_35()) return true;
3199 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3200 if (jj_scan_token(RBRACE)) return true;
3201 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3205 static final private boolean jj_3R_54() {
3212 if (jj_3R_63()) return true;
3213 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3214 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3215 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3219 static final private boolean jj_3R_37() {
3220 if (jj_scan_token(127)) return true;
3221 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3225 static final private boolean jj_3R_85() {
3226 if (jj_scan_token(DOLLAR)) return true;
3227 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3228 if (jj_3R_54()) return true;
3229 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3233 static final private boolean jj_3R_106() {
3234 if (jj_scan_token(EQ)) return true;
3235 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3239 static final private boolean jj_3R_103() {
3244 if (jj_3R_107()) return true;
3245 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3246 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3247 if (jj_3R_102()) return true;
3248 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3252 static final private boolean jj_3R_36() {
3253 if (jj_scan_token(SEMICOLON)) return true;
3254 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3258 static final private boolean jj_3R_84() {
3259 if (jj_scan_token(DOLLAR_ID)) return true;
3260 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3263 if (jj_3R_90()) jj_scanpos = xsp;
3264 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3268 static final private boolean jj_3R_67() {
3273 if (jj_3R_85()) return true;
3274 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3275 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3279 static final private boolean jj_3R_100() {
3280 if (jj_3R_102()) return true;
3281 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3285 if (jj_3R_103()) { jj_scanpos = xsp; break; }
3286 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3291 static final private boolean jj_3_1() {
3292 if (jj_3R_32()) return true;
3293 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3297 static final private boolean jj_3_6() {
3298 if (jj_3R_38()) return true;
3299 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3303 static final private boolean jj_3R_59() {
3304 if (jj_3R_67()) return true;
3305 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3309 if (jj_3_1()) { jj_scanpos = xsp; break; }
3310 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3315 static final private boolean jj_3_5() {
3316 if (jj_3R_35()) return true;
3317 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3322 if (jj_3R_37()) return true;
3323 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3324 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3328 static final private boolean jj_3R_101() {
3329 if (jj_scan_token(BIT_AND)) return true;
3330 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3331 if (jj_3R_100()) return true;
3332 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3336 static final private boolean jj_3R_60() {
3337 if (jj_scan_token(ASSIGN)) return true;
3338 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3339 if (jj_3R_68()) return true;
3340 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3344 static final private boolean jj_3R_98() {
3345 if (jj_3R_100()) return true;
3346 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3350 if (jj_3R_101()) { jj_scanpos = xsp; break; }
3351 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3356 static final private boolean jj_3R_52() {
3357 if (jj_3R_59()) return true;
3358 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3361 if (jj_3R_60()) jj_scanpos = xsp;
3362 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3366 static final private boolean jj_3R_178() {
3367 if (jj_scan_token(COMMA)) return true;
3368 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3369 if (jj_3R_35()) return true;
3370 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3374 static final private boolean jj_3R_177() {
3375 if (jj_3R_35()) return true;
3376 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3380 if (jj_3R_178()) { jj_scanpos = xsp; break; }
3381 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3386 static final private boolean jj_3R_99() {
3387 if (jj_scan_token(XOR)) return true;
3388 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3389 if (jj_3R_98()) return true;
3390 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3394 static final private boolean jj_3R_95() {
3395 if (jj_3R_98()) return true;
3396 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3400 if (jj_3R_99()) { jj_scanpos = xsp; break; }
3401 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3406 static final private boolean jj_3R_176() {
3407 if (jj_3R_177()) return true;
3408 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3412 static final private boolean jj_3R_173() {
3413 if (jj_scan_token(LPAREN)) return true;
3414 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3417 if (jj_3R_176()) jj_scanpos = xsp;
3418 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3419 if (jj_scan_token(RPAREN)) return true;
3420 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3424 static final private boolean jj_3R_96() {
3425 if (jj_scan_token(BIT_OR)) return true;
3426 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3427 if (jj_3R_95()) return true;
3428 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3432 static final private boolean jj_3R_91() {
3433 if (jj_3R_95()) return true;
3434 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3438 if (jj_3R_96()) { jj_scanpos = xsp; break; }
3439 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3444 static final private boolean jj_3R_160() {
3445 if (jj_scan_token(NULL)) return true;
3446 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3450 static final private boolean jj_3R_165() {
3451 if (jj_scan_token(FALSE)) return true;
3452 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3456 static final private boolean jj_3R_159() {
3461 if (jj_3R_165()) return true;
3462 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3463 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3467 static final private boolean jj_3R_164() {
3468 if (jj_scan_token(TRUE)) return true;
3469 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3473 static final private boolean jj_3R_153() {
3474 if (jj_3R_160()) return true;
3475 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3479 static final private boolean jj_3R_94() {
3480 if (jj_scan_token(_ANDL)) return true;
3481 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3485 static final private boolean jj_3R_92() {
3486 if (jj_scan_token(DOT)) return true;
3487 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3488 if (jj_3R_91()) return true;
3489 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3493 static final private boolean jj_3R_152() {
3494 if (jj_3R_159()) return true;
3495 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3499 static final private boolean jj_3R_86() {
3500 if (jj_3R_91()) return true;
3501 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3505 if (jj_3R_92()) { jj_scanpos = xsp; break; }
3506 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3511 static final private boolean jj_3R_151() {
3512 if (jj_scan_token(STRING_LITERAL)) return true;
3513 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3517 static final private boolean jj_3R_150() {
3518 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
3519 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3523 static final private boolean jj_3R_146() {
3534 if (jj_3R_153()) return true;
3535 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3536 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3537 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3538 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3539 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3543 static final private boolean jj_3R_149() {
3544 if (jj_scan_token(INTEGER_LITERAL)) return true;
3545 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3549 static final private boolean jj_3R_55() {
3550 if (jj_3R_35()) return true;
3551 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3555 static final private boolean jj_3R_93() {
3556 if (jj_scan_token(SC_AND)) return true;
3557 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3561 static final private boolean jj_3R_89() {
3562 if (jj_scan_token(_ORL)) return true;
3563 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3567 static final private boolean jj_3R_87() {
3572 if (jj_3R_94()) return true;
3573 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3574 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3575 if (jj_3R_86()) return true;
3576 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3580 static final private boolean jj_3R_69() {
3581 if (jj_3R_86()) return true;
3582 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3586 if (jj_3R_87()) { jj_scanpos = xsp; break; }
3587 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3592 static final private boolean jj_3R_41() {
3593 if (jj_scan_token(LBRACKET)) return true;
3594 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3597 if (jj_3R_55()) jj_scanpos = xsp;
3598 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3599 if (jj_scan_token(RBRACKET)) return true;
3600 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3604 static final private boolean jj_3R_65() {
3605 if (jj_scan_token(HOOK)) return true;
3606 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3607 if (jj_3R_35()) return true;
3608 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3609 if (jj_scan_token(COLON)) return true;
3610 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3611 if (jj_3R_57()) return true;
3612 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3616 static final private boolean jj_3R_40() {
3617 if (jj_scan_token(CLASSACCESS)) return true;
3618 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3619 if (jj_3R_54()) return true;
3620 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3624 static final private boolean jj_3R_32() {
3629 if (jj_3R_41()) return true;
3630 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3631 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3635 static final private boolean jj_3R_169() {
3636 if (jj_3R_32()) return true;
3637 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3641 static final private boolean jj_3R_88() {
3642 if (jj_scan_token(SC_OR)) return true;
3643 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3647 static final private boolean jj_3R_70() {
3652 if (jj_3R_89()) return true;
3653 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3654 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3655 if (jj_3R_69()) return true;
3656 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3660 static final private boolean jj_3R_168() {
3661 if (jj_3R_173()) return true;
3662 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3666 static final private boolean jj_3R_166() {
3671 if (jj_3R_169()) return true;
3672 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3673 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3677 static final private boolean jj_3R_64() {
3678 if (jj_3R_69()) return true;
3679 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3683 if (jj_3R_70()) { jj_scanpos = xsp; break; }
3684 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3689 static final private boolean jj_3R_172() {
3690 if (jj_3R_59()) return true;
3691 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3695 static final private boolean jj_3R_171() {
3696 if (jj_scan_token(IDENTIFIER)) return true;
3697 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3701 static final private boolean jj_3R_167() {
3706 if (jj_3R_172()) return true;
3707 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3708 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3712 static final private boolean jj_3_7() {
3713 if (jj_3R_39()) return true;
3714 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3718 static final private boolean jj_3R_156() {
3719 if (jj_3R_59()) return true;
3720 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3724 static final private boolean jj_3R_57() {
3725 if (jj_3R_64()) return true;
3726 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3729 if (jj_3R_65()) jj_scanpos = xsp;
3730 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3734 static final private boolean jj_3R_158() {
3735 if (jj_scan_token(DECR)) return true;
3736 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3740 static final private boolean jj_3R_161() {
3741 if (jj_scan_token(BIT_AND)) return true;
3742 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3746 static final private boolean jj_3R_155() {
3749 if (jj_3R_161()) jj_scanpos = xsp;
3750 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3751 if (jj_scan_token(NEW)) return true;
3752 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3753 if (jj_3R_167()) return true;
3754 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3758 static final private boolean jj_3R_147() {
3765 if (jj_3R_156()) return true;
3766 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3767 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3768 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3772 static final private boolean jj_3R_154() {
3773 if (jj_scan_token(IDENTIFIER)) return true;
3774 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3778 static final private boolean jj_3R_83() {
3779 if (jj_scan_token(DOTASSIGN)) return true;
3780 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3784 static final private boolean jj_3R_82() {
3785 if (jj_scan_token(ORASSIGN)) return true;
3786 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3790 static final private boolean jj_3R_81() {
3791 if (jj_scan_token(XORASSIGN)) return true;
3792 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3796 static final private boolean jj_3R_80() {
3797 if (jj_scan_token(ANDASSIGN)) return true;
3798 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3802 static final private boolean jj_3R_79() {
3803 if (jj_scan_token(RUNSIGNEDSHIFTASSIGN)) return true;
3804 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3808 static final private boolean jj_3R_143() {
3809 if (jj_scan_token(ARRAY)) return true;
3810 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3811 if (jj_3R_163()) return true;
3812 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3816 static final private boolean jj_3R_78() {
3817 if (jj_scan_token(RSIGNEDSHIFTASSIGN)) return true;
3818 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3822 static final private boolean jj_3R_77() {
3823 if (jj_scan_token(LSHIFTASSIGN)) return true;
3824 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3828 static final private boolean jj_3R_148() {
3833 if (jj_3R_158()) return true;
3834 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3835 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3839 static final private boolean jj_3R_157() {
3840 if (jj_scan_token(INCR)) return true;
3841 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3845 static final private boolean jj_3R_76() {
3846 if (jj_scan_token(MINUSASSIGN)) return true;
3847 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3851 static final private boolean jj_3R_162() {
3852 if (jj_3R_166()) return true;
3853 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3857 static final private boolean jj_3R_75() {
3858 if (jj_scan_token(PLUSASSIGN)) return true;
3859 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3863 static final private boolean jj_3R_142() {
3864 if (jj_3R_147()) return true;
3865 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3869 if (jj_3R_162()) { jj_scanpos = xsp; break; }
3870 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3875 static final private boolean jj_3R_74() {
3876 if (jj_scan_token(REMASSIGN)) return true;
3877 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3881 static final private boolean jj_3R_73() {
3882 if (jj_scan_token(SLASHASSIGN)) return true;
3883 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3887 static final private boolean jj_3R_170() {
3888 if (jj_3R_166()) return true;
3889 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3893 static final private boolean jj_3R_72() {
3894 if (jj_scan_token(STARASSIGN)) return true;
3895 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3899 static final private boolean jj_3R_71() {
3900 if (jj_scan_token(ASSIGN)) return true;
3901 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3905 static final private boolean jj_3R_66() {
3932 if (jj_3R_83()) return true;
3933 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3934 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3935 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3936 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3937 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3938 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3939 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3940 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3941 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3942 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3943 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3944 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3945 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3949 static final private boolean jj_3_4() {
3950 if (jj_scan_token(IDENTIFIER)) return true;
3951 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3952 if (jj_scan_token(STATICCLASSACCESS)) return true;
3953 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3954 if (jj_3R_167()) return true;
3955 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3959 if (jj_3R_170()) { jj_scanpos = xsp; break; }
3960 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3965 static final private boolean jj_3R_136() {
3972 if (jj_3R_143()) return true;
3973 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3974 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3975 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3979 static final private boolean jj_3R_58() {
3980 if (jj_3R_66()) return true;
3981 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3982 if (jj_3R_35()) return true;
3983 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3987 static final private boolean jj_3R_145() {
3988 if (jj_3R_136()) return true;
3989 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3992 if (jj_3R_148()) jj_scanpos = xsp;
3993 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3997 static final private boolean jj_3R_51() {
3998 if (jj_3R_57()) return true;
3999 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4002 if (jj_3R_58()) jj_scanpos = xsp;
4003 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4007 static final private boolean jj_3R_35() {
4012 if (jj_3R_51()) return true;
4013 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4014 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4018 static final private boolean jj_3R_50() {
4019 if (jj_3R_56()) return true;
4020 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4024 static final private boolean jj_3R_144() {
4025 if (jj_scan_token(LPAREN)) return true;
4026 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4027 if (jj_3R_34()) return true;
4028 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4029 if (jj_scan_token(RPAREN)) return true;
4030 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4031 if (jj_3R_119()) return true;
4032 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4036 static final private boolean jj_3R_49() {
4037 if (jj_scan_token(INTEGER)) return true;
4038 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4042 static final private boolean jj_3R_48() {
4043 if (jj_scan_token(INT)) return true;
4044 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4048 static final private boolean jj_3_3() {
4049 if (jj_scan_token(LPAREN)) return true;
4050 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4051 if (jj_3R_34()) return true;
4052 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4053 if (jj_scan_token(RPAREN)) return true;
4054 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4058 static final private boolean jj_3R_141() {
4059 if (jj_scan_token(LPAREN)) return true;
4060 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4061 if (jj_3R_35()) return true;
4062 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4063 if (jj_scan_token(RPAREN)) return true;
4064 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4068 static final private boolean jj_3R_47() {
4069 if (jj_scan_token(FLOAT)) return true;
4070 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4074 static final private boolean jj_3R_140() {
4075 if (jj_3R_146()) return true;
4076 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4080 static final private boolean jj_3R_46() {
4081 if (jj_scan_token(DOUBLE)) return true;
4082 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4086 static final private boolean jj_3R_139() {
4087 if (jj_3R_145()) return true;
4088 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4092 static final private boolean jj_3R_45() {
4093 if (jj_scan_token(REAL)) return true;
4094 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4098 static final private boolean jj_3R_44() {
4099 if (jj_scan_token(BOOLEAN)) return true;
4100 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4104 static final private boolean jj_3R_138() {
4105 if (jj_3R_144()) return true;
4106 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4110 static private boolean jj_initialized_once = false;
4111 static public PHPParserTokenManager token_source;
4112 static SimpleCharStream jj_input_stream;
4113 static public Token token, jj_nt;
4114 static private int jj_ntk;
4115 static private Token jj_scanpos, jj_lastpos;
4116 static private int jj_la;
4117 static public boolean lookingAhead = false;
4118 static private boolean jj_semLA;
4119 static private int jj_gen;
4120 static final private int[] jj_la1 = new int[96];
4121 static final private int[] jj_la1_0 = {0x2,0x7fcb0000,0x0,0x60000,0x60000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0x0,0x400000,0x0,0x0,0x80000000,0x80000000,0x400000,0x0,0x0,0x0,0x80000000,0xc00000,0x80000000,0x0,0x0,0xc00000,0x0,0x0,0x7f480000,0x0,0x0,0x0,0x0,0x1e000000,0x0,0x0,0x0,0x0,0x0,0x0,0x7fcb0000,0x7fcb0000,0x0,0x0,0x0,0x400000,0x0,0x7fcb0000,0x0,0x100000,0x200000,0x7fc80000,0x0,0x7fc80000,0x0,0x400000,0xc00000,0x400000,0x400000,0x0,0x0,0x0,0xc00000,};
4122 static final private int[] jj_la1_1 = {0x0,0xd76a4,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x43200,0x0,0x0,0x0,0x0,0x0,0x3fa00000,0x0,0x43200,0x0,0x0,0x40000000,0x40000000,0x80000000,0x80000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x43200,0x0,0x43200,0x0,0x0,0x0,0x0,0x1000,0x0,0x1000,0x0,0x0,0x43200,0x0,0x42200,0x40200,0x43200,0x0,0x0,0x954a4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xd76a4,0xd76a4,0x0,0x0,0x0,0x1000,0x48,0xd76a4,0x48,0x0,0x0,0xd76a4,0x0,0xd76a4,0x0,0x1000,0x43200,0x1000,0x1000,0x0,0x0,0x0,0x43200,};
4123 static final private int[] jj_la1_2 = {0x0,0x11914451,0x0,0x0,0x0,0x200000,0x2000000,0x10000,0x1000000,0x10000,0x1010400,0x0,0x11804451,0x110000,0x0,0x200000,0x1000000,0x0,0x0,0x2000000,0x11804451,0x2000000,0x20000000,0x0,0x0,0x0,0x0,0x400000,0x0,0x0,0x0,0x80000000,0x80000000,0xc000000,0xc000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x11804451,0x10000000,0x1004451,0x0,0x0,0x44000,0x44000,0x1000400,0x0,0x1000400,0x1000400,0x44000,0x11804451,0x40000,0x51,0x0,0x11804451,0x200000,0x100000,0x1110400,0x100000,0x100000,0x100000,0x100000,0x0,0x200000,0x100000,0x200000,0x100000,0x200000,0x100000,0x11914451,0x11914451,0x200000,0x2000000,0x2000000,0x1000400,0x0,0x11914451,0x0,0x0,0x0,0x11914451,0x100000,0x51914451,0x100000,0x1000400,0x11804451,0x1000400,0x1000400,0x200000,0x400,0x400,0x11804451,};
4124 static final private int[] jj_la1_3 = {0x0,0x400009e0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000000,0x0,0x0,0x0,0x400009e0,0x0,0x800,0x0,0x40000800,0x800,0x0,0x3ffc0000,0x400009e0,0x3ffc0000,0x0,0x8,0x8,0x10,0x10,0x0,0x1000,0x2000,0x800,0x4,0x4,0x3,0x3,0x38000,0x38000,0x180,0x180,0x4600,0x4600,0x180,0x400009e0,0x0,0x40000800,0x60,0x60,0x0,0x0,0x40000800,0x800,0x40000800,0x40000000,0x0,0x400009e0,0x0,0x0,0x0,0x400009e0,0x0,0x80000000,0x40000860,0x80000000,0x80000000,0x80000000,0x80000000,0x0,0x0,0x80000000,0x0,0x80000000,0x0,0x80000000,0x400009e0,0x400009e0,0x0,0x3ffc0060,0x3ffc0060,0x40000860,0x0,0x400009e0,0x0,0x0,0x0,0x400009e0,0x80000000,0x400009e0,0x80000000,0x40000860,0x400009e0,0x40000860,0x40000860,0x0,0x0,0x0,0x400009e0,};
4125 static final private JJCalls[] jj_2_rtns = new JJCalls[7];
4126 static private boolean jj_rescan = false;
4127 static private int jj_gc = 0;
4129 public PHPParser(java.io.InputStream stream) {
4130 if (jj_initialized_once) {
4131 System.out.println("ERROR: Second call to constructor of static parser. You must");
4132 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
4133 System.out.println(" during parser generation.");
4136 jj_initialized_once = true;
4137 jj_input_stream = new SimpleCharStream(stream, 1, 1);
4138 token_source = new PHPParserTokenManager(jj_input_stream);
4139 token = new Token();
4142 for (int i = 0; i < 96; i++) jj_la1[i] = -1;
4143 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4146 static public void ReInit(java.io.InputStream stream) {
4147 jj_input_stream.ReInit(stream, 1, 1);
4148 token_source.ReInit(jj_input_stream);
4149 token = new Token();
4152 for (int i = 0; i < 96; i++) jj_la1[i] = -1;
4153 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4156 public PHPParser(java.io.Reader stream) {
4157 if (jj_initialized_once) {
4158 System.out.println("ERROR: Second call to constructor of static parser. You must");
4159 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
4160 System.out.println(" during parser generation.");
4163 jj_initialized_once = true;
4164 jj_input_stream = new SimpleCharStream(stream, 1, 1);
4165 token_source = new PHPParserTokenManager(jj_input_stream);
4166 token = new Token();
4169 for (int i = 0; i < 96; i++) jj_la1[i] = -1;
4170 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4173 static public void ReInit(java.io.Reader stream) {
4174 jj_input_stream.ReInit(stream, 1, 1);
4175 token_source.ReInit(jj_input_stream);
4176 token = new Token();
4179 for (int i = 0; i < 96; i++) jj_la1[i] = -1;
4180 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4183 public PHPParser(PHPParserTokenManager tm) {
4184 if (jj_initialized_once) {
4185 System.out.println("ERROR: Second call to constructor of static parser. You must");
4186 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
4187 System.out.println(" during parser generation.");
4190 jj_initialized_once = true;
4192 token = new Token();
4195 for (int i = 0; i < 96; i++) jj_la1[i] = -1;
4196 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4199 public void ReInit(PHPParserTokenManager tm) {
4201 token = new Token();
4204 for (int i = 0; i < 96; i++) jj_la1[i] = -1;
4205 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
4208 static final private Token jj_consume_token(int kind) throws ParseException {
4210 if ((oldToken = token).next != null) token = token.next;
4211 else token = token.next = token_source.getNextToken();
4213 if (token.kind == kind) {
4215 if (++jj_gc > 100) {
4217 for (int i = 0; i < jj_2_rtns.length; i++) {
4218 JJCalls c = jj_2_rtns[i];
4220 if (c.gen < jj_gen) c.first = null;
4229 throw generateParseException();
4232 static final private boolean jj_scan_token(int kind) {
4233 if (jj_scanpos == jj_lastpos) {
4235 if (jj_scanpos.next == null) {
4236 jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
4238 jj_lastpos = jj_scanpos = jj_scanpos.next;
4241 jj_scanpos = jj_scanpos.next;
4244 int i = 0; Token tok = token;
4245 while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
4246 if (tok != null) jj_add_error_token(kind, i);
4248 return (jj_scanpos.kind != kind);
4251 static final public Token getNextToken() {
4252 if (token.next != null) token = token.next;
4253 else token = token.next = token_source.getNextToken();
4259 static final public Token getToken(int index) {
4260 Token t = lookingAhead ? jj_scanpos : token;
4261 for (int i = 0; i < index; i++) {
4262 if (t.next != null) t = t.next;
4263 else t = t.next = token_source.getNextToken();
4268 static final private int jj_ntk() {
4269 if ((jj_nt=token.next) == null)
4270 return (jj_ntk = (token.next=token_source.getNextToken()).kind);
4272 return (jj_ntk = jj_nt.kind);
4275 static private java.util.Vector jj_expentries = new java.util.Vector();
4276 static private int[] jj_expentry;
4277 static private int jj_kind = -1;
4278 static private int[] jj_lasttokens = new int[100];
4279 static private int jj_endpos;
4281 static private void jj_add_error_token(int kind, int pos) {
4282 if (pos >= 100) return;
4283 if (pos == jj_endpos + 1) {
4284 jj_lasttokens[jj_endpos++] = kind;
4285 } else if (jj_endpos != 0) {
4286 jj_expentry = new int[jj_endpos];
4287 for (int i = 0; i < jj_endpos; i++) {
4288 jj_expentry[i] = jj_lasttokens[i];
4290 boolean exists = false;
4291 for (java.util.Enumeration enum = jj_expentries.elements(); enum.hasMoreElements();) {
4292 int[] oldentry = (int[])(enum.nextElement());
4293 if (oldentry.length == jj_expentry.length) {
4295 for (int i = 0; i < jj_expentry.length; i++) {
4296 if (oldentry[i] != jj_expentry[i]) {
4304 if (!exists) jj_expentries.addElement(jj_expentry);
4305 if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
4309 static final public ParseException generateParseException() {
4310 jj_expentries.removeAllElements();
4311 boolean[] la1tokens = new boolean[128];
4312 for (int i = 0; i < 128; i++) {
4313 la1tokens[i] = false;
4316 la1tokens[jj_kind] = true;
4319 for (int i = 0; i < 96; i++) {
4320 if (jj_la1[i] == jj_gen) {
4321 for (int j = 0; j < 32; j++) {
4322 if ((jj_la1_0[i] & (1<<j)) != 0) {
4323 la1tokens[j] = true;
4325 if ((jj_la1_1[i] & (1<<j)) != 0) {
4326 la1tokens[32+j] = true;
4328 if ((jj_la1_2[i] & (1<<j)) != 0) {
4329 la1tokens[64+j] = true;
4331 if ((jj_la1_3[i] & (1<<j)) != 0) {
4332 la1tokens[96+j] = true;
4337 for (int i = 0; i < 128; i++) {
4339 jj_expentry = new int[1];
4341 jj_expentries.addElement(jj_expentry);
4346 jj_add_error_token(0, 0);
4347 int[][] exptokseq = new int[jj_expentries.size()][];
4348 for (int i = 0; i < jj_expentries.size(); i++) {
4349 exptokseq[i] = (int[])jj_expentries.elementAt(i);
4351 return new ParseException(token, exptokseq, tokenImage);
4354 static final public void enable_tracing() {
4357 static final public void disable_tracing() {
4360 static final private void jj_rescan_token() {
4362 for (int i = 0; i < 7; i++) {
4363 JJCalls p = jj_2_rtns[i];
4365 if (p.gen > jj_gen) {
4366 jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
4368 case 0: jj_3_1(); break;
4369 case 1: jj_3_2(); break;
4370 case 2: jj_3_3(); break;
4371 case 3: jj_3_4(); break;
4372 case 4: jj_3_5(); break;
4373 case 5: jj_3_6(); break;
4374 case 6: jj_3_7(); break;
4378 } while (p != null);
4383 static final private void jj_save(int index, int xla) {
4384 JJCalls p = jj_2_rtns[index];
4385 while (p.gen > jj_gen) {
4386 if (p.next == null) { p = p.next = new JJCalls(); break; }
4389 p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
4392 static final class JJCalls {