You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2021/09/30 07:05:47 UTC

[tomcat] 01/02: Regenerate parser using JavaCC 7.0.10

This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 22e481064be7fae9ee9f5b11d5ef88e5cc5a64e4
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Wed Sep 29 22:13:44 2021 +0100

    Regenerate parser using JavaCC 7.0.10
---
 java/org/apache/el/parser/ELParser.java            | 2198 +++++++++++---------
 .../org/apache/el/parser/ELParserTokenManager.java | 1188 ++++++-----
 .../apache/el/parser/ELParserTreeConstants.java    |    4 +-
 java/org/apache/el/parser/JJTELParserState.java    |    4 +-
 java/org/apache/el/parser/ParseException.java      |   48 +-
 java/org/apache/el/parser/SimpleCharStream.java    |   57 +-
 java/org/apache/el/parser/Token.java               |    7 +-
 java/org/apache/el/parser/TokenMgrError.java       |   32 +-
 webapps/docs/changelog.xml                         |    7 +
 9 files changed, 1872 insertions(+), 1673 deletions(-)

diff --git a/java/org/apache/el/parser/ELParser.java b/java/org/apache/el/parser/ELParser.java
index f04518a..8035c82 100644
--- a/java/org/apache/el/parser/ELParser.java
+++ b/java/org/apache/el/parser/ELParser.java
@@ -1,7 +1,7 @@
+/* ELParser.java */
 /* Generated By:JJTree&JavaCC: Do not edit this line. ELParser.java */
 package org.apache.el.parser;
 import java.io.StringReader;
-
 import jakarta.el.ELException;
 @SuppressWarnings("all") // Ignore warnings in generated code
 public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParserConstants {/*@bgen(jjtree)*/
@@ -19,34 +19,37 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
  * Allow most flexible parsing, restrict by examining
  * type of returned node
  */
-  final public AstCompositeExpression CompositeExpression() throws ParseException {
-                                                                     /*@bgen(jjtree) CompositeExpression */
+  final public AstCompositeExpression CompositeExpression() throws ParseException {/*@bgen(jjtree) CompositeExpression */
   AstCompositeExpression jjtn000 = new AstCompositeExpression(JJTCOMPOSITEEXPRESSION);
   boolean jjtc000 = true;
   jjtree.openNodeScope(jjtn000);
     try {
       label_1:
       while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
         case LITERAL_EXPRESSION:
         case START_DYNAMIC_EXPRESSION:
-        case START_DEFERRED_EXPRESSION:
+        case START_DEFERRED_EXPRESSION:{
           ;
           break;
+          }
         default:
           jj_la1[0] = jj_gen;
           break label_1;
         }
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case START_DEFERRED_EXPRESSION:
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case START_DEFERRED_EXPRESSION:{
           DeferredExpression();
           break;
-        case START_DYNAMIC_EXPRESSION:
+          }
+        case START_DYNAMIC_EXPRESSION:{
           DynamicExpression();
           break;
-        case LITERAL_EXPRESSION:
+          }
+        case LITERAL_EXPRESSION:{
           LiteralExpression();
           break;
+          }
         default:
           jj_la1[1] = jj_gen;
           jj_consume_token(-1);
@@ -54,13 +57,13 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
         }
       }
       jj_consume_token(0);
-                                   jjtree.closeNodeScope(jjtn000, true);
+jjtree.closeNodeScope(jjtn000, true);
                                    jjtc000 = false;
-                                   {if (true) {
-                                    return jjtn000;
-                                  }}
+{if ("" != null) {
+    return jjtn000;
+}}
     } catch (Throwable jjte000) {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.clearNodeScope(jjtn000);
         jjtc000 = false;
       } else {
@@ -68,52 +71,50 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       }
       if (jjte000 instanceof RuntimeException) {
         {if (true) {
-          throw (RuntimeException)jjte000;
+            throw (RuntimeException)jjte000;
         }}
       }
       if (jjte000 instanceof ParseException) {
         {if (true) {
-          throw (ParseException)jjte000;
+            throw (ParseException)jjte000;
         }}
       }
       {if (true) {
         throw (Error)jjte000;
-      }}
+    }}
     } finally {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.closeNodeScope(jjtn000, true);
       }
     }
     throw new Error("Missing return statement in function");
-  }
+}
 
 /*
  * LiteralExpression
  * Non-EL Expression blocks
  */
-  final public void LiteralExpression() throws ParseException {
-                                               /*@bgen(jjtree) LiteralExpression */
+  final public void LiteralExpression() throws ParseException {/*@bgen(jjtree) LiteralExpression */
                                                 AstLiteralExpression jjtn000 = new AstLiteralExpression(JJTLITERALEXPRESSION);
                                                 boolean jjtc000 = true;
                                                 jjtree.openNodeScope(jjtn000);Token t = null;
     try {
       t = jj_consume_token(LITERAL_EXPRESSION);
-                             jjtree.closeNodeScope(jjtn000, true);
+jjtree.closeNodeScope(jjtn000, true);
                              jjtc000 = false;
-                             jjtn000.setImage(t.image);
+jjtn000.setImage(t.image);
     } finally {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.closeNodeScope(jjtn000, true);
       }
     }
-  }
+}
 
 /*
  * DeferredExpression
  * #{...} Expressions
  */
-  final public void DeferredExpression() throws ParseException {
-                                                 /*@bgen(jjtree) DeferredExpression */
+  final public void DeferredExpression() throws ParseException {/*@bgen(jjtree) DeferredExpression */
   AstDeferredExpression jjtn000 = new AstDeferredExpression(JJTDEFERREDEXPRESSION);
   boolean jjtc000 = true;
   jjtree.openNodeScope(jjtn000);
@@ -122,7 +123,7 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       Expression();
       jj_consume_token(RBRACE);
     } catch (Throwable jjte000) {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.clearNodeScope(jjtn000);
         jjtc000 = false;
       } else {
@@ -130,30 +131,29 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       }
       if (jjte000 instanceof RuntimeException) {
         {if (true) {
-          throw (RuntimeException)jjte000;
+            throw (RuntimeException)jjte000;
         }}
       }
       if (jjte000 instanceof ParseException) {
         {if (true) {
-          throw (ParseException)jjte000;
+            throw (ParseException)jjte000;
         }}
       }
       {if (true) {
         throw (Error)jjte000;
-      }}
+    }}
     } finally {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.closeNodeScope(jjtn000, true);
       }
     }
-  }
+}
 
 /*
  * DynamicExpression
  * ${...} Expressions
  */
-  final public void DynamicExpression() throws ParseException {
-                                               /*@bgen(jjtree) DynamicExpression */
+  final public void DynamicExpression() throws ParseException {/*@bgen(jjtree) DynamicExpression */
   AstDynamicExpression jjtn000 = new AstDynamicExpression(JJTDYNAMICEXPRESSION);
   boolean jjtc000 = true;
   jjtree.openNodeScope(jjtn000);
@@ -162,7 +162,7 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       Expression();
       jj_consume_token(RBRACE);
     } catch (Throwable jjte000) {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.clearNodeScope(jjtn000);
         jjtc000 = false;
       } else {
@@ -170,23 +170,23 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       }
       if (jjte000 instanceof RuntimeException) {
         {if (true) {
-          throw (RuntimeException)jjte000;
+            throw (RuntimeException)jjte000;
         }}
       }
       if (jjte000 instanceof ParseException) {
         {if (true) {
-          throw (ParseException)jjte000;
+            throw (ParseException)jjte000;
         }}
       }
       {if (true) {
         throw (Error)jjte000;
-      }}
+    }}
     } finally {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.closeNodeScope(jjtn000, true);
       }
     }
-  }
+}
 
 /*
  * Expression
@@ -194,7 +194,7 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
  */
   final public void Expression() throws ParseException {
     Semicolon();
-  }
+}
 
 /*
  * Semicolon
@@ -203,22 +203,23 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
     Assignment();
     label_2:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case SEMICOLON:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case SEMICOLON:{
         ;
         break;
+        }
       default:
         jj_la1[2] = jj_gen;
         break label_2;
       }
       jj_consume_token(SEMICOLON);
-                                 AstSemicolon jjtn001 = new AstSemicolon(JJTSEMICOLON);
+AstSemicolon jjtn001 = new AstSemicolon(JJTSEMICOLON);
                                  boolean jjtc001 = true;
                                  jjtree.openNodeScope(jjtn001);
       try {
         Assignment();
       } catch (Throwable jjte001) {
-                                 if (jjtc001) {
+if (jjtc001) {
                                    jjtree.clearNodeScope(jjtn001);
                                    jjtc001 = false;
                                  } else {
@@ -227,23 +228,23 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
                                  if (jjte001 instanceof RuntimeException) {
                                    {if (true) {
                                     throw (RuntimeException)jjte001;
-                                  }}
+                                }}
                                  }
                                  if (jjte001 instanceof ParseException) {
                                    {if (true) {
                                     throw (ParseException)jjte001;
-                                  }}
+                                }}
                                  }
                                  {if (true) {
-                                  throw (Error)jjte001;
+                                    throw (Error)jjte001;
                                 }}
       } finally {
-                                 if (jjtc001) {
+if (jjtc001) {
                                    jjtree.closeNodeScope(jjtn001,  2);
                                  }
       }
     }
-  }
+}
 
 /*
  * Assignment
@@ -252,7 +253,7 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
     if (jj_2_2(4)) {
       LambdaExpression();
     } else {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case START_SET_OR_MAP:
       case INTEGER_LITERAL:
       case FLOATING_POINT_LITERAL:
@@ -266,7 +267,7 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       case NOT1:
       case EMPTY:
       case MINUS:
-      case IDENTIFIER:
+      case IDENTIFIER:{
         Choice();
         label_3:
         while (true) {
@@ -276,13 +277,13 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
             break label_3;
           }
           jj_consume_token(ASSIGN);
-                                       AstAssign jjtn001 = new AstAssign(JJTASSIGN);
+AstAssign jjtn001 = new AstAssign(JJTASSIGN);
                                        boolean jjtc001 = true;
                                        jjtree.openNodeScope(jjtn001);
           try {
             Assignment();
           } catch (Throwable jjte001) {
-                                       if (jjtc001) {
+if (jjtc001) {
                                          jjtree.clearNodeScope(jjtn001);
                                          jjtc001 = false;
                                        } else {
@@ -290,37 +291,37 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
                                        }
                                        if (jjte001 instanceof RuntimeException) {
                                          {if (true) {
-                                          throw (RuntimeException)jjte001;
+                                            throw (RuntimeException)jjte001;
                                         }}
                                        }
                                        if (jjte001 instanceof ParseException) {
                                          {if (true) {
-                                          throw (ParseException)jjte001;
+                                            throw (ParseException)jjte001;
                                         }}
                                        }
                                        {if (true) {
                                         throw (Error)jjte001;
-                                      }}
+                                    }}
           } finally {
-                                       if (jjtc001) {
+if (jjtc001) {
                                          jjtree.closeNodeScope(jjtn001,  2);
                                        }
           }
         }
         break;
+        }
       default:
         jj_la1[3] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
     }
-  }
+}
 
 /*
  * Lambda expression
  */
-  final public void LambdaExpression() throws ParseException {
-                                             /*@bgen(jjtree) LambdaExpression */
+  final public void LambdaExpression() throws ParseException {/*@bgen(jjtree) LambdaExpression */
   AstLambdaExpression jjtn000 = new AstLambdaExpression(JJTLAMBDAEXPRESSION);
   boolean jjtc000 = true;
   jjtree.openNodeScope(jjtn000);
@@ -330,7 +331,7 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       if (jj_2_3(3)) {
         LambdaExpression();
       } else {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
         case START_SET_OR_MAP:
         case INTEGER_LITERAL:
         case FLOATING_POINT_LITERAL:
@@ -344,9 +345,10 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
         case NOT1:
         case EMPTY:
         case MINUS:
-        case IDENTIFIER:
+        case IDENTIFIER:{
           Choice();
           break;
+          }
         default:
           jj_la1[4] = jj_gen;
           jj_consume_token(-1);
@@ -354,7 +356,7 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
         }
       }
     } catch (Throwable jjte000) {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.clearNodeScope(jjtn000);
         jjtc000 = false;
       } else {
@@ -362,48 +364,49 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       }
       if (jjte000 instanceof RuntimeException) {
         {if (true) {
-          throw (RuntimeException)jjte000;
+            throw (RuntimeException)jjte000;
         }}
       }
       if (jjte000 instanceof ParseException) {
         {if (true) {
-          throw (ParseException)jjte000;
+            throw (ParseException)jjte000;
         }}
       }
       {if (true) {
         throw (Error)jjte000;
-      }}
+    }}
     } finally {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.closeNodeScope(jjtn000, true);
       }
     }
-  }
+}
 
 /*
  * Lambda parameters
  */
-  final public void LambdaParameters() throws ParseException {
-                                             /*@bgen(jjtree) LambdaParameters */
+  final public void LambdaParameters() throws ParseException {/*@bgen(jjtree) LambdaParameters */
   AstLambdaParameters jjtn000 = new AstLambdaParameters(JJTLAMBDAPARAMETERS);
   boolean jjtc000 = true;
   jjtree.openNodeScope(jjtn000);
     try {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case IDENTIFIER:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case IDENTIFIER:{
         Identifier();
         break;
-      case LPAREN:
+        }
+      case LPAREN:{
         jj_consume_token(LPAREN);
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case IDENTIFIER:
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case IDENTIFIER:{
           Identifier();
           label_4:
           while (true) {
-            switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-            case COMMA:
+            switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+            case COMMA:{
               ;
               break;
+              }
             default:
               jj_la1[5] = jj_gen;
               break label_4;
@@ -412,19 +415,21 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
             Identifier();
           }
           break;
+          }
         default:
           jj_la1[6] = jj_gen;
           ;
         }
         jj_consume_token(RPAREN);
         break;
+        }
       default:
         jj_la1[7] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
     } catch (Throwable jjte000) {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.clearNodeScope(jjtn000);
         jjtc000 = false;
       } else {
@@ -432,30 +437,29 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       }
       if (jjte000 instanceof RuntimeException) {
         {if (true) {
-          throw (RuntimeException)jjte000;
+            throw (RuntimeException)jjte000;
         }}
       }
       if (jjte000 instanceof ParseException) {
         {if (true) {
-          throw (ParseException)jjte000;
+            throw (ParseException)jjte000;
         }}
       }
       {if (true) {
         throw (Error)jjte000;
-      }}
+    }}
     } finally {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.closeNodeScope(jjtn000, true);
       }
     }
-  }
+}
 
 /*
  * Possible invocation of lambda expression. Invocations must be bracketed but
  * being bracketed does not mean it is an invocation.
  */
-  final public void LambdaExpressionOrInvocation() throws ParseException {
-                                                         /*@bgen(jjtree) LambdaExpression */
+  final public void LambdaExpressionOrInvocation() throws ParseException {/*@bgen(jjtree) LambdaExpression */
   AstLambdaExpression jjtn000 = new AstLambdaExpression(JJTLAMBDAEXPRESSION);
   boolean jjtc000 = true;
   jjtree.openNodeScope(jjtn000);
@@ -466,7 +470,7 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       if (jj_2_4(3)) {
         LambdaExpression();
       } else {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
         case START_SET_OR_MAP:
         case INTEGER_LITERAL:
         case FLOATING_POINT_LITERAL:
@@ -480,9 +484,10 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
         case NOT1:
         case EMPTY:
         case MINUS:
-        case IDENTIFIER:
+        case IDENTIFIER:{
           Choice();
           break;
+          }
         default:
           jj_la1[8] = jj_gen;
           jj_consume_token(-1);
@@ -492,10 +497,11 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       jj_consume_token(RPAREN);
       label_5:
       while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case LPAREN:
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case LPAREN:{
           ;
           break;
+          }
         default:
           jj_la1[9] = jj_gen;
           break label_5;
@@ -503,7 +509,7 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
         MethodParameters();
       }
     } catch (Throwable jjte000) {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.clearNodeScope(jjtn000);
         jjtc000 = false;
       } else {
@@ -511,23 +517,23 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       }
       if (jjte000 instanceof RuntimeException) {
         {if (true) {
-          throw (RuntimeException)jjte000;
+            throw (RuntimeException)jjte000;
         }}
       }
       if (jjte000 instanceof ParseException) {
         {if (true) {
-          throw (ParseException)jjte000;
+            throw (ParseException)jjte000;
         }}
       }
       {if (true) {
         throw (Error)jjte000;
-      }}
+    }}
     } finally {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.closeNodeScope(jjtn000, true);
       }
     }
-  }
+}
 
 /*
  * Choice
@@ -545,13 +551,13 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       jj_consume_token(QUESTIONMARK);
       Choice();
       jj_consume_token(COLON);
-                                                         AstChoice jjtn001 = new AstChoice(JJTCHOICE);
+AstChoice jjtn001 = new AstChoice(JJTCHOICE);
                                                          boolean jjtc001 = true;
                                                          jjtree.openNodeScope(jjtn001);
       try {
         Choice();
       } catch (Throwable jjte001) {
-                                                         if (jjtc001) {
+if (jjtc001) {
                                                            jjtree.clearNodeScope(jjtn001);
                                                            jjtc001 = false;
                                                          } else {
@@ -560,23 +566,23 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
                                                          if (jjte001 instanceof RuntimeException) {
                                                            {if (true) {
                                                             throw (RuntimeException)jjte001;
-                                                          }}
+                                                        }}
                                                          }
                                                          if (jjte001 instanceof ParseException) {
                                                            {if (true) {
                                                             throw (ParseException)jjte001;
-                                                          }}
+                                                        }}
                                                          }
                                                          {if (true) {
-                                                          throw (Error)jjte001;
+                                                            throw (Error)jjte001;
                                                         }}
       } finally {
-                                                         if (jjtc001) {
+if (jjtc001) {
                                                            jjtree.closeNodeScope(jjtn001,  3);
                                                          }
       }
     }
-  }
+}
 
 /*
  * Or
@@ -586,34 +592,37 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
     And();
     label_7:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case OR0:
-      case OR1:
+      case OR1:{
         ;
         break;
+        }
       default:
         jj_la1[10] = jj_gen;
         break label_7;
       }
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case OR0:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case OR0:{
         jj_consume_token(OR0);
         break;
-      case OR1:
+        }
+      case OR1:{
         jj_consume_token(OR1);
         break;
+        }
       default:
         jj_la1[11] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
-                           AstOr jjtn001 = new AstOr(JJTOR);
+AstOr jjtn001 = new AstOr(JJTOR);
                            boolean jjtc001 = true;
                            jjtree.openNodeScope(jjtn001);
       try {
         And();
       } catch (Throwable jjte001) {
-                           if (jjtc001) {
+if (jjtc001) {
                              jjtree.clearNodeScope(jjtn001);
                              jjtc001 = false;
                            } else {
@@ -621,24 +630,24 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
                            }
                            if (jjte001 instanceof RuntimeException) {
                              {if (true) {
-                              throw (RuntimeException)jjte001;
+                                throw (RuntimeException)jjte001;
                             }}
                            }
                            if (jjte001 instanceof ParseException) {
                              {if (true) {
-                              throw (ParseException)jjte001;
+                                throw (ParseException)jjte001;
                             }}
                            }
                            {if (true) {
                             throw (Error)jjte001;
-                          }}
+                        }}
       } finally {
-                           if (jjtc001) {
+if (jjtc001) {
                              jjtree.closeNodeScope(jjtn001,  2);
                            }
       }
     }
-  }
+}
 
 /*
  * And
@@ -648,34 +657,37 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
     Equality();
     label_8:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case AND0:
-      case AND1:
+      case AND1:{
         ;
         break;
+        }
       default:
         jj_la1[12] = jj_gen;
         break label_8;
       }
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case AND0:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case AND0:{
         jj_consume_token(AND0);
         break;
-      case AND1:
+        }
+      case AND1:{
         jj_consume_token(AND1);
         break;
+        }
       default:
         jj_la1[13] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
-                                  AstAnd jjtn001 = new AstAnd(JJTAND);
+AstAnd jjtn001 = new AstAnd(JJTAND);
                                   boolean jjtc001 = true;
                                   jjtree.openNodeScope(jjtn001);
       try {
         Equality();
       } catch (Throwable jjte001) {
-                                  if (jjtc001) {
+if (jjtc001) {
                                     jjtree.clearNodeScope(jjtn001);
                                     jjtc001 = false;
                                   } else {
@@ -683,24 +695,24 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
                                   }
                                   if (jjte001 instanceof RuntimeException) {
                                     {if (true) {
-                                      throw (RuntimeException)jjte001;
+                                        throw (RuntimeException)jjte001;
                                     }}
                                   }
                                   if (jjte001 instanceof ParseException) {
                                     {if (true) {
-                                      throw (ParseException)jjte001;
+                                        throw (ParseException)jjte001;
                                     }}
                                   }
                                   {if (true) {
                                     throw (Error)jjte001;
-                                  }}
+                                }}
       } finally {
-                                  if (jjtc001) {
+if (jjtc001) {
                                     jjtree.closeNodeScope(jjtn001,  2);
                                   }
       }
     }
-  }
+}
 
 /*
  * Equality
@@ -710,39 +722,42 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
     Compare();
     label_9:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case EQ0:
       case EQ1:
       case NE0:
-      case NE1:
+      case NE1:{
         ;
         break;
+        }
       default:
         jj_la1[14] = jj_gen;
         break label_9;
       }
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case EQ0:
-      case EQ1:
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case EQ0:
+      case EQ1:{
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case EQ0:{
           jj_consume_token(EQ0);
           break;
-        case EQ1:
+          }
+        case EQ1:{
           jj_consume_token(EQ1);
           break;
+          }
         default:
           jj_la1[15] = jj_gen;
           jj_consume_token(-1);
           throw new ParseException();
         }
-                         AstEqual jjtn001 = new AstEqual(JJTEQUAL);
+AstEqual jjtn001 = new AstEqual(JJTEQUAL);
                          boolean jjtc001 = true;
                          jjtree.openNodeScope(jjtn001);
         try {
           Compare();
         } catch (Throwable jjte001) {
-                         if (jjtc001) {
+if (jjtc001) {
                            jjtree.clearNodeScope(jjtn001);
                            jjtc001 = false;
                          } else {
@@ -751,43 +766,46 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
                          if (jjte001 instanceof RuntimeException) {
                            {if (true) {
                             throw (RuntimeException)jjte001;
-                          }}
+                        }}
                          }
                          if (jjte001 instanceof ParseException) {
                            {if (true) {
                             throw (ParseException)jjte001;
-                          }}
+                        }}
                          }
                          {if (true) {
-                          throw (Error)jjte001;
+                            throw (Error)jjte001;
                         }}
         } finally {
-                         if (jjtc001) {
+if (jjtc001) {
                            jjtree.closeNodeScope(jjtn001,  2);
                          }
         }
         break;
+        }
       case NE0:
-      case NE1:
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case NE0:
+      case NE1:{
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case NE0:{
           jj_consume_token(NE0);
           break;
-        case NE1:
+          }
+        case NE1:{
           jj_consume_token(NE1);
           break;
+          }
         default:
           jj_la1[16] = jj_gen;
           jj_consume_token(-1);
           throw new ParseException();
         }
-                         AstNotEqual jjtn002 = new AstNotEqual(JJTNOTEQUAL);
+AstNotEqual jjtn002 = new AstNotEqual(JJTNOTEQUAL);
                          boolean jjtc002 = true;
                          jjtree.openNodeScope(jjtn002);
         try {
           Compare();
         } catch (Throwable jjte002) {
-                         if (jjtc002) {
+if (jjtc002) {
                            jjtree.clearNodeScope(jjtn002);
                            jjtc002 = false;
                          } else {
@@ -796,29 +814,30 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
                          if (jjte002 instanceof RuntimeException) {
                            {if (true) {
                             throw (RuntimeException)jjte002;
-                          }}
+                        }}
                          }
                          if (jjte002 instanceof ParseException) {
                            {if (true) {
                             throw (ParseException)jjte002;
-                          }}
+                        }}
                          }
                          {if (true) {
-                          throw (Error)jjte002;
+                            throw (Error)jjte002;
                         }}
         } finally {
-                         if (jjtc002) {
+if (jjtc002) {
                            jjtree.closeNodeScope(jjtn002,  2);
                          }
         }
         break;
+        }
       default:
         jj_la1[17] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
     }
-  }
+}
 
 /*
  * Compare
@@ -828,7 +847,7 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
     Concatenation();
     label_10:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case GT0:
       case GT1:
       case LT0:
@@ -836,35 +855,38 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       case GE0:
       case GE1:
       case LE0:
-      case LE1:
+      case LE1:{
         ;
         break;
+        }
       default:
         jj_la1[18] = jj_gen;
         break label_10;
       }
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case LT0:
-      case LT1:
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case LT0:
+      case LT1:{
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case LT0:{
           jj_consume_token(LT0);
           break;
-        case LT1:
+          }
+        case LT1:{
           jj_consume_token(LT1);
           break;
+          }
         default:
           jj_la1[19] = jj_gen;
           jj_consume_token(-1);
           throw new ParseException();
         }
-                         AstLessThan jjtn001 = new AstLessThan(JJTLESSTHAN);
+AstLessThan jjtn001 = new AstLessThan(JJTLESSTHAN);
                          boolean jjtc001 = true;
                          jjtree.openNodeScope(jjtn001);
         try {
           Concatenation();
         } catch (Throwable jjte001) {
-                         if (jjtc001) {
+if (jjtc001) {
                            jjtree.clearNodeScope(jjtn001);
                            jjtc001 = false;
                          } else {
@@ -873,43 +895,46 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
                          if (jjte001 instanceof RuntimeException) {
                            {if (true) {
                             throw (RuntimeException)jjte001;
-                          }}
+                        }}
                          }
                          if (jjte001 instanceof ParseException) {
                            {if (true) {
                             throw (ParseException)jjte001;
-                          }}
+                        }}
                          }
                          {if (true) {
-                          throw (Error)jjte001;
+                            throw (Error)jjte001;
                         }}
         } finally {
-                         if (jjtc001) {
+if (jjtc001) {
                            jjtree.closeNodeScope(jjtn001,  2);
                          }
         }
         break;
+        }
       case GT0:
-      case GT1:
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case GT0:
+      case GT1:{
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case GT0:{
           jj_consume_token(GT0);
           break;
-        case GT1:
+          }
+        case GT1:{
           jj_consume_token(GT1);
           break;
+          }
         default:
           jj_la1[20] = jj_gen;
           jj_consume_token(-1);
           throw new ParseException();
         }
-                         AstGreaterThan jjtn002 = new AstGreaterThan(JJTGREATERTHAN);
+AstGreaterThan jjtn002 = new AstGreaterThan(JJTGREATERTHAN);
                          boolean jjtc002 = true;
                          jjtree.openNodeScope(jjtn002);
         try {
           Concatenation();
         } catch (Throwable jjte002) {
-                         if (jjtc002) {
+if (jjtc002) {
                            jjtree.clearNodeScope(jjtn002);
                            jjtc002 = false;
                          } else {
@@ -918,43 +943,46 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
                          if (jjte002 instanceof RuntimeException) {
                            {if (true) {
                             throw (RuntimeException)jjte002;
-                          }}
+                        }}
                          }
                          if (jjte002 instanceof ParseException) {
                            {if (true) {
                             throw (ParseException)jjte002;
-                          }}
+                        }}
                          }
                          {if (true) {
-                          throw (Error)jjte002;
+                            throw (Error)jjte002;
                         }}
         } finally {
-                         if (jjtc002) {
+if (jjtc002) {
                            jjtree.closeNodeScope(jjtn002,  2);
                          }
         }
         break;
+        }
       case LE0:
-      case LE1:
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case LE0:
+      case LE1:{
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case LE0:{
           jj_consume_token(LE0);
           break;
-        case LE1:
+          }
+        case LE1:{
           jj_consume_token(LE1);
           break;
+          }
         default:
           jj_la1[21] = jj_gen;
           jj_consume_token(-1);
           throw new ParseException();
         }
-                         AstLessThanEqual jjtn003 = new AstLessThanEqual(JJTLESSTHANEQUAL);
+AstLessThanEqual jjtn003 = new AstLessThanEqual(JJTLESSTHANEQUAL);
                          boolean jjtc003 = true;
                          jjtree.openNodeScope(jjtn003);
         try {
           Concatenation();
         } catch (Throwable jjte003) {
-                         if (jjtc003) {
+if (jjtc003) {
                            jjtree.clearNodeScope(jjtn003);
                            jjtc003 = false;
                          } else {
@@ -963,43 +991,46 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
                          if (jjte003 instanceof RuntimeException) {
                            {if (true) {
                             throw (RuntimeException)jjte003;
-                          }}
+                        }}
                          }
                          if (jjte003 instanceof ParseException) {
                            {if (true) {
                             throw (ParseException)jjte003;
-                          }}
+                        }}
                          }
                          {if (true) {
-                          throw (Error)jjte003;
+                            throw (Error)jjte003;
                         }}
         } finally {
-                         if (jjtc003) {
+if (jjtc003) {
                            jjtree.closeNodeScope(jjtn003,  2);
                          }
         }
         break;
+        }
       case GE0:
-      case GE1:
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case GE0:
+      case GE1:{
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case GE0:{
           jj_consume_token(GE0);
           break;
-        case GE1:
+          }
+        case GE1:{
           jj_consume_token(GE1);
           break;
+          }
         default:
           jj_la1[22] = jj_gen;
           jj_consume_token(-1);
           throw new ParseException();
         }
-                         AstGreaterThanEqual jjtn004 = new AstGreaterThanEqual(JJTGREATERTHANEQUAL);
+AstGreaterThanEqual jjtn004 = new AstGreaterThanEqual(JJTGREATERTHANEQUAL);
                          boolean jjtc004 = true;
                          jjtree.openNodeScope(jjtn004);
         try {
           Concatenation();
         } catch (Throwable jjte004) {
-                         if (jjtc004) {
+if (jjtc004) {
                            jjtree.clearNodeScope(jjtn004);
                            jjtc004 = false;
                          } else {
@@ -1008,55 +1039,57 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
                          if (jjte004 instanceof RuntimeException) {
                            {if (true) {
                             throw (RuntimeException)jjte004;
-                          }}
+                        }}
                          }
                          if (jjte004 instanceof ParseException) {
                            {if (true) {
                             throw (ParseException)jjte004;
-                          }}
+                        }}
                          }
                          {if (true) {
-                          throw (Error)jjte004;
+                            throw (Error)jjte004;
                         }}
         } finally {
-                         if (jjtc004) {
+if (jjtc004) {
                            jjtree.closeNodeScope(jjtn004,  2);
                          }
         }
         break;
+        }
       default:
         jj_la1[23] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
     }
-  }
+}
 
 /*
  * Concatenation
  * For +=, then Math
  *
  */
