new version with WorkingCopy Management
[phpeclipse.git] / net.sourceforge.phpeclipse / src / test / PHPParser.java
index c4cc3b5..4030cca 100644 (file)
@@ -1,25 +1,83 @@
 /* Generated By:JavaCC: Do not edit this line. PHPParser.java */
 package test;
 
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.ui.texteditor.MarkerUtilities;
-import org.eclipse.jface.preference.IPreferenceStore;
-
-import java.util.Hashtable;
-import java.util.ArrayList;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.Reader;
 import java.io.StringReader;
-import java.io.*;
 import java.text.MessageFormat;
+import java.util.ArrayList;
+import java.util.Hashtable;
 
-import net.sourceforge.phpeclipse.actions.PHPStartApacheAction;
-import net.sourceforge.phpeclipse.PHPeclipsePlugin;
-import net.sourceforge.phpdt.internal.compiler.ast.*;
-import net.sourceforge.phpdt.internal.compiler.parser.OutlineableWithChildren;
+import net.sourceforge.phpdt.core.IJavaModelMarker;
+import net.sourceforge.phpdt.internal.compiler.ast.AbstractCase;
+import net.sourceforge.phpdt.internal.compiler.ast.AbstractVariable;
+import net.sourceforge.phpdt.internal.compiler.ast.ArrayDeclarator;
+import net.sourceforge.phpdt.internal.compiler.ast.ArrayInitializer;
+import net.sourceforge.phpdt.internal.compiler.ast.ArrayVariableDeclaration;
+import net.sourceforge.phpdt.internal.compiler.ast.AstNode;
+import net.sourceforge.phpdt.internal.compiler.ast.BinaryExpression;
+import net.sourceforge.phpdt.internal.compiler.ast.Block;
+import net.sourceforge.phpdt.internal.compiler.ast.Break;
+import net.sourceforge.phpdt.internal.compiler.ast.Case;
+import net.sourceforge.phpdt.internal.compiler.ast.CastExpression;
+import net.sourceforge.phpdt.internal.compiler.ast.ClassAccess;
+import net.sourceforge.phpdt.internal.compiler.ast.ClassDeclaration;
+import net.sourceforge.phpdt.internal.compiler.ast.ClassInstantiation;
+import net.sourceforge.phpdt.internal.compiler.ast.ConditionalExpression;
+import net.sourceforge.phpdt.internal.compiler.ast.ConstantIdentifier;
+import net.sourceforge.phpdt.internal.compiler.ast.Continue;
+import net.sourceforge.phpdt.internal.compiler.ast.DefaultCase;
+import net.sourceforge.phpdt.internal.compiler.ast.Define;
+import net.sourceforge.phpdt.internal.compiler.ast.DoStatement;
+import net.sourceforge.phpdt.internal.compiler.ast.EchoStatement;
+import net.sourceforge.phpdt.internal.compiler.ast.Else;
+import net.sourceforge.phpdt.internal.compiler.ast.ElseIf;
+import net.sourceforge.phpdt.internal.compiler.ast.EmptyStatement;
+import net.sourceforge.phpdt.internal.compiler.ast.Expression;
+import net.sourceforge.phpdt.internal.compiler.ast.FalseLiteral;
+import net.sourceforge.phpdt.internal.compiler.ast.FieldDeclaration;
+import net.sourceforge.phpdt.internal.compiler.ast.ForStatement;
+import net.sourceforge.phpdt.internal.compiler.ast.ForeachStatement;
+import net.sourceforge.phpdt.internal.compiler.ast.FunctionCall;
+import net.sourceforge.phpdt.internal.compiler.ast.GlobalStatement;
+import net.sourceforge.phpdt.internal.compiler.ast.HTMLBlock;
+import net.sourceforge.phpdt.internal.compiler.ast.HTMLCode;
+import net.sourceforge.phpdt.internal.compiler.ast.IfStatement;
+import net.sourceforge.phpdt.internal.compiler.ast.InclusionStatement;
+import net.sourceforge.phpdt.internal.compiler.ast.LabeledStatement;
+import net.sourceforge.phpdt.internal.compiler.ast.ListExpression;
+import net.sourceforge.phpdt.internal.compiler.ast.Literal;
+import net.sourceforge.phpdt.internal.compiler.ast.MethodDeclaration;
+import net.sourceforge.phpdt.internal.compiler.ast.NullLiteral;
+import net.sourceforge.phpdt.internal.compiler.ast.NumberLiteral;
+import net.sourceforge.phpdt.internal.compiler.ast.OperatorIds;
+import net.sourceforge.phpdt.internal.compiler.ast.PHPDocument;
+import net.sourceforge.phpdt.internal.compiler.ast.PHPEchoBlock;
+import net.sourceforge.phpdt.internal.compiler.ast.PostfixedUnaryExpression;
+import net.sourceforge.phpdt.internal.compiler.ast.PrefixedUnaryExpression;
+import net.sourceforge.phpdt.internal.compiler.ast.PrintExpression;
+import net.sourceforge.phpdt.internal.compiler.ast.ReturnStatement;
+import net.sourceforge.phpdt.internal.compiler.ast.Statement;
+import net.sourceforge.phpdt.internal.compiler.ast.StaticStatement;
+import net.sourceforge.phpdt.internal.compiler.ast.StringLiteral;
+import net.sourceforge.phpdt.internal.compiler.ast.SwitchStatement;
+import net.sourceforge.phpdt.internal.compiler.ast.TrueLiteral;
+import net.sourceforge.phpdt.internal.compiler.ast.Variable;
+import net.sourceforge.phpdt.internal.compiler.ast.VariableDeclaration;
+import net.sourceforge.phpdt.internal.compiler.ast.WhileStatement;
 import net.sourceforge.phpdt.internal.compiler.parser.Outlineable;
+import net.sourceforge.phpdt.internal.compiler.parser.OutlineableWithChildren;
 import net.sourceforge.phpdt.internal.compiler.parser.PHPOutlineInfo;
-import net.sourceforge.phpdt.internal.corext.Assert;
+import net.sourceforge.phpeclipse.PHPeclipsePlugin;
+import net.sourceforge.phpeclipse.actions.PHPStartApacheAction;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.ui.texteditor.MarkerUtilities;
 
 /**
  * A new php parser.
@@ -28,7 +86,7 @@ import net.sourceforge.phpdt.internal.corext.Assert;
  * You can test the parser with the PHPParserTestCase2.java
  * @author Matthieu Casanova
  */
-public final class PHPParser extends PHPParserSuperclass implements PHPParserConstants {
+public class PHPParser extends PHPParserSuperclass implements PHPParserConstants {
 
 //todo : fix the variables names bug
 //todo : handle tilde operator
@@ -60,7 +118,7 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
   //ast stack
   private final static int AstStackIncrement = 100;
   /** The stack of node. */
-  private static AstNode[] nodes;
+  protected static AstNode[] nodes;
   /** The cursor in expression stack. */
   private static int nodePtr;
 
@@ -78,26 +136,24 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
     PHPParser.fileToParse = fileToParse;
   }
 
-  public final void phpParserTester(final String strEval) throws ParseException {
+  public static 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);
-    token_source.SwitchTo(PHPParserTokenManager.PHPPARSING);
+    PHPParserTokenManager.SwitchTo(PHPParserTokenManager.PHPPARSING);
     phpTest();
   }
 
-  public final void htmlParserTester(final File fileName) throws FileNotFoundException, ParseException {
+  public static 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();
@@ -107,11 +163,10 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
     phpFile();
   }
 
-  public final void htmlParserTester(final String strEval) throws ParseException {
+  public static 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();
@@ -124,7 +179,7 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
   /**
    * Reinitialize the parser.
    */
-  private static final void init() {
+  protected static final void init() {
     nodes = new AstNode[AstStackIncrement];
     nodePtr = -1;
     htmlStart = 0;
@@ -154,7 +209,6 @@ 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();
@@ -265,7 +319,8 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
         else
           attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_INFO));
         MarkerUtilities.setLineNumber(attributes, lineNumber);
-        MarkerUtilities.createMarker(file, attributes, IMarker.PROBLEM);
+//        MarkerUtilities.createMarker(file, attributes, IMarker.PROBLEM);
+                               MarkerUtilities.createMarker(file, attributes, IJavaModelMarker.JAVA_MODEL_PROBLEM_MARKER);
       }
     }
   }
