fixed a bug with the variable suffixes parsing
[phpeclipse.git] / net.sourceforge.phpeclipse / src / test / PHPParser.java
index 219e662..c4cc3b5 100644 (file)
@@ -78,24 +78,26 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
     PHPParser.fileToParse = fileToParse;
   }
 
-  public static final void phpParserTester(final String strEval) throws ParseException {
+  public final void phpParserTester(final String strEval) throws ParseException {
     final StringReader stream = new StringReader(strEval);
     if (jj_input_stream == null) {
       jj_input_stream = new SimpleCharStream(stream, 1, 1);
+      token_source = new PHPParserTokenManager(jj_input_stream);
     }
     ReInit(new StringReader(strEval));
     init();
     phpDocument = new PHPDocument(null,"_root".toCharArray());
     currentSegment = phpDocument;
     outlineInfo = new PHPOutlineInfo(null, currentSegment);
-    PHPParserTokenManager.SwitchTo(PHPParserTokenManager.PHPPARSING);
+    token_source.SwitchTo(PHPParserTokenManager.PHPPARSING);
     phpTest();
   }
 
-  public static final void htmlParserTester(final File fileName) throws FileNotFoundException, ParseException {
+  public final void htmlParserTester(final File fileName) throws FileNotFoundException, ParseException {
     final Reader stream = new FileReader(fileName);
     if (jj_input_stream == null) {
       jj_input_stream = new SimpleCharStream(stream, 1, 1);
+      token_source = new PHPParserTokenManager(jj_input_stream);
     }
     ReInit(stream);
     init();
@@ -105,10 +107,11 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
     phpFile();
   }
 
-  public static final void htmlParserTester(final String strEval) throws ParseException {
+  public final void htmlParserTester(final String strEval) throws ParseException {
     final StringReader stream = new StringReader(strEval);
     if (jj_input_stream == null) {
       jj_input_stream = new SimpleCharStream(stream, 1, 1);
+      token_source = new PHPParserTokenManager(jj_input_stream);
     }
     ReInit(stream);
     init();
@@ -151,6 +154,7 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
     final StringReader stream = new StringReader(s);
     if (jj_input_stream == null) {
       jj_input_stream = new SimpleCharStream(stream, 1, 1);
+      token_source = new PHPParserTokenManager(jj_input_stream);
     }
     ReInit(stream);
     init();
@@ -209,14 +213,14 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
                   e.currentToken.sourceStart,
                   e.currentToken.sourceEnd,
                   errorLevel,
-                  "Line " + e.currentToken.beginLine+", "+e.currentToken.sourceStart+":"+e.currentToken.sourceEnd);
+                  "Line " + e.currentToken.beginLine+", "+e.currentToken.sourceStart+':'+e.currentToken.sourceEnd);
       } else {
         setMarker(fileToParse,
                   errorMessage,
                   errorStart,
                   errorEnd,
                   errorLevel,
-                  "Line " + e.currentToken.beginLine+", "+errorStart+":"+errorEnd);
+                  "Line " + e.currentToken.beginLine+", "+errorStart+':'+errorEnd);
         errorStart = -1;
         errorEnd = -1;
       }
@@ -270,6 +274,7 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
     final StringReader stream = new StringReader(s);
     if (jj_input_stream == null) {
       jj_input_stream = new SimpleCharStream(stream, 1, 1);
+      token_source = new PHPParserTokenManager(jj_input_stream);
     }
     ReInit(stream);
     init();
@@ -305,52 +310,51 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
   /**
    * Put a new html block in the stack.
    */