-  final public void Concatenation() throws ParseException {
+  final public  void Concatenation() throws ParseException {
     Math();
     label_11:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case CONCAT:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case CONCAT:{
         ;
         break;
+        }
       default:
         jj_la1[24] = jj_gen;
         break label_11;
       }
       jj_consume_token(CONCAT);
-                    AstConcatenation jjtn001 = new AstConcatenation(JJTCONCATENATION);
+AstConcatenation jjtn001 = new AstConcatenation(JJTCONCATENATION);
                     boolean jjtc001 = true;
                     jjtree.openNodeScope(jjtn001);
       try {
         Math();
       } catch (Throwable jjte001) {
-                    if (jjtc001) {
+if (jjtc001) {
                       jjtree.clearNodeScope(jjtn001);
                       jjtc001 = false;
                     } else {
@@ -1065,23 +1098,23 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
                     if (jjte001 instanceof RuntimeException) {
                       {if (true) {
                         throw (RuntimeException)jjte001;
-                      }}
+                    }}
                     }
                     if (jjte001 instanceof ParseException) {
                       {if (true) {
                         throw (ParseException)jjte001;
-                      }}
+                    }}
                     }
                     {if (true) {
-                      throw (Error)jjte001;
+                        throw (Error)jjte001;
                     }}
       } finally {
-                    if (jjtc001) {
+if (jjtc001) {
                       jjtree.closeNodeScope(jjtn001,  2);
                     }
       }
     }
-  }
+}
 
 /*
  * Math
@@ -1091,25 +1124,26 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
     Multiplication();
     label_12:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case PLUS:
-      case MINUS:
+      case MINUS:{
         ;
         break;
+        }
       default:
         jj_la1[25] = jj_gen;
         break label_12;
       }
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case PLUS:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case PLUS:{
         jj_consume_token(PLUS);
-                  AstPlus jjtn001 = new AstPlus(JJTPLUS);
+AstPlus jjtn001 = new AstPlus(JJTPLUS);
                   boolean jjtc001 = true;
                   jjtree.openNodeScope(jjtn001);
         try {
           Multiplication();
         } catch (Throwable jjte001) {
-                  if (jjtc001) {
+if (jjtc001) {
                     jjtree.clearNodeScope(jjtn001);
                     jjtc001 = false;
                   } else {
@@ -1117,32 +1151,33 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
                   }
                   if (jjte001 instanceof RuntimeException) {
                     {if (true) {
-                      throw (RuntimeException)jjte001;
+                        throw (RuntimeException)jjte001;
                     }}
                   }
                   if (jjte001 instanceof ParseException) {
                     {if (true) {
-                      throw (ParseException)jjte001;
+                        throw (ParseException)jjte001;
                     }}
                   }
                   {if (true) {
                     throw (Error)jjte001;
-                  }}
+                }}
         } finally {
-                  if (jjtc001) {
+if (jjtc001) {
                     jjtree.closeNodeScope(jjtn001,  2);
                   }
         }
         break;
-      case MINUS:
+        }
+      case MINUS:{
         jj_consume_token(MINUS);
-                   AstMinus jjtn002 = new AstMinus(JJTMINUS);
+AstMinus jjtn002 = new AstMinus(JJTMINUS);
                    boolean jjtc002 = true;
                    jjtree.openNodeScope(jjtn002);
         try {
           Multiplication();
         } catch (Throwable jjte002) {
-                   if (jjtc002) {
+if (jjtc002) {
                      jjtree.clearNodeScope(jjtn002);
                      jjtc002 = false;
                    } else {
@@ -1150,30 +1185,31 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
                    }
                    if (jjte002 instanceof RuntimeException) {
                      {if (true) {
-                      throw (RuntimeException)jjte002;
+                        throw (RuntimeException)jjte002;
                     }}
                    }
                    if (jjte002 instanceof ParseException) {
                      {if (true) {
-                      throw (ParseException)jjte002;
+                        throw (ParseException)jjte002;
                     }}
                    }
                    {if (true) {
                     throw (Error)jjte002;
-                  }}
+                }}
         } finally {
-                   if (jjtc002) {
+if (jjtc002) {
                      jjtree.closeNodeScope(jjtn002,  2);
                    }
         }
         break;
+        }
       default:
         jj_la1[26] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
     }
-  }
+}
 
 /*
  * Multiplication
@@ -1183,28 +1219,29 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
     Unary();
     label_13:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case MULT:
       case DIV0:
       case DIV1:
       case MOD0:
-      case MOD1:
+      case MOD1:{
         ;
         break;
+        }
       default:
         jj_la1[27] = jj_gen;
         break label_13;
       }
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case MULT:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case MULT:{
         jj_consume_token(MULT);
-                  AstMult jjtn001 = new AstMult(JJTMULT);
+AstMult jjtn001 = new AstMult(JJTMULT);
                   boolean jjtc001 = true;
                   jjtree.openNodeScope(jjtn001);
         try {
           Unary();
         } catch (Throwable jjte001) {
-                  if (jjtc001) {
+if (jjtc001) {
                     jjtree.clearNodeScope(jjtn001);
                     jjtc001 = false;
                   } else {
@@ -1212,44 +1249,47 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
                   }
                   if (jjte001 instanceof RuntimeException) {
                     {if (true) {
-                      throw (RuntimeException)jjte001;
+                        throw (RuntimeException)jjte001;
                     }}
                   }
                   if (jjte001 instanceof ParseException) {
                     {if (true) {
-                      throw (ParseException)jjte001;
+                        throw (ParseException)jjte001;
                     }}
                   }
                   {if (true) {
                     throw (Error)jjte001;
-                  }}
+                }}
         } finally {
-                  if (jjtc001) {
+if (jjtc001) {
                     jjtree.closeNodeScope(jjtn001,  2);
                   }
         }
         break;
+        }
       case DIV0:
-      case DIV1:
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case DIV0:
+      case DIV1:{
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case DIV0:{
           jj_consume_token(DIV0);
           break;
-        case DIV1:
+          }
+        case DIV1:{
           jj_consume_token(DIV1);
           break;
+          }
         default:
           jj_la1[28] = jj_gen;
           jj_consume_token(-1);
           throw new ParseException();
         }
-                           AstDiv jjtn002 = new AstDiv(JJTDIV);
+AstDiv jjtn002 = new AstDiv(JJTDIV);
                            boolean jjtc002 = true;
                            jjtree.openNodeScope(jjtn002);
         try {
           Unary();
         } catch (Throwable jjte002) {
-                           if (jjtc002) {
+if (jjtc002) {
                              jjtree.clearNodeScope(jjtn002);
                              jjtc002 = false;
                            } else {
@@ -1257,44 +1297,47 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
                            }
                            if (jjte002 instanceof RuntimeException) {
                              {if (true) {
-                              throw (RuntimeException)jjte002;
+                                throw (RuntimeException)jjte002;
                             }}
                            }
                            if (jjte002 instanceof ParseException) {
                              {if (true) {
-                              throw (ParseException)jjte002;
+                                throw (ParseException)jjte002;
                             }}
                            }
                            {if (true) {
                             throw (Error)jjte002;
-                          }}
+                        }}
         } finally {
-                           if (jjtc002) {
+if (jjtc002) {
                              jjtree.closeNodeScope(jjtn002,  2);
                            }
         }
         break;
+        }
       case MOD0:
-      case MOD1:
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case MOD0:
+      case MOD1:{
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case MOD0:{
           jj_consume_token(MOD0);
           break;
-        case MOD1:
+          }
+        case MOD1:{
           jj_consume_token(MOD1);
           break;
+          }
         default:
           jj_la1[29] = jj_gen;
           jj_consume_token(-1);
           throw new ParseException();
         }
-                           AstMod jjtn003 = new AstMod(JJTMOD);
+AstMod jjtn003 = new AstMod(JJTMOD);
                            boolean jjtc003 = true;
                            jjtree.openNodeScope(jjtn003);
         try {
           Unary();
         } catch (Throwable jjte003) {
-                           if (jjtc003) {
+if (jjtc003) {
                              jjtree.clearNodeScope(jjtn003);
                              jjtc003 = false;
                            } else {
@@ -1302,46 +1345,47 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
                            }
                            if (jjte003 instanceof RuntimeException) {
                              {if (true) {
-                              throw (RuntimeException)jjte003;
+                                throw (RuntimeException)jjte003;
                             }}
                            }
                            if (jjte003 instanceof ParseException) {
                              {if (true) {
-                              throw (ParseException)jjte003;
+                                throw (ParseException)jjte003;
                             }}
                            }
                            {if (true) {
                             throw (Error)jjte003;
-                          }}
+                        }}
         } finally {
-                           if (jjtc003) {
+if (jjtc003) {
                              jjtree.closeNodeScope(jjtn003,  2);
                            }
         }
         break;
+        }
       default:
         jj_la1[30] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
     }
-  }
+}
 
 /*
  * Unary
  * For '-' '!' 'not' 'empty', then Value
  */
   final public void Unary() throws ParseException {
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case MINUS:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case MINUS:{
       jj_consume_token(MINUS);
-                  AstNegative jjtn001 = new AstNegative(JJTNEGATIVE);
+AstNegative jjtn001 = new AstNegative(JJTNEGATIVE);
                   boolean jjtc001 = true;
                   jjtree.openNodeScope(jjtn001);
       try {
         Unary();
       } catch (Throwable jjte001) {
-                  if (jjtc001) {
+if (jjtc001) {
                     jjtree.clearNodeScope(jjtn001);
                     jjtc001 = false;
                   } else {
@@ -1349,44 +1393,47 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
                   }
                   if (jjte001 instanceof RuntimeException) {
                     {if (true) {
-                      throw (RuntimeException)jjte001;
+                        throw (RuntimeException)jjte001;
                     }}
                   }
                   if (jjte001 instanceof ParseException) {
                     {if (true) {
-                      throw (ParseException)jjte001;
+                        throw (ParseException)jjte001;
                     }}
                   }
                   {if (true) {
                     throw (Error)jjte001;
-                  }}
+                }}
       } finally {
-                  if (jjtc001) {
+if (jjtc001) {
                     jjtree.closeNodeScope(jjtn001, true);
                   }
       }
       break;
+      }
     case NOT0:
-    case NOT1:
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case NOT0:
+    case NOT1:{
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case NOT0:{
         jj_consume_token(NOT0);
         break;
-      case NOT1:
+        }
+      case NOT1:{
         jj_consume_token(NOT1);
         break;
+        }
       default:
         jj_la1[31] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
-                          AstNot jjtn002 = new AstNot(JJTNOT);
+AstNot jjtn002 = new AstNot(JJTNOT);
                           boolean jjtc002 = true;
                           jjtree.openNodeScope(jjtn002);
       try {
         Unary();
       } catch (Throwable jjte002) {
-                          if (jjtc002) {
+if (jjtc002) {
                             jjtree.clearNodeScope(jjtn002);
                             jjtc002 = false;
                           } else {
@@ -1394,32 +1441,33 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
                           }
                           if (jjte002 instanceof RuntimeException) {
                             {if (true) {
-                              throw (RuntimeException)jjte002;
+                                throw (RuntimeException)jjte002;
                             }}
                           }
                           if (jjte002 instanceof ParseException) {
                             {if (true) {
-                              throw (ParseException)jjte002;
+                                throw (ParseException)jjte002;
                             }}
                           }
                           {if (true) {
                             throw (Error)jjte002;
-                          }}
+                        }}
       } finally {
-                          if (jjtc002) {
+if (jjtc002) {
                             jjtree.closeNodeScope(jjtn002, true);
                           }
       }
       break;
-    case EMPTY:
+      }
+    case EMPTY:{
       jj_consume_token(EMPTY);
-                  AstEmpty jjtn003 = new AstEmpty(JJTEMPTY);
+AstEmpty jjtn003 = new AstEmpty(JJTEMPTY);
                   boolean jjtc003 = true;
                   jjtree.openNodeScope(jjtn003);
       try {
         Unary();
       } catch (Throwable jjte003) {
-                  if (jjtc003) {
+if (jjtc003) {
                     jjtree.clearNodeScope(jjtn003);
                     jjtc003 = false;
                   } else {
@@ -1427,23 +1475,24 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
                   }
                   if (jjte003 instanceof RuntimeException) {
                     {if (true) {
-                      throw (RuntimeException)jjte003;
+                        throw (RuntimeException)jjte003;
                     }}
                   }
                   if (jjte003 instanceof ParseException) {
                     {if (true) {
-                      throw (ParseException)jjte003;
+                        throw (ParseException)jjte003;
                     }}
                   }
                   {if (true) {
                     throw (Error)jjte003;
-                  }}
+                }}
       } finally {
-                  if (jjtc003) {
+if (jjtc003) {
                     jjtree.closeNodeScope(jjtn003, true);
                   }
       }
       break;
+      }
     case START_SET_OR_MAP:
     case INTEGER_LITERAL:
     case FLOATING_POINT_LITERAL:
@@ -1453,33 +1502,35 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
     case NULL:
     case LPAREN:
     case LBRACK:
-    case IDENTIFIER:
+    case IDENTIFIER:{
       Value();
       break;
+      }
     default:
       jj_la1[32] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-  }
+}
 
 /*
  * Value
  * Defines Prefix plus zero or more Suffixes
  */
   final public void Value() throws ParseException {
-      AstValue jjtn001 = new AstValue(JJTVALUE);
+AstValue jjtn001 = new AstValue(JJTVALUE);
       boolean jjtc001 = true;
       jjtree.openNodeScope(jjtn001);
     try {
       ValuePrefix();
       label_14:
       while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
         case DOT:
-        case LBRACK:
+        case LBRACK:{
           ;
           break;
+          }
         default:
           jj_la1[33] = jj_gen;
           break label_14;
@@ -1487,7 +1538,7 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
         ValueSuffix();
       }
     } catch (Throwable jjte001) {
-      if (jjtc001) {
+if (jjtc001) {
         jjtree.clearNodeScope(jjtn001);
         jjtc001 = false;
       } else {
@@ -1495,106 +1546,109 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       }
       if (jjte001 instanceof RuntimeException) {
         {if (true) {
-          throw (RuntimeException)jjte001;
+            throw (RuntimeException)jjte001;
         }}
       }
       if (jjte001 instanceof ParseException) {
         {if (true) {
-          throw (ParseException)jjte001;
+            throw (ParseException)jjte001;
         }}
       }
       {if (true) {
         throw (Error)jjte001;
-      }}
+    }}
     } finally {
-      if (jjtc001) {
+if (jjtc001) {
         jjtree.closeNodeScope(jjtn001, jjtree.nodeArity() > 1);
       }
     }
-  }
+}
 
 /*
  * ValuePrefix
  * For Literals, Variables, and Functions
  */
   final public void ValuePrefix() throws ParseException {
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case INTEGER_LITERAL:
     case FLOATING_POINT_LITERAL:
     case STRING_LITERAL:
     case TRUE:
     case FALSE:
-    case NULL:
+    case NULL:{
       Literal();
       break;
+      }
     case START_SET_OR_MAP:
     case LPAREN:
     case LBRACK:
-    case IDENTIFIER:
+    case IDENTIFIER:{
       NonLiteral();
       break;
+      }
     default:
       jj_la1[34] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-  }
+}
 
 /*
  * ValueSuffix
  * Either dot or bracket notation
  */
   final public void ValueSuffix() throws ParseException {
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case DOT:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case DOT:{
       DotSuffix();
       break;
-    case LBRACK:
+      }
+    case LBRACK:{
       BracketSuffix();
       break;
+      }
     default:
       jj_la1[35] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case LPAREN:
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case LPAREN:{
       MethodParameters();
       break;
+      }
     default:
       jj_la1[36] = jj_gen;
       ;
     }
-  }
+}
 
 /*
  * DotSuffix
  * Dot Property
  */
-  final public void DotSuffix() throws ParseException {
-                               /*@bgen(jjtree) DotSuffix */
+  final public void DotSuffix() throws ParseException {/*@bgen(jjtree) DotSuffix */
                                 AstDotSuffix jjtn000 = new AstDotSuffix(JJTDOTSUFFIX);
                                 boolean jjtc000 = true;
                                 jjtree.openNodeScope(jjtn000);Token t = null;
     try {
       jj_consume_token(DOT);
       t = jj_consume_token(IDENTIFIER);
-                           jjtree.closeNodeScope(jjtn000, true);
+jjtree.closeNodeScope(jjtn000, true);
                            jjtc000 = false;
-                           jjtn000.setImage(t.image);
+jjtn000.setImage(t.image);
     } finally {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.closeNodeScope(jjtn000, true);
       }
     }
-  }
+}
 
 /*
  * BracketSuffix
  * Sub Expression Suffix
  */
-  final public void BracketSuffix() throws ParseException {
-                                       /*@bgen(jjtree) BracketSuffix */
+  final public void BracketSuffix() throws ParseException {/*@bgen(jjtree) BracketSuffix */
   AstBracketSuffix jjtn000 = new AstBracketSuffix(JJTBRACKETSUFFIX);
   boolean jjtc000 = true;
   jjtree.openNodeScope(jjtn000);
@@ -1603,7 +1657,7 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       Expression();
       jj_consume_token(RBRACK);
     } catch (Throwable jjte000) {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.clearNodeScope(jjtn000);
         jjtc000 = false;
       } else {
@@ -1611,35 +1665,34 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       }
       if (jjte000 instanceof RuntimeException) {
         {if (true) {
-          throw (RuntimeException)jjte000;
+            throw (RuntimeException)jjte000;
         }}
       }
       if (jjte000 instanceof ParseException) {
         {if (true) {
-          throw (ParseException)jjte000;
+            throw (ParseException)jjte000;
         }}
       }
       {if (true) {
         throw (Error)jjte000;
-      }}
+    }}
     } finally {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.closeNodeScope(jjtn000, true);
       }
     }
-  }
+}
 
 /*
  * MethodParameters
  */
-  final public void MethodParameters() throws ParseException {
-                                             /*@bgen(jjtree) MethodParameters */
+  final public void MethodParameters() throws ParseException {/*@bgen(jjtree) MethodParameters */
   AstMethodParameters jjtn000 = new AstMethodParameters(JJTMETHODPARAMETERS);
   boolean jjtc000 = true;
   jjtree.openNodeScope(jjtn000);
     try {
       jj_consume_token(LPAREN);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case START_SET_OR_MAP:
       case INTEGER_LITERAL:
       case FLOATING_POINT_LITERAL:
@@ -1653,14 +1706,15 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       case NOT1:
       case EMPTY:
       case MINUS:
-      case IDENTIFIER:
+      case IDENTIFIER:{
         Expression();
         label_15:
         while (true) {
-          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-          case COMMA:
+          switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+          case COMMA:{
             ;
             break;
+            }
           default:
             jj_la1[37] = jj_gen;
             break label_15;
@@ -1669,13 +1723,14 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
           Expression();
         }
         break;
+        }
       default:
         jj_la1[38] = jj_gen;
         ;
       }
       jj_consume_token(RPAREN);
     } catch (Throwable jjte000) {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.clearNodeScope(jjtn000);
         jjtc000 = false;
       } else {
@@ -1683,23 +1738,23 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       }
       if (jjte000 instanceof RuntimeException) {
         {if (true) {
-          throw (RuntimeException)jjte000;
+            throw (RuntimeException)jjte000;
         }}
       }
       if (jjte000 instanceof ParseException) {
         {if (true) {
-          throw (ParseException)jjte000;
+            throw (ParseException)jjte000;
         }}
       }
       {if (true) {
         throw (Error)jjte000;
-      }}
+    }}
     } finally {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.closeNodeScope(jjtn000, true);
       }
     }
-  }
+}
 
 /*
  * NonLiteral
@@ -1709,33 +1764,37 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
     if (jj_2_6(5)) {
       LambdaExpressionOrInvocation();
     } else {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case LPAREN:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case LPAREN:{
         jj_consume_token(LPAREN);
         Expression();
         jj_consume_token(RPAREN);
         break;
+        }
       default:
         jj_la1[39] = jj_gen;
         if (jj_2_7(2147483647)) {
           Function();
         } else {
-          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-          case IDENTIFIER:
+          switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+          case IDENTIFIER:{
             Identifier();
             break;
+            }
           default:
             jj_la1[40] = jj_gen;
             if (jj_2_8(3)) {
               SetData();
             } else {
-              switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-              case LBRACK:
+              switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+              case LBRACK:{
                 ListData();
                 break;
-              case START_SET_OR_MAP:
+                }
+              case START_SET_OR_MAP:{
                 MapData();
                 break;
+                }
               default:
                 jj_la1[41] = jj_gen;
                 jj_consume_token(-1);
@@ -1746,21 +1805,20 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
         }
       }
     }
-  }
+}
 
 /*
  * Note that both an empty Set and an empty Map are represented by {}. The
  * parser will always parse {} as an empty Set and special handling is required
  * to convert it to an empty Map when appropriate.
  */