@@ -274,7 +329,6 @@ 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();
@@ -310,51 +364,51 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
   /**
    * Put a new html block in the stack.
    */
-  public final void createNewHTMLCode() {
+  public static final void createNewHTMLCode() {
     final int currentPosition = token.sourceStart;
     if (currentPosition == htmlStart ||
           currentPosition < htmlStart ||
-          currentPosition > jj_input_stream.getCurrentBuffer().length()) {
+          currentPosition > SimpleCharStream.currentBuffer.length()) {
       return;
     }
-    final String html = jj_input_stream.getCurrentBuffer().substring(htmlStart, currentPosition);
+    final String html = SimpleCharStream.currentBuffer.substring(htmlStart, currentPosition);
     pushOnAstNodes(new HTMLCode(html, htmlStart,currentPosition));
   }
 
   /** Create a new task. */
-  public final void createNewTask(final int todoStart) {
-    final String  todo = jj_input_stream.getCurrentBuffer().substring(todoStart,
-                                                                  jj_input_stream.getCurrentBuffer().indexOf("\n",
+  public static final void createNewTask(final int todoStart) {
+    final String  todo = SimpleCharStream.currentBuffer.substring(todoStart,
+                                                                  SimpleCharStream.currentBuffer.indexOf("\n",
                                                                                                          todoStart)-1);
     if (!PARSER_DEBUG) {
       try {
         setMarker(fileToParse,
                   todo,
-                  jj_input_stream.getBeginLine(),
+                  SimpleCharStream.getBeginLine(),
                   TASK,
-                  "Line "+jj_input_stream.getBeginLine());
+                  "Line "+SimpleCharStream.getBeginLine());
       } catch (CoreException e) {
         PHPeclipsePlugin.log(e);
       }
     }
   }
 
-  private final void parse() throws ParseException {
+  protected static final void parse() throws ParseException {
           phpFile();
   }
 
-  final public void todo() throws ParseException {
+  static final public void todo() throws ParseException {
  Token todoToken;
     todoToken = jj_consume_token(23);
                       createNewTask(todoToken.sourceStart);
   }
 
-  final public void phpTest() throws ParseException {
+  static final public void phpTest() throws ParseException {
     Php();
     jj_consume_token(0);
   }
 
-  final public void phpFile() throws ParseException {
+  static final public void phpFile() throws ParseException {
     try {
       label_1:
       while (true) {
@@ -414,11 +468,11 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
         }
         PhpBlock();
       }
-     createNewHTMLCode();
+     PHPParser.createNewHTMLCode();
     } catch (TokenMgrError e) {
     PHPeclipsePlugin.log(e);
-    errorStart   = jj_input_stream.getBeginOffset();
-    errorEnd     = jj_input_stream.getEndOffset();
+    errorStart   = SimpleCharStream.beginOffset;
+    errorEnd     = SimpleCharStream.endOffset;
     errorMessage = e.getMessage();
     errorLevel   = ERROR;
     {if (true) throw generateParseException();}
@@ -430,7 +484,7 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
  * or <?php somephpcode ?>
  * or <? somephpcode ?>
  */
-  final public void PhpBlock() throws ParseException {
+  static final public void PhpBlock() throws ParseException {
   final PHPEchoBlock phpEchoBlock;
   final Token token,phpEnd;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -514,7 +568,7 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
         jj_la1[2] = jj_gen;
         ;
       }
-   createNewHTMLCode();
+   PHPParser.createNewHTMLCode();
       Php();
       try {
         phpEnd = jj_consume_token(PHPEND);
@@ -534,12 +588,12 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
     }
   }
 
-  final public PHPEchoBlock phpEchoBlock() throws ParseException {
+  static final public PHPEchoBlock phpEchoBlock() throws ParseException {
   final Expression expr;
   final PHPEchoBlock echoBlock;
   final Token token, token2;
     token = jj_consume_token(PHPECHOSTART);
-                          createNewHTMLCode();
+                          PHPParser.createNewHTMLCode();
     expr = Expression();
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case SEMICOLON:
@@ -558,7 +612,7 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
     throw new Error("Missing return statement in function");
   }
 
-  final public void Php() throws ParseException {
+  static final public void Php() throws ParseException {
     label_2:
     while (true) {
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -615,7 +669,7 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
     }
   }
 
-  final public ClassDeclaration ClassDeclaration() throws ParseException {
+  static final public ClassDeclaration ClassDeclaration() throws ParseException {
   final ClassDeclaration classDeclaration;
   Token className = null;
   final Token superclassName, token, extendsToken;
@@ -683,7 +737,7 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon
     throw new Error("Missing return statement in function");
   }
 
-  final public int ClassBody(final ClassDeclaration classDeclaration) throws ParseException {
+  static final public int ClassBody(final ClassDeclaration classDeclaration) throws ParseException {
 Token token;
     try {
       jj_consume_token(LBRACE);
@@ -716,7 +770,7 @@ Token token;
     errorStart = e.currentToken.sourceStart;
     errorEnd   = e.currentToken.sourceEnd;
     processParseExceptionDebug(e);
-    {if (true) return this.token.sourceEnd;}
+    {if (true) return PHPParser.token.sourceEnd;}
     }
     throw new Error("Missing return statement in function");
   }
@@ -724,7 +778,7 @@ Token token;
 /**
  * A class can contain only methods and fields.
  */
-  final public void ClassBodyDeclaration(final ClassDeclaration classDeclaration) throws ParseException {
+  static final public void ClassBodyDeclaration(final ClassDeclaration classDeclaration) throws ParseException {
   final MethodDeclaration method;
   final FieldDeclaration field;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -748,7 +802,7 @@ Token token;
  * A class field declaration : it's var VariableDeclarator() (, VariableDeclarator())*;.
  * it is only used by ClassBodyDeclaration()
  */
-  final public FieldDeclaration FieldDeclaration() throws ParseException {
+  static final public FieldDeclaration FieldDeclaration() throws ParseException {
   VariableDeclaration variableDeclaration;
   final VariableDeclaration[] list;
   final ArrayList arrayList = new ArrayList();
@@ -803,7 +857,7 @@ Token token;
  * a strict variable declarator : there cannot be a suffix here.
  * It will be used by fields and formal parameters
  */
-  final public VariableDeclaration VariableDeclaratorNoSuffix() throws ParseException {
+  static final public VariableDeclaration VariableDeclaratorNoSuffix() throws ParseException {
   final Token token, lbrace,rbrace;
   Expression expr, initializer = null;
   Token assignToken;
@@ -859,7 +913,7 @@ Token token;
 /**
  * this will be used by static statement
  */
-  final public VariableDeclaration VariableDeclarator() throws ParseException {
+  static final public VariableDeclaration VariableDeclarator() throws ParseException {
   final AbstractVariable variable;
   Expression initializer = null;
   final Token token;
@@ -899,8 +953,9 @@ Token token;
  * A Variable name.
  * @return the variable name (with suffix)
  */
-  final public AbstractVariable VariableDeclaratorId() throws ParseException {
-  AbstractVariable var;
+  static final public AbstractVariable VariableDeclaratorId() throws ParseException {
+  final Variable var;
+  AbstractVariable expression = null;
     try {
       var = Variable();
       label_5:
@@ -910,9 +965,12 @@ Token token;
         } else {
           break label_5;
         }
-        var = VariableSuffix(var);
+        expression = VariableSuffix(var);
       }
-     {if (true) return var;}
+     if (expression == null) {
+       {if (true) return var;}
+     }
+     {if (true) return expression;}
     } catch (ParseException e) {
     errorMessage = "'$' expected for variable identifier";
     errorLevel   = ERROR;
@@ -923,7 +981,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public Variable Variable() throws ParseException {
+  static final public Variable Variable() throws ParseException {
   Variable variable = null;
   final Token token;
     token = jj_consume_token(DOLLAR);
@@ -932,7 +990,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public Variable Var() throws ParseException {
+  static final public Variable Var() throws ParseException {
   Variable variable = null;
   final Token token,token2;
   ConstantIdentifier constant;
@@ -964,7 +1022,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression VariableInitializer() throws ParseException {
+  static final public Expression VariableInitializer() throws ParseException {
   final Expression expr;
   final Token token, token2;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -1030,7 +1088,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public ArrayVariableDeclaration ArrayVariable() throws ParseException {
+  static final public ArrayVariableDeclaration ArrayVariable() throws ParseException {
 final Expression expr,expr2;
     expr = Expression();
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -1043,11 +1101,11 @@ final Expression expr,expr2;
       jj_la1[17] = jj_gen;
       ;
     }
-   {if (true) return new ArrayVariableDeclaration(expr,jj_input_stream.getPosition());}
+   {if (true) return new ArrayVariableDeclaration(expr,SimpleCharStream.getPosition());}
     throw new Error("Missing return statement in function");
   }
 
-  final public ArrayVariableDeclaration[] ArrayInitializer() throws ParseException {
+  static final public ArrayVariableDeclaration[] ArrayInitializer() throws ParseException {
   ArrayVariableDeclaration expr;
   final ArrayList list = new ArrayList();
     jj_consume_token(LPAREN);
@@ -1112,7 +1170,7 @@ final Expression expr,expr2;
  * A Method Declaration.
  * <b>function</b> MetodDeclarator() Block()
  */
-  final public MethodDeclaration MethodDeclaration() throws ParseException {
+  static final public MethodDeclaration MethodDeclaration() throws ParseException {
   final MethodDeclaration functionDeclaration;
   final Block block;
   final OutlineableWithChildren seg = currentSegment;
@@ -1142,7 +1200,7 @@ final Expression expr,expr2;
  * [&] IDENTIFIER(parameters ...).
  * @return a function description for the outline
  */
-  final public MethodDeclaration MethodDeclarator(final int start) throws ParseException {
+  static final public MethodDeclaration MethodDeclarator(final int start) throws ParseException {
   Token identifier = null;
   Token reference = null;
   final ArrayList formalParameters = new ArrayList();
@@ -1197,10 +1255,10 @@ final Expression expr,expr2;
  * FormalParameters follows method identifier.
  * (FormalParameter())
  */
-  final public int FormalParameters(final ArrayList parameters) throws ParseException {
+  static final public int FormalParameters(final ArrayList parameters) throws ParseException {
   VariableDeclaration var;
   final Token token;
-  Token tok = this.token;
+  Token tok = PHPParser.token;
   int end = tok.sourceEnd;
     try {
       tok = jj_consume_token(LPAREN);
@@ -1254,7 +1312,7 @@ final Expression expr,expr2;
  * A formal parameter.
  * $varname[=value] (,$varname[=value])
  */
-  final public VariableDeclaration FormalParameter() throws ParseException {
+  static final public VariableDeclaration FormalParameter() throws ParseException {
   final VariableDeclaration variableDeclaration;
   Token token = null;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -1274,7 +1332,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  final public ConstantIdentifier Type() throws ParseException {
+  static final public ConstantIdentifier Type() throws ParseException {
  final Token token;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case STRING:
@@ -1321,7 +1379,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression Expression() throws ParseException {
+  static final public Expression Expression() throws ParseException {
   final Expression expr;
   Expression initializer = null;
   int assignOperator = -1;
@@ -1370,7 +1428,7 @@ final Expression expr,expr2;
       }
       errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', expression expected";
       errorLevel   = ERROR;
-      errorEnd   = jj_input_stream.getPosition();
+      errorEnd   = SimpleCharStream.getPosition();
       {if (true) throw e;}
         }
         break;
@@ -1409,7 +1467,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression ExpressionWBang() throws ParseException {
+  static final public Expression ExpressionWBang() throws ParseException {
   final Expression expr;
   final Token token;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -1431,7 +1489,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression ExpressionNoBang() throws ParseException {
+  static final public Expression ExpressionNoBang() throws ParseException {
   Expression expr;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case LIST:
@@ -1454,7 +1512,7 @@ final Expression expr,expr2;
  * Any assignement operator.
  * @return the assignement operator id
  */
-  final public int AssignmentOperator() throws ParseException {
+  static final public int AssignmentOperator() throws ParseException {
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case ASSIGN:
       jj_consume_token(ASSIGN);
@@ -1516,7 +1574,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression ConditionalExpression() throws ParseException {
+  static final public Expression ConditionalExpression() throws ParseException {
   final Expression expr;
   Expression expr2 = null;
   Expression expr3 = null;
@@ -1539,7 +1597,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression ConditionalOrExpression() throws ParseException {
+  static final public Expression ConditionalOrExpression() throws ParseException {
   Expression expr,expr2;
   int operator;
     expr = ConditionalAndExpression();
@@ -1575,7 +1633,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression ConditionalAndExpression() throws ParseException {
+  static final public Expression ConditionalAndExpression() throws ParseException {
   Expression expr,expr2;
   int operator;
     expr = ConcatExpression();
@@ -1611,7 +1669,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression ConcatExpression() throws ParseException {
+  static final public Expression ConcatExpression() throws ParseException {
   Expression expr,expr2;
     expr = InclusiveOrExpression();
     label_10:
@@ -1632,7 +1690,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression InclusiveOrExpression() throws ParseException {
+  static final public Expression InclusiveOrExpression() throws ParseException {
   Expression expr,expr2;
     expr = ExclusiveOrExpression();
     label_11:
@@ -1653,7 +1711,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression ExclusiveOrExpression() throws ParseException {
+  static final public Expression ExclusiveOrExpression() throws ParseException {
   Expression expr,expr2;
     expr = AndExpression();
     label_12:
@@ -1674,7 +1732,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression AndExpression() throws ParseException {
+  static final public Expression AndExpression() throws ParseException {
   Expression expr,expr2;
     expr = EqualityExpression();
     label_13:
@@ -1695,7 +1753,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression EqualityExpression() throws ParseException {
+  static final public Expression EqualityExpression() throws ParseException {
   Expression expr,expr2;
   int operator;
   Token token;
@@ -1759,7 +1817,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression RelationalExpression() throws ParseException {
+  static final public Expression RelationalExpression() throws ParseException {
   Expression expr,expr2;
   int operator;
     expr = ShiftExpression();
@@ -1805,7 +1863,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression ShiftExpression() throws ParseException {
+  static final public Expression ShiftExpression() throws ParseException {
   Expression expr,expr2;
   int operator;
     expr = AdditiveExpression();
@@ -1846,7 +1904,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression AdditiveExpression() throws ParseException {
+  static final public Expression AdditiveExpression() throws ParseException {
   Expression expr,expr2;
   int operator;
     expr = MultiplicativeExpression();
@@ -1882,7 +1940,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression MultiplicativeExpression() throws ParseException {
+  static final public Expression MultiplicativeExpression() throws ParseException {
   Expression expr,expr2;
   int operator;
     try {
@@ -1891,8 +1949,8 @@ final Expression expr,expr2;
     if (errorMessage != null) {if (true) throw e;}
     errorMessage = "unexpected token '"+e.currentToken.next.image+'\'';
     errorLevel   = ERROR;
-    errorStart = this.token.sourceStart;
-    errorEnd   = this.token.sourceEnd;
+    errorStart = PHPParser.token.sourceStart;
+    errorEnd   = PHPParser.token.sourceEnd;
     {if (true) throw e;}
     }
     label_18:
@@ -1935,7 +1993,7 @@ final Expression expr,expr2;
 /**
  * An unary expression starting with @, & or nothing
  */
-  final public Expression UnaryExpression() throws ParseException {
+  static 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 +2003,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression AtNotTildeUnaryExpression() throws ParseException {
+  static final public Expression AtNotTildeUnaryExpression() throws ParseException {
   final Expression expr;
   final Token token;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -1996,7 +2054,7 @@ final Expression expr,expr2;
  * An expression prefixed (or not) by one or more @ and !.
  * @return the expression
  */
-  final public Expression AtNotUnaryExpression() throws ParseException {
+  static final public Expression AtNotUnaryExpression() throws ParseException {
   final Expression expr;
   final Token token;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -2038,7 +2096,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression UnaryExpressionNoPrefix() throws ParseException {
+  static final public Expression UnaryExpressionNoPrefix() throws ParseException {
   final Expression expr;
   final Token token;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -2085,7 +2143,7 @@ final Expression expr,expr2;
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression PreIncDecExpression() throws ParseException {
+  static final public Expression PreIncDecExpression() throws ParseException {
 final Expression expr;
 final int operator;
 final Token token;
@@ -2108,7 +2166,7 @@ final Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression UnaryExpressionNotPlusMinus() throws ParseException {
+  static final public Expression UnaryExpressionNotPlusMinus() throws ParseException {
   final Expression expr;
     if (jj_2_3(2147483647)) {
       expr = CastExpression();
@@ -2156,7 +2214,7 @@ final Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public CastExpression CastExpression() throws ParseException {
+  static final public CastExpression CastExpression() throws ParseException {
 final ConstantIdentifier type;
 final Expression expr;
 final Token token,token1;
@@ -2188,7 +2246,7 @@ final Token token,token1;
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression PostfixExpression() throws ParseException {
+  static final public Expression PostfixExpression() throws ParseException {
   final Expression expr;
   int operator = -1;
   Token token = null;
@@ -2222,7 +2280,7 @@ final Token token,token1;
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression PrimaryExpression() throws ParseException {
+  static final public Expression PrimaryExpression() throws ParseException {
   Expression expr;
   Token token = null;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -2253,7 +2311,7 @@ final Token token,token1;
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression refPrimaryExpression(final Token reference) throws ParseException {
+  static final public Expression refPrimaryExpression(final Token reference) throws ParseException {
   Expression expr;
   Expression expr2 = null;
   final Token identifier;
@@ -2345,18 +2403,18 @@ final Token token,token1;
  * array(vars)
  * @return an array
  */
-  final public ArrayInitializer ArrayDeclarator() throws ParseException {
+  static 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,
-                               this.token.sourceEnd);}
+                               PHPParser.token.sourceEnd);}
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression ClassIdentifier() throws ParseException {
+  static final public Expression ClassIdentifier() throws ParseException {
   final Expression expr;
   final Token token;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -2391,7 +2449,7 @@ final Token token,token1;
 /**
  * Used by Variabledeclaratorid and primarysuffix
  */
-  final public AbstractVariable VariableSuffix(final AbstractVariable prefix) throws ParseException {
+  static final public AbstractVariable VariableSuffix(final AbstractVariable prefix) throws ParseException {
   Expression expression = null;
   final Token classAccessToken,lbrace,rbrace;
   Token token;
@@ -2630,7 +2688,7 @@ final Token token,token1;
     throw new Error("Missing return statement in function");
   }
 
-  final public Literal Literal() throws ParseException {
+  static final public Literal Literal() throws ParseException {
   final Token token;
   StringLiteral literal;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -2670,7 +2728,7 @@ final Token token,token1;
     throw new Error("Missing return statement in function");
   }
 
-  final public StringLiteral evaluableString() throws ParseException {
+  static final public StringLiteral evaluableString() throws ParseException {
   ArrayList list = new ArrayList();
   Token start,end;
   Token token,lbrace,rbrace;
@@ -2712,14 +2770,14 @@ final Token token,token1;
     end = jj_consume_token(DOUBLEQUOTE2);
   AbstractVariable[] vars = new AbstractVariable[list.size()];
   list.toArray(vars);
-  {if (true) return new StringLiteral(jj_input_stream.getCurrentBuffer().substring(start.sourceEnd,end.sourceStart),
+  {if (true) return new StringLiteral(SimpleCharStream.currentBuffer.substring(start.sourceEnd,end.sourceStart),
                            start.sourceStart,
                            end.sourceEnd,
                            vars);}
     throw new Error("Missing return statement in function");
   }
 
-  final public FunctionCall Arguments(final Expression func) throws ParseException {
+  static final public FunctionCall Arguments(final Expression func) throws ParseException {
 Expression[] args = null;
 final Token token,lparen;
     lparen = jj_consume_token(LPAREN);
@@ -2777,7 +2835,7 @@ final Token token,lparen;
  * argumentDeclaration() (, argumentDeclaration)*
  * @return an array of arguments
  */
-  final public Expression[] ArgumentList() throws ParseException {
+  static final public Expression[] ArgumentList() throws ParseException {
 Expression arg;
 final ArrayList list = new ArrayList();
 int pos;
@@ -2818,7 +2876,7 @@ Token token;
  * A Statement without break.
  * @return a statement
  */
-  final public Statement StatementNoBreak() throws ParseException {
+  static final public Statement StatementNoBreak() throws ParseException {
   final Statement statement;
   Token token = null;
     if (jj_2_4(2)) {
@@ -2920,7 +2978,7 @@ Token token;
  * expression ;
  * @return an expression
  */
-  final public Statement expressionStatement() throws ParseException {
+  static final public Statement expressionStatement() throws ParseException {
   final Statement statement;
   final Token token;
     statement = Expression();
@@ -2940,7 +2998,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public Define defineStatement() throws ParseException {
+  static final public Define defineStatement() throws ParseException {
   Expression defineName,defineValue;
   final Token defineToken;
   Token token;
@@ -3010,7 +3068,7 @@ Token token;
 /**
  * A Normal statement.
  */
-  final public Statement Statement() throws ParseException {
+  static final public Statement Statement() throws ParseException {
   final Statement statement;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case IF:
@@ -3071,7 +3129,7 @@ Token token;
 /**
  * An html block inside a php syntax.
  */
-  final public HTMLBlock htmlBlock() throws ParseException {
+  static final public HTMLBlock htmlBlock() throws ParseException {
   final int startIndex = nodePtr;
   final AstNode[] blockNodes;
   final int nbNodes;
@@ -3103,7 +3161,7 @@ Token token;
         jj_consume_token(-1);
         throw new ParseException();
       }
-     createNewHTMLCode();
+     PHPParser.createNewHTMLCode();
     } catch (ParseException e) {
     errorMessage = "unexpected end of file , '<?php' expected";
     errorLevel   = ERROR;
@@ -3125,7 +3183,7 @@ Token token;
 /**
  * An include statement. It's "include" an expression;
  */
-  final public InclusionStatement IncludeStatement() throws ParseException {
+  static final public InclusionStatement IncludeStatement() throws ParseException {
   Expression expr;
   final int keyword;
   final InclusionStatement inclusionStatement;
@@ -3187,7 +3245,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public PrintExpression PrintExpression() throws ParseException {
+  static final public PrintExpression PrintExpression() throws ParseException {
   final Expression expr;
   final Token printToken;
     token = jj_consume_token(PRINT);
@@ -3196,7 +3254,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public ListExpression ListExpression() throws ParseException {
+  static final public ListExpression ListExpression() throws ParseException {
   Expression expr = null;
   final Expression expression;
   final ArrayList list = new ArrayList();
@@ -3290,7 +3348,7 @@ Token token;
  * An echo statement.
  * echo anyexpression (, otherexpression)*
  */
-  final public EchoStatement EchoStatement() throws ParseException {
+  static final public EchoStatement EchoStatement() throws ParseException {
   final ArrayList expressions = new ArrayList();
   Expression expr;
   Token token;
@@ -3332,7 +3390,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public GlobalStatement GlobalStatement() throws ParseException {
+  static final public GlobalStatement GlobalStatement() throws ParseException {
    Variable expr;
    final ArrayList vars = new ArrayList();
    final GlobalStatement global;
@@ -3376,7 +3434,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public StaticStatement StaticStatement() throws ParseException {
+  static final public StaticStatement StaticStatement() throws ParseException {
   final ArrayList vars = new ArrayList();
   VariableDeclaration expr;
   final Token token, token2;
@@ -3416,7 +3474,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public LabeledStatement LabeledStatement() throws ParseException {
+  static final public LabeledStatement LabeledStatement() throws ParseException {
   final Token label;
   final Statement statement;
     label = jj_consume_token(IDENTIFIER);
@@ -3433,7 +3491,7 @@ Token token;
  * }.
  * @return a block
  */
-  final public Block Block() throws ParseException {
+  static final public Block Block() throws ParseException {
   final ArrayList list = new ArrayList();
   Statement statement;
   final Token token, token2;
@@ -3444,7 +3502,7 @@ Token token;
     } catch (ParseException e) {
     errorMessage = "'{' expected";
     errorLevel   = ERROR;
-    pos = this.token.sourceEnd+1;
+    pos = PHPParser.token.sourceEnd+1;
     start=pos;
     errorStart = pos;
     errorEnd   = pos;
@@ -3556,7 +3614,7 @@ Token token;
                                     list.add(statement);
                                     pos = statement.sourceEnd+1;
                                   }
-                                  pos = this.token.sourceEnd+1;
+                                  pos = PHPParser.token.sourceEnd+1;
         break;
       default:
         jj_la1[90] = jj_gen;
@@ -3580,7 +3638,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public Statement BlockStatement() throws ParseException {
+  static final public Statement BlockStatement() throws ParseException {
   final Statement statement;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case IF:
@@ -3658,7 +3716,7 @@ Token token;
 /**
  * A Block statement that will not contain any 'break'
  */
-  final public Statement BlockStatementNoBreak() throws ParseException {
+  static final public Statement BlockStatementNoBreak() throws ParseException {
   final Statement statement;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case IF:
@@ -3725,7 +3783,7 @@ Token token;
 /**
  * used only by ForInit()
  */
-  final public Expression[] LocalVariableDeclaration() throws ParseException {
+  static final public Expression[] LocalVariableDeclaration() throws ParseException {
   final ArrayList list = new ArrayList();
   Expression var;
     var = Expression();
@@ -3753,7 +3811,7 @@ Token token;
 /**
  * used only by LocalVariableDeclaration().
  */
-  final public VariableDeclaration LocalVariableDeclarator() throws ParseException {
+  static final public VariableDeclaration LocalVariableDeclarator() throws ParseException {
   final Variable varName;
   Expression initializer = null;
     varName = Variable();
@@ -3780,7 +3838,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public EmptyStatement EmptyStatement() throws ParseException {
+  static 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 +3848,7 @@ Token token;
 /**
  * used only by StatementExpressionList() which is used only by ForInit() and ForStatement()
  */
-  final public Expression StatementExpression() throws ParseException {
+  static final public Expression StatementExpression() throws ParseException {
   final Expression expr;
   final Token operator;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -3841,7 +3899,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public SwitchStatement SwitchStatement() throws ParseException {
+  static final public SwitchStatement SwitchStatement() throws ParseException {
   Expression variable;
   final AbstractCase[] cases;
   final Token switchToken,lparenToken,rparenToken;
@@ -3897,11 +3955,11 @@ Token token;
    {if (true) return new SwitchStatement(variable,
                               cases,
                               switchToken.sourceStart,
-                              this.token.sourceEnd);}
+                              PHPParser.token.sourceEnd);}
     throw new Error("Missing return statement in function");
   }
 
-  final public AbstractCase[] switchStatementBrace() throws ParseException {
+  static final public AbstractCase[] switchStatementBrace() throws ParseException {
   AbstractCase cas;
   final ArrayList cases = new ArrayList();
   Token token;
@@ -3943,7 +4001,7 @@ Token token;
  * @param start the begin offset of the switch
  * @param end the end offset of the switch
  */
-  final public AbstractCase[] switchStatementColon(final int start, final int end) throws ParseException {
+  static final public AbstractCase[] switchStatementColon(final int start, final int end) throws ParseException {
   AbstractCase cas;
   final ArrayList cases = new ArrayList();
   Token token;
@@ -4000,12 +4058,12 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public AbstractCase switchLabel0() throws ParseException {
+  static final public AbstractCase switchLabel0() throws ParseException {
   final Expression expr;
   Statement statement;
   final ArrayList stmts = new ArrayList();
-  final Token token = this.token;
-  final int start = this.token.next.sourceStart;
+  final Token token = PHPParser.token;
+  final int start = PHPParser.token.next.sourceStart;
     expr = SwitchLabel();
     label_31:
     while (true) {
@@ -4124,7 +4182,7 @@ Token token;
     final Statement[] stmtsArray = new Statement[listSize];
     stmts.toArray(stmtsArray);
     if (expr == null) {//it's a default
-      final int end = this.token.next.sourceStart;
+      final int end = PHPParser.token.next.sourceStart;
       {if (true) return new DefaultCase(stmtsArray,start,end);}
     }
     if (listSize != 0) {
@@ -4141,7 +4199,7 @@ Token token;
  * default :
  * @return the if it was a case and null if not
  */
-  final public Expression SwitchLabel() throws ParseException {
+  static final public Expression SwitchLabel() throws ParseException {
   final Expression expr;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case CASE:
@@ -4188,7 +4246,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public Break BreakStatement() throws ParseException {
+  static final public Break BreakStatement() throws ParseException {
   Expression expression = null;
   final Token token, token2;
   int pos;
@@ -4238,7 +4296,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public IfStatement IfStatement() throws ParseException {
+  static final public IfStatement IfStatement() throws ParseException {
   final Expression condition;
   final IfStatement ifStatement;
   Token token;
@@ -4249,15 +4307,15 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression Condition(final String keyword) throws ParseException {
+  static 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 = this.token.sourceEnd + 1;
-    errorEnd   = this.token.sourceEnd + 1;
+    errorStart = PHPParser.token.sourceEnd + 1;
+    errorEnd   = PHPParser.token.sourceEnd + 1;
     processParseExceptionDebug(e);
     }
     condition = Expression();
@@ -4274,7 +4332,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public IfStatement IfStatement0(final Expression condition, final int start,final int end) throws ParseException {
+  static final public IfStatement IfStatement0(final Expression condition, final int start,final int end) throws ParseException {
   Statement statement;
   final Statement stmt;
   final Statement[] statementsArray;
@@ -4283,7 +4341,7 @@ Token token;
   final ArrayList stmts;
   final ArrayList elseIfList = new ArrayList();
   final ElseIf[] elseIfs;
-  int pos = jj_input_stream.getPosition();
+  int pos = SimpleCharStream.getPosition();
   final int endStatements;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case COLON:
@@ -4395,7 +4453,7 @@ Token token;
           throw new ParseException();
         }
       }
-    endStatements = jj_input_stream.getPosition();
+    endStatements = SimpleCharStream.getPosition();
       label_33:
       while (true) {
         switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -4453,7 +4511,7 @@ Token token;
                               elseIfs,
                               elseStatement,
                               pos,
-                              jj_input_stream.getPosition());}
+                              SimpleCharStream.getPosition());}
     } else {
       statementsArray = new Statement[stmts.size()];
       stmts.toArray(statementsArray);
@@ -4462,7 +4520,7 @@ Token token;
                              elseIfs,
                              elseStatement,
                              pos,
-                             jj_input_stream.getPosition());}
+                             SimpleCharStream.getPosition());}
     }
       break;
     case PHPEND:
@@ -4576,9 +4634,9 @@ Token token;
       case ELSE:
         jj_consume_token(ELSE);
         try {
-       pos = jj_input_stream.getPosition();
+       pos = SimpleCharStream.getPosition();
           statement = Statement();
-       elseStatement = new Else(statement,pos,jj_input_stream.getPosition());
+       elseStatement = new Else(statement,pos,SimpleCharStream.getPosition());
         } catch (ParseException e) {
       if (errorMessage != null) {
         {if (true) throw e;}
@@ -4601,7 +4659,7 @@ Token token;
                            elseIfs,
                            elseStatement,
                            pos,
-                           jj_input_stream.getPosition());}
+                           SimpleCharStream.getPosition());}
       break;
     default:
       jj_la1[112] = jj_gen;
@@ -4611,7 +4669,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public ElseIf ElseIfStatementColon() throws ParseException {
+  static final public ElseIf ElseIfStatementColon() throws ParseException {
   final Expression condition;
   Statement statement;
   final ArrayList list = new ArrayList();
@@ -4734,7 +4792,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public Else ElseStatementColon() throws ParseException {
+  static final public Else ElseStatementColon() throws ParseException {
   Statement statement;
   final ArrayList list = new ArrayList();
   final Token elseToken;
@@ -4853,7 +4911,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public ElseIf ElseIfStatement() throws ParseException {
+  static final public ElseIf ElseIfStatement() throws ParseException {
   final Expression condition;
   //final Statement statement;
   final Token elseifToken;
@@ -4865,7 +4923,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public WhileStatement WhileStatement() throws ParseException {
+  static final public WhileStatement WhileStatement() throws ParseException {
   final Expression condition;
   final Statement action;
   final Token whileToken;
@@ -4876,10 +4934,10 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public Statement WhileStatement0(final int start, final int end) throws ParseException {
+  static final public Statement WhileStatement0(final int start, final int end) throws ParseException {
   Statement statement;
   final ArrayList stmts = new ArrayList();
-  final int pos = jj_input_stream.getPosition();
+  final int pos = SimpleCharStream.getPosition();
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case COLON:
       jj_consume_token(COLON);
@@ -4959,7 +5017,7 @@ Token token;
         jj_consume_token(SEMICOLON);
     final Statement[] stmtsArray = new Statement[stmts.size()];
     stmts.toArray(stmtsArray);
-    {if (true) return new Block(stmtsArray,pos,jj_input_stream.getPosition());}
+    {if (true) return new Block(stmtsArray,pos,SimpleCharStream.getPosition());}
       } catch (ParseException e) {
     errorMessage = "';' expected after 'endwhile' keyword";
     errorLevel   = ERROR;
@@ -5020,7 +5078,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public DoStatement DoStatement() throws ParseException {
+  static final public DoStatement DoStatement() throws ParseException {
   final Statement action;
   final Expression condition;
   final Token token;
@@ -5045,7 +5103,7 @@ Token token;
     throw new Error("Missing return statement in function");
   }
 
-  final public ForeachStatement ForeachStatement() throws ParseException {
+  static final public ForeachStatement ForeachStatement() throws ParseException {
   Statement statement = null;
   Expression expression = null;
   ArrayVariableDeclaration variable = null;
@@ -5130,7 +5188,7 @@ Token token;
  * a for declaration.
  * @return a node representing the for statement
  */
-  final public ForStatement ForStatement() throws ParseException {
+  static final public ForStatement ForStatement() throws ParseException {
 final Token token,tokenEndFor,token2,tokenColon;
 int pos;
 Expression[] initializations = null;
@@ -5393,7 +5451,7 @@ final ArrayList list = new ArrayList();
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression[] ForInit() throws ParseException {
+  static final public Expression[] ForInit() throws ParseException {
   final Expression[] exprs;
     if (jj_2_5(2147483647)) {
       exprs = LocalVariableDeclaration();
@@ -5434,7 +5492,7 @@ final ArrayList list = new ArrayList();
     throw new Error("Missing return statement in function");
   }
 
-  final public Expression[] StatementExpressionList() throws ParseException {
+  static final public Expression[] StatementExpressionList() throws ParseException {
   final ArrayList list = new ArrayList();
   final Expression expr;
     expr = Expression();
@@ -5459,7 +5517,7 @@ final ArrayList list = new ArrayList();
     throw new Error("Missing return statement in function");
   }
 
-  final public Continue ContinueStatement() throws ParseException {
+  static final public Continue ContinueStatement() throws ParseException {
   Expression expr = null;
   final Token token;
   Token token2 = null;
@@ -5517,7 +5575,7 @@ final ArrayList list = new ArrayList();
     throw new Error("Missing return statement in function");
   }
 
-  final public ReturnStatement ReturnStatement() throws ParseException {
+  static final public ReturnStatement ReturnStatement() throws ParseException {
   Expression expr = null;
   final Token token;
   Token token2 = null;
@@ -5575,54 +5633,54 @@ final ArrayList list = new ArrayList();
     throw new Error("Missing return statement in function");
   }
 
-  final private boolean jj_2_1(int xla) {
+  static 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;
   }
 
-  final private boolean jj_2_2(int xla) {
+  static 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;
   }
 
-  final private boolean jj_2_3(int xla) {
+  static 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;
   }
 
-  final private boolean jj_2_4(int xla) {
+  static 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;
   }
 
-  final private boolean jj_2_5(int xla) {
+  static 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;
   }
 
-  final private boolean jj_3R_210() {
+  static final private boolean jj_3R_210() {
     if (jj_3R_116()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_209() {
+  static final private boolean jj_3R_209() {
     if (jj_3R_50()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_109() {
+  static final private boolean jj_3R_109() {
     if (jj_3R_114()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -5634,13 +5692,13 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_208() {
+  static 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;
   }
 
-  final private boolean jj_3R_203() {
+  static final private boolean jj_3R_203() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_208()) {
@@ -5654,7 +5712,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_110() {
+  static 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;
@@ -5662,7 +5720,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_103() {
+  static final private boolean jj_3R_103() {
     if (jj_3R_109()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -5674,7 +5732,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_188() {
+  static 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;
@@ -5682,13 +5740,13 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_132() {
+  static 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;
   }
 
-  final private boolean jj_3R_106() {
+  static 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;
@@ -5696,7 +5754,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_131() {
+  static 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;
@@ -5706,7 +5764,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_97() {
+  static final private boolean jj_3R_97() {
     if (jj_3R_103()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -5718,13 +5776,13 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_204() {
+  static final private boolean jj_3R_204() {
     if (jj_3R_207()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_122() {
+  static final private boolean jj_3R_122() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_130()) {
@@ -5738,7 +5796,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_130() {
+  static 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;
@@ -5746,19 +5804,19 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_108() {
+  static 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;
   }
 
-  final private boolean jj_3R_107() {
+  static 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;
   }
 
-  final private boolean jj_3R_100() {
+  static final private boolean jj_3R_100() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_107()) {
@@ -5771,7 +5829,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_81() {
+  static final private boolean jj_3R_81() {
     if (jj_3R_97()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -5783,7 +5841,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_79() {
+  static 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;
@@ -5795,7 +5853,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_195() {
+  static 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;
@@ -5807,7 +5865,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_68() {
+  static 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;
@@ -5815,13 +5873,13 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_202() {
+  static final private boolean jj_3R_202() {
     if (jj_3R_207()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_194() {
+  static final private boolean jj_3R_194() {
     if (jj_3R_116()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -5831,19 +5889,19 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_102() {
+  static 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;
   }
 
-  final private boolean jj_3R_101() {
+  static 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;
   }
 
-  final private boolean jj_3R_83() {
+  static final private boolean jj_3R_83() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_101()) {
@@ -5856,19 +5914,13 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  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() {
+  static final private boolean jj_3R_201() {
     if (jj_3R_207()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_76() {
+  static final private boolean jj_3R_76() {
     if (jj_3R_81()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -5880,7 +5932,13 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_51() {
+  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() {
     if (jj_scan_token(COMMA)) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     if (jj_3R_49()) return true;
@@ -5888,7 +5946,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_200() {
+  static 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;
@@ -5896,31 +5954,31 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_116() {
-    if (jj_3R_68()) return true;
+  static 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;
   }
 
-  final private boolean jj_3R_45() {
-    if (jj_3R_49()) return true;
+  static 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;
   }
 
-  final private boolean jj_3R_193() {
+  static 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;
@@ -5935,7 +5993,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_187() {
+  static final private boolean jj_3R_187() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_193()) {
@@ -5949,7 +6007,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_73() {
+  static final private boolean jj_3R_73() {
     if (jj_3R_76()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -5959,37 +6017,37 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_178() {
+  static final private boolean jj_3R_178() {
     if (jj_3R_188()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3_5() {
+  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;
   }
 
-  final private boolean jj_3R_186() {
+  static 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;
   }
 
-  final private boolean jj_3R_96() {
+  static 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;
   }
 
-  final private boolean jj_3R_95() {
+  static 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;
   }
 
-  final private boolean jj_3R_173() {
+  static final private boolean jj_3R_173() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_177()) {
@@ -6000,7 +6058,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_177() {
+  static final private boolean jj_3R_177() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_186()) jj_scanpos = xsp;
@@ -6010,73 +6068,73 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_94() {
+  static 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;
   }
 
-  final private boolean jj_3R_93() {
+  static 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;
   }
 
-  final private boolean jj_3R_92() {
+  static 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;
   }
 
-  final private boolean jj_3R_91() {
+  static 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;
   }
 
-  final private boolean jj_3R_90() {
+  static 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;
   }
 
-  final private boolean jj_3R_89() {
+  static 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;
   }
 
-  final private boolean jj_3R_88() {
+  static 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;
   }
 
-  final private boolean jj_3R_87() {
+  static 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;
   }
 
-  final private boolean jj_3R_86() {
+  static 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;
   }
 
-  final private boolean jj_3R_85() {
+  static 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;
   }
 
-  final private boolean jj_3R_84() {
+  static 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;
   }
 
-  final private boolean jj_3R_80() {
+  static final private boolean jj_3R_80() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_84()) {
@@ -6120,19 +6178,19 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_197() {
+  static 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;
   }
 
-  final private boolean jj_3R_196() {
+  static 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;
   }
 
-  final private boolean jj_3R_191() {
+  static final private boolean jj_3R_191() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_196()) {
@@ -6143,7 +6201,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_175() {
+  static final private boolean jj_3R_175() {
     if (jj_3R_173()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -6153,19 +6211,19 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_99() {
+  static final private boolean jj_3R_99() {
     if (jj_3R_105()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_98() {
+  static final private boolean jj_3R_98() {
     if (jj_3R_104()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_82() {
+  static final private boolean jj_3R_82() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_98()) {
@@ -6176,31 +6234,31 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_190() {
+  static 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;
   }
 
-  final private boolean jj_3R_189() {
+  static final private boolean jj_3R_189() {
     if (jj_3R_50()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_78() {
+  static final private boolean jj_3R_78() {
     if (jj_3R_82()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_43() {
+  static 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;
   }
 
-  final private boolean jj_3R_77() {
+  static 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;
@@ -6208,7 +6266,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_74() {
+  static final private boolean jj_3R_74() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_77()) {
@@ -6219,7 +6277,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_174() {
+  static 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;
@@ -6236,19 +6294,19 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_42() {
+  static final private boolean jj_3R_42() {
     if (jj_3R_50()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_58() {
+  static final private boolean jj_3R_58() {
     if (jj_3R_74()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3_3() {
+  static 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;
@@ -6263,7 +6321,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_172() {
+  static 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;
@@ -6273,19 +6331,19 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_171() {
+  static final private boolean jj_3R_171() {
     if (jj_3R_176()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_170() {
+  static final private boolean jj_3R_170() {
     if (jj_3R_175()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_166() {
+  static final private boolean jj_3R_166() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_169()) {
@@ -6302,13 +6360,13 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_169() {
+  static final private boolean jj_3R_169() {
     if (jj_3R_174()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_44() {
+  static 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;
@@ -6316,19 +6374,19 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_168() {
+  static 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;
   }
 
-  final private boolean jj_3R_167() {
+  static 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;
   }
 
-  final private boolean jj_3R_75() {
+  static 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;
@@ -6336,7 +6394,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_165() {
+  static final private boolean jj_3R_165() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_167()) {
@@ -6349,7 +6407,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_49() {
+  static final private boolean jj_3R_49() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_57()) {
@@ -6360,7 +6418,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_57() {
+  static final private boolean jj_3R_57() {
     if (jj_3R_73()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -6370,67 +6428,67 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_67() {
+  static 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;
   }
 
-  final private boolean jj_3R_161() {
+  static final private boolean jj_3R_161() {
     if (jj_3R_166()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_66() {
+  static 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;
   }
 
-  final private boolean jj_3R_65() {
+  static 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;
   }
 
-  final private boolean jj_3R_64() {
+  static 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;
   }
 
-  final private boolean jj_3R_160() {
+  static final private boolean jj_3R_160() {
     if (jj_3R_165()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_63() {
+  static 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;
   }
 
-  final private boolean jj_3R_62() {
+  static 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;
   }
 
-  final private boolean jj_3R_61() {
+  static 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;
   }
 
-  final private boolean jj_3R_60() {
+  static 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;
   }
 
-  final private boolean jj_3R_159() {
+  static 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;
@@ -6438,7 +6496,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_50() {
+  static final private boolean jj_3R_50() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_59()) {
@@ -6470,13 +6528,13 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_59() {
+  static 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;
   }
 
-  final private boolean jj_3R_156() {
+  static final private boolean jj_3R_156() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_158()) {
@@ -6493,7 +6551,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_158() {
+  static 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;
@@ -6501,19 +6559,19 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3_4() {
+  static final private boolean jj_3_4() {
     if (jj_3R_44()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_164() {
+  static final private boolean jj_3R_164() {
     if (jj_3R_156()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_163() {
+  static 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;
@@ -6521,7 +6579,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_157() {
+  static final private boolean jj_3R_157() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_162()) {
@@ -6535,7 +6593,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_162() {
+  static 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;
@@ -6543,13 +6601,13 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_155() {
+  static final private boolean jj_3R_155() {
     if (jj_3R_156()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_216() {
+  static 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;
@@ -6557,7 +6615,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_154() {
+  static 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;
@@ -6565,7 +6623,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_215() {
+  static final private boolean jj_3R_215() {
     if (jj_3R_49()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -6577,7 +6635,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_153() {
+  static 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;
@@ -6585,7 +6643,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_148() {
+  static final private boolean jj_3R_148() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_152()) {
@@ -6602,7 +6660,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_152() {
+  static 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;
@@ -6610,37 +6668,37 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_213() {
+  static final private boolean jj_3R_213() {
     if (jj_3R_215()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_144() {
+  static final private boolean jj_3R_144() {
     if (jj_3R_148()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_151() {
+  static 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;
   }
 
-  final private boolean jj_3R_150() {
+  static 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;
   }
 
-  final private boolean jj_3R_149() {
+  static 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;
   }
 
-  final private boolean jj_3R_207() {
+  static 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;
@@ -6652,7 +6710,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_145() {
+  static final private boolean jj_3R_145() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_149()) {
@@ -6668,7 +6726,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_139() {
+  static final private boolean jj_3R_139() {
     if (jj_3R_144()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -6680,7 +6738,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_212() {
+  static 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;
@@ -6690,25 +6748,25 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_147() {
+  static 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;
   }
 
-  final private boolean jj_3R_211() {
+  static 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;
   }
 
-  final private boolean jj_3R_146() {
+  static 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;
   }
 
-  final private boolean jj_3R_140() {
+  static final private boolean jj_3R_140() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_146()) {
@@ -6721,7 +6779,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_199() {
+  static 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;
@@ -6734,7 +6792,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_133() {
+  static final private boolean jj_3R_133() {
     if (jj_3R_139()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -6746,7 +6804,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_192() {
+  static 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;
@@ -6760,7 +6818,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_113() {
+  static 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;
@@ -6768,37 +6826,37 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_143() {
+  static 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;
   }
 
-  final private boolean jj_3R_142() {
+  static 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;
   }
 
-  final private boolean jj_3R_141() {
+  static 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;
   }
 
-  final private boolean jj_3R_185() {
+  static final private boolean jj_3R_185() {
     if (jj_3R_192()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_184() {
+  static 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;
   }
 
-  final private boolean jj_3R_134() {
+  static final private boolean jj_3R_134() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_141()) {
@@ -6814,19 +6872,19 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_183() {
+  static 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;
   }
 
-  final private boolean jj_3R_182() {
+  static 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;
   }
 
-  final private boolean jj_3R_123() {
+  static final private boolean jj_3R_123() {
     if (jj_3R_133()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -6838,31 +6896,31 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_181() {
+  static 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;
   }
 
-  final private boolean jj_3R_180() {
+  static 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;
   }
 
-  final private boolean jj_3R_117() {
+  static final private boolean jj_3R_117() {
     if (jj_3R_116()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_179() {
+  static 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;
   }
 
-  final private boolean jj_3R_176() {
+  static final private boolean jj_3R_176() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_179()) {
@@ -6888,25 +6946,25 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_138() {
+  static 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;
   }
 
-  final private boolean jj_3R_137() {
+  static 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;
   }
 
-  final private boolean jj_3R_136() {
+  static 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;
   }
 
-  final private boolean jj_3R_112() {
+  static 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;
@@ -6916,13 +6974,13 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_135() {
+  static 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;
   }
 
-  final private boolean jj_3R_124() {
+  static final private boolean jj_3R_124() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_135()) {
@@ -6941,7 +6999,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_120() {
+  static final private boolean jj_3R_120() {
     if (jj_3R_123()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -6953,25 +7011,25 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_111() {
+  static final private boolean jj_3R_111() {
     if (jj_3R_116()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_72() {
+  static final private boolean jj_3R_72() {
     if (jj_3R_50()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_71() {
+  static final private boolean jj_3R_71() {
     if (jj_3R_49()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_56() {
+  static final private boolean jj_3R_56() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_71()) {
@@ -6982,7 +7040,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_48() {
+  static 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;
@@ -6994,7 +7052,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_104() {
+  static 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;
@@ -7016,19 +7074,19 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_206() {
+  static 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;
   }
 
-  final private boolean jj_3R_70() {
+  static final private boolean jj_3R_70() {
     if (jj_3R_50()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3_2() {
+  static 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;
@@ -7036,7 +7094,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_55() {
+  static final private boolean jj_3R_55() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_69()) {
@@ -7047,13 +7105,13 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_69() {
+  static final private boolean jj_3R_69() {
     if (jj_3R_49()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_205() {
+  static final private boolean jj_3R_205() {
     if (jj_3R_41()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -7065,7 +7123,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_47() {
+  static 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;
@@ -7077,31 +7135,31 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_129() {
+  static 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;
   }
 
-  final private boolean jj_3R_128() {
+  static 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;
   }
 
-  final private boolean jj_3R_127() {
+  static 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;
   }
 
-  final private boolean jj_3R_126() {
+  static 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;
   }
 
-  final private boolean jj_3R_105() {
+  static 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;
@@ -7109,7 +7167,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_198() {
+  static 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;
@@ -7124,19 +7182,19 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_125() {
+  static 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;
   }
 
-  final private boolean jj_3R_54() {
+  static final private boolean jj_3R_54() {
     if (jj_3R_68()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     return false;
   }
 
-  final private boolean jj_3R_121() {
+  static final private boolean jj_3R_121() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_125()) {
@@ -7158,13 +7216,13 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_53() {
+  static 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;
   }
 
-  final private boolean jj_3R_118() {
+  static final private boolean jj_3R_118() {
     if (jj_3R_120()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -7176,7 +7234,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_214() {
+  static 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;
@@ -7184,7 +7242,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_52() {
+  static 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;
@@ -7194,7 +7252,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_41() {
+  static final private boolean jj_3R_41() {
     if (jj_3R_49()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -7204,7 +7262,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_119() {
+  static 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;
@@ -7212,7 +7270,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_46() {
+  static 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;
@@ -7228,7 +7286,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_40() {
+  static final private boolean jj_3R_40() {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_46()) {
@@ -7242,7 +7300,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_114() {
+  static final private boolean jj_3R_114() {
     if (jj_3R_118()) return true;
     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
     Token xsp;
@@ -7254,7 +7312,7 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  final private boolean jj_3R_115() {
+  static 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;
@@ -7262,16 +7320,17 @@ final ArrayList list = new ArrayList();
     return false;
   }
 
-  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 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];
   static private int[] jj_la1_0;
   static private int[] jj_la1_1;
   static private int[] jj_la1_2;
@@ -7299,11 +7358,18 @@ 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,};
    }
-  final private JJCalls[] jj_2_rtns = new JJCalls[5];
-  private boolean jj_rescan = false;
-  private int jj_gc = 0;
+  static final private JJCalls[] jj_2_rtns = new JJCalls[5];
+  static private boolean jj_rescan = false;
+  static 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();
@@ -7313,7 +7379,7 @@ final ArrayList list = new ArrayList();
     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
   }
 
-  public void ReInit(java.io.InputStream stream) {
+  static public void ReInit(java.io.InputStream stream) {
     jj_input_stream.ReInit(stream, 1, 1);
     token_source.ReInit(jj_input_stream);
     token = new Token();
@@ -7324,6 +7390,13 @@ 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();
@@ -7333,7 +7406,7 @@ final ArrayList list = new ArrayList();
     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
   }
 
-  public void ReInit(java.io.Reader stream) {
+  static public void ReInit(java.io.Reader stream) {
     jj_input_stream.ReInit(stream, 1, 1);
     token_source.ReInit(jj_input_stream);
     token = new Token();
@@ -7344,6 +7417,13 @@ 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;
@@ -7361,7 +7441,7 @@ final ArrayList list = new ArrayList();
     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
   }
 
-  final private Token jj_consume_token(int kind) throws ParseException {
+  static 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();
@@ -7385,7 +7465,7 @@ final ArrayList list = new ArrayList();
     throw generateParseException();
   }
 
-  final private boolean jj_scan_token(int kind) {
+  static final private boolean jj_scan_token(int kind) {
     if (jj_scanpos == jj_lastpos) {
       jj_la--;
       if (jj_scanpos.next == null) {
@@ -7404,7 +7484,7 @@ final ArrayList list = new ArrayList();
     return (jj_scanpos.kind != kind);
   }
 
-  final public Token getNextToken() {
+  static final public Token getNextToken() {
     if (token.next != null) token = token.next;
     else token = token.next = token_source.getNextToken();
     jj_ntk = -1;
@@ -7412,7 +7492,7 @@ final ArrayList list = new ArrayList();
     return token;
   }
 
-  final public Token getToken(int index) {
+  static 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;
@@ -7421,20 +7501,20 @@ final ArrayList list = new ArrayList();
     return t;
   }
 
-  final private int jj_ntk() {
+  static 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);
   }
 
-  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 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 void jj_add_error_token(int kind, int pos) {
+  static private void jj_add_error_token(int kind, int pos) {
     if (pos >= 100) return;
     if (pos == jj_endpos + 1) {
       jj_lasttokens[jj_endpos++] = kind;
@@ -7462,7 +7542,7 @@ final ArrayList list = new ArrayList();
     }
   }
 
-  public ParseException generateParseException() {
+  static public ParseException generateParseException() {
     jj_expentries.removeAllElements();
     boolean[] la1tokens = new boolean[160];
     for (int i = 0; i < 160; i++) {
@@ -7510,13 +7590,13 @@ final ArrayList list = new ArrayList();
     return new ParseException(token, exptokseq, tokenImage);
   }
 
-  final public void enable_tracing() {
+  static final public void enable_tracing() {
   }
 
-  final public void disable_tracing() {
+  static final public void disable_tracing() {
   }
 
-  final private void jj_rescan_token() {
+  static final private void jj_rescan_token() {
     jj_rescan = true;
     for (int i = 0; i < 5; i++) {
       JJCalls p = jj_2_rtns[i];
@@ -7537,7 +7617,7 @@ final ArrayList list = new ArrayList();
     jj_rescan = false;
   }
 
-  final private void jj_save(int index, int xla) {
+  static 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; }
@@ -7553,4 +7633,5 @@ final ArrayList list = new ArrayList();
     JJCalls next;
   }
 
+
 }