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.util.ArrayList;
12 import java.util.Enumeration;
13 import java.io.StringReader;
15 import java.text.MessageFormat;
17 import net.sourceforge.phpeclipse.actions.PHPStartApacheAction;
18 import net.sourceforge.phpeclipse.PHPeclipsePlugin;
19 import net.sourceforge.phpdt.internal.compiler.parser.*;
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 final class PHPParser extends PHPParserSuperclass implements PHPParserConstants {
30 /** The file that is parsed. */
31 private static IFile fileToParse;
33 /** The current segment */
34 private static PHPSegmentWithChildren currentSegment;
36 private static final String PARSE_ERROR_STRING = "Parse error"; //$NON-NLS-1$
37 private static final String PARSE_WARNING_STRING = "Warning"; //$NON-NLS-1$
38 PHPOutlineInfo outlineInfo;
40 private static PHPFunctionDeclaration currentFunction;
42 /** The error level of the current ParseException. */
43 private static int errorLevel = ERROR;
44 /** The message of the current ParseException. If it's null it's because the parse exception wasn't handled */
45 private static String errorMessage;
47 private static int errorStart = -1;
48 private static int errorEnd = -1;
53 public final void setFileToParse(final IFile fileToParse) {
54 this.fileToParse = fileToParse;
57 public PHPParser(final IFile fileToParse) {
58 this(new StringReader(""));
59 this.fileToParse = fileToParse;
62 public static final void phpParserTester(final String strEval) throws CoreException, ParseException {
63 PHPParserTokenManager.SwitchTo(PHPParserTokenManager.PHPPARSING);
64 final StringReader stream = new StringReader(strEval);
65 if (jj_input_stream == null) {
66 jj_input_stream = new SimpleCharStream(stream, 1, 1);
68 ReInit(new StringReader(strEval));
72 public static final void htmlParserTester(final File fileName) throws CoreException, ParseException {
74 final Reader stream = new FileReader(fileName);
75 if (jj_input_stream == null) {
76 jj_input_stream = new SimpleCharStream(stream, 1, 1);
80 } catch (FileNotFoundException e) {
81 e.printStackTrace(); //To change body of catch statement use Options | File Templates.
85 public static final void htmlParserTester(final String strEval) throws CoreException, ParseException {
86 final StringReader stream = new StringReader(strEval);
87 if (jj_input_stream == null) {
88 jj_input_stream = new SimpleCharStream(stream, 1, 1);
94 public final PHPOutlineInfo parseInfo(final Object parent, final String s) {
95 outlineInfo = new PHPOutlineInfo(parent);
96 currentSegment = outlineInfo.getDeclarations();
97 final StringReader stream = new StringReader(s);
98 if (jj_input_stream == null) {
99 jj_input_stream = new SimpleCharStream(stream, 1, 1);
104 } catch (ParseException e) {
105 processParseException(e);
111 * This method will process the parse exception.
112 * If the error message is null, the parse exception wasn't catched and a trace is written in the log
113 * @param e the ParseException
115 private static void processParseException(final ParseException e) {
116 if (errorMessage == null) {
117 PHPeclipsePlugin.log(e);
118 errorMessage = "this exception wasn't handled by the parser please tell us how to reproduce it";
119 errorStart = jj_input_stream.getPosition();
120 errorEnd = errorStart + 1;
127 * Create marker for the parse error
128 * @param e the ParseException
130 private static void setMarker(final ParseException e) {
132 if (errorStart == -1) {
133 setMarker(fileToParse,
135 jj_input_stream.tokenBegin,
136 jj_input_stream.tokenBegin + e.currentToken.image.length(),
138 "Line " + e.currentToken.beginLine);
140 setMarker(fileToParse,
145 "Line " + e.currentToken.beginLine);
149 } catch (CoreException e2) {
150 PHPeclipsePlugin.log(e2);
155 * Create markers according to the external parser output
157 private static void createMarkers(final String output, final IFile file) throws CoreException {
158 // delete all markers
159 file.deleteMarkers(IMarker.PROBLEM, false, 0);
164 while ((brIndx = output.indexOf("<br />", indx)) != -1) {
165 // newer php error output (tested with 4.2.3)
166 scanLine(output, file, indx, brIndx);
171 while ((brIndx = output.indexOf("<br>", indx)) != -1) {
172 // older php error output (tested with 4.2.3)
173 scanLine(output, file, indx, brIndx);
179 private static void scanLine(final String output,
182 final int brIndx) throws CoreException {
184 StringBuffer lineNumberBuffer = new StringBuffer(10);
186 current = output.substring(indx, brIndx);
188 if (current.indexOf(PARSE_WARNING_STRING) != -1 || current.indexOf(PARSE_ERROR_STRING) != -1) {
189 int onLine = current.indexOf("on line <b>");
191 lineNumberBuffer.delete(0, lineNumberBuffer.length());
192 for (int i = onLine; i < current.length(); i++) {
193 ch = current.charAt(i);
194 if ('0' <= ch && '9' >= ch) {
195 lineNumberBuffer.append(ch);
199 int lineNumber = Integer.parseInt(lineNumberBuffer.toString());
201 Hashtable attributes = new Hashtable();
203 current = current.replaceAll("\n", "");
204 current = current.replaceAll("<b>", "");
205 current = current.replaceAll("</b>", "");
206 MarkerUtilities.setMessage(attributes, current);
208 if (current.indexOf(PARSE_ERROR_STRING) != -1)
209 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_ERROR));
210 else if (current.indexOf(PARSE_WARNING_STRING) != -1)
211 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_WARNING));
213 attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_INFO));
214 MarkerUtilities.setLineNumber(attributes, lineNumber);
215 MarkerUtilities.createMarker(file, attributes, IMarker.PROBLEM);
220 public final void parse(final String s) throws CoreException {
221 final StringReader stream = new StringReader(s);
222 if (jj_input_stream == null) {
223 jj_input_stream = new SimpleCharStream(stream, 1, 1);
228 } catch (ParseException e) {
229 processParseException(e);
234 * Call the php parse command ( php -l -f <filename> )
235 * and create markers according to the external parser output
237 public static void phpExternalParse(final IFile file) {
238 final IPreferenceStore store = PHPeclipsePlugin.getDefault().getPreferenceStore();
239 final String filename = file.getLocation().toString();
241 final String[] arguments = { filename };
242 final MessageFormat form = new MessageFormat(store.getString(PHPeclipsePlugin.EXTERNAL_PARSER_PREF));
243 final String command = form.format(arguments);
245 final String parserResult = PHPStartApacheAction.getParserOutput(command, "External parser: ");
248 // parse the buffer to find the errors and warnings
249 createMarkers(parserResult, file);
250 } catch (CoreException e) {
251 PHPeclipsePlugin.log(e);
255 public static final void parse() throws ParseException {
259 static final public void phpTest() throws ParseException {
264 static final public void phpFile() throws ParseException {
268 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
298 case INTEGER_LITERAL:
299 case FLOATING_POINT_LITERAL:
323 } catch (TokenMgrError e) {
324 PHPeclipsePlugin.log(e);
325 errorStart = SimpleCharStream.getPosition();
326 errorEnd = errorStart + 1;
327 errorMessage = e.getMessage();
329 {if (true) throw generateParseException();}
334 * A php block is a <?= expression [;]?>
335 * or <?php somephpcode ?>
336 * or <? somephpcode ?>
338 static final public void PhpBlock() throws ParseException {
339 final int start = jj_input_stream.getPosition();
340 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
372 case INTEGER_LITERAL:
373 case FLOATING_POINT_LITERAL:
388 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
391 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
393 jj_consume_token(PHPSTARTLONG);
396 jj_consume_token(PHPSTARTSHORT);
398 setMarker(fileToParse,
399 "You should use '<?php' instead of '<?' it will avoid some problems with XML",
401 jj_input_stream.getPosition(),
403 "Line " + token.beginLine);
404 } catch (CoreException e) {
405 PHPeclipsePlugin.log(e);
410 jj_consume_token(-1);
411 throw new ParseException();
420 jj_consume_token(PHPEND);
421 } catch (ParseException e) {
422 errorMessage = "'?>' expected";
424 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
425 errorEnd = jj_input_stream.getPosition() + 1;
431 jj_consume_token(-1);
432 throw new ParseException();
436 static final public void phpEchoBlock() throws ParseException {
437 jj_consume_token(PHPECHOSTART);
439 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
441 jj_consume_token(SEMICOLON);
447 jj_consume_token(PHPEND);
450 static final public void Php() throws ParseException {
453 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
479 case INTEGER_LITERAL:
480 case FLOATING_POINT_LITERAL:
505 static final public void ClassDeclaration() throws ParseException {
506 final PHPClassDeclaration classDeclaration;
507 final Token className;
509 jj_consume_token(CLASS);
511 pos = jj_input_stream.getPosition();
512 className = jj_consume_token(IDENTIFIER);
513 } catch (ParseException e) {
514 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', identifier expected";
516 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
517 errorEnd = jj_input_stream.getPosition() + 1;
520 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
522 jj_consume_token(EXTENDS);
524 jj_consume_token(IDENTIFIER);
525 } catch (ParseException e) {
526 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', identifier expected";
528 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
529 errorEnd = jj_input_stream.getPosition() + 1;
537 if (currentSegment != null) {
538 classDeclaration = new PHPClassDeclaration(currentSegment,className.image,pos);
539 currentSegment.add(classDeclaration);
540 currentSegment = classDeclaration;
543 if (currentSegment != null) {
544 currentSegment = (PHPSegmentWithChildren) currentSegment.getParent();
548 static final public void ClassBody() throws ParseException {
550 jj_consume_token(LBRACE);
551 } catch (ParseException e) {
552 errorMessage = "unexpected token : '"+ e.currentToken.next.image + "', '{' expected";
554 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
555 errorEnd = jj_input_stream.getPosition() + 1;
560 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
569 ClassBodyDeclaration();
572 jj_consume_token(RBRACE);
573 } catch (ParseException e) {
574 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', 'var', 'function' or '}' expected";
576 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
577 errorEnd = jj_input_stream.getPosition() + 1;
583 * A class can contain only methods and fields.
585 static final public void ClassBodyDeclaration() throws ParseException {
586 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
595 jj_consume_token(-1);
596 throw new ParseException();
601 * A class field declaration : it's var VariableDeclarator() (, VariableDeclarator())*;.
603 static final public void FieldDeclaration() throws ParseException {
604 PHPVarDeclaration variableDeclaration;
605 jj_consume_token(VAR);
606 variableDeclaration = VariableDeclarator();
607 if (currentSegment != null) {
608 currentSegment.add(variableDeclaration);
612 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
620 jj_consume_token(COMMA);
621 variableDeclaration = VariableDeclarator();
622 if (currentSegment != null) {
623 currentSegment.add(variableDeclaration);
627 jj_consume_token(SEMICOLON);
628 } catch (ParseException e) {
629 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"'. A ';' was expected after variable declaration";
631 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
632 errorEnd = jj_input_stream.getPosition() + 1;
637 static final public PHPVarDeclaration VariableDeclarator() throws ParseException {
638 final String varName, varValue;
639 final int pos = jj_input_stream.getPosition();
640 varName = VariableDeclaratorId();
641 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
643 jj_consume_token(ASSIGN);
645 varValue = VariableInitializer();
646 {if (true) return new PHPVarDeclaration(currentSegment,varName.substring(1),pos,varValue);}
647 } catch (ParseException e) {
648 errorMessage = "Literal expression expected in variable initializer";
650 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
651 errorEnd = jj_input_stream.getPosition() + 1;
659 {if (true) return new PHPVarDeclaration(currentSegment,varName,pos);}
660 throw new Error("Missing return statement in function");
663 static final public String VariableDeclaratorId() throws ParseException {
665 final StringBuffer buff = new StringBuffer();
676 expr = VariableSuffix();
679 {if (true) return buff.toString();}
680 } catch (ParseException e) {
681 errorMessage = "'$' expected for variable identifier";
683 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
684 errorEnd = jj_input_stream.getPosition() + 1;
687 throw new Error("Missing return statement in function");
690 static final public String Variable() throws ParseException {
693 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
695 token = jj_consume_token(DOLLAR_ID);
696 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
698 jj_consume_token(LBRACE);
700 jj_consume_token(RBRACE);
707 if (currentFunction != null) {
708 PHPVarDeclaration var = currentFunction.getParameter(token.image.substring(1));
710 var.getVariable().setUsed(true);
713 {if (true) return token.image;}
715 {if (true) return token + "{" + expr + "}";}
718 jj_consume_token(DOLLAR);
719 expr = VariableName();
720 {if (true) return "$" + expr;}
724 jj_consume_token(-1);
725 throw new ParseException();
727 throw new Error("Missing return statement in function");
730 static final public String VariableName() throws ParseException {
733 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
735 jj_consume_token(LBRACE);
737 jj_consume_token(RBRACE);
738 {if (true) return "{"+expr+"}";}
741 token = jj_consume_token(IDENTIFIER);
742 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
744 jj_consume_token(LBRACE);
746 jj_consume_token(RBRACE);
753 if (currentFunction != null) {
754 PHPVarDeclaration var = currentFunction.getParameter(token.image);
756 var.getVariable().setUsed(true);
759 {if (true) return token.image;}
761 {if (true) return token + "{" + expr + "}";}
764 jj_consume_token(DOLLAR);
765 expr = VariableName();
766 if (currentFunction != null) {
767 PHPVarDeclaration var = currentFunction.getParameter(expr);
769 var.getVariable().setUsed(true);
772 {if (true) return "$" + expr;}
775 token = jj_consume_token(DOLLAR_ID);
776 if (currentFunction != null) {
777 PHPVarDeclaration var = currentFunction.getParameter(token.image.substring(1));
779 var.getVariable().setUsed(true);
782 {if (true) return token.image + expr;}
786 jj_consume_token(-1);
787 throw new ParseException();
789 throw new Error("Missing return statement in function");
792 static final public String VariableInitializer() throws ParseException {
795 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
799 case INTEGER_LITERAL:
800 case FLOATING_POINT_LITERAL:
803 {if (true) return expr;}
806 jj_consume_token(MINUS);
807 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
808 case INTEGER_LITERAL:
809 token = jj_consume_token(INTEGER_LITERAL);
811 case FLOATING_POINT_LITERAL:
812 token = jj_consume_token(FLOATING_POINT_LITERAL);
816 jj_consume_token(-1);
817 throw new ParseException();
819 {if (true) return "-" + token.image;}
822 jj_consume_token(PLUS);
823 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
824 case INTEGER_LITERAL:
825 token = jj_consume_token(INTEGER_LITERAL);
827 case FLOATING_POINT_LITERAL:
828 token = jj_consume_token(FLOATING_POINT_LITERAL);
832 jj_consume_token(-1);
833 throw new ParseException();
835 {if (true) return "+" + token.image;}
838 expr = ArrayDeclarator();
839 {if (true) return expr;}
842 token = jj_consume_token(IDENTIFIER);
843 {if (true) return token.image;}
847 jj_consume_token(-1);
848 throw new ParseException();
850 throw new Error("Missing return statement in function");
853 static final public String ArrayVariable() throws ParseException {
855 final StringBuffer buff = new StringBuffer();
858 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
860 jj_consume_token(ARRAYASSIGN);
862 buff.append("=>").append(expr);
868 {if (true) return buff.toString();}
869 throw new Error("Missing return statement in function");
872 static final public String ArrayInitializer() throws ParseException {
874 final StringBuffer buff = new StringBuffer("(");
875 jj_consume_token(LPAREN);
876 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
884 case INTEGER_LITERAL:
885 case FLOATING_POINT_LITERAL:
898 expr = ArrayVariable();
907 jj_consume_token(COMMA);
908 expr = ArrayVariable();
909 buff.append(",").append(expr);
916 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
918 jj_consume_token(COMMA);
925 jj_consume_token(RPAREN);
927 {if (true) return buff.toString();}
928 throw new Error("Missing return statement in function");
932 * A Method Declaration.
933 * <b>function</b> MetodDeclarator() Block()
935 static final public void MethodDeclaration() throws ParseException {
936 final PHPFunctionDeclaration functionDeclaration;
938 functionToken = jj_consume_token(FUNCTION);
940 functionDeclaration = MethodDeclarator();
941 } catch (ParseException e) {
942 if (errorMessage != null) {
945 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', function identifier expected";
947 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
948 errorEnd = jj_input_stream.getPosition() + 1;
951 if (currentSegment != null) {
952 currentSegment.add(functionDeclaration);
953 currentSegment = functionDeclaration;
955 currentFunction = functionDeclaration;
957 Hashtable parameters = currentFunction.getParameters();
958 Enumeration vars = parameters.elements();
959 while (vars.hasMoreElements()) {
960 PHPVarDeclaration o = (PHPVarDeclaration) vars.nextElement();
961 if (!o.getVariable().isUsed()) {
963 setMarker(fileToParse,
964 "Parameter "+o.getVariable().getName()+" is never used in function",
965 functionToken.beginLine,
967 "Line " + token.beginLine);
968 } catch (CoreException e) {
969 PHPeclipsePlugin.log(e);
973 currentFunction = null;
974 if (currentSegment != null) {
975 currentSegment = (PHPSegmentWithChildren) currentSegment.getParent();
980 * A MethodDeclarator.
981 * [&] IDENTIFIER(parameters ...).
982 * @return a function description for the outline
984 static final public PHPFunctionDeclaration MethodDeclarator() throws ParseException {
985 final Token identifier;
986 final StringBuffer methodDeclaration = new StringBuffer();
987 final Hashtable formalParameters;
988 final int pos = jj_input_stream.getPosition();
989 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
991 jj_consume_token(BIT_AND);
992 methodDeclaration.append("&");
998 identifier = jj_consume_token(IDENTIFIER);
999 formalParameters = FormalParameters();
1000 methodDeclaration.append(identifier);
1001 {if (true) return new PHPFunctionDeclaration(currentSegment,methodDeclaration.toString(),pos,formalParameters);}
1002 throw new Error("Missing return statement in function");
1006 * FormalParameters follows method identifier.
1007 * (FormalParameter())
1009 static final public Hashtable FormalParameters() throws ParseException {
1011 final StringBuffer buff = new StringBuffer("(");
1012 PHPVarDeclaration var;
1013 final Hashtable parameters = new Hashtable();
1015 jj_consume_token(LPAREN);
1016 } catch (ParseException e) {
1017 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', '(' expected after function identifier";
1019 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
1020 errorEnd = jj_input_stream.getPosition() + 1;
1021 {if (true) throw e;}
1023 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1027 var = FormalParameter();
1028 parameters.put(var.getVariable().getName(),var);
1031 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1036 jj_la1[22] = jj_gen;
1039 jj_consume_token(COMMA);
1040 var = FormalParameter();
1041 parameters.put(var.getVariable().getName(),var);
1045 jj_la1[23] = jj_gen;
1049 jj_consume_token(RPAREN);
1050 } catch (ParseException e) {
1051 errorMessage = "')' expected";
1053 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
1054 errorEnd = jj_input_stream.getPosition() + 1;
1055 {if (true) throw e;}
1057 {if (true) return parameters;}
1058 throw new Error("Missing return statement in function");
1062 * A formal parameter.
1063 * $varname[=value] (,$varname[=value])
1065 static final public PHPVarDeclaration FormalParameter() throws ParseException {
1066 final PHPVarDeclaration variableDeclaration;
1068 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1070 token = jj_consume_token(BIT_AND);
1073 jj_la1[24] = jj_gen;
1076 variableDeclaration = VariableDeclarator();
1077 if (token != null) {
1078 variableDeclaration.getVariable().setPrefix("@");
1080 {if (true) return variableDeclaration;}
1081 throw new Error("Missing return statement in function");
1084 static final public String Type() throws ParseException {
1085 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1087 jj_consume_token(STRING);
1088 {if (true) return "string";}
1091 jj_consume_token(BOOL);
1092 {if (true) return "bool";}
1095 jj_consume_token(BOOLEAN);
1096 {if (true) return "boolean";}
1099 jj_consume_token(REAL);
1100 {if (true) return "real";}
1103 jj_consume_token(DOUBLE);
1104 {if (true) return "double";}
1107 jj_consume_token(FLOAT);
1108 {if (true) return "float";}
1111 jj_consume_token(INT);
1112 {if (true) return "int";}
1115 jj_consume_token(INTEGER);
1116 {if (true) return "integer";}
1119 jj_consume_token(OBJECT);
1120 {if (true) return "object";}
1123 jj_la1[25] = jj_gen;
1124 jj_consume_token(-1);
1125 throw new ParseException();
1127 throw new Error("Missing return statement in function");
1130 static final public String Expression() throws ParseException {
1132 final String assignOperator;
1134 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1136 expr = PrintExpression();
1137 {if (true) return expr;}
1140 expr = ListExpression();
1141 {if (true) return expr;}
1148 case INTEGER_LITERAL:
1149 case FLOATING_POINT_LITERAL:
1150 case STRING_LITERAL:
1162 expr = ConditionalExpression();
1163 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1176 case RSIGNEDSHIFTASSIGN:
1177 assignOperator = AssignmentOperator();
1179 expr2 = Expression();
1180 {if (true) return expr + assignOperator + expr2;}
1181 } catch (ParseException e) {
1182 if (errorMessage != null) {
1183 {if (true) throw e;}
1185 errorMessage = "expression expected";
1187 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
1188 errorEnd = jj_input_stream.getPosition() + 1;
1189 {if (true) throw e;}
1193 jj_la1[26] = jj_gen;
1196 {if (true) return expr;}
1199 jj_la1[27] = jj_gen;
1200 jj_consume_token(-1);
1201 throw new ParseException();
1203 throw new Error("Missing return statement in function");
1206 static final public String AssignmentOperator() throws ParseException {
1207 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1209 jj_consume_token(ASSIGN);
1210 {if (true) return "=";}
1213 jj_consume_token(STARASSIGN);
1214 {if (true) return "*=";}
1217 jj_consume_token(SLASHASSIGN);
1218 {if (true) return "/=";}
1221 jj_consume_token(REMASSIGN);
1222 {if (true) return "%=";}
1225 jj_consume_token(PLUSASSIGN);
1226 {if (true) return "+=";}
1229 jj_consume_token(MINUSASSIGN);
1230 {if (true) return "-=";}
1233 jj_consume_token(LSHIFTASSIGN);
1234 {if (true) return "<<=";}
1236 case RSIGNEDSHIFTASSIGN:
1237 jj_consume_token(RSIGNEDSHIFTASSIGN);
1238 {if (true) return ">>=";}
1241 jj_consume_token(ANDASSIGN);
1242 {if (true) return "&=";}
1245 jj_consume_token(XORASSIGN);
1246 {if (true) return "|=";}
1249 jj_consume_token(ORASSIGN);
1250 {if (true) return "|=";}
1253 jj_consume_token(DOTASSIGN);
1254 {if (true) return ".=";}
1257 jj_consume_token(TILDEEQUAL);
1258 {if (true) return "~=";}
1261 jj_la1[28] = jj_gen;
1262 jj_consume_token(-1);
1263 throw new ParseException();
1265 throw new Error("Missing return statement in function");
1268 static final public String ConditionalExpression() throws ParseException {
1270 String expr2 = null;
1271 String expr3 = null;
1272 expr = ConditionalOrExpression();
1273 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1275 jj_consume_token(HOOK);
1276 expr2 = Expression();
1277 jj_consume_token(COLON);
1278 expr3 = ConditionalExpression();
1281 jj_la1[29] = jj_gen;
1284 if (expr3 == null) {
1285 {if (true) return expr;}
1287 {if (true) return expr + "?" + expr2 + ":" + expr3;}
1289 throw new Error("Missing return statement in function");
1292 static final public String ConditionalOrExpression() throws ParseException {
1295 final StringBuffer buff = new StringBuffer();
1296 expr = ConditionalAndExpression();
1300 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1306 jj_la1[30] = jj_gen;
1309 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1311 operator = jj_consume_token(SC_OR);
1314 operator = jj_consume_token(_ORL);
1317 jj_la1[31] = jj_gen;
1318 jj_consume_token(-1);
1319 throw new ParseException();
1321 expr = ConditionalAndExpression();
1322 buff.append(operator.image);
1325 {if (true) return buff.toString();}
1326 throw new Error("Missing return statement in function");
1329 static final public String ConditionalAndExpression() throws ParseException {
1332 final StringBuffer buff = new StringBuffer();
1333 expr = ConcatExpression();
1337 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1343 jj_la1[32] = jj_gen;
1346 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1348 operator = jj_consume_token(SC_AND);
1351 operator = jj_consume_token(_ANDL);
1354 jj_la1[33] = jj_gen;
1355 jj_consume_token(-1);
1356 throw new ParseException();
1358 expr = ConcatExpression();
1359 buff.append(operator.image);
1362 {if (true) return buff.toString();}
1363 throw new Error("Missing return statement in function");
1366 static final public String ConcatExpression() throws ParseException {
1368 final StringBuffer buff = new StringBuffer();
1369 expr = InclusiveOrExpression();
1373 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1378 jj_la1[34] = jj_gen;
1381 jj_consume_token(DOT);
1382 expr = InclusiveOrExpression();
1383 buff.append(".").append(expr);
1385 {if (true) return buff.toString();}
1386 throw new Error("Missing return statement in function");
1389 static final public String InclusiveOrExpression() throws ParseException {
1391 final StringBuffer buff = new StringBuffer();
1392 expr = ExclusiveOrExpression();
1396 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1401 jj_la1[35] = jj_gen;
1404 jj_consume_token(BIT_OR);
1405 expr = ExclusiveOrExpression();
1406 buff.append("|").append(expr);
1408 {if (true) return buff.toString();}
1409 throw new Error("Missing return statement in function");
1412 static final public String ExclusiveOrExpression() throws ParseException {
1414 final StringBuffer buff = new StringBuffer();
1415 expr = AndExpression();
1419 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1424 jj_la1[36] = jj_gen;
1427 jj_consume_token(XOR);
1428 expr = AndExpression();
1432 {if (true) return buff.toString();}
1433 throw new Error("Missing return statement in function");
1436 static final public String AndExpression() throws ParseException {
1438 final StringBuffer buff = new StringBuffer();
1439 expr = EqualityExpression();
1443 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1448 jj_la1[37] = jj_gen;
1451 jj_consume_token(BIT_AND);
1452 expr = EqualityExpression();
1453 buff.append("&").append(expr);
1455 {if (true) return buff.toString();}
1456 throw new Error("Missing return statement in function");
1459 static final public String EqualityExpression() throws ParseException {
1462 final StringBuffer buff = new StringBuffer();
1463 expr = RelationalExpression();
1467 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1471 case BANGDOUBLEEQUAL:
1476 jj_la1[38] = jj_gen;
1479 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1481 operator = jj_consume_token(EQ);
1484 operator = jj_consume_token(DIF);
1487 operator = jj_consume_token(NE);
1489 case BANGDOUBLEEQUAL:
1490 operator = jj_consume_token(BANGDOUBLEEQUAL);
1493 operator = jj_consume_token(TRIPLEEQUAL);
1496 jj_la1[39] = jj_gen;
1497 jj_consume_token(-1);
1498 throw new ParseException();
1501 expr = RelationalExpression();
1502 } catch (ParseException e) {
1503 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', expression expected after '"+operator.image+"'";
1505 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
1506 errorEnd = jj_input_stream.getPosition() + 1;
1507 {if (true) throw e;}
1509 buff.append(operator.image);
1512 {if (true) return buff.toString();}
1513 throw new Error("Missing return statement in function");
1516 static final public String RelationalExpression() throws ParseException {
1519 final StringBuffer buff = new StringBuffer();
1520 expr = ShiftExpression();
1524 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1532 jj_la1[40] = jj_gen;
1535 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1537 operator = jj_consume_token(LT);
1540 operator = jj_consume_token(GT);
1543 operator = jj_consume_token(LE);
1546 operator = jj_consume_token(GE);
1549 jj_la1[41] = jj_gen;
1550 jj_consume_token(-1);
1551 throw new ParseException();
1553 expr = ShiftExpression();
1554 buff.append(operator.image).append(expr);
1556 {if (true) return buff.toString();}
1557 throw new Error("Missing return statement in function");
1560 static final public String ShiftExpression() throws ParseException {
1563 final StringBuffer buff = new StringBuffer();
1564 expr = AdditiveExpression();
1568 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1571 case RUNSIGNEDSHIFT:
1575 jj_la1[42] = jj_gen;
1578 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1580 operator = jj_consume_token(LSHIFT);
1583 operator = jj_consume_token(RSIGNEDSHIFT);
1585 case RUNSIGNEDSHIFT:
1586 operator = jj_consume_token(RUNSIGNEDSHIFT);
1589 jj_la1[43] = jj_gen;
1590 jj_consume_token(-1);
1591 throw new ParseException();
1593 expr = AdditiveExpression();
1594 buff.append(operator.image);
1597 {if (true) return buff.toString();}
1598 throw new Error("Missing return statement in function");
1601 static final public String AdditiveExpression() throws ParseException {
1604 final StringBuffer buff = new StringBuffer();
1605 expr = MultiplicativeExpression();
1609 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1615 jj_la1[44] = jj_gen;
1618 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1620 operator = jj_consume_token(PLUS);
1623 operator = jj_consume_token(MINUS);
1626 jj_la1[45] = jj_gen;
1627 jj_consume_token(-1);
1628 throw new ParseException();
1630 expr = MultiplicativeExpression();
1631 buff.append(operator.image);
1634 {if (true) return buff.toString();}
1635 throw new Error("Missing return statement in function");
1638 static final public String MultiplicativeExpression() throws ParseException {
1641 final StringBuffer buff = new StringBuffer();
1643 expr = UnaryExpression();
1644 } catch (ParseException e) {
1645 errorMessage = "unexpected token '"+e.currentToken.next.image+"'";
1647 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
1648 errorEnd = jj_input_stream.getPosition() + 1;
1649 {if (true) throw e;}
1654 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1661 jj_la1[46] = jj_gen;
1664 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1666 operator = jj_consume_token(STAR);
1669 operator = jj_consume_token(SLASH);
1672 operator = jj_consume_token(REM);
1675 jj_la1[47] = jj_gen;
1676 jj_consume_token(-1);
1677 throw new ParseException();
1679 expr = UnaryExpression();
1680 buff.append(operator.image);
1683 {if (true) return buff.toString();}
1684 throw new Error("Missing return statement in function");
1688 * An unary expression starting with @, & or nothing
1690 static final public String UnaryExpression() throws ParseException {
1693 final StringBuffer buff = new StringBuffer();
1694 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1696 token = jj_consume_token(BIT_AND);
1697 expr = UnaryExpressionNoPrefix();
1698 if (token == null) {
1699 {if (true) return expr;}
1701 {if (true) return token.image + expr;}
1708 case INTEGER_LITERAL:
1709 case FLOATING_POINT_LITERAL:
1710 case STRING_LITERAL:
1723 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1728 jj_la1[48] = jj_gen;
1731 jj_consume_token(AT);
1734 expr = UnaryExpressionNoPrefix();
1735 {if (true) return buff.append(expr).toString();}
1738 jj_la1[49] = jj_gen;
1739 jj_consume_token(-1);
1740 throw new ParseException();
1742 throw new Error("Missing return statement in function");
1745 static final public String UnaryExpressionNoPrefix() throws ParseException {
1748 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1751 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1753 token = jj_consume_token(PLUS);
1756 token = jj_consume_token(MINUS);
1759 jj_la1[50] = jj_gen;
1760 jj_consume_token(-1);
1761 throw new ParseException();
1763 expr = UnaryExpression();
1764 {if (true) return token.image + expr;}
1768 expr = PreIncDecExpression();
1769 {if (true) return expr;}
1776 case INTEGER_LITERAL:
1777 case FLOATING_POINT_LITERAL:
1778 case STRING_LITERAL:
1784 expr = UnaryExpressionNotPlusMinus();
1785 {if (true) return expr;}
1788 jj_la1[51] = jj_gen;
1789 jj_consume_token(-1);
1790 throw new ParseException();
1792 throw new Error("Missing return statement in function");
1795 static final public String PreIncDecExpression() throws ParseException {
1798 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1800 token = jj_consume_token(INCR);
1803 token = jj_consume_token(DECR);
1806 jj_la1[52] = jj_gen;
1807 jj_consume_token(-1);
1808 throw new ParseException();
1810 expr = PrimaryExpression();
1811 {if (true) return token.image + expr;}
1812 throw new Error("Missing return statement in function");
1815 static final public String UnaryExpressionNotPlusMinus() throws ParseException {
1817 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1819 jj_consume_token(BANG);
1820 expr = UnaryExpression();
1821 {if (true) return "!" + expr;}
1824 jj_la1[53] = jj_gen;
1825 if (jj_2_3(2147483647)) {
1826 expr = CastExpression();
1827 {if (true) return expr;}
1829 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1835 expr = PostfixExpression();
1836 {if (true) return expr;}
1841 case INTEGER_LITERAL:
1842 case FLOATING_POINT_LITERAL:
1843 case STRING_LITERAL:
1845 {if (true) return expr;}
1848 jj_consume_token(LPAREN);
1849 expr = Expression();
1851 jj_consume_token(RPAREN);
1852 } catch (ParseException e) {
1853 errorMessage = "')' expected";
1855 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
1856 errorEnd = jj_input_stream.getPosition() + 1;
1857 {if (true) throw e;}
1859 {if (true) return "("+expr+")";}
1862 jj_la1[54] = jj_gen;
1863 jj_consume_token(-1);
1864 throw new ParseException();
1868 throw new Error("Missing return statement in function");
1871 static final public String CastExpression() throws ParseException {
1872 final String type, expr;
1873 jj_consume_token(LPAREN);
1874 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1887 jj_consume_token(ARRAY);
1891 jj_la1[55] = jj_gen;
1892 jj_consume_token(-1);
1893 throw new ParseException();
1895 jj_consume_token(RPAREN);
1896 expr = UnaryExpression();
1897 {if (true) return "(" + type + ")" + expr;}
1898 throw new Error("Missing return statement in function");
1901 static final public String PostfixExpression() throws ParseException {
1903 Token operator = null;
1904 expr = PrimaryExpression();
1905 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1908 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1910 operator = jj_consume_token(INCR);
1913 operator = jj_consume_token(DECR);
1916 jj_la1[56] = jj_gen;
1917 jj_consume_token(-1);
1918 throw new ParseException();
1922 jj_la1[57] = jj_gen;
1925 if (operator == null) {
1926 {if (true) return expr;}
1928 {if (true) return expr + operator.image;}
1929 throw new Error("Missing return statement in function");
1932 static final public String PrimaryExpression() throws ParseException {
1933 final Token identifier;
1935 final StringBuffer buff = new StringBuffer();
1937 identifier = jj_consume_token(IDENTIFIER);
1938 jj_consume_token(STATICCLASSACCESS);
1939 expr = ClassIdentifier();
1940 buff.append(identifier.image).append("::").append(expr);
1943 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1950 jj_la1[58] = jj_gen;
1953 expr = PrimarySuffix();
1956 {if (true) return buff.toString();}
1958 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1963 expr = PrimaryPrefix();
1967 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1974 jj_la1[59] = jj_gen;
1977 expr = PrimarySuffix();
1980 {if (true) return buff.toString();}
1983 expr = ArrayDeclarator();
1984 {if (true) return "array" + expr;}
1987 jj_la1[60] = jj_gen;
1988 jj_consume_token(-1);
1989 throw new ParseException();
1992 throw new Error("Missing return statement in function");
1995 static final public String ArrayDeclarator() throws ParseException {
1997 jj_consume_token(ARRAY);
1998 expr = ArrayInitializer();
1999 {if (true) return "array" + expr;}
2000 throw new Error("Missing return statement in function");
2003 static final public String PrimaryPrefix() throws ParseException {
2006 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2008 token = jj_consume_token(IDENTIFIER);
2009 {if (true) return token.image;}
2012 jj_consume_token(NEW);
2013 expr = ClassIdentifier();
2014 {if (true) return "new " + expr;}
2018 expr = VariableDeclaratorId();
2019 {if (true) return expr;}
2022 jj_la1[61] = jj_gen;
2023 jj_consume_token(-1);
2024 throw new ParseException();
2026 throw new Error("Missing return statement in function");
2029 static final public String classInstantiation() throws ParseException {
2031 final StringBuffer buff = new StringBuffer("new ");
2032 jj_consume_token(NEW);
2033 expr = ClassIdentifier();
2035 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2041 expr = PrimaryExpression();
2045 jj_la1[62] = jj_gen;
2048 {if (true) return buff.toString();}
2049 throw new Error("Missing return statement in function");
2052 static final public String ClassIdentifier() throws ParseException {
2055 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2057 token = jj_consume_token(IDENTIFIER);
2058 {if (true) return token.image;}
2062 expr = VariableDeclaratorId();
2063 {if (true) return expr;}
2066 jj_la1[63] = jj_gen;
2067 jj_consume_token(-1);
2068 throw new ParseException();
2070 throw new Error("Missing return statement in function");
2073 static final public String PrimarySuffix() throws ParseException {
2075 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2078 {if (true) return expr;}
2082 expr = VariableSuffix();
2083 {if (true) return expr;}
2086 jj_la1[64] = jj_gen;
2087 jj_consume_token(-1);
2088 throw new ParseException();
2090 throw new Error("Missing return statement in function");
2093 static final public String VariableSuffix() throws ParseException {
2095 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2097 jj_consume_token(CLASSACCESS);
2099 expr = VariableName();
2100 } catch (ParseException e) {
2101 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', function call or field access expected";
2103 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
2104 errorEnd = jj_input_stream.getPosition() + 1;
2105 {if (true) throw e;}
2107 {if (true) return "->" + expr;}
2110 jj_consume_token(LBRACKET);
2111 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2128 case INTEGER_LITERAL:
2129 case FLOATING_POINT_LITERAL:
2130 case STRING_LITERAL:
2142 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2150 case INTEGER_LITERAL:
2151 case FLOATING_POINT_LITERAL:
2152 case STRING_LITERAL:
2164 expr = Expression();
2178 jj_la1[65] = jj_gen;
2179 jj_consume_token(-1);
2180 throw new ParseException();
2184 jj_la1[66] = jj_gen;
2188 jj_consume_token(RBRACKET);
2189 } catch (ParseException e) {
2190 errorMessage = "']' expected";
2192 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
2193 errorEnd = jj_input_stream.getPosition() + 1;
2194 {if (true) throw e;}
2197 {if (true) return "[]";}
2199 {if (true) return "[" + expr + "]";}
2202 jj_la1[67] = jj_gen;
2203 jj_consume_token(-1);
2204 throw new ParseException();
2206 throw new Error("Missing return statement in function");
2209 static final public String Literal() throws ParseException {
2212 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2213 case INTEGER_LITERAL:
2214 token = jj_consume_token(INTEGER_LITERAL);
2215 {if (true) return token.image;}
2217 case FLOATING_POINT_LITERAL:
2218 token = jj_consume_token(FLOATING_POINT_LITERAL);
2219 {if (true) return token.image;}
2221 case STRING_LITERAL:
2222 token = jj_consume_token(STRING_LITERAL);
2223 {if (true) return token.image;}
2227 expr = BooleanLiteral();
2228 {if (true) return expr;}
2231 jj_consume_token(NULL);
2232 {if (true) return "null";}
2235 jj_la1[68] = jj_gen;
2236 jj_consume_token(-1);
2237 throw new ParseException();
2239 throw new Error("Missing return statement in function");
2242 static final public String BooleanLiteral() throws ParseException {
2243 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2245 jj_consume_token(TRUE);
2246 {if (true) return "true";}
2249 jj_consume_token(FALSE);
2250 {if (true) return "false";}
2253 jj_la1[69] = jj_gen;
2254 jj_consume_token(-1);
2255 throw new ParseException();
2257 throw new Error("Missing return statement in function");
2260 static final public String Arguments() throws ParseException {
2262 jj_consume_token(LPAREN);
2263 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2271 case INTEGER_LITERAL:
2272 case FLOATING_POINT_LITERAL:
2273 case STRING_LITERAL:
2285 expr = ArgumentList();
2288 jj_la1[70] = jj_gen;
2292 jj_consume_token(RPAREN);
2293 } catch (ParseException e) {
2294 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', ')' expected to close the argument list";
2296 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
2297 errorEnd = jj_input_stream.getPosition() + 1;
2298 {if (true) throw e;}
2301 {if (true) return "()";}
2303 {if (true) return "(" + expr + ")";}
2304 throw new Error("Missing return statement in function");
2307 static final public String ArgumentList() throws ParseException {
2309 final StringBuffer buff = new StringBuffer();
2310 expr = Expression();
2314 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2319 jj_la1[71] = jj_gen;
2322 jj_consume_token(COMMA);
2324 expr = Expression();
2325 } catch (ParseException e) {
2326 errorMessage = "expression expected after a comma in argument list";
2328 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
2329 errorEnd = jj_input_stream.getPosition() + 1;
2330 {if (true) throw e;}
2332 buff.append(",").append(expr);
2334 {if (true) return buff.toString();}
2335 throw new Error("Missing return statement in function");
2339 * A Statement without break
2341 static final public void StatementNoBreak() throws ParseException {
2345 jj_consume_token(SEMICOLON);
2346 } catch (ParseException e) {
2347 if (e.currentToken.next.kind != 4) {
2348 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"'. A ';' was expected";
2350 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
2351 errorEnd = jj_input_stream.getPosition() + 1;
2352 {if (true) throw e;}
2355 } else if (jj_2_6(2)) {
2358 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2372 StatementExpression();
2374 jj_consume_token(SEMICOLON);
2375 } catch (ParseException e) {
2376 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"'. A ';' was expected";
2378 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
2379 errorEnd = jj_input_stream.getPosition() + 1;
2380 {if (true) throw e;}
2402 ContinueStatement();
2415 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2417 jj_consume_token(AT);
2420 jj_la1[72] = jj_gen;
2432 jj_la1[73] = jj_gen;
2433 jj_consume_token(-1);
2434 throw new ParseException();
2440 * A Normal statement
2442 static final public void Statement() throws ParseException {
2443 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2466 case INTEGER_LITERAL:
2467 case FLOATING_POINT_LITERAL:
2468 case STRING_LITERAL:
2488 jj_la1[74] = jj_gen;
2489 jj_consume_token(-1);
2490 throw new ParseException();
2494 static final public void htmlBlock() throws ParseException {
2495 jj_consume_token(PHPEND);
2498 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2503 jj_la1[75] = jj_gen;
2508 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2510 jj_consume_token(PHPSTARTLONG);
2513 jj_consume_token(PHPSTARTSHORT);
2516 jj_la1[76] = jj_gen;
2517 jj_consume_token(-1);
2518 throw new ParseException();
2523 * An include statement. It's "include" an expression;
2525 static final public void IncludeStatement() throws ParseException {
2528 final int pos = jj_input_stream.getPosition();
2529 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2531 token = jj_consume_token(REQUIRE);
2534 token = jj_consume_token(REQUIRE_ONCE);
2537 token = jj_consume_token(INCLUDE);
2540 token = jj_consume_token(INCLUDE_ONCE);
2543 jj_la1[77] = jj_gen;
2544 jj_consume_token(-1);
2545 throw new ParseException();
2547 expr = Expression();
2548 if (currentSegment != null) {
2549 currentSegment.add(new PHPReqIncDeclaration(currentSegment, token.image,pos,expr));
2552 jj_consume_token(SEMICOLON);
2553 } catch (ParseException e) {
2554 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"'. A ';' was expected";
2556 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
2557 errorEnd = jj_input_stream.getPosition() + 1;
2558 {if (true) throw e;}
2562 static final public String PrintExpression() throws ParseException {
2563 final StringBuffer buff = new StringBuffer("print ");
2565 jj_consume_token(PRINT);
2566 expr = Expression();
2568 {if (true) return buff.toString();}
2569 throw new Error("Missing return statement in function");
2572 static final public String ListExpression() throws ParseException {
2573 final StringBuffer buff = new StringBuffer("list(");
2575 jj_consume_token(LIST);
2577 jj_consume_token(LPAREN);
2578 } catch (ParseException e) {
2579 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', '(' expected";
2581 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
2582 errorEnd = jj_input_stream.getPosition() + 1;
2583 {if (true) throw e;}
2585 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2588 expr = VariableDeclaratorId();
2592 jj_la1[78] = jj_gen;
2597 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2602 jj_la1[79] = jj_gen;
2606 jj_consume_token(COMMA);
2607 } catch (ParseException e) {
2608 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', ',' expected";
2610 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
2611 errorEnd = jj_input_stream.getPosition() + 1;
2612 {if (true) throw e;}
2614 expr = VariableDeclaratorId();
2615 buff.append(",").append(expr);
2619 jj_consume_token(RPAREN);
2620 } catch (ParseException e) {
2621 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', ')' expected";
2623 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
2624 errorEnd = jj_input_stream.getPosition() + 1;
2625 {if (true) throw e;}
2627 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2629 jj_consume_token(ASSIGN);
2630 expr = Expression();
2631 buff.append("(").append(expr);
2634 jj_la1[80] = jj_gen;
2637 {if (true) return buff.toString();}
2638 throw new Error("Missing return statement in function");
2642 * An echo statement is like this : echo anyexpression (, otherexpression)*
2644 static final public void EchoStatement() throws ParseException {
2645 jj_consume_token(ECHO);
2649 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2654 jj_la1[81] = jj_gen;
2657 jj_consume_token(COMMA);
2661 jj_consume_token(SEMICOLON);
2662 } catch (ParseException e) {
2663 if (e.currentToken.next.kind != 4) {
2664 errorMessage = "';' expected after 'echo' statement";
2666 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
2667 errorEnd = jj_input_stream.getPosition() + 1;
2668 {if (true) throw e;}
2673 static final public void GlobalStatement() throws ParseException {
2674 final int pos = jj_input_stream.getPosition();
2676 jj_consume_token(GLOBAL);
2677 expr = VariableDeclaratorId();
2678 if (currentSegment != null) {
2679 currentSegment.add(new PHPGlobalDeclaration(currentSegment, "global",pos,expr));
2683 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2688 jj_la1[82] = jj_gen;
2691 jj_consume_token(COMMA);
2692 expr = VariableDeclaratorId();
2693 if (currentSegment != null) {
2694 currentSegment.add(new PHPGlobalDeclaration(currentSegment, "global",pos,expr));
2698 jj_consume_token(SEMICOLON);
2699 } catch (ParseException e) {
2700 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"'. A ';' was expected";
2702 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
2703 errorEnd = jj_input_stream.getPosition() + 1;
2704 {if (true) throw e;}
2708 static final public void StaticStatement() throws ParseException {
2709 jj_consume_token(STATIC);
2710 VariableDeclarator();
2713 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2718 jj_la1[83] = jj_gen;
2721 jj_consume_token(COMMA);
2722 VariableDeclarator();
2725 jj_consume_token(SEMICOLON);
2726 } catch (ParseException e) {
2727 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"'. A ';' was expected";
2729 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
2730 errorEnd = jj_input_stream.getPosition() + 1;
2731 {if (true) throw e;}
2735 static final public void LabeledStatement() throws ParseException {
2736 jj_consume_token(IDENTIFIER);
2737 jj_consume_token(COLON);
2741 static final public void Block() throws ParseException {
2743 jj_consume_token(LBRACE);
2744 } catch (ParseException e) {
2745 errorMessage = "'{' expected";
2747 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
2748 errorEnd = jj_input_stream.getPosition() + 1;
2749 {if (true) throw e;}
2753 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2780 case INTEGER_LITERAL:
2781 case FLOATING_POINT_LITERAL:
2782 case STRING_LITERAL:
2799 jj_la1[84] = jj_gen;
2802 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2828 case INTEGER_LITERAL:
2829 case FLOATING_POINT_LITERAL:
2830 case STRING_LITERAL:
2850 jj_la1[85] = jj_gen;
2851 jj_consume_token(-1);
2852 throw new ParseException();
2856 jj_consume_token(RBRACE);
2857 } catch (ParseException e) {
2858 errorMessage = "unexpected token : '"+ e.currentToken.image +"', '}' expected";
2860 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
2861 errorEnd = jj_input_stream.getPosition() + 1;
2862 {if (true) throw e;}
2866 static final public void BlockStatement() throws ParseException {
2867 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2891 case INTEGER_LITERAL:
2892 case FLOATING_POINT_LITERAL:
2893 case STRING_LITERAL:
2913 MethodDeclaration();
2916 jj_la1[86] = jj_gen;
2917 jj_consume_token(-1);
2918 throw new ParseException();
2923 * A Block statement that will not contain any 'break'
2925 static final public void BlockStatementNoBreak() throws ParseException {
2926 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2949 case INTEGER_LITERAL:
2950 case FLOATING_POINT_LITERAL:
2951 case STRING_LITERAL:
2971 MethodDeclaration();
2974 jj_la1[87] = jj_gen;
2975 jj_consume_token(-1);
2976 throw new ParseException();
2980 static final public void LocalVariableDeclaration() throws ParseException {
2981 LocalVariableDeclarator();
2984 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
2989 jj_la1[88] = jj_gen;
2992 jj_consume_token(COMMA);
2993 LocalVariableDeclarator();
2997 static final public void LocalVariableDeclarator() throws ParseException {
2998 VariableDeclaratorId();
2999 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3001 jj_consume_token(ASSIGN);
3005 jj_la1[89] = jj_gen;
3010 static final public void EmptyStatement() throws ParseException {
3011 jj_consume_token(SEMICOLON);
3014 static final public void StatementExpression() throws ParseException {
3015 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3018 PreIncDecExpression();
3025 PrimaryExpression();
3026 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3041 case RSIGNEDSHIFTASSIGN:
3042 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3044 jj_consume_token(INCR);
3047 jj_consume_token(DECR);
3061 case RSIGNEDSHIFTASSIGN:
3062 AssignmentOperator();
3066 jj_la1[90] = jj_gen;
3067 jj_consume_token(-1);
3068 throw new ParseException();
3072 jj_la1[91] = jj_gen;
3077 jj_la1[92] = jj_gen;
3078 jj_consume_token(-1);
3079 throw new ParseException();
3083 static final public void SwitchStatement() throws ParseException {
3084 final int pos = jj_input_stream.getPosition();
3085 jj_consume_token(SWITCH);
3087 jj_consume_token(LPAREN);
3088 } catch (ParseException e) {
3089 errorMessage = "'(' expected after 'switch'";
3091 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
3092 errorEnd = jj_input_stream.getPosition() + 1;
3093 {if (true) throw e;}
3097 jj_consume_token(RPAREN);
3098 } catch (ParseException e) {
3099 errorMessage = "')' expected";
3101 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
3102 errorEnd = jj_input_stream.getPosition() + 1;
3103 {if (true) throw e;}
3105 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3107 switchStatementBrace();
3110 switchStatementColon(pos, pos + 6);
3113 jj_la1[93] = jj_gen;
3114 jj_consume_token(-1);
3115 throw new ParseException();
3119 static final public void switchStatementBrace() throws ParseException {
3120 jj_consume_token(LBRACE);
3123 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3129 jj_la1[94] = jj_gen;
3135 jj_consume_token(RBRACE);
3136 } catch (ParseException e) {
3137 errorMessage = "'}' expected";
3139 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
3140 errorEnd = jj_input_stream.getPosition() + 1;
3141 {if (true) throw e;}
3146 * A Switch statement with : ... endswitch;
3147 * @param start the begin offset of the switch
3148 * @param end the end offset of the switch
3150 static final public void switchStatementColon(final int start, final int end) throws ParseException {
3151 jj_consume_token(COLON);
3153 setMarker(fileToParse,
3154 "Ugly syntax detected, you should switch () {...} instead of switch (): ... enswitch;",
3158 "Line " + token.beginLine);
3159 } catch (CoreException e) {
3160 PHPeclipsePlugin.log(e);
3164 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3170 jj_la1[95] = jj_gen;
3176 jj_consume_token(ENDSWITCH);
3177 } catch (ParseException e) {
3178 errorMessage = "'endswitch' expected";
3180 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
3181 errorEnd = jj_input_stream.getPosition() + 1;
3182 {if (true) throw e;}
3185 jj_consume_token(SEMICOLON);
3186 } catch (ParseException e) {
3187 errorMessage = "';' expected after 'endswitch' keyword";
3189 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
3190 errorEnd = jj_input_stream.getPosition() + 1;
3191 {if (true) throw e;}
3195 static final public void switchLabel0() throws ParseException {
3196 Token breakToken = null;
3198 line = SwitchLabel();
3201 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3227 case INTEGER_LITERAL:
3228 case FLOATING_POINT_LITERAL:
3229 case STRING_LITERAL:
3246 jj_la1[96] = jj_gen;
3249 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3274 case INTEGER_LITERAL:
3275 case FLOATING_POINT_LITERAL:
3276 case STRING_LITERAL:
3290 BlockStatementNoBreak();
3296 jj_la1[97] = jj_gen;
3297 jj_consume_token(-1);
3298 throw new ParseException();
3301 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3303 breakToken = BreakStatement();
3306 jj_la1[98] = jj_gen;
3310 if (breakToken == null) {
3311 setMarker(fileToParse,
3312 "You should use put a 'break' at the end of your statement",
3317 } catch (CoreException e) {
3318 PHPeclipsePlugin.log(e);
3322 static final public Token BreakStatement() throws ParseException {
3324 token = jj_consume_token(BREAK);
3325 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3333 case INTEGER_LITERAL:
3334 case FLOATING_POINT_LITERAL:
3335 case STRING_LITERAL:
3350 jj_la1[99] = jj_gen;
3354 jj_consume_token(SEMICOLON);
3355 } catch (ParseException e) {
3356 errorMessage = "';' expected after 'break' keyword";
3358 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
3359 errorEnd = jj_input_stream.getPosition() + 1;
3360 {if (true) throw e;}
3362 {if (true) return token;}
3363 throw new Error("Missing return statement in function");
3366 static final public int SwitchLabel() throws ParseException {
3368 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3370 token = jj_consume_token(CASE);
3373 } catch (ParseException e) {
3374 if (errorMessage != null) {if (true) throw e;}
3375 errorMessage = "expression expected after 'case' keyword";
3377 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
3378 errorEnd = jj_input_stream.getPosition() + 1;
3379 {if (true) throw e;}
3382 jj_consume_token(COLON);
3383 } catch (ParseException e) {
3384 errorMessage = "':' expected after case expression";
3386 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
3387 errorEnd = jj_input_stream.getPosition() + 1;
3388 {if (true) throw e;}
3390 {if (true) return token.beginLine;}
3393 token = jj_consume_token(_DEFAULT);
3395 jj_consume_token(COLON);
3396 } catch (ParseException e) {
3397 errorMessage = "':' expected after 'default' keyword";
3399 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
3400 errorEnd = jj_input_stream.getPosition() + 1;
3401 {if (true) throw e;}
3403 {if (true) return token.beginLine;}
3406 jj_la1[100] = jj_gen;
3407 jj_consume_token(-1);
3408 throw new ParseException();
3410 throw new Error("Missing return statement in function");
3413 static final public void IfStatement() throws ParseException {
3415 final int pos = jj_input_stream.getPosition();
3416 token = jj_consume_token(IF);
3418 IfStatement0(pos,pos+token.image.length());
3421 static final public void Condition(final String keyword) throws ParseException {
3423 jj_consume_token(LPAREN);
3424 } catch (ParseException e) {
3425 errorMessage = "'(' expected after " + keyword + " keyword";
3427 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length();
3428 errorEnd = errorStart +1;
3429 processParseException(e);
3433 jj_consume_token(RPAREN);
3434 } catch (ParseException e) {
3435 errorMessage = "')' expected after " + keyword + " keyword";
3437 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
3438 errorEnd = jj_input_stream.getPosition() + 1;
3439 {if (true) throw e;}
3443 static final public void IfStatement0(final int start,final int end) throws ParseException {
3444 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3446 jj_consume_token(COLON);
3449 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3474 case INTEGER_LITERAL:
3475 case FLOATING_POINT_LITERAL:
3476 case STRING_LITERAL:
3493 jj_la1[101] = jj_gen;
3496 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3520 case INTEGER_LITERAL:
3521 case FLOATING_POINT_LITERAL:
3522 case STRING_LITERAL:
3542 jj_la1[102] = jj_gen;
3543 jj_consume_token(-1);
3544 throw new ParseException();
3549 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3554 jj_la1[103] = jj_gen;
3557 ElseIfStatementColon();
3559 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3561 ElseStatementColon();
3564 jj_la1[104] = jj_gen;
3568 setMarker(fileToParse,
3569 "Ugly syntax detected, you should if () {...} instead of if (): ... endif;",
3573 "Line " + token.beginLine);
3574 } catch (CoreException e) {
3575 PHPeclipsePlugin.log(e);
3578 jj_consume_token(ENDIF);
3579 } catch (ParseException e) {
3580 errorMessage = "'endif' expected";
3582 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
3583 errorEnd = jj_input_stream.getPosition() + 1;
3584 {if (true) throw e;}
3587 jj_consume_token(SEMICOLON);
3588 } catch (ParseException e) {
3589 errorMessage = "';' expected after 'endif' keyword";
3591 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
3592 errorEnd = jj_input_stream.getPosition() + 1;
3593 {if (true) throw e;}
3620 case INTEGER_LITERAL:
3621 case FLOATING_POINT_LITERAL:
3622 case STRING_LITERAL:
3636 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3660 case INTEGER_LITERAL:
3661 case FLOATING_POINT_LITERAL:
3662 case STRING_LITERAL:
3682 jj_la1[105] = jj_gen;
3683 jj_consume_token(-1);
3684 throw new ParseException();
3688 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3693 jj_la1[106] = jj_gen;
3698 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3700 jj_consume_token(ELSE);
3703 } catch (ParseException e) {
3704 if (errorMessage != null) {
3705 {if (true) throw e;}
3707 errorMessage = "unexpected token '"+e.currentToken.next.image+"', a statement was expected";
3709 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
3710 errorEnd = jj_input_stream.getPosition() + 1;
3711 {if (true) throw e;}
3715 jj_la1[107] = jj_gen;
3720 jj_la1[108] = jj_gen;
3721 jj_consume_token(-1);
3722 throw new ParseException();
3726 static final public void ElseIfStatementColon() throws ParseException {
3727 jj_consume_token(ELSEIF);
3728 Condition("elseif");
3729 jj_consume_token(COLON);
3732 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3757 case INTEGER_LITERAL:
3758 case FLOATING_POINT_LITERAL:
3759 case STRING_LITERAL:
3776 jj_la1[109] = jj_gen;
3779 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3803 case INTEGER_LITERAL:
3804 case FLOATING_POINT_LITERAL:
3805 case STRING_LITERAL:
3825 jj_la1[110] = jj_gen;
3826 jj_consume_token(-1);
3827 throw new ParseException();
3832 static final public void ElseStatementColon() throws ParseException {
3833 jj_consume_token(ELSE);
3834 jj_consume_token(COLON);
3837 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3862 case INTEGER_LITERAL:
3863 case FLOATING_POINT_LITERAL:
3864 case STRING_LITERAL:
3881 jj_la1[111] = jj_gen;
3884 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3908 case INTEGER_LITERAL:
3909 case FLOATING_POINT_LITERAL:
3910 case STRING_LITERAL:
3930 jj_la1[112] = jj_gen;
3931 jj_consume_token(-1);
3932 throw new ParseException();
3937 static final public void ElseIfStatement() throws ParseException {
3938 jj_consume_token(ELSEIF);
3939 Condition("elseif");
3943 static final public void WhileStatement() throws ParseException {
3945 final int pos = jj_input_stream.getPosition();
3946 token = jj_consume_token(WHILE);
3948 WhileStatement0(pos,pos + token.image.length());
3951 static final public void WhileStatement0(final int start, final int end) throws ParseException {
3952 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3954 jj_consume_token(COLON);
3957 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
3981 case INTEGER_LITERAL:
3982 case FLOATING_POINT_LITERAL:
3983 case STRING_LITERAL:
4000 jj_la1[113] = jj_gen;
4006 setMarker(fileToParse,
4007 "Ugly syntax detected, you should while () {...} instead of while (): ... endwhile;",
4011 "Line " + token.beginLine);
4012 } catch (CoreException e) {
4013 PHPeclipsePlugin.log(e);
4016 jj_consume_token(ENDWHILE);
4017 } catch (ParseException e) {
4018 errorMessage = "'endwhile' expected";
4020 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
4021 errorEnd = jj_input_stream.getPosition() + 1;
4022 {if (true) throw e;}
4025 jj_consume_token(SEMICOLON);
4026 } catch (ParseException e) {
4027 errorMessage = "';' expected after 'endwhile' keyword";
4029 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
4030 errorEnd = jj_input_stream.getPosition() + 1;
4031 {if (true) throw e;}
4057 case INTEGER_LITERAL:
4058 case FLOATING_POINT_LITERAL:
4059 case STRING_LITERAL:
4076 jj_la1[114] = jj_gen;
4077 jj_consume_token(-1);
4078 throw new ParseException();
4082 static final public void DoStatement() throws ParseException {
4083 jj_consume_token(DO);
4085 jj_consume_token(WHILE);
4088 jj_consume_token(SEMICOLON);
4089 } catch (ParseException e) {
4090 errorMessage = "unexpected token : '"+ e.currentToken.next.image +"'. A ';' was expected";
4092 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
4093 errorEnd = jj_input_stream.getPosition() + 1;
4094 {if (true) throw e;}
4098 static final public void ForeachStatement() throws ParseException {
4099 jj_consume_token(FOREACH);
4101 jj_consume_token(LPAREN);
4102 } catch (ParseException e) {
4103 errorMessage = "'(' expected after 'foreach' keyword";
4105 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
4106 errorEnd = jj_input_stream.getPosition() + 1;
4107 {if (true) throw e;}
4111 } catch (ParseException e) {
4112 errorMessage = "variable expected";
4114 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
4115 errorEnd = jj_input_stream.getPosition() + 1;
4116 {if (true) throw e;}
4120 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
4126 jj_la1[115] = jj_gen;
4132 jj_consume_token(AS);
4133 } catch (ParseException e) {
4134 errorMessage = "'as' expected";
4136 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
4137 errorEnd = jj_input_stream.getPosition() + 1;
4138 {if (true) throw e;}
4142 } catch (ParseException e) {
4143 errorMessage = "variable expected";
4145 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
4146 errorEnd = jj_input_stream.getPosition() + 1;
4147 {if (true) throw e;}
4149 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
4151 jj_consume_token(ARRAYASSIGN);
4155 jj_la1[116] = jj_gen;
4159 jj_consume_token(RPAREN);
4160 } catch (ParseException e) {
4161 errorMessage = "')' expected after 'foreach' keyword";
4163 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
4164 errorEnd = jj_input_stream.getPosition() + 1;
4165 {if (true) throw e;}
4169 } catch (ParseException e) {
4170 if (errorMessage != null) {if (true) throw e;}
4171 errorMessage = "statement expected";
4173 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
4174 errorEnd = jj_input_stream.getPosition() + 1;
4175 {if (true) throw e;}
4179 static final public void ForStatement() throws ParseException {
4181 final int pos = jj_input_stream.getPosition();
4182 token = jj_consume_token(FOR);
4184 jj_consume_token(LPAREN);
4185 } catch (ParseException e) {
4186 errorMessage = "'(' expected after 'for' keyword";
4188 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
4189 errorEnd = jj_input_stream.getPosition() + 1;
4190 {if (true) throw e;}
4192 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
4203 jj_la1[117] = jj_gen;
4206 jj_consume_token(SEMICOLON);
4207 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
4215 case INTEGER_LITERAL:
4216 case FLOATING_POINT_LITERAL:
4217 case STRING_LITERAL:
4232 jj_la1[118] = jj_gen;
4235 jj_consume_token(SEMICOLON);
4236 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
4244 StatementExpressionList();
4247 jj_la1[119] = jj_gen;
4250 jj_consume_token(RPAREN);
4251 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
4275 case INTEGER_LITERAL:
4276 case FLOATING_POINT_LITERAL:
4277 case STRING_LITERAL:
4294 jj_consume_token(COLON);
4297 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
4321 case INTEGER_LITERAL:
4322 case FLOATING_POINT_LITERAL:
4323 case STRING_LITERAL:
4340 jj_la1[120] = jj_gen;
4346 setMarker(fileToParse,
4347 "Ugly syntax detected, you should for () {...} instead of for (): ... endfor;",
4349 pos+token.image.length(),
4351 "Line " + token.beginLine);
4352 } catch (CoreException e) {
4353 PHPeclipsePlugin.log(e);
4356 jj_consume_token(ENDFOR);
4357 } catch (ParseException e) {
4358 errorMessage = "'endfor' expected";
4360 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
4361 errorEnd = jj_input_stream.getPosition() + 1;
4362 {if (true) throw e;}
4365 jj_consume_token(SEMICOLON);
4366 } catch (ParseException e) {
4367 errorMessage = "';' expected after 'endfor' keyword";
4369 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
4370 errorEnd = jj_input_stream.getPosition() + 1;
4371 {if (true) throw e;}
4375 jj_la1[121] = jj_gen;
4376 jj_consume_token(-1);
4377 throw new ParseException();
4381 static final public void ForInit() throws ParseException {
4382 if (jj_2_7(2147483647)) {
4383 LocalVariableDeclaration();
4385 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
4393 StatementExpressionList();
4396 jj_la1[122] = jj_gen;
4397 jj_consume_token(-1);
4398 throw new ParseException();
4403 static final public void StatementExpressionList() throws ParseException {
4404 StatementExpression();
4407 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
4412 jj_la1[123] = jj_gen;
4415 jj_consume_token(COMMA);
4416 StatementExpression();
4420 static final public void ContinueStatement() throws ParseException {
4421 jj_consume_token(CONTINUE);
4422 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
4430 case INTEGER_LITERAL:
4431 case FLOATING_POINT_LITERAL:
4432 case STRING_LITERAL:
4447 jj_la1[124] = jj_gen;
4451 jj_consume_token(SEMICOLON);
4452 } catch (ParseException e) {
4453 errorMessage = "';' expected after 'continue' statement";
4455 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
4456 errorEnd = jj_input_stream.getPosition() + 1;
4457 {if (true) throw e;}
4461 static final public void ReturnStatement() throws ParseException {
4462 jj_consume_token(RETURN);
4463 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
4471 case INTEGER_LITERAL:
4472 case FLOATING_POINT_LITERAL:
4473 case STRING_LITERAL:
4488 jj_la1[125] = jj_gen;
4492 jj_consume_token(SEMICOLON);
4493 } catch (ParseException e) {
4494 errorMessage = "';' expected after 'return' statement";
4496 errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1;
4497 errorEnd = jj_input_stream.getPosition() + 1;
4498 {if (true) throw e;}
4502 static final private boolean jj_2_1(int xla) {
4503 jj_la = xla; jj_lastpos = jj_scanpos = token;
4504 boolean retval = !jj_3_1();
4509 static final private boolean jj_2_2(int xla) {
4510 jj_la = xla; jj_lastpos = jj_scanpos = token;
4511 boolean retval = !jj_3_2();
4516 static final private boolean jj_2_3(int xla) {
4517 jj_la = xla; jj_lastpos = jj_scanpos = token;
4518 boolean retval = !jj_3_3();
4523 static final private boolean jj_2_4(int xla) {
4524 jj_la = xla; jj_lastpos = jj_scanpos = token;
4525 boolean retval = !jj_3_4();
4530 static final private boolean jj_2_5(int xla) {
4531 jj_la = xla; jj_lastpos = jj_scanpos = token;
4532 boolean retval = !jj_3_5();
4537 static final private boolean jj_2_6(int xla) {
4538 jj_la = xla; jj_lastpos = jj_scanpos = token;
4539 boolean retval = !jj_3_6();
4544 static final private boolean jj_2_7(int xla) {
4545 jj_la = xla; jj_lastpos = jj_scanpos = token;
4546 boolean retval = !jj_3_7();
4551 static final private boolean jj_3R_112() {
4552 if (jj_scan_token(ASSIGN)) return true;
4553 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4554 if (jj_3R_46()) return true;
4555 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4559 static final private boolean jj_3R_178() {
4560 if (jj_3R_51()) return true;
4561 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4565 static final private boolean jj_3R_167() {
4566 if (jj_3R_165()) return true;
4567 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4570 if (jj_3R_180()) jj_scanpos = xsp;
4571 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4575 static final private boolean jj_3R_71() {
4576 if (jj_3R_82()) return true;
4577 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4578 if (jj_3R_46()) return true;
4579 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4583 static final private boolean jj_3R_54() {
4584 if (jj_3R_70()) return true;
4585 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4588 if (jj_3R_71()) jj_scanpos = xsp;
4589 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4593 static final private boolean jj_3R_45() {
4594 if (jj_scan_token(ARRAY)) return true;
4595 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4599 static final private boolean jj_3R_53() {
4600 if (jj_3R_69()) return true;
4601 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4605 static final private boolean jj_3R_166() {
4606 if (jj_scan_token(LPAREN)) return true;
4607 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4612 if (jj_3R_179()) return true;
4613 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4614 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4615 if (jj_scan_token(RPAREN)) return true;
4616 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4617 if (jj_3R_140()) return true;
4618 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4622 static final private boolean jj_3R_46() {
4629 if (jj_3R_54()) return true;
4630 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4631 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4632 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4636 static final private boolean jj_3R_52() {
4637 if (jj_3R_68()) return true;
4638 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4642 static final private boolean jj_3R_44() {
4643 if (jj_3R_51()) return true;
4644 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4648 static final private boolean jj_3R_111() {
4649 if (jj_scan_token(COMMA)) return true;
4650 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4651 if (jj_3R_72()) return true;
4652 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4656 static final private boolean jj_3R_67() {
4657 if (jj_scan_token(OBJECT)) return true;
4658 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4662 static final private boolean jj_3R_110() {
4663 if (jj_3R_72()) return true;
4664 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4668 static final private boolean jj_3R_66() {
4669 if (jj_scan_token(INTEGER)) return true;
4670 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4674 static final private boolean jj_3_3() {
4675 if (jj_scan_token(LPAREN)) return true;
4676 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4681 if (jj_3R_45()) return true;
4682 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4683 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4684 if (jj_scan_token(RPAREN)) return true;
4685 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4689 static final private boolean jj_3R_164() {
4690 if (jj_scan_token(LPAREN)) return true;
4691 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4692 if (jj_3R_46()) return true;
4693 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4694 if (jj_scan_token(RPAREN)) return true;
4695 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4699 static final private boolean jj_3R_65() {
4700 if (jj_scan_token(INT)) return true;
4701 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4705 static final private boolean jj_3R_163() {
4706 if (jj_3R_168()) return true;
4707 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4711 static final private boolean jj_3R_64() {
4712 if (jj_scan_token(FLOAT)) return true;
4713 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4717 static final private boolean jj_3R_159() {
4718 if (jj_scan_token(DECR)) return true;
4719 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4723 static final private boolean jj_3R_162() {
4724 if (jj_3R_167()) return true;
4725 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4729 static final private boolean jj_3R_63() {
4730 if (jj_scan_token(DOUBLE)) return true;
4731 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4735 static final private boolean jj_3R_62() {
4736 if (jj_scan_token(REAL)) return true;
4737 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4741 static final private boolean jj_3R_161() {
4742 if (jj_3R_166()) return true;
4743 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4747 static final private boolean jj_3R_69() {
4748 if (jj_scan_token(LIST)) return true;
4749 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4750 if (jj_scan_token(LPAREN)) return true;
4751 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4754 if (jj_3R_110()) jj_scanpos = xsp;
4755 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4758 if (jj_3R_111()) { jj_scanpos = xsp; break; }
4759 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4761 if (jj_scan_token(RPAREN)) return true;
4762 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4764 if (jj_3R_112()) jj_scanpos = xsp;
4765 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4769 static final private boolean jj_3R_61() {
4770 if (jj_scan_token(BOOLEAN)) return true;
4771 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4775 static final private boolean jj_3R_157() {
4786 if (jj_3R_164()) return true;
4787 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4788 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4789 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4790 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4791 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4795 static final private boolean jj_3R_160() {
4796 if (jj_scan_token(BANG)) return true;
4797 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4798 if (jj_3R_140()) return true;
4799 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4803 static final private boolean jj_3R_60() {
4804 if (jj_scan_token(BOOL)) return true;
4805 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4809 static final private boolean jj_3R_51() {
4828 if (jj_3R_67()) return true;
4829 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4830 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4831 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4832 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4833 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4834 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4835 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4836 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4837 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4841 static final private boolean jj_3R_59() {
4842 if (jj_scan_token(STRING)) return true;
4843 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4847 static final private boolean jj_3R_158() {
4848 if (jj_scan_token(INCR)) return true;
4849 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4853 static final private boolean jj_3R_155() {
4854 if (jj_scan_token(MINUS)) return true;
4855 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4859 static final private boolean jj_3R_156() {
4864 if (jj_3R_159()) return true;
4865 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4866 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4867 if (jj_3R_165()) return true;
4868 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4872 static final private boolean jj_3R_68() {
4873 if (jj_scan_token(PRINT)) return true;
4874 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4875 if (jj_3R_46()) return true;
4876 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4880 static final private boolean jj_3R_148() {
4881 if (jj_scan_token(REM)) return true;
4882 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4886 static final private boolean jj_3R_153() {
4887 if (jj_3R_157()) return true;
4888 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4892 static final private boolean jj_3R_152() {
4893 if (jj_3R_156()) return true;
4894 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4898 static final private boolean jj_3R_154() {
4899 if (jj_scan_token(PLUS)) return true;
4900 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4904 static final private boolean jj_3R_149() {
4911 if (jj_3R_153()) return true;
4912 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4913 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4914 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4918 static final private boolean jj_3R_151() {
4923 if (jj_3R_155()) return true;
4924 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4925 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4926 if (jj_3R_140()) return true;
4927 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4931 static final private boolean jj_3R_150() {
4932 if (jj_scan_token(AT)) return true;
4933 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4937 static final private boolean jj_3R_145() {
4941 if (jj_3R_150()) { jj_scanpos = xsp; break; }
4942 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4944 if (jj_3R_149()) return true;
4945 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4949 static final private boolean jj_3R_147() {
4950 if (jj_scan_token(SLASH)) return true;
4951 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4955 static final private boolean jj_3R_140() {
4960 if (jj_3R_145()) return true;
4961 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4962 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4966 static final private boolean jj_3R_144() {
4967 if (jj_scan_token(BIT_AND)) return true;
4968 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4969 if (jj_3R_149()) return true;
4970 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4974 static final private boolean jj_3R_139() {
4975 if (jj_scan_token(RUNSIGNEDSHIFT)) return true;
4976 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4980 static final private boolean jj_3R_146() {
4981 if (jj_scan_token(STAR)) return true;
4982 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4986 static final private boolean jj_3R_141() {
4993 if (jj_3R_148()) return true;
4994 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4995 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4996 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
4997 if (jj_3R_140()) return true;
4998 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5002 static final private boolean jj_3R_143() {
5003 if (jj_scan_token(MINUS)) return true;
5004 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5008 static final private boolean jj_3R_134() {
5009 if (jj_scan_token(GE)) return true;
5010 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5014 static final private boolean jj_3R_135() {
5015 if (jj_3R_140()) return true;
5016 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5020 if (jj_3R_141()) { jj_scanpos = xsp; break; }
5021 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5026 static final private boolean jj_3R_138() {
5027 if (jj_scan_token(RSIGNEDSHIFT)) return true;
5028 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5032 static final private boolean jj_3R_133() {
5033 if (jj_scan_token(LE)) return true;
5034 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5038 static final private boolean jj_3R_142() {
5039 if (jj_scan_token(PLUS)) return true;
5040 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5044 static final private boolean jj_3R_136() {
5049 if (jj_3R_143()) return true;
5050 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5051 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5052 if (jj_3R_135()) return true;
5053 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5057 static final private boolean jj_3R_129() {
5058 if (jj_3R_135()) return true;
5059 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5063 if (jj_3R_136()) { jj_scanpos = xsp; break; }
5064 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5069 static final private boolean jj_3R_132() {
5070 if (jj_scan_token(GT)) return true;
5071 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5075 static final private boolean jj_3_6() {
5076 if (jj_3R_47()) return true;
5077 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5081 static final private boolean jj_3R_137() {
5082 if (jj_scan_token(LSHIFT)) return true;
5083 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5087 static final private boolean jj_3R_130() {
5094 if (jj_3R_139()) return true;
5095 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5096 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5097 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5098 if (jj_3R_129()) return true;
5099 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5103 static final private boolean jj_3R_122() {
5104 if (jj_3R_129()) return true;
5105 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5109 if (jj_3R_130()) { jj_scanpos = xsp; break; }
5110 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5115 static final private boolean jj_3_7() {
5116 if (jj_3R_48()) return true;
5117 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5121 static final private boolean jj_3_5() {
5122 if (jj_3R_46()) return true;
5123 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5124 if (jj_scan_token(SEMICOLON)) return true;
5125 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5129 static final private boolean jj_3R_131() {
5130 if (jj_scan_token(LT)) return true;
5131 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5135 static final private boolean jj_3R_123() {
5144 if (jj_3R_134()) return true;
5145 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5146 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5147 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5148 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5149 if (jj_3R_122()) return true;
5150 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5154 static final private boolean jj_3R_120() {
5155 if (jj_3R_122()) return true;
5156 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5160 if (jj_3R_123()) { jj_scanpos = xsp; break; }
5161 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5166 static final private boolean jj_3R_204() {
5167 if (jj_scan_token(COMMA)) return true;
5168 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5169 if (jj_3R_46()) return true;
5170 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5174 static final private boolean jj_3R_200() {
5175 if (jj_scan_token(COMMA)) return true;
5176 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5180 static final private boolean jj_3_2() {
5181 if (jj_scan_token(COMMA)) return true;
5182 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5183 if (jj_3R_43()) return true;
5184 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5188 static final private boolean jj_3R_203() {
5189 if (jj_3R_46()) return true;
5190 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5194 if (jj_3R_204()) { jj_scanpos = xsp; break; }
5195 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5200 static final private boolean jj_3R_199() {
5201 if (jj_3R_43()) return true;
5202 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5206 if (jj_3_2()) { jj_scanpos = xsp; break; }
5207 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5212 static final private boolean jj_3R_128() {
5213 if (jj_scan_token(TRIPLEEQUAL)) return true;
5214 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5218 static final private boolean jj_3R_127() {
5219 if (jj_scan_token(BANGDOUBLEEQUAL)) return true;
5220 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5224 static final private boolean jj_3R_126() {
5225 if (jj_scan_token(NE)) return true;
5226 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5230 static final private boolean jj_3R_125() {
5231 if (jj_scan_token(DIF)) return true;
5232 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5236 static final private boolean jj_3R_124() {
5237 if (jj_scan_token(EQ)) return true;
5238 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5242 static final private boolean jj_3R_201() {
5243 if (jj_3R_203()) return true;
5244 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5248 static final private boolean jj_3R_191() {
5249 if (jj_scan_token(LPAREN)) return true;
5250 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5253 if (jj_3R_199()) jj_scanpos = xsp;
5254 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5256 if (jj_3R_200()) jj_scanpos = xsp;
5257 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5258 if (jj_scan_token(RPAREN)) return true;
5259 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5263 static final private boolean jj_3R_121() {
5274 if (jj_3R_128()) return true;
5275 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5276 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5277 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5278 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5279 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5280 if (jj_3R_120()) return true;
5281 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5285 static final private boolean jj_3R_118() {
5286 if (jj_3R_120()) return true;
5287 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5291 if (jj_3R_121()) { jj_scanpos = xsp; break; }
5292 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5297 static final private boolean jj_3R_202() {
5298 if (jj_scan_token(ARRAYASSIGN)) return true;
5299 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5300 if (jj_3R_46()) return true;
5301 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5305 static final private boolean jj_3R_198() {
5306 if (jj_scan_token(LPAREN)) return true;
5307 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5310 if (jj_3R_201()) jj_scanpos = xsp;
5311 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5312 if (jj_scan_token(RPAREN)) return true;
5313 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5317 static final private boolean jj_3R_43() {
5318 if (jj_3R_46()) return true;
5319 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5322 if (jj_3R_202()) jj_scanpos = xsp;
5323 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5327 static final private boolean jj_3R_119() {
5328 if (jj_scan_token(BIT_AND)) return true;
5329 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5330 if (jj_3R_118()) return true;
5331 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5335 static final private boolean jj_3R_188() {
5336 if (jj_scan_token(FALSE)) return true;
5337 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5341 static final private boolean jj_3R_187() {
5342 if (jj_scan_token(TRUE)) return true;
5343 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5347 static final private boolean jj_3R_181() {
5352 if (jj_3R_188()) return true;
5353 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5354 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5358 static final private boolean jj_3R_116() {
5359 if (jj_3R_118()) return true;
5360 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5364 if (jj_3R_119()) { jj_scanpos = xsp; break; }
5365 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5370 static final private boolean jj_3R_175() {
5371 if (jj_scan_token(NULL)) return true;
5372 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5376 static final private boolean jj_3R_73() {
5377 if (jj_scan_token(ASSIGN)) return true;
5378 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5379 if (jj_3R_46()) return true;
5380 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5384 static final private boolean jj_3R_79() {
5385 if (jj_3R_51()) return true;
5386 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5390 static final private boolean jj_3R_174() {
5391 if (jj_3R_181()) return true;
5392 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5396 static final private boolean jj_3R_56() {
5397 if (jj_scan_token(COMMA)) return true;
5398 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5399 if (jj_3R_55()) return true;
5400 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5404 static final private boolean jj_3R_173() {
5405 if (jj_scan_token(STRING_LITERAL)) return true;
5406 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5410 static final private boolean jj_3R_117() {
5411 if (jj_scan_token(XOR)) return true;
5412 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5413 if (jj_3R_116()) return true;
5414 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5418 static final private boolean jj_3R_172() {
5419 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
5420 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5424 static final private boolean jj_3R_168() {
5435 if (jj_3R_175()) return true;
5436 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5437 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5438 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5439 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5440 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5444 static final private boolean jj_3R_171() {
5445 if (jj_scan_token(INTEGER_LITERAL)) return true;
5446 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5450 static final private boolean jj_3R_113() {
5451 if (jj_3R_116()) return true;
5452 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5456 if (jj_3R_117()) { jj_scanpos = xsp; break; }
5457 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5462 static final private boolean jj_3R_78() {
5463 if (jj_3R_46()) return true;
5464 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5468 static final private boolean jj_3R_58() {
5473 if (jj_3R_79()) return true;
5474 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5475 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5479 static final private boolean jj_3R_55() {
5480 if (jj_3R_72()) return true;
5481 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5484 if (jj_3R_73()) jj_scanpos = xsp;
5485 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5489 static final private boolean jj_3R_114() {
5490 if (jj_scan_token(BIT_OR)) return true;
5491 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5492 if (jj_3R_113()) return true;
5493 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5497 static final private boolean jj_3R_106() {
5498 if (jj_3R_113()) return true;
5499 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5503 if (jj_3R_114()) { jj_scanpos = xsp; break; }
5504 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5509 static final private boolean jj_3R_77() {
5510 if (jj_scan_token(DOLLAR_ID)) return true;
5511 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5515 static final private boolean jj_3R_48() {
5516 if (jj_3R_55()) return true;
5517 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5521 if (jj_3R_56()) { jj_scanpos = xsp; break; }
5522 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5527 static final private boolean jj_3R_115() {
5528 if (jj_scan_token(LBRACE)) return true;
5529 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5530 if (jj_3R_46()) return true;
5531 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5532 if (jj_scan_token(RBRACE)) return true;
5533 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5537 static final private boolean jj_3R_50() {
5538 if (jj_scan_token(LBRACKET)) return true;
5539 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5542 if (jj_3R_58()) jj_scanpos = xsp;
5543 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5544 if (jj_scan_token(RBRACKET)) return true;
5545 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5549 static final private boolean jj_3R_109() {
5550 if (jj_scan_token(_ANDL)) return true;
5551 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5555 static final private boolean jj_3R_76() {
5556 if (jj_scan_token(DOLLAR)) return true;
5557 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5558 if (jj_3R_57()) return true;
5559 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5563 static final private boolean jj_3R_107() {
5564 if (jj_scan_token(DOT)) return true;
5565 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5566 if (jj_3R_106()) return true;
5567 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5571 static final private boolean jj_3R_101() {
5572 if (jj_3R_106()) return true;
5573 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5577 if (jj_3R_107()) { jj_scanpos = xsp; break; }
5578 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5583 static final private boolean jj_3R_49() {
5584 if (jj_scan_token(CLASSACCESS)) return true;
5585 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5586 if (jj_3R_57()) return true;
5587 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5591 static final private boolean jj_3R_42() {
5596 if (jj_3R_50()) return true;
5597 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5598 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5602 static final private boolean jj_3R_75() {
5603 if (jj_scan_token(IDENTIFIER)) return true;
5604 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5607 if (jj_3R_115()) jj_scanpos = xsp;
5608 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5612 static final private boolean jj_3R_195() {
5613 if (jj_3R_42()) return true;
5614 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5618 static final private boolean jj_3R_104() {
5619 if (jj_scan_token(_ORL)) return true;
5620 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5624 static final private boolean jj_3R_74() {
5625 if (jj_scan_token(LBRACE)) return true;
5626 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5627 if (jj_3R_46()) return true;
5628 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5629 if (jj_scan_token(RBRACE)) return true;
5630 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5634 static final private boolean jj_3R_57() {
5643 if (jj_3R_77()) return true;
5644 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5645 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5646 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5647 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5651 static final private boolean jj_3R_108() {
5652 if (jj_scan_token(SC_AND)) return true;
5653 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5657 static final private boolean jj_3R_194() {
5658 if (jj_3R_198()) return true;
5659 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5663 static final private boolean jj_3R_190() {
5668 if (jj_3R_195()) return true;
5669 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5670 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5674 static final private boolean jj_3R_102() {
5679 if (jj_3R_109()) return true;
5680 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5681 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5682 if (jj_3R_101()) return true;
5683 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5687 static final private boolean jj_3R_105() {
5688 if (jj_scan_token(LBRACE)) return true;
5689 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5690 if (jj_3R_46()) return true;
5691 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5692 if (jj_scan_token(RBRACE)) return true;
5693 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5697 static final private boolean jj_3R_84() {
5698 if (jj_3R_101()) return true;
5699 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5703 if (jj_3R_102()) { jj_scanpos = xsp; break; }
5704 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5709 static final private boolean jj_3R_81() {
5710 if (jj_scan_token(HOOK)) return true;
5711 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5712 if (jj_3R_46()) return true;
5713 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5714 if (jj_scan_token(COLON)) return true;
5715 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5716 if (jj_3R_70()) return true;
5717 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5721 static final private boolean jj_3R_197() {
5722 if (jj_3R_72()) return true;
5723 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5727 static final private boolean jj_3R_100() {
5728 if (jj_scan_token(DOLLAR)) return true;
5729 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5730 if (jj_3R_57()) return true;
5731 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5735 static final private boolean jj_3R_196() {
5736 if (jj_scan_token(IDENTIFIER)) return true;
5737 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5741 static final private boolean jj_3R_192() {
5746 if (jj_3R_197()) return true;
5747 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5748 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5752 static final private boolean jj_3R_103() {
5753 if (jj_scan_token(SC_OR)) return true;
5754 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5758 static final private boolean jj_3R_85() {
5763 if (jj_3R_104()) return true;
5764 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5765 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5766 if (jj_3R_84()) return true;
5767 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5771 static final private boolean jj_3R_99() {
5772 if (jj_scan_token(DOLLAR_ID)) return true;
5773 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5776 if (jj_3R_105()) jj_scanpos = xsp;
5777 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5781 static final private boolean jj_3R_83() {
5786 if (jj_3R_100()) return true;
5787 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5788 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5792 static final private boolean jj_3R_80() {
5793 if (jj_3R_84()) return true;
5794 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5798 if (jj_3R_85()) { jj_scanpos = xsp; break; }
5799 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5804 static final private boolean jj_3R_47() {
5805 if (jj_scan_token(IDENTIFIER)) return true;
5806 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5807 if (jj_scan_token(COLON)) return true;
5808 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5812 static final private boolean jj_3R_184() {
5813 if (jj_3R_72()) return true;
5814 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5818 static final private boolean jj_3_1() {
5819 if (jj_3R_42()) return true;
5820 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5824 static final private boolean jj_3R_70() {
5825 if (jj_3R_80()) return true;
5826 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5829 if (jj_3R_81()) jj_scanpos = xsp;
5830 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5834 static final private boolean jj_3R_183() {
5835 if (jj_scan_token(NEW)) return true;
5836 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5837 if (jj_3R_192()) return true;
5838 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5842 static final private boolean jj_3R_186() {
5843 if (jj_scan_token(DECR)) return true;
5844 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5848 static final private boolean jj_3R_182() {
5849 if (jj_scan_token(IDENTIFIER)) return true;
5850 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5854 static final private boolean jj_3R_72() {
5855 if (jj_3R_83()) return true;
5856 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5860 if (jj_3_1()) { jj_scanpos = xsp; break; }
5861 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5866 static final private boolean jj_3R_176() {
5873 if (jj_3R_184()) return true;
5874 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5875 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5876 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5880 static final private boolean jj_3R_98() {
5881 if (jj_scan_token(TILDEEQUAL)) return true;
5882 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5886 static final private boolean jj_3R_97() {
5887 if (jj_scan_token(DOTASSIGN)) return true;
5888 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5892 static final private boolean jj_3R_177() {
5893 if (jj_scan_token(ARRAY)) return true;
5894 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5895 if (jj_3R_191()) return true;
5896 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5900 static final private boolean jj_3R_96() {
5901 if (jj_scan_token(ORASSIGN)) return true;
5902 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5906 static final private boolean jj_3R_95() {
5907 if (jj_scan_token(XORASSIGN)) return true;
5908 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5912 static final private boolean jj_3R_94() {
5913 if (jj_scan_token(ANDASSIGN)) return true;
5914 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5918 static final private boolean jj_3R_93() {
5919 if (jj_scan_token(RSIGNEDSHIFTASSIGN)) return true;
5920 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5924 static final private boolean jj_3R_185() {
5925 if (jj_scan_token(INCR)) return true;
5926 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5930 static final private boolean jj_3R_180() {
5935 if (jj_3R_186()) return true;
5936 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5937 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5941 static final private boolean jj_3R_92() {
5942 if (jj_scan_token(LSHIFTASSIGN)) return true;
5943 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5947 static final private boolean jj_3R_170() {
5948 if (jj_3R_177()) return true;
5949 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5953 static final private boolean jj_3R_189() {
5954 if (jj_3R_190()) return true;
5955 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5959 static final private boolean jj_3R_91() {
5960 if (jj_scan_token(MINUSASSIGN)) return true;
5961 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5965 static final private boolean jj_3R_90() {
5966 if (jj_scan_token(PLUSASSIGN)) return true;
5967 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5971 static final private boolean jj_3R_169() {
5972 if (jj_3R_176()) return true;
5973 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5977 if (jj_3R_189()) { jj_scanpos = xsp; break; }
5978 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5983 static final private boolean jj_3R_89() {
5984 if (jj_scan_token(REMASSIGN)) return true;
5985 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5989 static final private boolean jj_3R_88() {
5990 if (jj_scan_token(SLASHASSIGN)) return true;
5991 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
5995 static final private boolean jj_3R_193() {
5996 if (jj_3R_190()) return true;
5997 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
6001 static final private boolean jj_3R_87() {
6002 if (jj_scan_token(STARASSIGN)) return true;
6003 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
6007 static final private boolean jj_3R_86() {
6008 if (jj_scan_token(ASSIGN)) return true;
6009 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
6013 static final private boolean jj_3R_82() {
6040 if (jj_3R_98()) return true;
6041 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
6042 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
6043 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
6044 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
6045 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
6046 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
6047 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
6048 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
6049 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
6050 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
6051 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
6052 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
6053 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
6057 static final private boolean jj_3R_179() {
6058 if (jj_scan_token(ARRAY)) return true;
6059 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
6063 static final private boolean jj_3_4() {
6064 if (jj_scan_token(IDENTIFIER)) return true;
6065 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
6066 if (jj_scan_token(STATICCLASSACCESS)) return true;
6067 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
6068 if (jj_3R_192()) return true;
6069 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
6073 if (jj_3R_193()) { jj_scanpos = xsp; break; }
6074 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
6079 static final private boolean jj_3R_165() {
6086 if (jj_3R_170()) return true;
6087 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
6088 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
6089 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
6093 static private boolean jj_initialized_once = false;
6094 static public PHPParserTokenManager token_source;
6095 static SimpleCharStream jj_input_stream;
6096 static public Token token, jj_nt;
6097 static private int jj_ntk;
6098 static private Token jj_scanpos, jj_lastpos;
6099 static private int jj_la;
6100 static public boolean lookingAhead = false;
6101 static private boolean jj_semLA;
6102 static private int jj_gen;
6103 static final private int[] jj_la1 = new int[126];
6104 static private int[] jj_la1_0;
6105 static private int[] jj_la1_1;
6106 static private int[] jj_la1_2;
6107 static private int[] jj_la1_3;
6108 static private int[] jj_la1_4;
6116 private static void jj_la1_0() {
6117 jj_la1_0 = new int[] {0xfcb0001e,0x6,0x6,0xfcb0001e,0x0,0xfcb00000,0x0,0x600000,0x600000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000000,0x0,0x34000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x34000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000000,0x0,0x4000000,0x0,0x0,0x4000000,0x4000000,0x0,0x0,0x0,0x0,0x4000000,0x0,0x4000000,0x0,0x0,0x34000000,0x34000000,0x0,0x0,0x0,0x34000000,0x0,0x0,0xc4800000,0xfc800000,0x8,0x6,0x80000000,0x0,0x0,0x0,0x0,0x0,0x0,0xfcb00010,0xfcb00010,0xfcb00000,0xf4b00000,0x0,0x0,0x0,0x0,0x4000000,0x0,0x0,0x0,0xf4b00010,0xf4b00010,0x8000000,0x34000000,0x0,0xfc800010,0xfc800010,0x1000000,0x2000000,0xfc800010,0x1000000,0x2000000,0xfc800010,0xfc800010,0xfc800010,0xfc800010,0xfc800010,0xfc800000,0xfc800000,0x0,0x0,0x4000000,0x34000000,0x4000000,0xfc800000,0xfc800000,0x4000000,0x0,0x34000000,0x34000000,};
6119 private static void jj_la1_1() {
6120 jj_la1_1 = new int[] {0x21d7541f,0x0,0x0,0x21d7541f,0x0,0x21d7541f,0x2000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc20000,0x80,0xc30000,0x0,0x0,0x0,0x0,0x0,0x80000000,0x0,0xc30000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc30000,0x0,0xc30000,0x0,0x0,0xc30000,0x80000000,0x0,0x0,0x20,0x20,0x10000,0x10000,0x10000,0x0,0x20,0x80c30000,0x80c30000,0x20,0xc20000,0xc00000,0xc30000,0x0,0x0,0x2115541f,0x21d7541f,0x0,0x0,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x21d7541f,0x21d7541f,0x21d7541f,0x21d7541f,0x0,0x0,0x0,0x0,0x10000,0x0,0x900,0x900,0x21d7541f,0x21d7541f,0x0,0xc30000,0x900,0x21d7541f,0x21d7541f,0x0,0x0,0x21d7541f,0x0,0x0,0x21d7541f,0x21d7541f,0x21d7541f,0x21d7541f,0x21d7541f,0x21d7541f,0x21d7541f,0x20,0x80,0x10000,0xc30000,0x10000,0x21d7541f,0x21d7541f,0x10000,0x0,0xc30000,0xc30000,};
6122 private static void jj_la1_2() {
6123 jj_la1_2 = new int[] {0x45114400,0x0,0x0,0x45114400,0x40000000,0x45114400,0x0,0x0,0x0,0x80000000,0x0,0x4000000,0x0,0x4000000,0x4100000,0x4400,0x4400,0x114400,0x0,0x1114400,0x80000000,0x0,0x80000000,0x0,0x0,0xff,0x0,0x1114400,0x0,0x0,0x100,0x100,0x200,0x200,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1114400,0x0,0x1114400,0x0,0x0,0x1114400,0xff,0x0,0x0,0x11000000,0x11000000,0x100000,0x100000,0x100000,0x100000,0x11000000,0x11144ff,0x11144ff,0x10000000,0x14400,0x0,0x1114400,0x80000000,0x0,0x44100000,0x45114400,0x0,0x0,0x0,0x0,0x80000000,0x0,0x80000000,0x80000000,0x80000000,0x45114400,0x45114400,0x45114400,0x45114400,0x80000000,0x0,0x0,0x0,0x100000,0x4000000,0x0,0x0,0x45114400,0x45114400,0x0,0x1114400,0x0,0x45114400,0x45114400,0x0,0x0,0x45114400,0x0,0x0,0x45114400,0x45114400,0x45114400,0x45114400,0x45114400,0x45114400,0x45114400,0x10000000,0x0,0x100000,0x1114400,0x100000,0x45114400,0x45114400,0x100000,0x80000000,0x1114400,0x1114400,};
6125 private static void jj_la1_3() {
6126 jj_la1_3 = new int[] {0xe0e00000,0x0,0x0,0xe0e00000,0x0,0xe0e00000,0x0,0x0,0x0,0x0,0x400,0x0,0x400000,0x0,0x400000,0x0,0x0,0x80000000,0x0,0xe0e00000,0x0,0x0,0x0,0x400000,0x0,0x0,0x1ffc00,0xe0e00000,0x1ffc00,0x2000000,0x8000000,0x8000000,0x10000000,0x10000000,0x1,0x0,0x0,0x0,0x3c8,0x3c8,0x36,0x36,0x0,0x0,0x80000000,0x80000000,0x0,0x0,0x200000,0xe0e00000,0x80000000,0xe0c00000,0x60000000,0x800000,0x400000,0x0,0x60000000,0x60000000,0x0,0x0,0x400000,0x400000,0x400000,0x400000,0x0,0xe0e00000,0xe0e00000,0x0,0x0,0x0,0xe0e00000,0x0,0x200000,0x60600000,0xe0e00000,0x0,0x0,0x0,0x400000,0x0,0x400,0x0,0x0,0x0,0xe0e00000,0xe0e00000,0xe0e00000,0xe0e00000,0x0,0x400,0x601ffc00,0x601ffc00,0x60400000,0x4000000,0x0,0x0,0xe0e00000,0xe0e00000,0x0,0xe0e00000,0x0,0xe0e00000,0xe0e00000,0x0,0x0,0xe0e00000,0x0,0x0,0xe4e00000,0xe0e00000,0xe0e00000,0xe0e00000,0xe0e00000,0xe0e00000,0xe4e00000,0x0,0x0,0x60400000,0xe0e00000,0x60400000,0xe0e00000,0xe4e00000,0x60400000,0x0,0xe0e00000,0xe0e00000,};
6128 private static void jj_la1_4() {
6129 jj_la1_4 = new int[] {0x1009,0x0,0x0,0x1009,0x0,0x1009,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x0,0x1000,0x0,0x0,0x1,0x0,0x1009,0x0,0x8,0x0,0x1008,0x8,0x0,0xc00,0x1009,0xc00,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x20,0x8,0x0,0x0,0x0,0x0,0x380,0x380,0x1,0x1,0x46,0x46,0x0,0x1009,0x1,0x1001,0x0,0x0,0x1000,0x0,0x0,0x0,0x0,0x0,0x1000,0x1000,0x1000,0x1000,0x0,0x1009,0x1009,0x0,0x0,0x0,0x1009,0x0,0x0,0x1000,0x1009,0x0,0x0,0x0,0x1000,0x0,0x0,0x0,0x0,0x0,0x1009,0x1009,0x1009,0x1009,0x0,0x0,0xc00,0xc00,0x1000,0x0,0x0,0x0,0x1009,0x1009,0x0,0x1009,0x0,0x1009,0x1009,0x0,0x0,0x1009,0x0,0x0,0x1009,0x1009,0x1009,0x1009,0x1009,0x1009,0x1009,0x0,0x0,0x1000,0x1009,0x1000,0x1009,0x1009,0x1000,0x0,0x1009,0x1009,};
6131 static final private JJCalls[] jj_2_rtns = new JJCalls[7];
6132 static private boolean jj_rescan = false;
6133 static private int jj_gc = 0;
6135 public PHPParser(java.io.InputStream stream) {
6136 if (jj_initialized_once) {
6137 System.out.println("ERROR: Second call to constructor of static parser. You must");
6138 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
6139 System.out.println(" during parser generation.");
6142 jj_initialized_once = true;
6143 jj_input_stream = new SimpleCharStream(stream, 1, 1);
6144 token_source = new PHPParserTokenManager(jj_input_stream);
6145 token = new Token();
6148 for (int i = 0; i < 126; i++) jj_la1[i] = -1;
6149 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
6152 static public void ReInit(java.io.InputStream stream) {
6153 jj_input_stream.ReInit(stream, 1, 1);
6154 token_source.ReInit(jj_input_stream);
6155 token = new Token();
6158 for (int i = 0; i < 126; i++) jj_la1[i] = -1;
6159 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
6162 public PHPParser(java.io.Reader stream) {
6163 if (jj_initialized_once) {
6164 System.out.println("ERROR: Second call to constructor of static parser. You must");
6165 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
6166 System.out.println(" during parser generation.");
6169 jj_initialized_once = true;
6170 jj_input_stream = new SimpleCharStream(stream, 1, 1);
6171 token_source = new PHPParserTokenManager(jj_input_stream);
6172 token = new Token();
6175 for (int i = 0; i < 126; i++) jj_la1[i] = -1;
6176 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
6179 static public void ReInit(java.io.Reader stream) {
6180 jj_input_stream.ReInit(stream, 1, 1);
6181 token_source.ReInit(jj_input_stream);
6182 token = new Token();
6185 for (int i = 0; i < 126; i++) jj_la1[i] = -1;
6186 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
6189 public PHPParser(PHPParserTokenManager tm) {
6190 if (jj_initialized_once) {
6191 System.out.println("ERROR: Second call to constructor of static parser. You must");
6192 System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
6193 System.out.println(" during parser generation.");
6196 jj_initialized_once = true;
6198 token = new Token();
6201 for (int i = 0; i < 126; i++) jj_la1[i] = -1;
6202 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
6205 public void ReInit(PHPParserTokenManager tm) {
6207 token = new Token();
6210 for (int i = 0; i < 126; i++) jj_la1[i] = -1;
6211 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
6214 static final private Token jj_consume_token(int kind) throws ParseException {
6216 if ((oldToken = token).next != null) token = token.next;
6217 else token = token.next = token_source.getNextToken();
6219 if (token.kind == kind) {
6221 if (++jj_gc > 100) {
6223 for (int i = 0; i < jj_2_rtns.length; i++) {
6224 JJCalls c = jj_2_rtns[i];
6226 if (c.gen < jj_gen) c.first = null;
6235 throw generateParseException();
6238 static final private boolean jj_scan_token(int kind) {
6239 if (jj_scanpos == jj_lastpos) {
6241 if (jj_scanpos.next == null) {
6242 jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
6244 jj_lastpos = jj_scanpos = jj_scanpos.next;
6247 jj_scanpos = jj_scanpos.next;
6250 int i = 0; Token tok = token;
6251 while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
6252 if (tok != null) jj_add_error_token(kind, i);
6254 return (jj_scanpos.kind != kind);
6257 static final public Token getNextToken() {
6258 if (token.next != null) token = token.next;
6259 else token = token.next = token_source.getNextToken();
6265 static final public Token getToken(int index) {
6266 Token t = lookingAhead ? jj_scanpos : token;
6267 for (int i = 0; i < index; i++) {
6268 if (t.next != null) t = t.next;
6269 else t = t.next = token_source.getNextToken();
6274 static final private int jj_ntk() {
6275 if ((jj_nt=token.next) == null)
6276 return (jj_ntk = (token.next=token_source.getNextToken()).kind);
6278 return (jj_ntk = jj_nt.kind);
6281 static private java.util.Vector jj_expentries = new java.util.Vector();
6282 static private int[] jj_expentry;
6283 static private int jj_kind = -1;
6284 static private int[] jj_lasttokens = new int[100];
6285 static private int jj_endpos;
6287 static private void jj_add_error_token(int kind, int pos) {
6288 if (pos >= 100) return;
6289 if (pos == jj_endpos + 1) {
6290 jj_lasttokens[jj_endpos++] = kind;
6291 } else if (jj_endpos != 0) {
6292 jj_expentry = new int[jj_endpos];
6293 for (int i = 0; i < jj_endpos; i++) {
6294 jj_expentry[i] = jj_lasttokens[i];
6296 boolean exists = false;
6297 for (java.util.Enumeration enum = jj_expentries.elements(); enum.hasMoreElements();) {
6298 int[] oldentry = (int[])(enum.nextElement());
6299 if (oldentry.length == jj_expentry.length) {
6301 for (int i = 0; i < jj_expentry.length; i++) {
6302 if (oldentry[i] != jj_expentry[i]) {
6310 if (!exists) jj_expentries.addElement(jj_expentry);
6311 if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
6315 static public ParseException generateParseException() {
6316 jj_expentries.removeAllElements();
6317 boolean[] la1tokens = new boolean[141];
6318 for (int i = 0; i < 141; i++) {
6319 la1tokens[i] = false;
6322 la1tokens[jj_kind] = true;
6325 for (int i = 0; i < 126; i++) {
6326 if (jj_la1[i] == jj_gen) {
6327 for (int j = 0; j < 32; j++) {
6328 if ((jj_la1_0[i] & (1<<j)) != 0) {
6329 la1tokens[j] = true;
6331 if ((jj_la1_1[i] & (1<<j)) != 0) {
6332 la1tokens[32+j] = true;
6334 if ((jj_la1_2[i] & (1<<j)) != 0) {
6335 la1tokens[64+j] = true;
6337 if ((jj_la1_3[i] & (1<<j)) != 0) {
6338 la1tokens[96+j] = true;
6340 if ((jj_la1_4[i] & (1<<j)) != 0) {
6341 la1tokens[128+j] = true;
6346 for (int i = 0; i < 141; i++) {
6348 jj_expentry = new int[1];
6350 jj_expentries.addElement(jj_expentry);
6355 jj_add_error_token(0, 0);
6356 int[][] exptokseq = new int[jj_expentries.size()][];
6357 for (int i = 0; i < jj_expentries.size(); i++) {
6358 exptokseq[i] = (int[])jj_expentries.elementAt(i);
6360 return new ParseException(token, exptokseq, tokenImage);
6363 static final public void enable_tracing() {
6366 static final public void disable_tracing() {
6369 static final private void jj_rescan_token() {
6371 for (int i = 0; i < 7; i++) {
6372 JJCalls p = jj_2_rtns[i];
6374 if (p.gen > jj_gen) {
6375 jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
6377 case 0: jj_3_1(); break;
6378 case 1: jj_3_2(); break;
6379 case 2: jj_3_3(); break;
6380 case 3: jj_3_4(); break;
6381 case 4: jj_3_5(); break;
6382 case 5: jj_3_6(); break;
6383 case 6: jj_3_7(); break;
6387 } while (p != null);
6392 static final private void jj_save(int index, int xla) {
6393 JJCalls p = jj_2_rtns[index];
6394 while (p.gen > jj_gen) {
6395 if (p.next == null) { p = p.next = new JJCalls(); break; }
6398 p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
6401 static final class JJCalls {