-  final public void SetData() throws ParseException {
-                          /*@bgen(jjtree) SetData */
+  final public void SetData() throws ParseException {/*@bgen(jjtree) SetData */
   AstSetData jjtn000 = new AstSetData(JJTSETDATA);
   boolean jjtc000 = true;
   jjtree.openNodeScope(jjtn000);
     try {
       jj_consume_token(START_SET_OR_MAP);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case START_SET_OR_MAP:
       case INTEGER_LITERAL:
       case FLOATING_POINT_LITERAL:
@@ -1774,14 +1832,15 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       case NOT1:
       case EMPTY:
       case MINUS:
-      case IDENTIFIER:
+      case IDENTIFIER:{
         Expression();
         label_16:
         while (true) {
-          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-          case COMMA:
+          switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+          case COMMA:{
             ;
             break;
+            }
           default:
             jj_la1[42] = jj_gen;
             break label_16;
@@ -1790,13 +1849,14 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
           Expression();
         }
         break;
+        }
       default:
         jj_la1[43] = jj_gen;
         ;
       }
       jj_consume_token(RBRACE);
     } catch (Throwable jjte000) {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.clearNodeScope(jjtn000);
         jjtc000 = false;
       } else {
@@ -1804,32 +1864,31 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       }
       if (jjte000 instanceof RuntimeException) {
         {if (true) {
-          throw (RuntimeException)jjte000;
+            throw (RuntimeException)jjte000;
         }}
       }
       if (jjte000 instanceof ParseException) {
         {if (true) {
-          throw (ParseException)jjte000;
+            throw (ParseException)jjte000;
         }}
       }
       {if (true) {
         throw (Error)jjte000;
-      }}
+    }}
     } finally {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.closeNodeScope(jjtn000, true);
       }
     }
-  }
+}
 
-  final public void ListData() throws ParseException {
-                            /*@bgen(jjtree) ListData */
+  final public void ListData() throws ParseException {/*@bgen(jjtree) ListData */
   AstListData jjtn000 = new AstListData(JJTLISTDATA);
   boolean jjtc000 = true;
   jjtree.openNodeScope(jjtn000);
     try {
       jj_consume_token(LBRACK);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case START_SET_OR_MAP:
       case INTEGER_LITERAL:
       case FLOATING_POINT_LITERAL:
@@ -1843,14 +1902,15 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       case NOT1:
       case EMPTY:
       case MINUS:
-      case IDENTIFIER:
+      case IDENTIFIER:{
         Expression();
         label_17:
         while (true) {
-          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-          case COMMA:
+          switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+          case COMMA:{
             ;
             break;
+            }
           default:
             jj_la1[44] = jj_gen;
             break label_17;
@@ -1859,13 +1919,14 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
           Expression();
         }
         break;
+        }
       default:
         jj_la1[45] = jj_gen;
         ;
       }
       jj_consume_token(RBRACK);
     } catch (Throwable jjte000) {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.clearNodeScope(jjtn000);
         jjtc000 = false;
       } else {
@@ -1873,37 +1934,36 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       }
       if (jjte000 instanceof RuntimeException) {
         {if (true) {
-          throw (RuntimeException)jjte000;
+            throw (RuntimeException)jjte000;
         }}
       }
       if (jjte000 instanceof ParseException) {
         {if (true) {
-          throw (ParseException)jjte000;
+            throw (ParseException)jjte000;
         }}
       }
       {if (true) {
         throw (Error)jjte000;
-      }}
+    }}
     } finally {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.closeNodeScope(jjtn000, true);
       }
     }
-  }
+}
 
 /*
  * Note that both an empty Set and an empty Map are represented by {}. The
  * parser will always parse {} as an empty Set and special handling is required
  * to convert it to an empty Map when appropriate.
  */
-  final public void MapData() throws ParseException {
-                          /*@bgen(jjtree) MapData */
+  final public void MapData() throws ParseException {/*@bgen(jjtree) MapData */
   AstMapData jjtn000 = new AstMapData(JJTMAPDATA);
   boolean jjtc000 = true;
   jjtree.openNodeScope(jjtn000);
     try {
       jj_consume_token(START_SET_OR_MAP);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case START_SET_OR_MAP:
       case INTEGER_LITERAL:
       case FLOATING_POINT_LITERAL:
@@ -1917,14 +1977,15 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       case NOT1:
       case EMPTY:
       case MINUS:
-      case IDENTIFIER:
+      case IDENTIFIER:{
         MapEntry();
         label_18:
         while (true) {
-          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-          case COMMA:
+          switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+          case COMMA:{
             ;
             break;
+            }
           default:
             jj_la1[46] = jj_gen;
             break label_18;
@@ -1933,13 +1994,14 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
           MapEntry();
         }
         break;
+        }
       default:
         jj_la1[47] = jj_gen;
         ;
       }
       jj_consume_token(RBRACE);
     } catch (Throwable jjte000) {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.clearNodeScope(jjtn000);
         jjtc000 = false;
       } else {
@@ -1947,26 +2009,25 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       }
       if (jjte000 instanceof RuntimeException) {
         {if (true) {
-          throw (RuntimeException)jjte000;
+            throw (RuntimeException)jjte000;
         }}
       }
       if (jjte000 instanceof ParseException) {
         {if (true) {
-          throw (ParseException)jjte000;
+            throw (ParseException)jjte000;
         }}
       }
       {if (true) {
         throw (Error)jjte000;
-      }}
+    }}
     } finally {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.closeNodeScope(jjtn000, true);
       }
     }
-  }
+}
 
-  final public void MapEntry() throws ParseException {
-                            /*@bgen(jjtree) MapEntry */
+  final public void MapEntry() throws ParseException {/*@bgen(jjtree) MapEntry */
   AstMapEntry jjtn000 = new AstMapEntry(JJTMAPENTRY);
   boolean jjtc000 = true;
   jjtree.openNodeScope(jjtn000);
@@ -1975,7 +2036,7 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       jj_consume_token(COLON);
       Expression();
     } catch (Throwable jjte000) {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.clearNodeScope(jjtn000);
         jjtc000 = false;
       } else {
@@ -1983,67 +2044,66 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       }
       if (jjte000 instanceof RuntimeException) {
         {if (true) {
-          throw (RuntimeException)jjte000;
+            throw (RuntimeException)jjte000;
         }}
       }
       if (jjte000 instanceof ParseException) {
         {if (true) {
-          throw (ParseException)jjte000;
+            throw (ParseException)jjte000;
         }}
       }
       {if (true) {
         throw (Error)jjte000;
-      }}
+    }}
     } finally {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.closeNodeScope(jjtn000, true);
       }
     }
-  }
+}
 
 /*
  * Identifier
  * Java Language Identifier
  */
-  final public void Identifier() throws ParseException {
-                                 /*@bgen(jjtree) Identifier */
+  final public void Identifier() throws ParseException {/*@bgen(jjtree) Identifier */
                                   AstIdentifier jjtn000 = new AstIdentifier(JJTIDENTIFIER);
                                   boolean jjtc000 = true;
                                   jjtree.openNodeScope(jjtn000);Token t = null;
     try {
       t = jj_consume_token(IDENTIFIER);
-                     jjtree.closeNodeScope(jjtn000, true);
+jjtree.closeNodeScope(jjtn000, true);
                      jjtc000 = false;
-                     jjtn000.setImage(t.image);
+jjtn000.setImage(t.image);
     } finally {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.closeNodeScope(jjtn000, true);
       }
     }
-  }
+}
 
 /*
  * Function
  * Namespace:Name(a,b,c)
  */
-  final public void Function() throws ParseException {
- /*@bgen(jjtree) Function */
+  final public void Function() throws ParseException {/*@bgen(jjtree) Function */
     AstFunction jjtn000 = new AstFunction(JJTFUNCTION);
     boolean jjtc000 = true;
     jjtree.openNodeScope(jjtn000);Token t0 = null;
     Token t1 = null;
     try {
       t0 = jj_consume_token(IDENTIFIER);
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case COLON:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case COLON:{
         jj_consume_token(COLON);
         t1 = jj_consume_token(IDENTIFIER);
         break;
+        }
       default:
         jj_la1[48] = jj_gen;
         ;
       }
-        if (t1 != null) {
+if (t1 != null) {
             jjtn000.setPrefix(t0.image);
             jjtn000.setLocalName(t1.image);
         } else {
@@ -2052,17 +2112,18 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       label_19:
       while (true) {
         MethodParameters();
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case LPAREN:
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case LPAREN:{
           ;
           break;
+          }
         default:
           jj_la1[49] = jj_gen;
           break label_19;
         }
       }
     } catch (Throwable jjte000) {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.clearNodeScope(jjtn000);
         jjtc000 = false;
       } else {
@@ -2070,402 +2131,430 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
       }
       if (jjte000 instanceof RuntimeException) {
         {if (true) {
-          throw (RuntimeException)jjte000;
+            throw (RuntimeException)jjte000;
         }}
       }
       if (jjte000 instanceof ParseException) {
         {if (true) {
-          throw (ParseException)jjte000;
+            throw (ParseException)jjte000;
         }}
       }
       {if (true) {
         throw (Error)jjte000;
-      }}
+    }}
     } finally {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.closeNodeScope(jjtn000, true);
       }
     }
-  }
+}
 
 /*
  * Literal
  * Reserved Keywords
  */
   final public void Literal() throws ParseException {
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
     case TRUE:
-    case FALSE:
+    case FALSE:{
       Boolean();
       break;
-    case FLOATING_POINT_LITERAL:
+      }
+    case FLOATING_POINT_LITERAL:{
       FloatingPoint();
       break;
-    case INTEGER_LITERAL:
+      }
+    case INTEGER_LITERAL:{
       Integer();
       break;
-    case STRING_LITERAL:
+      }
+    case STRING_LITERAL:{
       String();
       break;
-    case NULL:
+      }
+    case NULL:{
       Null();
       break;
+      }
     default:
       jj_la1[50] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-  }
+}
 
 /*
  * Boolean
  * For 'true' 'false'
  */
   final public void Boolean() throws ParseException {
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case TRUE:
-      AstTrue jjtn001 = new AstTrue(JJTTRUE);
+    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+    case TRUE:{
+AstTrue jjtn001 = new AstTrue(JJTTRUE);
       boolean jjtc001 = true;
       jjtree.openNodeScope(jjtn001);
       try {
         jj_consume_token(TRUE);
       } finally {
-      if (jjtc001) {
+if (jjtc001) {
         jjtree.closeNodeScope(jjtn001, true);
       }
       }
       break;
-    case FALSE:
-        AstFalse jjtn002 = new AstFalse(JJTFALSE);
+      }
+    case FALSE:{
+AstFalse jjtn002 = new AstFalse(JJTFALSE);
         boolean jjtc002 = true;
         jjtree.openNodeScope(jjtn002);
       try {
         jj_consume_token(FALSE);
       } finally {
-        if (jjtc002) {
+if (jjtc002) {
           jjtree.closeNodeScope(jjtn002, true);
         }
       }
       break;
+      }
     default:
       jj_la1[51] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
-  }
+}
 
 /*
  * FloatingPoint
  * For Decimal and Floating Point Literals
  */
-  final public void FloatingPoint() throws ParseException {
-                                       /*@bgen(jjtree) FloatingPoint */
+  final public void FloatingPoint() throws ParseException {/*@bgen(jjtree) FloatingPoint */
                                         AstFloatingPoint jjtn000 = new AstFloatingPoint(JJTFLOATINGPOINT);
                                         boolean jjtc000 = true;
                                         jjtree.openNodeScope(jjtn000);Token t = null;
     try {
       t = jj_consume_token(FLOATING_POINT_LITERAL);
-                                 jjtree.closeNodeScope(jjtn000, true);
+jjtree.closeNodeScope(jjtn000, true);
                                  jjtc000 = false;
-                                 jjtn000.setImage(t.image);
+jjtn000.setImage(t.image);
     } finally {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.closeNodeScope(jjtn000, true);
       }
     }
-  }
+}
 
 /*
  * Integer
  * For Simple Numeric Literals
  */
-  final public void Integer() throws ParseException {
-                           /*@bgen(jjtree) Integer */
+  final public void Integer() throws ParseException {/*@bgen(jjtree) Integer */
                             AstInteger jjtn000 = new AstInteger(JJTINTEGER);
                             boolean jjtc000 = true;
                             jjtree.openNodeScope(jjtn000);Token t = null;
     try {
       t = jj_consume_token(INTEGER_LITERAL);
-                          jjtree.closeNodeScope(jjtn000, true);
+jjtree.closeNodeScope(jjtn000, true);
                           jjtc000 = false;
-                          jjtn000.setImage(t.image);
+jjtn000.setImage(t.image);
     } finally {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.closeNodeScope(jjtn000, true);
       }
     }
-  }
+}
 
 /*
  * String
  * For Quoted Literals
  */
-  final public void String() throws ParseException {
-                         /*@bgen(jjtree) String */
+  final public void String() throws ParseException {/*@bgen(jjtree) String */
                           AstString jjtn000 = new AstString(JJTSTRING);
                           boolean jjtc000 = true;
                           jjtree.openNodeScope(jjtn000);Token t = null;
     try {
       t = jj_consume_token(STRING_LITERAL);
-                         jjtree.closeNodeScope(jjtn000, true);
+jjtree.closeNodeScope(jjtn000, true);
                          jjtc000 = false;
-                         jjtn000.setImage(t.image);
+jjtn000.setImage(t.image);
     } finally {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.closeNodeScope(jjtn000, true);
       }
     }
-  }
+}
 
 /*
  * Null
  * For 'null'
  */
