From 277aaaaf0240e7a9ecfc02b13736d743c52bd518 Mon Sep 17 00:00:00 2001 From: hd Date: Wed, 22 Apr 2026 22:21:01 +0800 Subject: [PATCH 1/7] refactor: align BshLambda wrapper generation with upstream (17b38e7) --- .../src/main/java/bsh/BshLambda.java | 240 +++++++------- .../src/main/java/bsh/Primitive.java | 2 + .../src/main/java/bsh/Types.java | 303 +++++++++++++++++- .../src/main/java/bsh/util/Util.java | 64 ++++ 4 files changed, 485 insertions(+), 124 deletions(-) create mode 100644 bsh-lambda-300-eee36c8/src/main/java/bsh/util/Util.java diff --git a/bsh-lambda-300-eee36c8/src/main/java/bsh/BshLambda.java b/bsh-lambda-300-eee36c8/src/main/java/bsh/BshLambda.java index 9b7de4f..4bf02be 100644 --- a/bsh-lambda-300-eee36c8/src/main/java/bsh/BshLambda.java +++ b/bsh-lambda-300-eee36c8/src/main/java/bsh/BshLambda.java @@ -5,6 +5,8 @@ import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.lang.reflect.Parameter; +import java.lang.reflect.Type; +import java.util.Arrays; import java.util.Base64; import java.util.HashMap; import java.util.Map; @@ -16,7 +18,7 @@ import bsh.org.objectweb.asm.FieldVisitor; import bsh.org.objectweb.asm.MethodVisitor; import bsh.org.objectweb.asm.Opcodes; -import bsh.org.objectweb.asm.Type; +import bsh.util.Util; /** * It's the instance of lambdas written in code. @@ -52,10 +54,25 @@ private static Class generateDummyType() { /** Method with the real implementation to eval the code written */ protected abstract Object invokeImpl(Object[] args) throws UtilEvalError, EvalError, TargetError; - /** Method to invoke the lambda and deal with the expected exceptions */ - public final Object invoke(Object[] args, Class[] exceptionTypes) throws Throwable { + /** + * Method to invoke this lambda where the return must be an Object of a specific Class + * @param args The args to give to the lambda + * @param exceptionTypes An array of accepted exceptions that can be throw when invoking this lambda + * @param returnType This specify of what type must be the return + * @return An value that is assignable to returnType. Note: whether returnType is a primitive ( e.g., int ) the return will be a wrapper instance ( e.g., Integer ) + */ + public final T invoke(Object[] args, Class[] exceptionTypes, Class returnType) throws Throwable { try { - return Primitive.unwrap(this.invokeImpl(args)); + final Object result = returnType.isPrimitive() ? Primitive.unwrap(this.invokeImpl(args)) : this.invokeImpl(args); + if (returnType == void.class) return null; + + try { + return (T) Primitive.unwrap(Types.castObject(result, returnType, Types.ASSIGNMENT)); + } catch (Throwable t) { + final String msg = String.format("Can't assign %s to %s", Types.prettyName(Types.getType(result)), Types.prettyName(returnType)); + throw new RuntimeEvalError(msg, expressionNode, null); + } + } catch (TargetError e) { for (Class exceptionType: exceptionTypes) if (exceptionType.isInstance(e.getTarget())) @@ -68,73 +85,6 @@ public final Object invoke(Object[] args, Class[] exceptionTypes) throws Thro } } - /** Method to invoke the lambda where the return must be a char */ - public final char invokeChar(Object[] args, Class[] exceptionTypes) throws Throwable { - Object result = this.invoke(args, exceptionTypes); - if (result instanceof Character) return ((Character) result).charValue(); - throw new RuntimeEvalError("Can't convert " + StringUtil.typeString(result) + " to char", expressionNode, null); - } - - /** Method to invoke the lambda where the return must be a boolean */ - public final boolean invokeBoolean(Object[] args, Class[] exceptionTypes) throws Throwable { - Object result = this.invoke(args, exceptionTypes); - if (result instanceof Boolean) return ((Boolean) result).booleanValue(); - throw new RuntimeEvalError("Can't convert " + StringUtil.typeString(result) + " to boolean", expressionNode, null); - } - - /** Method to invoke the lambda where the return must be a byte */ - public final byte invokeByte(Object[] args, Class[] exceptionTypes) throws Throwable { - Object result = this.invoke(args, exceptionTypes); - if (result instanceof Number) return ((Number) result).byteValue(); - throw new RuntimeEvalError("Can't convert " + StringUtil.typeString(result) + " to byte", expressionNode, null); - } - - /** Method to invoke the lambda where the return must be a boolean */ - public final short invokeShort(Object[] args, Class[] exceptionTypes) throws Throwable { - Object result = this.invoke(args, exceptionTypes); - if (result instanceof Number) return ((Number) result).shortValue(); - throw new RuntimeEvalError("Can't convert " + StringUtil.typeString(result) + " to short", expressionNode, null); - } - - /** Method to invoke the lambda where the return must be an int */ - public final int invokeInt(Object[] args, Class[] exceptionTypes) throws Throwable { - Object result = this.invoke(args, exceptionTypes); - if (result instanceof Number) return ((Number) result).intValue(); - throw new RuntimeEvalError("Can't convert " + StringUtil.typeString(result) + " to int", expressionNode, null); - } - - /** Method to invoke the lambda where the return must be a long */ - public final long invokeLong(Object[] args, Class[] exceptionTypes) throws Throwable { - Object result = this.invoke(args, exceptionTypes); - if (result instanceof Number) return ((Number) result).longValue(); - throw new RuntimeEvalError("Can't convert " + StringUtil.typeString(result) + " to long", expressionNode, null); - } - - /** Method to invoke the lambda where the return must be a float */ - public final float invokeFloat(Object[] args, Class[] exceptionTypes) throws Throwable { - Object result = this.invoke(args, exceptionTypes); - if (result instanceof Number) return ((Number) result).floatValue(); - throw new RuntimeEvalError("Can't convert " + StringUtil.typeString(result) + " to float", expressionNode, null); - } - - /** Method to invoke the lambda where the return must be a double */ - public final double invokeDouble(Object[] args, Class[] exceptionTypes) throws Throwable { - Object result = this.invoke(args, exceptionTypes); - if (result instanceof Number) return ((Number) result).doubleValue(); - throw new RuntimeEvalError("Can't convert " + StringUtil.typeString(result) + " to double", expressionNode, null); - } - - /** Method to invoke the lambda where the return must be an Object of a specific Class */ - public final T invokeObject(Object[] args, Class[] exceptionTypes, Class returnType) throws Throwable { - Object result = this.invoke(args, exceptionTypes); - if (result == null) return null; - try { - return (T) Types.castObject(result, returnType, Types.ASSIGNMENT); - } catch (UtilEvalError e) { - throw new RuntimeEvalError(e.toEvalError(expressionNode, null)); - } - } - /** Creates a lambda from a lambda expression, used by {@link BSHLambdaExpression} */ protected static BshLambda fromLambdaExpression(Node expressionNode, NameSpace declaringNameSpace, Modifiers[] paramsModifiers, Class[] paramsTypes, String[] paramsNames, Node bodyNode) { return new BshLambdaFromLambdaExpression(expressionNode, declaringNameSpace, paramsModifiers, paramsTypes, paramsNames, bodyNode); @@ -253,7 +203,7 @@ private NameSpace initNameSpace(Object[] args) throws UtilEvalError { } protected boolean isAssignable(Method to, int round) { - Class[] toParamsTypes = to.getParameterTypes(); + Type[] toParamsTypes = to.getGenericParameterTypes(); if (this.paramsTypes.length != toParamsTypes.length) return false; // TODO: validate the return type of 'this.bodyNode' ??? @@ -267,48 +217,87 @@ private static class BshLambdaFromMethodReference extends BshLambda { private final Object thisArg; private final String methodName; + // Util variables + private final boolean staticRef; + private final Class _class; + private final Method[] methods; + public BshLambdaFromMethodReference(Node expressionNode, Object thisArg, String methodName) { super(expressionNode); this.thisArg = thisArg; this.methodName = methodName; + this.staticRef = this.thisArg instanceof ClassIdentifier; + this._class = this.staticRef ? ((ClassIdentifier) this.thisArg).clas : this.thisArg.getClass(); + this.methods = this._class.isInterface() + ? Util.concatArrays(this._class.getMethods(), Object.class.getMethods()) + : this._class.getMethods(); } protected final Object invokeImpl(Object[] args) throws UtilEvalError, EvalError, TargetError { try { - NameSpace nameSpace = new NameSpace("MethodReferenceLambda"); - CallStack callStack = new CallStack(nameSpace); - Interpreter interpreter = new Interpreter(nameSpace); - - if (thisArg instanceof ClassIdentifier) { - Class _class = ((ClassIdentifier) thisArg).clas; - return methodName.equals("new") - ? Reflect.constructObject(_class, args) - : Reflect.invokeStaticMethod(nameSpace.getClassManager(), _class, methodName, args, expressionNode); + final NameSpace nameSpace = new NameSpace("MethodReferenceLambda"); + final CallStack callStack = new CallStack(nameSpace); + final Interpreter interpreter = new Interpreter(nameSpace); + + if (!this.staticRef) return Reflect.invokeObjectMethod(this.thisArg, this.methodName, args, interpreter, callStack, this.expressionNode); + if (this.methodName.equals("new")) return Reflect.constructObject(this._class, args); + if (args.length == 0 || !this._class.isInstance(args[0])) return Reflect.invokeStaticMethod(nameSpace.getClassManager(), this._class, this.methodName, args, this.expressionNode); + + final Class[] argsTypes = Types.getTypes(args); + final Class[] nonStaticArgsTypes = Arrays.copyOfRange(argsTypes, 1, argsTypes.length); + + for (Method method: this.methods) { + if (!this.methodName.equals(method.getName())) continue; + + try { + if (Reflect.isStatic(method)) { // Static reference to static method + if (Types.isSignatureAssignable(argsTypes, method.getGenericParameterTypes(), Types.JAVA_BASE_ASSIGNABLE)) + return method.invoke(null, args); + } else { // Static reference to non static method + if (Types.isSignatureAssignable(nonStaticArgsTypes, method.getGenericParameterTypes(), Types.JAVA_BASE_ASSIGNABLE)) + return method.invoke(args[0], Arrays.copyOfRange(args, 1, args.length)); + } + } catch (IllegalAccessException e) {} } - return Reflect.invokeObjectMethod(this.thisArg, methodName, args, interpreter, callStack, expressionNode); + + throw new UtilEvalError("Can't invoke lambda made from method reference!"); } catch (InvocationTargetException e) { throw new TargetError(e.getTargetException(), expressionNode, null); } } protected boolean isAssignable(Method to, int round) { - boolean staticMethod = this.thisArg instanceof ClassIdentifier; - Class _class = this.thisArg instanceof ClassIdentifier ? ((ClassIdentifier) this.thisArg).clas : this.thisArg.getClass(); + if (!this.staticRef) { // Non-Static references + for (Method method: _class.getMethods()) { + if (!this.methodName.equals(method.getName())) continue; + if (Reflect.isStatic(method)) continue; + if (!Types.isSignatureAssignable(method.getParameterTypes(), to.getGenericParameterTypes(), round)) continue; + if (!Types.isAssignable(method.getReturnType(), to.getGenericReturnType(), round)) continue; + return true; + } + return false; + } - if (this.thisArg instanceof ClassIdentifier && this.methodName.equals("new")) { + if (this.methodName.equals("new")) { // Constructor reference for (Constructor constructor: _class.getConstructors()) { - if (!Types.isSignatureAssignable(constructor.getParameterTypes(), to.getParameterTypes(), round)) continue; - if (!Types.isAssignable(_class, to.getReturnType(), round)) continue; + if (!Types.isSignatureAssignable(constructor.getParameterTypes(), to.getGenericParameterTypes(), round)) continue; + if (!Types.isAssignable(_class, to.getGenericReturnType(), round)) continue; return true; } return false; } - for (Method method: _class.getMethods()) { + // Static reference + for (Method method: this.methods) { if (!this.methodName.equals(method.getName())) continue; - if (Reflect.isStatic(method) != staticMethod) continue; - if (!Types.isSignatureAssignable(method.getParameterTypes(), to.getParameterTypes(), round)) continue; - if (!Types.isAssignable(method.getReturnType(), to.getReturnType(), round)) continue; + if (Reflect.isStatic(method)) { // Static reference to static method + if (!Types.isSignatureAssignable(method.getParameterTypes(), to.getGenericParameterTypes(), round)) continue; + if (!Types.isAssignable(method.getReturnType(), to.getGenericReturnType(), round)) continue; + } else { // Static reference to non static method + final Class[] paramTypes = Util.concatArrays(new Class[] { this._class }, method.getParameterTypes()); + if (!Types.isSignatureAssignable(paramTypes, to.getGenericParameterTypes(), round)) continue; + if (!Types.isAssignable(method.getReturnType(), to.getGenericReturnType(), round)) continue; + } return true; } return false; @@ -328,28 +317,23 @@ public Class classFromBytes(String className, byte[] classBytes) { */ private static class WrapperGenerator { - private static String[] getInternalNames(Class[] types) { - final String[] internalNames = new String[types.length]; - for (int i = 0; i < types.length; i++) internalNames[i] = Type.getInternalName(types[i]); - return internalNames; - } - + // TODO: get the FunctionalInterface args names too! /** * Return a new generated class that wraps a bshLambda. Example of a class that is generated: * *

* - *

+         * 
{@code
          * import java.util.function.Function;
          *
-         * public class MyClass implements Function {
+         * public class MyClass implements Function {
          *  private BshLambda bshLambda;
          *
          *  public MyClass(BshLambda bshLambda) {
          *      this.bshLambda = bshLambda;
          *  }
          *
-         *  public Object apply(Object arg1) {
+         *  public R apply(T arg1) {
          *      return this.bshLambda.invokeObject(new Object[] { arg1 }, new Class[0], Object.class);
          *  }
          * }
@@ -386,12 +370,14 @@ protected static  Class generateClass(Class functionalInterface) {
         private static byte[] generateClassBytes(String className, Class functionalInterface) {
             ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_FRAMES);
 
-            final String[] interfacesPrimitiveNames = { Type.getInternalName(functionalInterface) };
+            final String[] interfacesPrimitiveNames = { Types.getInternalName(functionalInterface) };
             final String superPrimitiveName = "java/lang/Object";
-            cw.visit(Opcodes.V1_8, Opcodes.ACC_PUBLIC, className, null, superPrimitiveName, interfacesPrimitiveNames);
+            final String signature =  generateClassSignature(functionalInterface);
+
+            cw.visit(Opcodes.V1_8, Opcodes.ACC_PUBLIC, className, signature, superPrimitiveName, interfacesPrimitiveNames);
 
             // Declare the 'bshLambda' field
-            FieldVisitor fieldVisitor = cw.visitField(Opcodes.ACC_PRIVATE, "bshLambda", Type.getDescriptor(BshLambda.class), null, null);
+            FieldVisitor fieldVisitor = cw.visitField(Opcodes.ACC_PRIVATE, "bshLambda", Types.getDescriptor(BshLambda.class), null, null);
             fieldVisitor.visitEnd();
 
             WrapperGenerator.writeConstructor(cw, className);
@@ -403,6 +389,13 @@ private static byte[] generateClassBytes(String className, Class functionalIn
             return cw.toByteArray();
         }
 
+        private static String generateClassSignature(Class functionalInterface) {
+            Type _interface = functionalInterface.getTypeParameters().length != 0
+                                                    ? Types.createParameterizedType(functionalInterface, functionalInterface.getTypeParameters())
+                                                    : functionalInterface;
+            return Types.getASMClassSignature(functionalInterface.getTypeParameters(), Object.class, _interface);
+        }
+
         /**
          * Just write the constructor in the ClassWriter. Example of a class with the constructor that is written with this method:
          *
@@ -420,7 +413,7 @@ private static byte[] generateClassBytes(String className, Class functionalIn
          */
         private static void writeConstructor(ClassWriter cw, String className) {
             // Add a default constructor
-            final String constructorDescriptor = Type.getMethodDescriptor(Type.getType(void.class), Type.getType(BshLambda.class));
+            final String constructorDescriptor = Types.getMethodDescriptor(void.class, BshLambda.class);
             MethodVisitor constructor = cw.visitMethod(Opcodes.ACC_PUBLIC, "", constructorDescriptor, null, null);
             constructor.visitCode();
 
@@ -431,7 +424,7 @@ private static void writeConstructor(ClassWriter cw, String className) {
             // Write the implementation: this.bshLambda = bshLambda;
             constructor.visitVarInsn(Opcodes.ALOAD, 0); // Load this
             constructor.visitVarInsn(Opcodes.ALOAD, 1); // Load the first arg
-            constructor.visitFieldInsn(Opcodes.PUTFIELD, className, "bshLambda", Type.getDescriptor(BshLambda.class)); // Set the 'bshLambda' field
+            constructor.visitFieldInsn(Opcodes.PUTFIELD, className, "bshLambda", Types.getDescriptor(BshLambda.class)); // Set the 'bshLambda' field
 
             // Default end
             constructor.visitInsn(Opcodes.RETURN); // Return void
@@ -495,15 +488,15 @@ private static void writeConstructor(ClassWriter cw, String className) {
          * 
*/ private static void writeMethod(ClassWriter cw, String className, Method method) { - final String BSH_LAMBDA_NAME = Type.getInternalName(BshLambda.class); + final String BSH_LAMBDA_NAME = Types.getInternalName(BshLambda.class); final Parameter[] params = method.getParameters(); final Class[] exceptionTypes = method.getExceptionTypes(); - MethodVisitor mv = cw.visitMethod(Opcodes.ACC_PUBLIC, method.getName(), Type.getMethodDescriptor(method), null, getInternalNames(exceptionTypes)); + MethodVisitor mv = cw.visitMethod(Opcodes.ACC_PUBLIC, method.getName(), Types.getMethodDescriptor(method), Types.getASMMethodSignature(method), Types.getInternalNames(exceptionTypes)); mv.visitCode(); mv.visitVarInsn(Opcodes.ALOAD, 0); // Load 'this' onto the stack - mv.visitFieldInsn(Opcodes.GETFIELD, className, "bshLambda", Type.getDescriptor(BshLambda.class)); // Get the field value + mv.visitFieldInsn(Opcodes.GETFIELD, className, "bshLambda", Types.getDescriptor(BshLambda.class)); // Get the field value // Define and create the Object[] array to store the 'args' mv.visitLdcInsn(params.length); // Size of the array @@ -562,42 +555,49 @@ private static void writeMethod(ClassWriter cw, String className, Method method) Class exceptionType = exceptionTypes[i]; mv.visitInsn(Opcodes.DUP); mv.visitLdcInsn(i); - mv.visitLdcInsn(Type.getType(exceptionType)); + mv.visitLdcInsn(Types.getASMType(exceptionType)); mv.visitInsn(Opcodes.AASTORE); } final Class returnType = method.getReturnType(); + final Class invokeReturnType = returnType.isPrimitive() ? Primitive.boxType(returnType) : returnType; + + if (returnType.isPrimitive()) + mv.visitFieldInsn(Opcodes.GETSTATIC, Types.getInternalName(invokeReturnType), "TYPE", "Ljava/lang/Class;"); // Primitive type + else + mv.visitLdcInsn(Types.getASMType(returnType)); // Other types, just load it :P + + mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, BSH_LAMBDA_NAME, "invoke", "([Ljava/lang/Object;[Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Object;", false); + mv.visitTypeInsn(Opcodes.CHECKCAST, Types.getInternalName(invokeReturnType)); + if (returnType == void.class) { - mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, BSH_LAMBDA_NAME, "invoke", "([Ljava/lang/Object;[Ljava/lang/Class;)Ljava/lang/Object;", false); mv.visitInsn(Opcodes.POP); mv.visitInsn(Opcodes.RETURN); } else if (returnType == boolean.class) { - mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, BSH_LAMBDA_NAME, "invokeBoolean", "([Ljava/lang/Object;[Ljava/lang/Class;)Z", false); + mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/Boolean", "booleanValue", "()Z", false); mv.visitInsn(Opcodes.IRETURN); } else if (returnType == char.class) { - mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, BSH_LAMBDA_NAME, "invokeChar", "([Ljava/lang/Object;[Ljava/lang/Class;)C", false); + mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/Character", "charValue", "()C", false); mv.visitInsn(Opcodes.IRETURN); } else if (returnType == byte.class) { - mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, BSH_LAMBDA_NAME, "invokeByte", "([Ljava/lang/Object;[Ljava/lang/Class;)B", false); + mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/Byte", "byteValue", "()B", false); mv.visitInsn(Opcodes.IRETURN); } else if (returnType == short.class) { - mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, BSH_LAMBDA_NAME, "invokeShort", "([Ljava/lang/Object;[Ljava/lang/Class;)S", false); + mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/Short", "shortValue", "()S", false); mv.visitInsn(Opcodes.IRETURN); } else if (returnType == int.class) { - mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, BSH_LAMBDA_NAME, "invokeInt", "([Ljava/lang/Object;[Ljava/lang/Class;)I", false); + mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/Integer", "intValue", "()I", false); mv.visitInsn(Opcodes.IRETURN); } else if (returnType == long.class) { - mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, BSH_LAMBDA_NAME, "invokeLong", "([Ljava/lang/Object;[Ljava/lang/Class;)J", false); + mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/Long", "longValue", "()J", false); mv.visitInsn(Opcodes.LRETURN); } else if (returnType == float.class) { - mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, BSH_LAMBDA_NAME, "invokeFloat", "([Ljava/lang/Object;[Ljava/lang/Class;)F", false); + mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/Float", "floatValue", "()F", false); mv.visitInsn(Opcodes.FRETURN); } else if (returnType == double.class) { - mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, BSH_LAMBDA_NAME, "invokeDouble", "([Ljava/lang/Object;[Ljava/lang/Class;)D", false); + mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/Double", "doubleValue", "()D", false); mv.visitInsn(Opcodes.DRETURN); } else { - mv.visitLdcInsn(Type.getType(returnType)); - mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, BSH_LAMBDA_NAME, "invokeObject", "([Ljava/lang/Object;[Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Object;", false); mv.visitInsn(Opcodes.ARETURN); } diff --git a/bsh-lambda-300-eee36c8/src/main/java/bsh/Primitive.java b/bsh-lambda-300-eee36c8/src/main/java/bsh/Primitive.java index d5d83e7..1e4834f 100644 --- a/bsh-lambda-300-eee36c8/src/main/java/bsh/Primitive.java +++ b/bsh-lambda-300-eee36c8/src/main/java/bsh/Primitive.java @@ -54,6 +54,7 @@ public final class Primitive implements Serializable { static final Map, Class> wrapperMap = new HashMap<>(); static { + wrapperMap.put( Void.TYPE, Void.class ); wrapperMap.put( Boolean.TYPE, Boolean.class ); wrapperMap.put( Byte.TYPE, Byte.class ); wrapperMap.put( Short.TYPE, Short.class ); @@ -62,6 +63,7 @@ public final class Primitive implements Serializable { wrapperMap.put( Long.TYPE, Long.class ); wrapperMap.put( Float.TYPE, Float.class ); wrapperMap.put( Double.TYPE, Double.class ); + wrapperMap.put( Void.class, Void.TYPE ); wrapperMap.put( Boolean.class, Boolean.TYPE ); wrapperMap.put( Byte.class, Byte.TYPE ); wrapperMap.put( Short.class, Short.TYPE ); diff --git a/bsh-lambda-300-eee36c8/src/main/java/bsh/Types.java b/bsh-lambda-300-eee36c8/src/main/java/bsh/Types.java index f8fa5ca..870ba2e 100644 --- a/bsh-lambda-300-eee36c8/src/main/java/bsh/Types.java +++ b/bsh-lambda-300-eee36c8/src/main/java/bsh/Types.java @@ -28,7 +28,11 @@ import java.lang.reflect.Method; import java.lang.reflect.Modifier; +import java.lang.reflect.ParameterizedType; import java.lang.reflect.Proxy; +import java.lang.reflect.Type; +import java.lang.reflect.TypeVariable; +import java.lang.reflect.WildcardType; import java.math.BigDecimal; import java.math.BigInteger; import java.util.AbstractMap.SimpleEntry; @@ -208,6 +212,64 @@ static boolean isAssignable(Class from, Class to, int round) { } } + static boolean isAssignable(Class from, Type to, int round) { + if (to instanceof Class) // Handle a simple type ( like void or Integer ) + return isAssignable(from, (Class) to, round); + + if (to instanceof ParameterizedType) // Handle parameterized types (like List) + return isAssignable(from, ((ParameterizedType) to).getRawType(), round); + + if (to instanceof TypeVariable) { // Handle type variables (like T or R) + TypeVariable typeVar = (TypeVariable) to; + for (Type bound: typeVar.getBounds()) + if (!isAssignable(from, bound, round)) + return false; + return true; + } + + if (to instanceof WildcardType) { // Handle wildcards (like ? extends Number) + WildcardType wildcardType = (WildcardType) to; + for (Type bound: wildcardType.getUpperBounds()) + if (!isAssignable(from, bound, round)) + return false; + for (Type bound: wildcardType.getLowerBounds()) + if (!isAssignable(bound, from, round)) + return false; + return true; + } + + return to == null; + } + + static boolean isAssignable(Type from, Class to, int round) { + if (from instanceof Class) // Handle a simple type ( like void or Integer ) + return isAssignable(from, (Class) to, round); + + if (from instanceof ParameterizedType) // Handle parameterized types (like List) + return isAssignable(((ParameterizedType) from).getRawType(), to, round); + + if (from instanceof TypeVariable) { // Handle type variables (like T or R) + TypeVariable typeVar = (TypeVariable) from; + for (Type bound: typeVar.getBounds()) + if (!isAssignable(bound, to, round)) + return false; + return true; + } + + if (from instanceof WildcardType) { // Handle wildcards (like ? extends Number) + WildcardType wildcardType = (WildcardType) from; + for (Type bound: wildcardType.getUpperBounds()) + if (!isAssignable(bound, to, round)) + return false; + for (Type bound: wildcardType.getLowerBounds()) + if (!isAssignable(to, bound, round)) + return false; + return true; + } + + return to == null; + } + /** Is the 'from' signature (argument types) assignable to the 'to' signature (candidate method types) @@ -226,6 +288,17 @@ static boolean isSignatureAssignable( Class[] from, Class[] to, int round return true; } + static boolean isSignatureAssignable( Class[] from, Type[] to, int round ) + { + if ( round != JAVA_VARARGS_ASSIGNABLE && from.length != to.length ) + return false; + + for (int i = 0; i < from.length; i++) + if (!isAssignable(from[i], to[i], round)) + return false; + return true; + } + /** * Are the two signatures exactly equal? This is checked for a special * case in overload resolution. @@ -763,6 +836,7 @@ public static boolean isCollectionType(Class clas) { *
*/ public static String prettyName(Class clas) { + if (clas == null) return "null"; if (!clas.isArray()) return clas.getName(); // Return a string like "int[]", "double[]", "double[][]", etc... @@ -770,6 +844,65 @@ public static String prettyName(Class clas) { return prettyName(arrayType) + "[]"; } + public static String[] prettyNames(Type[] types) { + String[] result = new String[types.length]; + for (int i = 0; i < types.length; i++) result[i] = prettyName(types[i]); + return result; + } + + public static String prettyName(Type type) { + return prettyName(type, true); + } + + private static String prettyName(Type type, boolean showTypeVariableBounds) { + if (type instanceof Class) // Handle a simple type ( like void or Integer ) + return prettyName((Class) type); + + if (type instanceof ParameterizedType) { // Handle parameterized types (like List) + ParameterizedType paramType = (ParameterizedType) type; + Type[] params = paramType.getActualTypeArguments(); + String[] paramsNames = new String[params.length]; + for (int i = 0; i < params.length; i++) paramsNames[i] = prettyName(params[i], false); + return String.format("%s<%s>", prettyName(paramType.getRawType()), String.join(", ", paramsNames)); + } + + if (type instanceof TypeVariable) { // Handle type variables (like T or R) + TypeVariable typeVar = (TypeVariable) type; + + Type[] bounds = typeVar.getBounds(); + if (!showTypeVariableBounds || (bounds.length == 1 && bounds[0] == Object.class)) return typeVar.getName(); + + String[] boundsStr = new String[bounds.length]; + for (int i = 0; i < bounds.length; i++) boundsStr[i] = prettyName(bounds[i]); + + return String.format("%s extends %s", typeVar.getName(), String.join(" & ", boundsStr)); + } + + if (type instanceof WildcardType) { // Handle wildcards (like '? extends Number' and '? super Integer') + WildcardType wildcardType = (WildcardType) type; + + Type[] upperBounds = wildcardType.getUpperBounds(); + if (upperBounds[0] != Object.class) { + String[] upperBoundsStr = new String[upperBounds.length]; + for (int i = 0; i < upperBounds.length; i++) upperBoundsStr[i] = prettyName(upperBounds[i]); + return String.format("? extends %s", String.join(" & ", upperBoundsStr)); + } + + Type[] lowerBounds = wildcardType.getLowerBounds(); + if (lowerBounds.length != 0) { + String[] lowerBoundsStr = new String[lowerBounds.length]; + for (int i = 0; i < lowerBounds.length; i++) lowerBoundsStr[i] = prettyName(lowerBounds[i]); + return String.format("? super %s", String.join(" & ", lowerBoundsStr)); + } + + return "?"; + } + + if (type == null) return "null"; + + throw new RuntimeException("Can't return a pretty name because the type is unknown!"); + } + public static boolean isObjectClassMethod(Method m) { try { Object.class.getMethod(m.getName(), m.getParameterTypes()); @@ -780,12 +913,12 @@ public static boolean isObjectClassMethod(Method m) { } /** Returns if a specific class is a functional interface */ - public static boolean isFunctionalInterface(Class clas) { - if (clas == null || !clas.isInterface()) return false; - if (clas.getAnnotation(FunctionalInterface.class) != null) return true; + public static boolean isFunctionalInterface(Class _class) { + if (_class == null || !_class.isInterface()) return false; + if (_class.getAnnotation(FunctionalInterface.class) != null) return true; int abstractCount = 0; - for (Method m : clas.getMethods()) { + for (Method m : _class.getMethods()) { if ( Modifier.isAbstract(m.getModifiers()) && !m.isBridge() && !m.isSynthetic() @@ -794,4 +927,166 @@ public static boolean isFunctionalInterface(Class clas) { } return abstractCount == 1; } + + public static bsh.org.objectweb.asm.Type getASMType(Class type) { + return bsh.org.objectweb.asm.Type.getType(type); + } + + public static String getInternalName(Class type) { + return bsh.org.objectweb.asm.Type.getInternalName(type); + } + + public static String[] getInternalNames(Class[] types) { + final String[] internalNames = new String[types.length]; + for (int i = 0; i < types.length; i++) internalNames[i] = bsh.org.objectweb.asm.Type.getInternalName(types[i]); + return internalNames; + } + + public static String getDescriptor(Class type) { + return bsh.org.objectweb.asm.Type.getDescriptor(type); + } + + public static String getMethodDescriptor(Method method) { + return bsh.org.objectweb.asm.Type.getMethodDescriptor(method); + } + + public static String getMethodDescriptor(Class returnType, Class ...argumentTypes) { + final bsh.org.objectweb.asm.Type[] _types = new bsh.org.objectweb.asm.Type[argumentTypes.length]; + for (int i = 0; i < argumentTypes.length; i++) _types[i] = bsh.org.objectweb.asm.Type.getType(argumentTypes[i]); + return bsh.org.objectweb.asm.Type.getMethodDescriptor(bsh.org.objectweb.asm.Type.getType(returnType), _types); + } + + // Helper method to convert Type to ASM style signature + /** Return the signature of a specific type to be used in ASM bytecodes */ + public static String getASMSignature(Type type) { + if (type instanceof Class) return bsh.org.objectweb.asm.Type.getDescriptor((Class) type); // Handle a simple type ( like void or Integer ) + + if (type instanceof ParameterizedType) { // Handle parameterized types (like List) + ParameterizedType paramType = (ParameterizedType) type; + StringBuilder paramSignature = new StringBuilder(); + paramSignature.append("L" + bsh.org.objectweb.asm.Type.getInternalName((Class) paramType.getRawType())); // Base type + paramSignature.append("<"); + for (Type arg : paramType.getActualTypeArguments()) { + paramSignature.append(getASMSignature(arg)); + } + paramSignature.append(">;"); + return paramSignature.toString(); + } + + if (type instanceof TypeVariable) // Handle type variables (like T or R) + return "T" + ((TypeVariable) type).getName() + ";"; + + if (type instanceof WildcardType) { // Handle wildcards (like ? extends Number) + WildcardType wildcard = (WildcardType) type; + Type[] lowerBounds = wildcard.getLowerBounds(); + return lowerBounds.length > 0 + ? "-" + bsh.org.objectweb.asm.Type.getDescriptor((Class) lowerBounds[0]) + : "+" + bsh.org.objectweb.asm.Type.getDescriptor((Class) wildcard.getUpperBounds()[0]); + } + + throw new IllegalArgumentException("Can't get the signature of this type because its Class is unknown: " + (type != null ? type.getClass() : null)); + } + + // TODO: testes com enums, interfaces e classes + public static String getASMClassSignature(TypeVariable[] types, Type superClass, Type ...interfaces) { + StringBuilder signature = new StringBuilder(); + + // 1. Extract type parameters (generics) + if (types.length != 0) { + signature.append("<"); + for (TypeVariable typeParam : types) { + signature.append(typeParam.getName()); // Add the type variable (e.g.: "T") + + for (Type bound : typeParam.getBounds()) // Add the bound of the type variable (e.g.: 'extends Number' => ":Ljava/lang/Number;") + signature.append(":").append(getASMSignature(bound)); + } + signature.append(">"); + } + + // 2. Add the superclass in the signature + signature.append(getASMSignature(superClass)); // All wrapper classes doesn't have a superclass, thus extends Object + + // 3. Add interfaces in the signature + for (Type interface_: interfaces) signature.append(getASMSignature(interface_)); + + return signature.toString(); + } + + // TODO: testes com vários métodos + public static String getASMMethodSignature(Method method) { + return getASMMethodSignature(method.getTypeParameters(), method.getGenericParameterTypes(), method.getGenericReturnType(), method.getGenericExceptionTypes()); + } + + public static String getASMMethodSignature(TypeVariable[] types, Type[] params, Type returnType, Type[] exceptions) { + StringBuilder signature = new StringBuilder(); + + // 1. Handle generic type parameters (if any) + if (types.length > 0) { + signature.append("<"); + for (TypeVariable typeParam : types) { + signature.append(typeParam.getName()); // Add type variable (e.g., "T") + for (Type bound : typeParam.getBounds()) + signature.append(":").append(getASMSignature(bound)); // Add the bound + } + signature.append(">"); + } + + // 2. Add the method parameter types + signature.append("("); + for (Type param : params) signature.append(getASMSignature(param)); + signature.append(")"); + + // 3. Add the return type + signature.append(getASMSignature(returnType)); + + // 4. Add the exception types (if any) + for (Type exceptionType : exceptions) signature.append("^").append(getASMSignature(exceptionType)); + + return signature.toString(); + } + + // if (type instanceof ParameterizedType) { // Handle parameterized types (like List) + // ParameterizedType paramType = (ParameterizedType) type; + // StringBuilder paramSignature = new StringBuilder(); + // paramSignature.append("L" + bsh.org.objectweb.asm.Type.getInternalName((Class) paramType.getRawType())); // Base type + // paramSignature.append("<"); + // for (Type arg : paramType.getActualTypeArguments()) { + // paramSignature.append(getASMSignature(arg)); + // } + // paramSignature.append(">;"); + // return paramSignature.toString(); + // } + + // // if (type instanceof TypeVariable) // Handle type variables (like T or R) + // // return "T" + ((TypeVariable) type).getName() + ";"; + // public static TypeVariable createTypeVariable(String name, Type[] bounds) { + // // TODO: see it! + // // bounds = bounds == null || bounds.length == 0 ? new Type[] { Object.class } : bounds; + + // return new TypeVariable() { + // public String getName() { return name; } + // public T getAnnotation(Class annotationClass) { return null; } + // public Annotation[] getAnnotations() { return new Annotation[0]; } + // public Annotation[] getDeclaredAnnotations() { return new Annotation[0]; } + // public AnnotatedType[] getAnnotatedBounds() { throw new UnsupportedOperationException("Unimplemented method 'getAnnotatedBounds'"); } + // public Type[] getBounds() { return bounds; } + // public GenericDeclaration getGenericDeclaration() { throw new UnsupportedOperationException("Unimplemented method 'getGenericDeclaration'"); }; + // }; + // } + public static ParameterizedType createParameterizedType(Type rawType, Type[] typeArguments) { + return new ParameterizedType() { + public Type[] getActualTypeArguments() { return typeArguments; } + public Type getRawType() { return rawType; } + public Type getOwnerType() { return null; } + }; + } + + // if (type instanceof WildcardType) { // Handle wildcards (like ? extends Number) + // WildcardType wildcard = (WildcardType) type; + // Type[] lowerBounds = wildcard.getLowerBounds(); + // return lowerBounds.length > 0 + // ? "-" + bsh.org.objectweb.asm.Type.getDescriptor((Class) lowerBounds[0]) + // : "+" + bsh.org.objectweb.asm.Type.getDescriptor((Class) wildcard.getUpperBounds()[0]); + // } + } diff --git a/bsh-lambda-300-eee36c8/src/main/java/bsh/util/Util.java b/bsh-lambda-300-eee36c8/src/main/java/bsh/util/Util.java new file mode 100644 index 0000000..fea9b18 --- /dev/null +++ b/bsh-lambda-300-eee36c8/src/main/java/bsh/util/Util.java @@ -0,0 +1,64 @@ +/***************************************************************************** + * Licensed to the Apache Software Foundation (ASF) under one * + * or more contributor license agreements. See the NOTICE file * + * distributed with this work for additional information * + * regarding copyright ownership. The ASF licenses this file * + * to you under the Apache License, Version 2.0 (the * + * "License"); you may not use this file except in compliance * + * with the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, * + * software distributed under the License is distributed on an * + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * + * KIND, either express or implied. See the License for the * + * specific language governing permissions and limitations * + * under the License. * + * * + * * + * This file is part of the BeanShell Java Scripting distribution. * + * Documentation and updates may be found at http://www.beanshell.org/ * + * Patrick Niemeyer (pat@pat.net) * + * Author of Learning Java, O'Reilly & Associates * + * * + *****************************************************************************/ +package bsh.util; + +import java.lang.reflect.Array; + +/** + Misc utilities for the bsh.util package. + Nothing in the core language (bsh package) should depend on this. + Note: that promise is currently broken... fix it. +*/ +public class Util +{ + /** Just concat 2 arrays */ + @SuppressWarnings("unchecked") + public static T[] concatArrays(T[] ...arrays) { + if (arrays.length == 0) throw new NullPointerException("There is no arrays to concat!"); + if (arrays.length == 1) return arrays[0]; + + int totalLength = 0; + for (T[] array: arrays) totalLength += array.length; + + final Class baseType = arrays[0].getClass().getComponentType(); + T[] result = (T[]) Array.newInstance(baseType, totalLength); + + int offset = 0; + for (T[] array: arrays) { + System.arraycopy(array, 0, result, offset, array.length); + offset += array.length; + } + + // final Class baseType = a.getClass().getComponentType(); + // T[] result = (T[]) Array.newInstance(baseType, a.length + b.length); + + // System.arraycopy(baseType, 0, result, 0, 0); + // for (int i = 0; i < a.length; i++) result[i] = a[i]; + // for (int i = 0; i < b.length; i++) result[i + a.length] = b[i]; + + return result; + } +} From 7348bc8b45d108f39e2045fc42a6fa2d273741a2 Mon Sep 17 00:00:00 2001 From: hd Date: Thu, 23 Apr 2026 00:02:18 +0800 Subject: [PATCH 2/7] feat: ignore annotations while preserving @ operator aliases --- .../src/main/java/bsh/Interpreter.java | 4 +- .../AnnotationIgnorePreprocess.java | 259 ++++++++++++++++++ 2 files changed, 262 insertions(+), 1 deletion(-) create mode 100644 bsh-lambda-300-eee36c8/src/main/java/bsh/preprocess/AnnotationIgnorePreprocess.java diff --git a/bsh-lambda-300-eee36c8/src/main/java/bsh/Interpreter.java b/bsh-lambda-300-eee36c8/src/main/java/bsh/Interpreter.java index 54b4158..df627ed 100644 --- a/bsh-lambda-300-eee36c8/src/main/java/bsh/Interpreter.java +++ b/bsh-lambda-300-eee36c8/src/main/java/bsh/Interpreter.java @@ -41,9 +41,10 @@ import java.net.URL; import java.util.ResourceBundle; +import bsh.preprocess.AnnotationIgnorePreprocess; import bsh.preprocess.DefaultArgsDesugar; -import bsh.security.MainSecurityGuard; import bsh.preprocess.KtStringTemplate; +import bsh.security.MainSecurityGuard; /** The BeanShell script interpreter. @@ -845,6 +846,7 @@ private String readSource(Reader in, String sourceFileInfo) throws EvalError { private String preprocessScript(String source) { String rewritten = source; + rewritten = AnnotationIgnorePreprocess.rewrite(rewritten); rewritten = DefaultArgsDesugar.rewrite(rewritten); rewritten = KtStringTemplate.rewrite(rewritten); return rewritten; diff --git a/bsh-lambda-300-eee36c8/src/main/java/bsh/preprocess/AnnotationIgnorePreprocess.java b/bsh-lambda-300-eee36c8/src/main/java/bsh/preprocess/AnnotationIgnorePreprocess.java new file mode 100644 index 0000000..3a2e9d9 --- /dev/null +++ b/bsh-lambda-300-eee36c8/src/main/java/bsh/preprocess/AnnotationIgnorePreprocess.java @@ -0,0 +1,259 @@ +package bsh.preprocess; + +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** + * Removes Java/Kotlin annotation usages from script text while preserving + * BeanShell @-operator aliases (e.g. @gt, @and, @pow_assign). + */ +public final class AnnotationIgnorePreprocess { + private static final Set BSH_AT_OPERATORS = new HashSet(Arrays.asList( + "gt", "lt", "lteq", "gteq", "or", "and", + "bitwise_and", "bitwise_or", "bitwise_xor", + "mod", "pow", "left_shift", "right_shift", "right_unsigned_shift", + "and_assign", "or_assign", "xor_assign", "mod_assign", "pow_assign", + "left_shift_assign", "right_shift_assign", "right_unsigned_shift_assign" + )); + + private AnnotationIgnorePreprocess() { + } + + public static String rewrite(String source) { + if (source == null || source.indexOf('@') < 0) { + return source; + } + + final int len = source.length(); + StringBuilder out = new StringBuilder(len); + int i = 0; + + while (i < len) { + int skip = skipLiteralOrComment(source, i); + if (skip > i) { + out.append(source, i, skip); + i = skip; + continue; + } + + if (source.charAt(i) != '@') { + out.append(source.charAt(i)); + i++; + continue; + } + + int operatorEnd = parseBshOperatorAlias(source, i); + if (operatorEnd > i) { + out.append(source, i, operatorEnd); + i = operatorEnd; + continue; + } + + int annotationEnd = parseAnnotationEnd(source, i); + if (annotationEnd > i) { + // Keep line separators stable while removing annotation tokens. + for (int j = i; j < annotationEnd; j++) { + char c = source.charAt(j); + if (c == '\n' || c == '\r') { + out.append(c); + } + } + i = annotationEnd; + while (i < len && (source.charAt(i) == ' ' || source.charAt(i) == '\t')) { + i++; + } + continue; + } + + out.append('@'); + i++; + } + + return out.toString(); + } + + private static int parseBshOperatorAlias(String source, int atPos) { + int len = source.length(); + int start = atPos + 1; + if (start >= len || !isAliasPart(source.charAt(start))) { + return -1; + } + int end = start; + while (end < len && isAliasPart(source.charAt(end))) { + end++; + } + String alias = source.substring(start, end); + if (!BSH_AT_OPERATORS.contains(alias)) { + return -1; + } + if (end < len && Character.isJavaIdentifierPart(source.charAt(end))) { + return -1; + } + return end; + } + + private static int parseAnnotationEnd(String source, int atPos) { + int len = source.length(); + int i = atPos + 1; + if (i >= len || !Character.isJavaIdentifierStart(source.charAt(i))) { + return -1; + } + + while (i < len && Character.isJavaIdentifierPart(source.charAt(i))) { + i++; + } + if (source.substring(atPos + 1, i).equals("interface")) { + return -1; + } + + while (i < len && source.charAt(i) == '.') { + int segStart = ++i; + if (segStart >= len || !Character.isJavaIdentifierStart(source.charAt(segStart))) { + return -1; + } + while (i < len && Character.isJavaIdentifierPart(source.charAt(i))) { + i++; + } + } + + while (i < len && isInlineWhitespace(source.charAt(i))) { + i++; + } + + if (i < len && source.charAt(i) == '(') { + int end = findMatchingParen(source, i); + if (end < 0) { + return -1; + } + i = end + 1; + } + return i; + } + + private static int findMatchingParen(String source, int openPos) { + final int len = source.length(); + int depth = 0; + for (int i = openPos; i < len; i++) { + int skip = skipLiteralOrComment(source, i); + if (skip > i) { + i = skip - 1; + continue; + } + + char ch = source.charAt(i); + if (ch == '(') { + depth++; + } else if (ch == ')') { + depth--; + if (depth == 0) { + return i; + } + } + } + return -1; + } + + private static int skipLiteralOrComment(String source, int i) { + final int len = source.length(); + if (i >= len) { + return i; + } + char ch = source.charAt(i); + + if (ch == '"') { + if (isTripleQuote(source, i)) { + int end = findTripleQuoteEnd(source, i + 3); + return end < 0 ? len : end + 3; + } + int end = findNormalStringEnd(source, i + 1); + return end < 0 ? len : end + 1; + } + + if (ch == '\'') { + int end = findCharLiteralEnd(source, i + 1); + return end < 0 ? len : end + 1; + } + + if (ch == '/' && i + 1 < len) { + char next = source.charAt(i + 1); + if (next == '/') { + int j = i + 2; + while (j < len && source.charAt(j) != '\n' && source.charAt(j) != '\r') { + j++; + } + return j; + } + if (next == '*') { + int end = findBlockCommentEnd(source, i + 2); + return end < 0 ? len : end + 2; + } + } + + return i; + } + + private static int findNormalStringEnd(String text, int start) { + for (int i = start; i < text.length(); i++) { + char ch = text.charAt(i); + if (ch == '\\') { + i++; + continue; + } + if (ch == '"') { + return i; + } + } + return -1; + } + + private static int findCharLiteralEnd(String text, int start) { + for (int i = start; i < text.length(); i++) { + char ch = text.charAt(i); + if (ch == '\\') { + i++; + continue; + } + if (ch == '\'') { + return i; + } + if (ch == '\n' || ch == '\r') { + return -1; + } + } + return -1; + } + + private static int findBlockCommentEnd(String text, int start) { + for (int i = start; i + 1 < text.length(); i++) { + if (text.charAt(i) == '*' && text.charAt(i + 1) == '/') { + return i; + } + } + return -1; + } + + private static boolean isTripleQuote(String text, int index) { + return index + 2 < text.length() + && text.charAt(index) == '"' + && text.charAt(index + 1) == '"' + && text.charAt(index + 2) == '"'; + } + + private static int findTripleQuoteEnd(String text, int start) { + for (int i = start; i + 2 < text.length(); i++) { + if (isTripleQuote(text, i)) { + return i; + } + } + return -1; + } + + private static boolean isAliasPart(char ch) { + return ch == '_' || Character.isLetterOrDigit(ch); + } + + private static boolean isInlineWhitespace(char ch) { + return ch == ' ' || ch == '\t' || ch == '\f'; + } +} From c7fde8fce9fcb94bd62390c23fac5c18d25d5191 Mon Sep 17 00:00:00 2001 From: hd Date: Thu, 23 Apr 2026 10:01:07 +0800 Subject: [PATCH 3/7] perf: complete field set permission checks in security guard flow --- .../src/main/java/bsh/LHS.java | 6 +++ .../java/bsh/security/MainSecurityGuard.java | 51 +++++++++++++++++++ .../main/java/bsh/security/SecurityError.java | 31 +++++++++-- .../main/java/bsh/security/SecurityGuard.java | 10 +++- 4 files changed, 94 insertions(+), 4 deletions(-) diff --git a/bsh-lambda-300-eee36c8/src/main/java/bsh/LHS.java b/bsh-lambda-300-eee36c8/src/main/java/bsh/LHS.java index ae04af7..94a1f0d 100644 --- a/bsh-lambda-300-eee36c8/src/main/java/bsh/LHS.java +++ b/bsh-lambda-300-eee36c8/src/main/java/bsh/LHS.java @@ -275,6 +275,12 @@ public Object assign( Object val, boolean strictJava ) nameSpace.setVariableOrProperty( varName, val, strictJava ); return getValueImpl(); } else if ( type == FIELD ) try { + // Validate if can set this field + if (Reflect.isStatic(field)) + Interpreter.mainSecurityGuard.canSetStaticField(field.getDeclaringClass(), field.getName(), val); + else + Interpreter.mainSecurityGuard.canSetField(object, field.getName(), val); + Objects.requireNonNull(field, "assign value, field cannot be null").invoke( object, val); return getValueImpl(); diff --git a/bsh-lambda-300-eee36c8/src/main/java/bsh/security/MainSecurityGuard.java b/bsh-lambda-300-eee36c8/src/main/java/bsh/security/MainSecurityGuard.java index 0881751..b4a93d0 100644 --- a/bsh-lambda-300-eee36c8/src/main/java/bsh/security/MainSecurityGuard.java +++ b/bsh-lambda-300-eee36c8/src/main/java/bsh/security/MainSecurityGuard.java @@ -73,6 +73,7 @@ private void canInvokeStaticMethodImplToReflectionCanGetArrayLength(Class _cl public void canInvokeMethod(Object thisArg, String methodName, Object[] args) throws SecurityError { final Object[] _args = Primitive.unwrap(args); this.canInvokeMethodImpl(thisArg, methodName, _args); + this.canInvokeMethodImplToReflectionCanSetField(thisArg, methodName, _args); this.canInvokeMethodImplToReflectionCanGetField(thisArg, methodName, _args); this.canInvokeMethodImplToReflectionCanConstruct(thisArg, methodName, _args); this.canInvokeMethodImplToReflectionCanInvokeMethod(thisArg, methodName, _args); @@ -109,6 +110,31 @@ private final void canInvokeMethodImplToReflectionCanGetField(Object thisArg, St } } + /** Validate if can set a field when using Reflection API */ + private final void canInvokeMethodImplToReflectionCanSetField(Object thisArg, String methodName, Object[] args) throws SecurityError { + if (!methodName.equals("set") || args.length != 2 || !(thisArg instanceof Field)) return; + + Field field = (Field) thisArg; + String fieldName = field.getName(); + Object value = args[1]; + + if (Reflect.isStatic(field)) { + Class _class = field.getDeclaringClass(); + try { + this.canSetStaticField(_class, fieldName, value); + } catch (SecurityError error) { + throw SecurityError.reflectCantSetStaticField(_class, fieldName, value); + } + } else { + Object _thisArg = args[0]; + try { + this.canSetField(_thisArg, fieldName, value); + } catch (SecurityError error) { + throw SecurityError.reflectCantSetField(_thisArg, fieldName, value); + } + } + } + /** Validate if can invoke a method when using Reflection API */ private final void canInvokeMethodImplToReflectionCanInvokeMethod(Object thisArg, String methodName, Object[] args) throws SecurityError { if (!methodName.equals("invoke") || args.length == 0 || !(thisArg instanceof Method)) return; @@ -170,6 +196,22 @@ public void canInvokeLocalMethod(String methodName, Object[] args) throws Securi throw SecurityError.cantInvokeLocalMethod(methodName, _args); } + /** Validate if can set a field of a specific object */ + public void canSetField(Object thisArg, String fieldName, Object value) throws SecurityError { + final Object _value = Primitive.unwrap(value); + for (SecurityGuard guard: this.securityGuards) + if (!guard.canSetField(thisArg, fieldName, _value)) + throw SecurityError.cantSetField(thisArg, fieldName, _value); + } + + /** Validate if can set a static field of a specific class */ + public void canSetStaticField(Class _class, String fieldName, Object value) throws SecurityError { + final Object _value = Primitive.unwrap(value); + for (SecurityGuard guard: this.securityGuards) + if (!guard.canSetStaticField(_class, fieldName, _value)) + throw SecurityError.cantSetStaticField(_class, fieldName, _value); + } + /** Validate if can get a field of a specific object */ public void canGetField(Object thisArg, String fieldName) throws SecurityError { for (SecurityGuard guard: this.securityGuards) @@ -211,6 +253,15 @@ public boolean canInvokeMethod(Object thisArg, String methodName, Object[] args) return !(thisArg instanceof MainSecurityGuard); } + public boolean canSetField(Object thisArg, String fieldName, Object value) { + return !(thisArg instanceof MainSecurityGuard); + } + + public boolean canSetStaticField(Class _class, String fieldName, Object value) { + if (_class == Interpreter.class && fieldName.equals("mainSecurityGuard")) return false; + return true; + } + public boolean canGetStaticField(Class _class, String fieldName) { if (_class == Interpreter.class && fieldName.equals("mainSecurityGuard")) return false; return true; diff --git a/bsh-lambda-300-eee36c8/src/main/java/bsh/security/SecurityError.java b/bsh-lambda-300-eee36c8/src/main/java/bsh/security/SecurityError.java index 5c17558..72a201c 100644 --- a/bsh-lambda-300-eee36c8/src/main/java/bsh/security/SecurityError.java +++ b/bsh-lambda-300-eee36c8/src/main/java/bsh/security/SecurityError.java @@ -1,8 +1,5 @@ package bsh.security; -import java.util.ArrayList; -import java.util.List; - import bsh.CallStack; import bsh.EvalError; import bsh.Node; @@ -78,6 +75,34 @@ static SecurityError cantInvokeLocalMethod(String methodName, Object[] args) { return new SecurityError(msg); } + /** Create a error for when can't set a field */ + static SecurityError cantSetField(Object thisArg, String fieldName, Object value) { + String msg = String.format("Can't set this field: %s.%s (%s)", + thisArg.getClass().getTypeName(), fieldName, argsTypesString(new Object[] { value })); + return new SecurityError(msg); + } + + /** Create a error for when can't set a field using reflection */ + static SecurityError reflectCantSetField(Object thisArg, String fieldName, Object value) { + String msg = String.format("Can't set this field using reflection: %s.%s (%s)", + thisArg.getClass().getTypeName(), fieldName, argsTypesString(new Object[] { value })); + return new SecurityError(msg); + } + + /** Create a error for when can't set a static field */ + static SecurityError cantSetStaticField(Class _class, String fieldName, Object value) { + String msg = String.format("Can't set this static field: %s.%s (%s)", + _class.getTypeName(), fieldName, argsTypesString(new Object[] { value })); + return new SecurityError(msg); + } + + /** Create a error for when can't set a static field using reflection */ + static SecurityError reflectCantSetStaticField(Class _class, String fieldName, Object value) { + String msg = String.format("Can't set this static field using reflection: %s.%s (%s)", + _class.getTypeName(), fieldName, argsTypesString(new Object[] { value })); + return new SecurityError(msg); + } + /** Create a error for when can't get a field */ static SecurityError cantGetField(Object thisArg, String fieldName) { String msg = String.format("Can't get this field: %s.%s", thisArg.getClass().getTypeName(), fieldName); diff --git a/bsh-lambda-300-eee36c8/src/main/java/bsh/security/SecurityGuard.java b/bsh-lambda-300-eee36c8/src/main/java/bsh/security/SecurityGuard.java index 219f6f3..de19545 100644 --- a/bsh-lambda-300-eee36c8/src/main/java/bsh/security/SecurityGuard.java +++ b/bsh-lambda-300-eee36c8/src/main/java/bsh/security/SecurityGuard.java @@ -27,7 +27,15 @@ public default boolean canInvokeLocalMethod(String methodName, Object[] args) { return true; } - // TODO: implement a 'canSetField' and 'canSetStaticField' + /** Validate and return if can set a field of a specific object */ + public default boolean canSetField(Object thisArg, String fieldName, Object value) { + return true; + } + + /** Validate and return if can set a static field of a specific class */ + public default boolean canSetStaticField(Class _class, String fieldName, Object value) { + return true; + } /** Validate and return if can get a field of a specific object */ public default boolean canGetField(Object thisArg, String fieldName) { From 39a9f820859e5088cd010d99324e855b5af83acc Mon Sep 17 00:00:00 2001 From: hd Date: Thu, 23 Apr 2026 12:36:10 +0800 Subject: [PATCH 4/7] feat: support kotlin-style is type check operator --- README.md | 5 + .../src/main/java/bsh/Parser.java | 589 ++++++------ .../src/main/java/bsh/ParserConstants.java | 233 ++--- .../src/main/java/bsh/ParserTokenManager.java | 882 +++++++++--------- .../src/main/jjtree/bsh.jjt | 6 +- 5 files changed, 874 insertions(+), 841 deletions(-) diff --git a/README.md b/README.md index 170fc65..c899fcf 100644 --- a/README.md +++ b/README.md @@ -115,6 +115,11 @@ void hi(String name, int age = 18) { } hi("user") // name: user, age: 18 hi("user", 1) // name: user, age: 1 + +// 类型判断 +print("abc" is String) // true +print(123 is Number) // true +print(null is Object) // false ``` ## 致谢 diff --git a/bsh-lambda-300-eee36c8/src/main/java/bsh/Parser.java b/bsh-lambda-300-eee36c8/src/main/java/bsh/Parser.java index eb1acfc..d765b35 100644 --- a/bsh-lambda-300-eee36c8/src/main/java/bsh/Parser.java +++ b/bsh-lambda-300-eee36c8/src/main/java/bsh/Parser.java @@ -2049,35 +2049,49 @@ final public void ConditionalExpression() throws ParseException { } } - final public void InstanceOfExpression() throws ParseException {Token t = null; + final public void InstanceOfExpression() throws ParseException { RelationalExpression(); switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { - case INSTANCEOF:{ - t = jj_consume_token(INSTANCEOF); + case INSTANCEOF: + case IS:{ + switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { + case INSTANCEOF:{ + jj_consume_token(INSTANCEOF); + break; + } + case IS:{ + jj_consume_token(IS); + break; + } + default: + jj_la1[51] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } Type(); BSHBinaryExpression jjtn001 = new BSHBinaryExpression(JJTBINARYEXPRESSION); - boolean jjtc001 = true; - jjtree.openNodeScope(jjtn001); - jjtreeOpenNodeScope(jjtn001); + boolean jjtc001 = true; + jjtree.openNodeScope(jjtn001); + jjtreeOpenNodeScope(jjtn001); try { jjtree.closeNodeScope(jjtn001, 2); - jjtc001 = false; - if (jjtree.nodeCreated()) { - jjtreeCloseNodeScope(jjtn001); - } -jjtn001.kind = t.kind; + jjtc001 = false; + if (jjtree.nodeCreated()) { + jjtreeCloseNodeScope(jjtn001); + } +jjtn001.kind = INSTANCEOF; } finally { if (jjtc001) { - jjtree.closeNodeScope(jjtn001, 2); - if (jjtree.nodeCreated()) { - jjtreeCloseNodeScope(jjtn001); - } - } + jjtree.closeNodeScope(jjtn001, 2); + if (jjtree.nodeCreated()) { + jjtreeCloseNodeScope(jjtn001); + } + } } break; } default: - jj_la1[51] = jj_gen; + jj_la1[52] = jj_gen; ; } } @@ -2098,7 +2112,7 @@ final public void ConditionalExpression() throws ParseException { break; } default: - jj_la1[52] = jj_gen; + jj_la1[53] = jj_gen; break label_18; } switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { @@ -2135,7 +2149,7 @@ final public void ConditionalExpression() throws ParseException { break; } default: - jj_la1[53] = jj_gen; + jj_la1[54] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2176,7 +2190,7 @@ final public void ConditionalExpression() throws ParseException { break; } default: - jj_la1[54] = jj_gen; + jj_la1[55] = jj_gen; break label_19; } switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { @@ -2205,7 +2219,7 @@ final public void ConditionalExpression() throws ParseException { break; } default: - jj_la1[55] = jj_gen; + jj_la1[56] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2242,7 +2256,7 @@ final public void ConditionalExpression() throws ParseException { break; } default: - jj_la1[56] = jj_gen; + jj_la1[57] = jj_gen; break label_20; } switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { @@ -2255,7 +2269,7 @@ final public void ConditionalExpression() throws ParseException { break; } default: - jj_la1[57] = jj_gen; + jj_la1[58] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2294,7 +2308,7 @@ final public void ConditionalExpression() throws ParseException { break; } default: - jj_la1[58] = jj_gen; + jj_la1[59] = jj_gen; break label_21; } switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { @@ -2315,7 +2329,7 @@ final public void ConditionalExpression() throws ParseException { break; } default: - jj_la1[59] = jj_gen; + jj_la1[60] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2352,7 +2366,7 @@ final public void ConditionalExpression() throws ParseException { break; } default: - jj_la1[60] = jj_gen; + jj_la1[61] = jj_gen; break label_22; } switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { @@ -2365,7 +2379,7 @@ final public void ConditionalExpression() throws ParseException { break; } default: - jj_la1[61] = jj_gen; + jj_la1[62] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2416,7 +2430,7 @@ final public void ConditionalExpression() throws ParseException { break; } default: - jj_la1[62] = jj_gen; + jj_la1[63] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2454,7 +2468,7 @@ final public void ConditionalExpression() throws ParseException { break; } default: - jj_la1[63] = jj_gen; + jj_la1[64] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2481,7 +2495,7 @@ final public void ConditionalExpression() throws ParseException { break; } default: - jj_la1[66] = jj_gen; + jj_la1[67] = jj_gen; if (jj_2_10(2147483647)) { LambdaExpression(); } else if (jj_2_11(2147483647)) { @@ -2524,7 +2538,7 @@ final public void ConditionalExpression() throws ParseException { break; } default: - jj_la1[64] = jj_gen; + jj_la1[65] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2550,13 +2564,13 @@ final public void ConditionalExpression() throws ParseException { break; } default: - jj_la1[65] = jj_gen; + jj_la1[66] = jj_gen; ; } break; } default: - jj_la1[67] = jj_gen; + jj_la1[68] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2685,7 +2699,7 @@ final public void LambdaExpression() throws ParseException {/*@bgen(jjtree) Lamb break; } default: - jj_la1[68] = jj_gen; + jj_la1[69] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2727,7 +2741,7 @@ final public void LambdaExpression() throws ParseException {/*@bgen(jjtree) Lamb break; } default: - jj_la1[69] = jj_gen; + jj_la1[70] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2788,7 +2802,7 @@ final public void PrimaryPrefix() throws ParseException { break; } default: - jj_la1[70] = jj_gen; + jj_la1[71] = jj_gen; if (jj_2_13(2147483647)) { MethodInvocation(); } else if (jj_2_14(2147483647)) { @@ -2800,7 +2814,7 @@ final public void PrimaryPrefix() throws ParseException { break; } default: - jj_la1[71] = jj_gen; + jj_la1[72] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2861,7 +2875,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[72] = jj_gen; + jj_la1[73] = jj_gen; ; } switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { @@ -2903,7 +2917,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[73] = jj_gen; + jj_la1[74] = jj_gen; ; } jjtn000.slice = true; jjtn000.step = true; @@ -2946,7 +2960,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[74] = jj_gen; + jj_la1[75] = jj_gen; ; } switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { @@ -2986,26 +3000,26 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[75] = jj_gen; + jj_la1[76] = jj_gen; ; } break; } default: - jj_la1[76] = jj_gen; + jj_la1[77] = jj_gen; ; } break; } default: - jj_la1[77] = jj_gen; + jj_la1[78] = jj_gen; jj_consume_token(-1); throw new ParseException(); } break; } default: - jj_la1[78] = jj_gen; + jj_la1[79] = jj_gen; ; } jj_consume_token(RBRACKET); @@ -3018,7 +3032,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[82] = jj_gen; + jj_la1[83] = jj_gen; if (getToken(1).kind == COLON_COLON && (getToken(2).kind == IDENTIFIER || getToken(2).kind == NEW ) && getToken(3).kind != RBRACKET) { jj_consume_token(COLON_COLON); switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { @@ -3031,7 +3045,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[79] = jj_gen; + jj_la1[80] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3043,7 +3057,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary jjtn000.operation = BSHPrimarySuffix.METHODREF; jjtn000.field = t.image; } else if (jj_2_16(2)) { - jj_consume_token(152); + jj_consume_token(153); t = jj_consume_token(IDENTIFIER); switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { case LPAREN:{ @@ -3051,7 +3065,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[80] = jj_gen; + jj_la1[81] = jj_gen; ; } jjtree.closeNodeScope(jjtn000, true); @@ -3071,7 +3085,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[81] = jj_gen; + jj_la1[82] = jj_gen; ; } jjtree.closeNodeScope(jjtn000, true); @@ -3096,7 +3110,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[83] = jj_gen; + jj_la1[84] = jj_gen; if (jj_2_18(2)) { jj_consume_token(DOT); AllocationExpression(); @@ -3265,7 +3279,7 @@ final public void Literal() throws ParseException {/*@bgen(jjtree) Literal */ break; } default: - jj_la1[84] = jj_gen; + jj_la1[85] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3306,7 +3320,7 @@ final public boolean BooleanLiteral() throws ParseException { break; } default: - jj_la1[85] = jj_gen; + jj_la1[86] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3361,7 +3375,7 @@ final public void Arguments() throws ParseException {/*@bgen(jjtree) Arguments * break; } default: - jj_la1[86] = jj_gen; + jj_la1[87] = jj_gen; ; } jj_consume_token(RPAREN); @@ -3399,7 +3413,7 @@ final public void ArgumentList() throws ParseException { break; } default: - jj_la1[87] = jj_gen; + jj_la1[88] = jj_gen; break label_24; } jj_consume_token(COMMA); @@ -3447,7 +3461,7 @@ final public void AllocationExpression() throws ParseException {/*@bgen(jjtree) break; } default: - jj_la1[88] = jj_gen; + jj_la1[89] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3459,7 +3473,7 @@ final public void AllocationExpression() throws ParseException {/*@bgen(jjtree) break; } default: - jj_la1[89] = jj_gen; + jj_la1[90] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3471,7 +3485,7 @@ final public void AllocationExpression() throws ParseException {/*@bgen(jjtree) break; } default: - jj_la1[90] = jj_gen; + jj_la1[91] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3540,7 +3554,7 @@ final public void ArrayDimensions() throws ParseException {/*@bgen(jjtree) Array break; } default: - jj_la1[91] = jj_gen; + jj_la1[92] = jj_gen; break label_27; } } @@ -3558,7 +3572,7 @@ final public void ArrayDimensions() throws ParseException {/*@bgen(jjtree) Array break; } default: - jj_la1[92] = jj_gen; + jj_la1[93] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3651,7 +3665,7 @@ void Statement() throws ParseException { break; } default: - jj_la1[93] = jj_gen; + jj_la1[94] = jj_gen; if (isRegularForStatement()) { ForStatement(); } else { @@ -3685,7 +3699,7 @@ void Statement() throws ParseException { break; } default: - jj_la1[94] = jj_gen; + jj_la1[95] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3745,7 +3759,7 @@ final public void Block() throws ParseException {/*@bgen(jjtree) Block */ break; } default: - jj_la1[95] = jj_gen; + jj_la1[96] = jj_gen; ; } jj_consume_token(LBRACE); @@ -3811,7 +3825,7 @@ final public void BlockStatement() throws ParseException { break; } default: - jj_la1[96] = jj_gen; + jj_la1[97] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3829,7 +3843,7 @@ final public void MethodDeclTerminator() throws ParseException { break; } default: - jj_la1[97] = jj_gen; + jj_la1[98] = jj_gen; if (isImplicitMethodTerminator()) { } else { @@ -3846,7 +3860,7 @@ final public void StatementTerminator() throws ParseException { break; } default: - jj_la1[98] = jj_gen; + jj_la1[99] = jj_gen; ; } } @@ -3870,11 +3884,11 @@ final public void SwitchStatement() throws ParseException {/*@bgen(jjtree) Switc while (true) { switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { case CASE: - case 153:{ + case 154:{ break; } default: - jj_la1[99] = jj_gen; + jj_la1[100] = jj_gen; break label_29; } SwitchLabel(); @@ -3925,8 +3939,8 @@ final public void SwitchLabel() throws ParseException {/*@bgen(jjtree) SwitchLab jj_consume_token(COLON); break; } - case 153:{ - jj_consume_token(153); + case 154:{ + jj_consume_token(154); jjtree.closeNodeScope(jjtn000, true); jjtc000 = false; if (jjtree.nodeCreated()) { @@ -3936,7 +3950,7 @@ final public void SwitchLabel() throws ParseException {/*@bgen(jjtree) SwitchLab break; } default: - jj_la1[100] = jj_gen; + jj_la1[101] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3981,7 +3995,7 @@ final public void IfStatement() throws ParseException {/*@bgen(jjtree) IfStateme break; } default: - jj_la1[101] = jj_gen; + jj_la1[102] = jj_gen; if (jj_2_32(1)) { Statement(); } else { @@ -3996,7 +4010,7 @@ final public void IfStatement() throws ParseException {/*@bgen(jjtree) IfStateme break; } default: - jj_la1[102] = jj_gen; + jj_la1[103] = jj_gen; ; } } catch (Throwable jjte000) { @@ -4159,7 +4173,7 @@ final public void ForStatement() throws ParseException {/*@bgen(jjtree) ForState break; } default: - jj_la1[103] = jj_gen; + jj_la1[104] = jj_gen; ; } jj_consume_token(SEMICOLON); @@ -4197,7 +4211,7 @@ final public void ForStatement() throws ParseException {/*@bgen(jjtree) ForState break; } default: - jj_la1[104] = jj_gen; + jj_la1[105] = jj_gen; ; } jj_consume_token(SEMICOLON); @@ -4235,7 +4249,7 @@ final public void ForStatement() throws ParseException {/*@bgen(jjtree) ForState break; } default: - jj_la1[105] = jj_gen; + jj_la1[106] = jj_gen; ; } jj_consume_token(RPAREN); @@ -4299,7 +4313,7 @@ final public void EnhancedForStatement() throws ParseException {/*@bgen(jjtree) break; } default: - jj_la1[106] = jj_gen; + jj_la1[107] = jj_gen; ; } Type(); @@ -4317,7 +4331,7 @@ final public void EnhancedForStatement() throws ParseException {/*@bgen(jjtree) break; } default: - jj_la1[107] = jj_gen; + jj_la1[108] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4383,7 +4397,7 @@ final public void EnhancedForStatement() throws ParseException {/*@bgen(jjtree) break; } default: - jj_la1[108] = jj_gen; + jj_la1[109] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4412,7 +4426,7 @@ final public void TypedVariableDeclaration() throws ParseException {/*@bgen(jjtr break; } default: - jj_la1[109] = jj_gen; + jj_la1[110] = jj_gen; break label_31; } jj_consume_token(COMMA); @@ -4462,7 +4476,7 @@ final public void StatementExpressionList() throws ParseException {/*@bgen(jjtre break; } default: - jj_la1[110] = jj_gen; + jj_la1[111] = jj_gen; break label_32; } jj_consume_token(COMMA); @@ -4714,7 +4728,7 @@ final public void TryStatement() throws ParseException {/*@bgen(jjtree) TryState break; } default: - jj_la1[111] = jj_gen; + jj_la1[112] = jj_gen; ; } Block(); @@ -4725,7 +4739,7 @@ final public void TryStatement() throws ParseException {/*@bgen(jjtree) TryState break; } default: - jj_la1[112] = jj_gen; + jj_la1[113] = jj_gen; break label_33; } jj_consume_token(CATCH); @@ -4743,7 +4757,7 @@ final public void TryStatement() throws ParseException {/*@bgen(jjtree) TryState break; } default: - jj_la1[113] = jj_gen; + jj_la1[114] = jj_gen; ; } jjtree.closeNodeScope(jjtn000, true); @@ -4790,7 +4804,7 @@ final public void MultiCatch() throws ParseException {/*@bgen(jjtree) MultiCatch break; } default: - jj_la1[114] = jj_gen; + jj_la1[115] = jj_gen; ; } Type(); @@ -4801,7 +4815,7 @@ final public void MultiCatch() throws ParseException {/*@bgen(jjtree) MultiCatch break; } default: - jj_la1[115] = jj_gen; + jj_la1[116] = jj_gen; break label_34; } jj_consume_token(BIT_OR); @@ -4827,7 +4841,7 @@ final public void MultiCatch() throws ParseException {/*@bgen(jjtree) MultiCatch break; } default: - jj_la1[116] = jj_gen; + jj_la1[117] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4871,7 +4885,7 @@ final public void TryWithResources() throws ParseException {/*@bgen(jjtree) TryW break; } default: - jj_la1[117] = jj_gen; + jj_la1[118] = jj_gen; break label_35; } jj_consume_token(SEMICOLON); @@ -4918,7 +4932,7 @@ final public void AutoCloseable() throws ParseException {/*@bgen(jjtree) AutoClo break; } default: - jj_la1[118] = jj_gen; + jj_la1[119] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -5327,6 +5341,18 @@ private boolean jj_2_38(int xla) finally { jj_save(37, xla); } } + private boolean jj_3R_169() + { + Token xsp; + xsp = jj_scanpos; + if (jj_scan_token(104)) { + jj_scanpos = xsp; + if (jj_scan_token(105)) return true; + } + if (jj_3R_168()) return true; + return false; + } + private boolean jj_3_34() { if (jj_3R_53()) return true; @@ -5350,13 +5376,13 @@ private boolean jj_3R_171() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(105)) { - jj_scanpos = xsp; if (jj_scan_token(106)) { jj_scanpos = xsp; - if (jj_scan_token(113)) { + if (jj_scan_token(107)) { + jj_scanpos = xsp; + if (jj_scan_token(114)) { jj_scanpos = xsp; - if (jj_scan_token(114)) return true; + if (jj_scan_token(115)) return true; } } } @@ -5398,9 +5424,9 @@ private boolean jj_3R_173() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(115)) { + if (jj_scan_token(116)) { jj_scanpos = xsp; - if (jj_scan_token(116)) return true; + if (jj_scan_token(117)) return true; } if (jj_3R_172()) return true; return false; @@ -5441,13 +5467,13 @@ private boolean jj_3R_174() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(103)) { - jj_scanpos = xsp; if (jj_scan_token(104)) { jj_scanpos = xsp; - if (jj_scan_token(90)) { + if (jj_scan_token(105)) { jj_scanpos = xsp; - if (jj_scan_token(89)) return true; + if (jj_scan_token(91)) { + jj_scanpos = xsp; + if (jj_scan_token(90)) return true; } } } @@ -5465,9 +5491,9 @@ private boolean jj_3R_175() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(101)) { + if (jj_scan_token(102)) { jj_scanpos = xsp; - if (jj_scan_token(102)) return true; + if (jj_scan_token(103)) return true; } if (jj_3R_181()) return true; return false; @@ -5532,7 +5558,7 @@ private boolean jj_3_10() xsp = jj_scanpos; if (jj_3R_46()) { jj_scanpos = xsp; - if (jj_scan_token(72)) return true; + if (jj_scan_token(73)) return true; } if (jj_scan_token(ARROW)) return true; return false; @@ -5632,9 +5658,9 @@ private boolean jj_3R_182() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(101)) { + if (jj_scan_token(102)) { jj_scanpos = xsp; - if (jj_scan_token(102)) return true; + if (jj_scan_token(103)) return true; } return false; } @@ -5645,7 +5671,7 @@ private boolean jj_3R_179() xsp = jj_scanpos; if (jj_3R_183()) { jj_scanpos = xsp; - if (jj_scan_token(72)) return true; + if (jj_scan_token(73)) return true; } if (jj_scan_token(ARROW)) return true; xsp = jj_scanpos; @@ -5806,7 +5832,7 @@ private boolean jj_3_13() xsp = jj_scanpos; if (jj_3R_48()) { jj_scanpos = xsp; - if (jj_scan_token(76)) return true; + if (jj_scan_token(77)) return true; } return false; } @@ -5996,9 +6022,9 @@ private boolean jj_3R_72() if (jj_scan_token(COLON_COLON)) return true; Token xsp; xsp = jj_scanpos; - if (jj_scan_token(72)) { + if (jj_scan_token(73)) { jj_scanpos = xsp; - if (jj_scan_token(41)) return true; + if (jj_scan_token(42)) return true; } return false; } @@ -6026,7 +6052,7 @@ private boolean jj_3R_266() private boolean jj_3_16() { - if (jj_scan_token(152)) return true; + if (jj_scan_token(153)) return true; if (jj_scan_token(IDENTIFIER)) return true; Token xsp; xsp = jj_scanpos; @@ -6145,28 +6171,28 @@ private boolean jj_3R_77() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(44)) { - jj_scanpos = xsp; if (jj_scan_token(45)) { jj_scanpos = xsp; if (jj_scan_token(46)) { jj_scanpos = xsp; - if (jj_scan_token(52)) { + if (jj_scan_token(47)) { + jj_scanpos = xsp; + if (jj_scan_token(53)) { jj_scanpos = xsp; if (jj_scan_token(28)) { jj_scanpos = xsp; - if (jj_scan_token(40)) { + if (jj_scan_token(41)) { jj_scanpos = xsp; - if (jj_scan_token(53)) { + if (jj_scan_token(54)) { jj_scanpos = xsp; - if (jj_scan_token(59)) { + if (jj_scan_token(60)) { jj_scanpos = xsp; if (jj_scan_token(11)) { jj_scanpos = xsp; - if (jj_scan_token(49)) { - jj_scanpos = xsp; if (jj_scan_token(50)) { jj_scanpos = xsp; + if (jj_scan_token(51)) { + jj_scanpos = xsp; if (jj_scan_token(21)) return true; } } @@ -6236,16 +6262,16 @@ private boolean jj_3R_141() return false; } - private boolean jj_3R_199() + private boolean jj_3R_234() { - if (jj_scan_token(LONG_STRING_LITERAL)) return true; + if (jj_scan_token(EXTENDS)) return true; + if (jj_3R_38()) return true; return false; } - private boolean jj_3R_234() + private boolean jj_3R_199() { - if (jj_scan_token(EXTENDS)) return true; - if (jj_3R_38()) return true; + if (jj_scan_token(LONG_STRING_LITERAL)) return true; return false; } @@ -6299,13 +6325,13 @@ private boolean jj_3R_200() private boolean jj_3R_201() { - if (jj_scan_token(42)) return true; + if (jj_scan_token(43)) return true; return false; } private boolean jj_3R_202() { - if (jj_scan_token(58)) return true; + if (jj_scan_token(59)) return true; return false; } @@ -6391,6 +6417,12 @@ private boolean jj_3R_96() return false; } + private boolean jj_3R_122() + { + if (jj_scan_token(IDENTIFIER)) return true; + return false; + } + private boolean jj_3R_203() { if (jj_scan_token(LPAREN)) return true; @@ -6401,12 +6433,6 @@ private boolean jj_3R_203() return false; } - private boolean jj_3R_122() - { - if (jj_scan_token(IDENTIFIER)) return true; - return false; - } - private boolean jj_3R_123() { if (jj_3R_54()) return true; @@ -6437,17 +6463,17 @@ private boolean jj_3R_256() return false; } - private boolean jj_3R_223() + private boolean jj_3R_225() { - if (jj_scan_token(COMMA)) return true; - if (jj_3R_51()) return true; + if (jj_scan_token(THROWS)) return true; + if (jj_3R_81()) return true; return false; } - private boolean jj_3R_225() + private boolean jj_3R_223() { - if (jj_scan_token(THROWS)) return true; - if (jj_3R_81()) return true; + if (jj_scan_token(COMMA)) return true; + if (jj_3R_51()) return true; return false; } @@ -6535,6 +6561,12 @@ private boolean jj_3R_209() return false; } + private boolean jj_3R_227() + { + if (jj_3R_231()) return true; + return false; + } + private boolean jj_3R_210() { if (jj_3R_38()) return true; @@ -6547,12 +6579,6 @@ private boolean jj_3R_210() return false; } - private boolean jj_3R_227() - { - if (jj_3R_231()) return true; - return false; - } - private boolean jj_3R_124() { if (jj_scan_token(IMPORT)) return true; @@ -6644,32 +6670,20 @@ private boolean jj_3_20() return false; } - private boolean jj_3_21() + private boolean jj_3R_232() { if (jj_scan_token(LBRACKET)) return true; if (jj_scan_token(RBRACKET)) return true; return false; } - private boolean jj_3R_232() + private boolean jj_3_21() { if (jj_scan_token(LBRACKET)) return true; if (jj_scan_token(RBRACKET)) return true; return false; } - private boolean jj_3R_135() - { - Token xsp; - if (jj_3R_144()) return true; - while (true) { - xsp = jj_scanpos; - if (jj_3R_144()) { jj_scanpos = xsp; break; } - } - if (jj_3R_41()) return true; - return false; - } - private boolean jj_3R_233() { if (jj_scan_token(ASSIGN)) return true; @@ -6684,33 +6698,38 @@ private boolean jj_3R_39() return false; } - private boolean jj_3R_239() + private boolean jj_3R_135() { - if (jj_scan_token(SEMICOLON)) return true; Token xsp; + if (jj_3R_144()) return true; while (true) { xsp = jj_scanpos; - if (jj_3_2()) { jj_scanpos = xsp; break; } + if (jj_3R_144()) { jj_scanpos = xsp; break; } } + if (jj_3R_41()) return true; return false; } - private boolean jj_3_19() + private boolean jj_3R_239() { - if (jj_3R_50()) return true; + if (jj_scan_token(SEMICOLON)) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3_2()) { jj_scanpos = xsp; break; } + } return false; } - private boolean jj_3R_144() + private boolean jj_3_5() { - if (jj_scan_token(LBRACKET)) return true; - if (jj_scan_token(RBRACKET)) return true; + if (jj_3R_41()) return true; return false; } - private boolean jj_3_5() + private boolean jj_3_19() { - if (jj_3R_41()) return true; + if (jj_3R_50()) return true; return false; } @@ -6725,6 +6744,13 @@ private boolean jj_3R_42() return false; } + private boolean jj_3R_144() + { + if (jj_scan_token(LBRACKET)) return true; + if (jj_scan_token(RBRACKET)) return true; + return false; + } + private boolean jj_3R_136() { if (jj_3R_41()) return true; @@ -6750,7 +6776,7 @@ private boolean jj_3R_41() xsp = jj_scanpos; if (jj_3R_67()) jj_scanpos = xsp; xsp = jj_scanpos; - if (jj_scan_token(82)) jj_scanpos = xsp; + if (jj_scan_token(83)) jj_scanpos = xsp; if (jj_scan_token(RBRACE)) return true; return false; } @@ -6769,7 +6795,7 @@ private boolean jj_3R_57() jj_scanpos = xsp; if (jj_3_24()) { jj_scanpos = xsp; - if (jj_scan_token(81)) { + if (jj_scan_token(82)) { jj_scanpos = xsp; if (jj_3R_82()) { jj_scanpos = xsp; @@ -6875,12 +6901,6 @@ private boolean jj_3R_80() return false; } - private boolean jj_3R_84() - { - if (jj_3R_109()) return true; - return false; - } - private boolean jj_3R_104() { Token xsp; @@ -6896,6 +6916,12 @@ private boolean jj_3R_104() return false; } + private boolean jj_3R_84() + { + if (jj_3R_109()) return true; + return false; + } + private boolean jj_3_7() { Token xsp; @@ -6920,15 +6946,15 @@ private boolean jj_3R_86() return false; } - private boolean jj_3R_87() + private boolean jj_3R_138() { - if (jj_3R_112()) return true; + if (jj_scan_token(IDENTIFIER)) return true; return false; } - private boolean jj_3R_138() + private boolean jj_3R_87() { - if (jj_scan_token(IDENTIFIER)) return true; + if (jj_3R_112()) return true; return false; } @@ -6975,12 +7001,6 @@ private boolean jj_3R_43() return false; } - private boolean jj_3R_92() - { - if (jj_3R_117()) return true; - return false; - } - private boolean jj_3R_44() { Token xsp; @@ -6996,6 +7016,12 @@ private boolean jj_3R_44() return false; } + private boolean jj_3R_92() + { + if (jj_3R_117()) return true; + return false; + } + private boolean jj_3R_93() { if (jj_3R_118()) return true; @@ -7021,18 +7047,18 @@ private boolean jj_3R_69() return false; } - private boolean jj_3R_52() + private boolean jj_3_8() { - if (jj_scan_token(IDENTIFIER)) return true; - if (jj_scan_token(COLON)) return true; - if (jj_3R_57()) return true; + if (jj_scan_token(LBRACKET)) return true; + if (jj_scan_token(RBRACKET)) return true; return false; } - private boolean jj_3_8() + private boolean jj_3R_52() { - if (jj_scan_token(LBRACKET)) return true; - if (jj_scan_token(RBRACKET)) return true; + if (jj_scan_token(IDENTIFIER)) return true; + if (jj_scan_token(COLON)) return true; + if (jj_3R_57()) return true; return false; } @@ -7063,7 +7089,7 @@ private boolean jj_3R_50() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(49)) jj_scanpos = xsp; + if (jj_scan_token(50)) jj_scanpos = xsp; if (jj_scan_token(LBRACE)) return true; while (true) { xsp = jj_scanpos; @@ -7218,7 +7244,7 @@ private boolean jj_3_26() xsp = jj_scanpos; if (jj_scan_token(14)) { jj_scanpos = xsp; - if (jj_scan_token(38)) { + if (jj_scan_token(39)) { jj_scanpos = xsp; if (jj_scan_token(25)) return true; } @@ -7261,12 +7287,6 @@ private boolean jj_3_30() return false; } - private boolean jj_3R_65() - { - if (jj_3R_98()) return true; - return false; - } - private boolean jj_3R_81() { if (jj_3R_38()) return true; @@ -7278,6 +7298,12 @@ private boolean jj_3R_81() return false; } + private boolean jj_3R_65() + { + if (jj_3R_98()) return true; + return false; + } + private boolean jj_3_28() { if (jj_3R_53()) return true; @@ -7324,7 +7350,7 @@ private boolean jj_3R_231() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(81)) { + if (jj_scan_token(82)) { jj_scanpos = xsp; jj_lookingAhead = true; jj_semLA = isImplicitMethodTerminator(); @@ -7334,15 +7360,15 @@ private boolean jj_3R_231() return false; } - private boolean jj_3R_240() + private boolean jj_3R_106() { + if (jj_scan_token(COMMA)) return true; + if (jj_3R_38()) return true; return false; } - private boolean jj_3R_106() + private boolean jj_3R_240() { - if (jj_scan_token(COMMA)) return true; - if (jj_3R_38()) return true; return false; } @@ -7350,49 +7376,49 @@ private boolean jj_3R_134() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(84)) { - jj_scanpos = xsp; - if (jj_scan_token(125)) { + if (jj_scan_token(85)) { jj_scanpos = xsp; - if (jj_scan_token(135)) { + if (jj_scan_token(126)) { jj_scanpos = xsp; if (jj_scan_token(136)) { jj_scanpos = xsp; - if (jj_scan_token(126)) { + if (jj_scan_token(137)) { jj_scanpos = xsp; - if (jj_scan_token(133)) { + if (jj_scan_token(127)) { jj_scanpos = xsp; if (jj_scan_token(134)) { jj_scanpos = xsp; - if (jj_scan_token(123)) { + if (jj_scan_token(135)) { jj_scanpos = xsp; if (jj_scan_token(124)) { jj_scanpos = xsp; - if (jj_scan_token(127)) { + if (jj_scan_token(125)) { jj_scanpos = xsp; if (jj_scan_token(128)) { jj_scanpos = xsp; - if (jj_scan_token(131)) { + if (jj_scan_token(129)) { jj_scanpos = xsp; if (jj_scan_token(132)) { jj_scanpos = xsp; - if (jj_scan_token(129)) { + if (jj_scan_token(133)) { jj_scanpos = xsp; if (jj_scan_token(130)) { jj_scanpos = xsp; - if (jj_scan_token(137)) { + if (jj_scan_token(131)) { jj_scanpos = xsp; if (jj_scan_token(138)) { jj_scanpos = xsp; if (jj_scan_token(139)) { jj_scanpos = xsp; - if (jj_scan_token(145)) { - jj_scanpos = xsp; if (jj_scan_token(140)) { jj_scanpos = xsp; + if (jj_scan_token(146)) { + jj_scanpos = xsp; if (jj_scan_token(141)) { jj_scanpos = xsp; - if (jj_scan_token(142)) return true; + if (jj_scan_token(142)) { + jj_scanpos = xsp; + if (jj_scan_token(143)) return true; } } } @@ -7421,7 +7447,7 @@ private boolean jj_3R_40() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(81)) jj_scanpos = xsp; + if (jj_scan_token(82)) jj_scanpos = xsp; return false; } @@ -7462,11 +7488,11 @@ private boolean jj_3R_143() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(146)) { - jj_scanpos = xsp; if (jj_scan_token(147)) { jj_scanpos = xsp; - if (jj_scan_token(144)) return true; + if (jj_scan_token(148)) { + jj_scanpos = xsp; + if (jj_scan_token(145)) return true; } } if (jj_3R_137()) return true; @@ -7488,9 +7514,9 @@ private boolean jj_3R_146() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(97)) { + if (jj_scan_token(98)) { jj_scanpos = xsp; - if (jj_scan_token(98)) return true; + if (jj_scan_token(99)) return true; } if (jj_3R_145()) return true; return false; @@ -7527,9 +7553,9 @@ private boolean jj_3R_148() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(99)) { + if (jj_scan_token(100)) { jj_scanpos = xsp; - if (jj_scan_token(100)) return true; + if (jj_scan_token(101)) return true; } if (jj_3R_147()) return true; return false; @@ -7578,7 +7604,7 @@ private boolean jj_3R_147() private boolean jj_3R_258() { - if (jj_scan_token(153)) return true; + if (jj_scan_token(154)) return true; return false; } @@ -7586,9 +7612,9 @@ private boolean jj_3R_150() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(109)) { + if (jj_scan_token(110)) { jj_scanpos = xsp; - if (jj_scan_token(110)) return true; + if (jj_scan_token(111)) return true; } if (jj_3R_149()) return true; return false; @@ -7641,9 +7667,9 @@ private boolean jj_3R_156() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(111)) { + if (jj_scan_token(112)) { jj_scanpos = xsp; - if (jj_scan_token(112)) return true; + if (jj_scan_token(113)) return true; } if (jj_3R_151()) return true; return false; @@ -7674,14 +7700,25 @@ private boolean jj_3R_159() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(107)) { + if (jj_scan_token(108)) { jj_scanpos = xsp; - if (jj_scan_token(108)) return true; + if (jj_scan_token(109)) return true; } if (jj_3R_157()) return true; return false; } + private boolean jj_3R_157() + { + if (jj_3R_160()) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_161()) { jj_scanpos = xsp; break; } + } + return false; + } + private boolean jj_3R_111() { if (jj_scan_token(DO)) return true; @@ -7694,24 +7731,13 @@ private boolean jj_3R_111() return false; } - private boolean jj_3R_157() - { - if (jj_3R_160()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_161()) { jj_scanpos = xsp; break; } - } - return false; - } - private boolean jj_3R_161() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(91)) { + if (jj_scan_token(92)) { jj_scanpos = xsp; - if (jj_scan_token(96)) return true; + if (jj_scan_token(97)) return true; } if (jj_3R_160()) return true; return false; @@ -7744,16 +7770,21 @@ private boolean jj_3R_160() return false; } - private boolean jj_3R_242() + private boolean jj_3R_163() { - if (jj_scan_token(SEMICOLON)) return true; + Token xsp; + xsp = jj_scanpos; + if (jj_scan_token(36)) { + jj_scanpos = xsp; + if (jj_scan_token(37)) return true; + } + if (jj_3R_44()) return true; return false; } - private boolean jj_3R_163() + private boolean jj_3R_242() { - if (jj_scan_token(INSTANCEOF)) return true; - if (jj_3R_44()) return true; + if (jj_scan_token(SEMICOLON)) return true; return false; } @@ -7784,21 +7815,21 @@ private boolean jj_3R_165() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(87)) { - jj_scanpos = xsp; if (jj_scan_token(88)) { jj_scanpos = xsp; - if (jj_scan_token(85)) { + if (jj_scan_token(89)) { jj_scanpos = xsp; if (jj_scan_token(86)) { jj_scanpos = xsp; - if (jj_scan_token(92)) { + if (jj_scan_token(87)) { jj_scanpos = xsp; if (jj_scan_token(93)) { jj_scanpos = xsp; if (jj_scan_token(94)) { jj_scanpos = xsp; - if (jj_scan_token(95)) return true; + if (jj_scan_token(95)) { + jj_scanpos = xsp; + if (jj_scan_token(96)) return true; } } } @@ -7870,8 +7901,6 @@ private boolean jj_3R_167() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(117)) { - jj_scanpos = xsp; if (jj_scan_token(118)) { jj_scanpos = xsp; if (jj_scan_token(119)) { @@ -7880,7 +7909,9 @@ private boolean jj_3R_167() jj_scanpos = xsp; if (jj_scan_token(121)) { jj_scanpos = xsp; - if (jj_scan_token(122)) return true; + if (jj_scan_token(122)) { + jj_scanpos = xsp; + if (jj_scan_token(123)) return true; } } } @@ -7930,18 +7961,6 @@ private boolean jj_3R_253() return false; } - private boolean jj_3R_169() - { - Token xsp; - xsp = jj_scanpos; - if (jj_scan_token(103)) { - jj_scanpos = xsp; - if (jj_scan_token(104)) return true; - } - if (jj_3R_168()) return true; - return false; - } - /** Generated Token Manager. */ public ParserTokenManager token_source; JavaCharStream jj_input_stream; @@ -7956,7 +7975,7 @@ private boolean jj_3R_169() private boolean jj_lookingAhead = false; private boolean jj_semLA; private int jj_gen; - final private int[] jj_la1 = new int[119]; + final private int[] jj_la1 = new int[120]; static private int[] jj_la1_0; static private int[] jj_la1_1; static private int[] jj_la1_2; @@ -7970,19 +7989,19 @@ private boolean jj_3R_169() jj_la1_init_4(); } private static void jj_la1_init_0() { - jj_la1_0 = new int[] {0x1,0x10200800,0x10200800,0x4000000,0x0,0x4000000,0x4000,0x0,0x2004000,0x0,0x0,0x0,0x0,0x0,0x40849000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48849000,0x48849000,0x0,0x0,0x50849000,0x10000000,0x0,0x0,0x40849000,0x40849000,0x40849000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48849000,0x0,0x48849000,0x8000000,0x0,0x48849000,0x48849000,0x48849000,0x48849000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x8000000,0x48849000,0x0,0x0,0x40849000,0x0,0x0,0x0,0x48c49000,0x80102000,0x0,0x0,0x0,0x0,0x10000,0x10000,0x0,0x1000000,0x58a49800,0x48849000,0x48849000,0x10000000,0x80000000,0x48849000,0x0,0x0,0x0,0x20000,0x20000000,0x10000000,0x0,0x0,0x0,0x0,}; + jj_la1_0 = new int[] {0x1,0x10200800,0x10200800,0x4000000,0x0,0x4000000,0x4000,0x0,0x2004000,0x0,0x0,0x0,0x0,0x0,0x40849000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48849000,0x48849000,0x0,0x0,0x50849000,0x10000000,0x0,0x0,0x40849000,0x40849000,0x40849000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48849000,0x0,0x48849000,0x8000000,0x0,0x48849000,0x48849000,0x48849000,0x48849000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x8000000,0x48849000,0x0,0x0,0x40849000,0x0,0x0,0x0,0x48c49000,0x80102000,0x0,0x0,0x0,0x0,0x10000,0x10000,0x0,0x1000000,0x58a49800,0x48849000,0x48849000,0x10000000,0x80000000,0x48849000,0x0,0x0,0x0,0x20000,0x20000000,0x10000000,0x0,0x0,0x0,0x0,}; } private static void jj_la1_init_1() { - jj_la1_1 = new int[] {0x0,0x8367100,0x8367100,0x0,0x4,0x0,0x40,0x4,0x40,0x0,0x20000,0x0,0x0,0x0,0x40100a0,0x800000,0x20000,0x20000,0x0,0x8,0x0,0x0,0x250106a0,0x250106a0,0x0,0x0,0x100a0,0x0,0x0,0x0,0x100a0,0x40100a0,0x100a0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x250106a0,0x0,0x250306a0,0x25000600,0x0,0x250106a0,0x250106a0,0x250106a0,0x250106a0,0x0,0x0,0x0,0x200,0x0,0x0,0x0,0x0,0x25000400,0x1000000,0x250106a0,0x0,0x0,0x100a0,0x200,0x0,0x0,0x350906a2,0x2508000,0x20000,0x808,0x0,0x0,0x0,0x0,0x0,0x0,0x2d3777a0,0x250106a0,0x250106a0,0x0,0x0,0x250106a0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; + jj_la1_1 = new int[] {0x0,0x106ce200,0x106ce200,0x0,0x4,0x0,0x80,0x4,0x80,0x0,0x40000,0x0,0x0,0x0,0x8020140,0x1000000,0x40000,0x40000,0x0,0x8,0x0,0x0,0x4a020d40,0x4a020d40,0x0,0x0,0x20140,0x0,0x0,0x0,0x20140,0x8020140,0x20140,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30,0x30,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4a020d40,0x0,0x4a060d40,0x4a000c00,0x0,0x4a020d40,0x4a020d40,0x4a020d40,0x4a020d40,0x0,0x0,0x0,0x400,0x0,0x0,0x0,0x0,0x4a000800,0x2000000,0x4a020d40,0x0,0x0,0x20140,0x400,0x0,0x0,0x6a120d42,0x4a10000,0x40000,0x1008,0x0,0x0,0x0,0x0,0x0,0x0,0x5a6eef40,0x4a020d40,0x4a020d40,0x0,0x0,0x4a020d40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; } private static void jj_la1_init_2() { - jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x2000,0x100,0x40000,0x20000,0x100,0x0,0x2000,0x0,0x80000,0x0,0x8000,0x100000,0x600a9e4,0x600a9e4,0x40000,0x40000,0x100,0x0,0x0,0x100,0x100,0x100,0x0,0x40000,0x100000,0x100000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x8000000,0x0,0xf1e00000,0xf1e00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6000000,0x0,0x0,0x0,0x6000000,0xa9e4,0x900,0x600a9e4,0xa8e4,0x100,0x600a9e4,0x600a9e4,0x600a9e4,0x600a9e4,0x0,0x0,0x0,0x100,0x800,0x800,0x8000,0x2000,0xe4,0x0,0x600a9e4,0x40000,0xa800,0xa100,0xa000,0x8000,0xa000,0x602a9e4,0x0,0x0,0x0,0x20000,0x20000,0x0,0x0,0x20000,0x0,0x600a9e4,0x600a9e4,0x600a9e4,0x0,0x0,0x600a9e4,0x40000,0x40000,0x800,0x0,0x0,0x0,0x0,0x100,0x20000,0x100,}; + jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x4000,0x200,0x80000,0x40000,0x200,0x0,0x4000,0x0,0x100000,0x0,0x10000,0x200000,0xc0153c8,0xc0153c8,0x80000,0x80000,0x200,0x0,0x0,0x200,0x200,0x200,0x0,0x80000,0x200000,0x200000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000000,0x10000000,0x0,0x0,0xe3c00000,0xe3c00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc000000,0x0,0x0,0x0,0xc000000,0x153c8,0x1200,0xc0153c8,0x151c8,0x200,0xc0153c8,0xc0153c8,0xc0153c8,0xc0153c8,0x0,0x0,0x0,0x200,0x1000,0x1000,0x10000,0x4000,0x1c8,0x0,0xc0153c8,0x80000,0x15000,0x14200,0x14000,0x10000,0x14000,0xc0553c8,0x0,0x0,0x0,0x40000,0x40000,0x0,0x0,0x40000,0x0,0xc0153c8,0xc0153c8,0xc0153c8,0x0,0x0,0xc0153c8,0x80000,0x80000,0x1000,0x0,0x0,0x0,0x0,0x200,0x40000,0x200,}; } private static void jj_la1_init_3() { - jj_la1_3 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1e0,0x1e0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf8000000,0xf8000000,0x0,0x0,0x0,0x6,0x6,0x18,0x18,0x6000,0x6000,0x18000,0x18000,0x1800,0x1800,0x1,0x1,0x0,0x0,0x0,0x7e00000,0x7e00000,0x180,0x180,0x60600,0x60600,0x180000,0x180000,0x180,0x60,0x60,0x60,0x1e0,0x0,0x0,0x1e0,0x0,0x0,0x1e0,0x1e0,0x1e0,0x1e0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1e0,0x0,0x0,0x0,0x0,0x0,0x0,0x1e0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1e0,0x1e0,0x1e0,0x0,0x0,0x1e0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000,0x0,0x0,0x0,}; + jj_la1_3 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c0,0x3c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0000000,0xf0000000,0x0,0x0,0x0,0xc,0xc,0x30,0x30,0xc000,0xc000,0x30000,0x30000,0x3000,0x3000,0x2,0x2,0x0,0x0,0x1,0x1,0xfc00000,0xfc00000,0x300,0x300,0xc0c00,0xc0c00,0x300000,0x300000,0x300,0xc0,0xc0,0xc0,0x3c0,0x0,0x0,0x3c0,0x0,0x0,0x3c0,0x3c0,0x3c0,0x3c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c0,0x3c0,0x3c0,0x0,0x0,0x3c0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000,0x0,0x0,0x0,}; } private static void jj_la1_init_4() { - jj_la1_4 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800000,0x0,0x0,0x0,0x0,0x0,0x27fff,0x27fff,0x100000,0xd0000,0xd0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200000,0x600000,0x600000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000000,0x2000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; + jj_la1_4 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x0,0x0,0x0,0x0,0x0,0x4ffff,0x4ffff,0x200000,0x1a0000,0x1a0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0xc00000,0xc00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000000,0x4000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; } private final JJCalls[] jj_2_rtns = new JJCalls[38]; private boolean jj_rescan = false; @@ -7999,7 +8018,7 @@ public Parser(final java.io.InputStream stream, final java.nio.charset.Charset e token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 119; i++) jj_la1[i] = -1; + for (int i = 0; i < 120; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -8014,7 +8033,7 @@ public void ReInit(final java.io.InputStream stream, final java.nio.charset.Char token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 119; i++) jj_la1[i] = -1; + for (int i = 0; i < 120; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -8028,7 +8047,7 @@ public Parser(final java.io.Reader stream) { token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 119; i++) + for (int i = 0; i < 120; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); @@ -8052,7 +8071,7 @@ public void ReInit(final java.io.Reader stream) { token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 119; i++) + for (int i = 0; i < 120; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); @@ -8067,7 +8086,7 @@ public Parser(final ParserTokenManager tm) { token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 119; i++) jj_la1[i] = -1; + for (int i = 0; i < 120; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -8080,7 +8099,7 @@ public void ReInit(final ParserTokenManager tm) { token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 119; i++) jj_la1[i] = -1; + for (int i = 0; i < 120; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -8225,12 +8244,12 @@ private void jj_add_error_token(int kind, int pos) { */ public ParseException generateParseException() { jj_expentries.clear(); - boolean[] la1tokens = new boolean[154]; + boolean[] la1tokens = new boolean[155]; if (jj_kind >= 0) { la1tokens[jj_kind] = true; jj_kind = -1; } - for (int i = 0; i < 119; i++) { + for (int i = 0; i < 120; i++) { if (jj_la1[i] == jj_gen) { for (int j = 0; j < 32; j++) { if ((jj_la1_0[i] & (1<': jjmatchedKind = 85; - return jjMoveStringLiteralDfa1_0(0x0L, 0x280000040000000L, 0x2800L); + return jjMoveStringLiteralDfa1_0(0x0L, 0x10000000L, 0x0L); + case '>': + jjmatchedKind = 86; + return jjMoveStringLiteralDfa1_0(0x0L, 0x500000080000000L, 0x5000L); case '?': - jjmatchedKind = 148; - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x10e0000L); + jjmatchedKind = 149; + return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x21c0000L); case '@': - return jjMoveStringLiteralDfa1_0(0x0L, 0x5555014a1400000L, 0x5555L); + return jjMoveStringLiteralDfa1_0(0x0L, 0xaaaa02942800000L, 0xaaaaL); case '[': - return jjStopAtPos(0, 79); - case ']': return jjStopAtPos(0, 80); + case ']': + return jjStopAtPos(0, 81); case '^': - jjmatchedKind = 111; - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x8L); + jjmatchedKind = 112; + return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x10L); case 'a': return jjMoveStringLiteralDfa1_0(0x800L, 0x0L, 0x0L); case 'b': @@ -263,7 +263,7 @@ private int jjMoveStringLiteralDfa0_0(){ case 'c': return jjMoveStringLiteralDfa1_0(0x1f4000L, 0x0L, 0x0L); case 'd': - return jjMoveStringLiteralDfa1_0(0xe00000L, 0x0L, 0x2000000L); + return jjMoveStringLiteralDfa1_0(0xe00000L, 0x0L, 0x4000000L); case 'e': return jjMoveStringLiteralDfa1_0(0x7000000L, 0x0L, 0x0L); case 'f': @@ -271,32 +271,32 @@ private int jjMoveStringLiteralDfa0_0(){ case 'g': return jjMoveStringLiteralDfa1_0(0x100000000L, 0x0L, 0x0L); case 'i': - return jjMoveStringLiteralDfa1_0(0x7e00000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0xfe00000000L, 0x0L, 0x0L); case 'l': - return jjMoveStringLiteralDfa1_0(0x8000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x10000000000L, 0x0L, 0x0L); case 'n': - return jjMoveStringLiteralDfa1_0(0x70000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0xe0000000000L, 0x0L, 0x0L); case 'p': - return jjMoveStringLiteralDfa1_0(0x780000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0xf00000000000L, 0x0L, 0x0L); case 'r': - return jjMoveStringLiteralDfa1_0(0x800000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x1000000000000L, 0x0L, 0x0L); case 's': - return jjMoveStringLiteralDfa1_0(0x1f000000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x3e000000000000L, 0x0L, 0x0L); case 't': - return jjMoveStringLiteralDfa1_0(0x3e0000000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x7c0000000000000L, 0x0L, 0x0L); case 'v': - return jjMoveStringLiteralDfa1_0(0xc00000000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x1800000000000000L, 0x0L, 0x0L); case 'w': - return jjMoveStringLiteralDfa1_0(0x1000000000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x2000000000000000L, 0x0L, 0x0L); case '{': - return jjStopAtPos(0, 77); + return jjStopAtPos(0, 78); case '|': - jjmatchedKind = 109; - return jjMoveStringLiteralDfa1_0(0x0L, 0x200000000L, 0x2L); + jjmatchedKind = 110; + return jjMoveStringLiteralDfa1_0(0x0L, 0x400000000L, 0x4L); case '}': - return jjStopAtPos(0, 78); + return jjStopAtPos(0, 79); case '~': - return jjStopAtPos(0, 90); + return jjStopAtPos(0, 91); default : return jjMoveNfa_0(1, 0); } @@ -310,55 +310,53 @@ private int jjMoveStringLiteralDfa1_0(long active0, long active1, long active2){ switch(curChar) { case '&': - if ((active1 & 0x800000000L) != 0x0L) - return jjStopAtPos(1, 99); + if ((active1 & 0x1000000000L) != 0x0L) + return jjStopAtPos(1, 100); break; case '*': - if ((active1 & 0x8000000000000L) != 0x0L) + if ((active1 & 0x10000000000000L) != 0x0L) { - jjmatchedKind = 115; + jjmatchedKind = 116; jjmatchedPos = 1; } - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x80L); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x100L); case '+': - if ((active1 & 0x2000000000L) != 0x0L) - return jjStopAtPos(1, 101); - break; - case '-': if ((active1 & 0x4000000000L) != 0x0L) return jjStopAtPos(1, 102); break; + case '-': + if ((active1 & 0x8000000000L) != 0x0L) + return jjStopAtPos(1, 103); + break; case '.': - if ((active2 & 0x1000000L) != 0x0L) - return jjStopAtPos(1, 152); - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x800000L); + if ((active2 & 0x2000000L) != 0x0L) + return jjStopAtPos(1, 153); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x1000000L); case ':': - if ((active2 & 0x80000L) != 0x0L) - return jjStopAtPos(1, 147); - else if ((active2 & 0x400000L) != 0x0L) - return jjStopAtPos(1, 150); + if ((active2 & 0x100000L) != 0x0L) + return jjStopAtPos(1, 148); + else if ((active2 & 0x800000L) != 0x0L) + return jjStopAtPos(1, 151); break; case '<': - if ((active1 & 0x20000000000000L) != 0x0L) + if ((active1 & 0x40000000000000L) != 0x0L) { - jjmatchedKind = 117; + jjmatchedKind = 118; jjmatchedPos = 1; } - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x200L); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x400L); case '=': - if ((active1 & 0x8000000L) != 0x0L) - return jjStopAtPos(1, 91); - else if ((active1 & 0x10000000L) != 0x0L) + if ((active1 & 0x10000000L) != 0x0L) + return jjStopAtPos(1, 92); + else if ((active1 & 0x20000000L) != 0x0L) { - jjmatchedKind = 92; + jjmatchedKind = 93; jjmatchedPos = 1; } - else if ((active1 & 0x40000000L) != 0x0L) - return jjStopAtPos(1, 94); - else if ((active1 & 0x100000000L) != 0x0L) - return jjStopAtPos(1, 96); - else if ((active1 & 0x800000000000000L) != 0x0L) - return jjStopAtPos(1, 123); + else if ((active1 & 0x80000000L) != 0x0L) + return jjStopAtPos(1, 95); + else if ((active1 & 0x200000000L) != 0x0L) + return jjStopAtPos(1, 97); else if ((active1 & 0x1000000000000000L) != 0x0L) return jjStopAtPos(1, 124); else if ((active1 & 0x2000000000000000L) != 0x0L) @@ -367,75 +365,81 @@ else if ((active1 & 0x4000000000000000L) != 0x0L) return jjStopAtPos(1, 126); else if ((active1 & 0x8000000000000000L) != 0x0L) return jjStopAtPos(1, 127); - else if ((active2 & 0x2L) != 0x0L) - return jjStopAtPos(1, 129); - else if ((active2 & 0x8L) != 0x0L) - return jjStopAtPos(1, 131); - else if ((active2 & 0x20L) != 0x0L) - return jjStopAtPos(1, 133); - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x10000L); + else if ((active2 & 0x1L) != 0x0L) + return jjStopAtPos(1, 128); + else if ((active2 & 0x4L) != 0x0L) + return jjStopAtPos(1, 130); + else if ((active2 & 0x10L) != 0x0L) + return jjStopAtPos(1, 132); + else if ((active2 & 0x40L) != 0x0L) + return jjStopAtPos(1, 134); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x20000L); case '>': - if ((active1 & 0x80000000000000L) != 0x0L) + if ((active1 & 0x100000000000000L) != 0x0L) { - jjmatchedKind = 119; + jjmatchedKind = 120; jjmatchedPos = 1; } - else if ((active2 & 0x8000L) != 0x0L) - return jjStopAtPos(1, 143); - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x200000000000000L, active2, 0x2800L); + else if ((active2 & 0x10000L) != 0x0L) + return jjStopAtPos(1, 144); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x400000000000000L, active2, 0x5000L); case '?': - if ((active2 & 0x40000L) != 0x0L) + if ((active2 & 0x80000L) != 0x0L) { - jjmatchedKind = 146; + jjmatchedKind = 147; jjmatchedPos = 1; } - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x20000L); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x40000L); case 'a': - return jjMoveStringLiteralDfa2_0(active0, 0x90008030000L, active1, 0x1000000000L, active2, 0x1L); + return jjMoveStringLiteralDfa2_0(active0, 0x120008030000L, active1, 0x2000000000L, active2, 0x2L); case 'b': - return jjMoveStringLiteralDfa2_0(active0, 0x800L, active1, 0x1500000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x800L, active1, 0x2a00000000000L, active2, 0x0L); case 'e': - return jjMoveStringLiteralDfa2_0(active0, 0x820000200000L, active1, 0x0L, active2, 0x2000000L); + return jjMoveStringLiteralDfa2_0(active0, 0x1040000200000L, active1, 0x0L, active2, 0x4000000L); case 'f': if ((active0 & 0x200000000L) != 0x0L) return jjStartNfaWithStates_0(1, 33, 42); break; case 'g': - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x80400000L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x100800000L, active2, 0x0L); case 'h': - return jjMoveStringLiteralDfa2_0(active0, 0x10c1000000040000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x2182000000040000L, active1, 0x0L, active2, 0x0L); case 'i': return jjMoveStringLiteralDfa2_0(active0, 0x30000000L, active1, 0x0L, active2, 0x0L); case 'l': - return jjMoveStringLiteralDfa2_0(active0, 0x41004000L, active1, 0x40000021000000L, active2, 0x400L); + return jjMoveStringLiteralDfa2_0(active0, 0x41004000L, active1, 0x80000042000000L, active2, 0x800L); case 'm': - return jjMoveStringLiteralDfa2_0(active0, 0xc00000000L, active1, 0x4000000000000L, active2, 0x40L); + return jjMoveStringLiteralDfa2_0(active0, 0xc00000000L, active1, 0x8000000000000L, active2, 0x80L); case 'n': - return jjMoveStringLiteralDfa2_0(active0, 0x7002000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0xd002000000L, active1, 0x0L, active2, 0x0L); case 'o': if ((active0 & 0x400000L) != 0x0L) { jjmatchedKind = 22; jjmatchedPos = 1; } - return jjMoveStringLiteralDfa2_0(active0, 0xc00008180981000L, active1, 0x400000000L, active2, 0x4L); + return jjMoveStringLiteralDfa2_0(active0, 0x1800010180981000L, active1, 0x800000000L, active2, 0x8L); case 'p': - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x10000000000000L, active2, 0x100L); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x20000000000000L, active2, 0x200L); case 'r': - return jjMoveStringLiteralDfa2_0(active0, 0x320300000002000L, active1, 0x500000000000000L, active2, 0x5000L); + return jjMoveStringLiteralDfa2_0(active0, 0x640600000002000L, active1, 0xa00000000000000L, active2, 0xa000L); + case 's': + if ((active0 & 0x2000000000L) != 0x0L) + return jjStartNfaWithStates_0(1, 37, 42); + break; case 't': - return jjMoveStringLiteralDfa2_0(active0, 0x6000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0xc000000000000L, active1, 0x0L, active2, 0x0L); case 'u': - return jjMoveStringLiteralDfa2_0(active0, 0x440000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x880000000000L, active1, 0x0L, active2, 0x0L); case 'w': - return jjMoveStringLiteralDfa2_0(active0, 0x8000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x10000000000000L, active1, 0x0L, active2, 0x0L); case 'x': - return jjMoveStringLiteralDfa2_0(active0, 0x4000000L, active1, 0x0L, active2, 0x10L); + return jjMoveStringLiteralDfa2_0(active0, 0x4000000L, active1, 0x0L, active2, 0x20L); case 'y': - return jjMoveStringLiteralDfa2_0(active0, 0x10000000008000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x20000000008000L, active1, 0x0L, active2, 0x0L); case '|': - if ((active1 & 0x200000000L) != 0x0L) - return jjStopAtPos(1, 97); + if ((active1 & 0x400000000L) != 0x0L) + return jjStopAtPos(1, 98); break; default : break; @@ -453,85 +457,85 @@ private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long a switch(curChar) { case '.': - if ((active2 & 0x800000L) != 0x0L) - return jjStopAtPos(2, 151); + if ((active2 & 0x1000000L) != 0x0L) + return jjStopAtPos(2, 152); break; case '=': - if ((active2 & 0x80L) != 0x0L) - return jjStopAtPos(2, 135); - else if ((active2 & 0x200L) != 0x0L) - return jjStopAtPos(2, 137); - else if ((active2 & 0x800L) != 0x0L) - return jjStopAtPos(2, 139); - else if ((active2 & 0x20000L) != 0x0L) - return jjStopAtPos(2, 145); + if ((active2 & 0x100L) != 0x0L) + return jjStopAtPos(2, 136); + else if ((active2 & 0x400L) != 0x0L) + return jjStopAtPos(2, 138); + else if ((active2 & 0x1000L) != 0x0L) + return jjStopAtPos(2, 140); + else if ((active2 & 0x40000L) != 0x0L) + return jjStopAtPos(2, 146); break; case '>': - if ((active1 & 0x200000000000000L) != 0x0L) + if ((active1 & 0x400000000000000L) != 0x0L) { - jjmatchedKind = 121; + jjmatchedKind = 122; jjmatchedPos = 2; } - else if ((active2 & 0x10000L) != 0x0L) - return jjStopAtPos(2, 144); - return jjMoveStringLiteralDfa3_0(active0, 0x0L, active1, 0x0L, active2, 0x2000L); + else if ((active2 & 0x20000L) != 0x0L) + return jjStopAtPos(2, 145); + return jjMoveStringLiteralDfa3_0(active0, 0x0L, active1, 0x0L, active2, 0x4000L); case 'a': - return jjMoveStringLiteralDfa3_0(active0, 0x22000000044000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa3_0(active0, 0x44000000044000L, active1, 0x0L, active2, 0x0L); case 'b': - return jjMoveStringLiteralDfa3_0(active0, 0x400000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa3_0(active0, 0x800000000000L, active1, 0x0L, active2, 0x0L); case 'c': - return jjMoveStringLiteralDfa3_0(active0, 0x80000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa3_0(active0, 0x100000000000L, active1, 0x0L, active2, 0x0L); case 'e': - return jjMoveStringLiteralDfa3_0(active0, 0x2000L, active1, 0x40000000000000L, active2, 0x400L); + return jjMoveStringLiteralDfa3_0(active0, 0x2000L, active1, 0x80000000000000L, active2, 0x800L); case 'f': - return jjMoveStringLiteralDfa3_0(active0, 0x200000L, active1, 0x0L, active2, 0x2000000L); + return jjMoveStringLiteralDfa3_0(active0, 0x200000L, active1, 0x0L, active2, 0x4000000L); case 'i': - return jjMoveStringLiteralDfa3_0(active0, 0x1408100000000000L, active1, 0x501500000000000L, active2, 0x5000L); + return jjMoveStringLiteralDfa3_0(active0, 0x2810200000000000L, active1, 0xa02a00000000000L, active2, 0xa000L); case 'l': - return jjMoveStringLiteralDfa3_0(active0, 0x800040008000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa3_0(active0, 0x1000080008000000L, active1, 0x0L, active2, 0x0L); case 'n': - return jjMoveStringLiteralDfa3_0(active0, 0x10008030180000L, active1, 0x1000000000L, active2, 0x1L); + return jjMoveStringLiteralDfa3_0(active0, 0x20010030180000L, active1, 0x2000000000L, active2, 0x2L); case 'o': - return jjMoveStringLiteralDfa3_0(active0, 0x1200040001000L, active1, 0x14000000000000L, active2, 0x150L); + return jjMoveStringLiteralDfa3_0(active0, 0x2400040001000L, active1, 0x28000000000000L, active2, 0x2a0L); case 'p': return jjMoveStringLiteralDfa3_0(active0, 0xc00000000L, active1, 0x0L, active2, 0x0L); case 'r': if ((active0 & 0x80000000L) != 0x0L) return jjStartNfaWithStates_0(2, 31, 42); - else if ((active1 & 0x400000000L) != 0x0L) + else if ((active1 & 0x800000000L) != 0x0L) { - jjmatchedKind = 98; + jjmatchedKind = 99; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0xc4000000000000L, active1, 0x0L, active2, 0x4L); + return jjMoveStringLiteralDfa3_0(active0, 0x188000000000000L, active1, 0x0L, active2, 0x8L); case 's': return jjMoveStringLiteralDfa3_0(active0, 0x1001010800L, active1, 0x0L, active2, 0x0L); case 't': - if ((active0 & 0x2000000000L) != 0x0L) + if ((active0 & 0x4000000000L) != 0x0L) { - jjmatchedKind = 37; + jjmatchedKind = 38; jjmatchedPos = 2; } - else if ((active1 & 0x400000L) != 0x0L) + else if ((active1 & 0x800000L) != 0x0L) { - jjmatchedKind = 86; + jjmatchedKind = 87; jjmatchedPos = 2; } - else if ((active1 & 0x1000000L) != 0x0L) + else if ((active1 & 0x2000000L) != 0x0L) { - jjmatchedKind = 88; + jjmatchedKind = 89; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0x814104028000L, active1, 0xa0000000L, active2, 0x0L); + return jjMoveStringLiteralDfa3_0(active0, 0x1028104028000L, active1, 0x140000000L, active2, 0x0L); case 'u': - return jjMoveStringLiteralDfa3_0(active0, 0x100000002800000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa3_0(active0, 0x200000002800000L, active1, 0x0L, active2, 0x0L); case 'w': - if ((active0 & 0x20000000000L) != 0x0L) - return jjStartNfaWithStates_0(2, 41, 42); + if ((active0 & 0x40000000000L) != 0x0L) + return jjStartNfaWithStates_0(2, 42, 42); break; case 'y': - if ((active0 & 0x200000000000000L) != 0x0L) - return jjStartNfaWithStates_0(2, 57, 42); + if ((active0 & 0x400000000000000L) != 0x0L) + return jjStartNfaWithStates_0(2, 58, 42); break; default : break; @@ -549,31 +553,31 @@ private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long a switch(curChar) { case '=': - if ((active2 & 0x2000L) != 0x0L) - return jjStopAtPos(3, 141); + if ((active2 & 0x4000L) != 0x0L) + return jjStopAtPos(3, 142); break; case '_': - return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x0L, active2, 0x4L); + return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x0L, active2, 0x8L); case 'a': - return jjMoveStringLiteralDfa4_0(active0, 0x800000070202000L, active1, 0x0L, active2, 0x2000000L); + return jjMoveStringLiteralDfa4_0(active0, 0x1000000070202000L, active1, 0x0L, active2, 0x4000000L); case 'b': return jjMoveStringLiteralDfa4_0(active0, 0x800000L, active1, 0x0L, active2, 0x0L); case 'c': - return jjMoveStringLiteralDfa4_0(active0, 0x10000000020000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x20000000020000L, active1, 0x0L, active2, 0x0L); case 'd': - if ((active0 & 0x400000000000000L) != 0x0L) - return jjStartNfaWithStates_0(3, 58, 42); - else if ((active1 & 0x1000000000L) != 0x0L) + if ((active0 & 0x800000000000000L) != 0x0L) + return jjStartNfaWithStates_0(3, 59, 42); + else if ((active1 & 0x2000000000L) != 0x0L) { - jjmatchedKind = 100; + jjmatchedKind = 101; jjmatchedPos = 3; } - else if ((active1 & 0x4000000000000L) != 0x0L) + else if ((active1 & 0x8000000000000L) != 0x0L) { - jjmatchedKind = 114; + jjmatchedKind = 115; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x0L, active2, 0x41L); + return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x0L, active2, 0x82L); case 'e': if ((active0 & 0x8000L) != 0x0L) return jjStartNfaWithStates_0(3, 15, 42); @@ -581,52 +585,52 @@ else if ((active0 & 0x10000L) != 0x0L) return jjStartNfaWithStates_0(3, 16, 42); else if ((active0 & 0x1000000L) != 0x0L) return jjStartNfaWithStates_0(3, 24, 42); - else if ((active0 & 0x100000000000000L) != 0x0L) - return jjStartNfaWithStates_0(3, 56, 42); - return jjMoveStringLiteralDfa4_0(active0, 0x4004000000L, active1, 0xa0000000L, active2, 0x0L); + else if ((active0 & 0x200000000000000L) != 0x0L) + return jjStartNfaWithStates_0(3, 57, 42); + return jjMoveStringLiteralDfa4_0(active0, 0x8004000000L, active1, 0x140000000L, active2, 0x0L); case 'f': - return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x40000000000000L, active2, 0x400L); + return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x80000000000000L, active2, 0x800L); case 'g': - if ((active0 & 0x8000000000L) != 0x0L) - return jjStartNfaWithStates_0(3, 39, 42); - return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x500000000000000L, active2, 0x5000L); + if ((active0 & 0x10000000000L) != 0x0L) + return jjStartNfaWithStates_0(3, 40, 42); + return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0xa00000000000000L, active2, 0xa000L); case 'i': - return jjMoveStringLiteralDfa4_0(active0, 0x4010000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x8020000000000L, active1, 0x0L, active2, 0x0L); case 'k': - return jjMoveStringLiteralDfa4_0(active0, 0x80000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x100000000000L, active1, 0x0L, active2, 0x0L); case 'l': - if ((active0 & 0x40000000000L) != 0x0L) - return jjStartNfaWithStates_0(3, 42, 42); - return jjMoveStringLiteralDfa4_0(active0, 0x1000400400001000L, active1, 0x0L, active2, 0x0L); + if ((active0 & 0x80000000000L) != 0x0L) + return jjStartNfaWithStates_0(3, 43, 42); + return jjMoveStringLiteralDfa4_0(active0, 0x2000800400001000L, active1, 0x0L, active2, 0x0L); case 'm': if ((active0 & 0x2000000L) != 0x0L) return jjStartNfaWithStates_0(3, 25, 42); break; case 'n': - return jjMoveStringLiteralDfa4_0(active0, 0x20000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x40000000000000L, active1, 0x0L, active2, 0x0L); case 'o': if ((active0 & 0x100000000L) != 0x0L) return jjStartNfaWithStates_0(3, 32, 42); - return jjMoveStringLiteralDfa4_0(active0, 0xc0000800000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x180000800000000L, active1, 0x0L, active2, 0x0L); case 'r': if ((active0 & 0x40000L) != 0x0L) return jjStartNfaWithStates_0(3, 18, 42); - return jjMoveStringLiteralDfa4_0(active0, 0x1000000000000L, active1, 0x0L, active2, 0x10L); + return jjMoveStringLiteralDfa4_0(active0, 0x2000000000000L, active1, 0x0L, active2, 0x20L); case 's': return jjMoveStringLiteralDfa4_0(active0, 0x8084000L, active1, 0x0L, active2, 0x0L); case 't': - return jjMoveStringLiteralDfa4_0(active0, 0xa201000100800L, active1, 0x1500000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x14401000100800L, active1, 0x2a00000000000L, active2, 0x0L); case 'u': - return jjMoveStringLiteralDfa4_0(active0, 0x800000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x1000000000000L, active1, 0x0L, active2, 0x0L); case 'v': - return jjMoveStringLiteralDfa4_0(active0, 0x100000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x200000000000L, active1, 0x0L, active2, 0x0L); case 'w': - if ((active1 & 0x10000000000000L) != 0x0L) + if ((active1 & 0x20000000000000L) != 0x0L) { - jjmatchedKind = 116; + jjmatchedKind = 117; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x0L, active2, 0x100L); + return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x0L, active2, 0x200L); default : break; } @@ -643,23 +647,23 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a switch(curChar) { case '_': - return jjMoveStringLiteralDfa5_0(active0, 0x0L, active1, 0x0L, active2, 0x151L); + return jjMoveStringLiteralDfa5_0(active0, 0x0L, active1, 0x0L, active2, 0x2a2L); case 'a': - return jjMoveStringLiteralDfa5_0(active0, 0x181000000000L, active1, 0x0L, active2, 0x4L); + return jjMoveStringLiteralDfa5_0(active0, 0x301000000000L, active1, 0x0L, active2, 0x8L); case 'c': - return jjMoveStringLiteralDfa5_0(active0, 0xc000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa5_0(active0, 0x18000000000000L, active1, 0x0L, active2, 0x0L); case 'e': if ((active0 & 0x8000000L) != 0x0L) return jjStartNfaWithStates_0(4, 27, 42); - else if ((active0 & 0x1000000000000000L) != 0x0L) - return jjStartNfaWithStates_0(4, 60, 42); - return jjMoveStringLiteralDfa5_0(active0, 0x200400001000L, active1, 0x0L, active2, 0x0L); + else if ((active0 & 0x2000000000000000L) != 0x0L) + return jjStartNfaWithStates_0(4, 61, 42); + return jjMoveStringLiteralDfa5_0(active0, 0x400400001000L, active1, 0x0L, active2, 0x0L); case 'h': if ((active0 & 0x20000L) != 0x0L) return jjStartNfaWithStates_0(4, 17, 42); - return jjMoveStringLiteralDfa5_0(active0, 0x10000000000000L, active1, 0x500000000000000L, active2, 0x5000L); + return jjMoveStringLiteralDfa5_0(active0, 0x20000000000000L, active1, 0xa00000000000000L, active2, 0xa000L); case 'i': - return jjMoveStringLiteralDfa5_0(active0, 0x2400000100000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa5_0(active0, 0x4800000100000L, active1, 0x0L, active2, 0x0L); case 'k': if ((active0 & 0x2000L) != 0x0L) return jjStartNfaWithStates_0(4, 13, 42); @@ -674,36 +678,36 @@ else if ((active0 & 0x1000000000000000L) != 0x0L) case 'n': return jjMoveStringLiteralDfa5_0(active0, 0x4000000L, active1, 0x0L, active2, 0x0L); case 'q': - if ((active1 & 0x20000000L) != 0x0L) - return jjStopAtPos(4, 93); - else if ((active1 & 0x80000000L) != 0x0L) - return jjStopAtPos(4, 95); + if ((active1 & 0x40000000L) != 0x0L) + return jjStopAtPos(4, 94); + else if ((active1 & 0x100000000L) != 0x0L) + return jjStopAtPos(4, 96); break; case 'r': - return jjMoveStringLiteralDfa5_0(active0, 0x804800000800L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa5_0(active0, 0x1008800000800L, active1, 0x0L, active2, 0x0L); case 's': if ((active0 & 0x4000L) != 0x0L) return jjStartNfaWithStates_0(4, 14, 42); - return jjMoveStringLiteralDfa5_0(active0, 0x20000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa5_0(active0, 0x40000000000000L, active1, 0x0L, active2, 0x0L); case 't': if ((active0 & 0x80000L) != 0x0L) return jjStartNfaWithStates_0(4, 19, 42); else if ((active0 & 0x40000000L) != 0x0L) return jjStartNfaWithStates_0(4, 30, 42); - else if ((active0 & 0x1000000000000L) != 0x0L) - return jjStartNfaWithStates_0(4, 48, 42); - return jjMoveStringLiteralDfa5_0(active0, 0x800000000000000L, active1, 0x40000000000000L, active2, 0x400L); + else if ((active0 & 0x2000000000000L) != 0x0L) + return jjStartNfaWithStates_0(4, 49, 42); + return jjMoveStringLiteralDfa5_0(active0, 0x1000000000000000L, active1, 0x80000000000000L, active2, 0x800L); case 'u': - return jjMoveStringLiteralDfa5_0(active0, 0x200000L, active1, 0x0L, active2, 0x2000000L); + return jjMoveStringLiteralDfa5_0(active0, 0x200000L, active1, 0x0L, active2, 0x4000000L); case 'v': - return jjMoveStringLiteralDfa5_0(active0, 0x10000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa5_0(active0, 0x20000000000L, active1, 0x0L, active2, 0x0L); case 'w': - if ((active0 & 0x40000000000000L) != 0x0L) + if ((active0 & 0x80000000000000L) != 0x0L) { - jjmatchedKind = 54; + jjmatchedKind = 55; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0x80000000000000L, active1, 0x1500000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa5_0(active0, 0x100000000000000L, active1, 0x2a00000000000L, active2, 0x0L); default : break; } @@ -720,51 +724,51 @@ private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long a switch(curChar) { case '_': - return jjMoveStringLiteralDfa6_0(active0, 0x0L, active1, 0x40000000000000L, active2, 0x400L); + return jjMoveStringLiteralDfa6_0(active0, 0x0L, active1, 0x80000000000000L, active2, 0x800L); case 'a': - return jjMoveStringLiteralDfa6_0(active0, 0x1800L, active1, 0x0L, active2, 0x151L); + return jjMoveStringLiteralDfa6_0(active0, 0x1800L, active1, 0x0L, active2, 0x2a2L); case 'c': - if ((active0 & 0x400000000000L) != 0x0L) - return jjStartNfaWithStates_0(5, 46, 42); - else if ((active0 & 0x2000000000000L) != 0x0L) - return jjStartNfaWithStates_0(5, 49, 42); - return jjMoveStringLiteralDfa6_0(active0, 0x200000000000L, active1, 0x0L, active2, 0x0L); + if ((active0 & 0x800000000000L) != 0x0L) + return jjStartNfaWithStates_0(5, 47, 42); + else if ((active0 & 0x4000000000000L) != 0x0L) + return jjStartNfaWithStates_0(5, 50, 42); + return jjMoveStringLiteralDfa6_0(active0, 0x400000000000L, active1, 0x0L, active2, 0x0L); case 'd': return jjMoveStringLiteralDfa6_0(active0, 0x4000000L, active1, 0x0L, active2, 0x0L); case 'e': if ((active0 & 0x800000L) != 0x0L) return jjStartNfaWithStates_0(5, 23, 42); - else if ((active0 & 0x10000000000L) != 0x0L) - return jjStartNfaWithStates_0(5, 40, 42); + else if ((active0 & 0x20000000000L) != 0x0L) + return jjStartNfaWithStates_0(5, 41, 42); break; case 'f': - return jjMoveStringLiteralDfa6_0(active0, 0x4000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa6_0(active0, 0x8000000000L, active1, 0x0L, active2, 0x0L); case 'g': - return jjMoveStringLiteralDfa6_0(active0, 0x80000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa6_0(active0, 0x100000000000L, active1, 0x0L, active2, 0x0L); case 'h': - if ((active0 & 0x8000000000000L) != 0x0L) - return jjStartNfaWithStates_0(5, 51, 42); + if ((active0 & 0x10000000000000L) != 0x0L) + return jjStartNfaWithStates_0(5, 52, 42); break; case 'i': - return jjMoveStringLiteralDfa6_0(active0, 0x820000000000000L, active1, 0x1500000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa6_0(active0, 0x1040000000000000L, active1, 0x2a00000000000L, active2, 0x0L); case 'l': - return jjMoveStringLiteralDfa6_0(active0, 0x20200000L, active1, 0x0L, active2, 0x2000000L); + return jjMoveStringLiteralDfa6_0(active0, 0x20200000L, active1, 0x0L, active2, 0x4000000L); case 'm': return jjMoveStringLiteralDfa6_0(active0, 0x400000000L, active1, 0x0L, active2, 0x0L); case 'n': - if ((active0 & 0x800000000000L) != 0x0L) - return jjStartNfaWithStates_0(5, 47, 42); + if ((active0 & 0x1000000000000L) != 0x0L) + return jjStartNfaWithStates_0(5, 48, 42); return jjMoveStringLiteralDfa6_0(active0, 0x1000100000L, active1, 0x0L, active2, 0x0L); case 'r': - return jjMoveStringLiteralDfa6_0(active0, 0x10000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa6_0(active0, 0x20000000000000L, active1, 0x0L, active2, 0x0L); case 's': - if ((active0 & 0x80000000000000L) != 0x0L) - return jjStartNfaWithStates_0(5, 55, 42); - return jjMoveStringLiteralDfa6_0(active0, 0x0L, active1, 0x0L, active2, 0x4L); + if ((active0 & 0x100000000000000L) != 0x0L) + return jjStartNfaWithStates_0(5, 56, 42); + return jjMoveStringLiteralDfa6_0(active0, 0x0L, active1, 0x0L, active2, 0x8L); case 't': if ((active0 & 0x800000000L) != 0x0L) return jjStartNfaWithStates_0(5, 35, 42); - return jjMoveStringLiteralDfa6_0(active0, 0x4100000000000L, active1, 0x500000000000000L, active2, 0x5000L); + return jjMoveStringLiteralDfa6_0(active0, 0x8200000000000L, active1, 0xa00000000000000L, active2, 0xa000L); default : break; } @@ -781,38 +785,38 @@ private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long a switch(curChar) { case '_': - return jjMoveStringLiteralDfa7_0(active0, 0x0L, active1, 0x500000000000000L, active2, 0x5000L); + return jjMoveStringLiteralDfa7_0(active0, 0x0L, active1, 0xa00000000000000L, active2, 0xa000L); case 'a': - return jjMoveStringLiteralDfa7_0(active0, 0x4000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa7_0(active0, 0x8000000000L, active1, 0x0L, active2, 0x0L); case 'c': return jjMoveStringLiteralDfa7_0(active0, 0x1000000800L, active1, 0x0L, active2, 0x0L); case 'e': - if ((active0 & 0x80000000000L) != 0x0L) - return jjStartNfaWithStates_0(6, 43, 42); - else if ((active0 & 0x100000000000L) != 0x0L) + if ((active0 & 0x100000000000L) != 0x0L) return jjStartNfaWithStates_0(6, 44, 42); - return jjMoveStringLiteralDfa7_0(active0, 0x20000400000000L, active1, 0x0L, active2, 0x0L); + else if ((active0 & 0x200000000000L) != 0x0L) + return jjStartNfaWithStates_0(6, 45, 42); + return jjMoveStringLiteralDfa7_0(active0, 0x40000400000000L, active1, 0x0L, active2, 0x0L); case 'f': - return jjMoveStringLiteralDfa7_0(active0, 0x4000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa7_0(active0, 0x8000000000000L, active1, 0x0L, active2, 0x0L); case 'l': - return jjMoveStringLiteralDfa7_0(active0, 0x800000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa7_0(active0, 0x1000000000000000L, active1, 0x0L, active2, 0x0L); case 'n': if ((active0 & 0x1000L) != 0x0L) return jjStartNfaWithStates_0(6, 12, 42); break; case 'o': - return jjMoveStringLiteralDfa7_0(active0, 0x10000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa7_0(active0, 0x20000000000000L, active1, 0x0L, active2, 0x0L); case 's': if ((active0 & 0x4000000L) != 0x0L) return jjStartNfaWithStates_0(6, 26, 42); - return jjMoveStringLiteralDfa7_0(active0, 0x0L, active1, 0x41500000000000L, active2, 0x555L); + return jjMoveStringLiteralDfa7_0(active0, 0x0L, active1, 0x82a00000000000L, active2, 0xaaaL); case 't': if ((active0 & 0x200000L) != 0x0L) { jjmatchedKind = 21; jjmatchedPos = 6; } - return jjMoveStringLiteralDfa7_0(active0, 0x200000000000L, active1, 0x0L, active2, 0x2000000L); + return jjMoveStringLiteralDfa7_0(active0, 0x400000000000L, active1, 0x0L, active2, 0x4000000L); case 'u': return jjMoveStringLiteralDfa7_0(active0, 0x100000L, active1, 0x0L, active2, 0x0L); case 'y': @@ -835,35 +839,35 @@ private int jjMoveStringLiteralDfa7_0(long old0, long active0, long old1, long a switch(curChar) { case ':': - if ((active2 & 0x2000000L) != 0x0L) - return jjStopAtPos(7, 153); + if ((active2 & 0x4000000L) != 0x0L) + return jjStopAtPos(7, 154); break; case 'c': - return jjMoveStringLiteralDfa8_0(active0, 0x4000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa8_0(active0, 0x8000000000L, active1, 0x0L, active2, 0x0L); case 'e': if ((active0 & 0x100000L) != 0x0L) return jjStartNfaWithStates_0(7, 20, 42); - else if ((active0 & 0x800000000000000L) != 0x0L) - return jjStartNfaWithStates_0(7, 59, 42); - return jjMoveStringLiteralDfa8_0(active0, 0x201000000000L, active1, 0x1500000000000L, active2, 0x0L); + else if ((active0 & 0x1000000000000000L) != 0x0L) + return jjStartNfaWithStates_0(7, 60, 42); + return jjMoveStringLiteralDfa8_0(active0, 0x401000000000L, active1, 0x2a00000000000L, active2, 0x0L); case 'h': - return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x40000000000000L, active2, 0x400L); + return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x80000000000000L, active2, 0x800L); case 'i': - return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x0L, active2, 0x4L); + return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x0L, active2, 0x8L); case 'n': - return jjMoveStringLiteralDfa8_0(active0, 0x30000400000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa8_0(active0, 0x60000400000000L, active1, 0x0L, active2, 0x0L); case 'p': - if ((active0 & 0x4000000000000L) != 0x0L) - return jjStartNfaWithStates_0(7, 50, 42); + if ((active0 & 0x8000000000000L) != 0x0L) + return jjStartNfaWithStates_0(7, 51, 42); break; case 's': - return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x100000000000000L, active2, 0x1151L); + return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x200000000000000L, active2, 0x22a2L); case 't': if ((active0 & 0x800L) != 0x0L) return jjStartNfaWithStates_0(7, 11, 42); break; case 'u': - return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x400000000000000L, active2, 0x4000L); + return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x800000000000000L, active2, 0x8000L); default : break; } @@ -880,28 +884,28 @@ private int jjMoveStringLiteralDfa8_0(long old0, long active0, long old1, long a switch(curChar) { case '_': - return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x1500000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x2a00000000000L, active2, 0x0L); case 'd': - if ((active0 & 0x200000000000L) != 0x0L) - return jjStartNfaWithStates_0(8, 45, 42); + if ((active0 & 0x400000000000L) != 0x0L) + return jjStartNfaWithStates_0(8, 46, 42); break; case 'e': - if ((active0 & 0x4000000000L) != 0x0L) - return jjStartNfaWithStates_0(8, 38, 42); + if ((active0 & 0x8000000000L) != 0x0L) + return jjStartNfaWithStates_0(8, 39, 42); break; case 'g': - return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x0L, active2, 0x4L); + return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x0L, active2, 0x8L); case 'h': - return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x100000000000000L, active2, 0x1000L); + return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x200000000000000L, active2, 0x2000L); case 'i': - return jjMoveStringLiteralDfa9_0(active0, 0x10000000000000L, active1, 0x40000000000000L, active2, 0x551L); + return jjMoveStringLiteralDfa9_0(active0, 0x20000000000000L, active1, 0x80000000000000L, active2, 0xaa2L); case 'n': - return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x400000000000000L, active2, 0x4000L); + return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x800000000000000L, active2, 0x8000L); case 'o': return jjMoveStringLiteralDfa9_0(active0, 0x1000000000L, active1, 0x0L, active2, 0x0L); case 't': - if ((active0 & 0x20000000000000L) != 0x0L) - return jjStartNfaWithStates_0(8, 53, 42); + if ((active0 & 0x40000000000000L) != 0x0L) + return jjStartNfaWithStates_0(8, 54, 42); return jjMoveStringLiteralDfa9_0(active0, 0x400000000L, active1, 0x0L, active2, 0x0L); default : break; @@ -919,29 +923,29 @@ private int jjMoveStringLiteralDfa9_0(long old0, long active0, long old1, long a switch(curChar) { case 'a': - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x100000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x200000000000L, active2, 0x0L); case 'f': if ((active0 & 0x1000000000L) != 0x0L) return jjStartNfaWithStates_0(9, 36, 42); - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x40000000000000L, active2, 0x400L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x80000000000000L, active2, 0x800L); case 'g': - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x0L, active2, 0x151L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x0L, active2, 0x2a2L); case 'i': - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x100000000000000L, active2, 0x1000L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x200000000000000L, active2, 0x2000L); case 'n': - if ((active2 & 0x4L) != 0x0L) - return jjStopAtPos(9, 130); + if ((active2 & 0x8L) != 0x0L) + return jjStopAtPos(9, 131); break; case 'o': - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x400000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x800000000000L, active2, 0x0L); case 's': if ((active0 & 0x400000000L) != 0x0L) return jjStartNfaWithStates_0(9, 34, 42); - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x400000000000000L, active2, 0x4000L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x800000000000000L, active2, 0x8000L); case 'x': - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x1000000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x2000000000000L, active2, 0x0L); case 'z': - return jjMoveStringLiteralDfa10_0(active0, 0x10000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa10_0(active0, 0x20000000000000L, active1, 0x0L, active2, 0x0L); default : break; } @@ -958,34 +962,34 @@ private int jjMoveStringLiteralDfa10_0(long old0, long active0, long old1, long switch(curChar) { case 'e': - return jjMoveStringLiteralDfa11_0(active0, 0x10000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa11_0(active0, 0x20000000000000L, active1, 0x0L, active2, 0x0L); case 'f': - return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x100000000000000L, active2, 0x1000L); + return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x200000000000000L, active2, 0x2000L); case 'i': - return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x400000000000000L, active2, 0x4000L); + return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x800000000000000L, active2, 0x8000L); case 'n': - if ((active2 & 0x1L) != 0x0L) - return jjStopAtPos(10, 128); - else if ((active2 & 0x10L) != 0x0L) - return jjStopAtPos(10, 132); - else if ((active2 & 0x40L) != 0x0L) - return jjStopAtPos(10, 134); - else if ((active2 & 0x100L) != 0x0L) - return jjStopAtPos(10, 136); - return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x100000000000L, active2, 0x0L); + if ((active2 & 0x2L) != 0x0L) + return jjStopAtPos(10, 129); + else if ((active2 & 0x20L) != 0x0L) + return jjStopAtPos(10, 133); + else if ((active2 & 0x80L) != 0x0L) + return jjStopAtPos(10, 135); + else if ((active2 & 0x200L) != 0x0L) + return jjStopAtPos(10, 137); + return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x200000000000L, active2, 0x0L); case 'o': - return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x1000000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x2000000000000L, active2, 0x0L); case 'r': - if ((active1 & 0x400000000000L) != 0x0L) - return jjStopAtPos(10, 110); + if ((active1 & 0x800000000000L) != 0x0L) + return jjStopAtPos(10, 111); break; case 't': - if ((active1 & 0x40000000000000L) != 0x0L) + if ((active1 & 0x80000000000000L) != 0x0L) { - jjmatchedKind = 118; + jjmatchedKind = 119; jjmatchedPos = 10; } - return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x0L, active2, 0x400L); + return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x0L, active2, 0x800L); default : break; } @@ -1002,26 +1006,26 @@ private int jjMoveStringLiteralDfa11_0(long old0, long active0, long old1, long switch(curChar) { case '_': - return jjMoveStringLiteralDfa12_0(active0, 0x0L, active1, 0x0L, active2, 0x400L); + return jjMoveStringLiteralDfa12_0(active0, 0x0L, active1, 0x0L, active2, 0x800L); case 'd': - if ((active0 & 0x10000000000000L) != 0x0L) - return jjStartNfaWithStates_0(11, 52, 42); - else if ((active1 & 0x100000000000L) != 0x0L) - return jjStopAtPos(11, 108); + if ((active0 & 0x20000000000000L) != 0x0L) + return jjStartNfaWithStates_0(11, 53, 42); + else if ((active1 & 0x200000000000L) != 0x0L) + return jjStopAtPos(11, 109); break; case 'g': - return jjMoveStringLiteralDfa12_0(active0, 0x0L, active1, 0x400000000000000L, active2, 0x4000L); + return jjMoveStringLiteralDfa12_0(active0, 0x0L, active1, 0x800000000000000L, active2, 0x8000L); case 'r': - if ((active1 & 0x1000000000000L) != 0x0L) - return jjStopAtPos(11, 112); + if ((active1 & 0x2000000000000L) != 0x0L) + return jjStopAtPos(11, 113); break; case 't': - if ((active1 & 0x100000000000000L) != 0x0L) + if ((active1 & 0x200000000000000L) != 0x0L) { - jjmatchedKind = 120; + jjmatchedKind = 121; jjmatchedPos = 11; } - return jjMoveStringLiteralDfa12_0(active0, 0x0L, active1, 0x0L, active2, 0x1000L); + return jjMoveStringLiteralDfa12_0(active0, 0x0L, active1, 0x0L, active2, 0x2000L); default : break; } @@ -1038,11 +1042,11 @@ private int jjMoveStringLiteralDfa12_0(long old0, long active0, long old1, long switch(curChar) { case '_': - return jjMoveStringLiteralDfa13_0(active1, 0x0L, active2, 0x1000L); + return jjMoveStringLiteralDfa13_0(active1, 0x0L, active2, 0x2000L); case 'a': - return jjMoveStringLiteralDfa13_0(active1, 0x0L, active2, 0x400L); + return jjMoveStringLiteralDfa13_0(active1, 0x0L, active2, 0x800L); case 'n': - return jjMoveStringLiteralDfa13_0(active1, 0x400000000000000L, active2, 0x4000L); + return jjMoveStringLiteralDfa13_0(active1, 0x800000000000000L, active2, 0x8000L); default : break; } @@ -1059,11 +1063,11 @@ private int jjMoveStringLiteralDfa13_0(long old1, long active1, long old2, long switch(curChar) { case 'a': - return jjMoveStringLiteralDfa14_0(active1, 0x0L, active2, 0x1000L); + return jjMoveStringLiteralDfa14_0(active1, 0x0L, active2, 0x2000L); case 'e': - return jjMoveStringLiteralDfa14_0(active1, 0x400000000000000L, active2, 0x4000L); + return jjMoveStringLiteralDfa14_0(active1, 0x800000000000000L, active2, 0x8000L); case 's': - return jjMoveStringLiteralDfa14_0(active1, 0x0L, active2, 0x400L); + return jjMoveStringLiteralDfa14_0(active1, 0x0L, active2, 0x800L); default : break; } @@ -1080,9 +1084,9 @@ private int jjMoveStringLiteralDfa14_0(long old1, long active1, long old2, long switch(curChar) { case 'd': - return jjMoveStringLiteralDfa15_0(active1, 0x400000000000000L, active2, 0x4000L); + return jjMoveStringLiteralDfa15_0(active1, 0x800000000000000L, active2, 0x8000L); case 's': - return jjMoveStringLiteralDfa15_0(active1, 0x0L, active2, 0x1400L); + return jjMoveStringLiteralDfa15_0(active1, 0x0L, active2, 0x2800L); default : break; } @@ -1099,11 +1103,11 @@ private int jjMoveStringLiteralDfa15_0(long old1, long active1, long old2, long switch(curChar) { case '_': - return jjMoveStringLiteralDfa16_0(active1, 0x400000000000000L, active2, 0x4000L); + return jjMoveStringLiteralDfa16_0(active1, 0x800000000000000L, active2, 0x8000L); case 'i': - return jjMoveStringLiteralDfa16_0(active1, 0x0L, active2, 0x400L); + return jjMoveStringLiteralDfa16_0(active1, 0x0L, active2, 0x800L); case 's': - return jjMoveStringLiteralDfa16_0(active1, 0x0L, active2, 0x1000L); + return jjMoveStringLiteralDfa16_0(active1, 0x0L, active2, 0x2000L); default : break; } @@ -1120,11 +1124,11 @@ private int jjMoveStringLiteralDfa16_0(long old1, long active1, long old2, long switch(curChar) { case 'g': - return jjMoveStringLiteralDfa17_0(active1, 0x0L, active2, 0x400L); + return jjMoveStringLiteralDfa17_0(active1, 0x0L, active2, 0x800L); case 'i': - return jjMoveStringLiteralDfa17_0(active1, 0x0L, active2, 0x1000L); + return jjMoveStringLiteralDfa17_0(active1, 0x0L, active2, 0x2000L); case 's': - return jjMoveStringLiteralDfa17_0(active1, 0x400000000000000L, active2, 0x4000L); + return jjMoveStringLiteralDfa17_0(active1, 0x800000000000000L, active2, 0x8000L); default : break; } @@ -1141,12 +1145,12 @@ private int jjMoveStringLiteralDfa17_0(long old1, long active1, long old2, long switch(curChar) { case 'g': - return jjMoveStringLiteralDfa18_0(active1, 0x0L, active2, 0x1000L); + return jjMoveStringLiteralDfa18_0(active1, 0x0L, active2, 0x2000L); case 'h': - return jjMoveStringLiteralDfa18_0(active1, 0x400000000000000L, active2, 0x4000L); + return jjMoveStringLiteralDfa18_0(active1, 0x800000000000000L, active2, 0x8000L); case 'n': - if ((active2 & 0x400L) != 0x0L) - return jjStopAtPos(17, 138); + if ((active2 & 0x800L) != 0x0L) + return jjStopAtPos(17, 139); break; default : break; @@ -1164,10 +1168,10 @@ private int jjMoveStringLiteralDfa18_0(long old1, long active1, long old2, long switch(curChar) { case 'i': - return jjMoveStringLiteralDfa19_0(active1, 0x400000000000000L, active2, 0x4000L); + return jjMoveStringLiteralDfa19_0(active1, 0x800000000000000L, active2, 0x8000L); case 'n': - if ((active2 & 0x1000L) != 0x0L) - return jjStopAtPos(18, 140); + if ((active2 & 0x2000L) != 0x0L) + return jjStopAtPos(18, 141); break; default : break; @@ -1185,7 +1189,7 @@ private int jjMoveStringLiteralDfa19_0(long old1, long active1, long old2, long switch(curChar) { case 'f': - return jjMoveStringLiteralDfa20_0(active1, 0x400000000000000L, active2, 0x4000L); + return jjMoveStringLiteralDfa20_0(active1, 0x800000000000000L, active2, 0x8000L); default : break; } @@ -1202,12 +1206,12 @@ private int jjMoveStringLiteralDfa20_0(long old1, long active1, long old2, long switch(curChar) { case 't': - if ((active1 & 0x400000000000000L) != 0x0L) + if ((active1 & 0x800000000000000L) != 0x0L) { - jjmatchedKind = 122; + jjmatchedKind = 123; jjmatchedPos = 20; } - return jjMoveStringLiteralDfa21_0(active1, 0x0L, active2, 0x4000L); + return jjMoveStringLiteralDfa21_0(active1, 0x0L, active2, 0x8000L); default : break; } @@ -1224,7 +1228,7 @@ private int jjMoveStringLiteralDfa21_0(long old1, long active1, long old2, long switch(curChar) { case '_': - return jjMoveStringLiteralDfa22_0(active2, 0x4000L); + return jjMoveStringLiteralDfa22_0(active2, 0x8000L); default : break; } @@ -1241,7 +1245,7 @@ private int jjMoveStringLiteralDfa22_0(long old2, long active2){ switch(curChar) { case 'a': - return jjMoveStringLiteralDfa23_0(active2, 0x4000L); + return jjMoveStringLiteralDfa23_0(active2, 0x8000L); default : break; } @@ -1258,7 +1262,7 @@ private int jjMoveStringLiteralDfa23_0(long old2, long active2){ switch(curChar) { case 's': - return jjMoveStringLiteralDfa24_0(active2, 0x4000L); + return jjMoveStringLiteralDfa24_0(active2, 0x8000L); default : break; } @@ -1275,7 +1279,7 @@ private int jjMoveStringLiteralDfa24_0(long old2, long active2){ switch(curChar) { case 's': - return jjMoveStringLiteralDfa25_0(active2, 0x4000L); + return jjMoveStringLiteralDfa25_0(active2, 0x8000L); default : break; } @@ -1292,7 +1296,7 @@ private int jjMoveStringLiteralDfa25_0(long old2, long active2){ switch(curChar) { case 'i': - return jjMoveStringLiteralDfa26_0(active2, 0x4000L); + return jjMoveStringLiteralDfa26_0(active2, 0x8000L); default : break; } @@ -1309,7 +1313,7 @@ private int jjMoveStringLiteralDfa26_0(long old2, long active2){ switch(curChar) { case 'g': - return jjMoveStringLiteralDfa27_0(active2, 0x4000L); + return jjMoveStringLiteralDfa27_0(active2, 0x8000L); default : break; } @@ -1326,8 +1330,8 @@ private int jjMoveStringLiteralDfa27_0(long old2, long active2){ switch(curChar) { case 'n': - if ((active2 & 0x4000L) != 0x0L) - return jjStopAtPos(27, 142); + if ((active2 & 0x8000L) != 0x0L) + return jjStopAtPos(27, 143); break; default : break; @@ -1421,8 +1425,8 @@ else if (curChar == 47) { jjAddStates(13, 14); } else if (curChar == 36) { - if (kind > 72) - kind = 72; + if (kind > 73) + kind = 73; { jjCheckNAdd(42); } } else if (curChar == 34) @@ -1437,14 +1441,14 @@ else if (curChar == 60) { jjCheckNAddStates(0, 3); } if ((0x3fe000000000000L & l) != 0x0L) { - if (kind > 61) - kind = 61; + if (kind > 62) + kind = 62; { jjCheckNAddTwoStates(15, 16); } } else if (curChar == 48) { - if (kind > 61) - kind = 61; + if (kind > 62) + kind = 62; { jjCheckNAddStates(18, 21); } } else if (curChar == 34) @@ -1511,15 +1515,15 @@ else if (curChar == 34) case 14: if ((0x3fe000000000000L & l) == 0x0L) break; - if (kind > 61) - kind = 61; + if (kind > 62) + kind = 62; { jjCheckNAddTwoStates(15, 16); } break; case 15: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 61) - kind = 61; + if (kind > 62) + kind = 62; { jjCheckNAddTwoStates(15, 16); } break; case 17: @@ -1529,8 +1533,8 @@ else if (curChar == 34) case 18: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 66) - kind = 66; + if (kind > 67) + kind = 67; { jjCheckNAddStates(28, 30); } break; case 20: @@ -1540,8 +1544,8 @@ else if (curChar == 34) case 21: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 66) - kind = 66; + if (kind > 67) + kind = 67; { jjCheckNAddTwoStates(21, 22); } break; case 23: @@ -1556,8 +1560,8 @@ else if (curChar == 34) { jjCheckNAddStates(15, 17); } break; case 27: - if (curChar == 39 && kind > 69) - kind = 69; + if (curChar == 39 && kind > 70) + kind = 70; break; case 28: if (curChar == 34) @@ -1571,8 +1575,8 @@ else if (curChar == 34) { jjCheckNAddStates(22, 24); } break; case 32: - if (curChar == 34 && kind > 70) - kind = 70; + if (curChar == 34 && kind > 71) + kind = 71; break; case 33: case 35: @@ -1584,8 +1588,8 @@ else if (curChar == 34) { jjCheckNAddStates(31, 33); } break; case 36: - if (curChar == 34 && kind > 71) - kind = 71; + if (curChar == 34 && kind > 72) + kind = 72; break; case 37: if (curChar == 34) @@ -1606,15 +1610,15 @@ else if (curChar == 34) case 41: if (curChar != 36) break; - if (kind > 72) - kind = 72; + if (kind > 73) + kind = 73; { jjCheckNAdd(42); } break; case 42: if ((0x3ff001000000000L & l) == 0x0L) break; - if (kind > 72) - kind = 72; + if (kind > 73) + kind = 73; { jjCheckNAdd(42); } break; case 43: @@ -1628,15 +1632,15 @@ else if (curChar == 34) case 45: if (curChar != 46) break; - if (kind > 66) - kind = 66; + if (kind > 67) + kind = 67; { jjCheckNAddStates(34, 36); } break; case 46: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 66) - kind = 66; + if (kind > 67) + kind = 67; { jjCheckNAddStates(34, 36); } break; case 48: @@ -1646,8 +1650,8 @@ else if (curChar == 34) case 49: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 66) - kind = 66; + if (kind > 67) + kind = 67; { jjCheckNAddTwoStates(49, 22); } break; case 50: @@ -1661,8 +1665,8 @@ else if (curChar == 34) case 53: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 66) - kind = 66; + if (kind > 67) + kind = 67; { jjCheckNAddTwoStates(53, 22); } break; case 54: @@ -1672,36 +1676,36 @@ else if (curChar == 34) case 56: if (curChar != 48) break; - if (kind > 61) - kind = 61; + if (kind > 62) + kind = 62; { jjCheckNAddStates(18, 21); } break; case 58: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 61) - kind = 61; + if (kind > 62) + kind = 62; { jjCheckNAddTwoStates(58, 16); } break; case 60: if ((0x3000000000000L & l) == 0x0L) break; - if (kind > 61) - kind = 61; + if (kind > 62) + kind = 62; { jjCheckNAddStates(37, 39); } break; case 61: if ((0x3000000000000L & l) == 0x0L) break; - if (kind > 61) - kind = 61; + if (kind > 62) + kind = 62; { jjCheckNAdd(16); } break; case 62: if ((0xff000000000000L & l) == 0x0L) break; - if (kind > 61) - kind = 61; + if (kind > 62) + kind = 62; { jjCheckNAddTwoStates(62, 16); } break; case 63: @@ -1771,8 +1775,8 @@ else if (curChar < 128) case 42: if ((0x7fffffe87fffffeL & l) == 0x0L) break; - if (kind > 72) - kind = 72; + if (kind > 73) + kind = 73; { jjCheckNAdd(42); } break; case 9: @@ -1781,21 +1785,21 @@ else if (curChar < 128) case 15: if (curChar != 95) break; - if (kind > 61) - kind = 61; + if (kind > 62) + kind = 62; { jjCheckNAddTwoStates(15, 16); } break; case 16: - if ((0x88920000889200L & l) != 0x0L && kind > 61) - kind = 61; + if ((0x88920000889200L & l) != 0x0L && kind > 62) + kind = 62; break; case 19: if ((0x2000000020L & l) != 0x0L) { jjAddStates(43, 44); } break; case 22: - if ((0x80005000800050L & l) != 0x0L && kind > 66) - kind = 66; + if ((0x80005000800050L & l) != 0x0L && kind > 67) + kind = 67; break; case 24: if ((0xffffffffefffffffL & l) != 0x0L) @@ -1831,8 +1835,8 @@ else if (curChar < 128) { jjAddStates(47, 48); } break; case 55: - if ((0x5000000050L & l) != 0x0L && kind > 66) - kind = 66; + if ((0x5000000050L & l) != 0x0L && kind > 67) + kind = 67; break; case 57: if ((0x100000001000000L & l) != 0x0L) @@ -1841,22 +1845,22 @@ else if (curChar < 128) case 58: if ((0x7e8000007eL & l) == 0x0L) break; - if (kind > 61) - kind = 61; + if (kind > 62) + kind = 62; { jjCheckNAddTwoStates(58, 16); } break; case 59: if ((0x400000004L & l) == 0x0L) break; - if (kind > 61) - kind = 61; + if (kind > 62) + kind = 62; { jjCheckNAddStates(37, 39); } break; case 60: if (curChar != 95) break; - if (kind > 61) - kind = 61; + if (kind > 62) + kind = 62; { jjCheckNAddStates(37, 39); } break; case 65: @@ -1900,8 +1904,8 @@ else if (curChar < 128) } if (jjCanMove_2(hiByte, i1, i2, l1, l2)) { - if (kind > 72) - kind = 72; + if (kind > 73) + kind = 73; { jjCheckNAdd(42); } } break; @@ -1934,8 +1938,8 @@ else if (curChar < 128) case 42: if (!jjCanMove_2(hiByte, i1, i2, l1, l2)) break; - if (kind > 72) - kind = 72; + if (kind > 73) + kind = 73; { jjCheckNAdd(42); } break; case 65: @@ -1984,7 +1988,7 @@ else if (curChar < 128) "\144\157\165\142\154\145", "\145\154\163\145", "\145\156\165\155", "\145\170\164\145\156\144\163", "\146\141\154\163\145", "\146\151\156\141\154", "\146\151\156\141\154\154\171", "\146\154\157\141\164", "\146\157\162", "\147\157\164\157", "\151\146", "\151\155\160\154\145\155\145\156\164\163", -"\151\155\160\157\162\164", "\151\156\163\164\141\156\143\145\157\146", "\151\156\164", +"\151\155\160\157\162\164", "\151\156\163\164\141\156\143\145\157\146", "\151\163", "\151\156\164", "\151\156\164\145\162\146\141\143\145", "\154\157\156\147", "\156\141\164\151\166\145", "\156\145\167", "\156\165\154\154", "\160\141\143\153\141\147\145", "\160\162\151\166\141\164\145", "\160\162\157\164\145\143\164\145\144", "\160\165\142\154\151\143", "\162\145\164\165\162\156", "\163\150\157\162\164", @@ -2282,10 +2286,10 @@ public void SwitchTo(int lexState) -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, -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 = { - 0x3ffffffffffff801L, 0xfffffffffffff9e4L, 0x3ffffffL, + 0x7ffffffffffff801L, 0xfffffffffffff3c8L, 0x7ffffffL, }; static final long[] jjtoSkip = { 0x7feL, 0x0L, 0x0L, diff --git a/bsh-lambda-300-eee36c8/src/main/jjtree/bsh.jjt b/bsh-lambda-300-eee36c8/src/main/jjtree/bsh.jjt index 24e5b9e..23b758f 100644 --- a/bsh-lambda-300-eee36c8/src/main/jjtree/bsh.jjt +++ b/bsh-lambda-300-eee36c8/src/main/jjtree/bsh.jjt @@ -444,6 +444,7 @@ TOKEN : /* RESERVED WORDS AND LITERALS */ | < IMPLEMENTS: "implements" > | < IMPORT: "import" > | < INSTANCEOF: "instanceof" > +| < IS: "is" > | < INT: "int" > | < INTERFACE: "interface" > | < LONG: "long" > @@ -984,10 +985,11 @@ void EqualityExpression() : } void InstanceOfExpression() : -{ Token t = null; } +{} { RelationalExpression() - [t = Type() { jjtThis.kind = t.kind; } #BinaryExpression(2) ] + [( | ) Type() + { jjtThis.kind = INSTANCEOF; } #BinaryExpression(2) ] } void RelationalExpression() : From 417f7e5d65a1473ff4dd6da4051c63f0d819820b Mon Sep 17 00:00:00 2001 From: hd Date: Thu, 23 Apr 2026 13:07:05 +0800 Subject: [PATCH 5/7] feat: support kotlin-style as cast operator --- README.md | 7 +- .../main/java/bsh/BSHBinaryExpression.java | 14 +- .../src/main/java/bsh/Parser.java | 1485 +++++++++-------- .../src/main/java/bsh/ParserConstants.java | 233 +-- .../src/main/java/bsh/ParserTokenManager.java | 908 +++++----- .../src/main/jjtree/bsh.jjt | 12 +- 6 files changed, 1369 insertions(+), 1290 deletions(-) diff --git a/README.md b/README.md index c899fcf..968425d 100644 --- a/README.md +++ b/README.md @@ -117,9 +117,12 @@ hi("user") // name: user, age: 18 hi("user", 1) // name: user, age: 1 // 类型判断 -print("abc" is String) // true print(123 is Number) // true -print(null is Object) // false +// 等价: print(123 instanceof Number) // true + +// 类型转换 +print("1" as int) // 1 +// 等价: print((int) "1") // 1 ``` ## 致谢 diff --git a/bsh-lambda-300-eee36c8/src/main/java/bsh/BSHBinaryExpression.java b/bsh-lambda-300-eee36c8/src/main/java/bsh/BSHBinaryExpression.java index 0b9ffcb..5298905 100644 --- a/bsh-lambda-300-eee36c8/src/main/java/bsh/BSHBinaryExpression.java +++ b/bsh-lambda-300-eee36c8/src/main/java/bsh/BSHBinaryExpression.java @@ -45,7 +45,7 @@ public Object eval( CallStack callstack, Interpreter interpreter) /* Doing instanceof? Next node is a type. */ - if (kind == INSTANCEOF) + if ( (kind == INSTANCEOF || kind == IS) ) { // null object ref is not instance of any type if ( lhs == Primitive.NULL ) @@ -72,6 +72,18 @@ public Object eval( CallStack callstack, Interpreter interpreter) ? Primitive.TRUE : Primitive.FALSE; } + if (kind == AS) + { + Class rhs = ((BSHType)jjtGetChild(1)).getType( + callstack, interpreter ); + + try { + return Types.castObject( lhs, rhs, Types.CAST ); + } catch ( UtilEvalError e ) { + throw e.toEvalError( this, callstack ); + } + } + /* Look ahead and short circuit evaluation of the rhs if: we're a boolean AND and the lhs is false. diff --git a/bsh-lambda-300-eee36c8/src/main/java/bsh/Parser.java b/bsh-lambda-300-eee36c8/src/main/java/bsh/Parser.java index d765b35..d3f9ef2 100644 --- a/bsh-lambda-300-eee36c8/src/main/java/bsh/Parser.java +++ b/bsh-lambda-300-eee36c8/src/main/java/bsh/Parser.java @@ -2049,49 +2049,84 @@ final public void ConditionalExpression() throws ParseException { } } - final public void InstanceOfExpression() throws ParseException { + final public void InstanceOfExpression() throws ParseException {Token t = null; RelationalExpression(); switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { case INSTANCEOF: - case IS:{ + case IS: + case AS:{ switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { - case INSTANCEOF:{ - jj_consume_token(INSTANCEOF); - break; - } + case INSTANCEOF: case IS:{ - jj_consume_token(IS); - break; + switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { + case INSTANCEOF:{ + t = jj_consume_token(INSTANCEOF); + break; + } + case IS:{ + t = jj_consume_token(IS); + break; + } + default: + jj_la1[51] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); } - default: - jj_la1[51] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - Type(); + Type(); BSHBinaryExpression jjtn001 = new BSHBinaryExpression(JJTBINARYEXPRESSION); - boolean jjtc001 = true; - jjtree.openNodeScope(jjtn001); - jjtreeOpenNodeScope(jjtn001); - try { + boolean jjtc001 = true; + jjtree.openNodeScope(jjtn001); + jjtreeOpenNodeScope(jjtn001); + try { jjtree.closeNodeScope(jjtn001, 2); - jjtc001 = false; - if (jjtree.nodeCreated()) { - jjtreeCloseNodeScope(jjtn001); - } -jjtn001.kind = INSTANCEOF; - } finally { -if (jjtc001) { - jjtree.closeNodeScope(jjtn001, 2); + jjtc001 = false; if (jjtree.nodeCreated()) { jjtreeCloseNodeScope(jjtn001); } - } +jjtn001.kind = t.kind; + } finally { +if (jjtc001) { + jjtree.closeNodeScope(jjtn001, 2); + if (jjtree.nodeCreated()) { + jjtreeCloseNodeScope(jjtn001); + } + } + } + break; + } + case AS:{ + t = jj_consume_token(AS); + Type(); +BSHBinaryExpression jjtn002 = new BSHBinaryExpression(JJTBINARYEXPRESSION); + boolean jjtc002 = true; + jjtree.openNodeScope(jjtn002); + jjtreeOpenNodeScope(jjtn002); + try { +jjtree.closeNodeScope(jjtn002, 2); + jjtc002 = false; + if (jjtree.nodeCreated()) { + jjtreeCloseNodeScope(jjtn002); + } +jjtn002.kind = t.kind; + } finally { +if (jjtc002) { + jjtree.closeNodeScope(jjtn002, 2); + if (jjtree.nodeCreated()) { + jjtreeCloseNodeScope(jjtn002); + } + } + } + break; + } + default: + jj_la1[52] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); } break; } default: - jj_la1[52] = jj_gen; + jj_la1[53] = jj_gen; ; } } @@ -2112,7 +2147,7 @@ final public void InstanceOfExpression() throws ParseException { break; } default: - jj_la1[53] = jj_gen; + jj_la1[54] = jj_gen; break label_18; } switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { @@ -2149,7 +2184,7 @@ final public void InstanceOfExpression() throws ParseException { break; } default: - jj_la1[54] = jj_gen; + jj_la1[55] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2190,7 +2225,7 @@ final public void InstanceOfExpression() throws ParseException { break; } default: - jj_la1[55] = jj_gen; + jj_la1[56] = jj_gen; break label_19; } switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { @@ -2219,7 +2254,7 @@ final public void InstanceOfExpression() throws ParseException { break; } default: - jj_la1[56] = jj_gen; + jj_la1[57] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2256,7 +2291,7 @@ final public void InstanceOfExpression() throws ParseException { break; } default: - jj_la1[57] = jj_gen; + jj_la1[58] = jj_gen; break label_20; } switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { @@ -2269,7 +2304,7 @@ final public void InstanceOfExpression() throws ParseException { break; } default: - jj_la1[58] = jj_gen; + jj_la1[59] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2308,7 +2343,7 @@ final public void InstanceOfExpression() throws ParseException { break; } default: - jj_la1[59] = jj_gen; + jj_la1[60] = jj_gen; break label_21; } switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { @@ -2329,7 +2364,7 @@ final public void InstanceOfExpression() throws ParseException { break; } default: - jj_la1[60] = jj_gen; + jj_la1[61] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2366,7 +2401,7 @@ final public void InstanceOfExpression() throws ParseException { break; } default: - jj_la1[61] = jj_gen; + jj_la1[62] = jj_gen; break label_22; } switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { @@ -2379,7 +2414,7 @@ final public void InstanceOfExpression() throws ParseException { break; } default: - jj_la1[62] = jj_gen; + jj_la1[63] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2430,7 +2465,7 @@ final public void InstanceOfExpression() throws ParseException { break; } default: - jj_la1[63] = jj_gen; + jj_la1[64] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2468,7 +2503,7 @@ final public void InstanceOfExpression() throws ParseException { break; } default: - jj_la1[64] = jj_gen; + jj_la1[65] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2495,7 +2530,7 @@ final public void InstanceOfExpression() throws ParseException { break; } default: - jj_la1[67] = jj_gen; + jj_la1[68] = jj_gen; if (jj_2_10(2147483647)) { LambdaExpression(); } else if (jj_2_11(2147483647)) { @@ -2538,7 +2573,7 @@ final public void InstanceOfExpression() throws ParseException { break; } default: - jj_la1[65] = jj_gen; + jj_la1[66] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2564,13 +2599,13 @@ final public void InstanceOfExpression() throws ParseException { break; } default: - jj_la1[66] = jj_gen; + jj_la1[67] = jj_gen; ; } break; } default: - jj_la1[68] = jj_gen; + jj_la1[69] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2699,7 +2734,7 @@ final public void LambdaExpression() throws ParseException {/*@bgen(jjtree) Lamb break; } default: - jj_la1[69] = jj_gen; + jj_la1[70] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2741,7 +2776,7 @@ final public void LambdaExpression() throws ParseException {/*@bgen(jjtree) Lamb break; } default: - jj_la1[70] = jj_gen; + jj_la1[71] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2802,7 +2837,7 @@ final public void PrimaryPrefix() throws ParseException { break; } default: - jj_la1[71] = jj_gen; + jj_la1[72] = jj_gen; if (jj_2_13(2147483647)) { MethodInvocation(); } else if (jj_2_14(2147483647)) { @@ -2814,7 +2849,7 @@ final public void PrimaryPrefix() throws ParseException { break; } default: - jj_la1[72] = jj_gen; + jj_la1[73] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2875,7 +2910,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[73] = jj_gen; + jj_la1[74] = jj_gen; ; } switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { @@ -2917,7 +2952,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[74] = jj_gen; + jj_la1[75] = jj_gen; ; } jjtn000.slice = true; jjtn000.step = true; @@ -2960,7 +2995,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[75] = jj_gen; + jj_la1[76] = jj_gen; ; } switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { @@ -3000,26 +3035,26 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[76] = jj_gen; + jj_la1[77] = jj_gen; ; } break; } default: - jj_la1[77] = jj_gen; + jj_la1[78] = jj_gen; ; } break; } default: - jj_la1[78] = jj_gen; + jj_la1[79] = jj_gen; jj_consume_token(-1); throw new ParseException(); } break; } default: - jj_la1[79] = jj_gen; + jj_la1[80] = jj_gen; ; } jj_consume_token(RBRACKET); @@ -3032,7 +3067,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[83] = jj_gen; + jj_la1[84] = jj_gen; if (getToken(1).kind == COLON_COLON && (getToken(2).kind == IDENTIFIER || getToken(2).kind == NEW ) && getToken(3).kind != RBRACKET) { jj_consume_token(COLON_COLON); switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { @@ -3045,7 +3080,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[80] = jj_gen; + jj_la1[81] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3057,7 +3092,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary jjtn000.operation = BSHPrimarySuffix.METHODREF; jjtn000.field = t.image; } else if (jj_2_16(2)) { - jj_consume_token(153); + jj_consume_token(154); t = jj_consume_token(IDENTIFIER); switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { case LPAREN:{ @@ -3065,7 +3100,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[81] = jj_gen; + jj_la1[82] = jj_gen; ; } jjtree.closeNodeScope(jjtn000, true); @@ -3085,7 +3120,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[82] = jj_gen; + jj_la1[83] = jj_gen; ; } jjtree.closeNodeScope(jjtn000, true); @@ -3110,7 +3145,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[84] = jj_gen; + jj_la1[85] = jj_gen; if (jj_2_18(2)) { jj_consume_token(DOT); AllocationExpression(); @@ -3279,7 +3314,7 @@ final public void Literal() throws ParseException {/*@bgen(jjtree) Literal */ break; } default: - jj_la1[85] = jj_gen; + jj_la1[86] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3320,7 +3355,7 @@ final public boolean BooleanLiteral() throws ParseException { break; } default: - jj_la1[86] = jj_gen; + jj_la1[87] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3375,7 +3410,7 @@ final public void Arguments() throws ParseException {/*@bgen(jjtree) Arguments * break; } default: - jj_la1[87] = jj_gen; + jj_la1[88] = jj_gen; ; } jj_consume_token(RPAREN); @@ -3413,7 +3448,7 @@ final public void ArgumentList() throws ParseException { break; } default: - jj_la1[88] = jj_gen; + jj_la1[89] = jj_gen; break label_24; } jj_consume_token(COMMA); @@ -3461,7 +3496,7 @@ final public void AllocationExpression() throws ParseException {/*@bgen(jjtree) break; } default: - jj_la1[89] = jj_gen; + jj_la1[90] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3473,7 +3508,7 @@ final public void AllocationExpression() throws ParseException {/*@bgen(jjtree) break; } default: - jj_la1[90] = jj_gen; + jj_la1[91] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3485,7 +3520,7 @@ final public void AllocationExpression() throws ParseException {/*@bgen(jjtree) break; } default: - jj_la1[91] = jj_gen; + jj_la1[92] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3554,7 +3589,7 @@ final public void ArrayDimensions() throws ParseException {/*@bgen(jjtree) Array break; } default: - jj_la1[92] = jj_gen; + jj_la1[93] = jj_gen; break label_27; } } @@ -3572,7 +3607,7 @@ final public void ArrayDimensions() throws ParseException {/*@bgen(jjtree) Array break; } default: - jj_la1[93] = jj_gen; + jj_la1[94] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3665,7 +3700,7 @@ void Statement() throws ParseException { break; } default: - jj_la1[94] = jj_gen; + jj_la1[95] = jj_gen; if (isRegularForStatement()) { ForStatement(); } else { @@ -3699,7 +3734,7 @@ void Statement() throws ParseException { break; } default: - jj_la1[95] = jj_gen; + jj_la1[96] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3759,7 +3794,7 @@ final public void Block() throws ParseException {/*@bgen(jjtree) Block */ break; } default: - jj_la1[96] = jj_gen; + jj_la1[97] = jj_gen; ; } jj_consume_token(LBRACE); @@ -3825,7 +3860,7 @@ final public void BlockStatement() throws ParseException { break; } default: - jj_la1[97] = jj_gen; + jj_la1[98] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3843,7 +3878,7 @@ final public void MethodDeclTerminator() throws ParseException { break; } default: - jj_la1[98] = jj_gen; + jj_la1[99] = jj_gen; if (isImplicitMethodTerminator()) { } else { @@ -3860,7 +3895,7 @@ final public void StatementTerminator() throws ParseException { break; } default: - jj_la1[99] = jj_gen; + jj_la1[100] = jj_gen; ; } } @@ -3884,11 +3919,11 @@ final public void SwitchStatement() throws ParseException {/*@bgen(jjtree) Switc while (true) { switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { case CASE: - case 154:{ + case 155:{ break; } default: - jj_la1[100] = jj_gen; + jj_la1[101] = jj_gen; break label_29; } SwitchLabel(); @@ -3939,8 +3974,8 @@ final public void SwitchLabel() throws ParseException {/*@bgen(jjtree) SwitchLab jj_consume_token(COLON); break; } - case 154:{ - jj_consume_token(154); + case 155:{ + jj_consume_token(155); jjtree.closeNodeScope(jjtn000, true); jjtc000 = false; if (jjtree.nodeCreated()) { @@ -3950,7 +3985,7 @@ final public void SwitchLabel() throws ParseException {/*@bgen(jjtree) SwitchLab break; } default: - jj_la1[101] = jj_gen; + jj_la1[102] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3995,7 +4030,7 @@ final public void IfStatement() throws ParseException {/*@bgen(jjtree) IfStateme break; } default: - jj_la1[102] = jj_gen; + jj_la1[103] = jj_gen; if (jj_2_32(1)) { Statement(); } else { @@ -4010,7 +4045,7 @@ final public void IfStatement() throws ParseException {/*@bgen(jjtree) IfStateme break; } default: - jj_la1[103] = jj_gen; + jj_la1[104] = jj_gen; ; } } catch (Throwable jjte000) { @@ -4173,7 +4208,7 @@ final public void ForStatement() throws ParseException {/*@bgen(jjtree) ForState break; } default: - jj_la1[104] = jj_gen; + jj_la1[105] = jj_gen; ; } jj_consume_token(SEMICOLON); @@ -4211,7 +4246,7 @@ final public void ForStatement() throws ParseException {/*@bgen(jjtree) ForState break; } default: - jj_la1[105] = jj_gen; + jj_la1[106] = jj_gen; ; } jj_consume_token(SEMICOLON); @@ -4249,7 +4284,7 @@ final public void ForStatement() throws ParseException {/*@bgen(jjtree) ForState break; } default: - jj_la1[106] = jj_gen; + jj_la1[107] = jj_gen; ; } jj_consume_token(RPAREN); @@ -4313,7 +4348,7 @@ final public void EnhancedForStatement() throws ParseException {/*@bgen(jjtree) break; } default: - jj_la1[107] = jj_gen; + jj_la1[108] = jj_gen; ; } Type(); @@ -4331,7 +4366,7 @@ final public void EnhancedForStatement() throws ParseException {/*@bgen(jjtree) break; } default: - jj_la1[108] = jj_gen; + jj_la1[109] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4397,7 +4432,7 @@ final public void EnhancedForStatement() throws ParseException {/*@bgen(jjtree) break; } default: - jj_la1[109] = jj_gen; + jj_la1[110] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4426,7 +4461,7 @@ final public void TypedVariableDeclaration() throws ParseException {/*@bgen(jjtr break; } default: - jj_la1[110] = jj_gen; + jj_la1[111] = jj_gen; break label_31; } jj_consume_token(COMMA); @@ -4476,7 +4511,7 @@ final public void StatementExpressionList() throws ParseException {/*@bgen(jjtre break; } default: - jj_la1[111] = jj_gen; + jj_la1[112] = jj_gen; break label_32; } jj_consume_token(COMMA); @@ -4728,7 +4763,7 @@ final public void TryStatement() throws ParseException {/*@bgen(jjtree) TryState break; } default: - jj_la1[112] = jj_gen; + jj_la1[113] = jj_gen; ; } Block(); @@ -4739,7 +4774,7 @@ final public void TryStatement() throws ParseException {/*@bgen(jjtree) TryState break; } default: - jj_la1[113] = jj_gen; + jj_la1[114] = jj_gen; break label_33; } jj_consume_token(CATCH); @@ -4757,7 +4792,7 @@ final public void TryStatement() throws ParseException {/*@bgen(jjtree) TryState break; } default: - jj_la1[114] = jj_gen; + jj_la1[115] = jj_gen; ; } jjtree.closeNodeScope(jjtn000, true); @@ -4804,7 +4839,7 @@ final public void MultiCatch() throws ParseException {/*@bgen(jjtree) MultiCatch break; } default: - jj_la1[115] = jj_gen; + jj_la1[116] = jj_gen; ; } Type(); @@ -4815,7 +4850,7 @@ final public void MultiCatch() throws ParseException {/*@bgen(jjtree) MultiCatch break; } default: - jj_la1[116] = jj_gen; + jj_la1[117] = jj_gen; break label_34; } jj_consume_token(BIT_OR); @@ -4841,7 +4876,7 @@ final public void MultiCatch() throws ParseException {/*@bgen(jjtree) MultiCatch break; } default: - jj_la1[117] = jj_gen; + jj_la1[118] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4885,7 +4920,7 @@ final public void TryWithResources() throws ParseException {/*@bgen(jjtree) TryW break; } default: - jj_la1[118] = jj_gen; + jj_la1[119] = jj_gen; break label_35; } jj_consume_token(SEMICOLON); @@ -4932,7 +4967,7 @@ final public void AutoCloseable() throws ParseException {/*@bgen(jjtree) AutoClo break; } default: - jj_la1[119] = jj_gen; + jj_la1[120] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -5341,15 +5376,38 @@ private boolean jj_2_38(int xla) finally { jj_save(37, xla); } } - private boolean jj_3R_169() + private boolean jj_3R_262() + { + if (jj_3R_263()) return true; + return false; + } + + private boolean jj_3R_168() + { + if (jj_3R_170()) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_171()) { jj_scanpos = xsp; break; } + } + return false; + } + + private boolean jj_3R_255() + { + if (jj_scan_token(FINAL)) return true; + return false; + } + + private boolean jj_3R_171() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(104)) { + if (jj_scan_token(105)) { jj_scanpos = xsp; - if (jj_scan_token(105)) return true; + if (jj_scan_token(106)) return true; } - if (jj_3R_168()) return true; + if (jj_3R_170()) return true; return false; } @@ -5361,32 +5419,32 @@ private boolean jj_3_34() return false; } - private boolean jj_3R_168() + private boolean jj_3R_170() { - if (jj_3R_170()) return true; + if (jj_3R_172()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_171()) { jj_scanpos = xsp; break; } + if (jj_3R_173()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_171() + private boolean jj_3R_173() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(106)) { - jj_scanpos = xsp; if (jj_scan_token(107)) { jj_scanpos = xsp; - if (jj_scan_token(114)) { + if (jj_scan_token(108)) { + jj_scanpos = xsp; + if (jj_scan_token(115)) { jj_scanpos = xsp; - if (jj_scan_token(115)) return true; + if (jj_scan_token(116)) return true; } } } - if (jj_3R_170()) return true; + if (jj_3R_172()) return true; return false; } @@ -5398,18 +5456,18 @@ private boolean jj_3R_97() Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_228()) { jj_scanpos = xsp; break; } + if (jj_3R_230()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_170() + private boolean jj_3R_172() { - if (jj_3R_172()) return true; + if (jj_3R_174()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_173()) { jj_scanpos = xsp; break; } + if (jj_3R_175()) { jj_scanpos = xsp; break; } } return false; } @@ -5420,42 +5478,42 @@ private boolean jj_3_32() return false; } - private boolean jj_3R_173() + private boolean jj_3R_175() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(116)) { + if (jj_scan_token(117)) { jj_scanpos = xsp; - if (jj_scan_token(117)) return true; + if (jj_scan_token(118)) return true; } - if (jj_3R_172()) return true; + if (jj_3R_174()) return true; return false; } - private boolean jj_3R_261() + private boolean jj_3R_263() { if (jj_3R_107()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_265()) { jj_scanpos = xsp; break; } + if (jj_3R_267()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_172() + private boolean jj_3R_174() { Token xsp; xsp = jj_scanpos; - if (jj_3R_174()) { - jj_scanpos = xsp; - if (jj_3R_175()) { - jj_scanpos = xsp; if (jj_3R_176()) { jj_scanpos = xsp; if (jj_3R_177()) { jj_scanpos = xsp; - if (jj_3R_178()) return true; + if (jj_3R_178()) { + jj_scanpos = xsp; + if (jj_3R_179()) { + jj_scanpos = xsp; + if (jj_3R_180()) return true; } } } @@ -5463,39 +5521,39 @@ private boolean jj_3R_172() return false; } - private boolean jj_3R_174() + private boolean jj_3R_176() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(104)) { - jj_scanpos = xsp; if (jj_scan_token(105)) { jj_scanpos = xsp; - if (jj_scan_token(91)) { + if (jj_scan_token(106)) { + jj_scanpos = xsp; + if (jj_scan_token(92)) { jj_scanpos = xsp; - if (jj_scan_token(90)) return true; + if (jj_scan_token(91)) return true; } } } - if (jj_3R_172()) return true; + if (jj_3R_174()) return true; return false; } - private boolean jj_3R_252() + private boolean jj_3R_254() { - if (jj_3R_261()) return true; + if (jj_3R_263()) return true; return false; } - private boolean jj_3R_175() + private boolean jj_3R_177() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(102)) { + if (jj_scan_token(103)) { jj_scanpos = xsp; - if (jj_scan_token(103)) return true; + if (jj_scan_token(104)) return true; } - if (jj_3R_181()) return true; + if (jj_3R_183()) return true; return false; } @@ -5511,13 +5569,13 @@ private boolean jj_3R_114() return false; } - private boolean jj_3R_176() + private boolean jj_3R_178() { - if (jj_3R_179()) return true; + if (jj_3R_181()) return true; return false; } - private boolean jj_3R_243() + private boolean jj_3R_245() { if (jj_scan_token(ELSE)) return true; if (jj_3R_57()) return true; @@ -5531,9 +5589,9 @@ private boolean jj_3_35() return false; } - private boolean jj_3R_177() + private boolean jj_3R_179() { - if (jj_3R_180()) return true; + if (jj_3R_182()) return true; return false; } @@ -5543,12 +5601,12 @@ private boolean jj_3R_152() return false; } - private boolean jj_3R_178() + private boolean jj_3R_180() { - if (jj_3R_181()) return true; + if (jj_3R_183()) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_182()) jj_scanpos = xsp; + if (jj_3R_184()) jj_scanpos = xsp; return false; } @@ -5558,13 +5616,13 @@ private boolean jj_3_10() xsp = jj_scanpos; if (jj_3R_46()) { jj_scanpos = xsp; - if (jj_scan_token(73)) return true; + if (jj_scan_token(74)) return true; } if (jj_scan_token(ARROW)) return true; return false; } - private boolean jj_3R_228() + private boolean jj_3R_230() { if (jj_scan_token(COMMA)) return true; if (jj_3R_60()) return true; @@ -5583,7 +5641,7 @@ private boolean jj_3R_115() return false; } - private boolean jj_3R_265() + private boolean jj_3R_267() { if (jj_scan_token(COMMA)) return true; if (jj_3R_107()) return true; @@ -5596,12 +5654,12 @@ private boolean jj_3R_46() return false; } - private boolean jj_3R_180() + private boolean jj_3R_182() { if (jj_scan_token(LPAREN)) return true; if (jj_3R_44()) return true; if (jj_scan_token(RPAREN)) return true; - if (jj_3R_172()) return true; + if (jj_3R_174()) return true; return false; } @@ -5626,9 +5684,9 @@ private boolean jj_3R_153() return false; } - private boolean jj_3R_181() + private boolean jj_3R_183() { - if (jj_3R_184()) return true; + if (jj_3R_186()) return true; Token xsp; while (true) { xsp = jj_scanpos; @@ -5647,37 +5705,37 @@ private boolean jj_3R_116() return false; } - private boolean jj_3R_194() + private boolean jj_3R_196() { if (jj_3R_38()) return true; - if (jj_3R_203()) return true; + if (jj_3R_205()) return true; return false; } - private boolean jj_3R_182() + private boolean jj_3R_184() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(102)) { + if (jj_scan_token(103)) { jj_scanpos = xsp; - if (jj_scan_token(103)) return true; + if (jj_scan_token(104)) return true; } return false; } - private boolean jj_3R_179() + private boolean jj_3R_181() { Token xsp; xsp = jj_scanpos; - if (jj_3R_183()) { + if (jj_3R_185()) { jj_scanpos = xsp; - if (jj_scan_token(73)) return true; + if (jj_scan_token(74)) return true; } if (jj_scan_token(ARROW)) return true; xsp = jj_scanpos; - if (jj_3R_185()) { + if (jj_3R_187()) { jj_scanpos = xsp; - if (jj_3R_186()) return true; + if (jj_3R_188()) return true; } return false; } @@ -5692,7 +5750,7 @@ private boolean jj_3R_117() return false; } - private boolean jj_3R_183() + private boolean jj_3R_185() { if (jj_3R_55()) return true; return false; @@ -5704,7 +5762,7 @@ private boolean jj_3R_154() return false; } - private boolean jj_3R_185() + private boolean jj_3R_187() { if (jj_3R_50()) return true; return false; @@ -5724,21 +5782,21 @@ private boolean jj_3R_118() return false; } - private boolean jj_3R_184() + private boolean jj_3R_186() { Token xsp; xsp = jj_scanpos; - if (jj_3R_187()) { - jj_scanpos = xsp; - if (jj_3R_188()) { - jj_scanpos = xsp; if (jj_3R_189()) { jj_scanpos = xsp; if (jj_3R_190()) { jj_scanpos = xsp; if (jj_3R_191()) { jj_scanpos = xsp; - if (jj_3R_192()) return true; + if (jj_3R_192()) { + jj_scanpos = xsp; + if (jj_3R_193()) { + jj_scanpos = xsp; + if (jj_3R_194()) return true; } } } @@ -5747,13 +5805,13 @@ private boolean jj_3R_184() return false; } - private boolean jj_3R_187() + private boolean jj_3R_189() { - if (jj_3R_193()) return true; + if (jj_3R_195()) return true; return false; } - private boolean jj_3R_188() + private boolean jj_3R_190() { if (jj_scan_token(LPAREN)) return true; if (jj_3R_51()) return true; @@ -5761,25 +5819,25 @@ private boolean jj_3R_188() return false; } - private boolean jj_3R_189() + private boolean jj_3R_191() { if (jj_3R_49()) return true; return false; } - private boolean jj_3R_186() + private boolean jj_3R_188() { if (jj_3R_51()) return true; return false; } - private boolean jj_3R_190() + private boolean jj_3R_192() { - if (jj_3R_194()) return true; + if (jj_3R_196()) return true; return false; } - private boolean jj_3R_191() + private boolean jj_3R_193() { if (jj_3R_44()) return true; return false; @@ -5794,30 +5852,30 @@ private boolean jj_3R_119() if (jj_3R_50()) return true; while (true) { xsp = jj_scanpos; - if (jj_3R_247()) { jj_scanpos = xsp; break; } + if (jj_3R_249()) { jj_scanpos = xsp; break; } } xsp = jj_scanpos; - if (jj_3R_248()) jj_scanpos = xsp; + if (jj_3R_250()) jj_scanpos = xsp; return false; } - private boolean jj_3R_192() + private boolean jj_3R_194() { if (jj_3R_38()) return true; return false; } - private boolean jj_3R_247() + private boolean jj_3R_249() { if (jj_scan_token(CATCH)) return true; if (jj_scan_token(LPAREN)) return true; - if (jj_3R_254()) return true; + if (jj_3R_256()) return true; if (jj_scan_token(RPAREN)) return true; if (jj_3R_50()) return true; return false; } - private boolean jj_3R_248() + private boolean jj_3R_250() { if (jj_scan_token(FINALLY)) return true; if (jj_3R_50()) return true; @@ -5832,7 +5890,7 @@ private boolean jj_3_13() xsp = jj_scanpos; if (jj_3R_48()) { jj_scanpos = xsp; - if (jj_scan_token(77)) return true; + if (jj_scan_token(78)) return true; } return false; } @@ -5865,13 +5923,13 @@ private boolean jj_3_37() return false; } - private boolean jj_3R_254() + private boolean jj_3R_256() { Token xsp; xsp = jj_scanpos; if (jj_3_37()) { jj_scanpos = xsp; - if (jj_3R_264()) return true; + if (jj_3R_266()) return true; } return false; } @@ -5912,7 +5970,7 @@ private boolean jj_3R_47() return false; } - private boolean jj_3R_264() + private boolean jj_3R_266() { if (jj_scan_token(IDENTIFIER)) return true; return false; @@ -5923,9 +5981,9 @@ private boolean jj_3R_71() if (jj_scan_token(LBRACKET)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_204()) jj_scanpos = xsp; + if (jj_3R_206()) jj_scanpos = xsp; xsp = jj_scanpos; - if (jj_3R_205()) jj_scanpos = xsp; + if (jj_3R_207()) jj_scanpos = xsp; if (jj_scan_token(RBRACKET)) return true; return false; } @@ -5940,17 +5998,17 @@ private boolean jj_3R_59() private boolean jj_3R_158() { if (jj_scan_token(LPAREN)) return true; - if (jj_3R_262()) return true; + if (jj_3R_264()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_263()) { jj_scanpos = xsp; break; } + if (jj_3R_265()) { jj_scanpos = xsp; break; } } if (jj_scan_token(RPAREN)) return true; return false; } - private boolean jj_3R_204() + private boolean jj_3R_206() { if (jj_3R_51()) return true; return false; @@ -5969,45 +6027,45 @@ private boolean jj_3_38() return false; } - private boolean jj_3R_205() + private boolean jj_3R_207() { Token xsp; xsp = jj_scanpos; - if (jj_3R_213()) { + if (jj_3R_215()) { jj_scanpos = xsp; - if (jj_3R_214()) return true; + if (jj_3R_216()) return true; } return false; } - private boolean jj_3R_213() + private boolean jj_3R_215() { if (jj_scan_token(COLON_COLON)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_220()) jj_scanpos = xsp; + if (jj_3R_222()) jj_scanpos = xsp; return false; } - private boolean jj_3R_262() + private boolean jj_3R_264() { Token xsp; xsp = jj_scanpos; if (jj_3_38()) { jj_scanpos = xsp; - if (jj_3R_266()) return true; + if (jj_3R_268()) return true; } return false; } - private boolean jj_3R_214() + private boolean jj_3R_216() { if (jj_scan_token(COLON)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_221()) jj_scanpos = xsp; + if (jj_3R_223()) jj_scanpos = xsp; xsp = jj_scanpos; - if (jj_3R_222()) jj_scanpos = xsp; + if (jj_3R_224()) jj_scanpos = xsp; return false; } @@ -6022,29 +6080,29 @@ private boolean jj_3R_72() if (jj_scan_token(COLON_COLON)) return true; Token xsp; xsp = jj_scanpos; - if (jj_scan_token(73)) { + if (jj_scan_token(74)) { jj_scanpos = xsp; - if (jj_scan_token(42)) return true; + if (jj_scan_token(43)) return true; } return false; } - private boolean jj_3R_220() + private boolean jj_3R_222() { if (jj_3R_51()) return true; return false; } - private boolean jj_3R_222() + private boolean jj_3R_224() { if (jj_scan_token(COLON)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_224()) jj_scanpos = xsp; + if (jj_3R_226()) jj_scanpos = xsp; return false; } - private boolean jj_3R_266() + private boolean jj_3R_268() { if (jj_3R_60()) return true; return false; @@ -6052,18 +6110,18 @@ private boolean jj_3R_266() private boolean jj_3_16() { - if (jj_scan_token(153)) return true; + if (jj_scan_token(154)) return true; if (jj_scan_token(IDENTIFIER)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_206()) jj_scanpos = xsp; + if (jj_3R_208()) jj_scanpos = xsp; return false; } - private boolean jj_3R_263() + private boolean jj_3R_265() { if (jj_scan_token(SEMICOLON)) return true; - if (jj_3R_262()) return true; + if (jj_3R_264()) return true; return false; } @@ -6073,7 +6131,7 @@ private boolean jj_3_17() if (jj_scan_token(IDENTIFIER)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_207()) jj_scanpos = xsp; + if (jj_3R_209()) jj_scanpos = xsp; return false; } @@ -6085,51 +6143,47 @@ private boolean jj_3R_73() return false; } - private boolean jj_3_18() + private boolean jj_3_1() { - if (jj_scan_token(DOT)) return true; - if (jj_3R_49()) return true; + if (jj_3R_36()) return true; return false; } - private boolean jj_3_1() + private boolean jj_3_18() { - if (jj_3R_36()) return true; + if (jj_scan_token(DOT)) return true; + if (jj_3R_49()) return true; return false; } - private boolean jj_3R_221() + private boolean jj_3R_223() { if (jj_3R_51()) return true; return false; } - private boolean jj_3R_206() + private boolean jj_3R_208() { - if (jj_3R_203()) return true; + if (jj_3R_205()) return true; return false; } - private boolean jj_3R_224() + private boolean jj_3R_226() { if (jj_3R_51()) return true; return false; } - private boolean jj_3R_207() + private boolean jj_3R_209() { - if (jj_3R_203()) return true; + if (jj_3R_205()) return true; return false; } - private boolean jj_3R_193() + private boolean jj_3R_195() { Token xsp; xsp = jj_scanpos; - if (jj_3R_195()) { - jj_scanpos = xsp; - if (jj_3R_196()) { - jj_scanpos = xsp; if (jj_3R_197()) { jj_scanpos = xsp; if (jj_3R_198()) { @@ -6140,7 +6194,11 @@ private boolean jj_3R_193() jj_scanpos = xsp; if (jj_3R_201()) { jj_scanpos = xsp; - if (jj_3R_202()) return true; + if (jj_3R_202()) { + jj_scanpos = xsp; + if (jj_3R_203()) { + jj_scanpos = xsp; + if (jj_3R_204()) return true; } } } @@ -6151,7 +6209,7 @@ private boolean jj_3R_193() return false; } - private boolean jj_3R_195() + private boolean jj_3R_197() { if (jj_scan_token(INTEGER_LITERAL)) return true; return false; @@ -6171,28 +6229,28 @@ private boolean jj_3R_77() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(45)) { - jj_scanpos = xsp; if (jj_scan_token(46)) { jj_scanpos = xsp; if (jj_scan_token(47)) { jj_scanpos = xsp; - if (jj_scan_token(53)) { + if (jj_scan_token(48)) { + jj_scanpos = xsp; + if (jj_scan_token(54)) { jj_scanpos = xsp; if (jj_scan_token(28)) { jj_scanpos = xsp; - if (jj_scan_token(41)) { + if (jj_scan_token(42)) { jj_scanpos = xsp; - if (jj_scan_token(54)) { + if (jj_scan_token(55)) { jj_scanpos = xsp; - if (jj_scan_token(60)) { + if (jj_scan_token(61)) { jj_scanpos = xsp; if (jj_scan_token(11)) { jj_scanpos = xsp; - if (jj_scan_token(50)) { - jj_scanpos = xsp; if (jj_scan_token(51)) { jj_scanpos = xsp; + if (jj_scan_token(52)) { + jj_scanpos = xsp; if (jj_scan_token(21)) return true; } } @@ -6208,18 +6266,12 @@ private boolean jj_3R_77() return false; } - private boolean jj_3R_196() + private boolean jj_3R_198() { if (jj_scan_token(FLOATING_POINT_LITERAL)) return true; return false; } - private boolean jj_3R_197() - { - if (jj_scan_token(CHARACTER_LITERAL)) return true; - return false; - } - private boolean jj_3R_95() { if (jj_3R_53()) return true; @@ -6232,6 +6284,12 @@ private boolean jj_3R_95() return false; } + private boolean jj_3R_199() + { + if (jj_scan_token(CHARACTER_LITERAL)) return true; + return false; + } + private boolean jj_3R_120() { Token xsp; @@ -6244,38 +6302,32 @@ private boolean jj_3R_120() return false; } - private boolean jj_3R_198() - { - if (jj_scan_token(STRING_LITERAL)) return true; - return false; - } - private boolean jj_3R_141() { if (jj_scan_token(CLASS)) return true; if (jj_scan_token(IDENTIFIER)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_234()) jj_scanpos = xsp; + if (jj_3R_236()) jj_scanpos = xsp; xsp = jj_scanpos; - if (jj_3R_235()) jj_scanpos = xsp; + if (jj_3R_237()) jj_scanpos = xsp; return false; } - private boolean jj_3R_234() + private boolean jj_3R_200() { - if (jj_scan_token(EXTENDS)) return true; - if (jj_3R_38()) return true; + if (jj_scan_token(STRING_LITERAL)) return true; return false; } - private boolean jj_3R_199() + private boolean jj_3R_236() { - if (jj_scan_token(LONG_STRING_LITERAL)) return true; + if (jj_scan_token(EXTENDS)) return true; + if (jj_3R_38()) return true; return false; } - private boolean jj_3R_235() + private boolean jj_3R_237() { if (jj_scan_token(IMPLEMENTS)) return true; if (jj_3R_81()) return true; @@ -6288,7 +6340,7 @@ private boolean jj_3R_142() if (jj_scan_token(IDENTIFIER)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_236()) jj_scanpos = xsp; + if (jj_3R_238()) jj_scanpos = xsp; return false; } @@ -6298,102 +6350,108 @@ private boolean jj_3R_121() if (jj_scan_token(IDENTIFIER)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_229()) jj_scanpos = xsp; - if (jj_3R_230()) return true; + if (jj_3R_231()) jj_scanpos = xsp; + if (jj_3R_232()) return true; return false; } - private boolean jj_3R_236() + private boolean jj_3R_238() { if (jj_scan_token(EXTENDS)) return true; if (jj_3R_81()) return true; return false; } - private boolean jj_3R_229() + private boolean jj_3R_201() { - if (jj_scan_token(IMPLEMENTS)) return true; - if (jj_3R_81()) return true; + if (jj_scan_token(LONG_STRING_LITERAL)) return true; return false; } - private boolean jj_3R_200() + private boolean jj_3R_231() { - if (jj_3R_208()) return true; + if (jj_scan_token(IMPLEMENTS)) return true; + if (jj_3R_81()) return true; return false; } - private boolean jj_3R_201() + private boolean jj_3R_202() { - if (jj_scan_token(43)) return true; + if (jj_3R_210()) return true; return false; } - private boolean jj_3R_202() + private boolean jj_3R_203() { - if (jj_scan_token(59)) return true; + if (jj_scan_token(44)) return true; return false; } - private boolean jj_3R_249() + private boolean jj_3R_251() { if (jj_scan_token(IDENTIFIER)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_255()) jj_scanpos = xsp; + if (jj_3R_257()) jj_scanpos = xsp; xsp = jj_scanpos; - if (jj_3R_256()) jj_scanpos = xsp; + if (jj_3R_258()) jj_scanpos = xsp; return false; } - private boolean jj_3R_208() + private boolean jj_3R_204() + { + if (jj_scan_token(60)) return true; + return false; + } + + private boolean jj_3R_210() { Token xsp; xsp = jj_scanpos; - if (jj_3R_215()) { + if (jj_3R_217()) { jj_scanpos = xsp; - if (jj_3R_216()) return true; + if (jj_3R_218()) return true; } return false; } - private boolean jj_3R_215() + private boolean jj_3R_217() { if (jj_scan_token(TRUE)) return true; return false; } - private boolean jj_3R_216() + private boolean jj_3R_218() { if (jj_scan_token(FALSE)) return true; return false; } - private boolean jj_3R_230() + private boolean jj_3R_232() { if (jj_scan_token(LBRACE)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_237()) jj_scanpos = xsp; + if (jj_3R_239()) jj_scanpos = xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_238()) { jj_scanpos = xsp; break; } + if (jj_3R_240()) { jj_scanpos = xsp; break; } } xsp = jj_scanpos; - if (jj_3R_239()) jj_scanpos = xsp; + if (jj_3R_241()) jj_scanpos = xsp; if (jj_scan_token(RBRACE)) return true; return false; } - private boolean jj_3R_255() + private boolean jj_3R_257() { - if (jj_3R_203()) return true; + if (jj_3R_205()) return true; return false; } - private boolean jj_3R_237() + private boolean jj_3R_239() { - if (jj_3R_249()) return true; + if (jj_3R_251()) return true; return false; } @@ -6408,11 +6466,11 @@ private boolean jj_3R_96() } if (jj_3R_55()) return true; xsp = jj_scanpos; - if (jj_3R_225()) jj_scanpos = xsp; + if (jj_3R_227()) jj_scanpos = xsp; xsp = jj_scanpos; - if (jj_3R_226()) { + if (jj_3R_228()) { jj_scanpos = xsp; - if (jj_3R_227()) return true; + if (jj_3R_229()) return true; } return false; } @@ -6423,16 +6481,6 @@ private boolean jj_3R_122() return false; } - private boolean jj_3R_203() - { - if (jj_scan_token(LPAREN)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_212()) jj_scanpos = xsp; - if (jj_scan_token(RPAREN)) return true; - return false; - } - private boolean jj_3R_123() { if (jj_3R_54()) return true; @@ -6440,44 +6488,30 @@ private boolean jj_3R_123() return false; } - private boolean jj_3R_212() - { - if (jj_3R_219()) return true; - return false; - } - - private boolean jj_3R_219() + private boolean jj_3R_205() { - if (jj_3R_51()) return true; + if (jj_scan_token(LPAREN)) return true; Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_223()) { jj_scanpos = xsp; break; } - } + xsp = jj_scanpos; + if (jj_3R_214()) jj_scanpos = xsp; + if (jj_scan_token(RPAREN)) return true; return false; } - private boolean jj_3R_256() + private boolean jj_3R_258() { if (jj_3R_50()) return true; return false; } - private boolean jj_3R_225() + private boolean jj_3R_227() { if (jj_scan_token(THROWS)) return true; if (jj_3R_81()) return true; return false; } - private boolean jj_3R_223() - { - if (jj_scan_token(COMMA)) return true; - if (jj_3R_51()) return true; - return false; - } - - private boolean jj_3R_226() + private boolean jj_3R_228() { if (jj_3R_50()) return true; return false; @@ -6490,28 +6524,19 @@ private boolean jj_3_3() return false; } - private boolean jj_3R_49() + private boolean jj_3R_214() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_74()) { - jj_scanpos = xsp; - if (jj_3R_75()) return true; - } + if (jj_3R_221()) return true; return false; } - private boolean jj_3R_74() + private boolean jj_3R_221() { - if (jj_scan_token(NEW)) return true; + if (jj_3R_51()) return true; Token xsp; - xsp = jj_scanpos; - if (jj_3R_209()) { - jj_scanpos = xsp; - if (jj_3R_210()) { - jj_scanpos = xsp; - if (jj_3R_211()) return true; - } + while (true) { + xsp = jj_scanpos; + if (jj_3R_225()) { jj_scanpos = xsp; break; } } return false; } @@ -6523,10 +6548,17 @@ private boolean jj_3R_99() return false; } - private boolean jj_3R_238() + private boolean jj_3R_240() + { + if (jj_scan_token(COMMA)) return true; + if (jj_3R_251()) return true; + return false; + } + + private boolean jj_3R_225() { if (jj_scan_token(COMMA)) return true; - if (jj_3R_249()) return true; + if (jj_3R_51()) return true; return false; } @@ -6554,28 +6586,35 @@ private boolean jj_3R_98() return false; } - private boolean jj_3R_209() - { - if (jj_3R_100()) return true; - if (jj_3R_102()) return true; - return false; - } - - private boolean jj_3R_227() + private boolean jj_3R_49() { - if (jj_3R_231()) return true; + Token xsp; + xsp = jj_scanpos; + if (jj_3R_74()) { + jj_scanpos = xsp; + if (jj_3R_75()) return true; + } return false; } - private boolean jj_3R_210() + private boolean jj_3R_74() { - if (jj_3R_38()) return true; + if (jj_scan_token(NEW)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_217()) { + if (jj_3R_211()) { jj_scanpos = xsp; - if (jj_3R_218()) return true; + if (jj_3R_212()) { + jj_scanpos = xsp; + if (jj_3R_213()) return true; } + } + return false; + } + + private boolean jj_3R_229() + { + if (jj_3R_233()) return true; return false; } @@ -6587,28 +6626,26 @@ private boolean jj_3R_124() return false; } - private boolean jj_3R_217() + private boolean jj_3R_211() { + if (jj_3R_100()) return true; if (jj_3R_102()) return true; return false; } - private boolean jj_3R_218() + private boolean jj_3R_212() { - if (jj_3R_203()) return true; + if (jj_3R_38()) return true; Token xsp; xsp = jj_scanpos; - if (jj_3_19()) jj_scanpos = xsp; - return false; - } - - private boolean jj_3R_75() - { - if (jj_3R_102()) return true; + if (jj_3R_219()) { + jj_scanpos = xsp; + if (jj_3R_220()) return true; + } return false; } - private boolean jj_3R_211() + private boolean jj_3R_219() { if (jj_3R_102()) return true; return false; @@ -6620,32 +6657,24 @@ private boolean jj_3R_37() return false; } - private boolean jj_3R_102() + private boolean jj_3R_220() { + if (jj_3R_205()) return true; Token xsp; xsp = jj_scanpos; - if (jj_3_22()) { - jj_scanpos = xsp; - if (jj_3R_135()) { - jj_scanpos = xsp; - if (jj_3R_136()) return true; - } - } + if (jj_3_19()) jj_scanpos = xsp; return false; } - private boolean jj_3_22() + private boolean jj_3R_75() { - Token xsp; - if (jj_3_20()) return true; - while (true) { - xsp = jj_scanpos; - if (jj_3_20()) { jj_scanpos = xsp; break; } - } - while (true) { - xsp = jj_scanpos; - if (jj_3_21()) { jj_scanpos = xsp; break; } - } + if (jj_3R_102()) return true; + return false; + } + + private boolean jj_3R_213() + { + if (jj_3R_102()) return true; return false; } @@ -6655,39 +6684,53 @@ private boolean jj_3R_60() Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_232()) { jj_scanpos = xsp; break; } + if (jj_3R_234()) { jj_scanpos = xsp; break; } } xsp = jj_scanpos; - if (jj_3R_233()) jj_scanpos = xsp; + if (jj_3R_235()) jj_scanpos = xsp; return false; } - private boolean jj_3_20() + private boolean jj_3R_234() { if (jj_scan_token(LBRACKET)) return true; - if (jj_3R_51()) return true; if (jj_scan_token(RBRACKET)) return true; return false; } - private boolean jj_3R_232() + private boolean jj_3R_102() { - if (jj_scan_token(LBRACKET)) return true; - if (jj_scan_token(RBRACKET)) return true; + Token xsp; + xsp = jj_scanpos; + if (jj_3_22()) { + jj_scanpos = xsp; + if (jj_3R_135()) { + jj_scanpos = xsp; + if (jj_3R_136()) return true; + } + } return false; } - private boolean jj_3_21() + private boolean jj_3R_235() { - if (jj_scan_token(LBRACKET)) return true; - if (jj_scan_token(RBRACKET)) return true; + if (jj_scan_token(ASSIGN)) return true; + if (jj_3R_42()) return true; return false; } - private boolean jj_3R_233() + private boolean jj_3_22() { - if (jj_scan_token(ASSIGN)) return true; - if (jj_3R_42()) return true; + Token xsp; + if (jj_3_20()) return true; + while (true) { + xsp = jj_scanpos; + if (jj_3_20()) { jj_scanpos = xsp; break; } + } + while (true) { + xsp = jj_scanpos; + if (jj_3_21()) { jj_scanpos = xsp; break; } + } return false; } @@ -6698,19 +6741,7 @@ private boolean jj_3R_39() return false; } - private boolean jj_3R_135() - { - Token xsp; - if (jj_3R_144()) return true; - while (true) { - xsp = jj_scanpos; - if (jj_3R_144()) { jj_scanpos = xsp; break; } - } - if (jj_3R_41()) return true; - return false; - } - - private boolean jj_3R_239() + private boolean jj_3R_241() { if (jj_scan_token(SEMICOLON)) return true; Token xsp; @@ -6727,12 +6758,6 @@ private boolean jj_3_5() return false; } - private boolean jj_3_19() - { - if (jj_3R_50()) return true; - return false; - } - private boolean jj_3R_42() { Token xsp; @@ -6744,16 +6769,18 @@ private boolean jj_3R_42() return false; } - private boolean jj_3R_144() + private boolean jj_3_20() { if (jj_scan_token(LBRACKET)) return true; + if (jj_3R_51()) return true; if (jj_scan_token(RBRACKET)) return true; return false; } - private boolean jj_3R_136() + private boolean jj_3_21() { - if (jj_3R_41()) return true; + if (jj_scan_token(LBRACKET)) return true; + if (jj_scan_token(RBRACKET)) return true; return false; } @@ -6763,12 +6790,43 @@ private boolean jj_3R_68() return false; } + private boolean jj_3R_135() + { + Token xsp; + if (jj_3R_144()) return true; + while (true) { + xsp = jj_scanpos; + if (jj_3R_144()) { jj_scanpos = xsp; break; } + } + if (jj_3R_41()) return true; + return false; + } + private boolean jj_3_2() { if (jj_3R_36()) return true; return false; } + private boolean jj_3_19() + { + if (jj_3R_50()) return true; + return false; + } + + private boolean jj_3R_144() + { + if (jj_scan_token(LBRACKET)) return true; + if (jj_scan_token(RBRACKET)) return true; + return false; + } + + private boolean jj_3R_136() + { + if (jj_3R_41()) return true; + return false; + } + private boolean jj_3R_41() { if (jj_scan_token(LBRACE)) return true; @@ -6776,17 +6834,38 @@ private boolean jj_3R_41() xsp = jj_scanpos; if (jj_3R_67()) jj_scanpos = xsp; xsp = jj_scanpos; - if (jj_scan_token(83)) jj_scanpos = xsp; + if (jj_scan_token(84)) jj_scanpos = xsp; if (jj_scan_token(RBRACE)) return true; return false; } + private boolean jj_3R_67() + { + if (jj_3R_42()) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3_6()) { jj_scanpos = xsp; break; } + } + return false; + } + private boolean jj_3_23() { if (jj_3R_52()) return true; return false; } + private boolean jj_3R_55() + { + if (jj_scan_token(LPAREN)) return true; + Token xsp; + xsp = jj_scanpos; + if (jj_3R_80()) jj_scanpos = xsp; + if (jj_scan_token(RPAREN)) return true; + return false; + } + private boolean jj_3R_57() { Token xsp; @@ -6795,7 +6874,7 @@ private boolean jj_3R_57() jj_scanpos = xsp; if (jj_3_24()) { jj_scanpos = xsp; - if (jj_scan_token(82)) { + if (jj_scan_token(83)) { jj_scanpos = xsp; if (jj_3R_82()) { jj_scanpos = xsp; @@ -6843,33 +6922,6 @@ private boolean jj_3R_57() return false; } - private boolean jj_3_24() - { - if (jj_3R_50()) return true; - return false; - } - - private boolean jj_3R_67() - { - if (jj_3R_42()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3_6()) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_55() - { - if (jj_scan_token(LPAREN)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_80()) jj_scanpos = xsp; - if (jj_scan_token(RPAREN)) return true; - return false; - } - private boolean jj_3_6() { if (jj_scan_token(COMMA)) return true; @@ -6877,16 +6929,9 @@ private boolean jj_3_6() return false; } - private boolean jj_3R_82() - { - if (jj_3R_107()) return true; - if (jj_3R_40()) return true; - return false; - } - - private boolean jj_3R_83() + private boolean jj_3_24() { - if (jj_3R_108()) return true; + if (jj_3R_50()) return true; return false; } @@ -6916,12 +6961,6 @@ private boolean jj_3R_104() return false; } - private boolean jj_3R_84() - { - if (jj_3R_109()) return true; - return false; - } - private boolean jj_3_7() { Token xsp; @@ -6934,15 +6973,22 @@ private boolean jj_3_7() return false; } - private boolean jj_3R_85() + private boolean jj_3R_82() { - if (jj_3R_110()) return true; + if (jj_3R_107()) return true; + if (jj_3R_40()) return true; return false; } - private boolean jj_3R_86() + private boolean jj_3R_83() { - if (jj_3R_111()) return true; + if (jj_3R_108()) return true; + return false; + } + + private boolean jj_3R_84() + { + if (jj_3R_109()) return true; return false; } @@ -6952,15 +6998,15 @@ private boolean jj_3R_138() return false; } - private boolean jj_3R_87() + private boolean jj_3R_85() { - if (jj_3R_112()) return true; + if (jj_3R_110()) return true; return false; } - private boolean jj_3R_88() + private boolean jj_3R_86() { - if (jj_3R_113()) return true; + if (jj_3R_111()) return true; return false; } @@ -6977,27 +7023,27 @@ private boolean jj_3R_45() return false; } - private boolean jj_3R_89() + private boolean jj_3R_87() { - if (jj_3R_114()) return true; + if (jj_3R_112()) return true; return false; } - private boolean jj_3R_90() + private boolean jj_3R_88() { - if (jj_3R_115()) return true; + if (jj_3R_113()) return true; return false; } - private boolean jj_3R_91() + private boolean jj_3R_43() { - if (jj_3R_116()) return true; + if (jj_scan_token(FINAL)) return true; return false; } - private boolean jj_3R_43() + private boolean jj_3R_89() { - if (jj_scan_token(FINAL)) return true; + if (jj_3R_114()) return true; return false; } @@ -7016,28 +7062,28 @@ private boolean jj_3R_44() return false; } - private boolean jj_3R_92() + private boolean jj_3R_90() { - if (jj_3R_117()) return true; + if (jj_3R_115()) return true; return false; } - private boolean jj_3R_93() + private boolean jj_3R_105() { - if (jj_3R_118()) return true; + if (jj_scan_token(COMMA)) return true; + if (jj_3R_104()) return true; return false; } - private boolean jj_3R_105() + private boolean jj_3R_91() { - if (jj_scan_token(COMMA)) return true; - if (jj_3R_104()) return true; + if (jj_3R_116()) return true; return false; } - private boolean jj_3R_94() + private boolean jj_3R_92() { - if (jj_3R_119()) return true; + if (jj_3R_117()) return true; return false; } @@ -7047,6 +7093,18 @@ private boolean jj_3R_69() return false; } + private boolean jj_3R_93() + { + if (jj_3R_118()) return true; + return false; + } + + private boolean jj_3R_94() + { + if (jj_3R_119()) return true; + return false; + } + private boolean jj_3_8() { if (jj_scan_token(LBRACKET)) return true; @@ -7085,20 +7143,6 @@ private boolean jj_3R_79() return false; } - private boolean jj_3R_50() - { - Token xsp; - xsp = jj_scanpos; - if (jj_scan_token(50)) jj_scanpos = xsp; - if (jj_scan_token(LBRACE)) return true; - while (true) { - xsp = jj_scanpos; - if (jj_3_25()) { jj_scanpos = xsp; break; } - } - if (jj_scan_token(RBRACE)) return true; - return false; - } - private boolean jj_3R_100() { Token xsp; @@ -7158,6 +7202,20 @@ private boolean jj_3R_128() return false; } + private boolean jj_3R_50() + { + Token xsp; + xsp = jj_scanpos; + if (jj_scan_token(51)) jj_scanpos = xsp; + if (jj_scan_token(LBRACE)) return true; + while (true) { + xsp = jj_scanpos; + if (jj_3_25()) { jj_scanpos = xsp; break; } + } + if (jj_scan_token(RBRACE)) return true; + return false; + } + private boolean jj_3R_129() { if (jj_scan_token(INT)) return true; @@ -7214,12 +7272,6 @@ private boolean jj_3R_61() return false; } - private boolean jj_3R_62() - { - if (jj_3R_96()) return true; - return false; - } - private boolean jj_3R_38() { if (jj_scan_token(IDENTIFIER)) return true; @@ -7231,6 +7283,19 @@ private boolean jj_3R_38() return false; } + private boolean jj_3R_62() + { + if (jj_3R_96()) return true; + return false; + } + + private boolean jj_3_9() + { + if (jj_scan_token(DOT)) return true; + if (jj_scan_token(IDENTIFIER)) return true; + return false; + } + private boolean jj_3R_63() { if (jj_3R_96()) return true; @@ -7244,7 +7309,7 @@ private boolean jj_3_26() xsp = jj_scanpos; if (jj_scan_token(14)) { jj_scanpos = xsp; - if (jj_scan_token(39)) { + if (jj_scan_token(40)) { jj_scanpos = xsp; if (jj_scan_token(25)) return true; } @@ -7252,17 +7317,21 @@ private boolean jj_3_26() return false; } - private boolean jj_3_9() + private boolean jj_3R_64() { - if (jj_scan_token(DOT)) return true; - if (jj_scan_token(IDENTIFIER)) return true; + if (jj_3R_97()) return true; + if (jj_3R_40()) return true; return false; } - private boolean jj_3R_64() + private boolean jj_3R_81() { - if (jj_3R_97()) return true; - if (jj_3R_40()) return true; + if (jj_3R_38()) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_106()) { jj_scanpos = xsp; break; } + } return false; } @@ -7287,17 +7356,6 @@ private boolean jj_3_30() return false; } - private boolean jj_3R_81() - { - if (jj_3R_38()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_106()) { jj_scanpos = xsp; break; } - } - return false; - } - private boolean jj_3R_65() { if (jj_3R_98()) return true; @@ -7346,20 +7404,6 @@ private boolean jj_3R_101() return false; } - private boolean jj_3R_231() - { - Token xsp; - xsp = jj_scanpos; - if (jj_scan_token(82)) { - jj_scanpos = xsp; - jj_lookingAhead = true; - jj_semLA = isImplicitMethodTerminator(); - jj_lookingAhead = false; - if (!jj_semLA || jj_3R_240()) return true; - } - return false; - } - private boolean jj_3R_106() { if (jj_scan_token(COMMA)) return true; @@ -7367,58 +7411,53 @@ private boolean jj_3R_106() return false; } - private boolean jj_3R_240() - { - return false; - } - private boolean jj_3R_134() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(85)) { - jj_scanpos = xsp; - if (jj_scan_token(126)) { + if (jj_scan_token(86)) { jj_scanpos = xsp; - if (jj_scan_token(136)) { + if (jj_scan_token(127)) { jj_scanpos = xsp; if (jj_scan_token(137)) { jj_scanpos = xsp; - if (jj_scan_token(127)) { + if (jj_scan_token(138)) { jj_scanpos = xsp; - if (jj_scan_token(134)) { + if (jj_scan_token(128)) { jj_scanpos = xsp; if (jj_scan_token(135)) { jj_scanpos = xsp; - if (jj_scan_token(124)) { + if (jj_scan_token(136)) { jj_scanpos = xsp; if (jj_scan_token(125)) { jj_scanpos = xsp; - if (jj_scan_token(128)) { + if (jj_scan_token(126)) { jj_scanpos = xsp; if (jj_scan_token(129)) { jj_scanpos = xsp; - if (jj_scan_token(132)) { + if (jj_scan_token(130)) { jj_scanpos = xsp; if (jj_scan_token(133)) { jj_scanpos = xsp; - if (jj_scan_token(130)) { + if (jj_scan_token(134)) { jj_scanpos = xsp; if (jj_scan_token(131)) { jj_scanpos = xsp; - if (jj_scan_token(138)) { + if (jj_scan_token(132)) { jj_scanpos = xsp; if (jj_scan_token(139)) { jj_scanpos = xsp; if (jj_scan_token(140)) { jj_scanpos = xsp; - if (jj_scan_token(146)) { - jj_scanpos = xsp; if (jj_scan_token(141)) { jj_scanpos = xsp; + if (jj_scan_token(147)) { + jj_scanpos = xsp; if (jj_scan_token(142)) { jj_scanpos = xsp; - if (jj_scan_token(143)) return true; + if (jj_scan_token(143)) { + jj_scanpos = xsp; + if (jj_scan_token(144)) return true; } } } @@ -7443,18 +7482,30 @@ private boolean jj_3R_134() return false; } - private boolean jj_3R_40() + private boolean jj_3R_233() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(82)) jj_scanpos = xsp; + if (jj_scan_token(83)) { + jj_scanpos = xsp; + jj_lookingAhead = true; + jj_semLA = isImplicitMethodTerminator(); + jj_lookingAhead = false; + if (!jj_semLA || jj_3R_242()) return true; + } return false; } - private boolean jj_3R_56() + private boolean jj_3R_242() { - if (jj_scan_token(THROWS)) return true; - if (jj_3R_81()) return true; + return false; + } + + private boolean jj_3R_40() + { + Token xsp; + xsp = jj_scanpos; + if (jj_scan_token(83)) jj_scanpos = xsp; return false; } @@ -7467,9 +7518,10 @@ private boolean jj_3R_76() return false; } - private boolean jj_3R_107() + private boolean jj_3R_56() { - if (jj_3R_51()) return true; + if (jj_scan_token(THROWS)) return true; + if (jj_3R_81()) return true; return false; } @@ -7484,15 +7536,21 @@ private boolean jj_3R_103() return false; } + private boolean jj_3R_107() + { + if (jj_3R_51()) return true; + return false; + } + private boolean jj_3R_143() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(147)) { - jj_scanpos = xsp; if (jj_scan_token(148)) { jj_scanpos = xsp; - if (jj_scan_token(145)) return true; + if (jj_scan_token(149)) { + jj_scanpos = xsp; + if (jj_scan_token(146)) return true; } } if (jj_3R_137()) return true; @@ -7514,30 +7572,14 @@ private boolean jj_3R_146() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(98)) { + if (jj_scan_token(99)) { jj_scanpos = xsp; - if (jj_scan_token(99)) return true; + if (jj_scan_token(100)) return true; } if (jj_3R_145()) return true; return false; } - private boolean jj_3R_108() - { - if (jj_scan_token(SWITCH)) return true; - if (jj_scan_token(LPAREN)) return true; - if (jj_3R_51()) return true; - if (jj_scan_token(RPAREN)) return true; - if (jj_scan_token(LBRACE)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_241()) { jj_scanpos = xsp; break; } - } - if (jj_scan_token(RBRACE)) return true; - return false; - } - private boolean jj_3R_145() { if (jj_3R_147()) return true; @@ -7553,70 +7595,86 @@ private boolean jj_3R_148() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(100)) { + if (jj_scan_token(101)) { jj_scanpos = xsp; - if (jj_scan_token(101)) return true; + if (jj_scan_token(102)) return true; } if (jj_3R_147()) return true; return false; } - private boolean jj_3R_241() + private boolean jj_3R_108() { - if (jj_3R_250()) return true; + if (jj_scan_token(SWITCH)) return true; + if (jj_scan_token(LPAREN)) return true; + if (jj_3R_51()) return true; + if (jj_scan_token(RPAREN)) return true; + if (jj_scan_token(LBRACE)) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3_31()) { jj_scanpos = xsp; break; } + if (jj_3R_243()) { jj_scanpos = xsp; break; } } + if (jj_scan_token(RBRACE)) return true; return false; } - private boolean jj_3R_250() + private boolean jj_3R_147() { + if (jj_3R_149()) return true; Token xsp; - xsp = jj_scanpos; - if (jj_3R_257()) { - jj_scanpos = xsp; - if (jj_3R_258()) return true; + while (true) { + xsp = jj_scanpos; + if (jj_3R_150()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_257() - { - if (jj_scan_token(CASE)) return true; - if (jj_3R_51()) return true; - if (jj_scan_token(COLON)) return true; - return false; - } - - private boolean jj_3R_147() + private boolean jj_3R_243() { - if (jj_3R_149()) return true; + if (jj_3R_252()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_150()) { jj_scanpos = xsp; break; } + if (jj_3_31()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_258() + private boolean jj_3R_150() { - if (jj_scan_token(154)) return true; + Token xsp; + xsp = jj_scanpos; + if (jj_scan_token(111)) { + jj_scanpos = xsp; + if (jj_scan_token(112)) return true; + } + if (jj_3R_149()) return true; return false; } - private boolean jj_3R_150() + private boolean jj_3R_252() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(110)) { + if (jj_3R_259()) { jj_scanpos = xsp; - if (jj_scan_token(111)) return true; + if (jj_3R_260()) return true; } - if (jj_3R_149()) return true; + return false; + } + + private boolean jj_3R_259() + { + if (jj_scan_token(CASE)) return true; + if (jj_3R_51()) return true; + if (jj_scan_token(COLON)) return true; + return false; + } + + private boolean jj_3R_260() + { + if (jj_scan_token(155)) return true; return false; } @@ -7640,6 +7698,18 @@ private boolean jj_3R_149() return false; } + private boolean jj_3R_156() + { + Token xsp; + xsp = jj_scanpos; + if (jj_scan_token(113)) { + jj_scanpos = xsp; + if (jj_scan_token(114)) return true; + } + if (jj_3R_151()) return true; + return false; + } + private boolean jj_3_31() { if (jj_3R_36()) return true; @@ -7654,24 +7724,35 @@ private boolean jj_3R_109() if (jj_scan_token(RPAREN)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_242()) { + if (jj_3R_244()) { jj_scanpos = xsp; if (jj_3_32()) return true; } xsp = jj_scanpos; - if (jj_3R_243()) jj_scanpos = xsp; + if (jj_3R_245()) jj_scanpos = xsp; return false; } - private boolean jj_3R_156() + private boolean jj_3R_151() + { + if (jj_3R_157()) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_159()) { jj_scanpos = xsp; break; } + } + return false; + } + + private boolean jj_3R_159() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(112)) { + if (jj_scan_token(109)) { jj_scanpos = xsp; - if (jj_scan_token(113)) return true; + if (jj_scan_token(110)) return true; } - if (jj_3R_151()) return true; + if (jj_3R_157()) return true; return false; } @@ -7685,37 +7766,26 @@ private boolean jj_3R_110() return false; } - private boolean jj_3R_151() + private boolean jj_3R_157() { - if (jj_3R_157()) return true; + if (jj_3R_160()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_159()) { jj_scanpos = xsp; break; } + if (jj_3R_161()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_159() + private boolean jj_3R_161() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(108)) { + if (jj_scan_token(93)) { jj_scanpos = xsp; - if (jj_scan_token(109)) return true; + if (jj_scan_token(98)) return true; } - if (jj_3R_157()) return true; - return false; - } - - private boolean jj_3R_157() - { if (jj_3R_160()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_161()) { jj_scanpos = xsp; break; } - } return false; } @@ -7731,15 +7801,12 @@ private boolean jj_3R_111() return false; } - private boolean jj_3R_161() + private boolean jj_3R_160() { + if (jj_3R_162()) return true; Token xsp; xsp = jj_scanpos; - if (jj_scan_token(92)) { - jj_scanpos = xsp; - if (jj_scan_token(97)) return true; - } - if (jj_3R_160()) return true; + if (jj_3R_163()) jj_scanpos = xsp; return false; } @@ -7749,28 +7816,30 @@ private boolean jj_3R_112() if (jj_scan_token(LPAREN)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_244()) jj_scanpos = xsp; + if (jj_3R_246()) jj_scanpos = xsp; if (jj_scan_token(SEMICOLON)) return true; xsp = jj_scanpos; - if (jj_3R_245()) jj_scanpos = xsp; + if (jj_3R_247()) jj_scanpos = xsp; if (jj_scan_token(SEMICOLON)) return true; xsp = jj_scanpos; - if (jj_3R_246()) jj_scanpos = xsp; + if (jj_3R_248()) jj_scanpos = xsp; if (jj_scan_token(RPAREN)) return true; if (jj_3R_57()) return true; return false; } - private boolean jj_3R_160() + private boolean jj_3R_163() { - if (jj_3R_162()) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_163()) jj_scanpos = xsp; + if (jj_3R_166()) { + jj_scanpos = xsp; + if (jj_3R_167()) return true; + } return false; } - private boolean jj_3R_163() + private boolean jj_3R_166() { Token xsp; xsp = jj_scanpos; @@ -7782,13 +7851,20 @@ private boolean jj_3R_163() return false; } - private boolean jj_3R_242() + private boolean jj_3R_167() + { + if (jj_scan_token(AS)) return true; + if (jj_3R_44()) return true; + return false; + } + + private boolean jj_3R_244() { if (jj_scan_token(SEMICOLON)) return true; return false; } - private boolean jj_3R_245() + private boolean jj_3R_247() { if (jj_3R_51()) return true; return false; @@ -7805,9 +7881,9 @@ private boolean jj_3R_162() return false; } - private boolean jj_3R_246() + private boolean jj_3R_248() { - if (jj_3R_252()) return true; + if (jj_3R_254()) return true; return false; } @@ -7815,21 +7891,21 @@ private boolean jj_3R_165() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(88)) { - jj_scanpos = xsp; if (jj_scan_token(89)) { jj_scanpos = xsp; - if (jj_scan_token(86)) { + if (jj_scan_token(90)) { jj_scanpos = xsp; if (jj_scan_token(87)) { jj_scanpos = xsp; - if (jj_scan_token(93)) { + if (jj_scan_token(88)) { jj_scanpos = xsp; if (jj_scan_token(94)) { jj_scanpos = xsp; if (jj_scan_token(95)) { jj_scanpos = xsp; - if (jj_scan_token(96)) return true; + if (jj_scan_token(96)) { + jj_scanpos = xsp; + if (jj_scan_token(97)) return true; } } } @@ -7841,9 +7917,9 @@ private boolean jj_3R_165() return false; } - private boolean jj_3R_244() + private boolean jj_3R_246() { - if (jj_3R_251()) return true; + if (jj_3R_253()) return true; return false; } @@ -7876,7 +7952,7 @@ private boolean jj_3R_140() if (jj_scan_token(LPAREN)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_253()) jj_scanpos = xsp; + if (jj_3R_255()) jj_scanpos = xsp; if (jj_3R_44()) return true; if (jj_scan_token(IDENTIFIER)) return true; if (jj_scan_token(COLON)) return true; @@ -7888,21 +7964,19 @@ private boolean jj_3R_140() private boolean jj_3R_164() { - if (jj_3R_166()) return true; + if (jj_3R_168()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_167()) { jj_scanpos = xsp; break; } + if (jj_3R_169()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_167() + private boolean jj_3R_169() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(118)) { - jj_scanpos = xsp; if (jj_scan_token(119)) { jj_scanpos = xsp; if (jj_scan_token(120)) { @@ -7911,56 +7985,35 @@ private boolean jj_3R_167() jj_scanpos = xsp; if (jj_scan_token(122)) { jj_scanpos = xsp; - if (jj_scan_token(123)) return true; + if (jj_scan_token(123)) { + jj_scanpos = xsp; + if (jj_scan_token(124)) return true; } } } } } - if (jj_3R_166()) return true; + if (jj_3R_168()) return true; return false; } - private boolean jj_3R_251() + private boolean jj_3R_253() { Token xsp; xsp = jj_scanpos; - if (jj_3R_259()) { + if (jj_3R_261()) { jj_scanpos = xsp; - if (jj_3R_260()) return true; + if (jj_3R_262()) return true; } return false; } - private boolean jj_3R_259() + private boolean jj_3R_261() { if (jj_3R_97()) return true; return false; } - private boolean jj_3R_260() - { - if (jj_3R_261()) return true; - return false; - } - - private boolean jj_3R_166() - { - if (jj_3R_168()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_169()) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_253() - { - if (jj_scan_token(FINAL)) return true; - return false; - } - /** Generated Token Manager. */ public ParserTokenManager token_source; JavaCharStream jj_input_stream; @@ -7975,7 +8028,7 @@ private boolean jj_3R_253() private boolean jj_lookingAhead = false; private boolean jj_semLA; private int jj_gen; - final private int[] jj_la1 = new int[120]; + final private int[] jj_la1 = new int[121]; static private int[] jj_la1_0; static private int[] jj_la1_1; static private int[] jj_la1_2; @@ -7989,19 +8042,19 @@ private boolean jj_3R_253() jj_la1_init_4(); } private static void jj_la1_init_0() { - jj_la1_0 = new int[] {0x1,0x10200800,0x10200800,0x4000000,0x0,0x4000000,0x4000,0x0,0x2004000,0x0,0x0,0x0,0x0,0x0,0x40849000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48849000,0x48849000,0x0,0x0,0x50849000,0x10000000,0x0,0x0,0x40849000,0x40849000,0x40849000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48849000,0x0,0x48849000,0x8000000,0x0,0x48849000,0x48849000,0x48849000,0x48849000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x8000000,0x48849000,0x0,0x0,0x40849000,0x0,0x0,0x0,0x48c49000,0x80102000,0x0,0x0,0x0,0x0,0x10000,0x10000,0x0,0x1000000,0x58a49800,0x48849000,0x48849000,0x10000000,0x80000000,0x48849000,0x0,0x0,0x0,0x20000,0x20000000,0x10000000,0x0,0x0,0x0,0x0,}; + jj_la1_0 = new int[] {0x1,0x10200800,0x10200800,0x4000000,0x0,0x4000000,0x4000,0x0,0x2004000,0x0,0x0,0x0,0x0,0x0,0x40849000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48849000,0x48849000,0x0,0x0,0x50849000,0x10000000,0x0,0x0,0x40849000,0x40849000,0x40849000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48849000,0x0,0x48849000,0x8000000,0x0,0x48849000,0x48849000,0x48849000,0x48849000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x8000000,0x48849000,0x0,0x0,0x40849000,0x0,0x0,0x0,0x48c49000,0x80102000,0x0,0x0,0x0,0x0,0x10000,0x10000,0x0,0x1000000,0x58a49800,0x48849000,0x48849000,0x10000000,0x80000000,0x48849000,0x0,0x0,0x0,0x20000,0x20000000,0x10000000,0x0,0x0,0x0,0x0,}; } private static void jj_la1_init_1() { - jj_la1_1 = new int[] {0x0,0x106ce200,0x106ce200,0x0,0x4,0x0,0x80,0x4,0x80,0x0,0x40000,0x0,0x0,0x0,0x8020140,0x1000000,0x40000,0x40000,0x0,0x8,0x0,0x0,0x4a020d40,0x4a020d40,0x0,0x0,0x20140,0x0,0x0,0x0,0x20140,0x8020140,0x20140,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30,0x30,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4a020d40,0x0,0x4a060d40,0x4a000c00,0x0,0x4a020d40,0x4a020d40,0x4a020d40,0x4a020d40,0x0,0x0,0x0,0x400,0x0,0x0,0x0,0x0,0x4a000800,0x2000000,0x4a020d40,0x0,0x0,0x20140,0x400,0x0,0x0,0x6a120d42,0x4a10000,0x40000,0x1008,0x0,0x0,0x0,0x0,0x0,0x0,0x5a6eef40,0x4a020d40,0x4a020d40,0x0,0x0,0x4a020d40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; + jj_la1_1 = new int[] {0x0,0x20d9c400,0x20d9c400,0x0,0x4,0x0,0x100,0x4,0x100,0x0,0x80000,0x0,0x0,0x0,0x10040280,0x2000000,0x80000,0x80000,0x0,0x8,0x0,0x0,0x94041a80,0x94041a80,0x0,0x0,0x40280,0x0,0x0,0x0,0x40280,0x10040280,0x40280,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30,0x70,0x70,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x94041a80,0x0,0x940c1a80,0x94001800,0x0,0x94041a80,0x94041a80,0x94041a80,0x94041a80,0x0,0x0,0x0,0x800,0x0,0x0,0x0,0x0,0x94001000,0x4000000,0x94041a80,0x0,0x0,0x40280,0x800,0x0,0x0,0xd4241a82,0x9420000,0x80000,0x2008,0x0,0x0,0x0,0x0,0x0,0x0,0xb4ddde80,0x94041a80,0x94041a80,0x0,0x0,0x94041a80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; } private static void jj_la1_init_2() { - jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x4000,0x200,0x80000,0x40000,0x200,0x0,0x4000,0x0,0x100000,0x0,0x10000,0x200000,0xc0153c8,0xc0153c8,0x80000,0x80000,0x200,0x0,0x0,0x200,0x200,0x200,0x0,0x80000,0x200000,0x200000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000000,0x10000000,0x0,0x0,0xe3c00000,0xe3c00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc000000,0x0,0x0,0x0,0xc000000,0x153c8,0x1200,0xc0153c8,0x151c8,0x200,0xc0153c8,0xc0153c8,0xc0153c8,0xc0153c8,0x0,0x0,0x0,0x200,0x1000,0x1000,0x10000,0x4000,0x1c8,0x0,0xc0153c8,0x80000,0x15000,0x14200,0x14000,0x10000,0x14000,0xc0553c8,0x0,0x0,0x0,0x40000,0x40000,0x0,0x0,0x40000,0x0,0xc0153c8,0xc0153c8,0xc0153c8,0x0,0x0,0xc0153c8,0x80000,0x80000,0x1000,0x0,0x0,0x0,0x0,0x200,0x40000,0x200,}; + jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000,0x8000,0x400,0x100000,0x80000,0x400,0x0,0x8000,0x0,0x200000,0x0,0x20000,0x400000,0x1802a790,0x1802a790,0x100000,0x100000,0x400,0x0,0x0,0x400,0x400,0x400,0x0,0x100000,0x400000,0x400000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000000,0x20000000,0x0,0x0,0x0,0xc7800000,0xc7800000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18000000,0x0,0x0,0x0,0x18000000,0x2a790,0x2400,0x1802a790,0x2a390,0x400,0x1802a790,0x1802a790,0x1802a790,0x1802a790,0x0,0x0,0x0,0x400,0x2000,0x2000,0x20000,0x8000,0x390,0x0,0x1802a790,0x100000,0x2a000,0x28400,0x28000,0x20000,0x28000,0x180aa790,0x0,0x0,0x0,0x80000,0x80000,0x0,0x0,0x80000,0x0,0x1802a790,0x1802a790,0x1802a790,0x0,0x0,0x1802a790,0x100000,0x100000,0x2000,0x0,0x0,0x0,0x0,0x400,0x80000,0x400,}; } private static void jj_la1_init_3() { - jj_la1_3 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c0,0x3c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0000000,0xf0000000,0x0,0x0,0x0,0xc,0xc,0x30,0x30,0xc000,0xc000,0x30000,0x30000,0x3000,0x3000,0x2,0x2,0x0,0x0,0x1,0x1,0xfc00000,0xfc00000,0x300,0x300,0xc0c00,0xc0c00,0x300000,0x300000,0x300,0xc0,0xc0,0xc0,0x3c0,0x0,0x0,0x3c0,0x0,0x0,0x3c0,0x3c0,0x3c0,0x3c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c0,0x3c0,0x3c0,0x0,0x0,0x3c0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000,0x0,0x0,0x0,}; + jj_la1_3 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780,0x780,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe0000000,0xe0000000,0x0,0x0,0x0,0x18,0x18,0x60,0x60,0x18000,0x18000,0x60000,0x60000,0x6000,0x6000,0x4,0x4,0x0,0x0,0x0,0x3,0x3,0x1f800000,0x1f800000,0x600,0x600,0x181800,0x181800,0x600000,0x600000,0x600,0x180,0x180,0x180,0x780,0x0,0x0,0x780,0x0,0x0,0x780,0x780,0x780,0x780,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780,0x0,0x0,0x0,0x0,0x0,0x0,0x780,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780,0x780,0x780,0x0,0x0,0x780,0x0,0x0,0x0,0x0,0x0,0x0,0x8000,0x0,0x0,0x0,}; } private static void jj_la1_init_4() { - jj_la1_4 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x0,0x0,0x0,0x0,0x0,0x4ffff,0x4ffff,0x200000,0x1a0000,0x1a0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0xc00000,0xc00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000000,0x4000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; + jj_la1_4 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000000,0x0,0x0,0x0,0x0,0x0,0x9ffff,0x9ffff,0x400000,0x340000,0x340000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800000,0x1800000,0x1800000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x8000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; } private final JJCalls[] jj_2_rtns = new JJCalls[38]; private boolean jj_rescan = false; @@ -8018,7 +8071,7 @@ public Parser(final java.io.InputStream stream, final java.nio.charset.Charset e token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 120; i++) jj_la1[i] = -1; + for (int i = 0; i < 121; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -8033,7 +8086,7 @@ public void ReInit(final java.io.InputStream stream, final java.nio.charset.Char token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 120; i++) jj_la1[i] = -1; + for (int i = 0; i < 121; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -8047,7 +8100,7 @@ public Parser(final java.io.Reader stream) { token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 120; i++) + for (int i = 0; i < 121; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); @@ -8071,7 +8124,7 @@ public void ReInit(final java.io.Reader stream) { token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 120; i++) + for (int i = 0; i < 121; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); @@ -8086,7 +8139,7 @@ public Parser(final ParserTokenManager tm) { token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 120; i++) jj_la1[i] = -1; + for (int i = 0; i < 121; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -8099,7 +8152,7 @@ public void ReInit(final ParserTokenManager tm) { token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 120; i++) jj_la1[i] = -1; + for (int i = 0; i < 121; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -8244,12 +8297,12 @@ private void jj_add_error_token(int kind, int pos) { */ public ParseException generateParseException() { jj_expentries.clear(); - boolean[] la1tokens = new boolean[155]; + boolean[] la1tokens = new boolean[156]; if (jj_kind >= 0) { la1tokens[jj_kind] = true; jj_kind = -1; } - for (int i = 0; i < 120; i++) { + for (int i = 0; i < 121; i++) { if (jj_la1[i] == jj_gen) { for (int j = 0; j < 32; j++) { if ((jj_la1_0[i] & (1<': jjmatchedKind = 86; - return jjMoveStringLiteralDfa1_0(0x0L, 0x500000080000000L, 0x5000L); + return jjMoveStringLiteralDfa1_0(0x0L, 0x20000000L, 0x0L); + case '>': + jjmatchedKind = 87; + return jjMoveStringLiteralDfa1_0(0x0L, 0xa00000100000000L, 0xa000L); case '?': - jjmatchedKind = 149; - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x21c0000L); + jjmatchedKind = 150; + return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x4380000L); case '@': - return jjMoveStringLiteralDfa1_0(0x0L, 0xaaaa02942800000L, 0xaaaaL); + return jjMoveStringLiteralDfa1_0(0x0L, 0x1555405285000000L, 0x15554L); case '[': - return jjStopAtPos(0, 80); - case ']': return jjStopAtPos(0, 81); + case ']': + return jjStopAtPos(0, 82); case '^': - jjmatchedKind = 112; - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x10L); + jjmatchedKind = 113; + return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x20L); case 'a': - return jjMoveStringLiteralDfa1_0(0x800L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x4000000800L, 0x0L, 0x0L); case 'b': return jjMoveStringLiteralDfa1_0(0xb000L, 0x0L, 0x0L); case 'c': return jjMoveStringLiteralDfa1_0(0x1f4000L, 0x0L, 0x0L); case 'd': - return jjMoveStringLiteralDfa1_0(0xe00000L, 0x0L, 0x4000000L); + return jjMoveStringLiteralDfa1_0(0xe00000L, 0x0L, 0x8000000L); case 'e': return jjMoveStringLiteralDfa1_0(0x7000000L, 0x0L, 0x0L); case 'f': @@ -271,32 +271,32 @@ private int jjMoveStringLiteralDfa0_0(){ case 'g': return jjMoveStringLiteralDfa1_0(0x100000000L, 0x0L, 0x0L); case 'i': - return jjMoveStringLiteralDfa1_0(0xfe00000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x1be00000000L, 0x0L, 0x0L); case 'l': - return jjMoveStringLiteralDfa1_0(0x10000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x20000000000L, 0x0L, 0x0L); case 'n': - return jjMoveStringLiteralDfa1_0(0xe0000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x1c0000000000L, 0x0L, 0x0L); case 'p': - return jjMoveStringLiteralDfa1_0(0xf00000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x1e00000000000L, 0x0L, 0x0L); case 'r': - return jjMoveStringLiteralDfa1_0(0x1000000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x2000000000000L, 0x0L, 0x0L); case 's': - return jjMoveStringLiteralDfa1_0(0x3e000000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x7c000000000000L, 0x0L, 0x0L); case 't': - return jjMoveStringLiteralDfa1_0(0x7c0000000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0xf80000000000000L, 0x0L, 0x0L); case 'v': - return jjMoveStringLiteralDfa1_0(0x1800000000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x3000000000000000L, 0x0L, 0x0L); case 'w': - return jjMoveStringLiteralDfa1_0(0x2000000000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x4000000000000000L, 0x0L, 0x0L); case '{': - return jjStopAtPos(0, 78); + return jjStopAtPos(0, 79); case '|': - jjmatchedKind = 110; - return jjMoveStringLiteralDfa1_0(0x0L, 0x400000000L, 0x4L); + jjmatchedKind = 111; + return jjMoveStringLiteralDfa1_0(0x0L, 0x800000000L, 0x8L); case '}': - return jjStopAtPos(0, 79); + return jjStopAtPos(0, 80); case '~': - return jjStopAtPos(0, 91); + return jjStopAtPos(0, 92); default : return jjMoveNfa_0(1, 0); } @@ -310,55 +310,53 @@ private int jjMoveStringLiteralDfa1_0(long active0, long active1, long active2){ switch(curChar) { case '&': - if ((active1 & 0x1000000000L) != 0x0L) - return jjStopAtPos(1, 100); + if ((active1 & 0x2000000000L) != 0x0L) + return jjStopAtPos(1, 101); break; case '*': - if ((active1 & 0x10000000000000L) != 0x0L) + if ((active1 & 0x20000000000000L) != 0x0L) { - jjmatchedKind = 116; + jjmatchedKind = 117; jjmatchedPos = 1; } - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x100L); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x200L); case '+': - if ((active1 & 0x4000000000L) != 0x0L) - return jjStopAtPos(1, 102); - break; - case '-': if ((active1 & 0x8000000000L) != 0x0L) return jjStopAtPos(1, 103); break; + case '-': + if ((active1 & 0x10000000000L) != 0x0L) + return jjStopAtPos(1, 104); + break; case '.': - if ((active2 & 0x2000000L) != 0x0L) - return jjStopAtPos(1, 153); - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x1000000L); + if ((active2 & 0x4000000L) != 0x0L) + return jjStopAtPos(1, 154); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x2000000L); case ':': - if ((active2 & 0x100000L) != 0x0L) - return jjStopAtPos(1, 148); - else if ((active2 & 0x800000L) != 0x0L) - return jjStopAtPos(1, 151); + if ((active2 & 0x200000L) != 0x0L) + return jjStopAtPos(1, 149); + else if ((active2 & 0x1000000L) != 0x0L) + return jjStopAtPos(1, 152); break; case '<': - if ((active1 & 0x40000000000000L) != 0x0L) + if ((active1 & 0x80000000000000L) != 0x0L) { - jjmatchedKind = 118; + jjmatchedKind = 119; jjmatchedPos = 1; } - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x400L); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x800L); case '=': - if ((active1 & 0x10000000L) != 0x0L) - return jjStopAtPos(1, 92); - else if ((active1 & 0x20000000L) != 0x0L) + if ((active1 & 0x20000000L) != 0x0L) + return jjStopAtPos(1, 93); + else if ((active1 & 0x40000000L) != 0x0L) { - jjmatchedKind = 93; + jjmatchedKind = 94; jjmatchedPos = 1; } - else if ((active1 & 0x80000000L) != 0x0L) - return jjStopAtPos(1, 95); - else if ((active1 & 0x200000000L) != 0x0L) - return jjStopAtPos(1, 97); - else if ((active1 & 0x1000000000000000L) != 0x0L) - return jjStopAtPos(1, 124); + else if ((active1 & 0x100000000L) != 0x0L) + return jjStopAtPos(1, 96); + else if ((active1 & 0x400000000L) != 0x0L) + return jjStopAtPos(1, 98); else if ((active1 & 0x2000000000000000L) != 0x0L) return jjStopAtPos(1, 125); else if ((active1 & 0x4000000000000000L) != 0x0L) @@ -367,79 +365,83 @@ else if ((active1 & 0x8000000000000000L) != 0x0L) return jjStopAtPos(1, 127); else if ((active2 & 0x1L) != 0x0L) return jjStopAtPos(1, 128); - else if ((active2 & 0x4L) != 0x0L) - return jjStopAtPos(1, 130); - else if ((active2 & 0x10L) != 0x0L) - return jjStopAtPos(1, 132); - else if ((active2 & 0x40L) != 0x0L) - return jjStopAtPos(1, 134); - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x20000L); + else if ((active2 & 0x2L) != 0x0L) + return jjStopAtPos(1, 129); + else if ((active2 & 0x8L) != 0x0L) + return jjStopAtPos(1, 131); + else if ((active2 & 0x20L) != 0x0L) + return jjStopAtPos(1, 133); + else if ((active2 & 0x80L) != 0x0L) + return jjStopAtPos(1, 135); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x40000L); case '>': - if ((active1 & 0x100000000000000L) != 0x0L) + if ((active1 & 0x200000000000000L) != 0x0L) { - jjmatchedKind = 120; + jjmatchedKind = 121; jjmatchedPos = 1; } - else if ((active2 & 0x10000L) != 0x0L) - return jjStopAtPos(1, 144); - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x400000000000000L, active2, 0x5000L); + else if ((active2 & 0x20000L) != 0x0L) + return jjStopAtPos(1, 145); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x800000000000000L, active2, 0xa000L); case '?': - if ((active2 & 0x80000L) != 0x0L) + if ((active2 & 0x100000L) != 0x0L) { - jjmatchedKind = 147; + jjmatchedKind = 148; jjmatchedPos = 1; } - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x40000L); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x80000L); case 'a': - return jjMoveStringLiteralDfa2_0(active0, 0x120008030000L, active1, 0x2000000000L, active2, 0x2L); + return jjMoveStringLiteralDfa2_0(active0, 0x240008030000L, active1, 0x4000000000L, active2, 0x4L); case 'b': - return jjMoveStringLiteralDfa2_0(active0, 0x800L, active1, 0x2a00000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x800L, active1, 0x5400000000000L, active2, 0x0L); case 'e': - return jjMoveStringLiteralDfa2_0(active0, 0x1040000200000L, active1, 0x0L, active2, 0x4000000L); + return jjMoveStringLiteralDfa2_0(active0, 0x2080000200000L, active1, 0x0L, active2, 0x8000000L); case 'f': if ((active0 & 0x200000000L) != 0x0L) return jjStartNfaWithStates_0(1, 33, 42); break; case 'g': - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x100800000L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x201000000L, active2, 0x0L); case 'h': - return jjMoveStringLiteralDfa2_0(active0, 0x2182000000040000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x4304000000040000L, active1, 0x0L, active2, 0x0L); case 'i': return jjMoveStringLiteralDfa2_0(active0, 0x30000000L, active1, 0x0L, active2, 0x0L); case 'l': - return jjMoveStringLiteralDfa2_0(active0, 0x41004000L, active1, 0x80000042000000L, active2, 0x800L); + return jjMoveStringLiteralDfa2_0(active0, 0x41004000L, active1, 0x100000084000000L, active2, 0x1000L); case 'm': - return jjMoveStringLiteralDfa2_0(active0, 0xc00000000L, active1, 0x8000000000000L, active2, 0x80L); + return jjMoveStringLiteralDfa2_0(active0, 0xc00000000L, active1, 0x10000000000000L, active2, 0x100L); case 'n': - return jjMoveStringLiteralDfa2_0(active0, 0xd002000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x19002000000L, active1, 0x0L, active2, 0x0L); case 'o': if ((active0 & 0x400000L) != 0x0L) { jjmatchedKind = 22; jjmatchedPos = 1; } - return jjMoveStringLiteralDfa2_0(active0, 0x1800010180981000L, active1, 0x800000000L, active2, 0x8L); + return jjMoveStringLiteralDfa2_0(active0, 0x3000020180981000L, active1, 0x1000000000L, active2, 0x10L); case 'p': - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x20000000000000L, active2, 0x200L); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x40000000000000L, active2, 0x400L); case 'r': - return jjMoveStringLiteralDfa2_0(active0, 0x640600000002000L, active1, 0xa00000000000000L, active2, 0xa000L); + return jjMoveStringLiteralDfa2_0(active0, 0xc80c00000002000L, active1, 0x1400000000000000L, active2, 0x14000L); case 's': if ((active0 & 0x2000000000L) != 0x0L) return jjStartNfaWithStates_0(1, 37, 42); + else if ((active0 & 0x4000000000L) != 0x0L) + return jjStartNfaWithStates_0(1, 38, 42); break; case 't': - return jjMoveStringLiteralDfa2_0(active0, 0xc000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x18000000000000L, active1, 0x0L, active2, 0x0L); case 'u': - return jjMoveStringLiteralDfa2_0(active0, 0x880000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x1100000000000L, active1, 0x0L, active2, 0x0L); case 'w': - return jjMoveStringLiteralDfa2_0(active0, 0x10000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x20000000000000L, active1, 0x0L, active2, 0x0L); case 'x': - return jjMoveStringLiteralDfa2_0(active0, 0x4000000L, active1, 0x0L, active2, 0x20L); + return jjMoveStringLiteralDfa2_0(active0, 0x4000000L, active1, 0x0L, active2, 0x40L); case 'y': - return jjMoveStringLiteralDfa2_0(active0, 0x20000000008000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x40000000008000L, active1, 0x0L, active2, 0x0L); case '|': - if ((active1 & 0x400000000L) != 0x0L) - return jjStopAtPos(1, 98); + if ((active1 & 0x800000000L) != 0x0L) + return jjStopAtPos(1, 99); break; default : break; @@ -457,85 +459,85 @@ private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long a switch(curChar) { case '.': - if ((active2 & 0x1000000L) != 0x0L) - return jjStopAtPos(2, 152); + if ((active2 & 0x2000000L) != 0x0L) + return jjStopAtPos(2, 153); break; case '=': - if ((active2 & 0x100L) != 0x0L) - return jjStopAtPos(2, 136); - else if ((active2 & 0x400L) != 0x0L) - return jjStopAtPos(2, 138); - else if ((active2 & 0x1000L) != 0x0L) - return jjStopAtPos(2, 140); - else if ((active2 & 0x40000L) != 0x0L) - return jjStopAtPos(2, 146); + if ((active2 & 0x200L) != 0x0L) + return jjStopAtPos(2, 137); + else if ((active2 & 0x800L) != 0x0L) + return jjStopAtPos(2, 139); + else if ((active2 & 0x2000L) != 0x0L) + return jjStopAtPos(2, 141); + else if ((active2 & 0x80000L) != 0x0L) + return jjStopAtPos(2, 147); break; case '>': - if ((active1 & 0x400000000000000L) != 0x0L) + if ((active1 & 0x800000000000000L) != 0x0L) { - jjmatchedKind = 122; + jjmatchedKind = 123; jjmatchedPos = 2; } - else if ((active2 & 0x20000L) != 0x0L) - return jjStopAtPos(2, 145); - return jjMoveStringLiteralDfa3_0(active0, 0x0L, active1, 0x0L, active2, 0x4000L); + else if ((active2 & 0x40000L) != 0x0L) + return jjStopAtPos(2, 146); + return jjMoveStringLiteralDfa3_0(active0, 0x0L, active1, 0x0L, active2, 0x8000L); case 'a': - return jjMoveStringLiteralDfa3_0(active0, 0x44000000044000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa3_0(active0, 0x88000000044000L, active1, 0x0L, active2, 0x0L); case 'b': - return jjMoveStringLiteralDfa3_0(active0, 0x800000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa3_0(active0, 0x1000000000000L, active1, 0x0L, active2, 0x0L); case 'c': - return jjMoveStringLiteralDfa3_0(active0, 0x100000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa3_0(active0, 0x200000000000L, active1, 0x0L, active2, 0x0L); case 'e': - return jjMoveStringLiteralDfa3_0(active0, 0x2000L, active1, 0x80000000000000L, active2, 0x800L); + return jjMoveStringLiteralDfa3_0(active0, 0x2000L, active1, 0x100000000000000L, active2, 0x1000L); case 'f': - return jjMoveStringLiteralDfa3_0(active0, 0x200000L, active1, 0x0L, active2, 0x4000000L); + return jjMoveStringLiteralDfa3_0(active0, 0x200000L, active1, 0x0L, active2, 0x8000000L); case 'i': - return jjMoveStringLiteralDfa3_0(active0, 0x2810200000000000L, active1, 0xa02a00000000000L, active2, 0xa000L); + return jjMoveStringLiteralDfa3_0(active0, 0x5020400000000000L, active1, 0x1405400000000000L, active2, 0x14000L); case 'l': - return jjMoveStringLiteralDfa3_0(active0, 0x1000080008000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa3_0(active0, 0x2000100008000000L, active1, 0x0L, active2, 0x0L); case 'n': - return jjMoveStringLiteralDfa3_0(active0, 0x20010030180000L, active1, 0x2000000000L, active2, 0x2L); + return jjMoveStringLiteralDfa3_0(active0, 0x40020030180000L, active1, 0x4000000000L, active2, 0x4L); case 'o': - return jjMoveStringLiteralDfa3_0(active0, 0x2400040001000L, active1, 0x28000000000000L, active2, 0x2a0L); + return jjMoveStringLiteralDfa3_0(active0, 0x4800040001000L, active1, 0x50000000000000L, active2, 0x540L); case 'p': return jjMoveStringLiteralDfa3_0(active0, 0xc00000000L, active1, 0x0L, active2, 0x0L); case 'r': if ((active0 & 0x80000000L) != 0x0L) return jjStartNfaWithStates_0(2, 31, 42); - else if ((active1 & 0x800000000L) != 0x0L) + else if ((active1 & 0x1000000000L) != 0x0L) { - jjmatchedKind = 99; + jjmatchedKind = 100; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0x188000000000000L, active1, 0x0L, active2, 0x8L); + return jjMoveStringLiteralDfa3_0(active0, 0x310000000000000L, active1, 0x0L, active2, 0x10L); case 's': return jjMoveStringLiteralDfa3_0(active0, 0x1001010800L, active1, 0x0L, active2, 0x0L); case 't': - if ((active0 & 0x4000000000L) != 0x0L) + if ((active0 & 0x8000000000L) != 0x0L) { - jjmatchedKind = 38; + jjmatchedKind = 39; jjmatchedPos = 2; } - else if ((active1 & 0x800000L) != 0x0L) + else if ((active1 & 0x1000000L) != 0x0L) { - jjmatchedKind = 87; + jjmatchedKind = 88; jjmatchedPos = 2; } - else if ((active1 & 0x2000000L) != 0x0L) + else if ((active1 & 0x4000000L) != 0x0L) { - jjmatchedKind = 89; + jjmatchedKind = 90; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0x1028104028000L, active1, 0x140000000L, active2, 0x0L); + return jjMoveStringLiteralDfa3_0(active0, 0x2050104028000L, active1, 0x280000000L, active2, 0x0L); case 'u': - return jjMoveStringLiteralDfa3_0(active0, 0x200000002800000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa3_0(active0, 0x400000002800000L, active1, 0x0L, active2, 0x0L); case 'w': - if ((active0 & 0x40000000000L) != 0x0L) - return jjStartNfaWithStates_0(2, 42, 42); + if ((active0 & 0x80000000000L) != 0x0L) + return jjStartNfaWithStates_0(2, 43, 42); break; case 'y': - if ((active0 & 0x400000000000000L) != 0x0L) - return jjStartNfaWithStates_0(2, 58, 42); + if ((active0 & 0x800000000000000L) != 0x0L) + return jjStartNfaWithStates_0(2, 59, 42); break; default : break; @@ -553,31 +555,31 @@ private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long a switch(curChar) { case '=': - if ((active2 & 0x4000L) != 0x0L) - return jjStopAtPos(3, 142); + if ((active2 & 0x8000L) != 0x0L) + return jjStopAtPos(3, 143); break; case '_': - return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x0L, active2, 0x8L); + return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x0L, active2, 0x10L); case 'a': - return jjMoveStringLiteralDfa4_0(active0, 0x1000000070202000L, active1, 0x0L, active2, 0x4000000L); + return jjMoveStringLiteralDfa4_0(active0, 0x2000000070202000L, active1, 0x0L, active2, 0x8000000L); case 'b': return jjMoveStringLiteralDfa4_0(active0, 0x800000L, active1, 0x0L, active2, 0x0L); case 'c': - return jjMoveStringLiteralDfa4_0(active0, 0x20000000020000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x40000000020000L, active1, 0x0L, active2, 0x0L); case 'd': - if ((active0 & 0x800000000000000L) != 0x0L) - return jjStartNfaWithStates_0(3, 59, 42); - else if ((active1 & 0x2000000000L) != 0x0L) + if ((active0 & 0x1000000000000000L) != 0x0L) + return jjStartNfaWithStates_0(3, 60, 42); + else if ((active1 & 0x4000000000L) != 0x0L) { - jjmatchedKind = 101; + jjmatchedKind = 102; jjmatchedPos = 3; } - else if ((active1 & 0x8000000000000L) != 0x0L) + else if ((active1 & 0x10000000000000L) != 0x0L) { - jjmatchedKind = 115; + jjmatchedKind = 116; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x0L, active2, 0x82L); + return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x0L, active2, 0x104L); case 'e': if ((active0 & 0x8000L) != 0x0L) return jjStartNfaWithStates_0(3, 15, 42); @@ -585,52 +587,52 @@ else if ((active0 & 0x10000L) != 0x0L) return jjStartNfaWithStates_0(3, 16, 42); else if ((active0 & 0x1000000L) != 0x0L) return jjStartNfaWithStates_0(3, 24, 42); - else if ((active0 & 0x200000000000000L) != 0x0L) - return jjStartNfaWithStates_0(3, 57, 42); - return jjMoveStringLiteralDfa4_0(active0, 0x8004000000L, active1, 0x140000000L, active2, 0x0L); + else if ((active0 & 0x400000000000000L) != 0x0L) + return jjStartNfaWithStates_0(3, 58, 42); + return jjMoveStringLiteralDfa4_0(active0, 0x10004000000L, active1, 0x280000000L, active2, 0x0L); case 'f': - return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x80000000000000L, active2, 0x800L); + return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x100000000000000L, active2, 0x1000L); case 'g': - if ((active0 & 0x10000000000L) != 0x0L) - return jjStartNfaWithStates_0(3, 40, 42); - return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0xa00000000000000L, active2, 0xa000L); + if ((active0 & 0x20000000000L) != 0x0L) + return jjStartNfaWithStates_0(3, 41, 42); + return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x1400000000000000L, active2, 0x14000L); case 'i': - return jjMoveStringLiteralDfa4_0(active0, 0x8020000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x10040000000000L, active1, 0x0L, active2, 0x0L); case 'k': - return jjMoveStringLiteralDfa4_0(active0, 0x100000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x200000000000L, active1, 0x0L, active2, 0x0L); case 'l': - if ((active0 & 0x80000000000L) != 0x0L) - return jjStartNfaWithStates_0(3, 43, 42); - return jjMoveStringLiteralDfa4_0(active0, 0x2000800400001000L, active1, 0x0L, active2, 0x0L); + if ((active0 & 0x100000000000L) != 0x0L) + return jjStartNfaWithStates_0(3, 44, 42); + return jjMoveStringLiteralDfa4_0(active0, 0x4001000400001000L, active1, 0x0L, active2, 0x0L); case 'm': if ((active0 & 0x2000000L) != 0x0L) return jjStartNfaWithStates_0(3, 25, 42); break; case 'n': - return jjMoveStringLiteralDfa4_0(active0, 0x40000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x80000000000000L, active1, 0x0L, active2, 0x0L); case 'o': if ((active0 & 0x100000000L) != 0x0L) return jjStartNfaWithStates_0(3, 32, 42); - return jjMoveStringLiteralDfa4_0(active0, 0x180000800000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x300000800000000L, active1, 0x0L, active2, 0x0L); case 'r': if ((active0 & 0x40000L) != 0x0L) return jjStartNfaWithStates_0(3, 18, 42); - return jjMoveStringLiteralDfa4_0(active0, 0x2000000000000L, active1, 0x0L, active2, 0x20L); + return jjMoveStringLiteralDfa4_0(active0, 0x4000000000000L, active1, 0x0L, active2, 0x40L); case 's': return jjMoveStringLiteralDfa4_0(active0, 0x8084000L, active1, 0x0L, active2, 0x0L); case 't': - return jjMoveStringLiteralDfa4_0(active0, 0x14401000100800L, active1, 0x2a00000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x28801000100800L, active1, 0x5400000000000L, active2, 0x0L); case 'u': - return jjMoveStringLiteralDfa4_0(active0, 0x1000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x2000000000000L, active1, 0x0L, active2, 0x0L); case 'v': - return jjMoveStringLiteralDfa4_0(active0, 0x200000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x400000000000L, active1, 0x0L, active2, 0x0L); case 'w': - if ((active1 & 0x20000000000000L) != 0x0L) + if ((active1 & 0x40000000000000L) != 0x0L) { - jjmatchedKind = 117; + jjmatchedKind = 118; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x0L, active2, 0x200L); + return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x0L, active2, 0x400L); default : break; } @@ -647,23 +649,23 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a switch(curChar) { case '_': - return jjMoveStringLiteralDfa5_0(active0, 0x0L, active1, 0x0L, active2, 0x2a2L); + return jjMoveStringLiteralDfa5_0(active0, 0x0L, active1, 0x0L, active2, 0x544L); case 'a': - return jjMoveStringLiteralDfa5_0(active0, 0x301000000000L, active1, 0x0L, active2, 0x8L); + return jjMoveStringLiteralDfa5_0(active0, 0x601000000000L, active1, 0x0L, active2, 0x10L); case 'c': - return jjMoveStringLiteralDfa5_0(active0, 0x18000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa5_0(active0, 0x30000000000000L, active1, 0x0L, active2, 0x0L); case 'e': if ((active0 & 0x8000000L) != 0x0L) return jjStartNfaWithStates_0(4, 27, 42); - else if ((active0 & 0x2000000000000000L) != 0x0L) - return jjStartNfaWithStates_0(4, 61, 42); - return jjMoveStringLiteralDfa5_0(active0, 0x400400001000L, active1, 0x0L, active2, 0x0L); + else if ((active0 & 0x4000000000000000L) != 0x0L) + return jjStartNfaWithStates_0(4, 62, 42); + return jjMoveStringLiteralDfa5_0(active0, 0x800400001000L, active1, 0x0L, active2, 0x0L); case 'h': if ((active0 & 0x20000L) != 0x0L) return jjStartNfaWithStates_0(4, 17, 42); - return jjMoveStringLiteralDfa5_0(active0, 0x20000000000000L, active1, 0xa00000000000000L, active2, 0xa000L); + return jjMoveStringLiteralDfa5_0(active0, 0x40000000000000L, active1, 0x1400000000000000L, active2, 0x14000L); case 'i': - return jjMoveStringLiteralDfa5_0(active0, 0x4800000100000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa5_0(active0, 0x9000000100000L, active1, 0x0L, active2, 0x0L); case 'k': if ((active0 & 0x2000L) != 0x0L) return jjStartNfaWithStates_0(4, 13, 42); @@ -678,36 +680,36 @@ else if ((active0 & 0x2000000000000000L) != 0x0L) case 'n': return jjMoveStringLiteralDfa5_0(active0, 0x4000000L, active1, 0x0L, active2, 0x0L); case 'q': - if ((active1 & 0x40000000L) != 0x0L) - return jjStopAtPos(4, 94); - else if ((active1 & 0x100000000L) != 0x0L) - return jjStopAtPos(4, 96); + if ((active1 & 0x80000000L) != 0x0L) + return jjStopAtPos(4, 95); + else if ((active1 & 0x200000000L) != 0x0L) + return jjStopAtPos(4, 97); break; case 'r': - return jjMoveStringLiteralDfa5_0(active0, 0x1008800000800L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa5_0(active0, 0x2010800000800L, active1, 0x0L, active2, 0x0L); case 's': if ((active0 & 0x4000L) != 0x0L) return jjStartNfaWithStates_0(4, 14, 42); - return jjMoveStringLiteralDfa5_0(active0, 0x40000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa5_0(active0, 0x80000000000000L, active1, 0x0L, active2, 0x0L); case 't': if ((active0 & 0x80000L) != 0x0L) return jjStartNfaWithStates_0(4, 19, 42); else if ((active0 & 0x40000000L) != 0x0L) return jjStartNfaWithStates_0(4, 30, 42); - else if ((active0 & 0x2000000000000L) != 0x0L) - return jjStartNfaWithStates_0(4, 49, 42); - return jjMoveStringLiteralDfa5_0(active0, 0x1000000000000000L, active1, 0x80000000000000L, active2, 0x800L); + else if ((active0 & 0x4000000000000L) != 0x0L) + return jjStartNfaWithStates_0(4, 50, 42); + return jjMoveStringLiteralDfa5_0(active0, 0x2000000000000000L, active1, 0x100000000000000L, active2, 0x1000L); case 'u': - return jjMoveStringLiteralDfa5_0(active0, 0x200000L, active1, 0x0L, active2, 0x4000000L); + return jjMoveStringLiteralDfa5_0(active0, 0x200000L, active1, 0x0L, active2, 0x8000000L); case 'v': - return jjMoveStringLiteralDfa5_0(active0, 0x20000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa5_0(active0, 0x40000000000L, active1, 0x0L, active2, 0x0L); case 'w': - if ((active0 & 0x80000000000000L) != 0x0L) + if ((active0 & 0x100000000000000L) != 0x0L) { - jjmatchedKind = 55; + jjmatchedKind = 56; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0x100000000000000L, active1, 0x2a00000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa5_0(active0, 0x200000000000000L, active1, 0x5400000000000L, active2, 0x0L); default : break; } @@ -724,51 +726,51 @@ private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long a switch(curChar) { case '_': - return jjMoveStringLiteralDfa6_0(active0, 0x0L, active1, 0x80000000000000L, active2, 0x800L); + return jjMoveStringLiteralDfa6_0(active0, 0x0L, active1, 0x100000000000000L, active2, 0x1000L); case 'a': - return jjMoveStringLiteralDfa6_0(active0, 0x1800L, active1, 0x0L, active2, 0x2a2L); + return jjMoveStringLiteralDfa6_0(active0, 0x1800L, active1, 0x0L, active2, 0x544L); case 'c': - if ((active0 & 0x800000000000L) != 0x0L) - return jjStartNfaWithStates_0(5, 47, 42); - else if ((active0 & 0x4000000000000L) != 0x0L) - return jjStartNfaWithStates_0(5, 50, 42); - return jjMoveStringLiteralDfa6_0(active0, 0x400000000000L, active1, 0x0L, active2, 0x0L); + if ((active0 & 0x1000000000000L) != 0x0L) + return jjStartNfaWithStates_0(5, 48, 42); + else if ((active0 & 0x8000000000000L) != 0x0L) + return jjStartNfaWithStates_0(5, 51, 42); + return jjMoveStringLiteralDfa6_0(active0, 0x800000000000L, active1, 0x0L, active2, 0x0L); case 'd': return jjMoveStringLiteralDfa6_0(active0, 0x4000000L, active1, 0x0L, active2, 0x0L); case 'e': if ((active0 & 0x800000L) != 0x0L) return jjStartNfaWithStates_0(5, 23, 42); - else if ((active0 & 0x20000000000L) != 0x0L) - return jjStartNfaWithStates_0(5, 41, 42); + else if ((active0 & 0x40000000000L) != 0x0L) + return jjStartNfaWithStates_0(5, 42, 42); break; case 'f': - return jjMoveStringLiteralDfa6_0(active0, 0x8000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa6_0(active0, 0x10000000000L, active1, 0x0L, active2, 0x0L); case 'g': - return jjMoveStringLiteralDfa6_0(active0, 0x100000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa6_0(active0, 0x200000000000L, active1, 0x0L, active2, 0x0L); case 'h': - if ((active0 & 0x10000000000000L) != 0x0L) - return jjStartNfaWithStates_0(5, 52, 42); + if ((active0 & 0x20000000000000L) != 0x0L) + return jjStartNfaWithStates_0(5, 53, 42); break; case 'i': - return jjMoveStringLiteralDfa6_0(active0, 0x1040000000000000L, active1, 0x2a00000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa6_0(active0, 0x2080000000000000L, active1, 0x5400000000000L, active2, 0x0L); case 'l': - return jjMoveStringLiteralDfa6_0(active0, 0x20200000L, active1, 0x0L, active2, 0x4000000L); + return jjMoveStringLiteralDfa6_0(active0, 0x20200000L, active1, 0x0L, active2, 0x8000000L); case 'm': return jjMoveStringLiteralDfa6_0(active0, 0x400000000L, active1, 0x0L, active2, 0x0L); case 'n': - if ((active0 & 0x1000000000000L) != 0x0L) - return jjStartNfaWithStates_0(5, 48, 42); + if ((active0 & 0x2000000000000L) != 0x0L) + return jjStartNfaWithStates_0(5, 49, 42); return jjMoveStringLiteralDfa6_0(active0, 0x1000100000L, active1, 0x0L, active2, 0x0L); case 'r': - return jjMoveStringLiteralDfa6_0(active0, 0x20000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa6_0(active0, 0x40000000000000L, active1, 0x0L, active2, 0x0L); case 's': - if ((active0 & 0x100000000000000L) != 0x0L) - return jjStartNfaWithStates_0(5, 56, 42); - return jjMoveStringLiteralDfa6_0(active0, 0x0L, active1, 0x0L, active2, 0x8L); + if ((active0 & 0x200000000000000L) != 0x0L) + return jjStartNfaWithStates_0(5, 57, 42); + return jjMoveStringLiteralDfa6_0(active0, 0x0L, active1, 0x0L, active2, 0x10L); case 't': if ((active0 & 0x800000000L) != 0x0L) return jjStartNfaWithStates_0(5, 35, 42); - return jjMoveStringLiteralDfa6_0(active0, 0x8200000000000L, active1, 0xa00000000000000L, active2, 0xa000L); + return jjMoveStringLiteralDfa6_0(active0, 0x10400000000000L, active1, 0x1400000000000000L, active2, 0x14000L); default : break; } @@ -785,38 +787,38 @@ private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long a switch(curChar) { case '_': - return jjMoveStringLiteralDfa7_0(active0, 0x0L, active1, 0xa00000000000000L, active2, 0xa000L); + return jjMoveStringLiteralDfa7_0(active0, 0x0L, active1, 0x1400000000000000L, active2, 0x14000L); case 'a': - return jjMoveStringLiteralDfa7_0(active0, 0x8000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa7_0(active0, 0x10000000000L, active1, 0x0L, active2, 0x0L); case 'c': return jjMoveStringLiteralDfa7_0(active0, 0x1000000800L, active1, 0x0L, active2, 0x0L); case 'e': - if ((active0 & 0x100000000000L) != 0x0L) - return jjStartNfaWithStates_0(6, 44, 42); - else if ((active0 & 0x200000000000L) != 0x0L) + if ((active0 & 0x200000000000L) != 0x0L) return jjStartNfaWithStates_0(6, 45, 42); - return jjMoveStringLiteralDfa7_0(active0, 0x40000400000000L, active1, 0x0L, active2, 0x0L); + else if ((active0 & 0x400000000000L) != 0x0L) + return jjStartNfaWithStates_0(6, 46, 42); + return jjMoveStringLiteralDfa7_0(active0, 0x80000400000000L, active1, 0x0L, active2, 0x0L); case 'f': - return jjMoveStringLiteralDfa7_0(active0, 0x8000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa7_0(active0, 0x10000000000000L, active1, 0x0L, active2, 0x0L); case 'l': - return jjMoveStringLiteralDfa7_0(active0, 0x1000000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa7_0(active0, 0x2000000000000000L, active1, 0x0L, active2, 0x0L); case 'n': if ((active0 & 0x1000L) != 0x0L) return jjStartNfaWithStates_0(6, 12, 42); break; case 'o': - return jjMoveStringLiteralDfa7_0(active0, 0x20000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa7_0(active0, 0x40000000000000L, active1, 0x0L, active2, 0x0L); case 's': if ((active0 & 0x4000000L) != 0x0L) return jjStartNfaWithStates_0(6, 26, 42); - return jjMoveStringLiteralDfa7_0(active0, 0x0L, active1, 0x82a00000000000L, active2, 0xaaaL); + return jjMoveStringLiteralDfa7_0(active0, 0x0L, active1, 0x105400000000000L, active2, 0x1554L); case 't': if ((active0 & 0x200000L) != 0x0L) { jjmatchedKind = 21; jjmatchedPos = 6; } - return jjMoveStringLiteralDfa7_0(active0, 0x400000000000L, active1, 0x0L, active2, 0x4000000L); + return jjMoveStringLiteralDfa7_0(active0, 0x800000000000L, active1, 0x0L, active2, 0x8000000L); case 'u': return jjMoveStringLiteralDfa7_0(active0, 0x100000L, active1, 0x0L, active2, 0x0L); case 'y': @@ -839,35 +841,35 @@ private int jjMoveStringLiteralDfa7_0(long old0, long active0, long old1, long a switch(curChar) { case ':': - if ((active2 & 0x4000000L) != 0x0L) - return jjStopAtPos(7, 154); + if ((active2 & 0x8000000L) != 0x0L) + return jjStopAtPos(7, 155); break; case 'c': - return jjMoveStringLiteralDfa8_0(active0, 0x8000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa8_0(active0, 0x10000000000L, active1, 0x0L, active2, 0x0L); case 'e': if ((active0 & 0x100000L) != 0x0L) return jjStartNfaWithStates_0(7, 20, 42); - else if ((active0 & 0x1000000000000000L) != 0x0L) - return jjStartNfaWithStates_0(7, 60, 42); - return jjMoveStringLiteralDfa8_0(active0, 0x401000000000L, active1, 0x2a00000000000L, active2, 0x0L); + else if ((active0 & 0x2000000000000000L) != 0x0L) + return jjStartNfaWithStates_0(7, 61, 42); + return jjMoveStringLiteralDfa8_0(active0, 0x801000000000L, active1, 0x5400000000000L, active2, 0x0L); case 'h': - return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x80000000000000L, active2, 0x800L); + return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x100000000000000L, active2, 0x1000L); case 'i': - return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x0L, active2, 0x8L); + return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x0L, active2, 0x10L); case 'n': - return jjMoveStringLiteralDfa8_0(active0, 0x60000400000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa8_0(active0, 0xc0000400000000L, active1, 0x0L, active2, 0x0L); case 'p': - if ((active0 & 0x8000000000000L) != 0x0L) - return jjStartNfaWithStates_0(7, 51, 42); + if ((active0 & 0x10000000000000L) != 0x0L) + return jjStartNfaWithStates_0(7, 52, 42); break; case 's': - return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x200000000000000L, active2, 0x22a2L); + return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x400000000000000L, active2, 0x4544L); case 't': if ((active0 & 0x800L) != 0x0L) return jjStartNfaWithStates_0(7, 11, 42); break; case 'u': - return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x1000000000000000L, active2, 0x10000L); default : break; } @@ -884,28 +886,28 @@ private int jjMoveStringLiteralDfa8_0(long old0, long active0, long old1, long a switch(curChar) { case '_': - return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x2a00000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x5400000000000L, active2, 0x0L); case 'd': - if ((active0 & 0x400000000000L) != 0x0L) - return jjStartNfaWithStates_0(8, 46, 42); + if ((active0 & 0x800000000000L) != 0x0L) + return jjStartNfaWithStates_0(8, 47, 42); break; case 'e': - if ((active0 & 0x8000000000L) != 0x0L) - return jjStartNfaWithStates_0(8, 39, 42); + if ((active0 & 0x10000000000L) != 0x0L) + return jjStartNfaWithStates_0(8, 40, 42); break; case 'g': - return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x0L, active2, 0x8L); + return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x0L, active2, 0x10L); case 'h': - return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x200000000000000L, active2, 0x2000L); + return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x400000000000000L, active2, 0x4000L); case 'i': - return jjMoveStringLiteralDfa9_0(active0, 0x20000000000000L, active1, 0x80000000000000L, active2, 0xaa2L); + return jjMoveStringLiteralDfa9_0(active0, 0x40000000000000L, active1, 0x100000000000000L, active2, 0x1544L); case 'n': - return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x1000000000000000L, active2, 0x10000L); case 'o': return jjMoveStringLiteralDfa9_0(active0, 0x1000000000L, active1, 0x0L, active2, 0x0L); case 't': - if ((active0 & 0x40000000000000L) != 0x0L) - return jjStartNfaWithStates_0(8, 54, 42); + if ((active0 & 0x80000000000000L) != 0x0L) + return jjStartNfaWithStates_0(8, 55, 42); return jjMoveStringLiteralDfa9_0(active0, 0x400000000L, active1, 0x0L, active2, 0x0L); default : break; @@ -923,29 +925,29 @@ private int jjMoveStringLiteralDfa9_0(long old0, long active0, long old1, long a switch(curChar) { case 'a': - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x200000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x400000000000L, active2, 0x0L); case 'f': if ((active0 & 0x1000000000L) != 0x0L) return jjStartNfaWithStates_0(9, 36, 42); - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x80000000000000L, active2, 0x800L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x100000000000000L, active2, 0x1000L); case 'g': - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x0L, active2, 0x2a2L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x0L, active2, 0x544L); case 'i': - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x200000000000000L, active2, 0x2000L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x400000000000000L, active2, 0x4000L); case 'n': - if ((active2 & 0x8L) != 0x0L) - return jjStopAtPos(9, 131); + if ((active2 & 0x10L) != 0x0L) + return jjStopAtPos(9, 132); break; case 'o': - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x800000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x1000000000000L, active2, 0x0L); case 's': if ((active0 & 0x400000000L) != 0x0L) return jjStartNfaWithStates_0(9, 34, 42); - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x1000000000000000L, active2, 0x10000L); case 'x': - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x2000000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x4000000000000L, active2, 0x0L); case 'z': - return jjMoveStringLiteralDfa10_0(active0, 0x20000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa10_0(active0, 0x40000000000000L, active1, 0x0L, active2, 0x0L); default : break; } @@ -962,34 +964,34 @@ private int jjMoveStringLiteralDfa10_0(long old0, long active0, long old1, long switch(curChar) { case 'e': - return jjMoveStringLiteralDfa11_0(active0, 0x20000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa11_0(active0, 0x40000000000000L, active1, 0x0L, active2, 0x0L); case 'f': - return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x200000000000000L, active2, 0x2000L); + return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x400000000000000L, active2, 0x4000L); case 'i': - return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x1000000000000000L, active2, 0x10000L); case 'n': - if ((active2 & 0x2L) != 0x0L) - return jjStopAtPos(10, 129); - else if ((active2 & 0x20L) != 0x0L) - return jjStopAtPos(10, 133); - else if ((active2 & 0x80L) != 0x0L) - return jjStopAtPos(10, 135); - else if ((active2 & 0x200L) != 0x0L) - return jjStopAtPos(10, 137); - return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x200000000000L, active2, 0x0L); + if ((active2 & 0x4L) != 0x0L) + return jjStopAtPos(10, 130); + else if ((active2 & 0x40L) != 0x0L) + return jjStopAtPos(10, 134); + else if ((active2 & 0x100L) != 0x0L) + return jjStopAtPos(10, 136); + else if ((active2 & 0x400L) != 0x0L) + return jjStopAtPos(10, 138); + return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x400000000000L, active2, 0x0L); case 'o': - return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x2000000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x4000000000000L, active2, 0x0L); case 'r': - if ((active1 & 0x800000000000L) != 0x0L) - return jjStopAtPos(10, 111); + if ((active1 & 0x1000000000000L) != 0x0L) + return jjStopAtPos(10, 112); break; case 't': - if ((active1 & 0x80000000000000L) != 0x0L) + if ((active1 & 0x100000000000000L) != 0x0L) { - jjmatchedKind = 119; + jjmatchedKind = 120; jjmatchedPos = 10; } - return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x0L, active2, 0x800L); + return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x0L, active2, 0x1000L); default : break; } @@ -1006,26 +1008,26 @@ private int jjMoveStringLiteralDfa11_0(long old0, long active0, long old1, long switch(curChar) { case '_': - return jjMoveStringLiteralDfa12_0(active0, 0x0L, active1, 0x0L, active2, 0x800L); + return jjMoveStringLiteralDfa12_0(active0, 0x0L, active1, 0x0L, active2, 0x1000L); case 'd': - if ((active0 & 0x20000000000000L) != 0x0L) - return jjStartNfaWithStates_0(11, 53, 42); - else if ((active1 & 0x200000000000L) != 0x0L) - return jjStopAtPos(11, 109); + if ((active0 & 0x40000000000000L) != 0x0L) + return jjStartNfaWithStates_0(11, 54, 42); + else if ((active1 & 0x400000000000L) != 0x0L) + return jjStopAtPos(11, 110); break; case 'g': - return jjMoveStringLiteralDfa12_0(active0, 0x0L, active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa12_0(active0, 0x0L, active1, 0x1000000000000000L, active2, 0x10000L); case 'r': - if ((active1 & 0x2000000000000L) != 0x0L) - return jjStopAtPos(11, 113); + if ((active1 & 0x4000000000000L) != 0x0L) + return jjStopAtPos(11, 114); break; case 't': - if ((active1 & 0x200000000000000L) != 0x0L) + if ((active1 & 0x400000000000000L) != 0x0L) { - jjmatchedKind = 121; + jjmatchedKind = 122; jjmatchedPos = 11; } - return jjMoveStringLiteralDfa12_0(active0, 0x0L, active1, 0x0L, active2, 0x2000L); + return jjMoveStringLiteralDfa12_0(active0, 0x0L, active1, 0x0L, active2, 0x4000L); default : break; } @@ -1042,11 +1044,11 @@ private int jjMoveStringLiteralDfa12_0(long old0, long active0, long old1, long switch(curChar) { case '_': - return jjMoveStringLiteralDfa13_0(active1, 0x0L, active2, 0x2000L); + return jjMoveStringLiteralDfa13_0(active1, 0x0L, active2, 0x4000L); case 'a': - return jjMoveStringLiteralDfa13_0(active1, 0x0L, active2, 0x800L); + return jjMoveStringLiteralDfa13_0(active1, 0x0L, active2, 0x1000L); case 'n': - return jjMoveStringLiteralDfa13_0(active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa13_0(active1, 0x1000000000000000L, active2, 0x10000L); default : break; } @@ -1063,11 +1065,11 @@ private int jjMoveStringLiteralDfa13_0(long old1, long active1, long old2, long switch(curChar) { case 'a': - return jjMoveStringLiteralDfa14_0(active1, 0x0L, active2, 0x2000L); + return jjMoveStringLiteralDfa14_0(active1, 0x0L, active2, 0x4000L); case 'e': - return jjMoveStringLiteralDfa14_0(active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa14_0(active1, 0x1000000000000000L, active2, 0x10000L); case 's': - return jjMoveStringLiteralDfa14_0(active1, 0x0L, active2, 0x800L); + return jjMoveStringLiteralDfa14_0(active1, 0x0L, active2, 0x1000L); default : break; } @@ -1084,9 +1086,9 @@ private int jjMoveStringLiteralDfa14_0(long old1, long active1, long old2, long switch(curChar) { case 'd': - return jjMoveStringLiteralDfa15_0(active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa15_0(active1, 0x1000000000000000L, active2, 0x10000L); case 's': - return jjMoveStringLiteralDfa15_0(active1, 0x0L, active2, 0x2800L); + return jjMoveStringLiteralDfa15_0(active1, 0x0L, active2, 0x5000L); default : break; } @@ -1103,11 +1105,11 @@ private int jjMoveStringLiteralDfa15_0(long old1, long active1, long old2, long switch(curChar) { case '_': - return jjMoveStringLiteralDfa16_0(active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa16_0(active1, 0x1000000000000000L, active2, 0x10000L); case 'i': - return jjMoveStringLiteralDfa16_0(active1, 0x0L, active2, 0x800L); + return jjMoveStringLiteralDfa16_0(active1, 0x0L, active2, 0x1000L); case 's': - return jjMoveStringLiteralDfa16_0(active1, 0x0L, active2, 0x2000L); + return jjMoveStringLiteralDfa16_0(active1, 0x0L, active2, 0x4000L); default : break; } @@ -1124,11 +1126,11 @@ private int jjMoveStringLiteralDfa16_0(long old1, long active1, long old2, long switch(curChar) { case 'g': - return jjMoveStringLiteralDfa17_0(active1, 0x0L, active2, 0x800L); + return jjMoveStringLiteralDfa17_0(active1, 0x0L, active2, 0x1000L); case 'i': - return jjMoveStringLiteralDfa17_0(active1, 0x0L, active2, 0x2000L); + return jjMoveStringLiteralDfa17_0(active1, 0x0L, active2, 0x4000L); case 's': - return jjMoveStringLiteralDfa17_0(active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa17_0(active1, 0x1000000000000000L, active2, 0x10000L); default : break; } @@ -1145,12 +1147,12 @@ private int jjMoveStringLiteralDfa17_0(long old1, long active1, long old2, long switch(curChar) { case 'g': - return jjMoveStringLiteralDfa18_0(active1, 0x0L, active2, 0x2000L); + return jjMoveStringLiteralDfa18_0(active1, 0x0L, active2, 0x4000L); case 'h': - return jjMoveStringLiteralDfa18_0(active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa18_0(active1, 0x1000000000000000L, active2, 0x10000L); case 'n': - if ((active2 & 0x800L) != 0x0L) - return jjStopAtPos(17, 139); + if ((active2 & 0x1000L) != 0x0L) + return jjStopAtPos(17, 140); break; default : break; @@ -1168,10 +1170,10 @@ private int jjMoveStringLiteralDfa18_0(long old1, long active1, long old2, long switch(curChar) { case 'i': - return jjMoveStringLiteralDfa19_0(active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa19_0(active1, 0x1000000000000000L, active2, 0x10000L); case 'n': - if ((active2 & 0x2000L) != 0x0L) - return jjStopAtPos(18, 141); + if ((active2 & 0x4000L) != 0x0L) + return jjStopAtPos(18, 142); break; default : break; @@ -1189,7 +1191,7 @@ private int jjMoveStringLiteralDfa19_0(long old1, long active1, long old2, long switch(curChar) { case 'f': - return jjMoveStringLiteralDfa20_0(active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa20_0(active1, 0x1000000000000000L, active2, 0x10000L); default : break; } @@ -1206,12 +1208,12 @@ private int jjMoveStringLiteralDfa20_0(long old1, long active1, long old2, long switch(curChar) { case 't': - if ((active1 & 0x800000000000000L) != 0x0L) + if ((active1 & 0x1000000000000000L) != 0x0L) { - jjmatchedKind = 123; + jjmatchedKind = 124; jjmatchedPos = 20; } - return jjMoveStringLiteralDfa21_0(active1, 0x0L, active2, 0x8000L); + return jjMoveStringLiteralDfa21_0(active1, 0x0L, active2, 0x10000L); default : break; } @@ -1228,7 +1230,7 @@ private int jjMoveStringLiteralDfa21_0(long old1, long active1, long old2, long switch(curChar) { case '_': - return jjMoveStringLiteralDfa22_0(active2, 0x8000L); + return jjMoveStringLiteralDfa22_0(active2, 0x10000L); default : break; } @@ -1245,7 +1247,7 @@ private int jjMoveStringLiteralDfa22_0(long old2, long active2){ switch(curChar) { case 'a': - return jjMoveStringLiteralDfa23_0(active2, 0x8000L); + return jjMoveStringLiteralDfa23_0(active2, 0x10000L); default : break; } @@ -1262,7 +1264,7 @@ private int jjMoveStringLiteralDfa23_0(long old2, long active2){ switch(curChar) { case 's': - return jjMoveStringLiteralDfa24_0(active2, 0x8000L); + return jjMoveStringLiteralDfa24_0(active2, 0x10000L); default : break; } @@ -1279,7 +1281,7 @@ private int jjMoveStringLiteralDfa24_0(long old2, long active2){ switch(curChar) { case 's': - return jjMoveStringLiteralDfa25_0(active2, 0x8000L); + return jjMoveStringLiteralDfa25_0(active2, 0x10000L); default : break; } @@ -1296,7 +1298,7 @@ private int jjMoveStringLiteralDfa25_0(long old2, long active2){ switch(curChar) { case 'i': - return jjMoveStringLiteralDfa26_0(active2, 0x8000L); + return jjMoveStringLiteralDfa26_0(active2, 0x10000L); default : break; } @@ -1313,7 +1315,7 @@ private int jjMoveStringLiteralDfa26_0(long old2, long active2){ switch(curChar) { case 'g': - return jjMoveStringLiteralDfa27_0(active2, 0x8000L); + return jjMoveStringLiteralDfa27_0(active2, 0x10000L); default : break; } @@ -1330,8 +1332,8 @@ private int jjMoveStringLiteralDfa27_0(long old2, long active2){ switch(curChar) { case 'n': - if ((active2 & 0x8000L) != 0x0L) - return jjStopAtPos(27, 143); + if ((active2 & 0x10000L) != 0x0L) + return jjStopAtPos(27, 144); break; default : break; @@ -1425,8 +1427,8 @@ else if (curChar == 47) { jjAddStates(13, 14); } else if (curChar == 36) { - if (kind > 73) - kind = 73; + if (kind > 74) + kind = 74; { jjCheckNAdd(42); } } else if (curChar == 34) @@ -1441,14 +1443,14 @@ else if (curChar == 60) { jjCheckNAddStates(0, 3); } if ((0x3fe000000000000L & l) != 0x0L) { - if (kind > 62) - kind = 62; + if (kind > 63) + kind = 63; { jjCheckNAddTwoStates(15, 16); } } else if (curChar == 48) { - if (kind > 62) - kind = 62; + if (kind > 63) + kind = 63; { jjCheckNAddStates(18, 21); } } else if (curChar == 34) @@ -1515,15 +1517,15 @@ else if (curChar == 34) case 14: if ((0x3fe000000000000L & l) == 0x0L) break; - if (kind > 62) - kind = 62; + if (kind > 63) + kind = 63; { jjCheckNAddTwoStates(15, 16); } break; case 15: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 62) - kind = 62; + if (kind > 63) + kind = 63; { jjCheckNAddTwoStates(15, 16); } break; case 17: @@ -1533,8 +1535,8 @@ else if (curChar == 34) case 18: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 67) - kind = 67; + if (kind > 68) + kind = 68; { jjCheckNAddStates(28, 30); } break; case 20: @@ -1544,8 +1546,8 @@ else if (curChar == 34) case 21: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 67) - kind = 67; + if (kind > 68) + kind = 68; { jjCheckNAddTwoStates(21, 22); } break; case 23: @@ -1560,8 +1562,8 @@ else if (curChar == 34) { jjCheckNAddStates(15, 17); } break; case 27: - if (curChar == 39 && kind > 70) - kind = 70; + if (curChar == 39 && kind > 71) + kind = 71; break; case 28: if (curChar == 34) @@ -1575,8 +1577,8 @@ else if (curChar == 34) { jjCheckNAddStates(22, 24); } break; case 32: - if (curChar == 34 && kind > 71) - kind = 71; + if (curChar == 34 && kind > 72) + kind = 72; break; case 33: case 35: @@ -1588,8 +1590,8 @@ else if (curChar == 34) { jjCheckNAddStates(31, 33); } break; case 36: - if (curChar == 34 && kind > 72) - kind = 72; + if (curChar == 34 && kind > 73) + kind = 73; break; case 37: if (curChar == 34) @@ -1610,15 +1612,15 @@ else if (curChar == 34) case 41: if (curChar != 36) break; - if (kind > 73) - kind = 73; + if (kind > 74) + kind = 74; { jjCheckNAdd(42); } break; case 42: if ((0x3ff001000000000L & l) == 0x0L) break; - if (kind > 73) - kind = 73; + if (kind > 74) + kind = 74; { jjCheckNAdd(42); } break; case 43: @@ -1632,15 +1634,15 @@ else if (curChar == 34) case 45: if (curChar != 46) break; - if (kind > 67) - kind = 67; + if (kind > 68) + kind = 68; { jjCheckNAddStates(34, 36); } break; case 46: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 67) - kind = 67; + if (kind > 68) + kind = 68; { jjCheckNAddStates(34, 36); } break; case 48: @@ -1650,8 +1652,8 @@ else if (curChar == 34) case 49: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 67) - kind = 67; + if (kind > 68) + kind = 68; { jjCheckNAddTwoStates(49, 22); } break; case 50: @@ -1665,8 +1667,8 @@ else if (curChar == 34) case 53: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 67) - kind = 67; + if (kind > 68) + kind = 68; { jjCheckNAddTwoStates(53, 22); } break; case 54: @@ -1676,36 +1678,36 @@ else if (curChar == 34) case 56: if (curChar != 48) break; - if (kind > 62) - kind = 62; + if (kind > 63) + kind = 63; { jjCheckNAddStates(18, 21); } break; case 58: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 62) - kind = 62; + if (kind > 63) + kind = 63; { jjCheckNAddTwoStates(58, 16); } break; case 60: if ((0x3000000000000L & l) == 0x0L) break; - if (kind > 62) - kind = 62; + if (kind > 63) + kind = 63; { jjCheckNAddStates(37, 39); } break; case 61: if ((0x3000000000000L & l) == 0x0L) break; - if (kind > 62) - kind = 62; + if (kind > 63) + kind = 63; { jjCheckNAdd(16); } break; case 62: if ((0xff000000000000L & l) == 0x0L) break; - if (kind > 62) - kind = 62; + if (kind > 63) + kind = 63; { jjCheckNAddTwoStates(62, 16); } break; case 63: @@ -1775,8 +1777,8 @@ else if (curChar < 128) case 42: if ((0x7fffffe87fffffeL & l) == 0x0L) break; - if (kind > 73) - kind = 73; + if (kind > 74) + kind = 74; { jjCheckNAdd(42); } break; case 9: @@ -1785,21 +1787,21 @@ else if (curChar < 128) case 15: if (curChar != 95) break; - if (kind > 62) - kind = 62; + if (kind > 63) + kind = 63; { jjCheckNAddTwoStates(15, 16); } break; case 16: - if ((0x88920000889200L & l) != 0x0L && kind > 62) - kind = 62; + if ((0x88920000889200L & l) != 0x0L && kind > 63) + kind = 63; break; case 19: if ((0x2000000020L & l) != 0x0L) { jjAddStates(43, 44); } break; case 22: - if ((0x80005000800050L & l) != 0x0L && kind > 67) - kind = 67; + if ((0x80005000800050L & l) != 0x0L && kind > 68) + kind = 68; break; case 24: if ((0xffffffffefffffffL & l) != 0x0L) @@ -1835,8 +1837,8 @@ else if (curChar < 128) { jjAddStates(47, 48); } break; case 55: - if ((0x5000000050L & l) != 0x0L && kind > 67) - kind = 67; + if ((0x5000000050L & l) != 0x0L && kind > 68) + kind = 68; break; case 57: if ((0x100000001000000L & l) != 0x0L) @@ -1845,22 +1847,22 @@ else if (curChar < 128) case 58: if ((0x7e8000007eL & l) == 0x0L) break; - if (kind > 62) - kind = 62; + if (kind > 63) + kind = 63; { jjCheckNAddTwoStates(58, 16); } break; case 59: if ((0x400000004L & l) == 0x0L) break; - if (kind > 62) - kind = 62; + if (kind > 63) + kind = 63; { jjCheckNAddStates(37, 39); } break; case 60: if (curChar != 95) break; - if (kind > 62) - kind = 62; + if (kind > 63) + kind = 63; { jjCheckNAddStates(37, 39); } break; case 65: @@ -1904,8 +1906,8 @@ else if (curChar < 128) } if (jjCanMove_2(hiByte, i1, i2, l1, l2)) { - if (kind > 73) - kind = 73; + if (kind > 74) + kind = 74; { jjCheckNAdd(42); } } break; @@ -1938,8 +1940,8 @@ else if (curChar < 128) case 42: if (!jjCanMove_2(hiByte, i1, i2, l1, l2)) break; - if (kind > 73) - kind = 73; + if (kind > 74) + kind = 74; { jjCheckNAdd(42); } break; case 65: @@ -1988,21 +1990,21 @@ else if (curChar < 128) "\144\157\165\142\154\145", "\145\154\163\145", "\145\156\165\155", "\145\170\164\145\156\144\163", "\146\141\154\163\145", "\146\151\156\141\154", "\146\151\156\141\154\154\171", "\146\154\157\141\164", "\146\157\162", "\147\157\164\157", "\151\146", "\151\155\160\154\145\155\145\156\164\163", -"\151\155\160\157\162\164", "\151\156\163\164\141\156\143\145\157\146", "\151\163", "\151\156\164", -"\151\156\164\145\162\146\141\143\145", "\154\157\156\147", "\156\141\164\151\166\145", "\156\145\167", -"\156\165\154\154", "\160\141\143\153\141\147\145", "\160\162\151\166\141\164\145", -"\160\162\157\164\145\143\164\145\144", "\160\165\142\154\151\143", "\162\145\164\165\162\156", "\163\150\157\162\164", -"\163\164\141\164\151\143", "\163\164\162\151\143\164\146\160", "\163\167\151\164\143\150", -"\163\171\156\143\150\162\157\156\151\172\145\144", "\164\162\141\156\163\151\145\156\164", "\164\150\162\157\167", -"\164\150\162\157\167\163", "\164\162\165\145", "\164\162\171", "\166\157\151\144", -"\166\157\154\141\164\151\154\145", "\167\150\151\154\145", null, null, null, null, null, null, null, null, null, -null, null, null, null, null, "\50", "\51", "\173", "\175", "\133", "\135", "\73", -"\54", "\56", "\75", "\76", "\100\147\164", "\74", "\100\154\164", "\41", "\176", -"\75\75", "\74\75", "\100\154\164\145\161", "\76\75", "\100\147\164\145\161", "\41\75", -"\174\174", "\100\157\162", "\46\46", "\100\141\156\144", "\53\53", "\55\55", "\53", "\55", -"\52", "\57", "\46", "\100\142\151\164\167\151\163\145\137\141\156\144", "\174", -"\100\142\151\164\167\151\163\145\137\157\162", "\136", "\100\142\151\164\167\151\163\145\137\170\157\162", "\45", -"\100\155\157\144", "\52\52", "\100\160\157\167", "\74\74", +"\151\155\160\157\162\164", "\151\156\163\164\141\156\143\145\157\146", "\151\163", "\141\163", +"\151\156\164", "\151\156\164\145\162\146\141\143\145", "\154\157\156\147", +"\156\141\164\151\166\145", "\156\145\167", "\156\165\154\154", "\160\141\143\153\141\147\145", +"\160\162\151\166\141\164\145", "\160\162\157\164\145\143\164\145\144", "\160\165\142\154\151\143", +"\162\145\164\165\162\156", "\163\150\157\162\164", "\163\164\141\164\151\143", +"\163\164\162\151\143\164\146\160", "\163\167\151\164\143\150", "\163\171\156\143\150\162\157\156\151\172\145\144", +"\164\162\141\156\163\151\145\156\164", "\164\150\162\157\167", "\164\150\162\157\167\163", "\164\162\165\145", +"\164\162\171", "\166\157\151\144", "\166\157\154\141\164\151\154\145", "\167\150\151\154\145", +null, null, null, null, null, null, null, null, null, null, null, null, null, null, +"\50", "\51", "\173", "\175", "\133", "\135", "\73", "\54", "\56", "\75", "\76", +"\100\147\164", "\74", "\100\154\164", "\41", "\176", "\75\75", "\74\75", +"\100\154\164\145\161", "\76\75", "\100\147\164\145\161", "\41\75", "\174\174", "\100\157\162", +"\46\46", "\100\141\156\144", "\53\53", "\55\55", "\53", "\55", "\52", "\57", "\46", +"\100\142\151\164\167\151\163\145\137\141\156\144", "\174", "\100\142\151\164\167\151\163\145\137\157\162", "\136", +"\100\142\151\164\167\151\163\145\137\170\157\162", "\45", "\100\155\157\144", "\52\52", "\100\160\157\167", "\74\74", "\100\154\145\146\164\137\163\150\151\146\164", "\76\76", "\100\162\151\147\150\164\137\163\150\151\146\164", "\76\76\76", "\100\162\151\147\150\164\137\165\156\163\151\147\156\145\144\137\163\150\151\146\164", "\53\75", "\55\75", "\52\75", "\57\75", "\46\75", "\100\141\156\144\137\141\163\163\151\147\156", "\174\75", "\100\157\162\137\141\163\163\151\147\156", "\136\75", @@ -2286,10 +2288,10 @@ public void SwitchTo(int lexState) -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, -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 = { - 0x7ffffffffffff801L, 0xfffffffffffff3c8L, 0x7ffffffL, + 0xfffffffffffff801L, 0xffffffffffffe790L, 0xfffffffL, }; static final long[] jjtoSkip = { 0x7feL, 0x0L, 0x0L, diff --git a/bsh-lambda-300-eee36c8/src/main/jjtree/bsh.jjt b/bsh-lambda-300-eee36c8/src/main/jjtree/bsh.jjt index 23b758f..57960a9 100644 --- a/bsh-lambda-300-eee36c8/src/main/jjtree/bsh.jjt +++ b/bsh-lambda-300-eee36c8/src/main/jjtree/bsh.jjt @@ -445,6 +445,7 @@ TOKEN : /* RESERVED WORDS AND LITERALS */ | < IMPORT: "import" > | < INSTANCEOF: "instanceof" > | < IS: "is" > +| < AS: "as" > | < INT: "int" > | < INTERFACE: "interface" > | < LONG: "long" > @@ -985,11 +986,16 @@ void EqualityExpression() : } void InstanceOfExpression() : -{} +{ Token t = null; } { RelationalExpression() - [( | ) Type() - { jjtThis.kind = INSTANCEOF; } #BinaryExpression(2) ] + [ + (t = | t = ) Type() + { jjtThis.kind = t.kind; } #BinaryExpression(2) + | + t = Type() + { jjtThis.kind = t.kind; } #BinaryExpression(2) + ] } void RelationalExpression() : From c27afa12d62ec141c5418618d88010443f78ce11 Mon Sep 17 00:00:00 2001 From: hd Date: Thu, 23 Apr 2026 14:15:08 +0800 Subject: [PATCH 6/7] fix: stop default-args over-backtracking //"{}" void hi(String name, int age = 18) { print("name: $name, age: $age") } hi("user") --- .../bsh/preprocess/DefaultArgsDesugar.java | 111 ++++++++++++++++-- 1 file changed, 98 insertions(+), 13 deletions(-) diff --git a/bsh-lambda-300-eee36c8/src/main/java/bsh/preprocess/DefaultArgsDesugar.java b/bsh-lambda-300-eee36c8/src/main/java/bsh/preprocess/DefaultArgsDesugar.java index c920adf..26960c7 100644 --- a/bsh-lambda-300-eee36c8/src/main/java/bsh/preprocess/DefaultArgsDesugar.java +++ b/bsh-lambda-300-eee36c8/src/main/java/bsh/preprocess/DefaultArgsDesugar.java @@ -134,9 +134,8 @@ private static MethodShape tryParseMethodShape(String source, int openParen) { return null; } - int bodyStart = skipThrowsClause(source, next); - bodyStart = skipWsAndCommentsForward(source, bodyStart); - if (bodyStart >= source.length() || source.charAt(bodyStart) != '{') { + int bodyStart = findMethodBodyStart(source, closeParen + 1); + if (bodyStart < 0) { return null; } @@ -170,8 +169,10 @@ private static MethodRewrite tryRewriteMethod( int declStart = shape.declStart; int closeParen = findMatching(source, openParen, '(', ')'); String prefix = source.substring(declStart, openParen); - int next = skipWsAndCommentsForward(source, closeParen + 1); - int bodyStart = skipWsAndCommentsForward(source, skipThrowsClause(source, next)); + int bodyStart = findMethodBodyStart(source, closeParen + 1); + if (bodyStart < 0) { + return null; + } String betweenParenAndBody = source.substring(closeParen + 1, bodyStart); int bodyEnd = findMatching(source, bodyStart, '{', '}'); String body = source.substring(bodyStart, bodyEnd + 1); @@ -542,11 +543,50 @@ private static int findDeclarationStart(String source, int methodNameStart) { if (ch == ';' || ch == '{' || ch == '}') { break; } + if (ch == '\n' || ch == '\r') { + int lineStart = i; + while (lineStart > 0) { + char c = source.charAt(lineStart - 1); + if (c == '\n' || c == '\r') { + break; + } + lineStart--; + } + + String line = source.substring(lineStart, i).trim(); + if (line.isEmpty()) { + break; + } + if (line.startsWith("@") || isModifierOnlyLine(line)) { + i--; + continue; + } + break; + } i--; } return i; } + private static boolean isModifierOnlyLine(String line) { + if (line.startsWith("//") || line.startsWith("/*") || line.startsWith("*")) { + return false; + } + String[] tokens = line.split("\\s+"); + if (tokens.length == 0) { + return false; + } + for (String token : tokens) { + if (token.isEmpty()) { + continue; + } + if (!METHOD_MODIFIERS.contains(token)) { + return false; + } + } + return true; + } + private static int skipThrowsClause(String source, int index) { int i = skipWsAndCommentsForward(source, index); if (!startsWithWord(source, i, "throws")) { @@ -555,19 +595,64 @@ private static int skipThrowsClause(String source, int index) { i += "throws".length(); int len = source.length(); + boolean needType = true; while (i < len) { - int skip = skipLiteralOrComment(source, i); - if (skip > i) { - i = skip; - continue; + i = skipWsAndCommentsForward(source, i); + if (i >= len) { + return -1; } + char ch = source.charAt(i); - if (ch == '{' || ch == ';') { - return i; + if (ch == '{') { + return needType ? -1 : i; } - i++; + if (ch == ';') { + return -1; + } + + if (needType) { + if (!Character.isJavaIdentifierStart(ch)) { + return -1; + } + i++; + while (i < len) { + char c = source.charAt(i); + if (Character.isJavaIdentifierPart(c) || c == '.' || c == '$') { + i++; + continue; + } + break; + } + needType = false; + continue; + } + + if (ch == ',') { + needType = true; + i++; + continue; + } + return -1; } - return i; + return -1; + } + + private static int findMethodBodyStart(String source, int afterCloseParen) { + int next = skipWsAndCommentsForward(source, afterCloseParen); + if (next >= source.length()) { + return -1; + } + if (startsWithWord(source, next, "throws")) { + int afterThrows = skipThrowsClause(source, next); + if (afterThrows < 0) { + return -1; + } + next = skipWsAndCommentsForward(source, afterThrows); + } + if (next < source.length() && source.charAt(next) == '{') { + return next; + } + return -1; } private static boolean startsWithWord(String source, int index, String word) { From f3ff807223b92e3e892043fb52b33db4c3a85b97 Mon Sep 17 00:00:00 2001 From: hd Date: Thu, 23 Apr 2026 15:02:11 +0800 Subject: [PATCH 7/7] feat: introduce when/else branch expression --- README.md | 28 +- .../src/main/java/bsh/BSHWhenEntry.java | 51 + .../src/main/java/bsh/BSHWhenExpression.java | 102 + .../src/main/java/bsh/Parser.java | 2586 +++++++++-------- .../src/main/java/bsh/ParserConstants.java | 187 +- .../src/main/java/bsh/ParserTokenManager.java | 678 ++--- .../main/java/bsh/ParserTreeConstants.java | 46 +- .../src/main/jjtree/bsh.jjt | 20 + 8 files changed, 2083 insertions(+), 1615 deletions(-) create mode 100644 bsh-lambda-300-eee36c8/src/main/java/bsh/BSHWhenEntry.java create mode 100644 bsh-lambda-300-eee36c8/src/main/java/bsh/BSHWhenExpression.java diff --git a/README.md b/README.md index 968425d..2a4f6cd 100644 --- a/README.md +++ b/README.md @@ -104,8 +104,10 @@ val name = "BeanShell" var lang = "BeanShell" var str1 = "Hello, $lang" print(str1) // "Hello, BeanShell" +// 表达式 var str2 = "1 + 2 = ${1 + 2}" -print(str2) // "1 + 2 = 3" +print(str2) // "1 + 2 = 3" +// 转义 var str3 = "price=\$9" print(str3) // "price=$9" @@ -118,11 +120,31 @@ hi("user", 1) // name: user, age: 1 // 类型判断 print(123 is Number) // true -// 等价: print(123 instanceof Number) // true +// 等价 +print(123 instanceof Number) // true // 类型转换 print("1" as int) // 1 -// 等价: print((int) "1") // 1 +// 等价 +print((int) "1") // 1 + +// 条件分支 +var num = 2 +var out1 = when (num) { + 1 -> "one" + 2, 3 -> "small" + else -> "other" +} +print(out1) // "small" +// 等价 +var out2 +switch (num) { + case 1: out2 = "one"; break; + case 2: + case 3: out2 = "small"; break; + default: out2 = "other"; +} +print(out2) // "small" ``` ## 致谢 diff --git a/bsh-lambda-300-eee36c8/src/main/java/bsh/BSHWhenEntry.java b/bsh-lambda-300-eee36c8/src/main/java/bsh/BSHWhenEntry.java new file mode 100644 index 0000000..c79ee68 --- /dev/null +++ b/bsh-lambda-300-eee36c8/src/main/java/bsh/BSHWhenEntry.java @@ -0,0 +1,51 @@ +/***************************************************************************** + * Licensed to the Apache Software Foundation (ASF) under one * + * or more contributor license agreements. See the NOTICE file * + * distributed with this work for additional information * + * regarding copyright ownership. The ASF licenses this file * + * to you under the Apache License, Version 2.0 (the * + * "License"); you may not use this file except in compliance * + * with the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, * + * software distributed under the License is distributed on an * + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * + * KIND, either express or implied. See the License for the * + * specific language governing permissions and limitations * + * under the License. * + * * + * * + * This file is part of the BeanShell Java Scripting distribution. * + * Documentation and updates may be found at http://www.beanshell.org/ * + * Patrick Niemeyer (pat@pat.net) * + * Author of Learning Java, O'Reilly & Associates * + * * + *****************************************************************************/ +package bsh; + +class BSHWhenEntry extends SimpleNode +{ + boolean isElse; + int numConditions; + + BSHWhenEntry(int id) { super(id); } + + public Object eval( + CallStack callstack, Interpreter interpreter ) throws EvalError + { + return evalResult(callstack, interpreter); + } + + Object evalResult( + CallStack callstack, Interpreter interpreter ) throws EvalError + { + return jjtGetChild(numConditions).eval(callstack, interpreter); + } + + @Override + public String toString() { + return super.toString() + ": " + (isElse ? "else" : "case"); + } +} diff --git a/bsh-lambda-300-eee36c8/src/main/java/bsh/BSHWhenExpression.java b/bsh-lambda-300-eee36c8/src/main/java/bsh/BSHWhenExpression.java new file mode 100644 index 0000000..83163db --- /dev/null +++ b/bsh-lambda-300-eee36c8/src/main/java/bsh/BSHWhenExpression.java @@ -0,0 +1,102 @@ +/***************************************************************************** + * Licensed to the Apache Software Foundation (ASF) under one * + * or more contributor license agreements. See the NOTICE file * + * distributed with this work for additional information * + * regarding copyright ownership. The ASF licenses this file * + * to you under the Apache License, Version 2.0 (the * + * "License"); you may not use this file except in compliance * + * with the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, * + * software distributed under the License is distributed on an * + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * + * KIND, either express or implied. See the License for the * + * specific language governing permissions and limitations * + * under the License. * + * * + * * + * This file is part of the BeanShell Java Scripting distribution. * + * Documentation and updates may be found at http://www.beanshell.org/ * + * Patrick Niemeyer (pat@pat.net) * + * Author of Learning Java, O'Reilly & Associates * + * * + *****************************************************************************/ +package bsh; + +class BSHWhenExpression extends SimpleNode implements ParserConstants +{ + + BSHWhenExpression(int id) { super(id); } + + public Object eval( CallStack callstack, Interpreter interpreter ) + throws EvalError + { + int numChildren = jjtGetNumChildren(); + if ( numChildren < 2 ) + throw new EvalException("Empty when expression.", this, callstack); + + for ( int i = 1; i < numChildren; i++ ) { + BSHWhenEntry entry = (BSHWhenEntry) jjtGetChild(i); + if ( !entry.isElse ) + continue; + if ( i != numChildren - 1 ) + throw new EvalException( + "Else branch must be the last one in when expression.", + this, callstack ); + } + + Node whenExp = jjtGetChild(0); + Object whenVal = whenExp.eval(callstack, interpreter); + + for ( int i = 1; i < numChildren; i++ ) { + BSHWhenEntry entry = (BSHWhenEntry) jjtGetChild(i); + if ( entry.isElse ) + return entry.evalResult(callstack, interpreter); + + for ( int c = 0; c < entry.numConditions; c++ ) { + Object targetVal = entry.jjtGetChild(c).eval(callstack, interpreter); + if ( primitiveEquals(whenVal, targetVal, callstack, whenExp) ) + return entry.evalResult(callstack, interpreter); + } + } + + throw new EvalException("No matching when branch.", this, callstack); + } + + private boolean primitiveEquals( + Object whenVal, Object targetVal, + CallStack callstack, Node whenExp ) + throws EvalError + { + if ( whenVal == Primitive.VOID || targetVal == Primitive.VOID ) + return false; + + if ( whenVal == Primitive.NULL ) + whenVal = null; + if ( targetVal == Primitive.NULL ) + targetVal = null; + + if ( whenVal == null || targetVal == null ) + return whenVal == targetVal; + + if ( whenVal instanceof Primitive || targetVal instanceof Primitive ) + try { + Object result = Operators.binaryOperation( + whenVal, targetVal, ParserConstants.EQ ); + result = Primitive.unwrap( result ); + return result.equals( Boolean.TRUE ); + } catch ( UtilEvalError e ) { + throw e.toEvalError( + "When value: " + whenExp.getText() + ": ", + this, callstack ); + } + return whenVal.equals( targetVal ); + } + + @Override + public String toString() { + return super.toString() + ": when"; + } +} diff --git a/bsh-lambda-300-eee36c8/src/main/java/bsh/Parser.java b/bsh-lambda-300-eee36c8/src/main/java/bsh/Parser.java index d3f9ef2..9bcfba5 100644 --- a/bsh-lambda-300-eee36c8/src/main/java/bsh/Parser.java +++ b/bsh-lambda-300-eee36c8/src/main/java/bsh/Parser.java @@ -949,6 +949,7 @@ final public void VariableInitializer() throws ParseException { case SHORT: case TRUE: case VOID: + case WHEN: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: @@ -996,6 +997,7 @@ final public void ArrayInitializer() throws ParseException {/*@bgen(jjtree) Arra case SHORT: case TRUE: case VOID: + case WHEN: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: @@ -2550,6 +2552,7 @@ final public void ConditionalExpression() throws ParseException { case SHORT: case TRUE: case VOID: + case WHEN: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: @@ -2758,6 +2761,7 @@ final public void LambdaExpression() throws ParseException {/*@bgen(jjtree) Lamb case SHORT: case TRUE: case VOID: + case WHEN: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: @@ -2810,6 +2814,181 @@ final public void LambdaExpression() throws ParseException {/*@bgen(jjtree) Lamb } } + final public void WhenExpression() throws ParseException {/*@bgen(jjtree) WhenExpression */ + BSHWhenExpression jjtn000 = new BSHWhenExpression(JJTWHENEXPRESSION); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + jjtreeOpenNodeScope(jjtn000); + try { + jj_consume_token(WHEN); + jj_consume_token(LPAREN); + Expression(); + jj_consume_token(RPAREN); + jj_consume_token(LBRACE); + label_24: + while (true) { + WhenEntry(); + switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { + case BOOLEAN: + case BYTE: + case CHAR: + case DOUBLE: + case ELSE: + case FALSE: + case FLOAT: + case INT: + case LONG: + case NEW: + case NULL: + case SHORT: + case TRUE: + case VOID: + case WHEN: + case INTEGER_LITERAL: + case FLOATING_POINT_LITERAL: + case CHARACTER_LITERAL: + case STRING_LITERAL: + case LONG_STRING_LITERAL: + case IDENTIFIER: + case LPAREN: + case LBRACE: + case LBRACKET: + case BANG: + case TILDE: + case INCR: + case DECR: + case PLUS: + case MINUS:{ + break; + } + default: + jj_la1[72] = jj_gen; + break label_24; + } + } + jj_consume_token(RBRACE); + } catch (Throwable jjte000) { +if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + throw (Error)jjte000; + } finally { +if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + if (jjtree.nodeCreated()) { + jjtreeCloseNodeScope(jjtn000); + } + } + } +} + + final public void WhenEntry() throws ParseException {/*@bgen(jjtree) WhenEntry */ + BSHWhenEntry jjtn000 = new BSHWhenEntry(JJTWHENENTRY); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + jjtreeOpenNodeScope(jjtn000);int count = 0; + try { + switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { + case ELSE:{ + jj_consume_token(ELSE); +jjtn000.isElse = true; + jj_consume_token(ARROW); + Expression(); + break; + } + case BOOLEAN: + case BYTE: + case CHAR: + case DOUBLE: + case FALSE: + case FLOAT: + case INT: + case LONG: + case NEW: + case NULL: + case SHORT: + case TRUE: + case VOID: + case WHEN: + case INTEGER_LITERAL: + case FLOATING_POINT_LITERAL: + case CHARACTER_LITERAL: + case STRING_LITERAL: + case LONG_STRING_LITERAL: + case IDENTIFIER: + case LPAREN: + case LBRACE: + case LBRACKET: + case BANG: + case TILDE: + case INCR: + case DECR: + case PLUS: + case MINUS:{ + Expression(); +count = 1; + label_25: + while (true) { + switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { + case COMMA:{ + break; + } + default: + jj_la1[73] = jj_gen; + break label_25; + } + jj_consume_token(COMMA); + Expression(); +count++; + } + jj_consume_token(ARROW); + Expression(); +jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + if (jjtree.nodeCreated()) { + jjtreeCloseNodeScope(jjtn000); + } +jjtn000.numConditions = count; + break; + } + default: + jj_la1[74] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { +if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + throw (Error)jjte000; + } finally { +if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + if (jjtree.nodeCreated()) { + jjtreeCloseNodeScope(jjtn000); + } + } + } +} + final public void PrimaryPrefix() throws ParseException { switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { case FALSE: @@ -2830,6 +3009,10 @@ final public void PrimaryPrefix() throws ParseException { jj_consume_token(RPAREN); break; } + case WHEN:{ + WhenExpression(); + break; + } case NEW: case LBRACE: case LBRACKET:{ @@ -2837,7 +3020,7 @@ final public void PrimaryPrefix() throws ParseException { break; } default: - jj_la1[72] = jj_gen; + jj_la1[75] = jj_gen; if (jj_2_13(2147483647)) { MethodInvocation(); } else if (jj_2_14(2147483647)) { @@ -2849,7 +3032,7 @@ final public void PrimaryPrefix() throws ParseException { break; } default: - jj_la1[73] = jj_gen; + jj_la1[76] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2890,6 +3073,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary case SHORT: case TRUE: case VOID: + case WHEN: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: @@ -2910,7 +3094,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[74] = jj_gen; + jj_la1[77] = jj_gen; ; } switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { @@ -2933,6 +3117,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary case SHORT: case TRUE: case VOID: + case WHEN: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: @@ -2952,7 +3137,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[75] = jj_gen; + jj_la1[78] = jj_gen; ; } jjtn000.slice = true; jjtn000.step = true; @@ -2975,6 +3160,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary case SHORT: case TRUE: case VOID: + case WHEN: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: @@ -2995,7 +3181,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[76] = jj_gen; + jj_la1[79] = jj_gen; ; } switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { @@ -3016,6 +3202,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary case SHORT: case TRUE: case VOID: + case WHEN: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: @@ -3035,26 +3222,26 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[77] = jj_gen; + jj_la1[80] = jj_gen; ; } break; } default: - jj_la1[78] = jj_gen; + jj_la1[81] = jj_gen; ; } break; } default: - jj_la1[79] = jj_gen; + jj_la1[82] = jj_gen; jj_consume_token(-1); throw new ParseException(); } break; } default: - jj_la1[80] = jj_gen; + jj_la1[83] = jj_gen; ; } jj_consume_token(RBRACKET); @@ -3067,7 +3254,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[84] = jj_gen; + jj_la1[87] = jj_gen; if (getToken(1).kind == COLON_COLON && (getToken(2).kind == IDENTIFIER || getToken(2).kind == NEW ) && getToken(3).kind != RBRACKET) { jj_consume_token(COLON_COLON); switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { @@ -3080,7 +3267,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[81] = jj_gen; + jj_la1[84] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3092,7 +3279,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary jjtn000.operation = BSHPrimarySuffix.METHODREF; jjtn000.field = t.image; } else if (jj_2_16(2)) { - jj_consume_token(154); + jj_consume_token(155); t = jj_consume_token(IDENTIFIER); switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { case LPAREN:{ @@ -3100,7 +3287,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[82] = jj_gen; + jj_la1[85] = jj_gen; ; } jjtree.closeNodeScope(jjtn000, true); @@ -3120,7 +3307,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[83] = jj_gen; + jj_la1[86] = jj_gen; ; } jjtree.closeNodeScope(jjtn000, true); @@ -3145,7 +3332,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary break; } default: - jj_la1[85] = jj_gen; + jj_la1[88] = jj_gen; if (jj_2_18(2)) { jj_consume_token(DOT); AllocationExpression(); @@ -3314,7 +3501,7 @@ final public void Literal() throws ParseException {/*@bgen(jjtree) Literal */ break; } default: - jj_la1[86] = jj_gen; + jj_la1[89] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3355,7 +3542,7 @@ final public boolean BooleanLiteral() throws ParseException { break; } default: - jj_la1[87] = jj_gen; + jj_la1[90] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3391,6 +3578,7 @@ final public void Arguments() throws ParseException {/*@bgen(jjtree) Arguments * case SHORT: case TRUE: case VOID: + case WHEN: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: @@ -3410,7 +3598,7 @@ final public void Arguments() throws ParseException {/*@bgen(jjtree) Arguments * break; } default: - jj_la1[88] = jj_gen; + jj_la1[91] = jj_gen; ; } jj_consume_token(RPAREN); @@ -3441,15 +3629,15 @@ final public void Arguments() throws ParseException {/*@bgen(jjtree) Arguments * // leave these on the stack for Arguments() to handle final public void ArgumentList() throws ParseException { Expression(); - label_24: + label_26: while (true) { switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { case COMMA:{ break; } default: - jj_la1[89] = jj_gen; - break label_24; + jj_la1[92] = jj_gen; + break label_26; } jj_consume_token(COMMA); Expression(); @@ -3496,7 +3684,7 @@ final public void AllocationExpression() throws ParseException {/*@bgen(jjtree) break; } default: - jj_la1[90] = jj_gen; + jj_la1[93] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3508,7 +3696,7 @@ final public void AllocationExpression() throws ParseException {/*@bgen(jjtree) break; } default: - jj_la1[91] = jj_gen; + jj_la1[94] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3520,7 +3708,7 @@ final public void AllocationExpression() throws ParseException {/*@bgen(jjtree) break; } default: - jj_la1[92] = jj_gen; + jj_la1[95] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3555,7 +3743,7 @@ final public void ArrayDimensions() throws ParseException {/*@bgen(jjtree) Array jjtreeOpenNodeScope(jjtn000); try { if (jj_2_22(2)) { - label_25: + label_27: while (true) { jj_consume_token(LBRACKET); Expression(); @@ -3563,14 +3751,14 @@ final public void ArrayDimensions() throws ParseException {/*@bgen(jjtree) Array jjtn000.addDefinedDimension(); if (jj_2_20(2)) { } else { - break label_25; + break label_27; } } - label_26: + label_28: while (true) { if (jj_2_21(2)) { } else { - break label_26; + break label_28; } jj_consume_token(LBRACKET); jj_consume_token(RBRACKET); @@ -3579,7 +3767,7 @@ final public void ArrayDimensions() throws ParseException {/*@bgen(jjtree) Array } else { switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { case LBRACKET:{ - label_27: + label_29: while (true) { jj_consume_token(LBRACKET); jj_consume_token(RBRACKET); @@ -3589,8 +3777,8 @@ final public void ArrayDimensions() throws ParseException {/*@bgen(jjtree) Array break; } default: - jj_la1[93] = jj_gen; - break label_27; + jj_la1[96] = jj_gen; + break label_29; } } ArrayInitializer(); @@ -3607,7 +3795,7 @@ final public void ArrayDimensions() throws ParseException {/*@bgen(jjtree) Array break; } default: - jj_la1[94] = jj_gen; + jj_la1[97] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3664,6 +3852,7 @@ void Statement() throws ParseException { case SHORT: case TRUE: case VOID: + case WHEN: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: @@ -3700,7 +3889,7 @@ void Statement() throws ParseException { break; } default: - jj_la1[95] = jj_gen; + jj_la1[98] = jj_gen; if (isRegularForStatement()) { ForStatement(); } else { @@ -3734,7 +3923,7 @@ void Statement() throws ParseException { break; } default: - jj_la1[96] = jj_gen; + jj_la1[99] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3794,15 +3983,15 @@ final public void Block() throws ParseException {/*@bgen(jjtree) Block */ break; } default: - jj_la1[97] = jj_gen; + jj_la1[100] = jj_gen; ; } jj_consume_token(LBRACE); - label_28: + label_30: while (true) { if (jj_2_25(1)) { } else { - break label_28; + break label_30; } BlockStatement(); } @@ -3860,7 +4049,7 @@ final public void BlockStatement() throws ParseException { break; } default: - jj_la1[98] = jj_gen; + jj_la1[101] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3878,7 +4067,7 @@ final public void MethodDeclTerminator() throws ParseException { break; } default: - jj_la1[99] = jj_gen; + jj_la1[102] = jj_gen; if (isImplicitMethodTerminator()) { } else { @@ -3895,7 +4084,7 @@ final public void StatementTerminator() throws ParseException { break; } default: - jj_la1[100] = jj_gen; + jj_la1[103] = jj_gen; ; } } @@ -3915,23 +4104,23 @@ final public void SwitchStatement() throws ParseException {/*@bgen(jjtree) Switc Expression(); jj_consume_token(RPAREN); jj_consume_token(LBRACE); - label_29: + label_31: while (true) { switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { case CASE: - case 155:{ + case 156:{ break; } default: - jj_la1[101] = jj_gen; - break label_29; + jj_la1[104] = jj_gen; + break label_31; } SwitchLabel(); - label_30: + label_32: while (true) { if (jj_2_31(1)) { } else { - break label_30; + break label_32; } BlockStatement(); } @@ -3974,8 +4163,8 @@ final public void SwitchLabel() throws ParseException {/*@bgen(jjtree) SwitchLab jj_consume_token(COLON); break; } - case 155:{ - jj_consume_token(155); + case 156:{ + jj_consume_token(156); jjtree.closeNodeScope(jjtn000, true); jjtc000 = false; if (jjtree.nodeCreated()) { @@ -3985,7 +4174,7 @@ final public void SwitchLabel() throws ParseException {/*@bgen(jjtree) SwitchLab break; } default: - jj_la1[102] = jj_gen; + jj_la1[105] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4030,7 +4219,7 @@ final public void IfStatement() throws ParseException {/*@bgen(jjtree) IfStateme break; } default: - jj_la1[103] = jj_gen; + jj_la1[106] = jj_gen; if (jj_2_32(1)) { Statement(); } else { @@ -4045,7 +4234,7 @@ final public void IfStatement() throws ParseException {/*@bgen(jjtree) IfStateme break; } default: - jj_la1[104] = jj_gen; + jj_la1[107] = jj_gen; ; } } catch (Throwable jjte000) { @@ -4188,6 +4377,7 @@ final public void ForStatement() throws ParseException {/*@bgen(jjtree) ForState case TRUE: case VOID: case VOLATILE: + case WHEN: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: @@ -4208,7 +4398,7 @@ final public void ForStatement() throws ParseException {/*@bgen(jjtree) ForState break; } default: - jj_la1[105] = jj_gen; + jj_la1[108] = jj_gen; ; } jj_consume_token(SEMICOLON); @@ -4226,6 +4416,7 @@ final public void ForStatement() throws ParseException {/*@bgen(jjtree) ForState case SHORT: case TRUE: case VOID: + case WHEN: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: @@ -4246,7 +4437,7 @@ final public void ForStatement() throws ParseException {/*@bgen(jjtree) ForState break; } default: - jj_la1[106] = jj_gen; + jj_la1[109] = jj_gen; ; } jj_consume_token(SEMICOLON); @@ -4264,6 +4455,7 @@ final public void ForStatement() throws ParseException {/*@bgen(jjtree) ForState case SHORT: case TRUE: case VOID: + case WHEN: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: @@ -4284,7 +4476,7 @@ final public void ForStatement() throws ParseException {/*@bgen(jjtree) ForState break; } default: - jj_la1[107] = jj_gen; + jj_la1[110] = jj_gen; ; } jj_consume_token(RPAREN); @@ -4348,7 +4540,7 @@ final public void EnhancedForStatement() throws ParseException {/*@bgen(jjtree) break; } default: - jj_la1[108] = jj_gen; + jj_la1[111] = jj_gen; ; } Type(); @@ -4366,7 +4558,7 @@ final public void EnhancedForStatement() throws ParseException {/*@bgen(jjtree) break; } default: - jj_la1[109] = jj_gen; + jj_la1[112] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4413,6 +4605,7 @@ final public void EnhancedForStatement() throws ParseException {/*@bgen(jjtree) case SHORT: case TRUE: case VOID: + case WHEN: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: @@ -4432,7 +4625,7 @@ final public void EnhancedForStatement() throws ParseException {/*@bgen(jjtree) break; } default: - jj_la1[110] = jj_gen; + jj_la1[113] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4454,15 +4647,15 @@ final public void TypedVariableDeclaration() throws ParseException {/*@bgen(jjtr mods = Modifiers(Modifiers.FIELD, false); Type(); VariableDeclarator(); - label_31: + label_33: while (true) { switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { case COMMA:{ break; } default: - jj_la1[111] = jj_gen; - break label_31; + jj_la1[114] = jj_gen; + break label_33; } jj_consume_token(COMMA); VariableDeclarator(); @@ -4504,15 +4697,15 @@ final public void StatementExpressionList() throws ParseException {/*@bgen(jjtre jjtreeOpenNodeScope(jjtn000); try { StatementExpression(); - label_32: + label_34: while (true) { switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { case COMMA:{ break; } default: - jj_la1[112] = jj_gen; - break label_32; + jj_la1[115] = jj_gen; + break label_34; } jj_consume_token(COMMA); StatementExpression(); @@ -4763,19 +4956,19 @@ final public void TryStatement() throws ParseException {/*@bgen(jjtree) TryState break; } default: - jj_la1[113] = jj_gen; + jj_la1[116] = jj_gen; ; } Block(); - label_33: + label_35: while (true) { switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { case CATCH:{ break; } default: - jj_la1[114] = jj_gen; - break label_33; + jj_la1[117] = jj_gen; + break label_35; } jj_consume_token(CATCH); jj_consume_token(LPAREN); @@ -4792,7 +4985,7 @@ final public void TryStatement() throws ParseException {/*@bgen(jjtree) TryState break; } default: - jj_la1[115] = jj_gen; + jj_la1[118] = jj_gen; ; } jjtree.closeNodeScope(jjtn000, true); @@ -4839,19 +5032,19 @@ final public void MultiCatch() throws ParseException {/*@bgen(jjtree) MultiCatch break; } default: - jj_la1[116] = jj_gen; + jj_la1[119] = jj_gen; ; } Type(); - label_34: + label_36: while (true) { switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { case BIT_OR:{ break; } default: - jj_la1[117] = jj_gen; - break label_34; + jj_la1[120] = jj_gen; + break label_36; } jj_consume_token(BIT_OR); Type(); @@ -4876,7 +5069,7 @@ final public void MultiCatch() throws ParseException {/*@bgen(jjtree) MultiCatch break; } default: - jj_la1[118] = jj_gen; + jj_la1[121] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4913,15 +5106,15 @@ final public void TryWithResources() throws ParseException {/*@bgen(jjtree) TryW try { jj_consume_token(LPAREN); AutoCloseable(); - label_35: + label_37: while (true) { switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { case SEMICOLON:{ break; } default: - jj_la1[119] = jj_gen; - break label_35; + jj_la1[122] = jj_gen; + break label_37; } jj_consume_token(SEMICOLON); AutoCloseable(); @@ -4967,7 +5160,7 @@ final public void AutoCloseable() throws ParseException {/*@bgen(jjtree) AutoClo break; } default: - jj_la1[120] = jj_gen; + jj_la1[123] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -5376,144 +5569,188 @@ private boolean jj_2_38(int xla) finally { jj_save(37, xla); } } - private boolean jj_3R_262() + private boolean jj_3R_256() + { + if (jj_3R_53()) return true; + return false; + } + + private boolean jj_3R_257() { if (jj_3R_263()) return true; return false; } - private boolean jj_3R_168() + private boolean jj_3R_170() { - if (jj_3R_170()) return true; + if (jj_3R_172()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_171()) { jj_scanpos = xsp; break; } + if (jj_3R_173()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_255() { - if (jj_scan_token(FINAL)) return true; + if (jj_3R_262()) return true; return false; } - private boolean jj_3R_171() + private boolean jj_3_33() + { + if (jj_scan_token(FOR)) return true; + if (jj_scan_token(LPAREN)) return true; + if (jj_scan_token(IDENTIFIER)) return true; + if (jj_scan_token(COLON)) return true; + if (jj_3R_53()) return true; + if (jj_scan_token(RPAREN)) return true; + if (jj_3R_59()) return true; + return false; + } + + private boolean jj_3R_115() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(105)) { + if (jj_3_33()) { jj_scanpos = xsp; - if (jj_scan_token(106)) return true; + if (jj_3R_142()) return true; } - if (jj_3R_170()) return true; return false; } - private boolean jj_3_34() + private boolean jj_3R_173() { - if (jj_3R_53()) return true; - if (jj_3R_44()) return true; + Token xsp; + xsp = jj_scanpos; + if (jj_scan_token(106)) { + jj_scanpos = xsp; + if (jj_scan_token(107)) return true; + } + if (jj_3R_172()) return true; + return false; + } + + private boolean jj_3R_142() + { + if (jj_scan_token(FOR)) return true; + if (jj_scan_token(LPAREN)) return true; + Token xsp; + xsp = jj_scanpos; + if (jj_3R_264()) jj_scanpos = xsp; + if (jj_3R_46()) return true; if (jj_scan_token(IDENTIFIER)) return true; + if (jj_scan_token(COLON)) return true; + if (jj_3R_53()) return true; + if (jj_scan_token(RPAREN)) return true; + if (jj_3R_59()) return true; return false; } - private boolean jj_3R_170() + private boolean jj_3R_172() { - if (jj_3R_172()) return true; + if (jj_3R_174()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_173()) { jj_scanpos = xsp; break; } + if (jj_3R_175()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_173() + private boolean jj_3R_175() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(107)) { - jj_scanpos = xsp; if (jj_scan_token(108)) { jj_scanpos = xsp; - if (jj_scan_token(115)) { + if (jj_scan_token(109)) { jj_scanpos = xsp; - if (jj_scan_token(116)) return true; + if (jj_scan_token(116)) { + jj_scanpos = xsp; + if (jj_scan_token(117)) return true; } } } - if (jj_3R_172()) return true; + if (jj_3R_174()) return true; return false; } - private boolean jj_3R_97() + private boolean jj_3R_262() { - if (jj_3R_53()) return true; - if (jj_3R_44()) return true; - if (jj_3R_60()) return true; Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_230()) { jj_scanpos = xsp; break; } + xsp = jj_scanpos; + if (jj_3R_270()) { + jj_scanpos = xsp; + if (jj_3R_271()) return true; } return false; } - private boolean jj_3R_172() + private boolean jj_3R_270() { - if (jj_3R_174()) return true; + if (jj_3R_99()) return true; + return false; + } + + private boolean jj_3R_174() + { + if (jj_3R_176()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_175()) { jj_scanpos = xsp; break; } + if (jj_3R_177()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3_32() + private boolean jj_3R_271() { - if (jj_3R_57()) return true; + if (jj_3R_272()) return true; return false; } - private boolean jj_3R_175() + private boolean jj_3R_264() + { + if (jj_scan_token(FINAL)) return true; + return false; + } + + private boolean jj_3R_177() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(117)) { + if (jj_scan_token(118)) { jj_scanpos = xsp; - if (jj_scan_token(118)) return true; + if (jj_scan_token(119)) return true; } - if (jj_3R_174()) return true; + if (jj_3R_176()) return true; return false; } - private boolean jj_3R_263() + private boolean jj_3_34() { - if (jj_3R_107()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_267()) { jj_scanpos = xsp; break; } - } + if (jj_3R_55()) return true; + if (jj_3R_46()) return true; + if (jj_scan_token(IDENTIFIER)) return true; return false; } - private boolean jj_3R_174() + private boolean jj_3R_176() { Token xsp; xsp = jj_scanpos; - if (jj_3R_176()) { - jj_scanpos = xsp; - if (jj_3R_177()) { - jj_scanpos = xsp; if (jj_3R_178()) { jj_scanpos = xsp; if (jj_3R_179()) { jj_scanpos = xsp; - if (jj_3R_180()) return true; + if (jj_3R_180()) { + jj_scanpos = xsp; + if (jj_3R_181()) { + jj_scanpos = xsp; + if (jj_3R_182()) return true; } } } @@ -5521,92 +5758,84 @@ private boolean jj_3R_174() return false; } - private boolean jj_3R_176() + private boolean jj_3R_178() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(105)) { - jj_scanpos = xsp; if (jj_scan_token(106)) { jj_scanpos = xsp; - if (jj_scan_token(92)) { + if (jj_scan_token(107)) { + jj_scanpos = xsp; + if (jj_scan_token(93)) { jj_scanpos = xsp; - if (jj_scan_token(91)) return true; + if (jj_scan_token(92)) return true; } } } - if (jj_3R_174()) return true; - return false; - } - - private boolean jj_3R_254() - { - if (jj_3R_263()) return true; + if (jj_3R_176()) return true; return false; } - private boolean jj_3R_177() + private boolean jj_3R_179() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(103)) { + if (jj_scan_token(104)) { jj_scanpos = xsp; - if (jj_scan_token(104)) return true; + if (jj_scan_token(105)) return true; } - if (jj_3R_183()) return true; + if (jj_3R_185()) return true; return false; } - private boolean jj_3R_114() + private boolean jj_3R_99() { - if (jj_scan_token(BREAK)) return true; + if (jj_3R_55()) return true; + if (jj_3R_46()) return true; + if (jj_3R_62()) return true; Token xsp; - xsp = jj_scanpos; - if (jj_3_35()) { - jj_scanpos = xsp; - if (jj_3R_152()) return true; + while (true) { + xsp = jj_scanpos; + if (jj_3R_239()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_178() - { - if (jj_3R_181()) return true; - return false; - } - - private boolean jj_3R_245() + private boolean jj_3R_180() { - if (jj_scan_token(ELSE)) return true; - if (jj_3R_57()) return true; + if (jj_3R_183()) return true; return false; } - private boolean jj_3_35() + private boolean jj_3R_181() { - if (jj_scan_token(IDENTIFIER)) return true; - if (jj_scan_token(SEMICOLON)) return true; + if (jj_3R_184()) return true; return false; } - private boolean jj_3R_179() + private boolean jj_3_32() { - if (jj_3R_182()) return true; + if (jj_3R_59()) return true; return false; } - private boolean jj_3R_152() + private boolean jj_3R_272() { - if (jj_3R_40()) return true; + if (jj_3R_109()) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_276()) { jj_scanpos = xsp; break; } + } return false; } - private boolean jj_3R_180() + private boolean jj_3R_182() { - if (jj_3R_183()) return true; + if (jj_3R_185()) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_184()) jj_scanpos = xsp; + if (jj_3R_186()) jj_scanpos = xsp; return false; } @@ -5614,298 +5843,400 @@ private boolean jj_3_10() { Token xsp; xsp = jj_scanpos; - if (jj_3R_46()) { + if (jj_3R_48()) { jj_scanpos = xsp; - if (jj_scan_token(74)) return true; + if (jj_scan_token(75)) return true; } if (jj_scan_token(ARROW)) return true; return false; } - private boolean jj_3R_230() + private boolean jj_3R_48() { - if (jj_scan_token(COMMA)) return true; - if (jj_3R_60()) return true; + if (jj_3R_57()) return true; return false; } - private boolean jj_3R_115() + private boolean jj_3R_263() { - if (jj_scan_token(CONTINUE)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3_36()) { - jj_scanpos = xsp; - if (jj_3R_153()) return true; - } + if (jj_3R_272()) return true; return false; } - private boolean jj_3R_267() + private boolean jj_3R_184() { - if (jj_scan_token(COMMA)) return true; - if (jj_3R_107()) return true; + if (jj_scan_token(LPAREN)) return true; + if (jj_3R_46()) return true; + if (jj_scan_token(RPAREN)) return true; + if (jj_3R_176()) return true; return false; } - private boolean jj_3R_46() + private boolean jj_3_11() { - if (jj_3R_55()) return true; + if (jj_scan_token(LPAREN)) return true; + if (jj_3R_46()) return true; + if (jj_scan_token(RPAREN)) return true; return false; } - private boolean jj_3R_182() + private boolean jj_3R_116() { - if (jj_scan_token(LPAREN)) return true; - if (jj_3R_44()) return true; - if (jj_scan_token(RPAREN)) return true; - if (jj_3R_174()) return true; + if (jj_scan_token(BREAK)) return true; + Token xsp; + xsp = jj_scanpos; + if (jj_3_35()) { + jj_scanpos = xsp; + if (jj_3R_154()) return true; + } return false; } - private boolean jj_3_11() + private boolean jj_3R_185() { - if (jj_scan_token(LPAREN)) return true; - if (jj_3R_44()) return true; - if (jj_scan_token(RPAREN)) return true; + if (jj_3R_188()) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3_12()) { jj_scanpos = xsp; break; } + } return false; } - private boolean jj_3_36() + private boolean jj_3R_254() + { + if (jj_scan_token(ELSE)) return true; + if (jj_3R_59()) return true; + return false; + } + + private boolean jj_3_35() { if (jj_scan_token(IDENTIFIER)) return true; if (jj_scan_token(SEMICOLON)) return true; return false; } - private boolean jj_3R_153() + private boolean jj_3R_154() { - if (jj_3R_40()) return true; + if (jj_3R_42()) return true; return false; } - private boolean jj_3R_183() + private boolean jj_3R_200() { - if (jj_3R_186()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3_12()) { jj_scanpos = xsp; break; } - } + if (jj_3R_40()) return true; + if (jj_3R_210()) return true; return false; } - private boolean jj_3R_116() + private boolean jj_3R_186() { - if (jj_scan_token(RETURN)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_154()) jj_scanpos = xsp; - if (jj_3R_40()) return true; + if (jj_scan_token(104)) { + jj_scanpos = xsp; + if (jj_scan_token(105)) return true; + } return false; } - private boolean jj_3R_196() + private boolean jj_3R_239() { - if (jj_3R_38()) return true; - if (jj_3R_205()) return true; + if (jj_scan_token(COMMA)) return true; + if (jj_3R_62()) return true; return false; } - private boolean jj_3R_184() + private boolean jj_3R_117() { + if (jj_scan_token(CONTINUE)) return true; Token xsp; xsp = jj_scanpos; - if (jj_scan_token(103)) { + if (jj_3_36()) { jj_scanpos = xsp; - if (jj_scan_token(104)) return true; + if (jj_3R_155()) return true; } return false; } - private boolean jj_3R_181() + private boolean jj_3R_183() { Token xsp; xsp = jj_scanpos; - if (jj_3R_185()) { + if (jj_3R_187()) { jj_scanpos = xsp; - if (jj_scan_token(74)) return true; + if (jj_scan_token(75)) return true; } if (jj_scan_token(ARROW)) return true; xsp = jj_scanpos; - if (jj_3R_187()) { + if (jj_3R_189()) { jj_scanpos = xsp; - if (jj_3R_188()) return true; + if (jj_3R_190()) return true; } return false; } - private boolean jj_3R_117() + private boolean jj_3R_276() { - if (jj_scan_token(SYNCHRONIZED)) return true; - if (jj_scan_token(LPAREN)) return true; - if (jj_3R_51()) return true; - if (jj_scan_token(RPAREN)) return true; - if (jj_3R_50()) return true; + if (jj_scan_token(COMMA)) return true; + if (jj_3R_109()) return true; return false; } - private boolean jj_3R_185() + private boolean jj_3R_187() { - if (jj_3R_55()) return true; + if (jj_3R_57()) return true; return false; } - private boolean jj_3R_154() + private boolean jj_3_36() { - if (jj_3R_51()) return true; + if (jj_scan_token(IDENTIFIER)) return true; + if (jj_scan_token(SEMICOLON)) return true; return false; } - private boolean jj_3R_187() + private boolean jj_3R_189() { - if (jj_3R_50()) return true; + if (jj_3R_52()) return true; return false; } - private boolean jj_3_12() + private boolean jj_3R_155() { - if (jj_3R_47()) return true; + if (jj_3R_42()) return true; return false; } - private boolean jj_3R_118() + private boolean jj_3_12() { - if (jj_scan_token(THROW)) return true; - if (jj_3R_51()) return true; - if (jj_3R_40()) return true; + if (jj_3R_49()) return true; return false; } - private boolean jj_3R_186() + private boolean jj_3R_199() { + if (jj_scan_token(WHEN)) return true; + if (jj_scan_token(LPAREN)) return true; + if (jj_3R_53()) return true; + if (jj_scan_token(RPAREN)) return true; + if (jj_scan_token(LBRACE)) return true; Token xsp; - xsp = jj_scanpos; - if (jj_3R_189()) { - jj_scanpos = xsp; - if (jj_3R_190()) { - jj_scanpos = xsp; - if (jj_3R_191()) { - jj_scanpos = xsp; - if (jj_3R_192()) { - jj_scanpos = xsp; - if (jj_3R_193()) { - jj_scanpos = xsp; - if (jj_3R_194()) return true; - } - } - } - } + if (jj_3R_209()) return true; + while (true) { + xsp = jj_scanpos; + if (jj_3R_209()) { jj_scanpos = xsp; break; } } + if (jj_scan_token(RBRACE)) return true; return false; } - private boolean jj_3R_189() + private boolean jj_3R_118() { - if (jj_3R_195()) return true; + if (jj_scan_token(RETURN)) return true; + Token xsp; + xsp = jj_scanpos; + if (jj_3R_156()) jj_scanpos = xsp; + if (jj_3R_42()) return true; return false; } private boolean jj_3R_190() { - if (jj_scan_token(LPAREN)) return true; - if (jj_3R_51()) return true; - if (jj_scan_token(RPAREN)) return true; + if (jj_3R_53()) return true; return false; } - private boolean jj_3R_191() + private boolean jj_3R_209() { - if (jj_3R_49()) return true; + if (jj_3R_216()) return true; return false; } - private boolean jj_3R_188() + private boolean jj_3R_216() { - if (jj_3R_51()) return true; - return false; - } + Token xsp; + xsp = jj_scanpos; + if (jj_3R_225()) { + jj_scanpos = xsp; + if (jj_3R_226()) return true; + } + return false; + } + + private boolean jj_3R_225() + { + if (jj_scan_token(ELSE)) return true; + if (jj_scan_token(ARROW)) return true; + if (jj_3R_53()) return true; + return false; + } + + private boolean jj_3R_119() + { + if (jj_scan_token(SYNCHRONIZED)) return true; + if (jj_scan_token(LPAREN)) return true; + if (jj_3R_53()) return true; + if (jj_scan_token(RPAREN)) return true; + if (jj_3R_52()) return true; + return false; + } + + private boolean jj_3R_226() + { + if (jj_3R_53()) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_233()) { jj_scanpos = xsp; break; } + } + if (jj_scan_token(ARROW)) return true; + if (jj_3R_53()) return true; + return false; + } + + private boolean jj_3R_156() + { + if (jj_3R_53()) return true; + return false; + } + + private boolean jj_3R_188() + { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_191()) { + jj_scanpos = xsp; + if (jj_3R_192()) { + jj_scanpos = xsp; + if (jj_3R_193()) { + jj_scanpos = xsp; + if (jj_3R_194()) { + jj_scanpos = xsp; + if (jj_3R_195()) { + jj_scanpos = xsp; + if (jj_3R_196()) { + jj_scanpos = xsp; + if (jj_3R_197()) return true; + } + } + } + } + } + } + return false; + } + + private boolean jj_3R_191() + { + if (jj_3R_198()) return true; + return false; + } + + private boolean jj_3R_120() + { + if (jj_scan_token(THROW)) return true; + if (jj_3R_53()) return true; + if (jj_3R_42()) return true; + return false; + } private boolean jj_3R_192() { - if (jj_3R_196()) return true; + if (jj_scan_token(LPAREN)) return true; + if (jj_3R_53()) return true; + if (jj_scan_token(RPAREN)) return true; return false; } private boolean jj_3R_193() { - if (jj_3R_44()) return true; + if (jj_3R_199()) return true; return false; } - private boolean jj_3R_119() + private boolean jj_3R_194() + { + if (jj_3R_51()) return true; + return false; + } + + private boolean jj_3R_195() + { + if (jj_3R_200()) return true; + return false; + } + + private boolean jj_3R_196() + { + if (jj_3R_46()) return true; + return false; + } + + private boolean jj_3R_121() { if (jj_scan_token(TRY)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_155()) jj_scanpos = xsp; - if (jj_3R_50()) return true; + if (jj_3R_157()) jj_scanpos = xsp; + if (jj_3R_52()) return true; while (true) { xsp = jj_scanpos; - if (jj_3R_249()) { jj_scanpos = xsp; break; } + if (jj_3R_258()) { jj_scanpos = xsp; break; } } xsp = jj_scanpos; - if (jj_3R_250()) jj_scanpos = xsp; + if (jj_3R_259()) jj_scanpos = xsp; return false; } - private boolean jj_3R_194() + private boolean jj_3R_197() { - if (jj_3R_38()) return true; + if (jj_3R_40()) return true; return false; } - private boolean jj_3R_249() + private boolean jj_3R_258() { if (jj_scan_token(CATCH)) return true; if (jj_scan_token(LPAREN)) return true; - if (jj_3R_256()) return true; + if (jj_3R_265()) return true; if (jj_scan_token(RPAREN)) return true; - if (jj_3R_50()) return true; + if (jj_3R_52()) return true; return false; } - private boolean jj_3R_250() + private boolean jj_3R_259() { if (jj_scan_token(FINALLY)) return true; - if (jj_3R_50()) return true; + if (jj_3R_52()) return true; return false; } private boolean jj_3_13() { - if (jj_3R_38()) return true; + if (jj_3R_40()) return true; if (jj_scan_token(LPAREN)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_48()) { + if (jj_3R_50()) { jj_scanpos = xsp; - if (jj_scan_token(78)) return true; + if (jj_scan_token(79)) return true; } return false; } private boolean jj_3_14() { - if (jj_3R_44()) return true; + if (jj_3R_46()) return true; if (jj_scan_token(DOT)) return true; if (jj_scan_token(CLASS)) return true; return false; } - private boolean jj_3R_155() + private boolean jj_3R_157() { - if (jj_3R_158()) return true; + if (jj_3R_160()) return true; return false; } @@ -5913,27 +6244,34 @@ private boolean jj_3_37() { Token xsp; xsp = jj_scanpos; - if (jj_3R_58()) jj_scanpos = xsp; - if (jj_3R_44()) return true; + if (jj_3R_60()) jj_scanpos = xsp; + if (jj_3R_46()) return true; while (true) { xsp = jj_scanpos; - if (jj_3R_59()) { jj_scanpos = xsp; break; } + if (jj_3R_61()) { jj_scanpos = xsp; break; } } if (jj_scan_token(IDENTIFIER)) return true; return false; } - private boolean jj_3R_256() + private boolean jj_3R_265() { Token xsp; xsp = jj_scanpos; if (jj_3_37()) { jj_scanpos = xsp; - if (jj_3R_266()) return true; + if (jj_3R_275()) return true; } return false; } + private boolean jj_3R_233() + { + if (jj_scan_token(COMMA)) return true; + if (jj_3R_53()) return true; + return false; + } + private boolean jj_3_15() { if (jj_scan_token(DOT)) return true; @@ -5941,24 +6279,24 @@ private boolean jj_3_15() return false; } - private boolean jj_3R_47() + private boolean jj_3R_49() { Token xsp; xsp = jj_scanpos; if (jj_3_15()) { jj_scanpos = xsp; - if (jj_3R_71()) { + if (jj_3R_73()) { jj_scanpos = xsp; jj_lookingAhead = true; jj_semLA = getToken(1).kind == COLON_COLON && (getToken(2).kind == IDENTIFIER || getToken(2).kind == NEW ) && getToken(3).kind != RBRACKET; jj_lookingAhead = false; - if (!jj_semLA || jj_3R_72()) { + if (!jj_semLA || jj_3R_74()) { jj_scanpos = xsp; if (jj_3_16()) { jj_scanpos = xsp; if (jj_3_17()) { jj_scanpos = xsp; - if (jj_3R_73()) { + if (jj_3R_75()) { jj_scanpos = xsp; if (jj_3_18()) return true; } @@ -5970,51 +6308,51 @@ private boolean jj_3R_47() return false; } - private boolean jj_3R_266() + private boolean jj_3R_275() { if (jj_scan_token(IDENTIFIER)) return true; return false; } - private boolean jj_3R_71() + private boolean jj_3R_73() { if (jj_scan_token(LBRACKET)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_206()) jj_scanpos = xsp; + if (jj_3R_211()) jj_scanpos = xsp; xsp = jj_scanpos; - if (jj_3R_207()) jj_scanpos = xsp; + if (jj_3R_212()) jj_scanpos = xsp; if (jj_scan_token(RBRACKET)) return true; return false; } - private boolean jj_3R_59() + private boolean jj_3R_61() { if (jj_scan_token(BIT_OR)) return true; - if (jj_3R_44()) return true; + if (jj_3R_46()) return true; return false; } - private boolean jj_3R_158() + private boolean jj_3R_160() { if (jj_scan_token(LPAREN)) return true; - if (jj_3R_264()) return true; + if (jj_3R_273()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_265()) { jj_scanpos = xsp; break; } + if (jj_3R_274()) { jj_scanpos = xsp; break; } } if (jj_scan_token(RPAREN)) return true; return false; } - private boolean jj_3R_206() + private boolean jj_3R_211() { - if (jj_3R_51()) return true; + if (jj_3R_53()) return true; return false; } - private boolean jj_3R_58() + private boolean jj_3R_60() { if (jj_scan_token(FINAL)) return true; return false; @@ -6022,106 +6360,112 @@ private boolean jj_3R_58() private boolean jj_3_38() { - if (jj_3R_44()) return true; - if (jj_3R_60()) return true; + if (jj_3R_46()) return true; + if (jj_3R_62()) return true; return false; } - private boolean jj_3R_207() + private boolean jj_3R_212() { Token xsp; xsp = jj_scanpos; - if (jj_3R_215()) { + if (jj_3R_221()) { jj_scanpos = xsp; - if (jj_3R_216()) return true; + if (jj_3R_222()) return true; } return false; } - private boolean jj_3R_215() + private boolean jj_3R_221() { if (jj_scan_token(COLON_COLON)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_222()) jj_scanpos = xsp; + if (jj_3R_230()) jj_scanpos = xsp; return false; } - private boolean jj_3R_264() + private boolean jj_3R_273() { Token xsp; xsp = jj_scanpos; if (jj_3_38()) { jj_scanpos = xsp; - if (jj_3R_268()) return true; + if (jj_3R_277()) return true; } return false; } - private boolean jj_3R_216() + private boolean jj_3R_222() { if (jj_scan_token(COLON)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_223()) jj_scanpos = xsp; + if (jj_3R_231()) jj_scanpos = xsp; xsp = jj_scanpos; - if (jj_3R_224()) jj_scanpos = xsp; + if (jj_3R_232()) jj_scanpos = xsp; return false; } - private boolean jj_3R_48() + private boolean jj_3R_50() { - if (jj_3R_51()) return true; + if (jj_3R_53()) return true; return false; } - private boolean jj_3R_72() + private boolean jj_3R_74() { if (jj_scan_token(COLON_COLON)) return true; Token xsp; xsp = jj_scanpos; - if (jj_scan_token(74)) { + if (jj_scan_token(75)) { jj_scanpos = xsp; if (jj_scan_token(43)) return true; } return false; } - private boolean jj_3R_222() + private boolean jj_3R_230() { - if (jj_3R_51()) return true; + if (jj_3R_53()) return true; return false; } - private boolean jj_3R_224() + private boolean jj_3R_232() { if (jj_scan_token(COLON)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_226()) jj_scanpos = xsp; + if (jj_3R_235()) jj_scanpos = xsp; return false; } - private boolean jj_3R_268() + private boolean jj_3_1() + { + if (jj_3R_38()) return true; + return false; + } + + private boolean jj_3R_277() { - if (jj_3R_60()) return true; + if (jj_3R_62()) return true; return false; } private boolean jj_3_16() { - if (jj_scan_token(154)) return true; + if (jj_scan_token(155)) return true; if (jj_scan_token(IDENTIFIER)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_208()) jj_scanpos = xsp; + if (jj_3R_213()) jj_scanpos = xsp; return false; } - private boolean jj_3R_265() + private boolean jj_3R_274() { if (jj_scan_token(SEMICOLON)) return true; - if (jj_3R_264()) return true; + if (jj_3R_273()) return true; return false; } @@ -6131,101 +6475,36 @@ private boolean jj_3_17() if (jj_scan_token(IDENTIFIER)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_209()) jj_scanpos = xsp; + if (jj_3R_214()) jj_scanpos = xsp; return false; } - private boolean jj_3R_73() + private boolean jj_3R_75() { if (jj_scan_token(LBRACE)) return true; - if (jj_3R_51()) return true; + if (jj_3R_53()) return true; if (jj_scan_token(RBRACE)) return true; return false; } - private boolean jj_3_1() + private boolean jj_3R_55() { - if (jj_3R_36()) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_79()) { jj_scanpos = xsp; break; } + } return false; } private boolean jj_3_18() { if (jj_scan_token(DOT)) return true; - if (jj_3R_49()) return true; - return false; - } - - private boolean jj_3R_223() - { - if (jj_3R_51()) return true; - return false; - } - - private boolean jj_3R_208() - { - if (jj_3R_205()) return true; - return false; - } - - private boolean jj_3R_226() - { if (jj_3R_51()) return true; return false; } - private boolean jj_3R_209() - { - if (jj_3R_205()) return true; - return false; - } - - private boolean jj_3R_195() - { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_197()) { - jj_scanpos = xsp; - if (jj_3R_198()) { - jj_scanpos = xsp; - if (jj_3R_199()) { - jj_scanpos = xsp; - if (jj_3R_200()) { - jj_scanpos = xsp; - if (jj_3R_201()) { - jj_scanpos = xsp; - if (jj_3R_202()) { - jj_scanpos = xsp; - if (jj_3R_203()) { - jj_scanpos = xsp; - if (jj_3R_204()) return true; - } - } - } - } - } - } - } - return false; - } - - private boolean jj_3R_197() - { - if (jj_scan_token(INTEGER_LITERAL)) return true; - return false; - } - - private boolean jj_3R_53() - { - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_77()) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_77() + private boolean jj_3R_79() { Token xsp; xsp = jj_scanpos; @@ -6266,299 +6545,324 @@ private boolean jj_3R_77() return false; } - private boolean jj_3R_198() + private boolean jj_3R_231() { - if (jj_scan_token(FLOATING_POINT_LITERAL)) return true; + if (jj_3R_53()) return true; return false; } - private boolean jj_3R_95() + private boolean jj_3R_213() + { + if (jj_3R_210()) return true; + return false; + } + + private boolean jj_3R_235() { if (jj_3R_53()) return true; + return false; + } + + private boolean jj_3R_214() + { + if (jj_3R_210()) return true; + return false; + } + + private boolean jj_3R_198() + { Token xsp; xsp = jj_scanpos; - if (jj_3R_120()) { + if (jj_3R_201()) { jj_scanpos = xsp; - if (jj_3R_121()) return true; + if (jj_3R_202()) { + jj_scanpos = xsp; + if (jj_3R_203()) { + jj_scanpos = xsp; + if (jj_3R_204()) { + jj_scanpos = xsp; + if (jj_3R_205()) { + jj_scanpos = xsp; + if (jj_3R_206()) { + jj_scanpos = xsp; + if (jj_3R_207()) { + jj_scanpos = xsp; + if (jj_3R_208()) return true; + } + } + } + } + } + } } return false; } - private boolean jj_3R_199() + private boolean jj_3R_201() { - if (jj_scan_token(CHARACTER_LITERAL)) return true; + if (jj_scan_token(INTEGER_LITERAL)) return true; return false; } - private boolean jj_3R_120() + private boolean jj_3R_97() { + if (jj_3R_55()) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_141()) { + if (jj_3R_122()) { jj_scanpos = xsp; - if (jj_3R_142()) return true; + if (jj_3R_123()) return true; } - if (jj_3R_50()) return true; return false; } - private boolean jj_3R_141() + private boolean jj_3R_122() { - if (jj_scan_token(CLASS)) return true; - if (jj_scan_token(IDENTIFIER)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_236()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_237()) jj_scanpos = xsp; + if (jj_3R_143()) { + jj_scanpos = xsp; + if (jj_3R_144()) return true; + } + if (jj_3R_52()) return true; return false; } - private boolean jj_3R_200() + private boolean jj_3R_202() { - if (jj_scan_token(STRING_LITERAL)) return true; + if (jj_scan_token(FLOATING_POINT_LITERAL)) return true; return false; } - private boolean jj_3R_236() + private boolean jj_3R_143() + { + if (jj_scan_token(CLASS)) return true; + if (jj_scan_token(IDENTIFIER)) return true; + Token xsp; + xsp = jj_scanpos; + if (jj_3R_245()) jj_scanpos = xsp; + xsp = jj_scanpos; + if (jj_3R_246()) jj_scanpos = xsp; + return false; + } + + private boolean jj_3R_245() { if (jj_scan_token(EXTENDS)) return true; - if (jj_3R_38()) return true; + if (jj_3R_40()) return true; return false; } - private boolean jj_3R_237() + private boolean jj_3R_246() { if (jj_scan_token(IMPLEMENTS)) return true; - if (jj_3R_81()) return true; + if (jj_3R_83()) return true; return false; } - private boolean jj_3R_142() + private boolean jj_3R_144() { if (jj_scan_token(INTERFACE)) return true; if (jj_scan_token(IDENTIFIER)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_238()) jj_scanpos = xsp; + if (jj_3R_247()) jj_scanpos = xsp; return false; } - private boolean jj_3R_121() + private boolean jj_3R_123() { if (jj_scan_token(ENUM)) return true; if (jj_scan_token(IDENTIFIER)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_231()) jj_scanpos = xsp; - if (jj_3R_232()) return true; + if (jj_3R_240()) jj_scanpos = xsp; + if (jj_3R_241()) return true; return false; } - private boolean jj_3R_238() + private boolean jj_3R_247() { if (jj_scan_token(EXTENDS)) return true; - if (jj_3R_81()) return true; - return false; - } - - private boolean jj_3R_201() - { - if (jj_scan_token(LONG_STRING_LITERAL)) return true; + if (jj_3R_83()) return true; return false; } - private boolean jj_3R_231() + private boolean jj_3R_240() { if (jj_scan_token(IMPLEMENTS)) return true; - if (jj_3R_81()) return true; + if (jj_3R_83()) return true; return false; } - private boolean jj_3R_202() + private boolean jj_3R_203() { - if (jj_3R_210()) return true; + if (jj_scan_token(CHARACTER_LITERAL)) return true; return false; } - private boolean jj_3R_203() + private boolean jj_3R_204() { - if (jj_scan_token(44)) return true; + if (jj_scan_token(STRING_LITERAL)) return true; return false; } - private boolean jj_3R_251() + private boolean jj_3R_260() { if (jj_scan_token(IDENTIFIER)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_257()) jj_scanpos = xsp; + if (jj_3R_266()) jj_scanpos = xsp; xsp = jj_scanpos; - if (jj_3R_258()) jj_scanpos = xsp; + if (jj_3R_267()) jj_scanpos = xsp; return false; } - private boolean jj_3R_204() + private boolean jj_3R_205() { - if (jj_scan_token(60)) return true; + if (jj_scan_token(LONG_STRING_LITERAL)) return true; return false; } - private boolean jj_3R_210() + private boolean jj_3R_241() { + if (jj_scan_token(LBRACE)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_217()) { - jj_scanpos = xsp; - if (jj_3R_218()) return true; + if (jj_3R_248()) jj_scanpos = xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_249()) { jj_scanpos = xsp; break; } } + xsp = jj_scanpos; + if (jj_3R_250()) jj_scanpos = xsp; + if (jj_scan_token(RBRACE)) return true; return false; } - private boolean jj_3R_217() + private boolean jj_3R_206() { - if (jj_scan_token(TRUE)) return true; + if (jj_3R_215()) return true; return false; } - private boolean jj_3R_218() + private boolean jj_3R_266() { - if (jj_scan_token(FALSE)) return true; + if (jj_3R_210()) return true; return false; } - private boolean jj_3R_232() + private boolean jj_3R_207() { - if (jj_scan_token(LBRACE)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_239()) jj_scanpos = xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_240()) { jj_scanpos = xsp; break; } - } - xsp = jj_scanpos; - if (jj_3R_241()) jj_scanpos = xsp; - if (jj_scan_token(RBRACE)) return true; + if (jj_scan_token(44)) return true; return false; } - private boolean jj_3R_257() + private boolean jj_3R_248() { - if (jj_3R_205()) return true; + if (jj_3R_260()) return true; return false; } - private boolean jj_3R_239() + private boolean jj_3R_208() { - if (jj_3R_251()) return true; + if (jj_scan_token(60)) return true; return false; } - private boolean jj_3R_96() + private boolean jj_3R_98() { - if (jj_3R_53()) return true; + if (jj_3R_55()) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_122()) { + if (jj_3R_124()) { jj_scanpos = xsp; - if (jj_3R_123()) return true; + if (jj_3R_125()) return true; } - if (jj_3R_55()) return true; + if (jj_3R_57()) return true; xsp = jj_scanpos; - if (jj_3R_227()) jj_scanpos = xsp; + if (jj_3R_236()) jj_scanpos = xsp; xsp = jj_scanpos; - if (jj_3R_228()) { + if (jj_3R_237()) { jj_scanpos = xsp; - if (jj_3R_229()) return true; + if (jj_3R_238()) return true; } return false; } - private boolean jj_3R_122() + private boolean jj_3R_124() { if (jj_scan_token(IDENTIFIER)) return true; return false; } - private boolean jj_3R_123() + private boolean jj_3R_125() { - if (jj_3R_54()) return true; + if (jj_3R_56()) return true; if (jj_scan_token(IDENTIFIER)) return true; return false; } - private boolean jj_3R_205() + private boolean jj_3R_215() { - if (jj_scan_token(LPAREN)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_214()) jj_scanpos = xsp; - if (jj_scan_token(RPAREN)) return true; + if (jj_3R_223()) { + jj_scanpos = xsp; + if (jj_3R_224()) return true; + } return false; } - private boolean jj_3R_258() + private boolean jj_3R_223() { - if (jj_3R_50()) return true; + if (jj_scan_token(TRUE)) return true; return false; } - private boolean jj_3R_227() + private boolean jj_3R_224() { - if (jj_scan_token(THROWS)) return true; - if (jj_3R_81()) return true; + if (jj_scan_token(FALSE)) return true; return false; } - private boolean jj_3R_228() + private boolean jj_3R_267() { - if (jj_3R_50()) return true; + if (jj_3R_52()) return true; return false; } - private boolean jj_3_3() + private boolean jj_3R_236() { - if (jj_scan_token(IDENTIFIER)) return true; - if (jj_scan_token(LPAREN)) return true; + if (jj_scan_token(THROWS)) return true; + if (jj_3R_83()) return true; return false; } - private boolean jj_3R_214() + private boolean jj_3R_237() { - if (jj_3R_221()) return true; + if (jj_3R_52()) return true; return false; } - private boolean jj_3R_221() + private boolean jj_3_3() { - if (jj_3R_51()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_225()) { jj_scanpos = xsp; break; } - } + if (jj_scan_token(IDENTIFIER)) return true; + if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_99() + private boolean jj_3R_101() { if (jj_scan_token(PACKAGE)) return true; - if (jj_3R_38()) return true; - return false; - } - - private boolean jj_3R_240() - { - if (jj_scan_token(COMMA)) return true; - if (jj_3R_251()) return true; + if (jj_3R_40()) return true; return false; } - private boolean jj_3R_225() + private boolean jj_3R_249() { if (jj_scan_token(COMMA)) return true; - if (jj_3R_51()) return true; + if (jj_3R_260()) return true; return false; } @@ -6567,158 +6871,272 @@ private boolean jj_3_4() if (jj_scan_token(IMPORT)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_37()) jj_scanpos = xsp; - if (jj_3R_38()) return true; - xsp = jj_scanpos; if (jj_3R_39()) jj_scanpos = xsp; if (jj_3R_40()) return true; + xsp = jj_scanpos; + if (jj_3R_41()) jj_scanpos = xsp; + if (jj_3R_42()) return true; return false; } - private boolean jj_3R_98() + private boolean jj_3R_100() { Token xsp; xsp = jj_scanpos; if (jj_3_4()) { jj_scanpos = xsp; - if (jj_3R_124()) return true; + if (jj_3R_126()) return true; } return false; } - private boolean jj_3R_49() + private boolean jj_3R_238() + { + if (jj_3R_242()) return true; + return false; + } + + private boolean jj_3R_126() + { + if (jj_scan_token(IMPORT)) return true; + if (jj_scan_token(STAR)) return true; + if (jj_3R_42()) return true; + return false; + } + + private boolean jj_3R_210() + { + if (jj_scan_token(LPAREN)) return true; + Token xsp; + xsp = jj_scanpos; + if (jj_3R_220()) jj_scanpos = xsp; + if (jj_scan_token(RPAREN)) return true; + return false; + } + + private boolean jj_3R_39() + { + if (jj_scan_token(STATIC)) return true; + return false; + } + + private boolean jj_3R_220() + { + if (jj_3R_229()) return true; + return false; + } + + private boolean jj_3R_229() + { + if (jj_3R_53()) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_234()) { jj_scanpos = xsp; break; } + } + return false; + } + + private boolean jj_3R_62() + { + if (jj_scan_token(IDENTIFIER)) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_243()) { jj_scanpos = xsp; break; } + } + xsp = jj_scanpos; + if (jj_3R_244()) jj_scanpos = xsp; + return false; + } + + private boolean jj_3R_234() + { + if (jj_scan_token(COMMA)) return true; + if (jj_3R_53()) return true; + return false; + } + + private boolean jj_3R_243() + { + if (jj_scan_token(LBRACKET)) return true; + if (jj_scan_token(RBRACKET)) return true; + return false; + } + + private boolean jj_3R_244() + { + if (jj_scan_token(ASSIGN)) return true; + if (jj_3R_44()) return true; + return false; + } + + private boolean jj_3R_41() + { + if (jj_scan_token(DOT)) return true; + if (jj_scan_token(STAR)) return true; + return false; + } + + private boolean jj_3R_51() { Token xsp; xsp = jj_scanpos; - if (jj_3R_74()) { + if (jj_3R_76()) { jj_scanpos = xsp; - if (jj_3R_75()) return true; + if (jj_3R_77()) return true; } return false; } - private boolean jj_3R_74() + private boolean jj_3R_76() { if (jj_scan_token(NEW)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_211()) { + if (jj_3R_217()) { jj_scanpos = xsp; - if (jj_3R_212()) { + if (jj_3R_218()) { jj_scanpos = xsp; - if (jj_3R_213()) return true; + if (jj_3R_219()) return true; } } return false; } - private boolean jj_3R_229() + private boolean jj_3R_250() { - if (jj_3R_233()) return true; + if (jj_scan_token(SEMICOLON)) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3_2()) { jj_scanpos = xsp; break; } + } return false; } - private boolean jj_3R_124() + private boolean jj_3_5() { - if (jj_scan_token(IMPORT)) return true; - if (jj_scan_token(STAR)) return true; - if (jj_3R_40()) return true; + if (jj_3R_43()) return true; return false; } - private boolean jj_3R_211() + private boolean jj_3R_44() + { + Token xsp; + xsp = jj_scanpos; + if (jj_3_5()) { + jj_scanpos = xsp; + if (jj_3R_70()) return true; + } + return false; + } + + private boolean jj_3R_70() + { + if (jj_3R_53()) return true; + return false; + } + + private boolean jj_3R_217() { - if (jj_3R_100()) return true; if (jj_3R_102()) return true; + if (jj_3R_104()) return true; return false; } - private boolean jj_3R_212() + private boolean jj_3_2() { if (jj_3R_38()) return true; + return false; + } + + private boolean jj_3R_218() + { + if (jj_3R_40()) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_219()) { + if (jj_3R_227()) { jj_scanpos = xsp; - if (jj_3R_220()) return true; + if (jj_3R_228()) return true; } return false; } - private boolean jj_3R_219() + private boolean jj_3R_227() { - if (jj_3R_102()) return true; + if (jj_3R_104()) return true; return false; } - private boolean jj_3R_37() + private boolean jj_3R_43() { - if (jj_scan_token(STATIC)) return true; + if (jj_scan_token(LBRACE)) return true; + Token xsp; + xsp = jj_scanpos; + if (jj_3R_69()) jj_scanpos = xsp; + xsp = jj_scanpos; + if (jj_scan_token(85)) jj_scanpos = xsp; + if (jj_scan_token(RBRACE)) return true; return false; } - private boolean jj_3R_220() + private boolean jj_3R_228() { - if (jj_3R_205()) return true; + if (jj_3R_210()) return true; Token xsp; xsp = jj_scanpos; if (jj_3_19()) jj_scanpos = xsp; return false; } - private boolean jj_3R_75() + private boolean jj_3R_77() { - if (jj_3R_102()) return true; + if (jj_3R_104()) return true; return false; } - private boolean jj_3R_213() + private boolean jj_3R_219() { - if (jj_3R_102()) return true; + if (jj_3R_104()) return true; return false; } - private boolean jj_3R_60() + private boolean jj_3R_69() { - if (jj_scan_token(IDENTIFIER)) return true; + if (jj_3R_44()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_234()) { jj_scanpos = xsp; break; } + if (jj_3_6()) { jj_scanpos = xsp; break; } } - xsp = jj_scanpos; - if (jj_3R_235()) jj_scanpos = xsp; return false; } - private boolean jj_3R_234() + private boolean jj_3R_57() { - if (jj_scan_token(LBRACKET)) return true; - if (jj_scan_token(RBRACKET)) return true; + if (jj_scan_token(LPAREN)) return true; + Token xsp; + xsp = jj_scanpos; + if (jj_3R_82()) jj_scanpos = xsp; + if (jj_scan_token(RPAREN)) return true; return false; } - private boolean jj_3R_102() + private boolean jj_3R_104() { Token xsp; xsp = jj_scanpos; if (jj_3_22()) { jj_scanpos = xsp; - if (jj_3R_135()) { + if (jj_3R_137()) { jj_scanpos = xsp; - if (jj_3R_136()) return true; + if (jj_3R_138()) return true; } } return false; } - private boolean jj_3R_235() - { - if (jj_scan_token(ASSIGN)) return true; - if (jj_3R_42()) return true; - return false; - } - private boolean jj_3_22() { Token xsp; @@ -6734,45 +7152,17 @@ private boolean jj_3_22() return false; } - private boolean jj_3R_39() - { - if (jj_scan_token(DOT)) return true; - if (jj_scan_token(STAR)) return true; - return false; - } - - private boolean jj_3R_241() - { - if (jj_scan_token(SEMICOLON)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3_2()) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3_5() - { - if (jj_3R_41()) return true; - return false; - } - - private boolean jj_3R_42() + private boolean jj_3_6() { - Token xsp; - xsp = jj_scanpos; - if (jj_3_5()) { - jj_scanpos = xsp; - if (jj_3R_68()) return true; - } + if (jj_scan_token(COMMA)) return true; + if (jj_3R_44()) return true; return false; } private boolean jj_3_20() { if (jj_scan_token(LBRACKET)) return true; - if (jj_3R_51()) return true; + if (jj_3R_53()) return true; if (jj_scan_token(RBRACKET)) return true; return false; } @@ -6784,89 +7174,101 @@ private boolean jj_3_21() return false; } - private boolean jj_3R_68() + private boolean jj_3R_82() { - if (jj_3R_51()) return true; + if (jj_3R_106()) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_107()) { jj_scanpos = xsp; break; } + } + return false; + } + + private boolean jj_3R_106() + { + Token xsp; + xsp = jj_scanpos; + if (jj_3_7()) { + jj_scanpos = xsp; + if (jj_3R_140()) return true; + } + while (true) { + xsp = jj_scanpos; + if (jj_3R_141()) { jj_scanpos = xsp; break; } + } return false; } - private boolean jj_3R_135() + private boolean jj_3R_137() { Token xsp; - if (jj_3R_144()) return true; + if (jj_3R_146()) return true; while (true) { xsp = jj_scanpos; - if (jj_3R_144()) { jj_scanpos = xsp; break; } + if (jj_3R_146()) { jj_scanpos = xsp; break; } } - if (jj_3R_41()) return true; + if (jj_3R_43()) return true; return false; } - private boolean jj_3_2() + private boolean jj_3_7() { - if (jj_3R_36()) return true; + Token xsp; + xsp = jj_scanpos; + if (jj_3R_45()) jj_scanpos = xsp; + if (jj_3R_46()) return true; + xsp = jj_scanpos; + if (jj_3R_47()) jj_scanpos = xsp; + if (jj_scan_token(IDENTIFIER)) return true; return false; } private boolean jj_3_19() { - if (jj_3R_50()) return true; + if (jj_3R_52()) return true; return false; } - private boolean jj_3R_144() + private boolean jj_3R_146() { if (jj_scan_token(LBRACKET)) return true; if (jj_scan_token(RBRACKET)) return true; return false; } - private boolean jj_3R_136() + private boolean jj_3R_138() { - if (jj_3R_41()) return true; + if (jj_3R_43()) return true; return false; } - private boolean jj_3R_41() + private boolean jj_3R_140() { - if (jj_scan_token(LBRACE)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_67()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_scan_token(84)) jj_scanpos = xsp; - if (jj_scan_token(RBRACE)) return true; + if (jj_scan_token(IDENTIFIER)) return true; return false; } - private boolean jj_3R_67() + private boolean jj_3R_141() { - if (jj_3R_42()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3_6()) { jj_scanpos = xsp; break; } - } + if (jj_scan_token(LBRACKET)) return true; + if (jj_scan_token(RBRACKET)) return true; return false; } - private boolean jj_3_23() + private boolean jj_3R_47() { - if (jj_3R_52()) return true; + if (jj_scan_token(ELLIPSIS)) return true; return false; } - private boolean jj_3R_55() + private boolean jj_3_23() { - if (jj_scan_token(LPAREN)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_80()) jj_scanpos = xsp; - if (jj_scan_token(RPAREN)) return true; + if (jj_3R_54()) return true; return false; } - private boolean jj_3R_57() + private boolean jj_3R_59() { Token xsp; xsp = jj_scanpos; @@ -6874,11 +7276,7 @@ private boolean jj_3R_57() jj_scanpos = xsp; if (jj_3_24()) { jj_scanpos = xsp; - if (jj_scan_token(83)) { - jj_scanpos = xsp; - if (jj_3R_82()) { - jj_scanpos = xsp; - if (jj_3R_83()) { + if (jj_scan_token(84)) { jj_scanpos = xsp; if (jj_3R_84()) { jj_scanpos = xsp; @@ -6886,14 +7284,14 @@ private boolean jj_3R_57() jj_scanpos = xsp; if (jj_3R_86()) { jj_scanpos = xsp; - jj_lookingAhead = true; - jj_semLA = isRegularForStatement(); - jj_lookingAhead = false; - if (!jj_semLA || jj_3R_87()) { + if (jj_3R_87()) { jj_scanpos = xsp; if (jj_3R_88()) { jj_scanpos = xsp; - if (jj_3R_89()) { + jj_lookingAhead = true; + jj_semLA = isRegularForStatement(); + jj_lookingAhead = false; + if (!jj_semLA || jj_3R_89()) { jj_scanpos = xsp; if (jj_3R_90()) { jj_scanpos = xsp; @@ -6903,7 +7301,11 @@ private boolean jj_3R_57() jj_scanpos = xsp; if (jj_3R_93()) { jj_scanpos = xsp; - if (jj_3R_94()) return true; + if (jj_3R_94()) { + jj_scanpos = xsp; + if (jj_3R_95()) { + jj_scanpos = xsp; + if (jj_3R_96()) return true; } } } @@ -6922,79 +7324,44 @@ private boolean jj_3R_57() return false; } - private boolean jj_3_6() - { - if (jj_scan_token(COMMA)) return true; - if (jj_3R_42()) return true; - return false; - } - private boolean jj_3_24() { - if (jj_3R_50()) return true; + if (jj_3R_52()) return true; return false; } - private boolean jj_3R_80() + private boolean jj_3R_45() { - if (jj_3R_104()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_105()) { jj_scanpos = xsp; break; } - } + if (jj_scan_token(FINAL)) return true; return false; } - private boolean jj_3R_104() + private boolean jj_3R_46() { Token xsp; xsp = jj_scanpos; - if (jj_3_7()) { + if (jj_3R_71()) { jj_scanpos = xsp; - if (jj_3R_138()) return true; + if (jj_3R_72()) return true; } while (true) { xsp = jj_scanpos; - if (jj_3R_139()) { jj_scanpos = xsp; break; } + if (jj_3_8()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3_7() - { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_43()) jj_scanpos = xsp; - if (jj_3R_44()) return true; - xsp = jj_scanpos; - if (jj_3R_45()) jj_scanpos = xsp; - if (jj_scan_token(IDENTIFIER)) return true; - return false; - } - - private boolean jj_3R_82() - { - if (jj_3R_107()) return true; - if (jj_3R_40()) return true; - return false; - } - - private boolean jj_3R_83() + private boolean jj_3R_107() { - if (jj_3R_108()) return true; + if (jj_scan_token(COMMA)) return true; + if (jj_3R_106()) return true; return false; } private boolean jj_3R_84() { if (jj_3R_109()) return true; - return false; - } - - private boolean jj_3R_138() - { - if (jj_scan_token(IDENTIFIER)) return true; + if (jj_3R_42()) return true; return false; } @@ -7004,22 +7371,15 @@ private boolean jj_3R_85() return false; } - private boolean jj_3R_86() - { - if (jj_3R_111()) return true; - return false; - } - - private boolean jj_3R_139() + private boolean jj_3R_71() { - if (jj_scan_token(LBRACKET)) return true; - if (jj_scan_token(RBRACKET)) return true; + if (jj_3R_102()) return true; return false; } - private boolean jj_3R_45() + private boolean jj_3R_86() { - if (jj_scan_token(ELLIPSIS)) return true; + if (jj_3R_111()) return true; return false; } @@ -7029,15 +7389,16 @@ private boolean jj_3R_87() return false; } - private boolean jj_3R_88() + private boolean jj_3_8() { - if (jj_3R_113()) return true; + if (jj_scan_token(LBRACKET)) return true; + if (jj_scan_token(RBRACKET)) return true; return false; } - private boolean jj_3R_43() + private boolean jj_3R_88() { - if (jj_scan_token(FINAL)) return true; + if (jj_3R_113()) return true; return false; } @@ -7047,31 +7408,32 @@ private boolean jj_3R_89() return false; } - private boolean jj_3R_44() + private boolean jj_3R_56() { Token xsp; xsp = jj_scanpos; - if (jj_3R_69()) { + if (jj_3R_80()) { jj_scanpos = xsp; - if (jj_3R_70()) return true; - } - while (true) { - xsp = jj_scanpos; - if (jj_3_8()) { jj_scanpos = xsp; break; } + if (jj_3R_81()) return true; } return false; } + private boolean jj_3R_80() + { + if (jj_scan_token(VOID)) return true; + return false; + } + private boolean jj_3R_90() { if (jj_3R_115()) return true; return false; } - private boolean jj_3R_105() + private boolean jj_3R_81() { - if (jj_scan_token(COMMA)) return true; - if (jj_3R_104()) return true; + if (jj_3R_46()) return true; return false; } @@ -7087,15 +7449,50 @@ private boolean jj_3R_92() return false; } - private boolean jj_3R_69() + private boolean jj_3R_93() { - if (jj_3R_100()) return true; + if (jj_3R_118()) return true; return false; } - private boolean jj_3R_93() + private boolean jj_3R_102() { - if (jj_3R_118()) return true; + Token xsp; + xsp = jj_scanpos; + if (jj_3R_127()) { + jj_scanpos = xsp; + if (jj_3R_128()) { + jj_scanpos = xsp; + if (jj_3R_129()) { + jj_scanpos = xsp; + if (jj_3R_130()) { + jj_scanpos = xsp; + if (jj_3R_131()) { + jj_scanpos = xsp; + if (jj_3R_132()) { + jj_scanpos = xsp; + if (jj_3R_133()) { + jj_scanpos = xsp; + if (jj_3R_134()) return true; + } + } + } + } + } + } + } + return false; + } + + private boolean jj_3R_127() + { + if (jj_scan_token(BOOLEAN)) return true; + return false; + } + + private boolean jj_3R_128() + { + if (jj_scan_token(CHAR)) return true; return false; } @@ -7105,104 +7502,80 @@ private boolean jj_3R_94() return false; } - private boolean jj_3_8() + private boolean jj_3R_129() { - if (jj_scan_token(LBRACKET)) return true; - if (jj_scan_token(RBRACKET)) return true; + if (jj_scan_token(BYTE)) return true; return false; } - private boolean jj_3R_52() + private boolean jj_3R_72() { - if (jj_scan_token(IDENTIFIER)) return true; - if (jj_scan_token(COLON)) return true; - if (jj_3R_57()) return true; + if (jj_3R_40()) return true; return false; } - private boolean jj_3R_54() + private boolean jj_3R_130() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_78()) { - jj_scanpos = xsp; - if (jj_3R_79()) return true; - } + if (jj_scan_token(SHORT)) return true; return false; } - private boolean jj_3R_78() + private boolean jj_3R_95() { - if (jj_scan_token(VOID)) return true; + if (jj_3R_120()) return true; return false; } - private boolean jj_3R_79() + private boolean jj_3R_131() { - if (jj_3R_44()) return true; + if (jj_scan_token(INT)) return true; return false; } - private boolean jj_3R_100() + private boolean jj_3R_132() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_125()) { - jj_scanpos = xsp; - if (jj_3R_126()) { - jj_scanpos = xsp; - if (jj_3R_127()) { - jj_scanpos = xsp; - if (jj_3R_128()) { - jj_scanpos = xsp; - if (jj_3R_129()) { - jj_scanpos = xsp; - if (jj_3R_130()) { - jj_scanpos = xsp; - if (jj_3R_131()) { - jj_scanpos = xsp; - if (jj_3R_132()) return true; - } - } - } - } - } - } - } + if (jj_scan_token(LONG)) return true; return false; } - private boolean jj_3R_125() + private boolean jj_3R_96() { - if (jj_scan_token(BOOLEAN)) return true; + if (jj_3R_121()) return true; return false; } - private boolean jj_3R_126() + private boolean jj_3R_133() { - if (jj_scan_token(CHAR)) return true; + if (jj_scan_token(FLOAT)) return true; return false; } - private boolean jj_3R_127() + private boolean jj_3R_134() { - if (jj_scan_token(BYTE)) return true; + if (jj_scan_token(DOUBLE)) return true; return false; } - private boolean jj_3R_70() + private boolean jj_3R_54() { - if (jj_3R_38()) return true; + if (jj_scan_token(IDENTIFIER)) return true; + if (jj_scan_token(COLON)) return true; + if (jj_3R_59()) return true; return false; } - private boolean jj_3R_128() + private boolean jj_3R_40() { - if (jj_scan_token(SHORT)) return true; + if (jj_scan_token(IDENTIFIER)) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3_9()) { jj_scanpos = xsp; break; } + } return false; } - private boolean jj_3R_50() + private boolean jj_3R_52() { Token xsp; xsp = jj_scanpos; @@ -7216,47 +7589,41 @@ private boolean jj_3R_50() return false; } - private boolean jj_3R_129() - { - if (jj_scan_token(INT)) return true; - return false; - } - - private boolean jj_3R_130() - { - if (jj_scan_token(LONG)) return true; - return false; - } - - private boolean jj_3R_131() + private boolean jj_3_9() { - if (jj_scan_token(FLOAT)) return true; + if (jj_scan_token(DOT)) return true; + if (jj_scan_token(IDENTIFIER)) return true; return false; } - private boolean jj_3R_132() + private boolean jj_3R_83() { - if (jj_scan_token(DOUBLE)) return true; + if (jj_3R_40()) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_108()) { jj_scanpos = xsp; break; } + } return false; } - private boolean jj_3R_36() + private boolean jj_3R_38() { Token xsp; xsp = jj_scanpos; - if (jj_3R_61()) { - jj_scanpos = xsp; - if (jj_3R_62()) { - jj_scanpos = xsp; if (jj_3R_63()) { jj_scanpos = xsp; if (jj_3R_64()) { jj_scanpos = xsp; + if (jj_3R_65()) { + jj_scanpos = xsp; + if (jj_3R_66()) { + jj_scanpos = xsp; if (jj_3_30()) { jj_scanpos = xsp; - if (jj_3R_65()) { + if (jj_3R_67()) { jj_scanpos = xsp; - if (jj_3R_66()) return true; + if (jj_3R_68()) return true; } } } @@ -7266,45 +7633,43 @@ private boolean jj_3R_36() return false; } - private boolean jj_3R_61() + private boolean jj_3R_63() { - if (jj_3R_95()) return true; + if (jj_3R_97()) return true; return false; } - private boolean jj_3R_38() + private boolean jj_3R_64() { - if (jj_scan_token(IDENTIFIER)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3_9()) { jj_scanpos = xsp; break; } - } + if (jj_3R_98()) return true; return false; } - private boolean jj_3R_62() + private boolean jj_3R_53() { - if (jj_3R_96()) return true; + if (jj_3R_78()) return true; + Token xsp; + xsp = jj_scanpos; + if (jj_3R_103()) jj_scanpos = xsp; return false; } - private boolean jj_3_9() + private boolean jj_3R_65() { - if (jj_scan_token(DOT)) return true; - if (jj_scan_token(IDENTIFIER)) return true; + if (jj_3R_98()) return true; return false; } - private boolean jj_3R_63() + private boolean jj_3R_103() { - if (jj_3R_96()) return true; + if (jj_3R_136()) return true; + if (jj_3R_53()) return true; return false; } private boolean jj_3_26() { - if (jj_3R_53()) return true; + if (jj_3R_55()) return true; Token xsp; xsp = jj_scanpos; if (jj_scan_token(14)) { @@ -7317,147 +7682,82 @@ private boolean jj_3_26() return false; } - private boolean jj_3R_64() + private boolean jj_3R_108() { - if (jj_3R_97()) return true; + if (jj_scan_token(COMMA)) return true; if (jj_3R_40()) return true; return false; } - private boolean jj_3R_81() + private boolean jj_3R_66() { - if (jj_3R_38()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_106()) { jj_scanpos = xsp; break; } - } + if (jj_3R_99()) return true; + if (jj_3R_42()) return true; return false; } private boolean jj_3_25() { - if (jj_3R_36()) return true; + if (jj_3R_38()) return true; return false; } private boolean jj_3_27() { - if (jj_3R_53()) return true; - if (jj_3R_54()) return true; - if (jj_scan_token(IDENTIFIER)) return true; - if (jj_scan_token(LPAREN)) return true; - return false; - } - - private boolean jj_3_30() - { - if (jj_3R_57()) return true; - return false; - } - - private boolean jj_3R_65() - { - if (jj_3R_98()) return true; - return false; - } - - private boolean jj_3_28() - { - if (jj_3R_53()) return true; - if (jj_scan_token(IDENTIFIER)) return true; if (jj_3R_55()) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_56()) jj_scanpos = xsp; - if (jj_scan_token(LBRACE)) return true; - return false; - } - - private boolean jj_3R_66() - { - if (jj_3R_99()) return true; - return false; - } - - private boolean jj_3_29() - { - if (jj_3R_53()) return true; - if (jj_3R_44()) return true; + if (jj_3R_56()) return true; if (jj_scan_token(IDENTIFIER)) return true; + if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_51() - { - if (jj_3R_76()) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_101()) jj_scanpos = xsp; - return false; - } - - private boolean jj_3R_101() - { - if (jj_3R_134()) return true; - if (jj_3R_51()) return true; - return false; - } - - private boolean jj_3R_106() - { - if (jj_scan_token(COMMA)) return true; - if (jj_3R_38()) return true; - return false; - } - - private boolean jj_3R_134() + private boolean jj_3R_136() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(86)) { - jj_scanpos = xsp; - if (jj_scan_token(127)) { + if (jj_scan_token(87)) { jj_scanpos = xsp; - if (jj_scan_token(137)) { + if (jj_scan_token(128)) { jj_scanpos = xsp; if (jj_scan_token(138)) { jj_scanpos = xsp; - if (jj_scan_token(128)) { + if (jj_scan_token(139)) { jj_scanpos = xsp; - if (jj_scan_token(135)) { + if (jj_scan_token(129)) { jj_scanpos = xsp; if (jj_scan_token(136)) { jj_scanpos = xsp; - if (jj_scan_token(125)) { + if (jj_scan_token(137)) { jj_scanpos = xsp; if (jj_scan_token(126)) { jj_scanpos = xsp; - if (jj_scan_token(129)) { + if (jj_scan_token(127)) { jj_scanpos = xsp; if (jj_scan_token(130)) { jj_scanpos = xsp; - if (jj_scan_token(133)) { + if (jj_scan_token(131)) { jj_scanpos = xsp; if (jj_scan_token(134)) { jj_scanpos = xsp; - if (jj_scan_token(131)) { + if (jj_scan_token(135)) { jj_scanpos = xsp; if (jj_scan_token(132)) { jj_scanpos = xsp; - if (jj_scan_token(139)) { + if (jj_scan_token(133)) { jj_scanpos = xsp; if (jj_scan_token(140)) { jj_scanpos = xsp; if (jj_scan_token(141)) { jj_scanpos = xsp; - if (jj_scan_token(147)) { - jj_scanpos = xsp; if (jj_scan_token(142)) { jj_scanpos = xsp; + if (jj_scan_token(148)) { + jj_scanpos = xsp; if (jj_scan_token(143)) { jj_scanpos = xsp; - if (jj_scan_token(144)) return true; + if (jj_scan_token(144)) { + jj_scanpos = xsp; + if (jj_scan_token(145)) return true; } } } @@ -7482,105 +7782,107 @@ private boolean jj_3R_134() return false; } - private boolean jj_3R_233() + private boolean jj_3_30() { - Token xsp; - xsp = jj_scanpos; - if (jj_scan_token(83)) { - jj_scanpos = xsp; - jj_lookingAhead = true; - jj_semLA = isImplicitMethodTerminator(); - jj_lookingAhead = false; - if (!jj_semLA || jj_3R_242()) return true; - } + if (jj_3R_59()) return true; return false; } - private boolean jj_3R_242() + private boolean jj_3R_67() { + if (jj_3R_100()) return true; return false; } - private boolean jj_3R_40() + private boolean jj_3_28() { + if (jj_3R_55()) return true; + if (jj_scan_token(IDENTIFIER)) return true; + if (jj_3R_57()) return true; Token xsp; xsp = jj_scanpos; - if (jj_scan_token(83)) jj_scanpos = xsp; + if (jj_3R_58()) jj_scanpos = xsp; + if (jj_scan_token(LBRACE)) return true; return false; } - private boolean jj_3R_76() + private boolean jj_3R_68() { - if (jj_3R_103()) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_133()) jj_scanpos = xsp; + if (jj_3R_101()) return true; return false; } - private boolean jj_3R_56() + private boolean jj_3_29() { - if (jj_scan_token(THROWS)) return true; - if (jj_3R_81()) return true; + if (jj_3R_55()) return true; + if (jj_3R_46()) return true; + if (jj_scan_token(IDENTIFIER)) return true; return false; } - private boolean jj_3R_103() + private boolean jj_3R_78() + { + if (jj_3R_105()) return true; + Token xsp; + xsp = jj_scanpos; + if (jj_3R_135()) jj_scanpos = xsp; + return false; + } + + private boolean jj_3R_105() { - if (jj_3R_137()) return true; + if (jj_3R_139()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_143()) { jj_scanpos = xsp; break; } + if (jj_3R_145()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_107() + private boolean jj_3R_242() { - if (jj_3R_51()) return true; + Token xsp; + xsp = jj_scanpos; + if (jj_scan_token(84)) { + jj_scanpos = xsp; + jj_lookingAhead = true; + jj_semLA = isImplicitMethodTerminator(); + jj_lookingAhead = false; + if (!jj_semLA || jj_3R_251()) return true; + } return false; } - private boolean jj_3R_143() + private boolean jj_3R_145() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(148)) { - jj_scanpos = xsp; if (jj_scan_token(149)) { jj_scanpos = xsp; - if (jj_scan_token(146)) return true; + if (jj_scan_token(150)) { + jj_scanpos = xsp; + if (jj_scan_token(147)) return true; } } - if (jj_3R_137()) return true; + if (jj_3R_139()) return true; return false; } - private boolean jj_3R_137() + private boolean jj_3R_251() { - if (jj_3R_145()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_146()) { jj_scanpos = xsp; break; } - } return false; } - private boolean jj_3R_146() + private boolean jj_3R_42() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(99)) { - jj_scanpos = xsp; - if (jj_scan_token(100)) return true; - } - if (jj_3R_145()) return true; + if (jj_scan_token(84)) jj_scanpos = xsp; return false; } - private boolean jj_3R_145() + private boolean jj_3R_139() { if (jj_3R_147()) return true; Token xsp; @@ -7594,28 +7896,19 @@ private boolean jj_3R_145() private boolean jj_3R_148() { Token xsp; - xsp = jj_scanpos; - if (jj_scan_token(101)) { - jj_scanpos = xsp; - if (jj_scan_token(102)) return true; - } - if (jj_3R_147()) return true; - return false; - } - - private boolean jj_3R_108() - { - if (jj_scan_token(SWITCH)) return true; - if (jj_scan_token(LPAREN)) return true; - if (jj_3R_51()) return true; - if (jj_scan_token(RPAREN)) return true; - if (jj_scan_token(LBRACE)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_243()) { jj_scanpos = xsp; break; } + xsp = jj_scanpos; + if (jj_scan_token(100)) { + jj_scanpos = xsp; + if (jj_scan_token(101)) return true; } - if (jj_scan_token(RBRACE)) return true; + if (jj_3R_147()) return true; + return false; + } + + private boolean jj_3R_58() + { + if (jj_scan_token(THROWS)) return true; + if (jj_3R_83()) return true; return false; } @@ -7630,14 +7923,9 @@ private boolean jj_3R_147() return false; } - private boolean jj_3R_243() + private boolean jj_3R_109() { - if (jj_3R_252()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3_31()) { jj_scanpos = xsp; break; } - } + if (jj_3R_53()) return true; return false; } @@ -7645,201 +7933,211 @@ private boolean jj_3R_150() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(111)) { + if (jj_scan_token(102)) { jj_scanpos = xsp; - if (jj_scan_token(112)) return true; + if (jj_scan_token(103)) return true; } if (jj_3R_149()) return true; return false; } - private boolean jj_3R_252() + private boolean jj_3R_149() { + if (jj_3R_151()) return true; Token xsp; - xsp = jj_scanpos; - if (jj_3R_259()) { - jj_scanpos = xsp; - if (jj_3R_260()) return true; + while (true) { + xsp = jj_scanpos; + if (jj_3R_152()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_259() + private boolean jj_3R_152() { - if (jj_scan_token(CASE)) return true; - if (jj_3R_51()) return true; - if (jj_scan_token(COLON)) return true; + Token xsp; + xsp = jj_scanpos; + if (jj_scan_token(112)) { + jj_scanpos = xsp; + if (jj_scan_token(113)) return true; + } + if (jj_3R_151()) return true; return false; } - private boolean jj_3R_260() + private boolean jj_3R_135() { - if (jj_scan_token(155)) return true; + if (jj_scan_token(HOOK)) return true; + if (jj_3R_53()) return true; + if (jj_scan_token(COLON)) return true; + if (jj_3R_78()) return true; return false; } - private boolean jj_3R_133() + private boolean jj_3R_151() { - if (jj_scan_token(HOOK)) return true; - if (jj_3R_51()) return true; - if (jj_scan_token(COLON)) return true; - if (jj_3R_76()) return true; + if (jj_3R_153()) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_158()) { jj_scanpos = xsp; break; } + } return false; } - private boolean jj_3R_149() + private boolean jj_3R_110() { - if (jj_3R_151()) return true; + if (jj_scan_token(SWITCH)) return true; + if (jj_scan_token(LPAREN)) return true; + if (jj_3R_53()) return true; + if (jj_scan_token(RPAREN)) return true; + if (jj_scan_token(LBRACE)) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_156()) { jj_scanpos = xsp; break; } + if (jj_3R_252()) { jj_scanpos = xsp; break; } } + if (jj_scan_token(RBRACE)) return true; return false; } - private boolean jj_3R_156() + private boolean jj_3R_158() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(113)) { + if (jj_scan_token(114)) { jj_scanpos = xsp; - if (jj_scan_token(114)) return true; + if (jj_scan_token(115)) return true; } - if (jj_3R_151()) return true; + if (jj_3R_153()) return true; return false; } - private boolean jj_3_31() + private boolean jj_3R_153() { - if (jj_3R_36()) return true; + if (jj_3R_159()) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_161()) { jj_scanpos = xsp; break; } + } return false; } - private boolean jj_3R_109() + private boolean jj_3R_161() { - if (jj_scan_token(IF)) return true; - if (jj_scan_token(LPAREN)) return true; - if (jj_3R_51()) return true; - if (jj_scan_token(RPAREN)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_244()) { + if (jj_scan_token(110)) { jj_scanpos = xsp; - if (jj_3_32()) return true; + if (jj_scan_token(111)) return true; } - xsp = jj_scanpos; - if (jj_3R_245()) jj_scanpos = xsp; + if (jj_3R_159()) return true; return false; } - private boolean jj_3R_151() + private boolean jj_3R_252() { - if (jj_3R_157()) return true; + if (jj_3R_261()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_159()) { jj_scanpos = xsp; break; } + if (jj_3_31()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_159() + private boolean jj_3R_261() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(109)) { + if (jj_3R_268()) { jj_scanpos = xsp; - if (jj_scan_token(110)) return true; + if (jj_3R_269()) return true; } - if (jj_3R_157()) return true; return false; } - private boolean jj_3R_110() + private boolean jj_3R_268() { - if (jj_scan_token(WHILE)) return true; - if (jj_scan_token(LPAREN)) return true; - if (jj_3R_51()) return true; - if (jj_scan_token(RPAREN)) return true; - if (jj_3R_57()) return true; + if (jj_scan_token(CASE)) return true; + if (jj_3R_53()) return true; + if (jj_scan_token(COLON)) return true; return false; } - private boolean jj_3R_157() + private boolean jj_3R_269() { - if (jj_3R_160()) return true; + if (jj_scan_token(156)) return true; + return false; + } + + private boolean jj_3R_159() + { + if (jj_3R_162()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_161()) { jj_scanpos = xsp; break; } + if (jj_3R_163()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_161() + private boolean jj_3R_163() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(93)) { + if (jj_scan_token(94)) { jj_scanpos = xsp; - if (jj_scan_token(98)) return true; + if (jj_scan_token(99)) return true; } - if (jj_3R_160()) return true; + if (jj_3R_162()) return true; return false; } - private boolean jj_3R_111() + private boolean jj_3_31() { - if (jj_scan_token(DO)) return true; - if (jj_3R_57()) return true; - if (jj_scan_token(WHILE)) return true; - if (jj_scan_token(LPAREN)) return true; - if (jj_3R_51()) return true; - if (jj_scan_token(RPAREN)) return true; - if (jj_3R_40()) return true; + if (jj_3R_38()) return true; return false; } - private boolean jj_3R_160() + private boolean jj_3R_111() { - if (jj_3R_162()) return true; + if (jj_scan_token(IF)) return true; + if (jj_scan_token(LPAREN)) return true; + if (jj_3R_53()) return true; + if (jj_scan_token(RPAREN)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_163()) jj_scanpos = xsp; + if (jj_3R_253()) { + jj_scanpos = xsp; + if (jj_3_32()) return true; + } + xsp = jj_scanpos; + if (jj_3R_254()) jj_scanpos = xsp; return false; } - private boolean jj_3R_112() + private boolean jj_3R_162() { - if (jj_scan_token(FOR)) return true; - if (jj_scan_token(LPAREN)) return true; + if (jj_3R_164()) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_246()) jj_scanpos = xsp; - if (jj_scan_token(SEMICOLON)) return true; - xsp = jj_scanpos; - if (jj_3R_247()) jj_scanpos = xsp; - if (jj_scan_token(SEMICOLON)) return true; - xsp = jj_scanpos; - if (jj_3R_248()) jj_scanpos = xsp; - if (jj_scan_token(RPAREN)) return true; - if (jj_3R_57()) return true; + if (jj_3R_165()) jj_scanpos = xsp; return false; } - private boolean jj_3R_163() + private boolean jj_3R_165() { Token xsp; xsp = jj_scanpos; - if (jj_3R_166()) { + if (jj_3R_168()) { jj_scanpos = xsp; - if (jj_3R_167()) return true; + if (jj_3R_169()) return true; } return false; } - private boolean jj_3R_166() + private boolean jj_3R_168() { Token xsp; xsp = jj_scanpos; @@ -7847,138 +8145,113 @@ private boolean jj_3R_166() jj_scanpos = xsp; if (jj_scan_token(37)) return true; } - if (jj_3R_44()) return true; - return false; - } - - private boolean jj_3R_167() - { - if (jj_scan_token(AS)) return true; - if (jj_3R_44()) return true; + if (jj_3R_46()) return true; return false; } - private boolean jj_3R_244() + private boolean jj_3R_112() { - if (jj_scan_token(SEMICOLON)) return true; + if (jj_scan_token(WHILE)) return true; + if (jj_scan_token(LPAREN)) return true; + if (jj_3R_53()) return true; + if (jj_scan_token(RPAREN)) return true; + if (jj_3R_59()) return true; return false; } - private boolean jj_3R_247() + private boolean jj_3R_169() { - if (jj_3R_51()) return true; + if (jj_scan_token(AS)) return true; + if (jj_3R_46()) return true; return false; } - private boolean jj_3R_162() + private boolean jj_3R_164() { - if (jj_3R_164()) return true; + if (jj_3R_166()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_165()) { jj_scanpos = xsp; break; } + if (jj_3R_167()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_248() + private boolean jj_3R_113() { - if (jj_3R_254()) return true; + if (jj_scan_token(DO)) return true; + if (jj_3R_59()) return true; + if (jj_scan_token(WHILE)) return true; + if (jj_scan_token(LPAREN)) return true; + if (jj_3R_53()) return true; + if (jj_scan_token(RPAREN)) return true; + if (jj_3R_42()) return true; return false; } - private boolean jj_3R_165() + private boolean jj_3R_167() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(89)) { - jj_scanpos = xsp; if (jj_scan_token(90)) { jj_scanpos = xsp; - if (jj_scan_token(87)) { + if (jj_scan_token(91)) { jj_scanpos = xsp; if (jj_scan_token(88)) { jj_scanpos = xsp; - if (jj_scan_token(94)) { + if (jj_scan_token(89)) { jj_scanpos = xsp; if (jj_scan_token(95)) { jj_scanpos = xsp; if (jj_scan_token(96)) { jj_scanpos = xsp; - if (jj_scan_token(97)) return true; - } + if (jj_scan_token(97)) { + jj_scanpos = xsp; + if (jj_scan_token(98)) return true; } } } } } } - if (jj_3R_164()) return true; - return false; - } - - private boolean jj_3R_246() - { - if (jj_3R_253()) return true; - return false; - } - - private boolean jj_3_33() - { - if (jj_scan_token(FOR)) return true; - if (jj_scan_token(LPAREN)) return true; - if (jj_scan_token(IDENTIFIER)) return true; - if (jj_scan_token(COLON)) return true; - if (jj_3R_51()) return true; - if (jj_scan_token(RPAREN)) return true; - if (jj_3R_57()) return true; - return false; - } - - private boolean jj_3R_113() - { - Token xsp; - xsp = jj_scanpos; - if (jj_3_33()) { - jj_scanpos = xsp; - if (jj_3R_140()) return true; } + if (jj_3R_166()) return true; return false; } - private boolean jj_3R_140() + private boolean jj_3R_114() { if (jj_scan_token(FOR)) return true; if (jj_scan_token(LPAREN)) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_255()) jj_scanpos = xsp; - if (jj_3R_44()) return true; - if (jj_scan_token(IDENTIFIER)) return true; - if (jj_scan_token(COLON)) return true; - if (jj_3R_51()) return true; + if (jj_scan_token(SEMICOLON)) return true; + xsp = jj_scanpos; + if (jj_3R_256()) jj_scanpos = xsp; + if (jj_scan_token(SEMICOLON)) return true; + xsp = jj_scanpos; + if (jj_3R_257()) jj_scanpos = xsp; if (jj_scan_token(RPAREN)) return true; - if (jj_3R_57()) return true; + if (jj_3R_59()) return true; return false; } - private boolean jj_3R_164() + private boolean jj_3R_166() { - if (jj_3R_168()) return true; + if (jj_3R_170()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_169()) { jj_scanpos = xsp; break; } + if (jj_3R_171()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_169() + private boolean jj_3R_171() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(119)) { - jj_scanpos = xsp; if (jj_scan_token(120)) { jj_scanpos = xsp; if (jj_scan_token(121)) { @@ -7987,30 +8260,21 @@ private boolean jj_3R_169() jj_scanpos = xsp; if (jj_scan_token(123)) { jj_scanpos = xsp; - if (jj_scan_token(124)) return true; + if (jj_scan_token(124)) { + jj_scanpos = xsp; + if (jj_scan_token(125)) return true; } } } } } - if (jj_3R_168()) return true; + if (jj_3R_170()) return true; return false; } private boolean jj_3R_253() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_261()) { - jj_scanpos = xsp; - if (jj_3R_262()) return true; - } - return false; - } - - private boolean jj_3R_261() - { - if (jj_3R_97()) return true; + if (jj_scan_token(SEMICOLON)) return true; return false; } @@ -8028,7 +8292,7 @@ private boolean jj_3R_261() private boolean jj_lookingAhead = false; private boolean jj_semLA; private int jj_gen; - final private int[] jj_la1 = new int[121]; + final private int[] jj_la1 = new int[124]; static private int[] jj_la1_0; static private int[] jj_la1_1; static private int[] jj_la1_2; @@ -8042,19 +8306,19 @@ private boolean jj_3R_261() jj_la1_init_4(); } private static void jj_la1_init_0() { - jj_la1_0 = new int[] {0x1,0x10200800,0x10200800,0x4000000,0x0,0x4000000,0x4000,0x0,0x2004000,0x0,0x0,0x0,0x0,0x0,0x40849000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48849000,0x48849000,0x0,0x0,0x50849000,0x10000000,0x0,0x0,0x40849000,0x40849000,0x40849000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48849000,0x0,0x48849000,0x8000000,0x0,0x48849000,0x48849000,0x48849000,0x48849000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x8000000,0x48849000,0x0,0x0,0x40849000,0x0,0x0,0x0,0x48c49000,0x80102000,0x0,0x0,0x0,0x0,0x10000,0x10000,0x0,0x1000000,0x58a49800,0x48849000,0x48849000,0x10000000,0x80000000,0x48849000,0x0,0x0,0x0,0x20000,0x20000000,0x10000000,0x0,0x0,0x0,0x0,}; + jj_la1_0 = new int[] {0x1,0x10200800,0x10200800,0x4000000,0x0,0x4000000,0x4000,0x0,0x2004000,0x0,0x0,0x0,0x0,0x0,0x40849000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48849000,0x48849000,0x0,0x0,0x50849000,0x10000000,0x0,0x0,0x40849000,0x40849000,0x40849000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48849000,0x0,0x48849000,0x49849000,0x0,0x49849000,0x8000000,0x0,0x48849000,0x48849000,0x48849000,0x48849000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x8000000,0x48849000,0x0,0x0,0x40849000,0x0,0x0,0x0,0x48c49000,0x80102000,0x0,0x0,0x0,0x0,0x10000,0x10000,0x0,0x1000000,0x58a49800,0x48849000,0x48849000,0x10000000,0x80000000,0x48849000,0x0,0x0,0x0,0x20000,0x20000000,0x10000000,0x0,0x0,0x0,0x0,}; } private static void jj_la1_init_1() { - jj_la1_1 = new int[] {0x0,0x20d9c400,0x20d9c400,0x0,0x4,0x0,0x100,0x4,0x100,0x0,0x80000,0x0,0x0,0x0,0x10040280,0x2000000,0x80000,0x80000,0x0,0x8,0x0,0x0,0x94041a80,0x94041a80,0x0,0x0,0x40280,0x0,0x0,0x0,0x40280,0x10040280,0x40280,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30,0x70,0x70,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x94041a80,0x0,0x940c1a80,0x94001800,0x0,0x94041a80,0x94041a80,0x94041a80,0x94041a80,0x0,0x0,0x0,0x800,0x0,0x0,0x0,0x0,0x94001000,0x4000000,0x94041a80,0x0,0x0,0x40280,0x800,0x0,0x0,0xd4241a82,0x9420000,0x80000,0x2008,0x0,0x0,0x0,0x0,0x0,0x0,0xb4ddde80,0x94041a80,0x94041a80,0x0,0x0,0x94041a80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; + jj_la1_1 = new int[] {0x0,0x20d9c400,0x20d9c400,0x0,0x4,0x0,0x100,0x4,0x100,0x0,0x80000,0x0,0x0,0x0,0x10040280,0x2000000,0x80000,0x80000,0x0,0x8,0x0,0x0,0x54041a80,0x54041a80,0x0,0x0,0x40280,0x0,0x0,0x0,0x40280,0x10040280,0x40280,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30,0x70,0x70,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x54041a80,0x0,0x540c1a80,0x54041a80,0x0,0x54041a80,0x54001800,0x0,0x54041a80,0x54041a80,0x54041a80,0x54041a80,0x0,0x0,0x0,0x800,0x0,0x0,0x0,0x0,0x14001000,0x4000000,0x54041a80,0x0,0x0,0x40280,0x800,0x0,0x0,0xd4241a82,0x9420000,0x80000,0x2008,0x0,0x0,0x0,0x0,0x0,0x0,0x74ddde80,0x54041a80,0x54041a80,0x0,0x0,0x54041a80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; } private static void jj_la1_init_2() { - jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000,0x8000,0x400,0x100000,0x80000,0x400,0x0,0x8000,0x0,0x200000,0x0,0x20000,0x400000,0x1802a790,0x1802a790,0x100000,0x100000,0x400,0x0,0x0,0x400,0x400,0x400,0x0,0x100000,0x400000,0x400000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000000,0x20000000,0x0,0x0,0x0,0xc7800000,0xc7800000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18000000,0x0,0x0,0x0,0x18000000,0x2a790,0x2400,0x1802a790,0x2a390,0x400,0x1802a790,0x1802a790,0x1802a790,0x1802a790,0x0,0x0,0x0,0x400,0x2000,0x2000,0x20000,0x8000,0x390,0x0,0x1802a790,0x100000,0x2a000,0x28400,0x28000,0x20000,0x28000,0x180aa790,0x0,0x0,0x0,0x80000,0x80000,0x0,0x0,0x80000,0x0,0x1802a790,0x1802a790,0x1802a790,0x0,0x0,0x1802a790,0x100000,0x100000,0x2000,0x0,0x0,0x0,0x0,0x400,0x80000,0x400,}; + jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000,0x10000,0x800,0x200000,0x100000,0x800,0x0,0x10000,0x0,0x400000,0x0,0x40000,0x800000,0x30054f21,0x30054f21,0x200000,0x200000,0x800,0x0,0x0,0x800,0x800,0x800,0x0,0x200000,0x800000,0x800000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000000,0x40000000,0x0,0x0,0x0,0x8f000000,0x8f000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30000000,0x0,0x0,0x0,0x30000000,0x54f21,0x4800,0x30054f21,0x30054f21,0x200000,0x30054f21,0x54721,0x800,0x30054f21,0x30054f21,0x30054f21,0x30054f21,0x0,0x0,0x0,0x800,0x4000,0x4000,0x40000,0x10000,0x721,0x0,0x30054f21,0x200000,0x54000,0x50800,0x50000,0x40000,0x50000,0x30154f21,0x0,0x0,0x0,0x100000,0x100000,0x0,0x0,0x100000,0x0,0x30054f21,0x30054f21,0x30054f21,0x0,0x0,0x30054f21,0x200000,0x200000,0x4000,0x0,0x0,0x0,0x0,0x800,0x100000,0x800,}; } private static void jj_la1_init_3() { - jj_la1_3 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780,0x780,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe0000000,0xe0000000,0x0,0x0,0x0,0x18,0x18,0x60,0x60,0x18000,0x18000,0x60000,0x60000,0x6000,0x6000,0x4,0x4,0x0,0x0,0x0,0x3,0x3,0x1f800000,0x1f800000,0x600,0x600,0x181800,0x181800,0x600000,0x600000,0x600,0x180,0x180,0x180,0x780,0x0,0x0,0x780,0x0,0x0,0x780,0x780,0x780,0x780,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780,0x0,0x0,0x0,0x0,0x0,0x0,0x780,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780,0x780,0x780,0x0,0x0,0x780,0x0,0x0,0x0,0x0,0x0,0x0,0x8000,0x0,0x0,0x0,}; + jj_la1_3 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf00,0xf00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0000000,0xc0000000,0x0,0x0,0x0,0x30,0x30,0xc0,0xc0,0x30000,0x30000,0xc0000,0xc0000,0xc000,0xc000,0x8,0x8,0x0,0x0,0x0,0x7,0x7,0x3f000000,0x3f000000,0xc00,0xc00,0x303000,0x303000,0xc00000,0xc00000,0xc00,0x300,0x300,0x300,0xf00,0x0,0x0,0xf00,0xf00,0x0,0xf00,0x0,0x0,0xf00,0xf00,0xf00,0xf00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf00,0x0,0x0,0x0,0x0,0x0,0x0,0xf00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf00,0xf00,0xf00,0x0,0x0,0xf00,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x0,0x0,0x0,}; } private static void jj_la1_init_4() { - jj_la1_4 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000000,0x0,0x0,0x0,0x0,0x0,0x9ffff,0x9ffff,0x400000,0x340000,0x340000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800000,0x1800000,0x1800000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x8000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; + jj_la1_4 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000000,0x0,0x0,0x0,0x0,0x0,0x13ffff,0x13ffff,0x800000,0x680000,0x680000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x3000000,0x3000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000000,0x10000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; } private final JJCalls[] jj_2_rtns = new JJCalls[38]; private boolean jj_rescan = false; @@ -8071,7 +8335,7 @@ public Parser(final java.io.InputStream stream, final java.nio.charset.Charset e token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 121; i++) jj_la1[i] = -1; + for (int i = 0; i < 124; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -8086,7 +8350,7 @@ public void ReInit(final java.io.InputStream stream, final java.nio.charset.Char token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 121; i++) jj_la1[i] = -1; + for (int i = 0; i < 124; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -8100,7 +8364,7 @@ public Parser(final java.io.Reader stream) { token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 121; i++) + for (int i = 0; i < 124; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); @@ -8124,7 +8388,7 @@ public void ReInit(final java.io.Reader stream) { token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 121; i++) + for (int i = 0; i < 124; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); @@ -8139,7 +8403,7 @@ public Parser(final ParserTokenManager tm) { token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 121; i++) jj_la1[i] = -1; + for (int i = 0; i < 124; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -8152,7 +8416,7 @@ public void ReInit(final ParserTokenManager tm) { token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 121; i++) jj_la1[i] = -1; + for (int i = 0; i < 124; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -8297,12 +8561,12 @@ private void jj_add_error_token(int kind, int pos) { */ public ParseException generateParseException() { jj_expentries.clear(); - boolean[] la1tokens = new boolean[156]; + boolean[] la1tokens = new boolean[157]; if (jj_kind >= 0) { la1tokens[jj_kind] = true; jj_kind = -1; } - for (int i = 0; i < 121; i++) { + for (int i = 0; i < 124; i++) { if (jj_la1[i] == jj_gen) { for (int j = 0; j < 32; j++) { if ((jj_la1_0[i] & (1<", "", diff --git a/bsh-lambda-300-eee36c8/src/main/java/bsh/ParserTokenManager.java b/bsh-lambda-300-eee36c8/src/main/java/bsh/ParserTokenManager.java index 10b08cb..3925eb9 100644 --- a/bsh-lambda-300-eee36c8/src/main/java/bsh/ParserTokenManager.java +++ b/bsh-lambda-300-eee36c8/src/main/java/bsh/ParserTokenManager.java @@ -38,41 +38,41 @@ private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1, switch (pos) { case 0: - if ((active1 & 0x80000042000000L) != 0x0L || (active2 & 0x40800L) != 0x0L) + if ((active1 & 0x100000084000000L) != 0x0L || (active2 & 0x81000L) != 0x0L) return 75; - if ((active1 & 0x200000L) != 0x0L || (active2 & 0x2000000L) != 0x0L) + if ((active1 & 0x400000L) != 0x0L || (active2 & 0x4000000L) != 0x0L) return 18; - if ((active1 & 0x100000000000L) != 0x0L || (active2 & 0x1L) != 0x0L) + if ((active1 & 0x200000000000L) != 0x0L || (active2 & 0x2L) != 0x0L) return 64; - if ((active0 & 0x7ffffffffffff800L) != 0x0L || (active2 & 0x8000000L) != 0x0L) + if ((active0 & 0xfffffffffffff800L) != 0x0L || (active2 & 0x10000000L) != 0x0L) { - jjmatchedKind = 74; + jjmatchedKind = 75; return 42; } if ((active0 & 0x3eL) != 0x0L) return 0; return -1; case 1: - if ((active1 & 0x80000000000000L) != 0x0L || (active2 & 0x800L) != 0x0L) + if ((active1 & 0x100000000000000L) != 0x0L || (active2 & 0x1000L) != 0x0L) return 75; if ((active0 & 0x6200c00000L) != 0x0L) return 42; - if ((active0 & 0x7fffff9dff3ff800L) != 0x0L || (active2 & 0x8000000L) != 0x0L) + if ((active0 & 0xffffff9dff3ff800L) != 0x0L || (active2 & 0x10000000L) != 0x0L) { if (jjmatchedPos != 1) { - jjmatchedKind = 74; + jjmatchedKind = 75; jjmatchedPos = 1; } return 42; } return -1; case 2: - if ((active0 & 0x77fff61d7fbff800L) != 0x0L || (active2 & 0x8000000L) != 0x0L) + if ((active0 & 0xf7fff61d7fbff800L) != 0x0L || (active2 & 0x10000000L) != 0x0L) { if (jjmatchedPos != 2) { - jjmatchedKind = 74; + jjmatchedKind = 75; jjmatchedPos = 2; } return 42; @@ -81,26 +81,26 @@ private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1, return 42; return -1; case 3: - if ((active0 & 0x1400120103058000L) != 0x0L) + if ((active0 & 0x5400120103058000L) != 0x0L) return 42; - if ((active0 & 0x63ffe51c7cba7800L) != 0x0L || (active2 & 0x8000000L) != 0x0L) + if ((active0 & 0xa3ffe51c7cba7800L) != 0x0L || (active2 & 0x10000000L) != 0x0L) { if (jjmatchedPos != 3) { - jjmatchedKind = 74; + jjmatchedKind = 75; jjmatchedPos = 3; } return 42; } return -1; case 4: - if ((active0 & 0x43040000780a6000L) != 0x0L) + if ((active0 & 0x83040000780a6000L) != 0x0L) return 42; - if ((active0 & 0x20fbe51c04b01800L) != 0x0L || (active2 & 0x8000000L) != 0x0L) + if ((active0 & 0x20fbe51c04b01800L) != 0x0L || (active2 & 0x10000000L) != 0x0L) { if (jjmatchedPos != 4) { - jjmatchedKind = 74; + jjmatchedKind = 75; jjmatchedPos = 4; } return 42; @@ -109,9 +109,9 @@ private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1, case 5: if ((active0 & 0x22b040800800000L) != 0x0L) return 42; - if ((active0 & 0x20d0e11424301800L) != 0x0L || (active2 & 0x8000000L) != 0x0L) + if ((active0 & 0x20d0e11424301800L) != 0x0L || (active2 & 0x10000000L) != 0x0L) { - jjmatchedKind = 74; + jjmatchedKind = 75; jjmatchedPos = 5; return 42; } @@ -121,12 +121,12 @@ private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1, { if (jjmatchedPos != 6) { - jjmatchedKind = 74; + jjmatchedKind = 75; jjmatchedPos = 6; } return 42; } - if ((active0 & 0x600024201000L) != 0x0L || (active2 & 0x8000000L) != 0x0L) + if ((active0 & 0x600024201000L) != 0x0L || (active2 & 0x10000000L) != 0x0L) return 42; return -1; case 7: @@ -134,7 +134,7 @@ private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1, return 42; if ((active0 & 0xc0811400000000L) != 0x0L) { - jjmatchedKind = 74; + jjmatchedKind = 75; jjmatchedPos = 7; return 42; } @@ -144,7 +144,7 @@ private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1, return 42; if ((active0 & 0x40001400000000L) != 0x0L) { - jjmatchedKind = 74; + jjmatchedKind = 75; jjmatchedPos = 8; return 42; } @@ -154,7 +154,7 @@ private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1, return 42; if ((active0 & 0x40000000000000L) != 0x0L) { - jjmatchedKind = 74; + jjmatchedKind = 75; jjmatchedPos = 9; return 42; } @@ -164,7 +164,7 @@ private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1, { if (jjmatchedPos != 10) { - jjmatchedKind = 74; + jjmatchedKind = 75; jjmatchedPos = 10; } return 42; @@ -201,61 +201,61 @@ private int jjMoveStringLiteralDfa0_0(){ case ' ': return jjStartNfaWithStates_0(0, 1, 0); case '!': - jjmatchedKind = 91; - return jjMoveStringLiteralDfa1_0(0x0L, 0x400000000L, 0x0L); + jjmatchedKind = 92; + return jjMoveStringLiteralDfa1_0(0x0L, 0x800000000L, 0x0L); case '%': - jjmatchedKind = 115; - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x80L); + jjmatchedKind = 116; + return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x100L); case '&': - jjmatchedKind = 109; - return jjMoveStringLiteralDfa1_0(0x0L, 0x2000000000L, 0x2L); + jjmatchedKind = 110; + return jjMoveStringLiteralDfa1_0(0x0L, 0x4000000000L, 0x4L); case '(': - return jjStopAtPos(0, 77); - case ')': return jjStopAtPos(0, 78); + case ')': + return jjStopAtPos(0, 79); case '*': - jjmatchedKind = 107; - return jjMoveStringLiteralDfa1_0(0x0L, 0x8020000000000000L, 0x200L); + jjmatchedKind = 108; + return jjMoveStringLiteralDfa1_0(0x0L, 0x40000000000000L, 0x401L); case '+': - jjmatchedKind = 105; - return jjMoveStringLiteralDfa1_0(0x0L, 0x2000008000000000L, 0x0L); + jjmatchedKind = 106; + return jjMoveStringLiteralDfa1_0(0x0L, 0x4000010000000000L, 0x0L); case ',': - return jjStopAtPos(0, 84); + return jjStopAtPos(0, 85); case '-': - jjmatchedKind = 106; - return jjMoveStringLiteralDfa1_0(0x0L, 0x4000010000000000L, 0x20000L); + jjmatchedKind = 107; + return jjMoveStringLiteralDfa1_0(0x0L, 0x8000020000000000L, 0x40000L); case '.': - jjmatchedKind = 85; - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x2000000L); + jjmatchedKind = 86; + return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x4000000L); case '/': - jjmatchedKind = 108; - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x1L); + jjmatchedKind = 109; + return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x2L); case ':': - jjmatchedKind = 151; - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x1000000L); + jjmatchedKind = 152; + return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x2000000L); case ';': - return jjStopAtPos(0, 83); + return jjStopAtPos(0, 84); case '<': - jjmatchedKind = 89; - return jjMoveStringLiteralDfa1_0(0x0L, 0x80000040000000L, 0x40800L); + jjmatchedKind = 90; + return jjMoveStringLiteralDfa1_0(0x0L, 0x100000080000000L, 0x81000L); case '=': - jjmatchedKind = 86; - return jjMoveStringLiteralDfa1_0(0x0L, 0x20000000L, 0x0L); - case '>': jjmatchedKind = 87; - return jjMoveStringLiteralDfa1_0(0x0L, 0xa00000100000000L, 0xa000L); + return jjMoveStringLiteralDfa1_0(0x0L, 0x40000000L, 0x0L); + case '>': + jjmatchedKind = 88; + return jjMoveStringLiteralDfa1_0(0x0L, 0x1400000200000000L, 0x14000L); case '?': - jjmatchedKind = 150; - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x4380000L); + jjmatchedKind = 151; + return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x8700000L); case '@': - return jjMoveStringLiteralDfa1_0(0x0L, 0x1555405285000000L, 0x15554L); + return jjMoveStringLiteralDfa1_0(0x0L, 0x2aaa80a50a000000L, 0x2aaa8L); case '[': - return jjStopAtPos(0, 81); - case ']': return jjStopAtPos(0, 82); + case ']': + return jjStopAtPos(0, 83); case '^': - jjmatchedKind = 113; - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x20L); + jjmatchedKind = 114; + return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x40L); case 'a': return jjMoveStringLiteralDfa1_0(0x4000000800L, 0x0L, 0x0L); case 'b': @@ -263,7 +263,7 @@ private int jjMoveStringLiteralDfa0_0(){ case 'c': return jjMoveStringLiteralDfa1_0(0x1f4000L, 0x0L, 0x0L); case 'd': - return jjMoveStringLiteralDfa1_0(0xe00000L, 0x0L, 0x8000000L); + return jjMoveStringLiteralDfa1_0(0xe00000L, 0x0L, 0x10000000L); case 'e': return jjMoveStringLiteralDfa1_0(0x7000000L, 0x0L, 0x0L); case 'f': @@ -287,16 +287,16 @@ private int jjMoveStringLiteralDfa0_0(){ case 'v': return jjMoveStringLiteralDfa1_0(0x3000000000000000L, 0x0L, 0x0L); case 'w': - return jjMoveStringLiteralDfa1_0(0x4000000000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0xc000000000000000L, 0x0L, 0x0L); case '{': - return jjStopAtPos(0, 79); + return jjStopAtPos(0, 80); case '|': - jjmatchedKind = 111; - return jjMoveStringLiteralDfa1_0(0x0L, 0x800000000L, 0x8L); + jjmatchedKind = 112; + return jjMoveStringLiteralDfa1_0(0x0L, 0x1000000000L, 0x10L); case '}': - return jjStopAtPos(0, 80); + return jjStopAtPos(0, 81); case '~': - return jjStopAtPos(0, 92); + return jjStopAtPos(0, 93); default : return jjMoveNfa_0(1, 0); } @@ -310,55 +310,53 @@ private int jjMoveStringLiteralDfa1_0(long active0, long active1, long active2){ switch(curChar) { case '&': - if ((active1 & 0x2000000000L) != 0x0L) - return jjStopAtPos(1, 101); + if ((active1 & 0x4000000000L) != 0x0L) + return jjStopAtPos(1, 102); break; case '*': - if ((active1 & 0x20000000000000L) != 0x0L) + if ((active1 & 0x40000000000000L) != 0x0L) { - jjmatchedKind = 117; + jjmatchedKind = 118; jjmatchedPos = 1; } - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x200L); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x400L); case '+': - if ((active1 & 0x8000000000L) != 0x0L) - return jjStopAtPos(1, 103); - break; - case '-': if ((active1 & 0x10000000000L) != 0x0L) return jjStopAtPos(1, 104); break; + case '-': + if ((active1 & 0x20000000000L) != 0x0L) + return jjStopAtPos(1, 105); + break; case '.': - if ((active2 & 0x4000000L) != 0x0L) - return jjStopAtPos(1, 154); - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x2000000L); + if ((active2 & 0x8000000L) != 0x0L) + return jjStopAtPos(1, 155); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x4000000L); case ':': - if ((active2 & 0x200000L) != 0x0L) - return jjStopAtPos(1, 149); - else if ((active2 & 0x1000000L) != 0x0L) - return jjStopAtPos(1, 152); + if ((active2 & 0x400000L) != 0x0L) + return jjStopAtPos(1, 150); + else if ((active2 & 0x2000000L) != 0x0L) + return jjStopAtPos(1, 153); break; case '<': - if ((active1 & 0x80000000000000L) != 0x0L) + if ((active1 & 0x100000000000000L) != 0x0L) { - jjmatchedKind = 119; + jjmatchedKind = 120; jjmatchedPos = 1; } - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x800L); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x1000L); case '=': - if ((active1 & 0x20000000L) != 0x0L) - return jjStopAtPos(1, 93); - else if ((active1 & 0x40000000L) != 0x0L) + if ((active1 & 0x40000000L) != 0x0L) + return jjStopAtPos(1, 94); + else if ((active1 & 0x80000000L) != 0x0L) { - jjmatchedKind = 94; + jjmatchedKind = 95; jjmatchedPos = 1; } - else if ((active1 & 0x100000000L) != 0x0L) - return jjStopAtPos(1, 96); - else if ((active1 & 0x400000000L) != 0x0L) - return jjStopAtPos(1, 98); - else if ((active1 & 0x2000000000000000L) != 0x0L) - return jjStopAtPos(1, 125); + else if ((active1 & 0x200000000L) != 0x0L) + return jjStopAtPos(1, 97); + else if ((active1 & 0x800000000L) != 0x0L) + return jjStopAtPos(1, 99); else if ((active1 & 0x4000000000000000L) != 0x0L) return jjStopAtPos(1, 126); else if ((active1 & 0x8000000000000000L) != 0x0L) @@ -367,49 +365,51 @@ else if ((active2 & 0x1L) != 0x0L) return jjStopAtPos(1, 128); else if ((active2 & 0x2L) != 0x0L) return jjStopAtPos(1, 129); - else if ((active2 & 0x8L) != 0x0L) - return jjStopAtPos(1, 131); - else if ((active2 & 0x20L) != 0x0L) - return jjStopAtPos(1, 133); - else if ((active2 & 0x80L) != 0x0L) - return jjStopAtPos(1, 135); - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x40000L); + else if ((active2 & 0x4L) != 0x0L) + return jjStopAtPos(1, 130); + else if ((active2 & 0x10L) != 0x0L) + return jjStopAtPos(1, 132); + else if ((active2 & 0x40L) != 0x0L) + return jjStopAtPos(1, 134); + else if ((active2 & 0x100L) != 0x0L) + return jjStopAtPos(1, 136); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x80000L); case '>': - if ((active1 & 0x200000000000000L) != 0x0L) + if ((active1 & 0x400000000000000L) != 0x0L) { - jjmatchedKind = 121; + jjmatchedKind = 122; jjmatchedPos = 1; } - else if ((active2 & 0x20000L) != 0x0L) - return jjStopAtPos(1, 145); - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x800000000000000L, active2, 0xa000L); + else if ((active2 & 0x40000L) != 0x0L) + return jjStopAtPos(1, 146); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x1000000000000000L, active2, 0x14000L); case '?': - if ((active2 & 0x100000L) != 0x0L) + if ((active2 & 0x200000L) != 0x0L) { - jjmatchedKind = 148; + jjmatchedKind = 149; jjmatchedPos = 1; } - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x80000L); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x100000L); case 'a': - return jjMoveStringLiteralDfa2_0(active0, 0x240008030000L, active1, 0x4000000000L, active2, 0x4L); + return jjMoveStringLiteralDfa2_0(active0, 0x240008030000L, active1, 0x8000000000L, active2, 0x8L); case 'b': - return jjMoveStringLiteralDfa2_0(active0, 0x800L, active1, 0x5400000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x800L, active1, 0xa800000000000L, active2, 0x0L); case 'e': - return jjMoveStringLiteralDfa2_0(active0, 0x2080000200000L, active1, 0x0L, active2, 0x8000000L); + return jjMoveStringLiteralDfa2_0(active0, 0x2080000200000L, active1, 0x0L, active2, 0x10000000L); case 'f': if ((active0 & 0x200000000L) != 0x0L) return jjStartNfaWithStates_0(1, 33, 42); break; case 'g': - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x201000000L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x402000000L, active2, 0x0L); case 'h': - return jjMoveStringLiteralDfa2_0(active0, 0x4304000000040000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0xc304000000040000L, active1, 0x0L, active2, 0x0L); case 'i': return jjMoveStringLiteralDfa2_0(active0, 0x30000000L, active1, 0x0L, active2, 0x0L); case 'l': - return jjMoveStringLiteralDfa2_0(active0, 0x41004000L, active1, 0x100000084000000L, active2, 0x1000L); + return jjMoveStringLiteralDfa2_0(active0, 0x41004000L, active1, 0x200000108000000L, active2, 0x2000L); case 'm': - return jjMoveStringLiteralDfa2_0(active0, 0xc00000000L, active1, 0x10000000000000L, active2, 0x100L); + return jjMoveStringLiteralDfa2_0(active0, 0xc00000000L, active1, 0x20000000000000L, active2, 0x200L); case 'n': return jjMoveStringLiteralDfa2_0(active0, 0x19002000000L, active1, 0x0L, active2, 0x0L); case 'o': @@ -418,11 +418,11 @@ else if ((active2 & 0x20000L) != 0x0L) jjmatchedKind = 22; jjmatchedPos = 1; } - return jjMoveStringLiteralDfa2_0(active0, 0x3000020180981000L, active1, 0x1000000000L, active2, 0x10L); + return jjMoveStringLiteralDfa2_0(active0, 0x3000020180981000L, active1, 0x2000000000L, active2, 0x20L); case 'p': - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x40000000000000L, active2, 0x400L); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x80000000000000L, active2, 0x800L); case 'r': - return jjMoveStringLiteralDfa2_0(active0, 0xc80c00000002000L, active1, 0x1400000000000000L, active2, 0x14000L); + return jjMoveStringLiteralDfa2_0(active0, 0xc80c00000002000L, active1, 0x2800000000000000L, active2, 0x28000L); case 's': if ((active0 & 0x2000000000L) != 0x0L) return jjStartNfaWithStates_0(1, 37, 42); @@ -436,12 +436,12 @@ else if ((active0 & 0x4000000000L) != 0x0L) case 'w': return jjMoveStringLiteralDfa2_0(active0, 0x20000000000000L, active1, 0x0L, active2, 0x0L); case 'x': - return jjMoveStringLiteralDfa2_0(active0, 0x4000000L, active1, 0x0L, active2, 0x40L); + return jjMoveStringLiteralDfa2_0(active0, 0x4000000L, active1, 0x0L, active2, 0x80L); case 'y': return jjMoveStringLiteralDfa2_0(active0, 0x40000000008000L, active1, 0x0L, active2, 0x0L); case '|': - if ((active1 & 0x800000000L) != 0x0L) - return jjStopAtPos(1, 99); + if ((active1 & 0x1000000000L) != 0x0L) + return jjStopAtPos(1, 100); break; default : break; @@ -459,28 +459,28 @@ private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long a switch(curChar) { case '.': - if ((active2 & 0x2000000L) != 0x0L) - return jjStopAtPos(2, 153); + if ((active2 & 0x4000000L) != 0x0L) + return jjStopAtPos(2, 154); break; case '=': - if ((active2 & 0x200L) != 0x0L) - return jjStopAtPos(2, 137); - else if ((active2 & 0x800L) != 0x0L) - return jjStopAtPos(2, 139); - else if ((active2 & 0x2000L) != 0x0L) - return jjStopAtPos(2, 141); - else if ((active2 & 0x80000L) != 0x0L) - return jjStopAtPos(2, 147); + if ((active2 & 0x400L) != 0x0L) + return jjStopAtPos(2, 138); + else if ((active2 & 0x1000L) != 0x0L) + return jjStopAtPos(2, 140); + else if ((active2 & 0x4000L) != 0x0L) + return jjStopAtPos(2, 142); + else if ((active2 & 0x100000L) != 0x0L) + return jjStopAtPos(2, 148); break; case '>': - if ((active1 & 0x800000000000000L) != 0x0L) + if ((active1 & 0x1000000000000000L) != 0x0L) { - jjmatchedKind = 123; + jjmatchedKind = 124; jjmatchedPos = 2; } - else if ((active2 & 0x40000L) != 0x0L) - return jjStopAtPos(2, 146); - return jjMoveStringLiteralDfa3_0(active0, 0x0L, active1, 0x0L, active2, 0x8000L); + else if ((active2 & 0x80000L) != 0x0L) + return jjStopAtPos(2, 147); + return jjMoveStringLiteralDfa3_0(active0, 0x0L, active1, 0x0L, active2, 0x10000L); case 'a': return jjMoveStringLiteralDfa3_0(active0, 0x88000000044000L, active1, 0x0L, active2, 0x0L); case 'b': @@ -488,28 +488,28 @@ else if ((active2 & 0x40000L) != 0x0L) case 'c': return jjMoveStringLiteralDfa3_0(active0, 0x200000000000L, active1, 0x0L, active2, 0x0L); case 'e': - return jjMoveStringLiteralDfa3_0(active0, 0x2000L, active1, 0x100000000000000L, active2, 0x1000L); + return jjMoveStringLiteralDfa3_0(active0, 0x4000000000002000L, active1, 0x200000000000000L, active2, 0x2000L); case 'f': - return jjMoveStringLiteralDfa3_0(active0, 0x200000L, active1, 0x0L, active2, 0x8000000L); + return jjMoveStringLiteralDfa3_0(active0, 0x200000L, active1, 0x0L, active2, 0x10000000L); case 'i': - return jjMoveStringLiteralDfa3_0(active0, 0x5020400000000000L, active1, 0x1405400000000000L, active2, 0x14000L); + return jjMoveStringLiteralDfa3_0(active0, 0x9020400000000000L, active1, 0x280a800000000000L, active2, 0x28000L); case 'l': return jjMoveStringLiteralDfa3_0(active0, 0x2000100008000000L, active1, 0x0L, active2, 0x0L); case 'n': - return jjMoveStringLiteralDfa3_0(active0, 0x40020030180000L, active1, 0x4000000000L, active2, 0x4L); + return jjMoveStringLiteralDfa3_0(active0, 0x40020030180000L, active1, 0x8000000000L, active2, 0x8L); case 'o': - return jjMoveStringLiteralDfa3_0(active0, 0x4800040001000L, active1, 0x50000000000000L, active2, 0x540L); + return jjMoveStringLiteralDfa3_0(active0, 0x4800040001000L, active1, 0xa0000000000000L, active2, 0xa80L); case 'p': return jjMoveStringLiteralDfa3_0(active0, 0xc00000000L, active1, 0x0L, active2, 0x0L); case 'r': if ((active0 & 0x80000000L) != 0x0L) return jjStartNfaWithStates_0(2, 31, 42); - else if ((active1 & 0x1000000000L) != 0x0L) + else if ((active1 & 0x2000000000L) != 0x0L) { - jjmatchedKind = 100; + jjmatchedKind = 101; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0x310000000000000L, active1, 0x0L, active2, 0x10L); + return jjMoveStringLiteralDfa3_0(active0, 0x310000000000000L, active1, 0x0L, active2, 0x20L); case 's': return jjMoveStringLiteralDfa3_0(active0, 0x1001010800L, active1, 0x0L, active2, 0x0L); case 't': @@ -518,17 +518,17 @@ else if ((active1 & 0x1000000000L) != 0x0L) jjmatchedKind = 39; jjmatchedPos = 2; } - else if ((active1 & 0x1000000L) != 0x0L) + else if ((active1 & 0x2000000L) != 0x0L) { - jjmatchedKind = 88; + jjmatchedKind = 89; jjmatchedPos = 2; } - else if ((active1 & 0x4000000L) != 0x0L) + else if ((active1 & 0x8000000L) != 0x0L) { - jjmatchedKind = 90; + jjmatchedKind = 91; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0x2050104028000L, active1, 0x280000000L, active2, 0x0L); + return jjMoveStringLiteralDfa3_0(active0, 0x2050104028000L, active1, 0x500000000L, active2, 0x0L); case 'u': return jjMoveStringLiteralDfa3_0(active0, 0x400000002800000L, active1, 0x0L, active2, 0x0L); case 'w': @@ -555,13 +555,13 @@ private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long a switch(curChar) { case '=': - if ((active2 & 0x8000L) != 0x0L) - return jjStopAtPos(3, 143); + if ((active2 & 0x10000L) != 0x0L) + return jjStopAtPos(3, 144); break; case '_': - return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x0L, active2, 0x10L); + return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x0L, active2, 0x20L); case 'a': - return jjMoveStringLiteralDfa4_0(active0, 0x2000000070202000L, active1, 0x0L, active2, 0x8000000L); + return jjMoveStringLiteralDfa4_0(active0, 0x2000000070202000L, active1, 0x0L, active2, 0x10000000L); case 'b': return jjMoveStringLiteralDfa4_0(active0, 0x800000L, active1, 0x0L, active2, 0x0L); case 'c': @@ -569,17 +569,17 @@ private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long a case 'd': if ((active0 & 0x1000000000000000L) != 0x0L) return jjStartNfaWithStates_0(3, 60, 42); - else if ((active1 & 0x4000000000L) != 0x0L) + else if ((active1 & 0x8000000000L) != 0x0L) { - jjmatchedKind = 102; + jjmatchedKind = 103; jjmatchedPos = 3; } - else if ((active1 & 0x10000000000000L) != 0x0L) + else if ((active1 & 0x20000000000000L) != 0x0L) { - jjmatchedKind = 116; + jjmatchedKind = 117; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x0L, active2, 0x104L); + return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x0L, active2, 0x208L); case 'e': if ((active0 & 0x8000L) != 0x0L) return jjStartNfaWithStates_0(3, 15, 42); @@ -589,13 +589,13 @@ else if ((active0 & 0x1000000L) != 0x0L) return jjStartNfaWithStates_0(3, 24, 42); else if ((active0 & 0x400000000000000L) != 0x0L) return jjStartNfaWithStates_0(3, 58, 42); - return jjMoveStringLiteralDfa4_0(active0, 0x10004000000L, active1, 0x280000000L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x10004000000L, active1, 0x500000000L, active2, 0x0L); case 'f': - return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x100000000000000L, active2, 0x1000L); + return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x200000000000000L, active2, 0x2000L); case 'g': if ((active0 & 0x20000000000L) != 0x0L) return jjStartNfaWithStates_0(3, 41, 42); - return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x1400000000000000L, active2, 0x14000L); + return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x2800000000000000L, active2, 0x28000L); case 'i': return jjMoveStringLiteralDfa4_0(active0, 0x10040000000000L, active1, 0x0L, active2, 0x0L); case 'k': @@ -603,12 +603,14 @@ else if ((active0 & 0x400000000000000L) != 0x0L) case 'l': if ((active0 & 0x100000000000L) != 0x0L) return jjStartNfaWithStates_0(3, 44, 42); - return jjMoveStringLiteralDfa4_0(active0, 0x4001000400001000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x8001000400001000L, active1, 0x0L, active2, 0x0L); case 'm': if ((active0 & 0x2000000L) != 0x0L) return jjStartNfaWithStates_0(3, 25, 42); break; case 'n': + if ((active0 & 0x4000000000000000L) != 0x0L) + return jjStartNfaWithStates_0(3, 62, 42); return jjMoveStringLiteralDfa4_0(active0, 0x80000000000000L, active1, 0x0L, active2, 0x0L); case 'o': if ((active0 & 0x100000000L) != 0x0L) @@ -617,22 +619,22 @@ else if ((active0 & 0x400000000000000L) != 0x0L) case 'r': if ((active0 & 0x40000L) != 0x0L) return jjStartNfaWithStates_0(3, 18, 42); - return jjMoveStringLiteralDfa4_0(active0, 0x4000000000000L, active1, 0x0L, active2, 0x40L); + return jjMoveStringLiteralDfa4_0(active0, 0x4000000000000L, active1, 0x0L, active2, 0x80L); case 's': return jjMoveStringLiteralDfa4_0(active0, 0x8084000L, active1, 0x0L, active2, 0x0L); case 't': - return jjMoveStringLiteralDfa4_0(active0, 0x28801000100800L, active1, 0x5400000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x28801000100800L, active1, 0xa800000000000L, active2, 0x0L); case 'u': return jjMoveStringLiteralDfa4_0(active0, 0x2000000000000L, active1, 0x0L, active2, 0x0L); case 'v': return jjMoveStringLiteralDfa4_0(active0, 0x400000000000L, active1, 0x0L, active2, 0x0L); case 'w': - if ((active1 & 0x40000000000000L) != 0x0L) + if ((active1 & 0x80000000000000L) != 0x0L) { - jjmatchedKind = 118; + jjmatchedKind = 119; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x0L, active2, 0x400L); + return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x0L, active2, 0x800L); default : break; } @@ -649,21 +651,21 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a switch(curChar) { case '_': - return jjMoveStringLiteralDfa5_0(active0, 0x0L, active1, 0x0L, active2, 0x544L); + return jjMoveStringLiteralDfa5_0(active0, 0x0L, active1, 0x0L, active2, 0xa88L); case 'a': - return jjMoveStringLiteralDfa5_0(active0, 0x601000000000L, active1, 0x0L, active2, 0x10L); + return jjMoveStringLiteralDfa5_0(active0, 0x601000000000L, active1, 0x0L, active2, 0x20L); case 'c': return jjMoveStringLiteralDfa5_0(active0, 0x30000000000000L, active1, 0x0L, active2, 0x0L); case 'e': if ((active0 & 0x8000000L) != 0x0L) return jjStartNfaWithStates_0(4, 27, 42); - else if ((active0 & 0x4000000000000000L) != 0x0L) - return jjStartNfaWithStates_0(4, 62, 42); + else if ((active0 & 0x8000000000000000L) != 0x0L) + return jjStartNfaWithStates_0(4, 63, 42); return jjMoveStringLiteralDfa5_0(active0, 0x800400001000L, active1, 0x0L, active2, 0x0L); case 'h': if ((active0 & 0x20000L) != 0x0L) return jjStartNfaWithStates_0(4, 17, 42); - return jjMoveStringLiteralDfa5_0(active0, 0x40000000000000L, active1, 0x1400000000000000L, active2, 0x14000L); + return jjMoveStringLiteralDfa5_0(active0, 0x40000000000000L, active1, 0x2800000000000000L, active2, 0x28000L); case 'i': return jjMoveStringLiteralDfa5_0(active0, 0x9000000100000L, active1, 0x0L, active2, 0x0L); case 'k': @@ -680,10 +682,10 @@ else if ((active0 & 0x4000000000000000L) != 0x0L) case 'n': return jjMoveStringLiteralDfa5_0(active0, 0x4000000L, active1, 0x0L, active2, 0x0L); case 'q': - if ((active1 & 0x80000000L) != 0x0L) - return jjStopAtPos(4, 95); - else if ((active1 & 0x200000000L) != 0x0L) - return jjStopAtPos(4, 97); + if ((active1 & 0x100000000L) != 0x0L) + return jjStopAtPos(4, 96); + else if ((active1 & 0x400000000L) != 0x0L) + return jjStopAtPos(4, 98); break; case 'r': return jjMoveStringLiteralDfa5_0(active0, 0x2010800000800L, active1, 0x0L, active2, 0x0L); @@ -698,9 +700,9 @@ else if ((active0 & 0x40000000L) != 0x0L) return jjStartNfaWithStates_0(4, 30, 42); else if ((active0 & 0x4000000000000L) != 0x0L) return jjStartNfaWithStates_0(4, 50, 42); - return jjMoveStringLiteralDfa5_0(active0, 0x2000000000000000L, active1, 0x100000000000000L, active2, 0x1000L); + return jjMoveStringLiteralDfa5_0(active0, 0x2000000000000000L, active1, 0x200000000000000L, active2, 0x2000L); case 'u': - return jjMoveStringLiteralDfa5_0(active0, 0x200000L, active1, 0x0L, active2, 0x8000000L); + return jjMoveStringLiteralDfa5_0(active0, 0x200000L, active1, 0x0L, active2, 0x10000000L); case 'v': return jjMoveStringLiteralDfa5_0(active0, 0x40000000000L, active1, 0x0L, active2, 0x0L); case 'w': @@ -709,7 +711,7 @@ else if ((active0 & 0x4000000000000L) != 0x0L) jjmatchedKind = 56; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0x200000000000000L, active1, 0x5400000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa5_0(active0, 0x200000000000000L, active1, 0xa800000000000L, active2, 0x0L); default : break; } @@ -726,9 +728,9 @@ private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long a switch(curChar) { case '_': - return jjMoveStringLiteralDfa6_0(active0, 0x0L, active1, 0x100000000000000L, active2, 0x1000L); + return jjMoveStringLiteralDfa6_0(active0, 0x0L, active1, 0x200000000000000L, active2, 0x2000L); case 'a': - return jjMoveStringLiteralDfa6_0(active0, 0x1800L, active1, 0x0L, active2, 0x544L); + return jjMoveStringLiteralDfa6_0(active0, 0x1800L, active1, 0x0L, active2, 0xa88L); case 'c': if ((active0 & 0x1000000000000L) != 0x0L) return jjStartNfaWithStates_0(5, 48, 42); @@ -752,9 +754,9 @@ else if ((active0 & 0x40000000000L) != 0x0L) return jjStartNfaWithStates_0(5, 53, 42); break; case 'i': - return jjMoveStringLiteralDfa6_0(active0, 0x2080000000000000L, active1, 0x5400000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa6_0(active0, 0x2080000000000000L, active1, 0xa800000000000L, active2, 0x0L); case 'l': - return jjMoveStringLiteralDfa6_0(active0, 0x20200000L, active1, 0x0L, active2, 0x8000000L); + return jjMoveStringLiteralDfa6_0(active0, 0x20200000L, active1, 0x0L, active2, 0x10000000L); case 'm': return jjMoveStringLiteralDfa6_0(active0, 0x400000000L, active1, 0x0L, active2, 0x0L); case 'n': @@ -766,11 +768,11 @@ else if ((active0 & 0x40000000000L) != 0x0L) case 's': if ((active0 & 0x200000000000000L) != 0x0L) return jjStartNfaWithStates_0(5, 57, 42); - return jjMoveStringLiteralDfa6_0(active0, 0x0L, active1, 0x0L, active2, 0x10L); + return jjMoveStringLiteralDfa6_0(active0, 0x0L, active1, 0x0L, active2, 0x20L); case 't': if ((active0 & 0x800000000L) != 0x0L) return jjStartNfaWithStates_0(5, 35, 42); - return jjMoveStringLiteralDfa6_0(active0, 0x10400000000000L, active1, 0x1400000000000000L, active2, 0x14000L); + return jjMoveStringLiteralDfa6_0(active0, 0x10400000000000L, active1, 0x2800000000000000L, active2, 0x28000L); default : break; } @@ -787,7 +789,7 @@ private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long a switch(curChar) { case '_': - return jjMoveStringLiteralDfa7_0(active0, 0x0L, active1, 0x1400000000000000L, active2, 0x14000L); + return jjMoveStringLiteralDfa7_0(active0, 0x0L, active1, 0x2800000000000000L, active2, 0x28000L); case 'a': return jjMoveStringLiteralDfa7_0(active0, 0x10000000000L, active1, 0x0L, active2, 0x0L); case 'c': @@ -811,14 +813,14 @@ else if ((active0 & 0x400000000000L) != 0x0L) case 's': if ((active0 & 0x4000000L) != 0x0L) return jjStartNfaWithStates_0(6, 26, 42); - return jjMoveStringLiteralDfa7_0(active0, 0x0L, active1, 0x105400000000000L, active2, 0x1554L); + return jjMoveStringLiteralDfa7_0(active0, 0x0L, active1, 0x20a800000000000L, active2, 0x2aa8L); case 't': if ((active0 & 0x200000L) != 0x0L) { jjmatchedKind = 21; jjmatchedPos = 6; } - return jjMoveStringLiteralDfa7_0(active0, 0x800000000000L, active1, 0x0L, active2, 0x8000000L); + return jjMoveStringLiteralDfa7_0(active0, 0x800000000000L, active1, 0x0L, active2, 0x10000000L); case 'u': return jjMoveStringLiteralDfa7_0(active0, 0x100000L, active1, 0x0L, active2, 0x0L); case 'y': @@ -841,8 +843,8 @@ private int jjMoveStringLiteralDfa7_0(long old0, long active0, long old1, long a switch(curChar) { case ':': - if ((active2 & 0x8000000L) != 0x0L) - return jjStopAtPos(7, 155); + if ((active2 & 0x10000000L) != 0x0L) + return jjStopAtPos(7, 156); break; case 'c': return jjMoveStringLiteralDfa8_0(active0, 0x10000000000L, active1, 0x0L, active2, 0x0L); @@ -851,11 +853,11 @@ private int jjMoveStringLiteralDfa7_0(long old0, long active0, long old1, long a return jjStartNfaWithStates_0(7, 20, 42); else if ((active0 & 0x2000000000000000L) != 0x0L) return jjStartNfaWithStates_0(7, 61, 42); - return jjMoveStringLiteralDfa8_0(active0, 0x801000000000L, active1, 0x5400000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa8_0(active0, 0x801000000000L, active1, 0xa800000000000L, active2, 0x0L); case 'h': - return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x100000000000000L, active2, 0x1000L); + return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x200000000000000L, active2, 0x2000L); case 'i': - return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x0L, active2, 0x10L); + return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x0L, active2, 0x20L); case 'n': return jjMoveStringLiteralDfa8_0(active0, 0xc0000400000000L, active1, 0x0L, active2, 0x0L); case 'p': @@ -863,13 +865,13 @@ else if ((active0 & 0x2000000000000000L) != 0x0L) return jjStartNfaWithStates_0(7, 52, 42); break; case 's': - return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x400000000000000L, active2, 0x4544L); + return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x800000000000000L, active2, 0x8a88L); case 't': if ((active0 & 0x800L) != 0x0L) return jjStartNfaWithStates_0(7, 11, 42); break; case 'u': - return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x1000000000000000L, active2, 0x10000L); + return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x2000000000000000L, active2, 0x20000L); default : break; } @@ -886,7 +888,7 @@ private int jjMoveStringLiteralDfa8_0(long old0, long active0, long old1, long a switch(curChar) { case '_': - return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x5400000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0xa800000000000L, active2, 0x0L); case 'd': if ((active0 & 0x800000000000L) != 0x0L) return jjStartNfaWithStates_0(8, 47, 42); @@ -896,13 +898,13 @@ private int jjMoveStringLiteralDfa8_0(long old0, long active0, long old1, long a return jjStartNfaWithStates_0(8, 40, 42); break; case 'g': - return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x0L, active2, 0x10L); + return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x0L, active2, 0x20L); case 'h': - return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x400000000000000L, active2, 0x4000L); + return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x800000000000000L, active2, 0x8000L); case 'i': - return jjMoveStringLiteralDfa9_0(active0, 0x40000000000000L, active1, 0x100000000000000L, active2, 0x1544L); + return jjMoveStringLiteralDfa9_0(active0, 0x40000000000000L, active1, 0x200000000000000L, active2, 0x2a88L); case 'n': - return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x1000000000000000L, active2, 0x10000L); + return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x2000000000000000L, active2, 0x20000L); case 'o': return jjMoveStringLiteralDfa9_0(active0, 0x1000000000L, active1, 0x0L, active2, 0x0L); case 't': @@ -925,27 +927,27 @@ private int jjMoveStringLiteralDfa9_0(long old0, long active0, long old1, long a switch(curChar) { case 'a': - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x400000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x800000000000L, active2, 0x0L); case 'f': if ((active0 & 0x1000000000L) != 0x0L) return jjStartNfaWithStates_0(9, 36, 42); - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x100000000000000L, active2, 0x1000L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x200000000000000L, active2, 0x2000L); case 'g': - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x0L, active2, 0x544L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x0L, active2, 0xa88L); case 'i': - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x400000000000000L, active2, 0x4000L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x800000000000000L, active2, 0x8000L); case 'n': - if ((active2 & 0x10L) != 0x0L) - return jjStopAtPos(9, 132); + if ((active2 & 0x20L) != 0x0L) + return jjStopAtPos(9, 133); break; case 'o': - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x1000000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x2000000000000L, active2, 0x0L); case 's': if ((active0 & 0x400000000L) != 0x0L) return jjStartNfaWithStates_0(9, 34, 42); - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x1000000000000000L, active2, 0x10000L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x2000000000000000L, active2, 0x20000L); case 'x': - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x4000000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x8000000000000L, active2, 0x0L); case 'z': return jjMoveStringLiteralDfa10_0(active0, 0x40000000000000L, active1, 0x0L, active2, 0x0L); default : @@ -966,32 +968,32 @@ private int jjMoveStringLiteralDfa10_0(long old0, long active0, long old1, long case 'e': return jjMoveStringLiteralDfa11_0(active0, 0x40000000000000L, active1, 0x0L, active2, 0x0L); case 'f': - return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x400000000000000L, active2, 0x4000L); + return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x800000000000000L, active2, 0x8000L); case 'i': - return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x1000000000000000L, active2, 0x10000L); + return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x2000000000000000L, active2, 0x20000L); case 'n': - if ((active2 & 0x4L) != 0x0L) - return jjStopAtPos(10, 130); - else if ((active2 & 0x40L) != 0x0L) - return jjStopAtPos(10, 134); - else if ((active2 & 0x100L) != 0x0L) - return jjStopAtPos(10, 136); - else if ((active2 & 0x400L) != 0x0L) - return jjStopAtPos(10, 138); - return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x400000000000L, active2, 0x0L); + if ((active2 & 0x8L) != 0x0L) + return jjStopAtPos(10, 131); + else if ((active2 & 0x80L) != 0x0L) + return jjStopAtPos(10, 135); + else if ((active2 & 0x200L) != 0x0L) + return jjStopAtPos(10, 137); + else if ((active2 & 0x800L) != 0x0L) + return jjStopAtPos(10, 139); + return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x800000000000L, active2, 0x0L); case 'o': - return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x4000000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x8000000000000L, active2, 0x0L); case 'r': - if ((active1 & 0x1000000000000L) != 0x0L) - return jjStopAtPos(10, 112); + if ((active1 & 0x2000000000000L) != 0x0L) + return jjStopAtPos(10, 113); break; case 't': - if ((active1 & 0x100000000000000L) != 0x0L) + if ((active1 & 0x200000000000000L) != 0x0L) { - jjmatchedKind = 120; + jjmatchedKind = 121; jjmatchedPos = 10; } - return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x0L, active2, 0x1000L); + return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x0L, active2, 0x2000L); default : break; } @@ -1008,26 +1010,26 @@ private int jjMoveStringLiteralDfa11_0(long old0, long active0, long old1, long switch(curChar) { case '_': - return jjMoveStringLiteralDfa12_0(active0, 0x0L, active1, 0x0L, active2, 0x1000L); + return jjMoveStringLiteralDfa12_0(active0, 0x0L, active1, 0x0L, active2, 0x2000L); case 'd': if ((active0 & 0x40000000000000L) != 0x0L) return jjStartNfaWithStates_0(11, 54, 42); - else if ((active1 & 0x400000000000L) != 0x0L) - return jjStopAtPos(11, 110); + else if ((active1 & 0x800000000000L) != 0x0L) + return jjStopAtPos(11, 111); break; case 'g': - return jjMoveStringLiteralDfa12_0(active0, 0x0L, active1, 0x1000000000000000L, active2, 0x10000L); + return jjMoveStringLiteralDfa12_0(active0, 0x0L, active1, 0x2000000000000000L, active2, 0x20000L); case 'r': - if ((active1 & 0x4000000000000L) != 0x0L) - return jjStopAtPos(11, 114); + if ((active1 & 0x8000000000000L) != 0x0L) + return jjStopAtPos(11, 115); break; case 't': - if ((active1 & 0x400000000000000L) != 0x0L) + if ((active1 & 0x800000000000000L) != 0x0L) { - jjmatchedKind = 122; + jjmatchedKind = 123; jjmatchedPos = 11; } - return jjMoveStringLiteralDfa12_0(active0, 0x0L, active1, 0x0L, active2, 0x4000L); + return jjMoveStringLiteralDfa12_0(active0, 0x0L, active1, 0x0L, active2, 0x8000L); default : break; } @@ -1044,11 +1046,11 @@ private int jjMoveStringLiteralDfa12_0(long old0, long active0, long old1, long switch(curChar) { case '_': - return jjMoveStringLiteralDfa13_0(active1, 0x0L, active2, 0x4000L); + return jjMoveStringLiteralDfa13_0(active1, 0x0L, active2, 0x8000L); case 'a': - return jjMoveStringLiteralDfa13_0(active1, 0x0L, active2, 0x1000L); + return jjMoveStringLiteralDfa13_0(active1, 0x0L, active2, 0x2000L); case 'n': - return jjMoveStringLiteralDfa13_0(active1, 0x1000000000000000L, active2, 0x10000L); + return jjMoveStringLiteralDfa13_0(active1, 0x2000000000000000L, active2, 0x20000L); default : break; } @@ -1065,11 +1067,11 @@ private int jjMoveStringLiteralDfa13_0(long old1, long active1, long old2, long switch(curChar) { case 'a': - return jjMoveStringLiteralDfa14_0(active1, 0x0L, active2, 0x4000L); + return jjMoveStringLiteralDfa14_0(active1, 0x0L, active2, 0x8000L); case 'e': - return jjMoveStringLiteralDfa14_0(active1, 0x1000000000000000L, active2, 0x10000L); + return jjMoveStringLiteralDfa14_0(active1, 0x2000000000000000L, active2, 0x20000L); case 's': - return jjMoveStringLiteralDfa14_0(active1, 0x0L, active2, 0x1000L); + return jjMoveStringLiteralDfa14_0(active1, 0x0L, active2, 0x2000L); default : break; } @@ -1086,9 +1088,9 @@ private int jjMoveStringLiteralDfa14_0(long old1, long active1, long old2, long switch(curChar) { case 'd': - return jjMoveStringLiteralDfa15_0(active1, 0x1000000000000000L, active2, 0x10000L); + return jjMoveStringLiteralDfa15_0(active1, 0x2000000000000000L, active2, 0x20000L); case 's': - return jjMoveStringLiteralDfa15_0(active1, 0x0L, active2, 0x5000L); + return jjMoveStringLiteralDfa15_0(active1, 0x0L, active2, 0xa000L); default : break; } @@ -1105,11 +1107,11 @@ private int jjMoveStringLiteralDfa15_0(long old1, long active1, long old2, long switch(curChar) { case '_': - return jjMoveStringLiteralDfa16_0(active1, 0x1000000000000000L, active2, 0x10000L); + return jjMoveStringLiteralDfa16_0(active1, 0x2000000000000000L, active2, 0x20000L); case 'i': - return jjMoveStringLiteralDfa16_0(active1, 0x0L, active2, 0x1000L); + return jjMoveStringLiteralDfa16_0(active1, 0x0L, active2, 0x2000L); case 's': - return jjMoveStringLiteralDfa16_0(active1, 0x0L, active2, 0x4000L); + return jjMoveStringLiteralDfa16_0(active1, 0x0L, active2, 0x8000L); default : break; } @@ -1126,11 +1128,11 @@ private int jjMoveStringLiteralDfa16_0(long old1, long active1, long old2, long switch(curChar) { case 'g': - return jjMoveStringLiteralDfa17_0(active1, 0x0L, active2, 0x1000L); + return jjMoveStringLiteralDfa17_0(active1, 0x0L, active2, 0x2000L); case 'i': - return jjMoveStringLiteralDfa17_0(active1, 0x0L, active2, 0x4000L); + return jjMoveStringLiteralDfa17_0(active1, 0x0L, active2, 0x8000L); case 's': - return jjMoveStringLiteralDfa17_0(active1, 0x1000000000000000L, active2, 0x10000L); + return jjMoveStringLiteralDfa17_0(active1, 0x2000000000000000L, active2, 0x20000L); default : break; } @@ -1147,12 +1149,12 @@ private int jjMoveStringLiteralDfa17_0(long old1, long active1, long old2, long switch(curChar) { case 'g': - return jjMoveStringLiteralDfa18_0(active1, 0x0L, active2, 0x4000L); + return jjMoveStringLiteralDfa18_0(active1, 0x0L, active2, 0x8000L); case 'h': - return jjMoveStringLiteralDfa18_0(active1, 0x1000000000000000L, active2, 0x10000L); + return jjMoveStringLiteralDfa18_0(active1, 0x2000000000000000L, active2, 0x20000L); case 'n': - if ((active2 & 0x1000L) != 0x0L) - return jjStopAtPos(17, 140); + if ((active2 & 0x2000L) != 0x0L) + return jjStopAtPos(17, 141); break; default : break; @@ -1170,10 +1172,10 @@ private int jjMoveStringLiteralDfa18_0(long old1, long active1, long old2, long switch(curChar) { case 'i': - return jjMoveStringLiteralDfa19_0(active1, 0x1000000000000000L, active2, 0x10000L); + return jjMoveStringLiteralDfa19_0(active1, 0x2000000000000000L, active2, 0x20000L); case 'n': - if ((active2 & 0x4000L) != 0x0L) - return jjStopAtPos(18, 142); + if ((active2 & 0x8000L) != 0x0L) + return jjStopAtPos(18, 143); break; default : break; @@ -1191,7 +1193,7 @@ private int jjMoveStringLiteralDfa19_0(long old1, long active1, long old2, long switch(curChar) { case 'f': - return jjMoveStringLiteralDfa20_0(active1, 0x1000000000000000L, active2, 0x10000L); + return jjMoveStringLiteralDfa20_0(active1, 0x2000000000000000L, active2, 0x20000L); default : break; } @@ -1208,12 +1210,12 @@ private int jjMoveStringLiteralDfa20_0(long old1, long active1, long old2, long switch(curChar) { case 't': - if ((active1 & 0x1000000000000000L) != 0x0L) + if ((active1 & 0x2000000000000000L) != 0x0L) { - jjmatchedKind = 124; + jjmatchedKind = 125; jjmatchedPos = 20; } - return jjMoveStringLiteralDfa21_0(active1, 0x0L, active2, 0x10000L); + return jjMoveStringLiteralDfa21_0(active1, 0x0L, active2, 0x20000L); default : break; } @@ -1230,7 +1232,7 @@ private int jjMoveStringLiteralDfa21_0(long old1, long active1, long old2, long switch(curChar) { case '_': - return jjMoveStringLiteralDfa22_0(active2, 0x10000L); + return jjMoveStringLiteralDfa22_0(active2, 0x20000L); default : break; } @@ -1247,7 +1249,7 @@ private int jjMoveStringLiteralDfa22_0(long old2, long active2){ switch(curChar) { case 'a': - return jjMoveStringLiteralDfa23_0(active2, 0x10000L); + return jjMoveStringLiteralDfa23_0(active2, 0x20000L); default : break; } @@ -1264,7 +1266,7 @@ private int jjMoveStringLiteralDfa23_0(long old2, long active2){ switch(curChar) { case 's': - return jjMoveStringLiteralDfa24_0(active2, 0x10000L); + return jjMoveStringLiteralDfa24_0(active2, 0x20000L); default : break; } @@ -1281,7 +1283,7 @@ private int jjMoveStringLiteralDfa24_0(long old2, long active2){ switch(curChar) { case 's': - return jjMoveStringLiteralDfa25_0(active2, 0x10000L); + return jjMoveStringLiteralDfa25_0(active2, 0x20000L); default : break; } @@ -1298,7 +1300,7 @@ private int jjMoveStringLiteralDfa25_0(long old2, long active2){ switch(curChar) { case 'i': - return jjMoveStringLiteralDfa26_0(active2, 0x10000L); + return jjMoveStringLiteralDfa26_0(active2, 0x20000L); default : break; } @@ -1315,7 +1317,7 @@ private int jjMoveStringLiteralDfa26_0(long old2, long active2){ switch(curChar) { case 'g': - return jjMoveStringLiteralDfa27_0(active2, 0x10000L); + return jjMoveStringLiteralDfa27_0(active2, 0x20000L); default : break; } @@ -1332,8 +1334,8 @@ private int jjMoveStringLiteralDfa27_0(long old2, long active2){ switch(curChar) { case 'n': - if ((active2 & 0x10000L) != 0x0L) - return jjStopAtPos(27, 144); + if ((active2 & 0x20000L) != 0x0L) + return jjStopAtPos(27, 145); break; default : break; @@ -1427,8 +1429,8 @@ else if (curChar == 47) { jjAddStates(13, 14); } else if (curChar == 36) { - if (kind > 74) - kind = 74; + if (kind > 75) + kind = 75; { jjCheckNAdd(42); } } else if (curChar == 34) @@ -1443,14 +1445,14 @@ else if (curChar == 60) { jjCheckNAddStates(0, 3); } if ((0x3fe000000000000L & l) != 0x0L) { - if (kind > 63) - kind = 63; + if (kind > 64) + kind = 64; { jjCheckNAddTwoStates(15, 16); } } else if (curChar == 48) { - if (kind > 63) - kind = 63; + if (kind > 64) + kind = 64; { jjCheckNAddStates(18, 21); } } else if (curChar == 34) @@ -1517,15 +1519,15 @@ else if (curChar == 34) case 14: if ((0x3fe000000000000L & l) == 0x0L) break; - if (kind > 63) - kind = 63; + if (kind > 64) + kind = 64; { jjCheckNAddTwoStates(15, 16); } break; case 15: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 63) - kind = 63; + if (kind > 64) + kind = 64; { jjCheckNAddTwoStates(15, 16); } break; case 17: @@ -1535,8 +1537,8 @@ else if (curChar == 34) case 18: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 68) - kind = 68; + if (kind > 69) + kind = 69; { jjCheckNAddStates(28, 30); } break; case 20: @@ -1546,8 +1548,8 @@ else if (curChar == 34) case 21: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 68) - kind = 68; + if (kind > 69) + kind = 69; { jjCheckNAddTwoStates(21, 22); } break; case 23: @@ -1562,8 +1564,8 @@ else if (curChar == 34) { jjCheckNAddStates(15, 17); } break; case 27: - if (curChar == 39 && kind > 71) - kind = 71; + if (curChar == 39 && kind > 72) + kind = 72; break; case 28: if (curChar == 34) @@ -1577,8 +1579,8 @@ else if (curChar == 34) { jjCheckNAddStates(22, 24); } break; case 32: - if (curChar == 34 && kind > 72) - kind = 72; + if (curChar == 34 && kind > 73) + kind = 73; break; case 33: case 35: @@ -1590,8 +1592,8 @@ else if (curChar == 34) { jjCheckNAddStates(31, 33); } break; case 36: - if (curChar == 34 && kind > 73) - kind = 73; + if (curChar == 34 && kind > 74) + kind = 74; break; case 37: if (curChar == 34) @@ -1612,15 +1614,15 @@ else if (curChar == 34) case 41: if (curChar != 36) break; - if (kind > 74) - kind = 74; + if (kind > 75) + kind = 75; { jjCheckNAdd(42); } break; case 42: if ((0x3ff001000000000L & l) == 0x0L) break; - if (kind > 74) - kind = 74; + if (kind > 75) + kind = 75; { jjCheckNAdd(42); } break; case 43: @@ -1634,15 +1636,15 @@ else if (curChar == 34) case 45: if (curChar != 46) break; - if (kind > 68) - kind = 68; + if (kind > 69) + kind = 69; { jjCheckNAddStates(34, 36); } break; case 46: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 68) - kind = 68; + if (kind > 69) + kind = 69; { jjCheckNAddStates(34, 36); } break; case 48: @@ -1652,8 +1654,8 @@ else if (curChar == 34) case 49: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 68) - kind = 68; + if (kind > 69) + kind = 69; { jjCheckNAddTwoStates(49, 22); } break; case 50: @@ -1667,8 +1669,8 @@ else if (curChar == 34) case 53: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 68) - kind = 68; + if (kind > 69) + kind = 69; { jjCheckNAddTwoStates(53, 22); } break; case 54: @@ -1678,36 +1680,36 @@ else if (curChar == 34) case 56: if (curChar != 48) break; - if (kind > 63) - kind = 63; + if (kind > 64) + kind = 64; { jjCheckNAddStates(18, 21); } break; case 58: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 63) - kind = 63; + if (kind > 64) + kind = 64; { jjCheckNAddTwoStates(58, 16); } break; case 60: if ((0x3000000000000L & l) == 0x0L) break; - if (kind > 63) - kind = 63; + if (kind > 64) + kind = 64; { jjCheckNAddStates(37, 39); } break; case 61: if ((0x3000000000000L & l) == 0x0L) break; - if (kind > 63) - kind = 63; + if (kind > 64) + kind = 64; { jjCheckNAdd(16); } break; case 62: if ((0xff000000000000L & l) == 0x0L) break; - if (kind > 63) - kind = 63; + if (kind > 64) + kind = 64; { jjCheckNAddTwoStates(62, 16); } break; case 63: @@ -1777,8 +1779,8 @@ else if (curChar < 128) case 42: if ((0x7fffffe87fffffeL & l) == 0x0L) break; - if (kind > 74) - kind = 74; + if (kind > 75) + kind = 75; { jjCheckNAdd(42); } break; case 9: @@ -1787,21 +1789,21 @@ else if (curChar < 128) case 15: if (curChar != 95) break; - if (kind > 63) - kind = 63; + if (kind > 64) + kind = 64; { jjCheckNAddTwoStates(15, 16); } break; case 16: - if ((0x88920000889200L & l) != 0x0L && kind > 63) - kind = 63; + if ((0x88920000889200L & l) != 0x0L && kind > 64) + kind = 64; break; case 19: if ((0x2000000020L & l) != 0x0L) { jjAddStates(43, 44); } break; case 22: - if ((0x80005000800050L & l) != 0x0L && kind > 68) - kind = 68; + if ((0x80005000800050L & l) != 0x0L && kind > 69) + kind = 69; break; case 24: if ((0xffffffffefffffffL & l) != 0x0L) @@ -1837,8 +1839,8 @@ else if (curChar < 128) { jjAddStates(47, 48); } break; case 55: - if ((0x5000000050L & l) != 0x0L && kind > 68) - kind = 68; + if ((0x5000000050L & l) != 0x0L && kind > 69) + kind = 69; break; case 57: if ((0x100000001000000L & l) != 0x0L) @@ -1847,22 +1849,22 @@ else if (curChar < 128) case 58: if ((0x7e8000007eL & l) == 0x0L) break; - if (kind > 63) - kind = 63; + if (kind > 64) + kind = 64; { jjCheckNAddTwoStates(58, 16); } break; case 59: if ((0x400000004L & l) == 0x0L) break; - if (kind > 63) - kind = 63; + if (kind > 64) + kind = 64; { jjCheckNAddStates(37, 39); } break; case 60: if (curChar != 95) break; - if (kind > 63) - kind = 63; + if (kind > 64) + kind = 64; { jjCheckNAddStates(37, 39); } break; case 65: @@ -1906,8 +1908,8 @@ else if (curChar < 128) } if (jjCanMove_2(hiByte, i1, i2, l1, l2)) { - if (kind > 74) - kind = 74; + if (kind > 75) + kind = 75; { jjCheckNAdd(42); } } break; @@ -1940,8 +1942,8 @@ else if (curChar < 128) case 42: if (!jjCanMove_2(hiByte, i1, i2, l1, l2)) break; - if (kind > 74) - kind = 74; + if (kind > 75) + kind = 75; { jjCheckNAdd(42); } break; case 65: @@ -1997,10 +1999,10 @@ else if (curChar < 128) "\162\145\164\165\162\156", "\163\150\157\162\164", "\163\164\141\164\151\143", "\163\164\162\151\143\164\146\160", "\163\167\151\164\143\150", "\163\171\156\143\150\162\157\156\151\172\145\144", "\164\162\141\156\163\151\145\156\164", "\164\150\162\157\167", "\164\150\162\157\167\163", "\164\162\165\145", -"\164\162\171", "\166\157\151\144", "\166\157\154\141\164\151\154\145", "\167\150\151\154\145", -null, null, null, null, null, null, null, null, null, null, null, null, null, null, -"\50", "\51", "\173", "\175", "\133", "\135", "\73", "\54", "\56", "\75", "\76", -"\100\147\164", "\74", "\100\154\164", "\41", "\176", "\75\75", "\74\75", +"\164\162\171", "\166\157\151\144", "\166\157\154\141\164\151\154\145", "\167\150\145\156", +"\167\150\151\154\145", null, null, null, null, null, null, null, null, null, null, null, null, null, +null, "\50", "\51", "\173", "\175", "\133", "\135", "\73", "\54", "\56", "\75", +"\76", "\100\147\164", "\74", "\100\154\164", "\41", "\176", "\75\75", "\74\75", "\100\154\164\145\161", "\76\75", "\100\147\164\145\161", "\41\75", "\174\174", "\100\157\162", "\46\46", "\100\141\156\144", "\53\53", "\55\55", "\53", "\55", "\52", "\57", "\46", "\100\142\151\164\167\151\163\145\137\141\156\144", "\174", "\100\142\151\164\167\151\163\145\137\157\162", "\136", @@ -2288,10 +2290,10 @@ public void SwitchTo(int lexState) -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, -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 = { - 0xfffffffffffff801L, 0xffffffffffffe790L, 0xfffffffL, + 0xfffffffffffff801L, 0xffffffffffffcf21L, 0x1fffffffL, }; static final long[] jjtoSkip = { 0x7feL, 0x0L, 0x0L, diff --git a/bsh-lambda-300-eee36c8/src/main/java/bsh/ParserTreeConstants.java b/bsh-lambda-300-eee36c8/src/main/java/bsh/ParserTreeConstants.java index 518f778..0e3680d 100644 --- a/bsh-lambda-300-eee36c8/src/main/java/bsh/ParserTreeConstants.java +++ b/bsh-lambda-300-eee36c8/src/main/java/bsh/ParserTreeConstants.java @@ -26,26 +26,28 @@ public interface ParserTreeConstants public int JJTPRIMARYEXPRESSION = 20; public int JJTMETHODINVOCATION = 21; public int JJTLAMBDAEXPRESSION = 22; - public int JJTPRIMARYSUFFIX = 23; - public int JJTLITERAL = 24; - public int JJTARGUMENTS = 25; - public int JJTALLOCATIONEXPRESSION = 26; - public int JJTARRAYDIMENSIONS = 27; - public int JJTLABELEDSTATEMENT = 28; - public int JJTSWITCHSTATEMENT = 29; - public int JJTSWITCHLABEL = 30; - public int JJTIFSTATEMENT = 31; - public int JJTWHILESTATEMENT = 32; - public int JJTFORSTATEMENT = 33; - public int JJTENHANCEDFORSTATEMENT = 34; - public int JJTTYPEDVARIABLEDECLARATION = 35; - public int JJTSTATEMENTEXPRESSIONLIST = 36; - public int JJTRETURNSTATEMENT = 37; - public int JJTTHROWSTATEMENT = 38; - public int JJTTRYSTATEMENT = 39; - public int JJTMULTICATCH = 40; - public int JJTTRYWITHRESOURCES = 41; - public int JJTAUTOCLOSEABLE = 42; + public int JJTWHENEXPRESSION = 23; + public int JJTWHENENTRY = 24; + public int JJTPRIMARYSUFFIX = 25; + public int JJTLITERAL = 26; + public int JJTARGUMENTS = 27; + public int JJTALLOCATIONEXPRESSION = 28; + public int JJTARRAYDIMENSIONS = 29; + public int JJTLABELEDSTATEMENT = 30; + public int JJTSWITCHSTATEMENT = 31; + public int JJTSWITCHLABEL = 32; + public int JJTIFSTATEMENT = 33; + public int JJTWHILESTATEMENT = 34; + public int JJTFORSTATEMENT = 35; + public int JJTENHANCEDFORSTATEMENT = 36; + public int JJTTYPEDVARIABLEDECLARATION = 37; + public int JJTSTATEMENTEXPRESSIONLIST = 38; + public int JJTRETURNSTATEMENT = 39; + public int JJTTHROWSTATEMENT = 40; + public int JJTTRYSTATEMENT = 41; + public int JJTMULTICATCH = 42; + public int JJTTRYWITHRESOURCES = 43; + public int JJTAUTOCLOSEABLE = 44; public String[] jjtNodeName = { @@ -72,6 +74,8 @@ public interface ParserTreeConstants "PrimaryExpression", "MethodInvocation", "LambdaExpression", + "WhenExpression", + "WhenEntry", "PrimarySuffix", "Literal", "Arguments", @@ -94,4 +98,4 @@ public interface ParserTreeConstants "AutoCloseable", }; } -/* ParserGeneratorCC - OriginalChecksum=8f20f6be71fceaf418d56fe7f536b30f (do not edit this line) */ +/* ParserGeneratorCC - OriginalChecksum=ffec6fb3060f8e5edbf35756f68095b0 (do not edit this line) */ diff --git a/bsh-lambda-300-eee36c8/src/main/jjtree/bsh.jjt b/bsh-lambda-300-eee36c8/src/main/jjtree/bsh.jjt index 57960a9..9182739 100644 --- a/bsh-lambda-300-eee36c8/src/main/jjtree/bsh.jjt +++ b/bsh-lambda-300-eee36c8/src/main/jjtree/bsh.jjt @@ -469,6 +469,7 @@ TOKEN : /* RESERVED WORDS AND LITERALS */ | < TRY: "try" > | < VOID: "void" > | < VOLATILE: "volatile" > +| < WHEN: "when" > | < WHILE: "while" > } @@ -1094,11 +1095,30 @@ void LambdaExpression() #LambdaExpression : { jjtThis.singleParamName = t != null ? t.image : null; } } +void WhenExpression() #WhenExpression : +{} +{ + "when" "(" Expression() ")" "{" + ( WhenEntry() )+ + "}" +} + +void WhenEntry() #WhenEntry : +{ int count = 0; } +{ + "else" { jjtThis.isElse = true; } "->" Expression() +| + Expression() { count = 1; } ( "," Expression() { count++; } )* + "->" Expression() { jjtThis.numConditions = count; } +} + void PrimaryPrefix() : { } { Literal() | "(" Expression() ")" +| + WhenExpression() | AllocationExpression() |