-  public static final void createNewHTMLCode() {
+  public final void createNewHTMLCode() {
     final int currentPosition = token.sourceStart;
     if (currentPosition == htmlStart ||
           currentPosition < htmlStart ||
-          currentPosition > SimpleCharStream.currentBuffer.length()) {
+          currentPosition > jj_input_stream.getCurrentBuffer().length()) {
       return;
     }
-    final char[] chars = SimpleCharStream.currentBuffer.substring(htmlStart,
-                                                                  currentPosition).toCharArray();
-    pushOnAstNodes(new HTMLCode(chars, htmlStart,currentPosition));
+    final String html = jj_input_stream.getCurrentBuffer().substring(htmlStart, currentPosition);
+    pushOnAstNodes(new HTMLCode(html, htmlStart,currentPosition));
   }
 
   /** Create a new task. */
-  public static final void createNewTask(final int todoStart) {
-    final String  todo = SimpleCharStream.currentBuffer.substring(todoStart,
-                                                                  SimpleCharStream.currentBuffer.indexOf("\n",
+  public final void createNewTask(final int todoStart) {
+    final String  todo = jj_input_stream.getCurrentBuffer().substring(todoStart,
+                                                                  jj_input_stream.getCurrentBuffer().indexOf("\n",
                                                                                                          todoStart)-1);
     if (!PARSER_DEBUG) {
       try {
         setMarker(fileToParse,
                   todo,
-                  SimpleCharStream.getBeginLine(),
+                  jj_input_stream.getBeginLine(),
                   TASK,
-                  "Line "+SimpleCharStream.getBeginLine());
+                  "Line "+jj_input_stream.getBeginLine());
       } catch (CoreException e) {
         PHPeclipsePlugin.log(e);
       }
     }
   }
 
-  private static final void parse() throws ParseException {
+  private final void parse() throws ParseException {
           phpFile();
   }
 
-  static final public void todo() throws ParseException {
+  final public void todo() throws ParseException {
  Token todoToken;
     todoToken = jj_consume_token(23);
                       createNewTask(todoToken.sourceStart);
   }
 
-  static final public void phpTest() throws ParseException {
+  final public void phpTest() throws ParseException {
     Php();
     jj_consume_token(0);
   }
 
-  static final public void phpFile() throws ParseException {
+  final public void phpFile() throws ParseException {
     try {
       label_1:
       while (true) {
@@ -410,11 +414,11 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
         }
         PhpBlock();
       }
-     PHPParser.createNewHTMLCode();
+     createNewHTMLCode();
     } catch (TokenMgrError e) {
     PHPeclipsePlugin.log(e);
-    errorStart   = SimpleCharStream.beginOffset;
-    errorEnd     = SimpleCharStream.endOffset;
+    errorStart   = jj_input_stream.getBeginOffset();
+    errorEnd     = jj_input_stream.getEndOffset();
     errorMessage = e.getMessage();
     errorLevel   = ERROR;
     {if (true) throw generateParseException();}
@@ -426,7 +430,7 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
  * or <?php somephpcode ?>
  * or <? somephpcode ?>
  */
-  static final public void PhpBlock() throws ParseException {
+  final public void PhpBlock() throws ParseException {
   final PHPEchoBlock phpEchoBlock;
   final Token token,phpEnd;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -510,7 +514,7 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
         jj_la1[2] = jj_gen;
         ;
       }
-   PHPParser.createNewHTMLCode();
+   createNewHTMLCode();
       Php();
       try {
         phpEnd = jj_consume_token(PHPEND);
@@ -530,12 +534,12 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
     }
   }
 
-  static final public PHPEchoBlock phpEchoBlock() throws ParseException {
+  final public PHPEchoBlock phpEchoBlock() throws ParseException {
   final Expression expr;
   final PHPEchoBlock echoBlock;
   final Token token, token2;
     token = jj_consume_token(PHPECHOSTART);
-                          PHPParser.createNewHTMLCode();
+                          createNewHTMLCode();
     expr = Expression();
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case SEMICOLON:
@@ -554,7 +558,7 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
     throw new Error("Missing return statement in function");
   }
 
-  static final public void Php() throws ParseException {
+  final public void Php() throws ParseException {
     label_2:
     while (true) {
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -611,7 +615,7 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
     }
   }
 
-  static final public ClassDeclaration ClassDeclaration() throws ParseException {
+  final public ClassDeclaration ClassDeclaration() throws ParseException {
   final ClassDeclaration classDeclaration;
   Token className = null;
   final Token superclassName, token, extendsToken;
@@ -679,7 +683,7 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
     throw new Error("Missing return statement in function");
   }
 
-  static final public int ClassBody(final ClassDeclaration classDeclaration) throws ParseException {
+  final public int ClassBody(final ClassDeclaration classDeclaration) throws ParseException {
 Token token;
     try {
       jj_consume_token(LBRACE);
@@ -712,7 +716,7 @@ Token token;
     errorStart = e.currentToken.sourceStart;
     errorEnd   = e.currentToken.sourceEnd;
     processParseExceptionDebug(e);
-    {if (true) return PHPParser.token.sourceEnd;}
+    {if (true) return this.token.sourceEnd;}
     }
     throw new Error("Missing return statement in function");
   }
@@ -720,7 +724,7 @@ Token token;
 /**
  * A class can contain only methods and fields.
  */
-  static final public void ClassBodyDeclaration(final ClassDeclaration classDeclaration) throws ParseException {
+  final public void ClassBodyDeclaration(final ClassDeclaration classDeclaration) throws ParseException {
   final MethodDeclaration method;
   final FieldDeclaration field;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -744,7 +748,7 @@ Token token;
  * A class field declaration : it's var VariableDeclarator() (, VariableDeclarator())*;.
  * it is only used by ClassBodyDeclaration()
  */
-  static final public FieldDeclaration FieldDeclaration() throws ParseException {
+  final public FieldDeclaration FieldDeclaration() throws ParseException {
   VariableDeclaration variableDeclaration;
   final VariableDeclaration[] list;
   final ArrayList arrayList = new ArrayList();
@@ -799,7 +803,7 @@ Token token;
  * a strict variable declarator : there cannot be a suffix here.
  * It will be used by fields and formal parameters
  */
-  static final public VariableDeclaration VariableDeclaratorNoSuffix() throws ParseException {
+  final public VariableDeclaration VariableDeclaratorNoSuffix() throws ParseException {
   final Token token, lbrace,rbrace;
   Expression expr, initializer = null;
   Token assignToken;
@@ -855,7 +859,7 @@ Token token;
 /**
  * this will be used by static statement
  */
-  static final public VariableDeclaration VariableDeclarator() throws ParseException {
+  final public VariableDeclaration VariableDeclarator() throws ParseException {
   final AbstractVariable variable;
   Expression initializer = null;
   final Token token;
@@ -895,9 +899,8 @@ Token token;
  * A Variable name.
  * @return the variable name (with suffix)
  */
-  static final public AbstractVariable VariableDeclaratorId() throws ParseException {
-  final Variable var;
-  AbstractVariable expression = null;
+  final public AbstractVariable VariableDeclaratorId() throws ParseException {
+  AbstractVariable var;
     try {
       var = Variable();
       label_5:
@@ -907,12 +910,9 @@ Token token;
         } else {
           break label_5;
         }
-        expression = VariableSuffix(var);
+        var = VariableSuffix(var);
       }
-     if (expression == null) {
-       {if (true) return var;}
-     }
-     {if (true) return expression;}
+     {if (true) return var;}
     } catch (ParseException e) {
     errorMessage = "'$' expected for variable identifier";
     errorLevel   = ERROR;
@@ -923,7 +923,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Variable Variable() throws ParseException {
+  final public Variable Variable() throws ParseException {
   Variable variable = null;
   final Token token;
     token = jj_consume_token(DOLLAR);
@@ -932,7 +932,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Variable Var() throws ParseException {
+  final public Variable Var() throws ParseException {
   Variable variable = null;
   final Token token,token2;
   ConstantIdentifier constant;
@@ -953,7 +953,7 @@ Token token;
       break;
     case IDENTIFIER:
       token = jj_consume_token(IDENTIFIER);
-   outlineInfo.addVariable("$" + token.image);
+   outlineInfo.addVariable('$' + token.image);
    {if (true) return new Variable(token.image,token.sourceStart,token.sourceEnd);}
       break;
     default:
@@ -964,7 +964,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression VariableInitializer() throws ParseException {
+  final public Expression VariableInitializer() throws ParseException {
   final Expression expr;
   final Token token, token2;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -1030,7 +1030,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public ArrayVariableDeclaration ArrayVariable() throws ParseException {
+  final public ArrayVariableDeclaration ArrayVariable() throws ParseException {
 final Expression expr,expr2;
     expr = Expression();
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -1043,11 +1043,11 @@ final Expression expr,expr2;
       jj_la1[17] = jj_gen;
       ;
     }
-   {if (true) return new ArrayVariableDeclaration(expr,SimpleCharStream.getPosition());}
+   {if (true) return new ArrayVariableDeclaration(expr,jj_input_stream.getPosition());}
     throw new Error("Missing return statement in function");
   }
 
-  static final public ArrayVariableDeclaration[] ArrayInitializer() throws ParseException {
+  final public ArrayVariableDeclaration[] ArrayInitializer() throws ParseException {
   ArrayVariableDeclaration expr;
   final ArrayList list = new ArrayList();
     jj_consume_token(LPAREN);
@@ -1112,7 +1112,7 @@ final Expression expr,expr2;
  * A Method Declaration.
  * <b>function</b> MetodDeclarator() Block()
  */
-  static final public MethodDeclaration MethodDeclaration() throws ParseException {
+  final public MethodDeclaration MethodDeclaration() throws ParseException {
   final MethodDeclaration functionDeclaration;
   final Block block;
   final OutlineableWithChildren seg = currentSegment;
@@ -1142,7 +1142,7 @@ final Expression expr,expr2;
  * [&] IDENTIFIER(parameters ...).
  * @return a function description for the outline
  */
-  static final public MethodDeclaration MethodDeclarator(final int start) throws ParseException {
+  final public MethodDeclaration MethodDeclarator(final int start) throws ParseException {
   Token identifier = null;
   Token reference = null;
   final ArrayList formalParameters = new ArrayList();
@@ -1197,10 +1197,10 @@ final Expression expr,expr2;
  * FormalParameters follows method identifier.
  * (FormalParameter())
  */
-  static final public int FormalParameters(final ArrayList parameters) throws ParseException {
+  final public int FormalParameters(final ArrayList parameters) throws ParseException {
   VariableDeclaration var;
   final Token token;
-  Token tok = PHPParser.token;
+  Token tok = this.token;
   int end = tok.sourceEnd;
     try {
       tok = jj_consume_token(LPAREN);
@@ -1254,7 +1254,7 @@ final Expression expr,expr2;
  * A formal parameter.
  * $varname[=value] (,$varname[=value])
  */
-  static final public VariableDeclaration FormalParameter() throws ParseException {
+  final public VariableDeclaration FormalParameter() throws ParseException {
   final VariableDeclaration variableDeclaration;
   Token token = null;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -1266,7 +1266,7 @@ final Expression expr,expr2;
       ;
     }
     variableDeclaration = VariableDeclaratorNoSuffix();
-    outlineInfo.addVariable("$"+variableDeclaration.name());
+    outlineInfo.addVariable('$'+variableDeclaration.name());
     if (token != null) {
       variableDeclaration.setReference(true);
     }
@@ -1274,7 +1274,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  static final public ConstantIdentifier Type() throws ParseException {
+  final public ConstantIdentifier Type() throws ParseException {
  final Token token;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case STRING:
@@ -1321,7 +1321,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression Expression() throws ParseException {
+  final public Expression Expression() throws ParseException {
   final Expression expr;
   Expression initializer = null;
   int assignOperator = -1;
@@ -1370,7 +1370,7 @@ final Expression expr,expr2;
       }
       errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', expression expected";
       errorLevel   = ERROR;
-      errorEnd   = SimpleCharStream.getPosition();
+      errorEnd   = jj_input_stream.getPosition();
       {if (true) throw e;}
         }
         break;
@@ -1409,7 +1409,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression ExpressionWBang() throws ParseException {
+  final public Expression ExpressionWBang() throws ParseException {
   final Expression expr;
   final Token token;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -1431,7 +1431,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression ExpressionNoBang() throws ParseException {
+  final public Expression ExpressionNoBang() throws ParseException {
   Expression expr;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case LIST:
@@ -1454,7 +1454,7 @@ final Expression expr,expr2;
  * Any assignement operator.
  * @return the assignement operator id
  */
-  static final public int AssignmentOperator() throws ParseException {
+  final public int AssignmentOperator() throws ParseException {
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case ASSIGN:
       jj_consume_token(ASSIGN);
@@ -1516,7 +1516,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression ConditionalExpression() throws ParseException {
+  final public Expression ConditionalExpression() throws ParseException {
   final Expression expr;
   Expression expr2 = null;
   Expression expr3 = null;
@@ -1539,7 +1539,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression ConditionalOrExpression() throws ParseException {
+  final public Expression ConditionalOrExpression() throws ParseException {
   Expression expr,expr2;
   int operator;
     expr = ConditionalAndExpression();
@@ -1575,7 +1575,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression ConditionalAndExpression() throws ParseException {
+  final public Expression ConditionalAndExpression() throws ParseException {
   Expression expr,expr2;
   int operator;
     expr = ConcatExpression();
@@ -1611,7 +1611,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression ConcatExpression() throws ParseException {
+  final public Expression ConcatExpression() throws ParseException {
   Expression expr,expr2;
     expr = InclusiveOrExpression();
     label_10:
@@ -1632,7 +1632,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression InclusiveOrExpression() throws ParseException {
+  final public Expression InclusiveOrExpression() throws ParseException {
   Expression expr,expr2;
     expr = ExclusiveOrExpression();
     label_11:
@@ -1653,7 +1653,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression ExclusiveOrExpression() throws ParseException {
+  final public Expression ExclusiveOrExpression() throws ParseException {
   Expression expr,expr2;
     expr = AndExpression();
     label_12:
@@ -1674,7 +1674,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression AndExpression() throws ParseException {
+  final public Expression AndExpression() throws ParseException {
   Expression expr,expr2;
     expr = EqualityExpression();
     label_13:
@@ -1695,7 +1695,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression EqualityExpression() throws ParseException {
+  final public Expression EqualityExpression() throws ParseException {
   Expression expr,expr2;
   int operator;
   Token token;
@@ -1759,7 +1759,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression RelationalExpression() throws ParseException {
+  final public Expression RelationalExpression() throws ParseException {
   Expression expr,expr2;
   int operator;
     expr = ShiftExpression();
@@ -1805,7 +1805,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression ShiftExpression() throws ParseException {
+  final public Expression ShiftExpression() throws ParseException {
   Expression expr,expr2;
   int operator;
     expr = AdditiveExpression();
@@ -1846,7 +1846,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression AdditiveExpression() throws ParseException {
+  final public Expression AdditiveExpression() throws ParseException {
   Expression expr,expr2;
   int operator;
     expr = MultiplicativeExpression();
@@ -1882,17 +1882,17 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression MultiplicativeExpression() throws ParseException {
+  final public Expression MultiplicativeExpression() throws ParseException {
   Expression expr,expr2;
   int operator;
     try {
       expr = UnaryExpression();
     } catch (ParseException e) {
     if (errorMessage != null) {if (true) throw e;}
-    errorMessage = "unexpected token '"+e.currentToken.next.image+"'";
+    errorMessage = "unexpected token '"+e.currentToken.next.image+'\'';
     errorLevel   = ERROR;
-    errorStart = PHPParser.token.sourceStart;
-    errorEnd   = PHPParser.token.sourceEnd;
+    errorStart = this.token.sourceStart;
+    errorEnd   = this.token.sourceEnd;
     {if (true) throw e;}
     }
     label_18:
@@ -1935,7 +1935,7 @@ final Expression expr,expr2;
 /**
  * An unary expression starting with @, & or nothing
  */
-  static final public Expression UnaryExpression() throws ParseException {
+  final public Expression UnaryExpression() throws ParseException {
   final Expression expr;
     /* <BIT_AND> expr = UnaryExpressionNoPrefix()             //why did I had that ?
       {return new PrefixedUnaryExpression(expr,OperatorIds.AND,pos);}
@@ -1945,7 +1945,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression AtNotTildeUnaryExpression() throws ParseException {
+  final public Expression AtNotTildeUnaryExpression() throws ParseException {
   final Expression expr;
   final Token token;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -1996,7 +1996,7 @@ final Expression expr,expr2;
  * An expression prefixed (or not) by one or more @ and !.
  * @return the expression
  */
-  static final public Expression AtNotUnaryExpression() throws ParseException {
+  final public Expression AtNotUnaryExpression() throws ParseException {
   final Expression expr;
   final Token token;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -2038,7 +2038,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression UnaryExpressionNoPrefix() throws ParseException {
+  final public Expression UnaryExpressionNoPrefix() throws ParseException {
   final Expression expr;
   final Token token;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -2085,7 +2085,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression PreIncDecExpression() throws ParseException {
+  final public Expression PreIncDecExpression() throws ParseException {
 final Expression expr;
 final int operator;
 final Token token;
@@ -2108,7 +2108,7 @@ final Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression UnaryExpressionNotPlusMinus() throws ParseException {
+  final public Expression UnaryExpressionNotPlusMinus() throws ParseException {
   final Expression expr;
     if (jj_2_3(2147483647)) {
       expr = CastExpression();
@@ -2156,7 +2156,7 @@ final Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public CastExpression CastExpression() throws ParseException {
+  final public CastExpression CastExpression() throws ParseException {
 final ConstantIdentifier type;
 final Expression expr;
 final Token token,token1;
@@ -2188,7 +2188,7 @@ final Token token,token1;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression PostfixExpression() throws ParseException {
+  final public Expression PostfixExpression() throws ParseException {
   final Expression expr;
   int operator = -1;
   Token token = null;
@@ -2222,7 +2222,7 @@ final Token token,token1;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression PrimaryExpression() throws ParseException {
+  final public Expression PrimaryExpression() throws ParseException {
   Expression expr;
   Token token = null;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -2253,7 +2253,7 @@ final Token token,token1;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression refPrimaryExpression(final Token reference) throws ParseException {
+  final public Expression refPrimaryExpression(final Token reference) throws ParseException {
   Expression expr;
   Expression expr2 = null;
   final Token identifier;
@@ -2345,18 +2345,18 @@ final Token token,token1;
  * array(vars)
  * @return an array
  */
-  static final public ArrayInitializer ArrayDeclarator() throws ParseException {
+  final public ArrayInitializer ArrayDeclarator() throws ParseException {
   final ArrayVariableDeclaration[] vars;
   final Token token;
     token = jj_consume_token(ARRAY);
     vars = ArrayInitializer();
    {if (true) return new ArrayInitializer(vars,
                                token.sourceStart,
-                               PHPParser.token.sourceEnd);}
+                               this.token.sourceEnd);}
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression ClassIdentifier() throws ParseException {
+  final public Expression ClassIdentifier() throws ParseException {
   final Expression expr;
   final Token token;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -2391,7 +2391,7 @@ final Token token,token1;
 /**
  * Used by Variabledeclaratorid and primarysuffix
  */
-  static final public AbstractVariable VariableSuffix(final AbstractVariable prefix) throws ParseException {
+  final public AbstractVariable VariableSuffix(final AbstractVariable prefix) throws ParseException {
   Expression expression = null;
   final Token classAccessToken,lbrace,rbrace;
   Token token;
@@ -2630,7 +2630,7 @@ final Token token,token1;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Literal Literal() throws ParseException {
+  final public Literal Literal() throws ParseException {
   final Token token;
   StringLiteral literal;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -2670,7 +2670,7 @@ final Token token,token1;
     throw new Error("Missing return statement in function");
   }
 
-  static final public StringLiteral evaluableString() throws ParseException {
+  final public StringLiteral evaluableString() throws ParseException {
   ArrayList list = new ArrayList();
   Token start,end;
   Token token,lbrace,rbrace;
@@ -2712,14 +2712,14 @@ final Token token,token1;
     end = jj_consume_token(DOUBLEQUOTE2);
   AbstractVariable[] vars = new AbstractVariable[list.size()];
   list.toArray(vars);
-  {if (true) return new StringLiteral(SimpleCharStream.currentBuffer.substring(start.sourceEnd,end.sourceStart),
+  {if (true) return new StringLiteral(jj_input_stream.getCurrentBuffer().substring(start.sourceEnd,end.sourceStart),
                            start.sourceStart,
                            end.sourceEnd,
                            vars);}
     throw new Error("Missing return statement in function");
   }
 
-  static final public FunctionCall Arguments(final Expression func) throws ParseException {
+  final public FunctionCall Arguments(final Expression func) throws ParseException {
 Expression[] args = null;
 final Token token,lparen;
     lparen = jj_consume_token(LPAREN);
@@ -2777,7 +2777,7 @@ final Token token,lparen;
  * argumentDeclaration() (, argumentDeclaration)*
  * @return an array of arguments
  */
-  static final public Expression[] ArgumentList() throws ParseException {
+  final public Expression[] ArgumentList() throws ParseException {
 Expression arg;
 final ArrayList list = new ArrayList();
 int pos;
@@ -2818,7 +2818,7 @@ Token token;
  * A Statement without break.
  * @return a statement
  */
-  static final public Statement StatementNoBreak() throws ParseException {
+  final public Statement StatementNoBreak() throws ParseException {
   final Statement statement;
   Token token = null;
     if (jj_2_4(2)) {
@@ -2920,7 +2920,7 @@ Token token;
  * expression ;
  * @return an expression
  */
-  static final public Statement expressionStatement() throws ParseException {
+  final public Statement expressionStatement() throws ParseException {
   final Statement statement;
   final Token token;
     statement = Expression();
@@ -2940,7 +2940,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Define defineStatement() throws ParseException {
+  final public Define defineStatement() throws ParseException {
   Expression defineName,defineValue;
   final Token defineToken;
   Token token;
@@ -3010,7 +3010,7 @@ Token token;
 /**
  * A Normal statement.
  */
-  static final public Statement Statement() throws ParseException {
+  final public Statement Statement() throws ParseException {
   final Statement statement;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case IF:
@@ -3071,7 +3071,7 @@ Token token;
 /**
  * An html block inside a php syntax.
  */
-  static final public HTMLBlock htmlBlock() throws ParseException {
+  final public HTMLBlock htmlBlock() throws ParseException {
   final int startIndex = nodePtr;
   final AstNode[] blockNodes;
   final int nbNodes;
@@ -3103,7 +3103,7 @@ Token token;
         jj_consume_token(-1);
         throw new ParseException();
       }
-     PHPParser.createNewHTMLCode();
+     createNewHTMLCode();
     } catch (ParseException e) {
     errorMessage = "unexpected end of file , '<?php' expected";
     errorLevel   = ERROR;
@@ -3125,7 +3125,7 @@ Token token;
 /**
  * An include statement. It's "include" an expression;
  */
-  static final public InclusionStatement IncludeStatement() throws ParseException {
+  final public InclusionStatement IncludeStatement() throws ParseException {
   Expression expr;
   final int keyword;
   final InclusionStatement inclusionStatement;
@@ -3187,7 +3187,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public PrintExpression PrintExpression() throws ParseException {
+  final public PrintExpression PrintExpression() throws ParseException {
   final Expression expr;
   final Token printToken;
     token = jj_consume_token(PRINT);
@@ -3196,7 +3196,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public ListExpression ListExpression() throws ParseException {
+  final public ListExpression ListExpression() throws ParseException {
   Expression expr = null;
   final Expression expression;
   final ArrayList list = new ArrayList();
@@ -3290,7 +3290,7 @@ Token token;
  * An echo statement.
  * echo anyexpression (, otherexpression)*
  */
-  static final public EchoStatement EchoStatement() throws ParseException {
+  final public EchoStatement EchoStatement() throws ParseException {
   final ArrayList expressions = new ArrayList();
   Expression expr;
   Token token;
@@ -3332,7 +3332,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public GlobalStatement GlobalStatement() throws ParseException {
+  final public GlobalStatement GlobalStatement() throws ParseException {
    Variable expr;
    final ArrayList vars = new ArrayList();
    final GlobalStatement global;
@@ -3376,7 +3376,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public StaticStatement StaticStatement() throws ParseException {
+  final public StaticStatement StaticStatement() throws ParseException {
   final ArrayList vars = new ArrayList();
   VariableDeclaration expr;
   final Token token, token2;
@@ -3416,7 +3416,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public LabeledStatement LabeledStatement() throws ParseException {
+  final public LabeledStatement LabeledStatement() throws ParseException {
   final Token label;
   final Statement statement;
     label = jj_consume_token(IDENTIFIER);
@@ -3433,7 +3433,7 @@ Token token;
  * }.
  * @return a block
  */
-  static final public Block Block() throws ParseException {
+  final public Block Block() throws ParseException {
   final ArrayList list = new ArrayList();
   Statement statement;
   final Token token, token2;
@@ -3444,7 +3444,7 @@ Token token;
     } catch (ParseException e) {
     errorMessage = "'{' expected";
     errorLevel   = ERROR;
-    pos = PHPParser.token.sourceEnd+1;
+    pos = this.token.sourceEnd+1;
     start=pos;
     errorStart = pos;
     errorEnd   = pos;
@@ -3556,7 +3556,7 @@ Token token;
                                     list.add(statement);
                                     pos = statement.sourceEnd+1;
                                   }
-                                  pos = PHPParser.token.sourceEnd+1;
+                                  pos = this.token.sourceEnd+1;
         break;
       default:
         jj_la1[90] = jj_gen;
@@ -3580,7 +3580,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Statement BlockStatement() throws ParseException {
+  final public Statement BlockStatement() throws ParseException {
   final Statement statement;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case IF:
@@ -3658,7 +3658,7 @@ Token token;
 /**
  * A Block statement that will not contain any 'break'
  */
-  static final public Statement BlockStatementNoBreak() throws ParseException {
+  final public Statement BlockStatementNoBreak() throws ParseException {
   final Statement statement;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case IF:
@@ -3725,7 +3725,7 @@ Token token;
 /**
  * used only by ForInit()
  */
-  static final public Expression[] LocalVariableDeclaration() throws ParseException {
+  final public Expression[] LocalVariableDeclaration() throws ParseException {
   final ArrayList list = new ArrayList();
   Expression var;
     var = Expression();
@@ -3753,7 +3753,7 @@ Token token;
 /**
  * used only by LocalVariableDeclaration().
  */
-  static final public VariableDeclaration LocalVariableDeclarator() throws ParseException {
+  final public VariableDeclaration LocalVariableDeclarator() throws ParseException {
   final Variable varName;
   Expression initializer = null;
     varName = Variable();
@@ -3780,7 +3780,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public EmptyStatement EmptyStatement() throws ParseException {
+  final public EmptyStatement EmptyStatement() throws ParseException {
   final Token token;
     token = jj_consume_token(SEMICOLON);
    {if (true) return new EmptyStatement(token.sourceStart,token.sourceEnd);}
@@ -3790,7 +3790,7 @@ Token token;
 /**
  * used only by StatementExpressionList() which is used only by ForInit() and ForStatement()
  */
-  static final public Expression StatementExpression() throws ParseException {
+  final public Expression StatementExpression() throws ParseException {
   final Expression expr;
   final Token operator;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -3841,7 +3841,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public SwitchStatement SwitchStatement() throws ParseException {
+  final public SwitchStatement SwitchStatement() throws ParseException {
   Expression variable;
   final AbstractCase[] cases;
   final Token switchToken,lparenToken,rparenToken;
@@ -3897,11 +3897,11 @@ Token token;
    {if (true) return new SwitchStatement(variable,
                               cases,
                               switchToken.sourceStart,
-                              PHPParser.token.sourceEnd);}
+                              this.token.sourceEnd);}
     throw new Error("Missing return statement in function");
   }
 
-  static final public AbstractCase[] switchStatementBrace() throws ParseException {
+  final public AbstractCase[] switchStatementBrace() throws ParseException {
   AbstractCase cas;
   final ArrayList cases = new ArrayList();
   Token token;
@@ -3943,7 +3943,7 @@ Token token;
  * @param start the begin offset of the switch
  * @param end the end offset of the switch
  */
-  static final public AbstractCase[] switchStatementColon(final int start, final int end) throws ParseException {
+  final public AbstractCase[] switchStatementColon(final int start, final int end) throws ParseException {
   AbstractCase cas;
   final ArrayList cases = new ArrayList();
   Token token;
@@ -4000,11 +4000,12 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public AbstractCase switchLabel0() throws ParseException {
+  final public AbstractCase switchLabel0() throws ParseException {
   final Expression expr;
   Statement statement;
   final ArrayList stmts = new ArrayList();
-  final Token token = PHPParser.token;
+  final Token token = this.token;
+  final int start = this.token.next.sourceStart;
     expr = SwitchLabel();
     label_31:
     while (true) {
@@ -4123,7 +4124,8 @@ Token token;
     final Statement[] stmtsArray = new Statement[listSize];
     stmts.toArray(stmtsArray);
     if (expr == null) {//it's a default
-      {if (true) return new DefaultCase(stmtsArray,token.sourceStart,stmtsArray[listSize-1].sourceEnd);}
+      final int end = this.token.next.sourceStart;
+      {if (true) return new DefaultCase(stmtsArray,start,end);}
     }
     if (listSize != 0) {
       {if (true) return new Case(expr,stmtsArray,expr.sourceStart,stmtsArray[listSize-1].sourceEnd);}
@@ -4139,7 +4141,7 @@ Token token;
  * default :
  * @return the if it was a case and null if not
  */
-  static final public Expression SwitchLabel() throws ParseException {
+  final public Expression SwitchLabel() throws ParseException {
   final Expression expr;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case CASE:
@@ -4186,7 +4188,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Break BreakStatement() throws ParseException {
+  final public Break BreakStatement() throws ParseException {
   Expression expression = null;
   final Token token, token2;
   int pos;
@@ -4236,7 +4238,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public IfStatement IfStatement() throws ParseException {
+  final public IfStatement IfStatement() throws ParseException {
   final Expression condition;
   final IfStatement ifStatement;
   Token token;
@@ -4247,15 +4249,15 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression Condition(final String keyword) throws ParseException {
+  final public Expression Condition(final String keyword) throws ParseException {
   final Expression condition;
     try {
       jj_consume_token(LPAREN);
     } catch (ParseException e) {
     errorMessage = "'(' expected after " + keyword + " keyword";
     errorLevel   = ERROR;
-    errorStart = PHPParser.token.sourceEnd + 1;
-    errorEnd   = PHPParser.token.sourceEnd + 1;
+    errorStart = this.token.sourceEnd + 1;
+    errorEnd   = this.token.sourceEnd + 1;
     processParseExceptionDebug(e);
     }
     condition = Expression();
@@ -4272,7 +4274,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public IfStatement IfStatement0(final Expression condition, final int start,final int end) throws ParseException {
+  final public IfStatement IfStatement0(final Expression condition, final int start,final int end) throws ParseException {
   Statement statement;
   final Statement stmt;
   final Statement[] statementsArray;
@@ -4281,7 +4283,7 @@ Token token;
   final ArrayList stmts;
   final ArrayList elseIfList = new ArrayList();
   final ElseIf[] elseIfs;
-  int pos = SimpleCharStream.getPosition();
+  int pos = jj_input_stream.getPosition();
   final int endStatements;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case COLON:
@@ -4393,7 +4395,7 @@ Token token;
           throw new ParseException();
         }
       }
-    endStatements = SimpleCharStream.getPosition();
+    endStatements = jj_input_stream.getPosition();
       label_33:
       while (true) {
         switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -4451,7 +4453,7 @@ Token token;
                               elseIfs,
                               elseStatement,
                               pos,
-                              SimpleCharStream.getPosition());}
+                              jj_input_stream.getPosition());}
     } else {
       statementsArray = new Statement[stmts.size()];
       stmts.toArray(statementsArray);
@@ -4460,7 +4462,7 @@ Token token;
                              elseIfs,
                              elseStatement,
                              pos,
-                             SimpleCharStream.getPosition());}
+                             jj_input_stream.getPosition());}
     }
       break;
     case PHPEND:
@@ -4574,9 +4576,9 @@ Token token;
       case ELSE:
         jj_consume_token(ELSE);
         try {
-       pos = SimpleCharStream.getPosition();
+       pos = jj_input_stream.getPosition();
           statement = Statement();
-       elseStatement = new Else(statement,pos,SimpleCharStream.getPosition());
+       elseStatement = new Else(statement,pos,jj_input_stream.getPosition());
         } catch (ParseException e) {
       if (errorMessage != null) {
         {if (true) throw e;}
@@ -4599,7 +4601,7 @@ Token token;
                            elseIfs,
                            elseStatement,
                            pos,
-                           SimpleCharStream.getPosition());}
+                           jj_input_stream.getPosition());}
       break;
     default:
       jj_la1[112] = jj_gen;
@@ -4609,7 +4611,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public ElseIf ElseIfStatementColon() throws ParseException {
+  final public ElseIf ElseIfStatementColon() throws ParseException {
   final Expression condition;
   Statement statement;
   final ArrayList list = new ArrayList();
@@ -4732,7 +4734,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Else ElseStatementColon() throws ParseException {
+  final public Else ElseStatementColon() throws ParseException {
   Statement statement;
   final ArrayList list = new ArrayList();
   final Token elseToken;
@@ -4851,7 +4853,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public ElseIf ElseIfStatement() throws ParseException {
+  final public ElseIf ElseIfStatement() throws ParseException {
   final Expression condition;
   //final Statement statement;
   final Token elseifToken;
@@ -4863,7 +4865,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public WhileStatement WhileStatement() throws ParseException {
+  final public WhileStatement WhileStatement() throws ParseException {
   final Expression condition;
   final Statement action;
   final Token whileToken;
@@ -4874,10 +4876,10 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public Statement WhileStatement0(final int start, final int end) throws ParseException {
+  final public Statement WhileStatement0(final int start, final int end) throws ParseException {
   Statement statement;
   final ArrayList stmts = new ArrayList();
-  final int pos = SimpleCharStream.getPosition();
+  final int pos = jj_input_stream.getPosition();
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case COLON:
       jj_consume_token(COLON);
@@ -4957,7 +4959,7 @@ Token token;
         jj_consume_token(SEMICOLON);
     final Statement[] stmtsArray = new Statement[stmts.size()];
     stmts.toArray(stmtsArray);
-    {if (true) return new Block(stmtsArray,pos,SimpleCharStream.getPosition());}
+    {if (true) return new Block(stmtsArray,pos,jj_input_stream.getPosition());}
       } catch (ParseException e) {
     errorMessage = "';' expected after 'endwhile' keyword";
     errorLevel   = ERROR;
@@ -5018,7 +5020,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public DoStatement DoStatement() throws ParseException {
+  final public DoStatement DoStatement() throws ParseException {
   final Statement action;
   final Expression condition;
   final Token token;
@@ -5043,7 +5045,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  static final public ForeachStatement ForeachStatement() throws ParseException {
+  final public ForeachStatement ForeachStatement() throws ParseException {
   Statement statement = null;
   Expression expression = null;
   ArrayVariableDeclaration variable = null;
@@ -5107,7 +5109,7 @@ Token token;
     }
     try {
       statement = Statement();
-     pos = rparenToken.sourceEnd+1;
+     pos = statement.sourceEnd+1;
     } catch (ParseException e) {
     if (errorMessage != null) {if (true) throw e;}
     errorMessage = "statement expected";
@@ -5120,7 +5122,7 @@ Token token;
                                variable,
                                statement,
                                foreachToken.sourceStart,
-                               statement.sourceEnd);}
+                               pos);}
     throw new Error("Missing return statement in function");
   }
 
@@ -5128,7 +5130,7 @@ Token token;
  * a for declaration.
  * @return a node representing the for statement
  */
-  static final public ForStatement ForStatement() throws ParseException {
+  final public ForStatement ForStatement() throws ParseException {
 final Token token,tokenEndFor,token2,tokenColon;
 int pos;
 Expression[] initializations = null;
@@ -5391,7 +5393,7 @@ final ArrayList list = new ArrayList();
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression[] ForInit() throws ParseException {
+  final public Expression[] ForInit() throws ParseException {
   final Expression[] exprs;
     if (jj_2_5(2147483647)) {
       exprs = LocalVariableDeclaration();
@@ -5432,7 +5434,7 @@ final ArrayList list = new ArrayList();
     throw new Error("Missing return statement in function");
   }
 
-  static final public Expression[] StatementExpressionList() throws ParseException {
+  final public Expression[] StatementExpressionList() throws ParseException {
   final ArrayList list = new ArrayList();
   final Expression expr;
     expr = Expression();
@@ -5457,7 +5459,7 @@ final ArrayList list = new ArrayList();
     throw new Error("Missing return statement in function");
   }
 
-  static final public Continue ContinueStatement() throws ParseException {
+  final public Continue ContinueStatement() throws ParseException {
   Expression expr = null;
   final Token token;
   Token token2 = null;
@@ -5515,7 +5517,7 @@ final ArrayList list = new ArrayList();
     throw new Error("Missing return statement in function");
   }
 
-  static final public ReturnStatement ReturnStatement() throws ParseException {
+  final public ReturnStatement ReturnStatement() throws ParseException {
   Expression expr = null;
   final Token token;
   Token token2 = null;
@@ -5573,54 +5575,54 @@ final ArrayList list = new ArrayList();
     throw new Error("Missing return statement in function");
   }
 
-  static final private boolean jj_2_1(int xla) {
+  final private boolean jj_2_1(int xla) {
     jj_la = xla; jj_lastpos = jj_scanpos = token;
     boolean retval = !jj_3_1();
     jj_save(0, xla);
     return retval;
   }
 
-  static final private boolean jj_2_2(int xla) {
+  final private boolean jj_2_2(int xla) {
     jj_la = xla; jj_lastpos = jj_scanpos = token;
     boolean retval = !jj_3_2();
     jj_save(1, xla);
     return retval;
   }
 
-  static final private boolean jj_2_3(int xla) {
+  final private boolean jj_2_3(int xla) {
     jj_la = xla; jj_lastpos = jj_scanpos = token;
     boolean retval = !jj_3_3();
     jj_save(2, xla);
     return retval;
   }
 
-  static final private boolean jj_2_4(int xla) {
+  final private boolean jj_2_4(int xla) {
     jj_la = xla; jj_lastpos = jj_scanpos = token;
     boolean retval = !jj_3_4();
     jj_save(3, xla);
     return retval;
   }
 
-  static final private boolean jj_2_5(int xla) {
+  final private boolean jj_2_5(int xla) {
     jj_la = xla; jj_lastpos = jj_scanpos = token;
     boolean retval = !jj_3_5();
     jj_save(4, xla);
     return retval;
   }
 
-  static final private boolean jj_3R_210() {
+  final private boolean jj_3R_210() {
     if (jj_3R_116()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_209() {
+  final private boolean jj_3R_209() {
     if (jj_3R_50()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_109() {
+  final private boolean jj_3R_109() {
     if (jj_3R_114()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -5632,13 +5634,13 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_208() {
+  final private boolean jj_3R_208() {
     if (jj_scan_token(IDENTIFIER)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_203() {
+  final private boolean jj_3R_203() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_208()) {
@@ -5652,7 +5654,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_110() {
+  final private boolean jj_3R_110() {
     if (jj_scan_token(BIT_OR)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_109()) return true;
@@ -5660,7 +5662,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_103() {
+  final private boolean jj_3R_103() {
     if (jj_3R_109()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -5672,7 +5674,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_188() {
+  final private boolean jj_3R_188() {
     if (jj_scan_token(ARRAY)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_198()) return true;
@@ -5680,13 +5682,13 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_132() {
+  final private boolean jj_3R_132() {
     if (jj_scan_token(IDENTIFIER)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_106() {
+  final private boolean jj_3R_106() {
     if (jj_scan_token(DOT)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_103()) return true;
@@ -5694,7 +5696,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_131() {
+  final private boolean jj_3R_131() {
     if (jj_scan_token(LBRACE)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_49()) return true;
@@ -5704,7 +5706,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_97() {
+  final private boolean jj_3R_97() {
     if (jj_3R_103()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -5716,13 +5718,13 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_204() {
+  final private boolean jj_3R_204() {
     if (jj_3R_207()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_122() {
+  final private boolean jj_3R_122() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_130()) {
@@ -5736,7 +5738,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_130() {
+  final private boolean jj_3R_130() {
     if (jj_scan_token(DOLLAR)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_122()) return true;
@@ -5744,19 +5746,19 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_108() {
+  final private boolean jj_3R_108() {
     if (jj_scan_token(_ANDL)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_107() {
+  final private boolean jj_3R_107() {
     if (jj_scan_token(AND_AND)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_100() {
+  final private boolean jj_3R_100() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_107()) {
@@ -5769,7 +5771,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_81() {
+  final private boolean jj_3R_81() {
     if (jj_3R_97()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -5781,7 +5783,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_79() {
+  final private boolean jj_3R_79() {
     if (jj_scan_token(HOOK)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_49()) return true;
@@ -5793,7 +5795,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_195() {
+  final private boolean jj_3R_195() {
     if (jj_scan_token(NEW)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_203()) return true;
@@ -5805,7 +5807,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_68() {
+  final private boolean jj_3R_68() {
     if (jj_scan_token(DOLLAR)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_122()) return true;
@@ -5813,13 +5815,13 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_202() {
+  final private boolean jj_3R_202() {
     if (jj_3R_207()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_194() {
+  final private boolean jj_3R_194() {
     if (jj_3R_116()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -5829,19 +5831,19 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_102() {
+  final private boolean jj_3R_102() {
     if (jj_scan_token(_ORL)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_101() {
+  final private boolean jj_3R_101() {
     if (jj_scan_token(OR_OR)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_83() {
+  final private boolean jj_3R_83() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_101()) {
@@ -5854,13 +5856,19 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_201() {
+  final private boolean jj_3_1() {
+    if (jj_3R_40()) return true;
+    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+    return false;
+  }
+
+  final private boolean jj_3R_201() {
     if (jj_3R_207()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_76() {
+  final private boolean jj_3R_76() {
     if (jj_3R_81()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -5872,13 +5880,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3_1() {
-    if (jj_3R_40()) return true;
-    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
-    return false;
-  }
-
-  static final private boolean jj_3R_51() {
+  final private boolean jj_3R_51() {
     if (jj_scan_token(COMMA)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_49()) return true;
@@ -5886,7 +5888,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_200() {
+  final private boolean jj_3R_200() {
     if (jj_scan_token(STATICCLASSACCESS)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_203()) return true;
@@ -5894,31 +5896,31 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_45() {
-    if (jj_3R_49()) return true;
+  final private boolean jj_3R_116() {
+    if (jj_3R_68()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3R_51()) { jj_scanpos = xsp; break; }
+      if (jj_3_1()) { jj_scanpos = xsp; break; }
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     }
     return false;
   }
 
-  static final private boolean jj_3R_116() {
-    if (jj_3R_68()) return true;
+  final private boolean jj_3R_45() {
+    if (jj_3R_49()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3_1()) { jj_scanpos = xsp; break; }
+      if (jj_3R_51()) { jj_scanpos = xsp; break; }
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     }
     return false;
   }
 
-  static final private boolean jj_3R_193() {
+  final private boolean jj_3R_193() {
     if (jj_scan_token(IDENTIFIER)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -5933,7 +5935,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_187() {
+  final private boolean jj_3R_187() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_193()) {
@@ -5947,7 +5949,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_73() {
+  final private boolean jj_3R_73() {
     if (jj_3R_76()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -5957,31 +5959,37 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_178() {
+  final private boolean jj_3R_178() {
     if (jj_3R_188()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_186() {
+  final private boolean jj_3_5() {
+    if (jj_3R_45()) return true;
+    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+    return false;
+  }
+
+  final private boolean jj_3R_186() {
     if (jj_scan_token(BIT_AND)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_96() {
+  final private boolean jj_3R_96() {
     if (jj_scan_token(TILDEEQUAL)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_95() {
+  final private boolean jj_3R_95() {
     if (jj_scan_token(DOTASSIGN)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_173() {
+  final private boolean jj_3R_173() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_177()) {
@@ -5992,7 +6000,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_177() {
+  final private boolean jj_3R_177() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_186()) jj_scanpos = xsp;
@@ -6002,79 +6010,73 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3_5() {
-    if (jj_3R_45()) return true;
-    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
-    return false;
-  }
-
-  static final private boolean jj_3R_94() {
+  final private boolean jj_3R_94() {
     if (jj_scan_token(ORASSIGN)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_93() {
+  final private boolean jj_3R_93() {
     if (jj_scan_token(XORASSIGN)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_92() {
+  final private boolean jj_3R_92() {
     if (jj_scan_token(ANDASSIGN)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_91() {
+  final private boolean jj_3R_91() {
     if (jj_scan_token(RSIGNEDSHIFTASSIGN)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_90() {
+  final private boolean jj_3R_90() {
     if (jj_scan_token(LSHIFTASSIGN)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_89() {
+  final private boolean jj_3R_89() {
     if (jj_scan_token(MINUSASSIGN)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_88() {
+  final private boolean jj_3R_88() {
     if (jj_scan_token(PLUSASSIGN)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_87() {
+  final private boolean jj_3R_87() {
     if (jj_scan_token(REMASSIGN)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_86() {
+  final private boolean jj_3R_86() {
     if (jj_scan_token(SLASHASSIGN)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_85() {
+  final private boolean jj_3R_85() {
     if (jj_scan_token(STARASSIGN)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_84() {
+  final private boolean jj_3R_84() {
     if (jj_scan_token(ASSIGN)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_80() {
+  final private boolean jj_3R_80() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_84()) {
@@ -6118,19 +6120,19 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_197() {
+  final private boolean jj_3R_197() {
     if (jj_scan_token(MINUS_MINUS)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_196() {
+  final private boolean jj_3R_196() {
     if (jj_scan_token(PLUS_PLUS)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_191() {
+  final private boolean jj_3R_191() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_196()) {
@@ -6141,7 +6143,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_175() {
+  final private boolean jj_3R_175() {
     if (jj_3R_173()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -6151,19 +6153,19 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_99() {
+  final private boolean jj_3R_99() {
     if (jj_3R_105()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_98() {
+  final private boolean jj_3R_98() {
     if (jj_3R_104()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_82() {
+  final private boolean jj_3R_82() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_98()) {
@@ -6174,31 +6176,31 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_190() {
+  final private boolean jj_3R_190() {
     if (jj_scan_token(ARRAY)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_189() {
+  final private boolean jj_3R_189() {
     if (jj_3R_50()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_78() {
+  final private boolean jj_3R_78() {
     if (jj_3R_82()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_43() {
+  final private boolean jj_3R_43() {
     if (jj_scan_token(ARRAY)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_77() {
+  final private boolean jj_3R_77() {
     if (jj_scan_token(BANG)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_74()) return true;
@@ -6206,7 +6208,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_74() {
+  final private boolean jj_3R_74() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_77()) {
@@ -6217,7 +6219,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_174() {
+  final private boolean jj_3R_174() {
     if (jj_scan_token(LPAREN)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -6234,19 +6236,19 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_42() {
+  final private boolean jj_3R_42() {
     if (jj_3R_50()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_58() {
+  final private boolean jj_3R_58() {
     if (jj_3R_74()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3_3() {
+  final private boolean jj_3_3() {
     if (jj_scan_token(LPAREN)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -6261,7 +6263,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_172() {
+  final private boolean jj_3R_172() {
     if (jj_scan_token(LPAREN)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_49()) return true;
@@ -6271,19 +6273,19 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_171() {
+  final private boolean jj_3R_171() {
     if (jj_3R_176()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_170() {
+  final private boolean jj_3R_170() {
     if (jj_3R_175()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_166() {
+  final private boolean jj_3R_166() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_169()) {
@@ -6300,13 +6302,13 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_169() {
+  final private boolean jj_3R_169() {
     if (jj_3R_174()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_44() {
+  final private boolean jj_3R_44() {
     if (jj_3R_49()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_scan_token(SEMICOLON)) return true;
@@ -6314,19 +6316,19 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_168() {
+  final private boolean jj_3R_168() {
     if (jj_scan_token(MINUS_MINUS)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_167() {
+  final private boolean jj_3R_167() {
     if (jj_scan_token(PLUS_PLUS)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_75() {
+  final private boolean jj_3R_75() {
     if (jj_3R_80()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_49()) return true;
@@ -6334,7 +6336,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_165() {
+  final private boolean jj_3R_165() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_167()) {
@@ -6347,7 +6349,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_49() {
+  final private boolean jj_3R_49() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_57()) {
@@ -6358,7 +6360,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_57() {
+  final private boolean jj_3R_57() {
     if (jj_3R_73()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -6368,67 +6370,67 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_67() {
+  final private boolean jj_3R_67() {
     if (jj_scan_token(OBJECT)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_161() {
+  final private boolean jj_3R_161() {
     if (jj_3R_166()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_66() {
+  final private boolean jj_3R_66() {
     if (jj_scan_token(INTEGER)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_65() {
+  final private boolean jj_3R_65() {
     if (jj_scan_token(INT)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_64() {
+  final private boolean jj_3R_64() {
     if (jj_scan_token(FLOAT)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_160() {
+  final private boolean jj_3R_160() {
     if (jj_3R_165()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_63() {
+  final private boolean jj_3R_63() {
     if (jj_scan_token(DOUBLE)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_62() {
+  final private boolean jj_3R_62() {
     if (jj_scan_token(REAL)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_61() {
+  final private boolean jj_3R_61() {
     if (jj_scan_token(BOOLEAN)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_60() {
+  final private boolean jj_3R_60() {
     if (jj_scan_token(BOOL)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_159() {
+  final private boolean jj_3R_159() {
     if (jj_scan_token(MINUS)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_148()) return true;
@@ -6436,7 +6438,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_50() {
+  final private boolean jj_3R_50() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_59()) {
@@ -6468,13 +6470,13 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_59() {
+  final private boolean jj_3R_59() {
     if (jj_scan_token(STRING)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_156() {
+  final private boolean jj_3R_156() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_158()) {
@@ -6491,7 +6493,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_158() {
+  final private boolean jj_3R_158() {
     if (jj_scan_token(PLUS)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_148()) return true;
@@ -6499,19 +6501,19 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3_4() {
+  final private boolean jj_3_4() {
     if (jj_3R_44()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_164() {
+  final private boolean jj_3R_164() {
     if (jj_3R_156()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_163() {
+  final private boolean jj_3R_163() {
     if (jj_scan_token(BANG)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_157()) return true;
@@ -6519,7 +6521,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_157() {
+  final private boolean jj_3R_157() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_162()) {
@@ -6533,7 +6535,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_162() {
+  final private boolean jj_3R_162() {
     if (jj_scan_token(AT)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_157()) return true;
@@ -6541,13 +6543,13 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_155() {
+  final private boolean jj_3R_155() {
     if (jj_3R_156()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_216() {
+  final private boolean jj_3R_216() {
     if (jj_scan_token(COMMA)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_49()) return true;
@@ -6555,7 +6557,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_154() {
+  final private boolean jj_3R_154() {
     if (jj_scan_token(BANG)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_157()) return true;
@@ -6563,7 +6565,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_215() {
+  final private boolean jj_3R_215() {
     if (jj_3R_49()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -6575,7 +6577,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_153() {
+  final private boolean jj_3R_153() {
     if (jj_scan_token(TILDE)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_148()) return true;
@@ -6583,7 +6585,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_148() {
+  final private boolean jj_3R_148() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_152()) {
@@ -6600,7 +6602,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_152() {
+  final private boolean jj_3R_152() {
     if (jj_scan_token(AT)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_148()) return true;
@@ -6608,37 +6610,37 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_213() {
+  final private boolean jj_3R_213() {
     if (jj_3R_215()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_144() {
+  final private boolean jj_3R_144() {
     if (jj_3R_148()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_151() {
+  final private boolean jj_3R_151() {
     if (jj_scan_token(REMAINDER)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_150() {
+  final private boolean jj_3R_150() {
     if (jj_scan_token(SLASH)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_149() {
+  final private boolean jj_3R_149() {
     if (jj_scan_token(STAR)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_207() {
+  final private boolean jj_3R_207() {
     if (jj_scan_token(LPAREN)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -6650,7 +6652,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_145() {
+  final private boolean jj_3R_145() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_149()) {
@@ -6666,7 +6668,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_139() {
+  final private boolean jj_3R_139() {
     if (jj_3R_144()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -6678,7 +6680,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_212() {
+  final private boolean jj_3R_212() {
     if (jj_scan_token(LBRACE1)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_scan_token(ID)) return true;
@@ -6688,25 +6690,25 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_147() {
+  final private boolean jj_3R_147() {
     if (jj_scan_token(MINUS)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_211() {
+  final private boolean jj_3R_211() {
     if (jj_scan_token(IDENTIFIER)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_146() {
+  final private boolean jj_3R_146() {
     if (jj_scan_token(PLUS)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_140() {
+  final private boolean jj_3R_140() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_146()) {
@@ -6719,7 +6721,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_199() {
+  final private boolean jj_3R_199() {
     if (jj_scan_token(DOLLARS)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -6732,7 +6734,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_133() {
+  final private boolean jj_3R_133() {
     if (jj_3R_139()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -6744,7 +6746,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_192() {
+  final private boolean jj_3R_192() {
     if (jj_scan_token(DOUBLEQUOTE)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -6758,7 +6760,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_113() {
+  final private boolean jj_3R_113() {
     if (jj_scan_token(ASSIGN)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_49()) return true;
@@ -6766,37 +6768,37 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_143() {
+  final private boolean jj_3R_143() {
     if (jj_scan_token(RUNSIGNEDSHIFT)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_142() {
+  final private boolean jj_3R_142() {
     if (jj_scan_token(RSIGNEDSHIFT)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_141() {
+  final private boolean jj_3R_141() {
     if (jj_scan_token(LSHIFT)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_185() {
+  final private boolean jj_3R_185() {
     if (jj_3R_192()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_184() {
+  final private boolean jj_3R_184() {
     if (jj_scan_token(NULL)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_134() {
+  final private boolean jj_3R_134() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_141()) {
@@ -6812,19 +6814,19 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_183() {
+  final private boolean jj_3R_183() {
     if (jj_scan_token(FALSE)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_182() {
+  final private boolean jj_3R_182() {
     if (jj_scan_token(TRUE)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_123() {
+  final private boolean jj_3R_123() {
     if (jj_3R_133()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -6836,31 +6838,31 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_181() {
+  final private boolean jj_3R_181() {
     if (jj_scan_token(STRING_LITERAL)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_180() {
+  final private boolean jj_3R_180() {
     if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_117() {
+  final private boolean jj_3R_117() {
     if (jj_3R_116()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_179() {
+  final private boolean jj_3R_179() {
     if (jj_scan_token(INTEGER_LITERAL)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_176() {
+  final private boolean jj_3R_176() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_179()) {
@@ -6886,25 +6888,25 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_138() {
+  final private boolean jj_3R_138() {
     if (jj_scan_token(GE)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_137() {
+  final private boolean jj_3R_137() {
     if (jj_scan_token(LE)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_136() {
+  final private boolean jj_3R_136() {
     if (jj_scan_token(GT)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_112() {
+  final private boolean jj_3R_112() {
     if (jj_scan_token(COMMA)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -6914,13 +6916,13 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_135() {
+  final private boolean jj_3R_135() {
     if (jj_scan_token(LT)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_124() {
+  final private boolean jj_3R_124() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_135()) {
@@ -6939,7 +6941,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_120() {
+  final private boolean jj_3R_120() {
     if (jj_3R_123()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -6951,25 +6953,25 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_111() {
+  final private boolean jj_3R_111() {
     if (jj_3R_116()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_72() {
+  final private boolean jj_3R_72() {
     if (jj_3R_50()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_71() {
+  final private boolean jj_3R_71() {
     if (jj_3R_49()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_56() {
+  final private boolean jj_3R_56() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_71()) {
@@ -6980,7 +6982,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_48() {
+  final private boolean jj_3R_48() {
     if (jj_scan_token(LBRACE)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -6992,7 +6994,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_104() {
+  final private boolean jj_3R_104() {
     if (jj_scan_token(LIST)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_scan_token(LPAREN)) return true;
@@ -7014,19 +7016,19 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_206() {
+  final private boolean jj_3R_206() {
     if (jj_scan_token(COMMA)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_70() {
+  final private boolean jj_3R_70() {
     if (jj_3R_50()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3_2() {
+  final private boolean jj_3_2() {
     if (jj_scan_token(COMMA)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_41()) return true;
@@ -7034,7 +7036,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_55() {
+  final private boolean jj_3R_55() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_69()) {
@@ -7045,13 +7047,13 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_69() {
+  final private boolean jj_3R_69() {
     if (jj_3R_49()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_205() {
+  final private boolean jj_3R_205() {
     if (jj_3R_41()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -7063,7 +7065,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_47() {
+  final private boolean jj_3R_47() {
     if (jj_scan_token(LBRACKET)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -7075,31 +7077,31 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_129() {
+  final private boolean jj_3R_129() {
     if (jj_scan_token(TRIPLEEQUAL)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_128() {
+  final private boolean jj_3R_128() {
     if (jj_scan_token(BANGDOUBLEEQUAL)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_127() {
+  final private boolean jj_3R_127() {
     if (jj_scan_token(NOT_EQUAL)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_126() {
+  final private boolean jj_3R_126() {
     if (jj_scan_token(DIF)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_105() {
+  final private boolean jj_3R_105() {
     if (jj_scan_token(PRINT)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_49()) return true;
@@ -7107,7 +7109,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_198() {
+  final private boolean jj_3R_198() {
     if (jj_scan_token(LPAREN)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -7122,19 +7124,19 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_125() {
+  final private boolean jj_3R_125() {
     if (jj_scan_token(EQUAL_EQUAL)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_54() {
+  final private boolean jj_3R_54() {
     if (jj_3R_68()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_121() {
+  final private boolean jj_3R_121() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_125()) {
@@ -7156,13 +7158,13 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_53() {
+  final private boolean jj_3R_53() {
     if (jj_scan_token(IDENTIFIER)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  static final private boolean jj_3R_118() {
+  final private boolean jj_3R_118() {
     if (jj_3R_120()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -7174,7 +7176,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_214() {
+  final private boolean jj_3R_214() {
     if (jj_scan_token(ARRAYASSIGN)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_49()) return true;
@@ -7182,7 +7184,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_52() {
+  final private boolean jj_3R_52() {
     if (jj_scan_token(LBRACE)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_49()) return true;
@@ -7192,7 +7194,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_41() {
+  final private boolean jj_3R_41() {
     if (jj_3R_49()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -7202,7 +7204,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_119() {
+  final private boolean jj_3R_119() {
     if (jj_scan_token(BIT_AND)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_118()) return true;
@@ -7210,7 +7212,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_46() {
+  final private boolean jj_3R_46() {
     if (jj_scan_token(CLASSACCESS)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -7226,7 +7228,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_40() {
+  final private boolean jj_3R_40() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_46()) {
@@ -7240,7 +7242,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_114() {
+  final private boolean jj_3R_114() {
     if (jj_3R_118()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -7252,7 +7254,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static final private boolean jj_3R_115() {
+  final private boolean jj_3R_115() {
     if (jj_scan_token(XOR)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_114()) return true;
@@ -7260,17 +7262,16 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  static private boolean jj_initialized_once = false;
-  static public PHPParserTokenManager token_source;
-  static SimpleCharStream jj_input_stream;
-  static public Token token, jj_nt;
-  static private int jj_ntk;
-  static private Token jj_scanpos, jj_lastpos;
-  static private int jj_la;
-  static public boolean lookingAhead = false;
-  static private boolean jj_semLA;
-  static private int jj_gen;
-  static final private int[] jj_la1 = new int[128];
+  public PHPParserTokenManager token_source;
+  SimpleCharStream jj_input_stream;
+  public Token token, jj_nt;
+  private int jj_ntk;
+  private Token jj_scanpos, jj_lastpos;
+  private int jj_la;
+  public boolean lookingAhead = false;
+  private boolean jj_semLA;
+  private int jj_gen;
+  final private int[] jj_la1 = new int[128];
   static private int[] jj_la1_0;
   static private int[] jj_la1_1;
   static private int[] jj_la1_2;
@@ -7298,18 +7299,11 @@ final ArrayList list = new ArrayList();
    private static void jj_la1_4() {
       jj_la1_4 = new int[] {0x8a,0x0,0x0,0x8a,0x80,0x8a,0x0,0x0,0x0,0x100,0x8,0x80000,0x80000,0x8,0x0,0x0,0x0,0x0,0x2,0x100,0x0,0x100,0x0,0x0,0x0,0xfff80000,0x2,0x0,0x0,0xfff80000,0x0,0x0,0x0,0x0,0x0,0x200,0x0,0x0,0x0,0x79000,0x79000,0x6c00,0x6c00,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x2,0x2,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x2,0x2,0x0,0x0,0x8,0x2,0x2,0x2,0x2,0x28,0x0,0x0,0x0,0x2,0x100,0x0,0x88,0x8a,0x0,0x0,0x0,0x0,0x100,0x0,0x80000,0x100,0x100,0x100,0x8a,0x8a,0x8a,0x8a,0x100,0x80000,0x0,0x0,0x0,0x8,0x0,0x0,0x8a,0x8a,0x0,0x2,0x8a,0x8a,0x0,0x0,0x8a,0x0,0x0,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x2,0x2,0x2,0x8a,0x8a,0x2,0x100,0x2,0x2,};
    }
-  static final private JJCalls[] jj_2_rtns = new JJCalls[5];
-  static private boolean jj_rescan = false;
-  static private int jj_gc = 0;
+  final private JJCalls[] jj_2_rtns = new JJCalls[5];
+  private boolean jj_rescan = false;
+  private int jj_gc = 0;
 
   public PHPParser(java.io.InputStream stream) {
-    if (jj_initialized_once) {
-      System.out.println("ERROR: Second call to constructor of static parser.  You must");
-      System.out.println("       either use ReInit() or set the JavaCC option STATIC to false");
-      System.out.println("       during parser generation.");
-      throw new Error();
-    }
-    jj_initialized_once = true;
     jj_input_stream = new SimpleCharStream(stream, 1, 1);
     token_source = new PHPParserTokenManager(jj_input_stream);
     token = new Token();
@@ -7319,7 +7313,7 @@ final ArrayList list = new ArrayList();
     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
   }
 
-  static public void ReInit(java.io.InputStream stream) {
+  public void ReInit(java.io.InputStream stream) {
     jj_input_stream.ReInit(stream, 1, 1);
     token_source.ReInit(jj_input_stream);
     token = new Token();
@@ -7330,13 +7324,6 @@ final ArrayList list = new ArrayList();
   }
 
   public PHPParser(java.io.Reader stream) {
-    if (jj_initialized_once) {
-      System.out.println("ERROR: Second call to constructor of static parser.  You must");
-      System.out.println("       either use ReInit() or set the JavaCC option STATIC to false");
-      System.out.println("       during parser generation.");
-      throw new Error();
-    }
-    jj_initialized_once = true;
     jj_input_stream = new SimpleCharStream(stream, 1, 1);
     token_source = new PHPParserTokenManager(jj_input_stream);
     token = new Token();
@@ -7346,7 +7333,7 @@ final ArrayList list = new ArrayList();
     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
   }
 
-  static public void ReInit(java.io.Reader stream) {
+  public void ReInit(java.io.Reader stream) {
     jj_input_stream.ReInit(stream, 1, 1);
     token_source.ReInit(jj_input_stream);
     token = new Token();
@@ -7357,13 +7344,6 @@ final ArrayList list = new ArrayList();
   }
 
   public PHPParser(PHPParserTokenManager tm) {
-    if (jj_initialized_once) {
-      System.out.println("ERROR: Second call to constructor of static parser.  You must");
-      System.out.println("       either use ReInit() or set the JavaCC option STATIC to false");
-      System.out.println("       during parser generation.");
-      throw new Error();
-    }
-    jj_initialized_once = true;
     token_source = tm;
     token = new Token();
     jj_ntk = -1;
@@ -7381,7 +7361,7 @@ final ArrayList list = new ArrayList();
     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
   }
 
-  static final private Token jj_consume_token(int kind) throws ParseException {
+  final private Token jj_consume_token(int kind) throws ParseException {
     Token oldToken;
     if ((oldToken = token).next != null) token = token.next;
     else token = token.next = token_source.getNextToken();
@@ -7405,7 +7385,7 @@ final ArrayList list = new ArrayList();
     throw generateParseException();
   }
 
-  static final private boolean jj_scan_token(int kind) {
+  final private boolean jj_scan_token(int kind) {
     if (jj_scanpos == jj_lastpos) {
       jj_la--;
       if (jj_scanpos.next == null) {
@@ -7424,7 +7404,7 @@ final ArrayList list = new ArrayList();
     return (jj_scanpos.kind != kind);
   }
 
-  static final public Token getNextToken() {
+  final public Token getNextToken() {
     if (token.next != null) token = token.next;
     else token = token.next = token_source.getNextToken();
     jj_ntk = -1;
@@ -7432,7 +7412,7 @@ final ArrayList list = new ArrayList();
     return token;
   }
 
-  static final public Token getToken(int index) {
+  final public Token getToken(int index) {
     Token t = lookingAhead ? jj_scanpos : token;
     for (int i = 0; i < index; i++) {
       if (t.next != null) t = t.next;
@@ -7441,20 +7421,20 @@ final ArrayList list = new ArrayList();
     return t;
   }
 
-  static final private int jj_ntk() {
+  final private int jj_ntk() {
     if ((jj_nt=token.next) == null)
       return (jj_ntk = (token.next=token_source.getNextToken()).kind);
     else
       return (jj_ntk = jj_nt.kind);
   }
 
-  static private java.util.Vector jj_expentries = new java.util.Vector();
-  static private int[] jj_expentry;
-  static private int jj_kind = -1;
-  static private int[] jj_lasttokens = new int[100];
-  static private int jj_endpos;
+  private java.util.Vector jj_expentries = new java.util.Vector();
+  private int[] jj_expentry;
+  private int jj_kind = -1;
+  private int[] jj_lasttokens = new int[100];
+  private int jj_endpos;
 
-  static private void jj_add_error_token(int kind, int pos) {
+  private void jj_add_error_token(int kind, int pos) {
     if (pos >= 100) return;
     if (pos == jj_endpos + 1) {
       jj_lasttokens[jj_endpos++] = kind;
@@ -7482,7 +7462,7 @@ final ArrayList list = new ArrayList();
     }
   }
 
-  static public ParseException generateParseException() {
+  public ParseException generateParseException() {
     jj_expentries.removeAllElements();
     boolean[] la1tokens = new boolean[160];
     for (int i = 0; i < 160; i++) {
@@ -7530,13 +7510,13 @@ final ArrayList list = new ArrayList();
     return new ParseException(token, exptokseq, tokenImage);
   }
 
-  static final public void enable_tracing() {
+  final public void enable_tracing() {
   }
 
-  static final public void disable_tracing() {
+  final public void disable_tracing() {
   }
 
-  static final private void jj_rescan_token() {
+  final private void jj_rescan_token() {
     jj_rescan = true;
     for (int i = 0; i < 5; i++) {
       JJCalls p = jj_2_rtns[i];
@@ -7557,7 +7537,7 @@ final ArrayList list = new ArrayList();
     jj_rescan = false;
   }
 
-  static final private void jj_save(int index, int xla) {
+  final private void jj_save(int index, int xla) {
     JJCalls p = jj_2_rtns[index];
     while (p.gen > jj_gen) {
       if (p.next == null) { p = p.next = new JJCalls(); break; }