-  final public void Null() throws ParseException {
-                     /*@bgen(jjtree) Null */
+  final public void Null() throws ParseException {/*@bgen(jjtree) Null */
   AstNull jjtn000 = new AstNull(JJTNULL);
   boolean jjtc000 = true;
   jjtree.openNodeScope(jjtn000);
     try {
       jj_consume_token(NULL);
     } finally {
-      if (jjtc000) {
+if (jjtc000) {
         jjtree.closeNodeScope(jjtn000, true);
       }
     }
-  }
+}
 
-  private boolean jj_2_1(int xla) {
+  private boolean jj_2_1(int xla)
+ {
     jj_la = xla; jj_lastpos = jj_scanpos = token;
-    try { return !jj_3_1(); }
+    try { return (!jj_3_1()); }
     catch(LookaheadSuccess ls) { return true; }
     finally { jj_save(0, xla); }
   }
 
-  private boolean jj_2_2(int xla) {
+  private boolean jj_2_2(int xla)
+ {
     jj_la = xla; jj_lastpos = jj_scanpos = token;
-    try { return !jj_3_2(); }
+    try { return (!jj_3_2()); }
     catch(LookaheadSuccess ls) { return true; }
     finally { jj_save(1, xla); }
   }
 
-  private boolean jj_2_3(int xla) {
+  private boolean jj_2_3(int xla)
+ {
     jj_la = xla; jj_lastpos = jj_scanpos = token;
-    try { return !jj_3_3(); }
+    try { return (!jj_3_3()); }
     catch(LookaheadSuccess ls) { return true; }
     finally { jj_save(2, xla); }
   }
 
-  private boolean jj_2_4(int xla) {
+  private boolean jj_2_4(int xla)
+ {
     jj_la = xla; jj_lastpos = jj_scanpos = token;
-    try { return !jj_3_4(); }
+    try { return (!jj_3_4()); }
     catch(LookaheadSuccess ls) { return true; }
     finally { jj_save(3, xla); }
   }
 
-  private boolean jj_2_5(int xla) {
+  private boolean jj_2_5(int xla)
+ {
     jj_la = xla; jj_lastpos = jj_scanpos = token;
-    try { return !jj_3_5(); }
+    try { return (!jj_3_5()); }
     catch(LookaheadSuccess ls) { return true; }
     finally { jj_save(4, xla); }
   }
 
-  private boolean jj_2_6(int xla) {
+  private boolean jj_2_6(int xla)
+ {
     jj_la = xla; jj_lastpos = jj_scanpos = token;
-    try { return !jj_3_6(); }
+    try { return (!jj_3_6()); }
     catch(LookaheadSuccess ls) { return true; }
     finally { jj_save(5, xla); }
   }
 
-  private boolean jj_2_7(int xla) {
+  private boolean jj_2_7(int xla)
+ {
     jj_la = xla; jj_lastpos = jj_scanpos = token;
-    try { return !jj_3_7(); }
+    try { return (!jj_3_7()); }
     catch(LookaheadSuccess ls) { return true; }
     finally { jj_save(6, xla); }
   }
 
-  private boolean jj_2_8(int xla) {
+  private boolean jj_2_8(int xla)
+ {
     jj_la = xla; jj_lastpos = jj_scanpos = token;
-    try { return !jj_3_8(); }
+    try { return (!jj_3_8()); }
     catch(LookaheadSuccess ls) { return true; }
     finally { jj_save(7, xla); }
   }
 
-  private boolean jj_3R_41() {
+  private boolean jj_3R_And_173_17_41()
+ {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_scan_token(39)) {
     jj_scanpos = xsp;
     if (jj_scan_token(40)) {
-      return true;
+        return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3R_30() {
-    if (jj_3R_22()) {
-      return true;
+  private boolean jj_3R_LambdaExpressionOrInvocation_144_45_30()
+ {
+    if (jj_3R_Choice_155_5_22()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_40() {
-    if (jj_3R_44()) {
-      return true;
+  private boolean jj_3R_Equality_182_5_40()
+ {
+    if (jj_3R_Compare_196_5_44()) {
+        return true;
     }
     Token xsp;
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3R_45()) { jj_scanpos = xsp; break; }
+      if (jj_3R_Equality_184_9_45()) { jj_scanpos = xsp; break; }
     }
     return false;
   }
 
-  private boolean jj_3R_107() {
-    if (jj_3R_36()) {
-      return true;
+  private boolean jj_3R_MapEntry_368_5_107()
+ {
+    if (jj_3R_Expression_99_5_36()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_105() {
-    if (jj_3R_107()) {
-      return true;
+  private boolean jj_3R_MapData_362_11_105()
+ {
+    if (jj_3R_MapEntry_368_5_107()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_43() {
+  private boolean jj_3R_LambdaParameters_132_46_43()
+ {
     if (jj_scan_token(COMMA)) {
-      return true;
+        return true;
     }
-    if (jj_3R_38()) {
-      return true;
+    if (jj_3R_Identifier_377_5_38()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_34() {
-    if (jj_3R_40()) {
-      return true;
+  private boolean jj_3R_And_173_5_34()
+ {
+    if (jj_3R_Equality_182_5_40()) {
+        return true;
     }
     Token xsp;
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3R_41()) { jj_scanpos = xsp; break; }
+      if (jj_3R_And_173_17_41()) { jj_scanpos = xsp; break; }
     }
     return false;
   }
 
-  private boolean jj_3R_37() {
+  private boolean jj_3R_SetData_343_26_37()
+ {
     if (jj_scan_token(COMMA)) {
-      return true;
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_35() {
+  private boolean jj_3R_Or_164_12_35()
+ {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_scan_token(41)) {
     jj_scanpos = xsp;
     if (jj_scan_token(42)) {
-      return true;
+        return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3R_99() {
+  private boolean jj_3R_MapData_361_5_99()
+ {
     if (jj_scan_token(START_SET_OR_MAP)) {
-      return true;
+        return true;
     }
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_105()) {
-      jj_scanpos = xsp;
+    if (jj_3R_MapData_362_11_105()) {
+        jj_scanpos = xsp;
     }
     if (jj_scan_token(RBRACE)) {
-      return true;
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_104() {
-    if (jj_3R_36()) {
-      return true;
+  private boolean jj_3R_ListData_350_11_104()
+ {
+    if (jj_3R_Expression_99_5_36()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_29() {
-    if (jj_3R_34()) {
-      return true;
+  private boolean jj_3R_Or_164_5_29()
+ {
+    if (jj_3R_And_173_5_34()) {
+        return true;
     }
     Token xsp;
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3R_35()) { jj_scanpos = xsp; break; }
+      if (jj_3R_Or_164_12_35()) { jj_scanpos = xsp; break; }
     }
     return false;
   }
 
-  private boolean jj_3_5() {
+  private boolean jj_3_5()
+ {
     if (jj_scan_token(QUESTIONMARK)) {
-      return true;
+        return true;
     }
-    if (jj_3R_22()) {
-      return true;
+    if (jj_3R_Choice_155_5_22()) {
+        return true;
     }
     if (jj_scan_token(COLON)) {
-      return true;
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_98() {
+  private boolean jj_3R_ListData_349_5_98()
+ {
     if (jj_scan_token(LBRACK)) {
-      return true;
+        return true;
     }
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_104()) {
-      jj_scanpos = xsp;
+    if (jj_3R_ListData_350_11_104()) {
+        jj_scanpos = xsp;
     }
     if (jj_scan_token(RBRACK)) {
-      return true;
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_39() {
-    if (jj_3R_38()) {
-      return true;
+  private boolean jj_3R_LambdaParameters_132_31_39()
+ {
+    if (jj_3R_Identifier_377_5_38()) {
+        return true;
     }
     Token xsp;
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3R_43()) { jj_scanpos = xsp; break; }
+      if (jj_3R_LambdaParameters_132_46_43()) { jj_scanpos = xsp; break; }
     }
     return false;
   }
 
-  private boolean jj_3R_31() {
-    if (jj_3R_36()) {
-      return true;
+  private boolean jj_3R_SetData_343_11_31()
+ {
+    if (jj_3R_Expression_99_5_36()) {
+        return true;
     }
     Token xsp;
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3R_37()) { jj_scanpos = xsp; break; }
+      if (jj_3R_SetData_343_26_37()) { jj_scanpos = xsp; break; }
     }
     return false;
   }
 
-  private boolean jj_3R_22() {
-    if (jj_3R_29()) {
-      return true;
+  private boolean jj_3R_Choice_155_5_22()
+ {
+    if (jj_3R_Or_164_5_29()) {
+        return true;
     }
     Token xsp;
     while (true) {
@@ -2475,168 +2564,183 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
     return false;
   }
 
-  private boolean jj_3_3() {
-    if (jj_3R_21()) {
-      return true;
+  private boolean jj_3_3()
+ {
+    if (jj_3R_LambdaExpression_124_5_21()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_25() {
+  private boolean jj_3R_SetData_342_5_25()
+ {
     if (jj_scan_token(START_SET_OR_MAP)) {
-      return true;
+        return true;
     }
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_31()) {
-      jj_scanpos = xsp;
+    if (jj_3R_SetData_343_11_31()) {
+        jj_scanpos = xsp;
     }
     if (jj_scan_token(RBRACE)) {
-      return true;
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3_4() {
-    if (jj_3R_21()) {
-      return true;
+  private boolean jj_3_4()
+ {
+    if (jj_3R_LambdaExpression_124_5_21()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_24() {
+  private boolean jj_3R_null_328_18_24()
+ {
     if (jj_scan_token(IDENTIFIER)) {
-      return true;
+        return true;
     }
     if (jj_scan_token(COLON)) {
-      return true;
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3_7() {
+  private boolean jj_3_7()
+ {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_24()) {
-      jj_scanpos = xsp;
+    if (jj_3R_null_328_18_24()) {
+        jj_scanpos = xsp;
     }
     if (jj_scan_token(IDENTIFIER)) {
-      return true;
+        return true;
     }
     if (jj_scan_token(LPAREN)) {
-      return true;
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_33() {
+  private boolean jj_3R_LambdaParameters_132_20_33()
+ {
     if (jj_scan_token(LPAREN)) {
-      return true;
+        return true;
     }
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_39()) {
-      jj_scanpos = xsp;
+    if (jj_3R_LambdaParameters_132_31_39()) {
+        jj_scanpos = xsp;
     }
     if (jj_scan_token(RPAREN)) {
-      return true;
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_89() {
-    if (jj_3R_99()) {
-      return true;
+  private boolean jj_3R_NonLiteral_332_7_89()
+ {
+    if (jj_3R_MapData_361_5_99()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_88() {
-    if (jj_3R_98()) {
-      return true;
+  private boolean jj_3R_NonLiteral_331_7_88()
+ {
+    if (jj_3R_ListData_349_5_98()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_23() {
+  private boolean jj_3R_LambdaExpressionOrInvocation_141_5_23()
+ {
     if (jj_scan_token(LPAREN)) {
-      return true;
+        return true;
     }
-    if (jj_3R_27()) {
-      return true;
+    if (jj_3R_LambdaParameters_132_5_27()) {
+        return true;
     }
     if (jj_scan_token(ARROW)) {
-      return true;
+        return true;
     }
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3_4()) {
     jj_scanpos = xsp;
-    if (jj_3R_30()) {
-      return true;
+    if (jj_3R_LambdaExpressionOrInvocation_144_45_30()) {
+        return true;
     }
     }
     if (jj_scan_token(RPAREN)) {
-      return true;
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3_8() {
-    if (jj_3R_25()) {
-      return true;
+  private boolean jj_3_8()
+ {
+    if (jj_3R_SetData_342_5_25()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_87() {
-    if (jj_3R_38()) {
-      return true;
+  private boolean jj_3R_NonLiteral_329_7_87()
+ {
+    if (jj_3R_Identifier_377_5_38()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_86() {
-    if (jj_3R_97()) {
-      return true;
+  private boolean jj_3R_NonLiteral_328_7_86()
+ {
+    if (jj_3R_Function_390_5_97()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_85() {
+  private boolean jj_3R_NonLiteral_327_7_85()
+ {
     if (jj_scan_token(LPAREN)) {
-      return true;
+        return true;
     }
-    if (jj_3R_36()) {
-      return true;
+    if (jj_3R_Expression_99_5_36()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3_6() {
-    if (jj_3R_23()) {
-      return true;
+  private boolean jj_3_6()
+ {
+    if (jj_3R_LambdaExpressionOrInvocation_141_5_23()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_77() {
+  private boolean jj_3R_NonLiteral_326_5_77()
+ {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3_6()) {
     jj_scanpos = xsp;
-    if (jj_3R_85()) {
+    if (jj_3R_NonLiteral_327_7_85()) {
     jj_scanpos = xsp;
-    if (jj_3R_86()) {
+    if (jj_3R_NonLiteral_328_7_86()) {
     jj_scanpos = xsp;
-    if (jj_3R_87()) {
+    if (jj_3R_NonLiteral_329_7_87()) {
     jj_scanpos = xsp;
     if (jj_3_8()) {
     jj_scanpos = xsp;
-    if (jj_3R_88()) {
+    if (jj_3R_NonLiteral_331_7_88()) {
     jj_scanpos = xsp;
-    if (jj_3R_89()) {
-      return true;
+    if (jj_3R_NonLiteral_332_7_89()) {
+        return true;
     }
     }
     }
@@ -2647,77 +2751,85 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
     return false;
   }
 
-  private boolean jj_3R_32() {
-    if (jj_3R_38()) {
-      return true;
+  private boolean jj_3R_LambdaParameters_132_5_32()
+ {
+    if (jj_3R_Identifier_377_5_38()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_27() {
+  private boolean jj_3R_LambdaParameters_132_5_27()
+ {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_32()) {
+    if (jj_3R_LambdaParameters_132_5_32()) {
     jj_scanpos = xsp;
-    if (jj_3R_33()) {
-      return true;
+    if (jj_3R_LambdaParameters_132_20_33()) {
+        return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3_1() {
+  private boolean jj_3_1()
+ {
     if (jj_scan_token(ASSIGN)) {
-      return true;
+        return true;
     }
-    if (jj_3R_20()) {
-      return true;
+    if (jj_3R_Assignment_115_5_20()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_106() {
+  private boolean jj_3R_MethodParameters_317_5_106()
+ {
     if (jj_scan_token(LPAREN)) {
-      return true;
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_21() {
-    if (jj_3R_27()) {
-      return true;
+  private boolean jj_3R_LambdaExpression_124_5_21()
+ {
+    if (jj_3R_LambdaParameters_132_5_27()) {
+        return true;
     }
     if (jj_scan_token(ARROW)) {
-      return true;
+        return true;
     }
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3_3()) {
     jj_scanpos = xsp;
-    if (jj_3R_28()) {
-      return true;
+    if (jj_3R_LambdaExpression_124_68_28()) {
+        return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3R_46() {
+  private boolean jj_3R_Semicolon_107_20_46()
+ {
     if (jj_scan_token(SEMICOLON)) {
-      return true;
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_91() {
+  private boolean jj_3R_BracketSuffix_309_5_91()
+ {
     if (jj_scan_token(LBRACK)) {
-      return true;
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_26() {
-    if (jj_3R_22()) {
-      return true;
+  private boolean jj_3R_Assignment_116_5_26()
+ {
+    if (jj_3R_Choice_155_5_22()) {
+        return true;
     }
     Token xsp;
     while (true) {
@@ -2727,172 +2839,190 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
     return false;
   }
 
-  private boolean jj_3R_79() {
-    if (jj_3R_91()) {
-      return true;
+  private boolean jj_3R_ValueSuffix_291_21_79()
+ {
+    if (jj_3R_BracketSuffix_309_5_91()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3_2() {
-    if (jj_3R_21()) {
-      return true;
+  private boolean jj_3_2()
+ {
+    if (jj_3R_LambdaExpression_124_5_21()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_20() {
+  private boolean jj_3R_Assignment_115_5_20()
+ {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3_2()) {
     jj_scanpos = xsp;
-    if (jj_3R_26()) {
-      return true;
+    if (jj_3R_Assignment_116_5_26()) {
+        return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3R_90() {
+  private boolean jj_3R_DotSuffix_300_5_90()
+ {
     if (jj_scan_token(DOT)) {
-      return true;
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_42() {
-    if (jj_3R_20()) {
-      return true;
+  private boolean jj_3R_Semicolon_107_5_42()
+ {
+    if (jj_3R_Assignment_115_5_20()) {
+        return true;
     }
     Token xsp;
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3R_46()) { jj_scanpos = xsp; break; }
+      if (jj_3R_Semicolon_107_20_46()) { jj_scanpos = xsp; break; }
     }
     return false;
   }
 
-  private boolean jj_3R_78() {
-    if (jj_3R_90()) {
-      return true;
+  private boolean jj_3R_ValueSuffix_291_7_78()
+ {
+    if (jj_3R_DotSuffix_300_5_90()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_75() {
+  private boolean jj_3R_ValueSuffix_291_5_75()
+ {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_78()) {
+    if (jj_3R_ValueSuffix_291_7_78()) {
     jj_scanpos = xsp;
-    if (jj_3R_79()) {
-      return true;
+    if (jj_3R_ValueSuffix_291_21_79()) {
+        return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3R_36() {
-    if (jj_3R_42()) {
-      return true;
+  private boolean jj_3R_Expression_99_5_36()
+ {
+    if (jj_3R_Semicolon_107_5_42()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_72() {
-    if (jj_3R_75()) {
-      return true;
+  private boolean jj_3R_Value_272_21_72()
+ {
+    if (jj_3R_ValueSuffix_291_5_75()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_74() {
-    if (jj_3R_77()) {
-      return true;
+  private boolean jj_3R_ValuePrefix_282_7_74()
+ {
+    if (jj_3R_NonLiteral_326_5_77()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_71() {
+  private boolean jj_3R_ValuePrefix_281_5_71()
+ {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_73()) {
+    if (jj_3R_ValuePrefix_281_5_73()) {
     jj_scanpos = xsp;
-    if (jj_3R_74()) {
-      return true;
+    if (jj_3R_ValuePrefix_282_7_74()) {
+        return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3R_73() {
-    if (jj_3R_76()) {
-      return true;
+  private boolean jj_3R_ValuePrefix_281_5_73()
+ {
+    if (jj_3R_Literal_408_5_76()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_70() {
-    if (jj_3R_71()) {
-      return true;
+  private boolean jj_3R_Value_272_5_70()
+ {
+    if (jj_3R_ValuePrefix_281_5_71()) {
+        return true;
     }
     Token xsp;
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3R_72()) { jj_scanpos = xsp; break; }
+      if (jj_3R_Value_272_21_72()) { jj_scanpos = xsp; break; }
     }
     return false;
   }
 
-  private boolean jj_3R_96() {
+  private boolean jj_3R_Null_458_5_96()
+ {
     if (jj_scan_token(NULL)) {
-      return true;
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_66() {
-    if (jj_3R_70()) {
-      return true;
+  private boolean jj_3R_Unary_263_9_66()
+ {
+    if (jj_3R_Value_272_5_70()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_65() {
+  private boolean jj_3R_Unary_261_9_65()
+ {
     if (jj_scan_token(EMPTY)) {
-      return true;
+        return true;
     }
-    if (jj_3R_59()) {
-      return true;
+    if (jj_3R_Unary_257_9_59()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_64() {
+  private boolean jj_3R_Unary_259_9_64()
+ {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_scan_token(37)) {
     jj_scanpos = xsp;
     if (jj_scan_token(38)) {
-      return true;
+        return true;
     }
     }
-    if (jj_3R_59()) {
-      return true;
+    if (jj_3R_Unary_257_9_59()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_59() {
+  private boolean jj_3R_Unary_257_9_59()
+ {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_63()) {
+    if (jj_3R_Unary_257_9_63()) {
     jj_scanpos = xsp;
-    if (jj_3R_64()) {
+    if (jj_3R_Unary_259_9_64()) {
     jj_scanpos = xsp;
-    if (jj_3R_65()) {
+    if (jj_3R_Unary_261_9_65()) {
     jj_scanpos = xsp;
-    if (jj_3R_66()) {
-      return true;
+    if (jj_3R_Unary_263_9_66()) {
+        return true;
     }
     }
     }
@@ -2900,214 +3030,237 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
     return false;
   }
 
-  private boolean jj_3R_63() {
+  private boolean jj_3R_Unary_257_9_63()
+ {
     if (jj_scan_token(MINUS)) {
-      return true;
+        return true;
     }
-    if (jj_3R_59()) {
-      return true;
+    if (jj_3R_Unary_257_9_59()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_95() {
+  private boolean jj_3R_String_449_5_95()
+ {
     if (jj_scan_token(STRING_LITERAL)) {
-      return true;
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_69() {
+  private boolean jj_3R_Multiplication_247_9_69()
+ {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_scan_token(51)) {
     jj_scanpos = xsp;
     if (jj_scan_token(52)) {
-      return true;
+        return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3R_94() {
+  private boolean jj_3R_Integer_440_5_94()
+ {
     if (jj_scan_token(INTEGER_LITERAL)) {
-      return true;
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_68() {
+  private boolean jj_3R_Multiplication_245_9_68()
+ {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_scan_token(49)) {
     jj_scanpos = xsp;
     if (jj_scan_token(50)) {
-      return true;
+        return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3R_60() {
+  private boolean jj_3R_Multiplication_243_9_60()
+ {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_67()) {
+    if (jj_3R_Multiplication_243_9_67()) {
     jj_scanpos = xsp;
-    if (jj_3R_68()) {
+    if (jj_3R_Multiplication_245_9_68()) {
     jj_scanpos = xsp;
-    if (jj_3R_69()) {
-      return true;
+    if (jj_3R_Multiplication_247_9_69()) {
+        return true;
     }
     }
     }
     return false;
   }
 
-  private boolean jj_3R_67() {
+  private boolean jj_3R_Multiplication_243_9_67()
+ {
     if (jj_scan_token(MULT)) {
-      return true;
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_57() {
-    if (jj_3R_59()) {
-      return true;
+  private boolean jj_3R_Multiplication_241_5_57()
+ {
+    if (jj_3R_Unary_257_9_59()) {
+        return true;
     }
     Token xsp;
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3R_60()) { jj_scanpos = xsp; break; }
+      if (jj_3R_Multiplication_243_9_60()) { jj_scanpos = xsp; break; }
     }
     return false;
   }
 
-  private boolean jj_3R_93() {
+  private boolean jj_3R_FloatingPoint_431_5_93()
+ {
     if (jj_scan_token(FLOATING_POINT_LITERAL)) {
-      return true;
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_62() {
+  private boolean jj_3R_Math_231_9_62()
+ {
     if (jj_scan_token(MINUS)) {
-      return true;
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_101() {
+  private boolean jj_3R_Boolean_423_7_101()
+ {
     if (jj_scan_token(FALSE)) {
-      return true;
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_58() {
+  private boolean jj_3R_Math_229_9_58()
+ {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_61()) {
+    if (jj_3R_Math_229_9_61()) {
     jj_scanpos = xsp;
-    if (jj_3R_62()) {
-      return true;
+    if (jj_3R_Math_231_9_62()) {
+        return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3R_61() {
+  private boolean jj_3R_Math_229_9_61()
+ {
     if (jj_scan_token(PLUS)) {
-      return true;
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_100() {
+  private boolean jj_3R_Boolean_421_5_100()
+ {
     if (jj_scan_token(TRUE)) {
-      return true;
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_92() {
+  private boolean jj_3R_Boolean_421_5_92()
+ {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_100()) {
+    if (jj_3R_Boolean_421_5_100()) {
     jj_scanpos = xsp;
-    if (jj_3R_101()) {
-      return true;
+    if (jj_3R_Boolean_423_7_101()) {
+        return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3R_51() {
-    if (jj_3R_57()) {
-      return true;
+  private boolean jj_3R_Math_227_5_51()
+ {
+    if (jj_3R_Multiplication_241_5_57()) {
+        return true;
     }
     Token xsp;
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3R_58()) { jj_scanpos = xsp; break; }
+      if (jj_3R_Math_229_9_58()) { jj_scanpos = xsp; break; }
     }
     return false;
   }
 
-  private boolean jj_3R_84() {
-    if (jj_3R_96()) {
-      return true;
+  private boolean jj_3R_Literal_412_7_84()
+ {
+    if (jj_3R_Null_458_5_96()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_83() {
-    if (jj_3R_95()) {
-      return true;
+  private boolean jj_3R_Literal_411_7_83()
+ {
+    if (jj_3R_String_449_5_95()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_52() {
+  private boolean jj_3R_Concatenation_217_10_52()
+ {
     if (jj_scan_token(CONCAT)) {
-      return true;
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_82() {
-    if (jj_3R_94()) {
-      return true;
+  private boolean jj_3R_Literal_410_7_82()
+ {
+    if (jj_3R_Integer_440_5_94()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_81() {
-    if (jj_3R_93()) {
-      return true;
+  private boolean jj_3R_Literal_409_7_81()
+ {
+    if (jj_3R_FloatingPoint_431_5_93()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_102() {
+  private boolean jj_3R_Function_390_24_102()
+ {
     if (jj_scan_token(COLON)) {
-      return true;
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_76() {
+  private boolean jj_3R_Literal_408_5_76()
+ {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_80()) {
+    if (jj_3R_Literal_408_5_80()) {
     jj_scanpos = xsp;
-    if (jj_3R_81()) {
+    if (jj_3R_Literal_409_7_81()) {
     jj_scanpos = xsp;
-    if (jj_3R_82()) {
+    if (jj_3R_Literal_410_7_82()) {
     jj_scanpos = xsp;
-    if (jj_3R_83()) {
+    if (jj_3R_Literal_411_7_83()) {
     jj_scanpos = xsp;
-    if (jj_3R_84()) {
-      return true;
+    if (jj_3R_Literal_412_7_84()) {
+        return true;
     }
     }
     }
@@ -3116,79 +3269,86 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
     return false;
   }
 
-  private boolean jj_3R_80() {
-    if (jj_3R_92()) {
-      return true;
+  private boolean jj_3R_Literal_408_5_80()
+ {
+    if (jj_3R_Boolean_421_5_92()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_47() {
-    if (jj_3R_51()) {
-      return true;
+  private boolean jj_3R_Concatenation_215_6_47()
+ {
+    if (jj_3R_Math_227_5_51()) {
+        return true;
     }
     Token xsp;
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3R_52()) { jj_scanpos = xsp; break; }
+      if (jj_3R_Concatenation_217_10_52()) { jj_scanpos = xsp; break; }
     }
     return false;
   }
 
-  private boolean jj_3R_103() {
-    if (jj_3R_106()) {
-      return true;
+  private boolean jj_3R_Function_399_7_103()
+ {
+    if (jj_3R_MethodParameters_317_5_106()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_56() {
+  private boolean jj_3R_Compare_204_9_56()
+ {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_scan_token(29)) {
     jj_scanpos = xsp;
     if (jj_scan_token(30)) {
-      return true;
+        return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3R_55() {
+  private boolean jj_3R_Compare_202_9_55()
+ {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_scan_token(31)) {
     jj_scanpos = xsp;
     if (jj_scan_token(32)) {
-      return true;
+        return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3R_54() {
+  private boolean jj_3R_Compare_200_9_54()
+ {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_scan_token(25)) {
     jj_scanpos = xsp;
     if (jj_scan_token(26)) {
-      return true;
+        return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3R_48() {
+  private boolean jj_3R_Compare_198_9_48()
+ {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_53()) {
+    if (jj_3R_Compare_198_9_53()) {
     jj_scanpos = xsp;
-    if (jj_3R_54()) {
+    if (jj_3R_Compare_200_9_54()) {
     jj_scanpos = xsp;
-    if (jj_3R_55()) {
+    if (jj_3R_Compare_202_9_55()) {
     jj_scanpos = xsp;
-    if (jj_3R_56()) {
-      return true;
+    if (jj_3R_Compare_204_9_56()) {
+        return true;
     }
     }
     }
@@ -3196,95 +3356,103 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
     return false;
   }
 
-  private boolean jj_3R_53() {
+  private boolean jj_3R_Compare_198_9_53()
+ {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_scan_token(27)) {
     jj_scanpos = xsp;
     if (jj_scan_token(28)) {
-      return true;
+        return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3R_97() {
+  private boolean jj_3R_Function_390_5_97()
+ {
     if (jj_scan_token(IDENTIFIER)) {
-      return true;
+        return true;
     }
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_102()) {
-      jj_scanpos = xsp;
+    if (jj_3R_Function_390_24_102()) {
+        jj_scanpos = xsp;
     }
-    if (jj_3R_103()) {
-      return true;
+    if (jj_3R_Function_399_7_103()) {
+        return true;
     }
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3R_103()) { jj_scanpos = xsp; break; }
+      if (jj_3R_Function_399_7_103()) { jj_scanpos = xsp; break; }
     }
     return false;
   }
 
-  private boolean jj_3R_44() {
-    if (jj_3R_47()) {
-      return true;
+  private boolean jj_3R_Compare_196_5_44()
+ {
+    if (jj_3R_Concatenation_215_6_47()) {
+        return true;
     }
     Token xsp;
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3R_48()) { jj_scanpos = xsp; break; }
+      if (jj_3R_Compare_198_9_48()) { jj_scanpos = xsp; break; }
     }
     return false;
   }
 
-  private boolean jj_3R_50() {
+  private boolean jj_3R_Equality_186_9_50()
+ {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_scan_token(35)) {
     jj_scanpos = xsp;
     if (jj_scan_token(36)) {
-      return true;
+        return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3R_45() {
+  private boolean jj_3R_Equality_184_9_45()
+ {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_49()) {
+    if (jj_3R_Equality_184_9_49()) {
     jj_scanpos = xsp;
-    if (jj_3R_50()) {
-      return true;
+    if (jj_3R_Equality_186_9_50()) {
+        return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3R_49() {
+  private boolean jj_3R_Equality_184_9_49()
+ {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_scan_token(33)) {
     jj_scanpos = xsp;
     if (jj_scan_token(34)) {
-      return true;
+        return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3R_28() {
-    if (jj_3R_22()) {
-      return true;
+  private boolean jj_3R_LambdaExpression_124_68_28()
+ {
+    if (jj_3R_Choice_155_5_22()) {
+        return true;
     }
     return false;
   }
 
-  private boolean jj_3R_38() {
+  private boolean jj_3R_Identifier_377_5_38()
+ {
     if (jj_scan_token(IDENTIFIER)) {
-      return true;
+        return true;
     }
     return false;
   }
@@ -3304,216 +3472,221 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
   static private int[] jj_la1_0;
   static private int[] jj_la1_1;
   static {
-      jj_la1_init_0();
-      jj_la1_init_1();
-   }
-   private static void jj_la1_init_0() {
-      jj_la1_0 = new int[] {0xe,0xe,0x800000,0x15ed00,0x15ed00,0x1000000,0x0,0x40000,0x15ed00,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfe000000,0x18000000,0x6000000,0x80000000,0x60000000,0xfe000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x15ed00,0x120000,0x15ed00,0x120000,0x40000,0x1000000,0x15ed00,0x40000,0x0,0x100100,0x1000000,0x15ed00,0x1000000,0x15ed00,0x1000000,0x15ed00,0x400000,0x40000,0x1ec00,0xc000,};
-   }
-   private static void jj_la1_init_1() {
-      jj_la1_1 = new int[] {0x0,0x0,0x0,0x1008860,0x1008860,0x0,0x1000000,0x1000000,0x1008860,0x0,0x600,0x600,0x180,0x180,0x1e,0x6,0x18,0x1e,0x1,0x0,0x0,0x1,0x0,0x1,0x200000,0xc000,0xc000,0x1e2000,0x60000,0x180000,0x1e2000,0x60,0x1008860,0x0,0x1000000,0x0,0x0,0x0,0x1008860,0x0,0x1000000,0x0,0x0,0x1008860,0x0,0x1008860,0x0,0x1008860,0x0,0x0,0x0,0x0,};
-   }
+	   jj_la1_init_0();
+	   jj_la1_init_1();
+	}
+	private static void jj_la1_init_0() {
+	   jj_la1_0 = new int[] {0xe,0xe,0x800000,0x15ed00,0x15ed00,0x1000000,0x0,0x40000,0x15ed00,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfe000000,0x18000000,0x6000000,0x80000000,0x60000000,0xfe000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x15ed00,0x120000,0x15ed00,0x120000,0x40000,0x1000000,0x15ed00,0x40000,0x0,0x100100,0x1000000,0x15ed00,0x1000000,0x15ed00,0x1000000,0x15ed00,0x400000,0x40000,0x1ec00,0xc000,};
+	}
+	private static void jj_la1_init_1() {
+	   jj_la1_1 = new int[] {0x0,0x0,0x0,0x1008860,0x1008860,0x0,0x1000000,0x1000000,0x1008860,0x0,0x600,0x600,0x180,0x180,0x1e,0x6,0x18,0x1e,0x1,0x0,0x0,0x1,0x0,0x1,0x200000,0xc000,0xc000,0x1e2000,0x60000,0x180000,0x1e2000,0x60,0x1008860,0x0,0x1000000,0x0,0x0,0x0,0x1008860,0x0,0x1000000,0x0,0x0,0x1008860,0x0,0x1008860,0x0,0x1008860,0x0,0x0,0x0,0x0,};
+	}
   final private JJCalls[] jj_2_rtns = new JJCalls[8];
   private boolean jj_rescan = false;
   private int jj_gc = 0;
 
   /** Constructor with InputStream. */
   public ELParser(java.io.InputStream stream) {
-     this(stream, null);
+	  this(stream, null);
   }
   /** Constructor with InputStream and supplied encoding */
   public ELParser(java.io.InputStream stream, String encoding) {
-    try { jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
-    token_source = new ELParserTokenManager(jj_input_stream);
-    token = new Token();
-    jj_ntk = -1;
-    jj_gen = 0;
-    for (int i = 0; i < 52; i++) {
-      jj_la1[i] = -1;
+	 try { jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
+	 token_source = new ELParserTokenManager(jj_input_stream);
+	 token = new Token();
+	 jj_ntk = -1;
+	 jj_gen = 0;
+	 for (int i = 0; i < 52; i++) {
+        jj_la1[i] = -1;
     }
-    for (int i = 0; i < jj_2_rtns.length; i++) {
-      jj_2_rtns[i] = new JJCalls();
+	 for (int i = 0; i < jj_2_rtns.length; i++) {
+        jj_2_rtns[i] = new JJCalls();
     }
   }
 
   /** Reinitialise. */
   public void ReInit(java.io.InputStream stream) {
-     ReInit(stream, null);
+	  ReInit(stream, null);
   }
   /** Reinitialise. */
   public void ReInit(java.io.InputStream stream, String encoding) {
-    try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
-    token_source.ReInit(jj_input_stream);
-    token = new Token();
-    jj_ntk = -1;
-    jjtree.reset();
-    jj_gen = 0;
-    for (int i = 0; i < 52; i++) {
-      jj_la1[i] = -1;
+	 try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
+	 token_source.ReInit(jj_input_stream);
+	 token = new Token();
+	 jj_ntk = -1;
+	 jjtree.reset();
+	 jj_gen = 0;
+	 for (int i = 0; i < 52; i++) {
+        jj_la1[i] = -1;
     }
-    for (int i = 0; i < jj_2_rtns.length; i++) {
-      jj_2_rtns[i] = new JJCalls();
+	 for (int i = 0; i < jj_2_rtns.length; i++) {
+        jj_2_rtns[i] = new JJCalls();
     }
   }
 
   /** Constructor. */
   public ELParser(java.io.Reader stream) {
-    jj_input_stream = new SimpleCharStream(stream, 1, 1);
-    token_source = new ELParserTokenManager(jj_input_stream);
-    token = new Token();
-    jj_ntk = -1;
-    jj_gen = 0;
-    for (int i = 0; i < 52; i++) {
-      jj_la1[i] = -1;
+	 jj_input_stream = new SimpleCharStream(stream, 1, 1);
+	 token_source = new ELParserTokenManager(jj_input_stream);
+	 token = new Token();
+	 jj_ntk = -1;
+	 jj_gen = 0;
+	 for (int i = 0; i < 52; i++) {
+        jj_la1[i] = -1;
     }
-    for (int i = 0; i < jj_2_rtns.length; i++) {
-      jj_2_rtns[i] = new JJCalls();
+	 for (int i = 0; i < jj_2_rtns.length; i++) {
+        jj_2_rtns[i] = new JJCalls();
     }
   }
 
   /** Reinitialise. */
   public void ReInit(java.io.Reader stream) {
-    jj_input_stream.ReInit(stream, 1, 1);
-    token_source.ReInit(jj_input_stream);
-    token = new Token();
-    jj_ntk = -1;
-    jjtree.reset();
-    jj_gen = 0;
-    for (int i = 0; i < 52; i++) {
-      jj_la1[i] = -1;
+	if (jj_input_stream == null) {
+	   jj_input_stream = new SimpleCharStream(stream, 1, 1);
+	} else {
+	   jj_input_stream.ReInit(stream, 1, 1);
+	}
+	if (token_source == null) {
+ token_source = new ELParserTokenManager(jj_input_stream);
+	}
+
+	 token_source.ReInit(jj_input_stream);
+	 token = new Token();
+	 jj_ntk = -1;
+	 jjtree.reset();
+	 jj_gen = 0;
+	 for (int i = 0; i < 52; i++) {
+        jj_la1[i] = -1;
     }
-    for (int i = 0; i < jj_2_rtns.length; i++) {
-      jj_2_rtns[i] = new JJCalls();
+	 for (int i = 0; i < jj_2_rtns.length; i++) {
+        jj_2_rtns[i] = new JJCalls();
     }
   }
 
   /** Constructor with generated Token Manager. */
   public ELParser(ELParserTokenManager tm) {
-    token_source = tm;
-    token = new Token();
-    jj_ntk = -1;
-    jj_gen = 0;
-    for (int i = 0; i < 52; i++) {
-      jj_la1[i] = -1;
+	 token_source = tm;
+	 token = new Token();
+	 jj_ntk = -1;
+	 jj_gen = 0;
+	 for (int i = 0; i < 52; i++) {
+        jj_la1[i] = -1;
     }
-    for (int i = 0; i < jj_2_rtns.length; i++) {
-      jj_2_rtns[i] = new JJCalls();
+	 for (int i = 0; i < jj_2_rtns.length; i++) {
+        jj_2_rtns[i] = new JJCalls();
     }
   }
 
   /** Reinitialise. */
   public void ReInit(ELParserTokenManager tm) {
-    token_source = tm;
-    token = new Token();
-    jj_ntk = -1;
-    jjtree.reset();
-    jj_gen = 0;
-    for (int i = 0; i < 52; i++) {
-      jj_la1[i] = -1;
+	 token_source = tm;
+	 token = new Token();
+	 jj_ntk = -1;
+	 jjtree.reset();
+	 jj_gen = 0;
+	 for (int i = 0; i < 52; i++) {
+        jj_la1[i] = -1;
     }
-    for (int i = 0; i < jj_2_rtns.length; i++) {
-      jj_2_rtns[i] = new JJCalls();
+	 for (int i = 0; i < jj_2_rtns.length; i++) {
+        jj_2_rtns[i] = new JJCalls();
     }
   }
 
   private Token jj_consume_token(int kind) throws ParseException {
-    Token oldToken;
-    if ((oldToken = token).next != null) {
-      token = token.next;
+	 Token oldToken;
+	 if ((oldToken = token).next != null) {
+        token = token.next;
     } else {
-      token = token.next = token_source.getNextToken();
-    }
-    jj_ntk = -1;
-    if (token.kind == kind) {
-      jj_gen++;
-      if (++jj_gc > 100) {
-        jj_gc = 0;
-        for (int i = 0; i < jj_2_rtns.length; i++) {
-          JJCalls c = jj_2_rtns[i];
-          while (c != null) {
-            if (c.gen < jj_gen) {
-              c.first = null;
+        token = token.next = token_source.getNextToken();
+    }
+	 jj_ntk = -1;
+	 if (token.kind == kind) {
+	   jj_gen++;
+	   if (++jj_gc > 100) {
+		 jj_gc = 0;
+		 for (int i = 0; i < jj_2_rtns.length; i++) {
+		   JJCalls c = jj_2_rtns[i];
+		   while (c != null) {
+			 if (c.gen < jj_gen) {
+                c.first = null;
             }
-            c = c.next;
-          }
-        }
-      }
-      return token;
-    }
-    token = oldToken;
-    jj_kind = kind;
-    throw generateParseException();
-  }
-
+			 c = c.next;
+		   }
+		 }
+	   }
+	   return token;
+	 }
+	 token = oldToken;
+	 jj_kind = kind;
+	 throw generateParseException();
+  }
+
+  @SuppressWarnings("serial")
   static private final class LookaheadSuccess extends java.lang.Error {
-      /*
-       * Over-ridden to avoid memory leak via Throwable.backtrace
-       * https://java.net/jira/browse/JAVACC-293
-       */
     @Override
-    public synchronized Throwable fillInStackTrace() {
-        return this;
+    public Throwable fillInStackTrace() {
+      return this;
     }
   }
-  final private LookaheadSuccess jj_ls = new LookaheadSuccess();
+  static private final LookaheadSuccess jj_ls = new LookaheadSuccess();
   private boolean jj_scan_token(int kind) {
-    if (jj_scanpos == jj_lastpos) {
-      jj_la--;
-      if (jj_scanpos.next == null) {
-        jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
-      } else {
-        jj_lastpos = jj_scanpos = jj_scanpos.next;
-      }
-    } else {
-      jj_scanpos = jj_scanpos.next;
-    }
-    if (jj_rescan) {
-      int i = 0; Token tok = token;
-      while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
-      if (tok != null) {
+	 if (jj_scanpos == jj_lastpos) {
+	   jj_la--;
+	   if (jj_scanpos.next == null) {
+		 jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
+	   } else {
+		 jj_lastpos = jj_scanpos = jj_scanpos.next;
+	   }
+	 } else {
+	   jj_scanpos = jj_scanpos.next;
+	 }
+	 if (jj_rescan) {
+	   int i = 0; Token tok = token;
+	   while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
+	   if (tok != null) {
         jj_add_error_token(kind, i);
-      }
     }
-    if (jj_scanpos.kind != kind) {
-      return true;
+	 }
+	 if (jj_scanpos.kind != kind) {
+        return true;
     }
-    if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-      throw jj_ls;
+	 if (jj_la == 0 && jj_scanpos == jj_lastpos) {
+        throw jj_ls;
     }
-    return false;
+	 return false;
   }
 
 
 /** Get the next Token. */
   final public Token getNextToken() {
-    if (token.next != null) {
-      token = token.next;
+	 if (token.next != null) {
+        token = token.next;
     } else {
-      token = token.next = token_source.getNextToken();
+        token = token.next = token_source.getNextToken();
     }
-    jj_ntk = -1;
-    jj_gen++;
-    return token;
+	 jj_ntk = -1;
+	 jj_gen++;
+	 return token;
   }
 
 /** Get the specific Token. */
   final public Token getToken(int index) {
-    Token t = token;
-    for (int i = 0; i < index; i++) {
-      if (t.next != null) {
+	 Token t = token;
+	 for (int i = 0; i < index; i++) {
+	   if (t.next != null) {
         t = t.next;
-      } else {
+    } else {
         t = t.next = token_source.getNextToken();
-      }
     }
-    return t;
+	 }
+	 return t;
   }
 
-  private int jj_ntk() {
-    if ((jj_nt=token.next) == null) {
-      return (jj_ntk = (token.next=token_source.getNextToken()).kind);
+  private int jj_ntk_f() {
+	 if ((jj_nt=token.next) == null) {
+        return (jj_ntk = (token.next=token_source.getNextToken()).kind);
     } else {
-      return (jj_ntk = jj_nt.kind);
+        return (jj_ntk = jj_nt.kind);
     }
   }
 
@@ -3524,69 +3697,85 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
   private int jj_endpos;
 
   private void jj_add_error_token(int kind, int pos) {
-    if (pos >= 100) {
-      return;
-    }
-    if (pos == jj_endpos + 1) {
-      jj_lasttokens[jj_endpos++] = kind;
-    } else if (jj_endpos != 0) {
-      jj_expentry = new int[jj_endpos];
-      for (int i = 0; i < jj_endpos; i++) {
-        jj_expentry[i] = jj_lasttokens[i];
-      }
-      jj_entries_loop: for (java.util.Iterator<?> it = jj_expentries.iterator(); it.hasNext();) {
-        int[] oldentry = (int[])(it.next());
-        if (oldentry.length == jj_expentry.length) {
-          for (int i = 0; i < jj_expentry.length; i++) {
-            if (oldentry[i] != jj_expentry[i]) {
-              continue jj_entries_loop;
-            }
-          }
-          jj_expentries.add(jj_expentry);
-          break jj_entries_loop;
-        }
-      }
-      if (pos != 0) {
-        jj_lasttokens[(jj_endpos = pos) - 1] = kind;
-      }
-    }
+	 if (pos >= 100) {
+		return;
+	 }
+
+	 if (pos == jj_endpos + 1) {
+	   jj_lasttokens[jj_endpos++] = kind;
+	 } else if (jj_endpos != 0) {
+	   jj_expentry = new int[jj_endpos];
+
+	   for (int i = 0; i < jj_endpos; i++) {
+		 jj_expentry[i] = jj_lasttokens[i];
+	   }
+
+	   for (int[] oldentry : jj_expentries) {
+		 if (oldentry.length == jj_expentry.length) {
+		   boolean isMatched = true;
+
+		   for (int i = 0; i < jj_expentry.length; i++) {
+			 if (oldentry[i] != jj_expentry[i]) {
+			   isMatched = false;
+			   break;
+			 }
+
+		   }
+		   if (isMatched) {
+			 jj_expentries.add(jj_expentry);
+			 break;
+		   }
+		 }
+	   }
+
+	   if (pos != 0) {
+		 jj_lasttokens[(jj_endpos = pos) - 1] = kind;
+	   }
+	 }
   }
 
   /** Generate ParseException. */
   public ParseException generateParseException() {
-    jj_expentries.clear();
-    boolean[] la1tokens = new boolean[62];
-    if (jj_kind >= 0) {
-      la1tokens[jj_kind] = true;
-      jj_kind = -1;
-    }
-    for (int i = 0; i < 52; i++) {
-      if (jj_la1[i] == jj_gen) {
-        for (int j = 0; j < 32; j++) {
-          if ((jj_la1_0[i] & (1<<j)) != 0) {
-            la1tokens[j] = true;
-          }
-          if ((jj_la1_1[i] & (1<<j)) != 0) {
-            la1tokens[32+j] = true;
-          }
-        }
-      }
-    }
-    for (int i = 0; i < 62; i++) {
-      if (la1tokens[i]) {
-        jj_expentry = new int[1];
-        jj_expentry[0] = i;
-        jj_expentries.add(jj_expentry);
-      }
-    }
-    jj_endpos = 0;
-    jj_rescan_token();
-    jj_add_error_token(0, 0);
-    int[][] exptokseq = new int[jj_expentries.size()][];
-    for (int i = 0; i < jj_expentries.size(); i++) {
-      exptokseq[i] = jj_expentries.get(i);
-    }
-    return new ParseException(token, exptokseq, tokenImage);
+	 jj_expentries.clear();
+	 boolean[] la1tokens = new boolean[62];
+	 if (jj_kind >= 0) {
+	   la1tokens[jj_kind] = true;
+	   jj_kind = -1;
+	 }
+	 for (int i = 0; i < 52; i++) {
+	   if (jj_la1[i] == jj_gen) {
+		 for (int j = 0; j < 32; j++) {
+		   if ((jj_la1_0[i] & (1<<j)) != 0) {
+			 la1tokens[j] = true;
+		   }
+		   if ((jj_la1_1[i] & (1<<j)) != 0) {
+			 la1tokens[32+j] = true;
+		   }
+		 }
+	   }
+	 }
+	 for (int i = 0; i < 62; i++) {
+	   if (la1tokens[i]) {
+		 jj_expentry = new int[1];
+		 jj_expentry[0] = i;
+		 jj_expentries.add(jj_expentry);
+	   }
+	 }
+	 jj_endpos = 0;
+	 jj_rescan_token();
+	 jj_add_error_token(0, 0);
+	 int[][] exptokseq = new int[jj_expentries.size()][];
+	 for (int i = 0; i < jj_expentries.size(); i++) {
+	   exptokseq[i] = jj_expentries.get(i);
+	 }
+	 return new ParseException(token, exptokseq, tokenImage);
+  }
+
+  private boolean trace_enabled;
+
+/** Trace enabled. */
+  final public boolean trace_enabled() {
+	 return trace_enabled;
   }
 
   /** Enable tracing. */
@@ -3598,45 +3787,50 @@ public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParser
   }
 
   private void jj_rescan_token() {
-    jj_rescan = true;
-    for (int i = 0; i < 8; i++) {
-    try {
-      JJCalls p = jj_2_rtns[i];
-      do {
-        if (p.gen > jj_gen) {
-          jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
-          switch (i) {
-            case 0: jj_3_1(); break;
-            case 1: jj_3_2(); break;
-            case 2: jj_3_3(); break;
-            case 3: jj_3_4(); break;
-            case 4: jj_3_5(); break;
-            case 5: jj_3_6(); break;
-            case 6: jj_3_7(); break;
-            case 7: jj_3_8(); break;
-          }
-        }
-        p = p.next;
-      } while (p != null);
-      } catch(LookaheadSuccess ls) { }
-    }
-    jj_rescan = false;
+	 jj_rescan = true;
+	 for (int i = 0; i < 8; i++) {
+	   try {
+		 JJCalls p = jj_2_rtns[i];
+
+		 do {
+		   if (p.gen > jj_gen) {
+			 jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
+			 switch (i) {
+			   case 0: jj_3_1(); break;
+			   case 1: jj_3_2(); break;
+			   case 2: jj_3_3(); break;
+			   case 3: jj_3_4(); break;
+			   case 4: jj_3_5(); break;
+			   case 5: jj_3_6(); break;
+			   case 6: jj_3_7(); break;
+			   case 7: jj_3_8(); break;
+			 }
+		   }
+		   p = p.next;
+		 } while (p != null);
+
+		 } catch(LookaheadSuccess ls) { }
+	 }
+	 jj_rescan = false;
   }
 
   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; }
-      p = p.next;
-    }
-    p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
+	 JJCalls p = jj_2_rtns[index];
+	 while (p.gen > jj_gen) {
+	   if (p.next == null) { p = p.next = new JJCalls(); break; }
+	   p = p.next;
+	 }
+
+	 p.gen = jj_gen + xla - jj_la;
+	 p.first = token;
+	 p.arg = xla;
   }
 
   static final class JJCalls {
-    int gen;
-    Token first;
-    int arg;
-    JJCalls next;
+	 int gen;
+	 Token first;
+	 int arg;
+	 JJCalls next;
   }
 
 }
diff --git a/java/org/apache/el/parser/ELParserTokenManager.java b/java/org/apache/el/parser/ELParserTokenManager.java
index 0aeded2..4c4279d 100644
--- a/java/org/apache/el/parser/ELParserTokenManager.java
+++ b/java/org/apache/el/parser/ELParserTokenManager.java
@@ -1,18 +1,17 @@
+/* ELParserTokenManager.java */
 /* Generated By:JJTree&JavaCC: Do not edit this line. ELParserTokenManager.java */
 package org.apache.el.parser;
 
 /** Token Manager. */
 @SuppressWarnings("all") // Ignore warnings in generated code
-public class ELParserTokenManager implements ELParserConstants
-{
+public class ELParserTokenManager implements ELParserConstants {
 java.util.Deque<Integer> deque = new java.util.ArrayDeque<Integer>();
 
   /** Debug output. */
   public  java.io.PrintStream debugStream = System.out;
   /** Set debug output. */
   public  void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
-private final int jjStopStringLiteralDfa_0(int pos, long active0)
-{
+private final int jjStopStringLiteralDfa_0(int pos, long active0){
    switch (pos)
    {
       case 0:
@@ -26,8 +25,7 @@ private final int jjStopStringLiteralDfa_0(int pos, long active0)
          return -1;
    }
 }
-private final int jjStartNfa_0(int pos, long active0)
-{
+private final int jjStartNfa_0(int pos, long active0){
    return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);
 }
 private int jjStopAtPos(int pos, int kind)
@@ -36,8 +34,7 @@ private int jjStopAtPos(int pos, int kind)
    jjmatchedPos = pos;
    return pos + 1;
 }
-private int jjMoveStringLiteralDfa0_0()
-{
+private int jjMoveStringLiteralDfa0_0(){
    switch(curChar)
    {
       case 35:
@@ -48,8 +45,7 @@ private int jjMoveStringLiteralDfa0_0()
          return jjMoveNfa_0(7, 0);
    }
 }
-private int jjMoveStringLiteralDfa1_0(long active0)
-{
+private int jjMoveStringLiteralDfa1_0(long active0){
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(0, active0);
@@ -59,9 +55,9 @@ private int jjMoveStringLiteralDfa1_0(long active0)
    {
       case 123:
          if ((active0 & 0x4L) != 0L) {
-          return jjStopAtPos(1, 2);
+            return jjStopAtPos(1, 2);
         } else if ((active0 & 0x8L) != 0L) {
-          return jjStopAtPos(1, 3);
+            return jjStopAtPos(1, 3);
         }
          break;
       default :
@@ -86,7 +82,7 @@ private int jjMoveNfa_0(int startState, int curPos)
    {
       if (++jjround == 0x7fffffff) {
         ReInitRounds();
-      }
+    }
       if (curChar < 64)
       {
          long l = 1L << curChar;
@@ -98,62 +94,58 @@ private int jjMoveNfa_0(int startState, int curPos)
                   if ((0xffffffe7ffffffffL & l) != 0L)
                   {
                      if (kind > 1) {
-                      kind = 1;
+                        kind = 1;
                     }
-                     jjCheckNAddStates(0, 4);
+                     { jjCheckNAddStates(0, 4); }
                   }
                   else if ((0x1800000000L & l) != 0L)
                   {
                      if (kind > 1) {
-                      kind = 1;
+                        kind = 1;
                     }
-                     jjCheckNAdd(5);
-                  }
-                  if ((0xffffffe7ffffffffL & l) != 0L) {
-                    jjCheckNAddTwoStates(0, 1);
+                     { jjCheckNAdd(5); }
                   }
+                  if ((0xffffffe7ffffffffL & l) != 0L)
+                     { jjCheckNAddTwoStates(0, 1); }
                   break;
                case 0:
-                  if ((0xffffffe7ffffffffL & l) != 0L) {
-                    jjCheckNAddTwoStates(0, 1);
-                  }
+                  if ((0xffffffe7ffffffffL & l) != 0L)
+                     { jjCheckNAddTwoStates(0, 1); }
                   break;
                case 2:
                   if ((0xffffffe7ffffffffL & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 1) {
                     kind = 1;
-                  }
-                  jjCheckNAddStates(0, 4);
+                }
+                  { jjCheckNAddStates(0, 4); }
                   break;
                case 3:
-                  if ((0xffffffe7ffffffffL & l) != 0L) {
-                    jjCheckNAddTwoStates(3, 4);
-                  }
+                  if ((0xffffffe7ffffffffL & l) != 0L)
+                     { jjCheckNAddTwoStates(3, 4); }
                   break;
                case 4:
-                  if ((0x1800000000L & l) != 0L) {
-                    jjCheckNAdd(5);
-                  }
+                  if ((0x1800000000L & l) != 0L)
+                     { jjCheckNAdd(5); }
                   break;
                case 5:
                   if ((0xffffffe7ffffffffL & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 1) {
                     kind = 1;
-                  }
-                  jjCheckNAddStates(5, 8);
+                }
+                  { jjCheckNAddStates(5, 8); }
                   break;
                case 6:
                   if ((0x1800000000L & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 1) {
                     kind = 1;
-                  }
-                  jjCheckNAddStates(9, 13);
+                }
+                  { jjCheckNAddStates(9, 13); }
                   break;
                default : break;
             }
@@ -169,55 +161,56 @@ private int jjMoveNfa_0(int startState, int curPos)
                case 7:
                   if (kind > 1) {
                     kind = 1;
-                  }
-                  jjCheckNAddStates(0, 4);
-                  if ((0xffffffffefffffffL & l) != 0L) {
-                    jjCheckNAddTwoStates(0, 1);
-                  } else if (curChar == 92)
+                }
+                  { jjCheckNAddStates(0, 4); }
+                  if ((0xffffffffefffffffL & l) != 0L)
+                     { jjCheckNAddTwoStates(0, 1); }
+                  else if (curChar == 92)
                   {
                      if (kind > 1) {
-                      kind = 1;
+                        kind = 1;
                     }
-                     jjCheckNAddStates(14, 17);
+                     { jjCheckNAddStates(14, 17); }
                   }
                   break;
                case 0:
-                  if ((0xffffffffefffffffL & l) != 0L) {
-                    jjCheckNAddTwoStates(0, 1);
-                  }
+                  if ((0xffffffffefffffffL & l) != 0L)
+                     { jjCheckNAddTwoStates(0, 1); }
                   break;
                case 1:
                   if (curChar != 92) {
                     break;
-                  }
+                }
                   if (kind > 1) {
                     kind = 1;
-                  }
-                  jjCheckNAddStates(14, 17);
+                }
+                  { jjCheckNAddStates(14, 17); }
                   break;
                case 2:
                   if (kind > 1) {
                     kind = 1;
-                  }
-                  jjCheckNAddStates(0, 4);
+                }
+                  { jjCheckNAddStates(0, 4); }
                   break;
                case 3:
-                  jjCheckNAddTwoStates(3, 4);
+                  { jjCheckNAddTwoStates(3, 4); }
                   break;
                case 5:
                   if ((0xf7ffffffefffffffL & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 1) {
                     kind = 1;
-                  }
-                  jjCheckNAddStates(5, 8);
+                }
+                  { jjCheckNAddStates(5, 8); }
                   break;
                default : break;
             }
          } while(i != startsAt);
-      } else {
-         int hiByte = (int)(curChar >> 8);
+      }
+      else
+      {
+         int hiByte = (curChar >> 8);
          int i1 = hiByte >> 6;
          long l1 = 1L << (hiByte & 077);
          int i2 = (curChar & 0xff) >> 6;
@@ -227,46 +220,47 @@ private int jjMoveNfa_0(int startState, int curPos)
             switch(jjstateSet[--i])
             {
                case 7:
-                  if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
-                    jjCheckNAddTwoStates(0, 1);
-                  }
+                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
+                     { jjCheckNAddTwoStates(0, 1); }
                   if (jjCanMove_0(hiByte, i1, i2, l1, l2))
                   {
                      if (kind > 1) {
-                      kind = 1;
+                        kind = 1;
                     }
-                     jjCheckNAddStates(0, 4);
+                     { jjCheckNAddStates(0, 4); }
                   }
                   break;
                case 0:
-                  if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
-                    jjCheckNAddTwoStates(0, 1);
-                  }
+                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
+                     { jjCheckNAddTwoStates(0, 1); }
                   break;
                case 2:
                   if (!jjCanMove_0(hiByte, i1, i2, l1, l2)) {
                     break;
-                  }
+                }
                   if (kind > 1) {
                     kind = 1;
-                  }
-                  jjCheckNAddStates(0, 4);
+                }
+                  { jjCheckNAddStates(0, 4); }
                   break;
                case 3:
-                  if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
-                    jjCheckNAddTwoStates(3, 4);
-                  }
+                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
+                     { jjCheckNAddTwoStates(3, 4); }
                   break;
                case 5:
                   if (!jjCanMove_0(hiByte, i1, i2, l1, l2)) {
                     break;
-                  }
+                }
                   if (kind > 1) {
                     kind = 1;
-                  }
-                  jjCheckNAddStates(5, 8);
+                }
+                  { jjCheckNAddStates(5, 8); }
                   break;
-               default : break;
+               default : if (i1 == 0 || l1 == 0 || i2 == 0 ||  l2 == 0) {
+                break;
+            } else {
+                break;
+            }
             }
          } while(i != startsAt);
       }
@@ -279,18 +273,17 @@ private int jjMoveNfa_0(int startState, int curPos)
       ++curPos;
       if ((i = jjnewStateCnt) == (startsAt = 8 - (jjnewStateCnt = startsAt))) {
         return curPos;
-      }
+    }
       try { curChar = input_stream.readChar(); }
       catch(java.io.IOException e) { return curPos; }
    }
 }
-private final int jjStopStringLiteralDfa_2(int pos, long active0)
-{
+private final int jjStopStringLiteralDfa_2(int pos, long active0){
    switch (pos)
    {
       case 0:
          if ((active0 & 0x20000L) != 0L) {
-          return 1;
+            return 1;
         }
          if ((active0 & 0x141d555401c000L) != 0L)
          {
@@ -300,7 +293,7 @@ private final int jjStopStringLiteralDfa_2(int pos, long active0)
          return -1;
       case 1:
          if ((active0 & 0x41554000000L) != 0L) {
-          return 30;
+            return 30;
         }
          if ((active0 & 0x1419400001c000L) != 0L)
          {
@@ -311,7 +304,7 @@ private final int jjStopStringLiteralDfa_2(int pos, long active0)
          return -1;
       case 2:
          if ((active0 & 0x14014000000000L) != 0L) {
-          return 30;
+            return 30;
         }
          if ((active0 & 0x18000001c000L) != 0L)
          {
@@ -322,7 +315,7 @@ private final int jjStopStringLiteralDfa_2(int pos, long active0)
          return -1;
       case 3:
          if ((active0 & 0x14000L) != 0L) {
-          return 30;
+            return 30;
         }
          if ((active0 & 0x180000008000L) != 0L)
          {
@@ -333,7 +326,7 @@ private final int jjStopStringLiteralDfa_2(int pos, long active0)
          return -1;
       case 4:
          if ((active0 & 0x80000008000L) != 0L) {
-          return 30;
+            return 30;
         }
          if ((active0 & 0x100000000000L) != 0L)
          {
@@ -378,12 +371,10 @@ private final int jjStopStringLiteralDfa_2(int pos, long active0)
          return -1;
    }
 }
-private final int jjStartNfa_2(int pos, long active0)
-{
+private final int jjStartNfa_2(int pos, long active0){
    return jjMoveNfa_2(jjStopStringLiteralDfa_2(pos, active0), pos + 1);
 }
-private int jjMoveStringLiteralDfa0_2()
-{
+private int jjMoveStringLiteralDfa0_2(){
    switch(curChar)
    {
       case 33:
@@ -462,8 +453,7 @@ private int jjMoveStringLiteralDfa0_2()
          return jjMoveNfa_2(0, 0);
    }
 }
-private int jjMoveStringLiteralDfa1_2(long active0)
-{
+private int jjMoveStringLiteralDfa1_2(long active0){
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_2(0, active0);
@@ -473,36 +463,36 @@ private int jjMoveStringLiteralDfa1_2(long active0)
    {
       case 38:
          if ((active0 & 0x8000000000L) != 0L) {
-          return jjStopAtPos(1, 39);
+            return jjStopAtPos(1, 39);
         }
          break;
       case 61:
          if ((active0 & 0x20000000L) != 0L) {
-          return jjStopAtPos(1, 29);
+            return jjStopAtPos(1, 29);
         } else if ((active0 & 0x80000000L) != 0L) {
-          return jjStopAtPos(1, 31);
+            return jjStopAtPos(1, 31);
         } else if ((active0 & 0x200000000L) != 0L) {
-          return jjStopAtPos(1, 33);
+            return jjStopAtPos(1, 33);
         } else if ((active0 & 0x800000000L) != 0L) {
-          return jjStopAtPos(1, 35);
+            return jjStopAtPos(1, 35);
         } else if ((active0 & 0x20000000000000L) != 0L) {
-          return jjStopAtPos(1, 53);
+            return jjStopAtPos(1, 53);
         }
          break;
       case 62:
          if ((active0 & 0x80000000000000L) != 0L) {
-          return jjStopAtPos(1, 55);
+            return jjStopAtPos(1, 55);
         }
          break;
       case 97:
          return jjMoveStringLiteralDfa2_2(active0, 0x8000L);
       case 101:
          if ((active0 & 0x40000000L) != 0L) {
-          return jjStartNfaWithStates_2(1, 30, 30);
+            return jjStartNfaWithStates_2(1, 30, 30);
         } else if ((active0 & 0x100000000L) != 0L) {
-          return jjStartNfaWithStates_2(1, 32, 30);
+            return jjStartNfaWithStates_2(1, 32, 30);
         } else if ((active0 & 0x1000000000L) != 0L) {
-          return jjStartNfaWithStates_2(1, 36, 30);
+            return jjStartNfaWithStates_2(1, 36, 30);
         }
          break;
       case 105:
@@ -515,26 +505,26 @@ private int jjMoveStringLiteralDfa1_2(long active0)
          return jjMoveStringLiteralDfa2_2(active0, 0x10004000000000L);
       case 113:
          if ((active0 & 0x400000000L) != 0L) {
-          return jjStartNfaWithStates_2(1, 34, 30);
+            return jjStartNfaWithStates_2(1, 34, 30);
         }
          break;
       case 114:
          if ((active0 & 0x40000000000L) != 0L) {
-          return jjStartNfaWithStates_2(1, 42, 30);
+            return jjStartNfaWithStates_2(1, 42, 30);
         }
          return jjMoveStringLiteralDfa2_2(active0, 0x4000L);
       case 116:
          if ((active0 & 0x4000000L) != 0L) {
-          return jjStartNfaWithStates_2(1, 26, 30);
+            return jjStartNfaWithStates_2(1, 26, 30);
         } else if ((active0 & 0x10000000L) != 0L) {
-          return jjStartNfaWithStates_2(1, 28, 30);
+            return jjStartNfaWithStates_2(1, 28, 30);
         }
          break;
       case 117:
          return jjMoveStringLiteralDfa2_2(active0, 0x10000L);
       case 124:
          if ((active0 & 0x20000000000L) != 0L) {
-          return jjStopAtPos(1, 41);
+            return jjStopAtPos(1, 41);
         }
          break;
       default :
@@ -542,11 +532,10 @@ private int jjMoveStringLiteralDfa1_2(long active0)
    }
    return jjStartNfa_2(0, active0);
 }
-private int jjMoveStringLiteralDfa2_2(long old0, long active0)
-{
+private int jjMoveStringLiteralDfa2_2(long old0, long active0){
    if (((active0 &= old0)) == 0L) {
     return jjStartNfa_2(0, old0);
-  }
+}
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_2(1, active0);
@@ -556,9 +545,9 @@ private int jjMoveStringLiteralDfa2_2(long old0, long active0)
    {
       case 100:
          if ((active0 & 0x10000000000L) != 0L) {
-          return jjStartNfaWithStates_2(2, 40, 30);
+            return jjStartNfaWithStates_2(2, 40, 30);
         } else if ((active0 & 0x10000000000000L) != 0L) {
-          return jjStartNfaWithStates_2(2, 52, 30);
+            return jjStartNfaWithStates_2(2, 52, 30);
         }
          break;
       case 108:
@@ -569,14 +558,14 @@ private int jjMoveStringLiteralDfa2_2(long old0, long active0)
          return jjMoveStringLiteralDfa3_2(active0, 0x100000000000L);
       case 116:
          if ((active0 & 0x4000000000L) != 0L) {
-          return jjStartNfaWithStates_2(2, 38, 30);
+            return jjStartNfaWithStates_2(2, 38, 30);
         }
          break;
       case 117:
          return jjMoveStringLiteralDfa3_2(active0, 0x4000L);
       case 118:
          if ((active0 & 0x4000000000000L) != 0L) {
-          return jjStartNfaWithStates_2(2, 50, 30);
+            return jjStartNfaWithStates_2(2, 50, 30);
         }
          break;
       default :
@@ -584,11 +573,10 @@ private int jjMoveStringLiteralDfa2_2(long old0, long active0)
    }
    return jjStartNfa_2(1, active0);
 }
-private int jjMoveStringLiteralDfa3_2(long old0, long active0)
-{
+private int jjMoveStringLiteralDfa3_2(long old0, long active0){
    if (((active0 &= old0)) == 0L) {
     return jjStartNfa_2(1, old0);
-  }
+}
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_2(2, active0);
@@ -598,12 +586,12 @@ private int jjMoveStringLiteralDfa3_2(long old0, long active0)
    {
       case 101:
          if ((active0 & 0x4000L) != 0L) {
-          return jjStartNfaWithStates_2(3, 14, 30);
+            return jjStartNfaWithStates_2(3, 14, 30);
         }
          break;
       case 108:
          if ((active0 & 0x10000L) != 0L) {
-          return jjStartNfaWithStates_2(3, 16, 30);
+            return jjStartNfaWithStates_2(3, 16, 30);
         }
          break;
       case 115:
@@ -615,11 +603,10 @@ private int jjMoveStringLiteralDfa3_2(long old0, long active0)
    }
    return jjStartNfa_2(2, active0);
 }
-private int jjMoveStringLiteralDfa4_2(long old0, long active0)
-{
+private int jjMoveStringLiteralDfa4_2(long old0, long active0){
    if (((active0 &= old0)) == 0L) {
     return jjStartNfa_2(2, old0);
-  }
+}
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_2(3, active0);
@@ -631,12 +618,12 @@ private int jjMoveStringLiteralDfa4_2(long old0, long active0)
          return jjMoveStringLiteralDfa5_2(active0, 0x100000000000L);
       case 101:
          if ((active0 & 0x8000L) != 0L) {
-          return jjStartNfaWithStates_2(4, 15, 30);
+            return jjStartNfaWithStates_2(4, 15, 30);
         }
          break;
       case 121:
          if ((active0 & 0x80000000000L) != 0L) {
-          return jjStartNfaWithStates_2(4, 43, 30);
+            return jjStartNfaWithStates_2(4, 43, 30);
         }
          break;
       default :
@@ -644,11 +631,10 @@ private int jjMoveStringLiteralDfa4_2(long old0, long active0)
    }
    return jjStartNfa_2(3, active0);
 }
-private int jjMoveStringLiteralDfa5_2(long old0, long active0)
-{
+private int jjMoveStringLiteralDfa5_2(long old0, long active0){
    if (((active0 &= old0)) == 0L) {
     return jjStartNfa_2(3, old0);
-  }
+}
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_2(4, active0);
@@ -663,11 +649,10 @@ private int jjMoveStringLiteralDfa5_2(long old0, long active0)
    }
    return jjStartNfa_2(4, active0);
 }
-private int jjMoveStringLiteralDfa6_2(long old0, long active0)
-{
+private int jjMoveStringLiteralDfa6_2(long old0, long active0){
    if (((active0 &= old0)) == 0L) {
     return jjStartNfa_2(4, old0);
-  }
+}
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_2(5, active0);
@@ -682,11 +667,10 @@ private int jjMoveStringLiteralDfa6_2(long old0, long active0)
    }
    return jjStartNfa_2(5, active0);
 }
-private int jjMoveStringLiteralDfa7_2(long old0, long active0)
-{
+private int jjMoveStringLiteralDfa7_2(long old0, long active0){
    if (((active0 &= old0)) == 0L) {
     return jjStartNfa_2(5, old0);
-  }
+}
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_2(6, active0);
@@ -701,11 +685,10 @@ private int jjMoveStringLiteralDfa7_2(long old0, long active0)
    }
    return jjStartNfa_2(6, active0);
 }
-private int jjMoveStringLiteralDfa8_2(long old0, long active0)
-{
+private int jjMoveStringLiteralDfa8_2(long old0, long active0){
    if (((active0 &= old0)) == 0L) {
     return jjStartNfa_2(6, old0);
-  }
+}
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_2(7, active0);
@@ -720,11 +703,10 @@ private int jjMoveStringLiteralDfa8_2(long old0, long active0)
    }
    return jjStartNfa_2(7, active0);
 }
-private int jjMoveStringLiteralDfa9_2(long old0, long active0)
-{
+private int jjMoveStringLiteralDfa9_2(long old0, long active0){
    if (((active0 &= old0)) == 0L) {
     return jjStartNfa_2(7, old0);
-  }
+}
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_2(8, active0);
@@ -734,7 +716,7 @@ private int jjMoveStringLiteralDfa9_2(long old0, long active0)
    {
       case 102:
          if ((active0 & 0x100000000000L) != 0L) {
-          return jjStartNfaWithStates_2(9, 44, 30);
+            return jjStartNfaWithStates_2(9, 44, 30);
         }
          break;
       default :
@@ -779,7 +761,7 @@ private int jjMoveNfa_2(int startState, int curPos)
    {
       if (++jjround == 0x7fffffff) {
         ReInitRounds();
-      }
+    }
       if (curChar < 64)
       {
          long l = 1L << curChar;
@@ -791,204 +773,192 @@ private int jjMoveNfa_2(int startState, int curPos)
                   if ((0x3ff000000000000L & l) != 0L)
                   {
                      if (kind > 10) {
-                      kind = 10;
+                        kind = 10;
                     }
-                     jjCheckNAddStates(18, 22);
+                     { jjCheckNAddStates(18, 22); }
                   }
                   else if ((0x1800000000L & l) != 0L)
                   {
                      if (kind > 56) {
-                      kind = 56;
+                        kind = 56;
                     }
-                     jjCheckNAddTwoStates(28, 29);
-                  }
-                  else if (curChar == 39) {
-                    jjCheckNAddStates(23, 25);
-                  } else if (curChar == 34) {
-                    jjCheckNAddStates(26, 28);
-                  } else if (curChar == 46) {
-                    jjCheckNAdd(1);
+                     { jjCheckNAddTwoStates(28, 29); }
                   }
+                  else if (curChar == 39)
+                     { jjCheckNAddStates(23, 25); }
+                  else if (curChar == 34)
+                     { jjCheckNAddStates(26, 28); }
+                  else if (curChar == 46)
+                     { jjCheckNAdd(1); }
                   break;
                case 30:
                   if ((0x3ff001000000000L & l) != 0L)
                   {
                      if (kind > 57) {
-                      kind = 57;
+                        kind = 57;
                     }
-                     jjCheckNAdd(29);
+                     { jjCheckNAdd(29); }
                   }
                   if ((0x3ff001000000000L & l) != 0L)
                   {
                      if (kind > 56) {
-                      kind = 56;
+                        kind = 56;
                     }
-                     jjCheckNAdd(28);
+                     { jjCheckNAdd(28); }
                   }
                   break;
                case 1:
                   if ((0x3ff000000000000L & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 11) {
                     kind = 11;
-                  }
-                  jjCheckNAddTwoStates(1, 2);
+                }
+                  { jjCheckNAddTwoStates(1, 2); }
                   break;
                case 3:
-                  if ((0x280000000000L & l) != 0L) {
-                    jjCheckNAdd(4);
-                  }
+                  if ((0x280000000000L & l) != 0L)
+                     { jjCheckNAdd(4); }
                   break;
                case 4:
                   if ((0x3ff000000000000L & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 11) {
                     kind = 11;
-                  }
-                  jjCheckNAdd(4);
+                }
+                  { jjCheckNAdd(4); }
                   break;
                case 5:
-                  if (curChar == 34) {
-                    jjCheckNAddStates(26, 28);
-                  }
+                  if (curChar == 34)
+                     { jjCheckNAddStates(26, 28); }
                   break;
                case 6:
-                  if ((0xfffffffbffffffffL & l) != 0L) {
-                    jjCheckNAddStates(26, 28);
-                  }
+                  if ((0xfffffffbffffffffL & l) != 0L)
+                     { jjCheckNAddStates(26, 28); }
                   break;
                case 8:
-                  if ((0x8400000000L & l) != 0L) {
-                    jjCheckNAddStates(26, 28);
-                  }
+                  if ((0x8400000000L & l) != 0L)
+                     { jjCheckNAddStates(26, 28); }
                   break;
                case 9:
                   if (curChar == 34 && kind > 13) {
                     kind = 13;
-                  }
+                }
                   break;
                case 10:
-                  if (curChar == 39) {
-                    jjCheckNAddStates(23, 25);
-                  }
+                  if (curChar == 39)
+                     { jjCheckNAddStates(23, 25); }
                   break;
                case 11:
-                  if ((0xffffff7fffffffffL & l) != 0L) {
-                    jjCheckNAddStates(23, 25);
-                  }
+                  if ((0xffffff7fffffffffL & l) != 0L)
+                     { jjCheckNAddStates(23, 25); }
                   break;
                case 13:
-                  if ((0x8400000000L & l) != 0L) {
-                    jjCheckNAddStates(23, 25);
-                  }
+                  if ((0x8400000000L & l) != 0L)
+                     { jjCheckNAddStates(23, 25); }
                   break;
                case 14:
                   if (curChar == 39 && kind > 13) {
                     kind = 13;
-                  }
+                }
                   break;
                case 15:
                   if ((0x3ff000000000000L & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 10) {
                     kind = 10;
-                  }
-                  jjCheckNAddStates(18, 22);
+                }
+                  { jjCheckNAddStates(18, 22); }
                   break;
                case 16:
                   if ((0x3ff000000000000L & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 10) {
                     kind = 10;
-                  }
-                  jjCheckNAdd(16);
+                }
+                  { jjCheckNAdd(16); }
                   break;
                case 17:
-                  if ((0x3ff000000000000L & l) != 0L) {
-                    jjCheckNAddTwoStates(17, 18);
-                  }
+                  if ((0x3ff000000000000L & l) != 0L)
+                     { jjCheckNAddTwoStates(17, 18); }
                   break;
                case 18:
                   if (curChar != 46) {
                     break;
-                  }
+                }
                   if (kind > 11) {
                     kind = 11;
-                  }
-                  jjCheckNAddTwoStates(19, 20);
+                }
+                  { jjCheckNAddTwoStates(19, 20); }
                   break;
                case 19:
                   if ((0x3ff000000000000L & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 11) {
                     kind = 11;
-                  }
-                  jjCheckNAddTwoStates(19, 20);
+                }
+                  { jjCheckNAddTwoStates(19, 20); }
                   break;
                case 21:
-                  if ((0x280000000000L & l) != 0L) {
-                    jjCheckNAdd(22);
-                  }
+                  if ((0x280000000000L & l) != 0L)
+                     { jjCheckNAdd(22); }
                   break;
                case 22:
                   if ((0x3ff000000000000L & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 11) {
                     kind = 11;
-                  }
-                  jjCheckNAdd(22);
+                }
+                  { jjCheckNAdd(22); }
                   break;
                case 23:
-                  if ((0x3ff000000000000L & l) != 0L) {
-                    jjCheckNAddTwoStates(23, 24);
-                  }
+                  if ((0x3ff000000000000L & l) != 0L)
+                     { jjCheckNAddTwoStates(23, 24); }
                   break;
                case 25:
-                  if ((0x280000000000L & l) != 0L) {
-                    jjCheckNAdd(26);
-                  }
+                  if ((0x280000000000L & l) != 0L)
+                     { jjCheckNAdd(26); }
                   break;
                case 26:
                   if ((0x3ff000000000000L & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 11) {
                     kind = 11;
-                  }
-                  jjCheckNAdd(26);
+                }
+                  { jjCheckNAdd(26); }
                   break;
                case 27:
                   if ((0x1800000000L & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 56) {
                     kind = 56;
-                  }
-                  jjCheckNAddTwoStates(28, 29);
+                }
+                  { jjCheckNAddTwoStates(28, 29); }
                   break;
                case 28:
                   if ((0x3ff001000000000L & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 56) {
                     kind = 56;
-                  }
-                  jjCheckNAdd(28);
+                }
+                  { jjCheckNAdd(28); }
                   break;
                case 29:
                   if ((0x3ff001000000000L & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 57) {
                     kind = 57;
-                  }
-                  jjCheckNAdd(29);
+                }
+                  { jjCheckNAdd(29); }
                   break;
                default : break;
             }
@@ -1004,96 +974,91 @@ private int jjMoveNfa_2(int startState, int curPos)
                case 0:
                   if ((0x7fffffe87fffffeL & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 56) {
                     kind = 56;
-                  }
-                  jjCheckNAddTwoStates(28, 29);
+                }
+                  { jjCheckNAddTwoStates(28, 29); }
                   break;
                case 30:
                   if ((0x7fffffe87fffffeL & l) != 0L)
                   {
                      if (kind > 57) {
-                      kind = 57;
+                        kind = 57;
                     }
-                     jjCheckNAdd(29);
+                     { jjCheckNAdd(29); }
                   }
                   if ((0x7fffffe87fffffeL & l) != 0L)
                   {
                      if (kind > 56) {
-                      kind = 56;
+                        kind = 56;
                     }
-                     jjCheckNAdd(28);
+                     { jjCheckNAdd(28); }
                   }
                   break;
                case 2:
-                  if ((0x2000000020L & l) != 0L) {
-                    jjAddStates(29, 30);
-                  }
+                  if ((0x2000000020L & l) != 0L)
+                     { jjAddStates(29, 30); }
                   break;
                case 6:
-                  if ((0xffffffffefffffffL & l) != 0L) {
-                    jjCheckNAddStates(26, 28);
-                  }
+                  if ((0xffffffffefffffffL & l) != 0L)
+                     { jjCheckNAddStates(26, 28); }
                   break;
                case 7:
                   if (curChar == 92) {
                     jjstateSet[jjnewStateCnt++] = 8;
-                  }
+                }
                   break;
                case 8:
-                  if (curChar == 92) {
-                    jjCheckNAddStates(26, 28);
-                  }
+                  if (curChar == 92)
+                     { jjCheckNAddStates(26, 28); }
                   break;
                case 11:
-                  if ((0xffffffffefffffffL & l) != 0L) {
-                    jjCheckNAddStates(23, 25);
-                  }
+                  if ((0xffffffffefffffffL & l) != 0L)
+                     { jjCheckNAddStates(23, 25); }
                   break;
                case 12:
                   if (curChar == 92) {
                     jjstateSet[jjnewStateCnt++] = 13;
-                  }
+                }
                   break;
                case 13:
-                  if (curChar == 92) {
-                    jjCheckNAddStates(23, 25);
-                  }
+                  if (curChar == 92)
+                     { jjCheckNAddStates(23, 25); }
                   break;
                case 20:
-                  if ((0x2000000020L & l) != 0L) {
-                    jjAddStates(31, 32);
-                  }
+                  if ((0x2000000020L & l) != 0L)
+                     { jjAddStates(31, 32); }
                   break;
                case 24:
-                  if ((0x2000000020L & l) != 0L) {
-                    jjAddStates(33, 34);
-                  }
+                  if ((0x2000000020L & l) != 0L)
+                     { jjAddStates(33, 34); }
                   break;
                case 28:
                   if ((0x7fffffe87fffffeL & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 56) {
                     kind = 56;
-                  }
-                  jjCheckNAdd(28);
+                }
+                  { jjCheckNAdd(28); }
                   break;
                case 29:
                   if ((0x7fffffe87fffffeL & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 57) {
                     kind = 57;
-                  }
-                  jjCheckNAdd(29);
+                }
+                  { jjCheckNAdd(29); }
                   break;
                default : break;
             }
          } while(i != startsAt);
-      } else {
-         int hiByte = (int)(curChar >> 8);
+      }
+      else
+      {
+         int hiByte = (curChar >> 8);
          int i1 = hiByte >> 6;
          long l1 = 1L << (hiByte & 077);
          int i2 = (curChar & 0xff) >> 6;
@@ -1105,57 +1070,59 @@ private int jjMoveNfa_2(int startState, int curPos)
                case 0:
                   if (!jjCanMove_1(hiByte, i1, i2, l1, l2)) {
                     break;
-                  }
+                }
                   if (kind > 56) {
                     kind = 56;
-                  }
-                  jjCheckNAddTwoStates(28, 29);
+                }
+                  { jjCheckNAddTwoStates(28, 29); }
                   break;
                case 30:
                   if (jjCanMove_1(hiByte, i1, i2, l1, l2))
                   {
                      if (kind > 56) {
-                      kind = 56;
+                        kind = 56;
                     }
-                     jjCheckNAdd(28);
+                     { jjCheckNAdd(28); }
                   }
                   if (jjCanMove_1(hiByte, i1, i2, l1, l2))
                   {
                      if (kind > 57) {
-                      kind = 57;
+                        kind = 57;
                     }
-                     jjCheckNAdd(29);
+                     { jjCheckNAdd(29); }
                   }
                   break;
                case 6:
-                  if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
-                    jjAddStates(26, 28);
-                  }
+                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
+                     { jjAddStates(26, 28); }
                   break;
                case 11:
-                  if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
-                    jjAddStates(23, 25);
-                  }
+                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
+                     { jjAddStates(23, 25); }
                   break;
                case 28:
                   if (!jjCanMove_1(hiByte, i1, i2, l1, l2)) {
                     break;
-                  }
+                }
                   if (kind > 56) {
                     kind = 56;
-                  }
-                  jjCheckNAdd(28);
+                }
+                  { jjCheckNAdd(28); }
                   break;
                case 29:
                   if (!jjCanMove_1(hiByte, i1, i2, l1, l2)) {
                     break;
-                  }
+                }
                   if (kind > 57) {
                     kind = 57;
-                  }
-                  jjCheckNAdd(29);
+                }
+                  { jjCheckNAdd(29); }
                   break;
-               default : break;
+               default : if (i1 == 0 || l1 == 0 || i2 == 0 ||  l2 == 0) {
+                break;
+            } else {
+                break;
+            }
             }
          } while(i != startsAt);
       }
@@ -1168,18 +1135,17 @@ private int jjMoveNfa_2(int startState, int curPos)
       ++curPos;
       if ((i = jjnewStateCnt) == (startsAt = 30 - (jjnewStateCnt = startsAt))) {
         return curPos;
-      }
+    }
       try { curChar = input_stream.readChar(); }
       catch(java.io.IOException e) { return curPos; }
    }
 }
-private final int jjStopStringLiteralDfa_1(int pos, long active0)
-{
+private final int jjStopStringLiteralDfa_1(int pos, long active0){
    switch (pos)
    {
       case 0:
          if ((active0 & 0x20000L) != 0L) {
-          return 1;
+            return 1;
         }
          if ((active0 & 0x141d555401c000L) != 0L)
          {
@@ -1189,7 +1155,7 @@ private final int jjStopStringLiteralDfa_1(int pos, long active0)
          return -1;
       case 1:
          if ((active0 & 0x41554000000L) != 0L) {
-          return 30;
+            return 30;
         }
          if ((active0 & 0x1419400001c000L) != 0L)
          {
@@ -1200,7 +1166,7 @@ private final int jjStopStringLiteralDfa_1(int pos, long active0)
          return -1;
       case 2:
          if ((active0 & 0x14014000000000L) != 0L) {
-          return 30;
+            return 30;
         }
          if ((active0 & 0x18000001c000L) != 0L)
          {
@@ -1211,7 +1177,7 @@ private final int jjStopStringLiteralDfa_1(int pos, long active0)
          return -1;
       case 3:
          if ((active0 & 0x14000L) != 0L) {
-          return 30;
+            return 30;
         }
          if ((active0 & 0x180000008000L) != 0L)
          {
@@ -1222,7 +1188,7 @@ private final int jjStopStringLiteralDfa_1(int pos, long active0)
          return -1;
       case 4:
          if ((active0 & 0x80000008000L) != 0L) {
-          return 30;
+            return 30;
         }
          if ((active0 & 0x100000000000L) != 0L)
          {
@@ -1267,12 +1233,10 @@ private final int jjStopStringLiteralDfa_1(int pos, long active0)
          return -1;
    }
 }
-private final int jjStartNfa_1(int pos, long active0)
-{
+private final int jjStartNfa_1(int pos, long active0){
    return jjMoveNfa_1(jjStopStringLiteralDfa_1(pos, active0), pos + 1);
 }
-private int jjMoveStringLiteralDfa0_1()
-{
+private int jjMoveStringLiteralDfa0_1(){
    switch(curChar)
    {
       case 33:
@@ -1351,8 +1315,7 @@ private int jjMoveStringLiteralDfa0_1()
          return jjMoveNfa_1(0, 0);
    }
 }
-private int jjMoveStringLiteralDfa1_1(long active0)
-{
+private int jjMoveStringLiteralDfa1_1(long active0){
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_1(0, active0);
@@ -1362,36 +1325,36 @@ private int jjMoveStringLiteralDfa1_1(long active0)
    {
       case 38:
          if ((active0 & 0x8000000000L) != 0L) {
-          return jjStopAtPos(1, 39);
+            return jjStopAtPos(1, 39);
         }
          break;
       case 61:
          if ((active0 & 0x20000000L) != 0L) {
-          return jjStopAtPos(1, 29);
+            return jjStopAtPos(1, 29);
         } else if ((active0 & 0x80000000L) != 0L) {
-          return jjStopAtPos(1, 31);
+            return jjStopAtPos(1, 31);
         } else if ((active0 & 0x200000000L) != 0L) {
-          return jjStopAtPos(1, 33);
+            return jjStopAtPos(1, 33);
         } else if ((active0 & 0x800000000L) != 0L) {
-          return jjStopAtPos(1, 35);
+            return jjStopAtPos(1, 35);
         } else if ((active0 & 0x20000000000000L) != 0L) {
-          return jjStopAtPos(1, 53);
+            return jjStopAtPos(1, 53);
         }
          break;
       case 62:
          if ((active0 & 0x80000000000000L) != 0L) {
-          return jjStopAtPos(1, 55);
+            return jjStopAtPos(1, 55);
         }
          break;
       case 97:
          return jjMoveStringLiteralDfa2_1(active0, 0x8000L);
       case 101:
          if ((active0 & 0x40000000L) != 0L) {
-          return jjStartNfaWithStates_1(1, 30, 30);
+            return jjStartNfaWithStates_1(1, 30, 30);
         } else if ((active0 & 0x100000000L) != 0L) {
-          return jjStartNfaWithStates_1(1, 32, 30);
+            return jjStartNfaWithStates_1(1, 32, 30);
         } else if ((active0 & 0x1000000000L) != 0L) {
-          return jjStartNfaWithStates_1(1, 36, 30);
+            return jjStartNfaWithStates_1(1, 36, 30);
         }
          break;
       case 105:
@@ -1404,26 +1367,26 @@ private int jjMoveStringLiteralDfa1_1(long active0)
          return jjMoveStringLiteralDfa2_1(active0, 0x10004000000000L);
       case 113:
          if ((active0 & 0x400000000L) != 0L) {
-          return jjStartNfaWithStates_1(1, 34, 30);
+            return jjStartNfaWithStates_1(1, 34, 30);
         }
          break;
       case 114:
          if ((active0 & 0x40000000000L) != 0L) {
-          return jjStartNfaWithStates_1(1, 42, 30);
+            return jjStartNfaWithStates_1(1, 42, 30);
         }
          return jjMoveStringLiteralDfa2_1(active0, 0x4000L);
       case 116:
          if ((active0 & 0x4000000L) != 0L) {
-          return jjStartNfaWithStates_1(1, 26, 30);
+            return jjStartNfaWithStates_1(1, 26, 30);
         } else if ((active0 & 0x10000000L) != 0L) {
-          return jjStartNfaWithStates_1(1, 28, 30);
+            return jjStartNfaWithStates_1(1, 28, 30);
         }
          break;
       case 117:
          return jjMoveStringLiteralDfa2_1(active0, 0x10000L);
       case 124:
          if ((active0 & 0x20000000000L) != 0L) {
-          return jjStopAtPos(1, 41);
+            return jjStopAtPos(1, 41);
         }
          break;
       default :
@@ -1431,11 +1394,10 @@ private int jjMoveStringLiteralDfa1_1(long active0)
    }
    return jjStartNfa_1(0, active0);
 }
-private int jjMoveStringLiteralDfa2_1(long old0, long active0)
-{
+private int jjMoveStringLiteralDfa2_1(long old0, long active0){
    if (((active0 &= old0)) == 0L) {
     return jjStartNfa_1(0, old0);
-  }
+}
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_1(1, active0);
@@ -1445,9 +1407,9 @@ private int jjMoveStringLiteralDfa2_1(long old0, long active0)
    {
       case 100:
          if ((active0 & 0x10000000000L) != 0L) {
-          return jjStartNfaWithStates_1(2, 40, 30);
+            return jjStartNfaWithStates_1(2, 40, 30);
         } else if ((active0 & 0x10000000000000L) != 0L) {
-          return jjStartNfaWithStates_1(2, 52, 30);
+            return jjStartNfaWithStates_1(2, 52, 30);
         }
          break;
       case 108:
@@ -1458,14 +1420,14 @@ private int jjMoveStringLiteralDfa2_1(long old0, long active0)
          return jjMoveStringLiteralDfa3_1(active0, 0x100000000000L);
       case 116:
          if ((active0 & 0x4000000000L) != 0L) {
-          return jjStartNfaWithStates_1(2, 38, 30);
+            return jjStartNfaWithStates_1(2, 38, 30);
         }
          break;
       case 117:
          return jjMoveStringLiteralDfa3_1(active0, 0x4000L);
       case 118:
          if ((active0 & 0x4000000000000L) != 0L) {
-          return jjStartNfaWithStates_1(2, 50, 30);
+            return jjStartNfaWithStates_1(2, 50, 30);
         }
          break;
       default :
@@ -1473,11 +1435,10 @@ private int jjMoveStringLiteralDfa2_1(long old0, long active0)
    }
    return jjStartNfa_1(1, active0);
 }
-private int jjMoveStringLiteralDfa3_1(long old0, long active0)
-{
+private int jjMoveStringLiteralDfa3_1(long old0, long active0){
    if (((active0 &= old0)) == 0L) {
     return jjStartNfa_1(1, old0);
-  }
+}
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_1(2, active0);
@@ -1487,12 +1448,12 @@ private int jjMoveStringLiteralDfa3_1(long old0, long active0)
    {
       case 101:
          if ((active0 & 0x4000L) != 0L) {
-          return jjStartNfaWithStates_1(3, 14, 30);
+            return jjStartNfaWithStates_1(3, 14, 30);
         }
          break;
       case 108:
          if ((active0 & 0x10000L) != 0L) {
-          return jjStartNfaWithStates_1(3, 16, 30);
+            return jjStartNfaWithStates_1(3, 16, 30);
         }
          break;
       case 115:
@@ -1504,11 +1465,10 @@ private int jjMoveStringLiteralDfa3_1(long old0, long active0)
    }
    return jjStartNfa_1(2, active0);
 }
-private int jjMoveStringLiteralDfa4_1(long old0, long active0)
-{
+private int jjMoveStringLiteralDfa4_1(long old0, long active0){
    if (((active0 &= old0)) == 0L) {
     return jjStartNfa_1(2, old0);
-  }
+}
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_1(3, active0);
@@ -1520,12 +1480,12 @@ private int jjMoveStringLiteralDfa4_1(long old0, long active0)
          return jjMoveStringLiteralDfa5_1(active0, 0x100000000000L);
       case 101:
          if ((active0 & 0x8000L) != 0L) {
-          return jjStartNfaWithStates_1(4, 15, 30);
+            return jjStartNfaWithStates_1(4, 15, 30);
         }
          break;
       case 121:
          if ((active0 & 0x80000000000L) != 0L) {
-          return jjStartNfaWithStates_1(4, 43, 30);
+            return jjStartNfaWithStates_1(4, 43, 30);
         }
          break;
       default :
@@ -1533,11 +1493,10 @@ private int jjMoveStringLiteralDfa4_1(long old0, long active0)
    }
    return jjStartNfa_1(3, active0);
 }
-private int jjMoveStringLiteralDfa5_1(long old0, long active0)
-{
+private int jjMoveStringLiteralDfa5_1(long old0, long active0){
    if (((active0 &= old0)) == 0L) {
     return jjStartNfa_1(3, old0);
-  }
+}
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_1(4, active0);
@@ -1552,11 +1511,10 @@ private int jjMoveStringLiteralDfa5_1(long old0, long active0)
    }
    return jjStartNfa_1(4, active0);
 }
-private int jjMoveStringLiteralDfa6_1(long old0, long active0)
-{
+private int jjMoveStringLiteralDfa6_1(long old0, long active0){
    if (((active0 &= old0)) == 0L) {
     return jjStartNfa_1(4, old0);
-  }
+}
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_1(5, active0);
@@ -1571,11 +1529,10 @@ private int jjMoveStringLiteralDfa6_1(long old0, long active0)
    }
    return jjStartNfa_1(5, active0);
 }
-private int jjMoveStringLiteralDfa7_1(long old0, long active0)
-{
+private int jjMoveStringLiteralDfa7_1(long old0, long active0){
    if (((active0 &= old0)) == 0L) {
     return jjStartNfa_1(5, old0);
-  }
+}
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_1(6, active0);
@@ -1590,11 +1547,10 @@ private int jjMoveStringLiteralDfa7_1(long old0, long active0)
    }
    return jjStartNfa_1(6, active0);
 }
-private int jjMoveStringLiteralDfa8_1(long old0, long active0)
-{
+private int jjMoveStringLiteralDfa8_1(long old0, long active0){
    if (((active0 &= old0)) == 0L) {
     return jjStartNfa_1(6, old0);
-  }
+}
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_1(7, active0);
@@ -1609,11 +1565,10 @@ private int jjMoveStringLiteralDfa8_1(long old0, long active0)
    }
    return jjStartNfa_1(7, active0);
 }
-private int jjMoveStringLiteralDfa9_1(long old0, long active0)
-{
+private int jjMoveStringLiteralDfa9_1(long old0, long active0){
    if (((active0 &= old0)) == 0L) {
     return jjStartNfa_1(7, old0);
-  }
+}
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_1(8, active0);
@@ -1623,7 +1578,7 @@ private int jjMoveStringLiteralDfa9_1(long old0, long active0)
    {
       case 102:
          if ((active0 & 0x100000000000L) != 0L) {
-          return jjStartNfaWithStates_1(9, 44, 30);
+            return jjStartNfaWithStates_1(9, 44, 30);
         }
          break;
       default :
@@ -1650,7 +1605,7 @@ private int jjMoveNfa_1(int startState, int curPos)
    {
       if (++jjround == 0x7fffffff) {
         ReInitRounds();
-      }
+    }
       if (curChar < 64)
       {
          long l = 1L << curChar;
@@ -1662,204 +1617,192 @@ private int jjMoveNfa_1(int startState, int curPos)
                   if ((0x3ff000000000000L & l) != 0L)
                   {
                      if (kind > 10) {
-                      kind = 10;
+                        kind = 10;
                     }
-                     jjCheckNAddStates(18, 22);
+                     { jjCheckNAddStates(18, 22); }
                   }
                   else if ((0x1800000000L & l) != 0L)
                   {
                      if (kind > 56) {
-                      kind = 56;
+                        kind = 56;
                     }
-                     jjCheckNAddTwoStates(28, 29);
-                  }
-                  else if (curChar == 39) {
-                    jjCheckNAddStates(23, 25);
-                  } else if (curChar == 34) {
-                    jjCheckNAddStates(26, 28);
-                  } else if (curChar == 46) {
-                    jjCheckNAdd(1);
+                     { jjCheckNAddTwoStates(28, 29); }
                   }
+                  else if (curChar == 39)
+                     { jjCheckNAddStates(23, 25); }
+                  else if (curChar == 34)
+                     { jjCheckNAddStates(26, 28); }
+                  else if (curChar == 46)
+                     { jjCheckNAdd(1); }
                   break;
                case 30:
                   if ((0x3ff001000000000L & l) != 0L)
                   {
                      if (kind > 57) {
-                      kind = 57;
+                        kind = 57;
                     }
-                     jjCheckNAdd(29);
+                     { jjCheckNAdd(29); }
                   }
                   if ((0x3ff001000000000L & l) != 0L)
                   {
                      if (kind > 56) {
-                      kind = 56;
+                        kind = 56;
                     }
-                     jjCheckNAdd(28);
+                     { jjCheckNAdd(28); }
                   }
                   break;
                case 1:
                   if ((0x3ff000000000000L & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 11) {
                     kind = 11;
-                  }
-                  jjCheckNAddTwoStates(1, 2);
+                }
+                  { jjCheckNAddTwoStates(1, 2); }
                   break;
                case 3:
-                  if ((0x280000000000L & l) != 0L) {
-                    jjCheckNAdd(4);
-                  }
+                  if ((0x280000000000L & l) != 0L)
+                     { jjCheckNAdd(4); }
                   break;
                case 4:
                   if ((0x3ff000000000000L & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 11) {
                     kind = 11;
-                  }
-                  jjCheckNAdd(4);
+                }
+                  { jjCheckNAdd(4); }
                   break;
                case 5:
-                  if (curChar == 34) {
-                    jjCheckNAddStates(26, 28);
-                  }
+                  if (curChar == 34)
+                     { jjCheckNAddStates(26, 28); }
                   break;
                case 6:
-                  if ((0xfffffffbffffffffL & l) != 0L) {
-                    jjCheckNAddStates(26, 28);
-                  }
+                  if ((0xfffffffbffffffffL & l) != 0L)
+                     { jjCheckNAddStates(26, 28); }
                   break;
                case 8:
-                  if ((0x8400000000L & l) != 0L) {
-                    jjCheckNAddStates(26, 28);
-                  }
+                  if ((0x8400000000L & l) != 0L)
+                     { jjCheckNAddStates(26, 28); }
                   break;
                case 9:
                   if (curChar == 34 && kind > 13) {
                     kind = 13;
-                  }
+                }
                   break;
                case 10:
-                  if (curChar == 39) {
-                    jjCheckNAddStates(23, 25);
-                  }
+                  if (curChar == 39)
+                     { jjCheckNAddStates(23, 25); }
                   break;
                case 11:
-                  if ((0xffffff7fffffffffL & l) != 0L) {
-                    jjCheckNAddStates(23, 25);
-                  }
+                  if ((0xffffff7fffffffffL & l) != 0L)
+                     { jjCheckNAddStates(23, 25); }
                   break;
                case 13:
-                  if ((0x8400000000L & l) != 0L) {
-                    jjCheckNAddStates(23, 25);
-                  }
+                  if ((0x8400000000L & l) != 0L)
+                     { jjCheckNAddStates(23, 25); }
                   break;
                case 14:
                   if (curChar == 39 && kind > 13) {
                     kind = 13;
-                  }
+                }
                   break;
                case 15:
                   if ((0x3ff000000000000L & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 10) {
                     kind = 10;
-                  }
-                  jjCheckNAddStates(18, 22);
+                }
+                  { jjCheckNAddStates(18, 22); }
                   break;
                case 16:
                   if ((0x3ff000000000000L & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 10) {
                     kind = 10;
-                  }
-                  jjCheckNAdd(16);
+                }
+                  { jjCheckNAdd(16); }
                   break;
                case 17:
-                  if ((0x3ff000000000000L & l) != 0L) {
-                    jjCheckNAddTwoStates(17, 18);
-                  }
+                  if ((0x3ff000000000000L & l) != 0L)
+                     { jjCheckNAddTwoStates(17, 18); }
                   break;
                case 18:
                   if (curChar != 46) {
                     break;
-                  }
+                }
                   if (kind > 11) {
                     kind = 11;
-                  }
-                  jjCheckNAddTwoStates(19, 20);
+                }
+                  { jjCheckNAddTwoStates(19, 20); }
                   break;
                case 19:
                   if ((0x3ff000000000000L & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 11) {
                     kind = 11;
-                  }
-                  jjCheckNAddTwoStates(19, 20);
+                }
+                  { jjCheckNAddTwoStates(19, 20); }
                   break;
                case 21:
-                  if ((0x280000000000L & l) != 0L) {
-                    jjCheckNAdd(22);
-                  }
+                  if ((0x280000000000L & l) != 0L)
+                     { jjCheckNAdd(22); }
                   break;
                case 22:
                   if ((0x3ff000000000000L & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 11) {
                     kind = 11;
-                  }
-                  jjCheckNAdd(22);
+                }
+                  { jjCheckNAdd(22); }
                   break;
                case 23:
-                  if ((0x3ff000000000000L & l) != 0L) {
-                    jjCheckNAddTwoStates(23, 24);
-                  }
+                  if ((0x3ff000000000000L & l) != 0L)
+                     { jjCheckNAddTwoStates(23, 24); }
                   break;
                case 25:
-                  if ((0x280000000000L & l) != 0L) {
-                    jjCheckNAdd(26);
-                  }
+                  if ((0x280000000000L & l) != 0L)
+                     { jjCheckNAdd(26); }
                   break;
                case 26:
                   if ((0x3ff000000000000L & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 11) {
                     kind = 11;
-                  }
-                  jjCheckNAdd(26);
+                }
+                  { jjCheckNAdd(26); }
                   break;
                case 27:
                   if ((0x1800000000L & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 56) {
                     kind = 56;
-                  }
-                  jjCheckNAddTwoStates(28, 29);
+                }
+                  { jjCheckNAddTwoStates(28, 29); }
                   break;
                case 28:
                   if ((0x3ff001000000000L & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 56) {
                     kind = 56;
-                  }
-                  jjCheckNAdd(28);
+                }
+                  { jjCheckNAdd(28); }
                   break;
                case 29:
                   if ((0x3ff001000000000L & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 57) {
                     kind = 57;
-                  }
-                  jjCheckNAdd(29);
+                }
+                  { jjCheckNAdd(29); }
                   break;
                default : break;
             }
@@ -1875,96 +1818,91 @@ private int jjMoveNfa_1(int startState, int curPos)
                case 0:
                   if ((0x7fffffe87fffffeL & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 56) {
                     kind = 56;
-                  }
-                  jjCheckNAddTwoStates(28, 29);
+                }
+                  { jjCheckNAddTwoStates(28, 29); }
                   break;
                case 30:
                   if ((0x7fffffe87fffffeL & l) != 0L)
                   {
                      if (kind > 57) {
-                      kind = 57;
+                        kind = 57;
                     }
-                     jjCheckNAdd(29);
+                     { jjCheckNAdd(29); }
                   }
                   if ((0x7fffffe87fffffeL & l) != 0L)
                   {
                      if (kind > 56) {
-                      kind = 56;
+                        kind = 56;
                     }
-                     jjCheckNAdd(28);
+                     { jjCheckNAdd(28); }
                   }
                   break;
                case 2:
-                  if ((0x2000000020L & l) != 0L) {
-                    jjAddStates(29, 30);
-                  }
+                  if ((0x2000000020L & l) != 0L)
+                     { jjAddStates(29, 30); }
                   break;
                case 6:
-                  if ((0xffffffffefffffffL & l) != 0L) {
-                    jjCheckNAddStates(26, 28);
-                  }
+                  if ((0xffffffffefffffffL & l) != 0L)
+                     { jjCheckNAddStates(26, 28); }
                   break;
                case 7:
                   if (curChar == 92) {
                     jjstateSet[jjnewStateCnt++] = 8;
-                  }
+                }
                   break;
                case 8:
-                  if (curChar == 92) {
-                    jjCheckNAddStates(26, 28);
-                  }
+                  if (curChar == 92)
+                     { jjCheckNAddStates(26, 28); }
                   break;
                case 11:
-                  if ((0xffffffffefffffffL & l) != 0L) {
-                    jjCheckNAddStates(23, 25);
-                  }
+                  if ((0xffffffffefffffffL & l) != 0L)
+                     { jjCheckNAddStates(23, 25); }
                   break;
                case 12:
                   if (curChar == 92) {
                     jjstateSet[jjnewStateCnt++] = 13;
-                  }
+                }
                   break;
                case 13:
-                  if (curChar == 92) {
-                    jjCheckNAddStates(23, 25);
-                  }
+                  if (curChar == 92)
+                     { jjCheckNAddStates(23, 25); }
                   break;
                case 20:
-                  if ((0x2000000020L & l) != 0L) {
-                    jjAddStates(31, 32);
-                  }
+                  if ((0x2000000020L & l) != 0L)
+                     { jjAddStates(31, 32); }
                   break;
                case 24:
-                  if ((0x2000000020L & l) != 0L) {
-                    jjAddStates(33, 34);
-                  }
+                  if ((0x2000000020L & l) != 0L)
+                     { jjAddStates(33, 34); }
                   break;
                case 28:
                   if ((0x7fffffe87fffffeL & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 56) {
                     kind = 56;
-                  }
-                  jjCheckNAdd(28);
+                }
+                  { jjCheckNAdd(28); }
                   break;
                case 29:
                   if ((0x7fffffe87fffffeL & l) == 0L) {
                     break;
-                  }
+                }
                   if (kind > 57) {
                     kind = 57;
-                  }
-                  jjCheckNAdd(29);
+                }
+                  { jjCheckNAdd(29); }
                   break;
                default : break;
             }
          } while(i != startsAt);
-      } else {
-         int hiByte = (int)(curChar >> 8);
+      }
+      else
+      {
+         int hiByte = (curChar >> 8);
          int i1 = hiByte >> 6;
          long l1 = 1L << (hiByte & 077);
          int i2 = (curChar & 0xff) >> 6;
@@ -1976,57 +1914,59 @@ private int jjMoveNfa_1(int startState, int curPos)
                case 0:
                   if (!jjCanMove_1(hiByte, i1, i2, l1, l2)) {
                     break;
-                  }
+                }
                   if (kind > 56) {
                     kind = 56;
-                  }
-                  jjCheckNAddTwoStates(28, 29);
+                }
+                  { jjCheckNAddTwoStates(28, 29); }
                   break;
                case 30:
                   if (jjCanMove_1(hiByte, i1, i2, l1, l2))
                   {
                      if (kind > 56) {
-                      kind = 56;
+                        kind = 56;
                     }
-                     jjCheckNAdd(28);
+                     { jjCheckNAdd(28); }
                   }
                   if (jjCanMove_1(hiByte, i1, i2, l1, l2))
                   {
                      if (kind > 57) {
-                      kind = 57;
+                        kind = 57;
                     }
-                     jjCheckNAdd(29);
+                     { jjCheckNAdd(29); }
                   }
                   break;
                case 6:
-                  if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
-                    jjAddStates(26, 28);
-                  }
+                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
+                     { jjAddStates(26, 28); }
                   break;
                case 11:
-                  if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
-                    jjAddStates(23, 25);
-                  }
+                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
+                     { jjAddStates(23, 25); }
                   break;
                case 28:
                   if (!jjCanMove_1(hiByte, i1, i2, l1, l2)) {
                     break;
-                  }
+                }
                   if (kind > 56) {
                     kind = 56;
-                  }
-                  jjCheckNAdd(28);
+                }
+                  { jjCheckNAdd(28); }
                   break;
                case 29:
                   if (!jjCanMove_1(hiByte, i1, i2, l1, l2)) {
                     break;
-                  }
+                }
                   if (kind > 57) {
                     kind = 57;
-                  }
-                  jjCheckNAdd(29);
+                }
+                  { jjCheckNAdd(29); }
                   break;
-               default : break;
+               default : if (i1 == 0 || l1 == 0 || i2 == 0 ||  l2 == 0) {
+                break;
+            } else {
+                break;
+            }
             }
          } while(i != startsAt);
       }
@@ -2039,11 +1979,45 @@ private int jjMoveNfa_1(int startState, int curPos)
       ++curPos;
       if ((i = jjnewStateCnt) == (startsAt = 30 - (jjnewStateCnt = startsAt))) {
         return curPos;
-      }
+    }
       try { curChar = input_stream.readChar(); }
       catch(java.io.IOException e) { return curPos; }
    }
 }
+
+/** Token literal values. */
+public static final String[] jjstrLiteralImages = {
+"", null, "\44\173", "\43\173", null, null, null, null, "\173", "\175", null,
+null, null, null, "\164\162\165\145", "\146\141\154\163\145", "\156\165\154\154",
+"\56", "\50", "\51", "\133", "\135", "\72", "\73", "\54", "\76", "\147\164", "\74",
+"\154\164", "\76\75", "\147\145", "\74\75", "\154\145", "\75\75", "\145\161", "\41\75",
+"\156\145", "\41", "\156\157\164", "\46\46", "\141\156\144", "\174\174", "\157\162",
+"\145\155\160\164\171", "\151\156\163\164\141\156\143\145\157\146", "\52", "\53", "\55", "\77", "\57",
+"\144\151\166", "\45", "\155\157\144", "\53\75", "\75", "\55\76", null, null, null, null, null,
+null, };
+protected Token jjFillToken()
+{
+   final Token t;
+   final String curTokenImage;
+   final int beginLine;
+   final int endLine;
+   final int beginColumn;
+   final int endColumn;
+   String im = jjstrLiteralImages[jjmatchedKind];
+   curTokenImage = (im == null) ? input_stream.GetImage() : im;
+   beginLine = input_stream.getBeginLine();
+   beginColumn = input_stream.getBeginColumn();
+   endLine = input_stream.getEndLine();
+   endColumn = input_stream.getEndColumn();
+   t = Token.newToken(jjmatchedKind, curTokenImage);
+
+   t.beginLine = beginLine;
+   t.endLine = endLine;
+   t.beginColumn = beginColumn;
+   t.endColumn = endColumn;
+
+   return t;
+}
 static final int[] jjnextStates = {
    0, 1, 3, 4, 2, 0, 1, 4, 2, 0, 1, 4, 5, 2, 0, 1,
    2, 6, 16, 17, 18, 23, 24, 11, 12, 14, 6, 7, 9, 3, 4, 21,
@@ -2057,7 +2031,7 @@ private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, lo
          return ((jjbitVec2[i2] & l2) != 0L);
       default :
          if ((jjbitVec0[i1] & l1) != 0L) {
-          return true;
+            return true;
         }
          return false;
    }
@@ -2078,122 +2052,12 @@ private static final boolean jjCanMove_1(int hiByte, int i1, int i2, long l1, lo
          return ((jjbitVec8[i2] & l2) != 0L);
       default :
          if ((jjbitVec3[i1] & l1) != 0L) {
-          return true;
+            return true;
         }
          return false;
    }
 }
 
-/** Token literal values. */
-public static final String[] jjstrLiteralImages = {
-"", null, "\44\173", "\43\173", null, null, null, null, "\173", "\175", null,
-null, null, null, "\164\162\165\145", "\146\141\154\163\145", "\156\165\154\154",
-"\56", "\50", "\51", "\133", "\135", "\72", "\73", "\54", "\76", "\147\164", "\74",
-"\154\164", "\76\75", "\147\145", "\74\75", "\154\145", "\75\75", "\145\161", "\41\75",
-"\156\145", "\41", "\156\157\164", "\46\46", "\141\156\144", "\174\174", "\157\162",
-"\145\155\160\164\171", "\151\156\163\164\141\156\143\145\157\146", "\52", "\53", "\55", "\77", "\57",
-"\144\151\166", "\45", "\155\157\144", "\53\75", "\75", "\55\76", null, null, null, null, null,
-null, };
-
-/** Lexer state names. */
-public static final String[] lexStateNames = {
-   "DEFAULT",
-   "IN_EXPRESSION",
-   "IN_SET_OR_MAP",
-};
-
-/** Lex State array. */
-public static final int[] jjnewLexState = {
-   -1, -1, 1, 1, -1, -1, -1, -1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-   -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-   -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-};
-static final long[] jjtoToken = {
-   0x23ffffffffffef0fL,
-};
-static final long[] jjtoSkip = {
-   0xf0L,
-};
-protected SimpleCharStream input_stream;
-private final int[] jjrounds = new int[30];
-private final int[] jjstateSet = new int[60];
-private final StringBuilder jjimage = new StringBuilder();
-private StringBuilder image = jjimage;
-private int jjimageLen;
-private int lengthOfMatch;
-protected char curChar;
-/** Constructor. */
-public ELParserTokenManager(SimpleCharStream stream){
-   if (SimpleCharStream.staticFlag) {
-    throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
-  }
-   input_stream = stream;
-}
-
-/** Constructor. */
-public ELParserTokenManager(SimpleCharStream stream, int lexState){
-   this(stream);
-   SwitchTo(lexState);
-}
-
-/** Reinitialise parser. */
-public void ReInit(SimpleCharStream stream)
-{
-   jjmatchedPos = jjnewStateCnt = 0;
-   curLexState = defaultLexState;
-   input_stream = stream;
-   ReInitRounds();
-}
-private void ReInitRounds()
-{
-   int i;
-   jjround = 0x80000001;
-   for (i = 30; i-- > 0;) {
-    jjrounds[i] = 0x80000000;
-  }
-}
-
-/** Reinitialise parser. */
-public void ReInit(SimpleCharStream stream, int lexState)
-{
-   ReInit(stream);
-   SwitchTo(lexState);
-}
-
-/** Switch to specified lex state. */
-public void SwitchTo(int lexState)
-{
-   if (lexState >= 3 || lexState < 0) {
-    throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
-  } else {
-    curLexState = lexState;
-  }
-}
-
-protected Token jjFillToken()
-{
-   final Token t;
-   final String curTokenImage;
-   final int beginLine;
-   final int endLine;
-   final int beginColumn;
-   final int endColumn;
-   String im = jjstrLiteralImages[jjmatchedKind];
-   curTokenImage = (im == null) ? input_stream.GetImage() : im;
-   beginLine = input_stream.getBeginLine();
-   beginColumn = input_stream.getBeginColumn();
-   endLine = input_stream.getEndLine();
-   endColumn = input_stream.getEndColumn();
-   t = Token.newToken(jjmatchedKind, curTokenImage);
-
-   t.beginLine = beginLine;
-   t.endLine = endLine;
-   t.beginColumn = beginColumn;
-   t.endColumn = endColumn;
-
-   return t;
-}
-
 int curLexState = 0;
 int defaultLexState = 0;
 int jjnewStateCnt;
@@ -2214,9 +2078,10 @@ public Token getNextToken()
    {
       curChar = input_stream.BeginToken();
    }
-   catch(java.io.IOException e)
+   catch(Exception e)
    {
       jjmatchedKind = 0;
+      jjmatchedPos = -1;
       matchedToken = jjFillToken();
       return matchedToken;
    }
@@ -2235,7 +2100,7 @@ public Token getNextToken()
        try { input_stream.backup(0);
           while (curChar <= 32 && (0x100002600L & (1L << curChar)) != 0L) {
             curChar = input_stream.BeginToken();
-          }
+        }
        }
        catch (java.io.IOException e1) { continue EOFLoop; }
        jjmatchedKind = 0x7fffffff;
@@ -2250,7 +2115,7 @@ public Token getNextToken()
        try { input_stream.backup(0);
           while (curChar <= 32 && (0x100002600L & (1L << curChar)) != 0L) {
             curChar = input_stream.BeginToken();
-          }
+        }
        }
        catch (java.io.IOException e1) { continue EOFLoop; }
        jjmatchedKind = 0x7fffffff;
@@ -2265,7 +2130,7 @@ public Token getNextToken()
      if (jjmatchedKind != 0x7fffffff)
      {
         if (jjmatchedPos + 1 < curPos) {
-          input_stream.backup(curPos - jjmatchedPos - 1);
+            input_stream.backup(curPos - jjmatchedPos - 1);
         }
         if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
         {
@@ -2273,11 +2138,13 @@ public Token getNextToken()
            TokenLexicalActions(matchedToken);
        if (jjnewLexState[jjmatchedKind] != -1) {
         curLexState = jjnewLexState[jjmatchedKind];
-      }
+    }
            return matchedToken;
-        } else {
+        }
+        else
+        {
          if (jjnewLexState[jjmatchedKind] != -1) {
-          curLexState = jjnewLexState[jjmatchedKind];
+            curLexState = jjnewLexState[jjmatchedKind];
         }
            continue EOFLoop;
         }
@@ -2294,7 +2161,7 @@ public Token getNextToken()
            error_line++;
            error_column = 0;
         } else {
-          error_column++;
+            error_column++;
         }
      }
      if (!EOFSeen) {
@@ -2305,6 +2172,23 @@ public Token getNextToken()
   }
 }
 
+void SkipLexicalActions(Token matchedToken)
+{
+   switch(jjmatchedKind)
+   {
+      default :
+         break;
+   }
+}
+void MoreLexicalActions()
+{
+   jjimageLen += (lengthOfMatch = jjmatchedPos + 1);
+   switch(jjmatchedKind)
+   {
+      default :
+         break;
+   }
+}
 void TokenLexicalActions(Token matchedToken)
 {
    switch(jjmatchedKind)
@@ -2360,4 +2244,96 @@ private void jjCheckNAddStates(int start, int end)
    } while (start++ != end);
 }
 
+    /** Constructor. */
+    public ELParserTokenManager(SimpleCharStream stream){
+
+      if (SimpleCharStream.staticFlag) {
+        throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
+    }
+
+    input_stream = stream;
+  }
+
+  /** Constructor. */
+  public ELParserTokenManager (SimpleCharStream stream, int lexState){
+    ReInit(stream);
+    SwitchTo(lexState);
+  }
+
+  /** Reinitialise parser. */
+
+  public void ReInit(SimpleCharStream stream)
+  {
+
+
+    jjmatchedPos =
+    jjnewStateCnt =
+    0;
+    curLexState = defaultLexState;
+    input_stream = stream;
+    ReInitRounds();
+  }
+
+  private void ReInitRounds()
+  {
+    int i;
+    jjround = 0x80000001;
+    for (i = 30; i-- > 0;) {
+        jjrounds[i] = 0x80000000;
+    }
+  }
+
+  /** Reinitialise parser. */
+  public void ReInit(SimpleCharStream stream, int lexState)
+
+  {
+    ReInit(stream);
+    SwitchTo(lexState);
+  }
+
+  /** Switch to specified lex state. */
+  public void SwitchTo(int lexState)
+  {
+    if (lexState >= 3 || lexState < 0) {
+        throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
+    } else {
+        curLexState = lexState;
+    }
+  }
+
+
+/** Lexer state names. */
+public static final String[] lexStateNames = {
+   "DEFAULT",
+   "IN_EXPRESSION",
+   "IN_SET_OR_MAP",
+};
+
+/** Lex State array. */
+public static final int[] jjnewLexState = {
+   -1, -1, 1, 1, -1, -1, -1, -1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+   -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+   -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+};
+static final long[] jjtoToken = {
+   0x23ffffffffffef0fL,
+};
+static final long[] jjtoSkip = {
+   0xf0L,
+};
+static final long[] jjtoSpecial = {
+   0x0L,
+};
+static final long[] jjtoMore = {
+   0x0L,
+};
+    protected SimpleCharStream  input_stream;
+
+    private final int[] jjrounds = new int[30];
+    private final int[] jjstateSet = new int[2 * 30];
+    private final StringBuilder jjimage = new StringBuilder();
+    private StringBuilder image = jjimage;
+    private int jjimageLen;
+    private int lengthOfMatch;
+    protected int curChar;
 }
diff --git a/java/org/apache/el/parser/ELParserTreeConstants.java b/java/org/apache/el/parser/ELParserTreeConstants.java
index 8afe6fa..353ccff 100644
--- a/java/org/apache/el/parser/ELParserTreeConstants.java
+++ b/java/org/apache/el/parser/ELParserTreeConstants.java
@@ -1,4 +1,4 @@
-/* Generated By:JavaCC: Do not edit this line. ELParserTreeConstants.java Version 5.0 */
+/* Generated By:JavaCC: Do not edit this line. ELParserTreeConstants.java Version 7.0.10 */
 package org.apache.el.parser;
 
 public interface ELParserTreeConstants
@@ -94,4 +94,4 @@ public interface ELParserTreeConstants
     "Null",
   };
 }
-/* JavaCC - OriginalChecksum=96680d397165a1214a1ad1f24011d5c1 (do not edit this line) */
+/* JavaCC - OriginalChecksum=4a0b3deb38bd21ee4df7ed00585cdbf6 (do not edit this line) */
diff --git a/java/org/apache/el/parser/JJTELParserState.java b/java/org/apache/el/parser/JJTELParserState.java
index 3ba4d77..8077c72 100644
--- a/java/org/apache/el/parser/JJTELParserState.java
+++ b/java/org/apache/el/parser/JJTELParserState.java
@@ -1,4 +1,4 @@
-/* Generated By:JavaCC: Do not edit this line. JJTELParserState.java Version 5.0 */
+/* Generated By:JavaCC: Do not edit this line. JJTELParserState.java Version 7.0.10 */
 package org.apache.el.parser;
 
 @SuppressWarnings("all") // Ignore warnings in generated code
@@ -121,4 +121,4 @@ public class JJTELParserState {
     }
   }
 }
-/* JavaCC - OriginalChecksum=70ac39f1e0e1eed7476e1dae2dfa25fa (do not edit this line) */
+/* JavaCC - OriginalChecksum=5f71fbb7f7a6d37c4c91e15a8243ab32 (do not edit this line) */
diff --git a/java/org/apache/el/parser/ParseException.java b/java/org/apache/el/parser/ParseException.java
index 02c413a..8ee8fa0 100644
--- a/java/org/apache/el/parser/ParseException.java
+++ b/java/org/apache/el/parser/ParseException.java
@@ -1,5 +1,5 @@
-/* Generated By:JavaCC: Do not edit this line. ParseException.java Version 5.0 */
-/* JavaCCOptions:KEEP_LINE_COL=null */
+/* Generated By:JavaCC: Do not edit this line. ParseException.java Version 7.0 */
+/* JavaCCOptions:KEEP_LINE_COLUMN=true */
 package org.apache.el.parser;
 
 /**
@@ -22,6 +22,11 @@ public class ParseException extends Exception {
   private static final long serialVersionUID = 1L;
 
   /**
+   * The end of line string for this machine.
+   */
+  protected static String EOL = System.getProperty("line.separator", "\n");
+
+  /**
    * This constructor is used by the method "generateParseException"
    * in the generated parser.  Calling this constructor generates
    * a new object of this type with the fields "currentToken",
@@ -61,7 +66,7 @@ public class ParseException extends Exception {
   /**
    * This is the last token that has been consumed successfully.  If
    * this object has been created due to a parse error, the token
-   * followng this token will (therefore) be the first error token.
+   * following this token will (therefore) be the first error token.
    */
   public Token currentToken;
 
@@ -89,7 +94,8 @@ public class ParseException extends Exception {
   private static String initialise(Token currentToken,
                            int[][] expectedTokenSequences,
                            String[] tokenImage) {
-    StringBuffer expected = new StringBuffer();
+
+    StringBuilder expected = new StringBuilder();
     int maxSize = 0;
     for (int i = 0; i < expectedTokenSequences.length; i++) {
       if (maxSize < expectedTokenSequences[i].length) {
@@ -101,14 +107,14 @@ public class ParseException extends Exception {
       if (expectedTokenSequences[i][expectedTokenSequences[i].length - 1] != 0) {
         expected.append("...");
       }
-      expected.append(System.lineSeparator()).append("    ");
+      expected.append(EOL).append("    ");
     }
     String retval = "Encountered \"";
     Token tok = currentToken.next;
     for (int i = 0; i < maxSize; i++) {
       if (i != 0) {
         retval += " ";
-      }
+    }
       if (tok.kind == 0) {
         retval += tokenImage[0];
         break;
@@ -119,30 +125,38 @@ public class ParseException extends Exception {
       retval += " \"";
       tok = tok.next;
     }
-    retval += "\" at line " + currentToken.next.beginLine + ", column " + currentToken.next.beginColumn;
-    retval += "." + System.lineSeparator();
-    if (expectedTokenSequences.length == 1) {
-      retval += "Was expecting:" + System.lineSeparator() + "    ";
+    if (currentToken.next != null) {
+      retval += "\" at line " + currentToken.next.beginLine + ", column " + currentToken.next.beginColumn;
+    }
+    retval += "." + EOL;
+
+
+    if (expectedTokenSequences.length == 0) {
+        // Nothing to add here
     } else {
-      retval += "Was expecting one of:" + System.lineSeparator() + "    ";
+	    if (expectedTokenSequences.length == 1) {
+	      retval += "Was expecting:" + EOL + "    ";
+	    } else {
+	      retval += "Was expecting one of:" + EOL + "    ";
+	    }
+	    retval += expected.toString();
     }
-    retval += expected.toString();
+
     return retval;
   }
 
+
   /**
    * Used to convert raw characters to their escaped version
    * when these raw version cannot be used as part of an ASCII
    * string literal.
    */
   static String add_escapes(String str) {
-      StringBuffer retval = new StringBuffer();
+      StringBuilder retval = new StringBuilder();
       char ch;
       for (int i = 0; i < str.length(); i++) {
         switch (str.charAt(i))
         {
-           case 0 :
-              continue;
            case '\b':
               retval.append("\\b");
               continue;
@@ -170,7 +184,7 @@ public class ParseException extends Exception {
            default:
               if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
                  String s = "0000" + Integer.toString(ch, 16);
-                 retval.append("\\u" + s.substring(s.length() - 4, s.length()));
+                 retval.append("\\u" + s.substring(s.length() - 4));
               } else {
                  retval.append(ch);
               }
@@ -181,4 +195,4 @@ public class ParseException extends Exception {
    }
 
 }
-/* JavaCC - OriginalChecksum=87586a39aa89f164889cc59bc6a7e7ad (do not edit this line) */
+/* JavaCC - OriginalChecksum=7b4787d8879bd4e4e79738c1d4a275eb (do not edit this line) */
diff --git a/java/org/apache/el/parser/SimpleCharStream.java b/java/org/apache/el/parser/SimpleCharStream.java
index 1b3b534..7307fe0 100644
--- a/java/org/apache/el/parser/SimpleCharStream.java
+++ b/java/org/apache/el/parser/SimpleCharStream.java
@@ -1,4 +1,4 @@
-/* Generated By:JavaCC: Do not edit this line. SimpleCharStream.java Version 5.0 */
+/* Generated By:JavaCC: Do not edit this line. SimpleCharStream.java Version 7.0 */
 /* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
 package org.apache.el.parser;
 
@@ -31,10 +31,12 @@ public class SimpleCharStream
   protected char[] buffer;
   protected int maxNextCharInd = 0;
   protected int inBuf = 0;
-  protected int tabSize = 8;
+  protected int tabSize = 1;
+  protected boolean trackLineColumn = true;
+
+  public void setTabSize(int i) { tabSize = i; }
+  public int getTabSize() { return tabSize; }
 
-  protected void setTabSize(int i) { tabSize = i; }
-  protected int getTabSize(int i) { return tabSize; }
 
 
   protected void ExpandBuff(boolean wrapAround)
@@ -60,7 +62,9 @@ public class SimpleCharStream
         bufcolumn = newbufcolumn;
 
         maxNextCharInd = (bufpos += (bufsize - tokenBegin));
-      } else {
+      }
+      else
+      {
         System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
         buffer = newbuffer;
 
@@ -96,18 +100,18 @@ public class SimpleCharStream
           available = tokenBegin;
         }
         else if (tokenBegin < 0) {
-          bufpos = maxNextCharInd = 0;
+            bufpos = maxNextCharInd = 0;
         } else {
-          ExpandBuff(false);
+            ExpandBuff(false);
         }
       }
       else if (available > tokenBegin) {
         available = bufsize;
-      } else if ((tokenBegin - available) < 2048) {
+    } else if ((tokenBegin - available) < 2048) {
         ExpandBuff(true);
-      } else {
+    } else {
         available = tokenBegin;
-      }
+    }
     }
 
     int i;
@@ -118,7 +122,7 @@ public class SimpleCharStream
         throw new java.io.IOException();
       } else {
         maxNextCharInd += i;
-      }
+    }
       return;
     }
     catch(java.io.IOException e) {
@@ -126,7 +130,7 @@ public class SimpleCharStream
       backup(0);
       if (tokenBegin == -1) {
         tokenBegin = bufpos;
-      }
+    }
       throw e;
     }
   }
@@ -158,7 +162,7 @@ public class SimpleCharStream
         prevCharIsLF = true;
       } else {
         line += (column = 1);
-      }
+    }
     }
 
     switch (c)
@@ -190,13 +194,13 @@ public class SimpleCharStream
 
       if (++bufpos == bufsize) {
         bufpos = 0;
-      }
+    }
 
       return buffer[bufpos];
     }
 
     if (++bufpos >= maxNextCharInd) {
-      FillBuff();
+        FillBuff();
     }
 
     char c = buffer[bufpos];
@@ -250,7 +254,7 @@ public class SimpleCharStream
 
     inBuf += amount;
     if ((bufpos -= amount) < 0) {
-      bufpos += bufsize;
+        bufpos += bufsize;
     }
   }
 
@@ -394,10 +398,10 @@ public class SimpleCharStream
   public String GetImage()
   {
     if (bufpos >= tokenBegin) {
-      return new String(buffer, tokenBegin, bufpos - tokenBegin + 1);
+        return new String(buffer, tokenBegin, bufpos - tokenBegin + 1);
     } else {
-      return new String(buffer, tokenBegin, bufsize - tokenBegin) +
-                            new String(buffer, 0, bufpos + 1);
+        return new String(buffer, tokenBegin, bufsize - tokenBegin) +
+                                new String(buffer, 0, bufpos + 1);
     }
   }
 
@@ -407,7 +411,7 @@ public class SimpleCharStream
     char[] ret = new char[len];
 
     if ((bufpos + 1) >= len) {
-      System.arraycopy(buffer, bufpos - len + 1, ret, 0, len);
+        System.arraycopy(buffer, bufpos - len + 1, ret, 0, len);
     } else
     {
       System.arraycopy(buffer, bufsize - (len - bufpos - 1), ret, 0,
@@ -437,7 +441,9 @@ public class SimpleCharStream
     if (bufpos >= tokenBegin)
     {
       len = bufpos - tokenBegin + inBuf + 1;
-    } else {
+    }
+    else
+    {
       len = bufsize - tokenBegin + bufpos + 1 + inBuf;
     }
 
@@ -461,9 +467,9 @@ public class SimpleCharStream
       while (i++ < len)
       {
         if (bufline[j = start % bufsize] != bufline[++start % bufsize]) {
-          bufline[j] = newLine++;
+            bufline[j] = newLine++;
         } else {
-          bufline[j] = newLine;
+            bufline[j] = newLine;
         }
       }
     }
@@ -471,6 +477,7 @@ public class SimpleCharStream
     line = bufline[j];
     column = bufcolumn[j];
   }
-
+  boolean getTrackLineColumn() { return trackLineColumn; }
+  void setTrackLineColumn(boolean tlc) { trackLineColumn = tlc; }
 }
-/* JavaCC - OriginalChecksum=9ba0db3918bffb8019f00da1e421f339 (do not edit this line) */
+/* JavaCC - OriginalChecksum=1f3491e3824e8fdde2ac2b6c2dc76fe6 (do not edit this line) */
diff --git a/java/org/apache/el/parser/Token.java b/java/org/apache/el/parser/Token.java
index 17fd31e..55f34a7 100644
--- a/java/org/apache/el/parser/Token.java
+++ b/java/org/apache/el/parser/Token.java
@@ -1,5 +1,5 @@
-/* Generated By:JavaCC: Do not edit this line. Token.java Version 5.0 */
-/* JavaCCOptions:TOKEN_EXTENDS=,KEEP_LINE_COL=null,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
+/* Generated By:JavaCC: Do not edit this line. Token.java Version 7.0 */
+/* JavaCCOptions:TOKEN_EXTENDS=,KEEP_LINE_COLUMN=true,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
 package org.apache.el.parser;
 
 /**
@@ -98,6 +98,7 @@ public class Token implements java.io.Serializable {
   /**
    * Returns the image.
    */
+  @Override
   public String toString()
   {
     return image;
@@ -129,4 +130,4 @@ public class Token implements java.io.Serializable {
   }
 
 }
-/* JavaCC - OriginalChecksum=3fc97649fffa8b13e1e03af022020b2f (do not edit this line) */
+/* JavaCC - OriginalChecksum=4467a1ea6179d025edd92279d5f99003 (do not edit this line) */
diff --git a/java/org/apache/el/parser/TokenMgrError.java b/java/org/apache/el/parser/TokenMgrError.java
index cf37fb9..3d3b565 100644
--- a/java/org/apache/el/parser/TokenMgrError.java
+++ b/java/org/apache/el/parser/TokenMgrError.java
@@ -1,4 +1,4 @@
-/* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 5.0 */
+/* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 7.0 */
 /* JavaCCOptions: */
 package org.apache.el.parser;
 
@@ -21,22 +21,22 @@ public class TokenMgrError extends Error
   /**
    * Lexical error occurred.
    */
-  static final int LEXICAL_ERROR = 0;
+  public static final int LEXICAL_ERROR = 0;
 
   /**
    * An attempt was made to create a second instance of a static token manager.
    */
-  static final int STATIC_LEXER_ERROR = 1;
+  public static final int STATIC_LEXER_ERROR = 1;
 
   /**
    * Tried to change to an invalid lexical state.
    */
-  static final int INVALID_LEXICAL_STATE = 2;
+  public static final int INVALID_LEXICAL_STATE = 2;
 
   /**
    * Detected (and bailed out of) an infinite loop in the token manager.
    */
-  static final int LOOP_DETECTED = 3;
+  public static final int LOOP_DETECTED = 3;
 
   /**
    * Indicates the reason why the exception is thrown. It will have
@@ -49,13 +49,11 @@ public class TokenMgrError extends Error
    * equivalents in the given string
    */
   protected static final String addEscapes(String str) {
-    StringBuffer retval = new StringBuffer();
+    StringBuilder retval = new StringBuilder();
     char ch;
     for (int i = 0; i < str.length(); i++) {
       switch (str.charAt(i))
       {
-        case 0 :
-          continue;
         case '\b':
           retval.append("\\b");
           continue;
@@ -83,7 +81,7 @@ public class TokenMgrError extends Error
         default:
           if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
             String s = "0000" + Integer.toString(ch, 16);
-            retval.append("\\u" + s.substring(s.length() - 4, s.length()));
+            retval.append("\\u" + s.substring(s.length() - 4));
           } else {
             retval.append(ch);
           }
@@ -105,12 +103,13 @@ public class TokenMgrError extends Error
    *    curchar     : the offending character
    * Note: You can customize the lexical error message by modifying this method.
    */
-  protected static String LexicalError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar) {
-    return "Lexical error at line " +
+  protected static String LexicalErr(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, int curChar) {
+    char curChar1 = (char)curChar;
+    return("Lexical error at line " +
           errorLine + ", column " +
           errorColumn + ".  Encountered: " +
-          (EOFSeen ? "<EOF> " : ("\"" + addEscapes(String.valueOf(curChar)) + "\"") + " (" + (int)curChar + "), ") +
-          "after : \"" + addEscapes(errorAfter) + "\"";
+          (EOFSeen ? "<EOF> " : ("\"" + addEscapes(String.valueOf(curChar1)) + "\"") + " (" + curChar + "), ") +
+          "after : \"" + addEscapes(errorAfter) + "\"");
   }
 
   /**
@@ -122,6 +121,7 @@ public class TokenMgrError extends Error
    *
    * from this method for such cases in the release version of your parser.
    */
+  @Override
   public String getMessage() {
     return super.getMessage();
   }
@@ -141,8 +141,8 @@ public class TokenMgrError extends Error
   }
 
   /** Full Constructor. */
-  public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar, int reason) {
-    this(LexicalError(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason);
+  public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, int curChar, int reason) {
+    this(LexicalErr(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason);
   }
 }
-/* JavaCC - OriginalChecksum=de3ff0bacfb0fe749cc8eaf56ae82fea (do not edit this line) */
+/* JavaCC - OriginalChecksum=66bf707ee7f559454e7fb080d48291e1 (do not edit this line) */
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index ef3e6d6..8f79c3e 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -105,6 +105,13 @@
   issues do not "pop up" wrt. others).
 -->
 <section name="Tomcat 10.1.0-M7 (markt)" rtext="in development">
+  <subsection name="Jasper">
+    <changelog>
+      <update>
+        Regenerate the EL parser using JavaCC 7.0.10. (markt)
+      </update>
+    </changelog>
+  </subsection>
 </section>
 <section name="Tomcat 10.1.0-M6 (markt)" rtext="release in progress">
   <subsection name="Catalina">

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org