[jboss-svn-commits] JBL Code SVN: r23223 - in labs/jbosstm/workspace/adinn/orchestration: dd/grammar and 7 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Sep 30 09:44:48 EDT 2008
Author: adinn
Date: 2008-09-30 09:44:48 -0400 (Tue, 30 Sep 2008)
New Revision: 23223
Added:
labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/exception/ThrowException.java
labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/expression/ThrowExpression.java
Modified:
labs/jbosstm/workspace/adinn/orchestration/dd/grammar/ECAGrammar.g
labs/jbosstm/workspace/adinn/orchestration/dd/grammar/ECAToken.g
labs/jbosstm/workspace/adinn/orchestration/handler.txt
labs/jbosstm/workspace/adinn/orchestration/src/TestJar.java
labs/jbosstm/workspace/adinn/orchestration/src/TestRule.java
labs/jbosstm/workspace/adinn/orchestration/src/TestScript.java
labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/agent/RuleAdapter.java
labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/Rule.java
labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/expression/ExpressionHelper.java
labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/expression/MethodExpression.java
labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/grammar/ECAGrammarParser.java
labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/grammar/ECATokenLexer.java
labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/type/TypeGroup.java
Log:
allowed throw expression in actions for exceptions in the trigger method throws list or runtime exceptions
Modified: labs/jbosstm/workspace/adinn/orchestration/dd/grammar/ECAGrammar.g
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/dd/grammar/ECAGrammar.g 2008-09-30 13:06:38 UTC (rev 23222)
+++ labs/jbosstm/workspace/adinn/orchestration/dd/grammar/ECAGrammar.g 2008-09-30 13:44:48 UTC (rev 23223)
@@ -93,8 +93,10 @@
| action_expr
;
-action_expr : RETURN -> ^(RETURN)
- | RETURN expr -> ^(RETURN expr)
+action_expr : RETURN -> ^(RETURN)
+ | RETURN expr -> ^(RETURN expr)
+ | THROW e=SYMBOL LPAREN RPAREN -> ^(THROW $e)
+ | THROW e=SYMBOL LPAREN args=expr_list RPAREN -> ^(THROW $e $args)
| expr
;
Modified: labs/jbosstm/workspace/adinn/orchestration/dd/grammar/ECAToken.g
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/dd/grammar/ECAToken.g 2008-09-30 13:06:38 UTC (rev 23222)
+++ labs/jbosstm/workspace/adinn/orchestration/dd/grammar/ECAToken.g 2008-09-30 13:44:48 UTC (rev 23223)
@@ -79,6 +79,9 @@
RETURN : 'RETURN'|'return'
;
+THROW : 'THROW'|'throw'
+ ;
+
// various bracket pairs
LPAREN : '('
Modified: labs/jbosstm/workspace/adinn/orchestration/handler.txt
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/handler.txt 2008-09-30 13:06:38 UTC (rev 23222)
+++ labs/jbosstm/workspace/adinn/orchestration/handler.txt 2008-09-30 13:44:48 UTC (rev 23223)
@@ -178,7 +178,7 @@
LINE 76
BIND coordinator = $0,
uid : Uid = coordinator.identifier(),
- status : int = coordinator.status(),
+ status : int = coordinator.status()
IF (status == com.arjuna.ats.arjuna.coordinator.ActionStatus.PREPARED)
OR
(status == com.arjuna.ats.arjuna.coordinator.ActionStatus.COMMITTING)
Modified: labs/jbosstm/workspace/adinn/orchestration/src/TestJar.java
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/src/TestJar.java 2008-09-30 13:06:38 UTC (rev 23222)
+++ labs/jbosstm/workspace/adinn/orchestration/src/TestJar.java 2008-09-30 13:44:48 UTC (rev 23223)
@@ -112,6 +112,12 @@
}
found = true;
int access = 0;
+ Class<?>[] exceptionClasses = method.getExceptionTypes();
+ int l = exceptionClasses.length;
+ String[] exceptionNames = new String[l];
+ for (int i = 0; i < l; i++) {
+ exceptionNames[i] = exceptionClasses[i].getCanonicalName();
+ }
if ((candidate.getModifiers() & Modifier.STATIC) != 0) {
access = Opcodes.ACC_STATIC;
}
@@ -121,7 +127,7 @@
Rule rule = Rule.create(ruleName, targetClassName, targetMethodName, targetLine, event, condition, action, loader);
System.err.println("TestJar: parsed rule " + ruleName);
System.err.println(rule);
- rule.setTypeInfo(targetClassName, access, candidateName, candidateDesc);
+ rule.setTypeInfo(targetClassName, access, candidateName, candidateDesc, exceptionNames);
rule.typeCheck();
System.err.println("TestJar: type checked rule " + ruleName);
}
@@ -142,6 +148,12 @@
}
found = true;
int access = 0;
+ Class<?>[] exceptionClasses = constructor.getExceptionTypes();
+ int l = exceptionClasses.length;
+ String[] exceptionNames = new String[l];
+ for (int i = 0; i < l; i++) {
+ exceptionNames[i] = exceptionClasses[i].getCanonicalName();
+ }
if ((constructor.getModifiers() & Modifier.STATIC) != 0) {
access = Opcodes.ACC_STATIC;
}
@@ -151,7 +163,7 @@
Rule rule = Rule.create(ruleName, targetClassName, targetMethodName, targetLine, event, condition, action, loader);
System.err.println("TestJar: parsed rule " + ruleName);
System.err.println(rule);
- rule.setTypeInfo(targetClassName, access, candidateName, candidateDesc);
+ rule.setTypeInfo(targetClassName, access, candidateName, candidateDesc, exceptionNames);
rule.typeCheck();
System.err.println("TestJar: type checked rule " + ruleName);
}
Modified: labs/jbosstm/workspace/adinn/orchestration/src/TestRule.java
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/src/TestRule.java 2008-09-30 13:06:38 UTC (rev 23222)
+++ labs/jbosstm/workspace/adinn/orchestration/src/TestRule.java 2008-09-30 13:44:48 UTC (rev 23223)
@@ -162,10 +162,16 @@
try {
int modifiers = method.getModifiers();
int access = 0;
+ Class<?>[] exceptionClasses = method.getExceptionTypes();
+ int l = exceptionClasses.length;
+ String[] exceptionNames = new String[l];
+ for (int i = 0; i < l; i++) {
+ exceptionNames[i] = exceptionClasses[i].getCanonicalName();
+ }
if ((modifiers & Modifier.STATIC) != 0) {
access |= Opcodes.ACC_STATIC;
}
- rule.setTypeInfo(className, access, methodName, descriptor);
+ rule.setTypeInfo(className, access, methodName, descriptor, exceptionNames);
rule.typeCheck();
} catch (TypeException te) {
System.out.println("error typechecking against " + className + "." + methodName + " : " + te);
Modified: labs/jbosstm/workspace/adinn/orchestration/src/TestScript.java
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/src/TestScript.java 2008-09-30 13:06:38 UTC (rev 23222)
+++ labs/jbosstm/workspace/adinn/orchestration/src/TestScript.java 2008-09-30 13:44:48 UTC (rev 23223)
@@ -164,10 +164,16 @@
}
found = true;
int access = 0;
+ Class<?>[] exceptionClasses = candidate.getExceptionTypes();
+ int l = exceptionClasses.length;
+ String[] exceptionNames = new String[l];
+ for (int i = 0; i < l; i++) {
+ exceptionNames[i] = exceptionClasses[i].getCanonicalName();
+ }
if ((candidate.getModifiers() & Modifier.STATIC) != 0) {
access = Opcodes.ACC_STATIC;
}
- rule.setTypeInfo(targetClassName, access, candidateName, candidateDesc);
+ rule.setTypeInfo(targetClassName, access, candidateName, candidateDesc, exceptionNames);
rule.typeCheck();
System.err.println("TestJar: type checked rule " + ruleName);
}
@@ -187,10 +193,16 @@
}
found = true;
int access = 0;
+ Class<?>[] exceptionClasses = constructor.getExceptionTypes();
+ int l = exceptionClasses.length;
+ String[] exceptionNames = new String[l];
+ for (int i = 0; i < l; i++) {
+ exceptionNames[i] = exceptionClasses[i].getCanonicalName();
+ }
if ((constructor.getModifiers() & Modifier.STATIC) != 0) {
access = Opcodes.ACC_STATIC;
}
- rule.setTypeInfo(targetClassName, access, candidateName, candidateDesc);
+ rule.setTypeInfo(targetClassName, access, candidateName, candidateDesc, exceptionNames);
rule.typeCheck();
System.err.println("TestJar: type checked rule " + ruleName);
}
Modified: labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/agent/RuleAdapter.java
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/agent/RuleAdapter.java 2008-09-30 13:06:38 UTC (rev 23222)
+++ labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/agent/RuleAdapter.java 2008-09-30 13:44:48 UTC (rev 23223)
@@ -94,7 +94,7 @@
public void visitLineNumber(final int line, final Label start) {
if (!visitedLine && (targetLine < 0 || targetLine == line)) {
- rule.setTypeInfo(targetClass, access, name, descriptor);
+ rule.setTypeInfo(targetClass, access, name, descriptor, exceptions);
String key = rule.getKey();
Type ruleType = Type.getType(TypeHelper.externalizeType("org.jboss.jbossts.orchestration.rule.Rule"));
Method method = Method.getMethod("void execute(String, Object, Object[])");
@@ -152,6 +152,8 @@
*/
Type exceptionType = Type.getType(TypeHelper.externalizeType("org.jboss.jbossts.orchestration.rule.exception.ExecuteException"));
Type earlyReturnExceptionType = Type.getType(TypeHelper.externalizeType("org.jboss.jbossts.orchestration.rule.exception.EarlyReturnException"));
+ Type throwExceptionType = Type.getType(TypeHelper.externalizeType("org.jboss.jbossts.orchestration.rule.exception.ThrowException"));
+ Type throwableType = Type.getType(TypeHelper.externalizeType("java.lang.Throwable"));
Type returnType = Type.getReturnType(descriptor);
// add exception handling code subclass first
super.catchException(startLabel, endLabel, earlyReturnExceptionType);
@@ -166,6 +168,12 @@
super.unbox(returnType);
super.returnValue();
}
+ super.catchException(startLabel, endLabel, throwExceptionType);
+ // fetch value from exception, unbox if needed and return value
+ Method getThrowableMethod = Method.getMethod("Throwable getThrowable()");
+ super.invokeVirtual(throwExceptionType, getThrowableMethod);
+ super.throwException();
+
super.catchException(startLabel, endLabel, exceptionType);
super.throwException(exceptionType, rule.getName() + " execution exception ");
// ok now recompute the stack size
Modified: labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/Rule.java
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/Rule.java 2008-09-30 13:06:38 UTC (rev 23222)
+++ labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/Rule.java 2008-09-30 13:44:48 UTC (rev 23223)
@@ -90,6 +90,11 @@
*/
private String triggerDescriptor;
/**
+ * the name sof all the exceptions declared by the trigger method in which a trigger call for
+ * this rule has been inserted by the code transformation package.
+ */
+ private String[] triggerExceptions;
+ /**
* the access mode for the target method defined using flag bits defined in the asm Opcodes
* class.
*/
@@ -300,12 +305,13 @@
}
}
- public void setTypeInfo(final String className, final int access, final String methodName, final String desc)
+ public void setTypeInfo(final String className, final int access, final String methodName, final String desc, String[] exceptions)
{
triggerClass = className;
triggerAccess = access;
triggerMethod = methodName;
triggerDescriptor = desc;
+ triggerExceptions = exceptions;
}
private synchronized boolean ensureTypeCheckedCompiled()
@@ -333,6 +339,9 @@
public void typeCheck()
throws TypeException
{
+ // ensure that the type group includes the exception types
+ typeGroup.addExceptionTypes(triggerExceptions);
+
// try to resolve all types in the type group to classes
typeGroup.resolveTypes();
Added: labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/exception/ThrowException.java
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/exception/ThrowException.java (rev 0)
+++ labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/exception/ThrowException.java 2008-09-30 13:44:48 UTC (rev 23223)
@@ -0,0 +1,23 @@
+package org.jboss.jbossts.orchestration.rule.exception;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: adinn
+ * Date: 30-Sep-2008
+ * Time: 13:37:55
+ * To change this template use File | Settings | File Templates.
+ */
+public class ThrowException extends ExecuteException
+{
+ private Throwable throwable;
+
+ public ThrowException(Throwable throwable) {
+ super("wrapper for exception created in throw expression", throwable);
+ this.throwable = throwable;
+ }
+
+ public Throwable getThrowable()
+ {
+ return throwable;
+ }
+}
Modified: labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/expression/ExpressionHelper.java
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/expression/ExpressionHelper.java 2008-09-30 13:06:38 UTC (rev 23222)
+++ labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/expression/ExpressionHelper.java 2008-09-30 13:44:48 UTC (rev 23223)
@@ -35,6 +35,8 @@
// (ARRAY SYMBOL idx_list)
// (METH SYMBOL)
// (METH SYMBOL expr_list)
+ // (THROW SYMBOL)
+ // (THROW SYMBOL expr_list)
// (NUMBER)
// (STRING)
// (RETURN)
@@ -153,6 +155,23 @@
}
}
break;
+ case THROW:
+ {
+ CommonTree child0 = (CommonTree) exprTree.getChild(0);
+ CommonTree child1;
+ if (exprTree.getChildCount() > 1) {
+ child1 = (CommonTree) exprTree.getChild(1);
+ } else {
+ child1 = null;
+ }
+ token = child0.getToken();
+ if (token.getType() != SYMBOL) {
+ throw new TypeException("ExpressionHelper.createExpression : unexpected token Type in throw expression tree " + tokenType + " for token " + token.getText() + " @ " + token.getLine() + "." + token.getCharPositionInLine());
+ } else {
+ expr = createThrowExpression(bindings, token, child1, type);
+ }
+ }
+ break;
case NUMBER:
{
expr = new NumericLiteral(token);
@@ -280,6 +299,26 @@
return expr;
}
+ public static Expression createThrowExpression(Bindings bindings, Token token, CommonTree argTree, Type type)
+ throws TypeException
+ {
+ Expression expr;
+ String className;
+ List<Expression> args;
+
+ String typeName = token.getText();
+
+ if (argTree == null) {
+ args = new ArrayList<Expression>();
+ } else {
+ args = createExpressionList(bindings, argTree);
+ }
+
+ expr = new ThrowExpression(typeName, token, args);
+
+ return expr;
+ }
+
public static Expression createUnaryExpression(Bindings bindings, CommonTree exprTree, Type type)
throws TypeException
{
Modified: labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/expression/MethodExpression.java
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/expression/MethodExpression.java 2008-09-30 13:06:38 UTC (rev 23222)
+++ labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/expression/MethodExpression.java 2008-09-30 13:44:48 UTC (rev 23223)
@@ -122,7 +122,7 @@
type = typegroup.ensureType(method.getReturnType());
if (Type.dereference(expected).isDefined() && !expected.isAssignableFrom(type)) {
- throw new TypeException("FieldExpresssion.typeCheck : invalid expected type " + expected.getName() + getPos());
+ throw new TypeException("MethodExpression.typeCheck : invalid expected type " + expected.getName() + getPos());
}
return type;
Added: labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/expression/ThrowExpression.java
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/expression/ThrowExpression.java (rev 0)
+++ labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/expression/ThrowExpression.java 2008-09-30 13:44:48 UTC (rev 23223)
@@ -0,0 +1,234 @@
+package org.jboss.jbossts.orchestration.rule.expression;
+
+import org.jboss.jbossts.orchestration.rule.binding.Bindings;
+import org.jboss.jbossts.orchestration.rule.type.Type;
+import org.jboss.jbossts.orchestration.rule.type.TypeGroup;
+import org.jboss.jbossts.orchestration.rule.exception.TypeException;
+import org.jboss.jbossts.orchestration.rule.exception.ExecuteException;
+import org.jboss.jbossts.orchestration.rule.exception.ThrowException;
+import org.jboss.jbossts.orchestration.rule.Rule;
+import org.antlr.runtime.Token;
+
+import java.io.StringWriter;
+import java.util.List;
+import java.util.Iterator;
+import java.util.ArrayList;
+import java.util.ListIterator;
+import java.lang.reflect.Method;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: adinn
+ * Date: 30-Sep-2008
+ * Time: 11:12:41
+ * To change this template use File | Settings | File Templates.
+ */
+public class ThrowExpression extends Expression
+{
+ private String typeName;
+ private List<Expression> arguments;
+ private List<Type> argumentTypes;
+ private Constructor constructor;
+
+ public ThrowExpression(String typeName, Token token, List<Expression> arguments) {
+ super(Type.UNDEFINED, token);
+ this.typeName = typeName;
+ this.arguments = arguments;
+ this.argumentTypes = null;
+ this.constructor = null;
+ }
+ /**
+ * verify that variables mentioned in this expression are actually available in the supplied
+ * bindings list and infer/validate the type of this expression or its subexpressions
+ * where possible
+ *
+ * @param bindings the set of bindings in place at the point of evaluation of this expression
+ * @return true if all variables in this expression are bound and no type mismatches have
+ * been detected during inference/validation.
+ */
+ public boolean bind(Bindings bindings) {
+ // check that the recipient and argument expressions have valid bindings
+
+ boolean valid = true;
+ Iterator<Expression> iterator = arguments.iterator();
+
+ while (valid && iterator.hasNext()) {
+ valid &= iterator.next().bind(bindings);
+ }
+
+ return valid;
+ }
+
+ /**
+ * ensure that all type references in the expression and its component expressions
+ * can be resolved, that the type of the expression is well-defined and that it is
+ * compatible with the type expected in the context in which it occurs.
+ *
+ * @param bindings the bound variable in scope at the point where the expression is
+ * to be evaluate
+ * @param typegroup the set of types employed by the rule
+ * @param expected the type expected for the expression in the contxt in which it occurs. this
+ * may be void but shoudl not be undefined at the point where type checking is performed.
+ * @return
+ * @throws org.jboss.jbossts.orchestration.rule.exception.TypeException
+ *
+ */
+ public Type typeCheck(Bindings bindings, TypeGroup typegroup, Type expected) throws TypeException {
+ // check the exception type is defined and then look for a relevant constructor
+
+ type = Type.dereference(typegroup.create(typeName));
+
+ if (type.isUndefined()) {
+ throw new TypeException("ThrowExpression.typeCheck : unknown exception type " + typeName + getPos());
+ }
+
+ if (!Throwable.class.isAssignableFrom(type.getTargetClass())) {
+ throw new TypeException("ThrowExpression.typeCheck : not an exception type " + typeName + getPos());
+ }
+
+ Class clazz = type.getTargetClass();
+ // if we can find a unique method then we can use it to type the parameters
+ // otherwise we do it the hard way
+ int arity = arguments.size();
+ Constructor[] constructors = clazz.getConstructors();
+ List<Constructor> candidates = new ArrayList<Constructor>();
+ boolean duplicates = false;
+
+ for (Constructor constructor : constructors) {
+ if (constructor.getParameterTypes().length == arity) {
+ candidates.add(constructor);
+ }
+ }
+
+ argumentTypes = new ArrayList<Type>();
+
+ // check each argument in turn -- if all candidates have the same argument type then
+ // use that as the type to check against
+ for (int i = 0; i < arguments.size() ; i++) {
+ if (candidates.isEmpty()) {
+ throw new TypeException("ThrowExpression.typeCheck : invalid constructor for target class " + typeName + getPos());
+ }
+
+ // TODO get and prune operations do not allow for coercion but type check does!
+ // e.g. the parameter type may be int and the arg type float
+ // or the parameter type may be String and the arg type class Foo
+ // reimplement this using type inter-assignability to do the pruning
+
+ Class candidateClass = getCandidateArgClass(candidates, i);
+ Type candidateType;
+ if (candidateClass != null) {
+ candidateType = typegroup.ensureType(candidateClass);
+ } else {
+ candidateType = Type.UNDEFINED;
+ }
+ Type argType = arguments.get(i).typeCheck(bindings, typegroup, candidateType);
+ argumentTypes.add(argType);
+ if (candidateType == Type.UNDEFINED) {
+ // we had several constructors to choose from
+ candidates = pruneCandidates(candidates, i, argType.getTargetClass());
+ }
+ }
+
+ if (candidates.isEmpty()) {
+ throw new TypeException("ThrowExpression.typeCheck : invalid method for target class " + typeName + getPos());
+ }
+
+ if (candidates.size() > 1) {
+ throw new TypeException("ThrowExpression.typeCheck : ambiguous method signature for target class " + typeName + getPos());
+ }
+
+ constructor = candidates.get(0);
+
+ // expected type should always be void since throw can only occur as a top level action
+ // however, we need to be sure that the trigering method throws this exception type or
+ // else that it is a subtype of runtime exception
+
+ if (RuntimeException.class.isAssignableFrom(type.getTargetClass())) {
+ return type;
+ } else {
+ Iterator<Type> iterator = typegroup.getExceptionTypes().iterator();
+ while (iterator.hasNext()) {
+ Type exceptionType = iterator.next();
+ if (Type.dereference(exceptionType).isAssignableFrom(type)) {
+ // ok we foudn a suitable declaration for the exception
+ return type;
+ }
+ }
+ // didn't find a suitable type in the method type list
+ throw new TypeException("ThrowExpression.typeCheck : exception type not declared by trigger method " + typeName + getPos());
+ }
+ }
+
+ public Class getCandidateArgClass(List<Constructor> candidates, int argIdx)
+ {
+ Class argClazz = null;
+
+ for (Constructor c : candidates) {
+ Class nextClazz = c.getParameterTypes()[argIdx];
+ if (argClazz == null) {
+ argClazz = nextClazz;
+ } else if (argClazz != nextClazz) {
+ return null;
+ }
+ }
+
+ return argClazz;
+ }
+
+ public List<Constructor> pruneCandidates(List<Constructor> candidates, int argIdx, Class argClazz)
+ {
+ for (int i = 0; i < candidates.size();) {
+ Constructor c = candidates.get(i);
+ Class nextClazz = c.getParameterTypes()[argIdx];
+ if (nextClazz != argClazz) {
+ candidates.remove(i);
+ } else {
+ i++;
+ }
+ }
+ return candidates;
+ }
+
+ /**
+ * evaluate the expression by interpreting the expression tree
+ *
+ * @param helper an execution context associated with the rule whcih contains a map of
+ * current bindings for rule variables and another map of their declared types both of which
+ * are indexed by varoable name. This includes entries for the helper (name "-1"), the
+ * recipient if the trigger method is not static (name "0") and the trigger method arguments
+ * (names "1", ...)
+ * @return the result of evaluation as an Object
+ * @throws org.jboss.jbossts.orchestration.rule.exception.ExecuteException
+ *
+ */
+ public Object interpret(Rule.BasicHelper helper) throws ExecuteException {
+ int l = arguments.size();
+ int i;
+ Object[] callArgs = new Object[l];
+ for (i =0; i < l; i++) {
+ callArgs[i] = arguments.get(i).interpret(helper);
+ }
+ try {
+ Throwable th = (Throwable) constructor.newInstance(callArgs);
+ ThrowException thex = new ThrowException(th);
+ throw thex;
+ } catch (InstantiationException e) {
+ throw new ExecuteException("ThrowExpression.interpret : unable to instantiate exception class " + typeName + getPos(), e);
+ } catch (IllegalAccessException e) {
+ throw new ExecuteException("ThrowExpression.interpret : unable to access exception class " + typeName + getPos(), e);
+ } catch (InvocationTargetException e) {
+ throw new ExecuteException("ThrowExpression.interpret : unable to invoke exception class constructor for " + typeName + getPos(), e);
+ }
+ }
+
+ public void writeTo(StringWriter stringWriter) {
+ stringWriter.write("throw " + type.getName() + "(");
+ for (Expression argument : arguments) {
+ argument.writeTo(stringWriter);
+ }
+ stringWriter.write(")");
+
+ }
+}
Modified: labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/grammar/ECAGrammarParser.java
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/grammar/ECAGrammarParser.java 2008-09-30 13:06:38 UTC (rev 23222)
+++ labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/grammar/ECAGrammarParser.java 2008-09-30 13:44:48 UTC (rev 23223)
@@ -1,4 +1,4 @@
-// $ANTLR 3.0.1 dd/grammar/ECAGrammar.g 2008-09-25 12:22:36
+// $ANTLR 3.0.1 dd/grammar/ECAGrammar.g 2008-09-30 13:45:25
package org.jboss.jbossts.orchestration.rule.grammar;
@@ -14,86 +14,87 @@
public class ECAGrammarParser extends Parser {
public static final String[] tokenNames = new String[] {
- "<invalid>", "<EOR>", "<DOWN>", "<UP>", "DIGIT", "POSDIGIT", "SIGN", "BAREINT", "INTEGER", "POINT", "EXPPART", "FLOAT", "NUMBER", "BIND", "IF", "DO", "RULE", "CLASS", "METHOD", "LINE", "ENDRULE", "NOTHING", "TRUE", "FALSE", "RETURN", "LPAREN", "RPAREN", "LSQUARE", "RSQUARE", "LBRACE", "RBRACE", "SEPR", "DOT", "ASSIGN", "OR", "AND", "NOT", "EQ", "NEQ", "GT", "LT", "GEQ", "LEQ", "BOR", "BAND", "BXOR", "TWIDDLE", "MUL", "DIV", "PLUS", "MINUS", "MOD", "TERN_IF", "COLON", "LETTER", "UNDERSCORE", "QUOTE", "DQUOTE", "SPACE", "NEWLINE", "PUNCT", "STRING", "BARESYM", "QUOTSYM", "DOTSYM", "SYMBOL", "DOLLAR", "DOLLARSYM", "WS", "Tokens", "UNOP", "BINOP", "TERNOP", "METH", "ARRAY", "NUM_LIT", "STRING_LIT"
+ "<invalid>", "<EOR>", "<DOWN>", "<UP>", "DIGIT", "POSDIGIT", "SIGN", "BAREINT", "INTEGER", "POINT", "EXPPART", "FLOAT", "NUMBER", "BIND", "IF", "DO", "RULE", "CLASS", "METHOD", "LINE", "ENDRULE", "NOTHING", "TRUE", "FALSE", "RETURN", "THROW", "LPAREN", "RPAREN", "LSQUARE", "RSQUARE", "LBRACE", "RBRACE", "SEPR", "DOT", "ASSIGN", "OR", "AND", "NOT", "EQ", "NEQ", "GT", "LT", "GEQ", "LEQ", "BOR", "BAND", "BXOR", "TWIDDLE", "MUL", "DIV", "PLUS", "MINUS", "MOD", "TERN_IF", "COLON", "LETTER", "UNDERSCORE", "QUOTE", "DQUOTE", "SPACE", "NEWLINE", "PUNCT", "STRING", "BARESYM", "QUOTSYM", "DOTSYM", "SYMBOL", "DOLLAR", "DOLLARSYM", "WS", "Tokens", "UNOP", "BINOP", "TERNOP", "METH", "ARRAY", "NUM_LIT", "STRING_LIT"
};
- public static final int MINUS=50;
- public static final int ARRAY=74;
+ public static final int MINUS=51;
+ public static final int ARRAY=75;
public static final int NUMBER=12;
public static final int FALSE=23;
public static final int METHOD=18;
public static final int FLOAT=11;
public static final int POSDIGIT=5;
- public static final int LEQ=42;
- public static final int TWIDDLE=46;
+ public static final int LEQ=43;
+ public static final int TWIDDLE=47;
public static final int RULE=16;
- public static final int MOD=51;
- public static final int GEQ=41;
- public static final int DQUOTE=57;
- public static final int BOR=43;
- public static final int OR=34;
- public static final int STRING_LIT=76;
+ public static final int MOD=52;
+ public static final int GEQ=42;
+ public static final int DQUOTE=58;
+ public static final int OR=35;
+ public static final int BOR=44;
+ public static final int STRING_LIT=77;
public static final int BAREINT=7;
- public static final int LBRACE=29;
- public static final int NEWLINE=59;
- public static final int DOT=32;
- public static final int RBRACE=30;
+ public static final int LBRACE=30;
+ public static final int NEWLINE=60;
+ public static final int DOT=33;
+ public static final int RBRACE=31;
public static final int INTEGER=8;
- public static final int AND=35;
- public static final int NUM_LIT=75;
- public static final int ASSIGN=33;
- public static final int SYMBOL=65;
- public static final int RPAREN=26;
+ public static final int AND=36;
+ public static final int NUM_LIT=76;
+ public static final int ASSIGN=34;
+ public static final int SYMBOL=66;
+ public static final int RPAREN=27;
public static final int SIGN=6;
- public static final int LPAREN=25;
- public static final int METH=73;
- public static final int PLUS=49;
+ public static final int LPAREN=26;
+ public static final int METH=74;
+ public static final int PLUS=50;
public static final int DIGIT=4;
public static final int LINE=19;
- public static final int BINOP=71;
- public static final int BAND=44;
- public static final int NEQ=38;
- public static final int TERNOP=72;
- public static final int SPACE=58;
- public static final int LETTER=54;
- public static final int LSQUARE=27;
+ public static final int BINOP=72;
+ public static final int BAND=45;
+ public static final int NEQ=39;
+ public static final int TERNOP=73;
+ public static final int SPACE=59;
+ public static final int LETTER=55;
+ public static final int LSQUARE=28;
public static final int DO=15;
public static final int POINT=9;
- public static final int BARESYM=62;
+ public static final int BARESYM=63;
public static final int NOTHING=21;
- public static final int SEPR=31;
- public static final int WS=68;
- public static final int EQ=37;
- public static final int STRING=61;
- public static final int QUOTSYM=63;
- public static final int LT=40;
- public static final int GT=39;
- public static final int DOLLAR=66;
- public static final int RSQUARE=28;
- public static final int TERN_IF=52;
- public static final int QUOTE=56;
- public static final int UNOP=70;
+ public static final int SEPR=32;
+ public static final int WS=69;
+ public static final int EQ=38;
+ public static final int STRING=62;
+ public static final int QUOTSYM=64;
+ public static final int LT=41;
+ public static final int GT=40;
+ public static final int DOLLAR=67;
+ public static final int RSQUARE=29;
+ public static final int TERN_IF=53;
+ public static final int QUOTE=57;
+ public static final int UNOP=71;
public static final int CLASS=17;
- public static final int MUL=47;
+ public static final int MUL=48;
public static final int EXPPART=10;
- public static final int PUNCT=60;
+ public static final int PUNCT=61;
public static final int RETURN=24;
public static final int IF=14;
public static final int EOF=-1;
- public static final int Tokens=69;
- public static final int COLON=53;
- public static final int DIV=48;
- public static final int DOTSYM=64;
- public static final int BXOR=45;
+ public static final int Tokens=70;
+ public static final int COLON=54;
+ public static final int DIV=49;
+ public static final int DOTSYM=65;
+ public static final int BXOR=46;
public static final int ENDRULE=20;
public static final int BIND=13;
- public static final int NOT=36;
+ public static final int NOT=37;
public static final int TRUE=22;
- public static final int UNDERSCORE=55;
- public static final int DOLLARSYM=67;
+ public static final int THROW=25;
+ public static final int UNDERSCORE=56;
+ public static final int DOLLARSYM=68;
public ECAGrammarParser(TokenStream input) {
super(input);
- ruleMemo = new HashMap[61+1];
+ ruleMemo = new HashMap[63+1];
}
protected TreeAdaptor adaptor = new CommonTreeAdaptor();
@@ -314,7 +315,7 @@
// AST REWRITE
- // elements: RULE, c, e, a, l, n, cl, m
+ // elements: m, cl, a, n, c, e, RULE, l
// token labels: cl, m, n, l
// rule labels: a, c, retval, e
// token list labels:
@@ -749,7 +750,7 @@
if ( backtracking==0 ) stream_action.add(a.getTree());
// AST REWRITE
- // elements: e, BIND, a, c
+ // elements: BIND, c, a, e
// token labels:
// rule labels: a, c, retval, e
// token list labels:
@@ -921,7 +922,7 @@
if ( backtracking==0 ) stream_bindings.add(bindings24.getTree());
// AST REWRITE
- // elements: SEPR, bindings, binding
+ // elements: binding, bindings, SEPR
// token labels:
// rule labels: retval
// token list labels:
@@ -1025,7 +1026,7 @@
if ( backtracking==0 ) stream_expr.add(expr28.getTree());
// AST REWRITE
- // elements: ASSIGN, expr, bind_sym
+ // elements: expr, ASSIGN, bind_sym
// token labels:
// rule labels: retval
// token list labels:
@@ -1143,7 +1144,7 @@
// AST REWRITE
- // elements: v, COLON, t
+ // elements: t, COLON, v
// token labels: t, v
// rule labels: retval
// token list labels:
@@ -1520,7 +1521,7 @@
}
}
break;
- case DOLLARSYM:
+ case THROW:
{
int LA5_2 = input.LA(2);
@@ -1539,7 +1540,7 @@
}
}
break;
- case SYMBOL:
+ case DOLLARSYM:
{
int LA5_3 = input.LA(2);
@@ -1558,7 +1559,7 @@
}
}
break;
- case NUMBER:
+ case SYMBOL:
{
int LA5_4 = input.LA(2);
@@ -1577,7 +1578,7 @@
}
}
break;
- case STRING:
+ case NUMBER:
{
int LA5_5 = input.LA(2);
@@ -1596,7 +1597,7 @@
}
}
break;
- case LPAREN:
+ case STRING:
{
int LA5_6 = input.LA(2);
@@ -1615,8 +1616,7 @@
}
}
break;
- case NOT:
- case TWIDDLE:
+ case LPAREN:
{
int LA5_7 = input.LA(2);
@@ -1635,6 +1635,26 @@
}
}
break;
+ case NOT:
+ case TWIDDLE:
+ {
+ int LA5_8 = input.LA(2);
+
+ if ( (synpred6()) ) {
+ alt5=1;
+ }
+ else if ( (true) ) {
+ alt5=2;
+ }
+ else {
+ if (backtracking>0) {failed=true; return retval;}
+ NoViableAltException nvae =
+ new NoViableAltException("91:1: action_expr_list : ( action_expr SEPR action_expr_list -> ^( SEPR action_expr action_expr_list ) | action_expr );", 5, 8, input);
+
+ throw nvae;
+ }
+ }
+ break;
default:
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
@@ -1663,7 +1683,7 @@
if ( backtracking==0 ) stream_action_expr_list.add(action_expr_list38.getTree());
// AST REWRITE
- // elements: action_expr_list, SEPR, action_expr
+ // elements: action_expr, SEPR, action_expr_list
// token labels:
// rule labels: retval
// token list labels:
@@ -1730,30 +1750,51 @@
};
// $ANTLR start action_expr
- // dd/grammar/ECAGrammar.g:96:1: action_expr : ( RETURN -> ^( RETURN ) | RETURN expr -> ^( RETURN expr ) | expr );
+ // dd/grammar/ECAGrammar.g:96:1: action_expr : ( RETURN -> ^( RETURN ) | RETURN expr -> ^( RETURN expr ) | THROW e= SYMBOL LPAREN RPAREN -> ^( THROW $e) | THROW e= SYMBOL LPAREN args= expr_list RPAREN -> ^( THROW $e $args) | expr );
public final action_expr_return action_expr() throws RecognitionException {
action_expr_return retval = new action_expr_return();
retval.start = input.LT(1);
Object root_0 = null;
+ Token e=null;
Token RETURN40=null;
Token RETURN41=null;
+ Token THROW43=null;
+ Token LPAREN44=null;
+ Token RPAREN45=null;
+ Token THROW46=null;
+ Token LPAREN47=null;
+ Token RPAREN48=null;
+ expr_list_return args = null;
+
expr_return expr42 = null;
- expr_return expr43 = null;
+ expr_return expr49 = null;
+ Object e_tree=null;
Object RETURN40_tree=null;
Object RETURN41_tree=null;
+ Object THROW43_tree=null;
+ Object LPAREN44_tree=null;
+ Object RPAREN45_tree=null;
+ Object THROW46_tree=null;
+ Object LPAREN47_tree=null;
+ Object RPAREN48_tree=null;
+ RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN");
+ RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN");
RewriteRuleTokenStream stream_RETURN=new RewriteRuleTokenStream(adaptor,"token RETURN");
+ RewriteRuleTokenStream stream_THROW=new RewriteRuleTokenStream(adaptor,"token THROW");
+ RewriteRuleTokenStream stream_SYMBOL=new RewriteRuleTokenStream(adaptor,"token SYMBOL");
+ RewriteRuleSubtreeStream stream_expr_list=new RewriteRuleSubtreeStream(adaptor,"rule expr_list");
RewriteRuleSubtreeStream stream_expr=new RewriteRuleSubtreeStream(adaptor,"rule expr");
try {
- // dd/grammar/ECAGrammar.g:96:13: ( RETURN -> ^( RETURN ) | RETURN expr -> ^( RETURN expr ) | expr )
- int alt6=3;
- int LA6_0 = input.LA(1);
-
- if ( (LA6_0==RETURN) ) {
+ // dd/grammar/ECAGrammar.g:96:13: ( RETURN -> ^( RETURN ) | RETURN expr -> ^( RETURN expr ) | THROW e= SYMBOL LPAREN RPAREN -> ^( THROW $e) | THROW e= SYMBOL LPAREN args= expr_list RPAREN -> ^( THROW $e $args) | expr )
+ int alt6=5;
+ switch ( input.LA(1) ) {
+ case RETURN:
+ {
int LA6_1 = input.LA(2);
if ( (LA6_1==NUMBER||LA6_1==LPAREN||LA6_1==NOT||LA6_1==TWIDDLE||LA6_1==STRING||LA6_1==SYMBOL||LA6_1==DOLLARSYM) ) {
@@ -1765,21 +1806,72 @@
else {
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("96:1: action_expr : ( RETURN -> ^( RETURN ) | RETURN expr -> ^( RETURN expr ) | expr );", 6, 1, input);
+ new NoViableAltException("96:1: action_expr : ( RETURN -> ^( RETURN ) | RETURN expr -> ^( RETURN expr ) | THROW e= SYMBOL LPAREN RPAREN -> ^( THROW $e) | THROW e= SYMBOL LPAREN args= expr_list RPAREN -> ^( THROW $e $args) | expr );", 6, 1, input);
throw nvae;
}
- }
- else if ( (LA6_0==NUMBER||LA6_0==LPAREN||LA6_0==NOT||LA6_0==TWIDDLE||LA6_0==STRING||LA6_0==SYMBOL||LA6_0==DOLLARSYM) ) {
- alt6=3;
- }
- else {
+ }
+ break;
+ case THROW:
+ {
+ int LA6_2 = input.LA(2);
+
+ if ( (LA6_2==SYMBOL) ) {
+ int LA6_6 = input.LA(3);
+
+ if ( (LA6_6==LPAREN) ) {
+ int LA6_7 = input.LA(4);
+
+ if ( (LA6_7==RPAREN) ) {
+ alt6=3;
+ }
+ else if ( (LA6_7==NUMBER||LA6_7==LPAREN||LA6_7==NOT||LA6_7==TWIDDLE||LA6_7==STRING||LA6_7==SYMBOL||LA6_7==DOLLARSYM) ) {
+ alt6=4;
+ }
+ else {
+ if (backtracking>0) {failed=true; return retval;}
+ NoViableAltException nvae =
+ new NoViableAltException("96:1: action_expr : ( RETURN -> ^( RETURN ) | RETURN expr -> ^( RETURN expr ) | THROW e= SYMBOL LPAREN RPAREN -> ^( THROW $e) | THROW e= SYMBOL LPAREN args= expr_list RPAREN -> ^( THROW $e $args) | expr );", 6, 7, input);
+
+ throw nvae;
+ }
+ }
+ else {
+ if (backtracking>0) {failed=true; return retval;}
+ NoViableAltException nvae =
+ new NoViableAltException("96:1: action_expr : ( RETURN -> ^( RETURN ) | RETURN expr -> ^( RETURN expr ) | THROW e= SYMBOL LPAREN RPAREN -> ^( THROW $e) | THROW e= SYMBOL LPAREN args= expr_list RPAREN -> ^( THROW $e $args) | expr );", 6, 6, input);
+
+ throw nvae;
+ }
+ }
+ else {
+ if (backtracking>0) {failed=true; return retval;}
+ NoViableAltException nvae =
+ new NoViableAltException("96:1: action_expr : ( RETURN -> ^( RETURN ) | RETURN expr -> ^( RETURN expr ) | THROW e= SYMBOL LPAREN RPAREN -> ^( THROW $e) | THROW e= SYMBOL LPAREN args= expr_list RPAREN -> ^( THROW $e $args) | expr );", 6, 2, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ case NUMBER:
+ case LPAREN:
+ case NOT:
+ case TWIDDLE:
+ case STRING:
+ case SYMBOL:
+ case DOLLARSYM:
+ {
+ alt6=5;
+ }
+ break;
+ default:
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("96:1: action_expr : ( RETURN -> ^( RETURN ) | RETURN expr -> ^( RETURN expr ) | expr );", 6, 0, input);
+ new NoViableAltException("96:1: action_expr : ( RETURN -> ^( RETURN ) | RETURN expr -> ^( RETURN expr ) | THROW e= SYMBOL LPAREN RPAREN -> ^( THROW $e) | THROW e= SYMBOL LPAREN args= expr_list RPAREN -> ^( THROW $e $args) | expr );", 6, 0, input);
throw nvae;
}
+
switch (alt6) {
case 1 :
// dd/grammar/ECAGrammar.g:96:15: RETURN
@@ -1800,9 +1892,9 @@
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 96:23: -> ^( RETURN )
+ // 96:25: -> ^( RETURN )
{
- // dd/grammar/ECAGrammar.g:96:26: ^( RETURN )
+ // dd/grammar/ECAGrammar.g:96:28: ^( RETURN )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(stream_RETURN.next(), root_1);
@@ -1820,17 +1912,17 @@
// dd/grammar/ECAGrammar.g:97:4: RETURN expr
{
RETURN41=(Token)input.LT(1);
- match(input,RETURN,FOLLOW_RETURN_in_action_expr528); if (failed) return retval;
+ match(input,RETURN,FOLLOW_RETURN_in_action_expr530); if (failed) return retval;
if ( backtracking==0 ) stream_RETURN.add(RETURN41);
- pushFollow(FOLLOW_expr_in_action_expr530);
+ pushFollow(FOLLOW_expr_in_action_expr532);
expr42=expr();
_fsp--;
if (failed) return retval;
if ( backtracking==0 ) stream_expr.add(expr42.getTree());
// AST REWRITE
- // elements: expr, RETURN
+ // elements: RETURN, expr
// token labels:
// rule labels: retval
// token list labels:
@@ -1840,9 +1932,9 @@
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 97:17: -> ^( RETURN expr )
+ // 97:19: -> ^( RETURN expr )
{
- // dd/grammar/ECAGrammar.g:97:20: ^( RETURN expr )
+ // dd/grammar/ECAGrammar.g:97:22: ^( RETURN expr )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(stream_RETURN.next(), root_1);
@@ -1859,19 +1951,126 @@
}
break;
case 3 :
- // dd/grammar/ECAGrammar.g:98:4: expr
+ // dd/grammar/ECAGrammar.g:98:4: THROW e= SYMBOL LPAREN RPAREN
{
+ THROW43=(Token)input.LT(1);
+ match(input,THROW,FOLLOW_THROW_in_action_expr548); if (failed) return retval;
+ if ( backtracking==0 ) stream_THROW.add(THROW43);
+
+ e=(Token)input.LT(1);
+ match(input,SYMBOL,FOLLOW_SYMBOL_in_action_expr552); if (failed) return retval;
+ if ( backtracking==0 ) stream_SYMBOL.add(e);
+
+ LPAREN44=(Token)input.LT(1);
+ match(input,LPAREN,FOLLOW_LPAREN_in_action_expr554); if (failed) return retval;
+ if ( backtracking==0 ) stream_LPAREN.add(LPAREN44);
+
+ RPAREN45=(Token)input.LT(1);
+ match(input,RPAREN,FOLLOW_RPAREN_in_action_expr556); if (failed) return retval;
+ if ( backtracking==0 ) stream_RPAREN.add(RPAREN45);
+
+
+ // AST REWRITE
+ // elements: THROW, e
+ // token labels: e
+ // rule labels: retval
+ // token list labels:
+ // rule list labels:
+ if ( backtracking==0 ) {
+ retval.tree = root_0;
+ RewriteRuleTokenStream stream_e=new RewriteRuleTokenStream(adaptor,"token e",e);
+ RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
+
root_0 = (Object)adaptor.nil();
+ // 98:34: -> ^( THROW $e)
+ {
+ // dd/grammar/ECAGrammar.g:98:37: ^( THROW $e)
+ {
+ Object root_1 = (Object)adaptor.nil();
+ root_1 = (Object)adaptor.becomeRoot(stream_THROW.next(), root_1);
- pushFollow(FOLLOW_expr_in_action_expr544);
- expr43=expr();
+ adaptor.addChild(root_1, stream_e.next());
+
+ adaptor.addChild(root_0, root_1);
+ }
+
+ }
+
+ }
+
+ }
+ break;
+ case 4 :
+ // dd/grammar/ECAGrammar.g:99:4: THROW e= SYMBOL LPAREN args= expr_list RPAREN
+ {
+ THROW46=(Token)input.LT(1);
+ match(input,THROW,FOLLOW_THROW_in_action_expr571); if (failed) return retval;
+ if ( backtracking==0 ) stream_THROW.add(THROW46);
+
+ e=(Token)input.LT(1);
+ match(input,SYMBOL,FOLLOW_SYMBOL_in_action_expr575); if (failed) return retval;
+ if ( backtracking==0 ) stream_SYMBOL.add(e);
+
+ LPAREN47=(Token)input.LT(1);
+ match(input,LPAREN,FOLLOW_LPAREN_in_action_expr577); if (failed) return retval;
+ if ( backtracking==0 ) stream_LPAREN.add(LPAREN47);
+
+ pushFollow(FOLLOW_expr_list_in_action_expr581);
+ args=expr_list();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) adaptor.addChild(root_0, expr43.getTree());
+ if ( backtracking==0 ) stream_expr_list.add(args.getTree());
+ RPAREN48=(Token)input.LT(1);
+ match(input,RPAREN,FOLLOW_RPAREN_in_action_expr583); if (failed) return retval;
+ if ( backtracking==0 ) stream_RPAREN.add(RPAREN48);
+
+ // AST REWRITE
+ // elements: args, THROW, e
+ // token labels: e
+ // rule labels: args, retval
+ // token list labels:
+ // rule list labels:
+ if ( backtracking==0 ) {
+ retval.tree = root_0;
+ RewriteRuleTokenStream stream_e=new RewriteRuleTokenStream(adaptor,"token e",e);
+ RewriteRuleSubtreeStream stream_args=new RewriteRuleSubtreeStream(adaptor,"token args",args!=null?args.tree:null);
+ RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
+
+ root_0 = (Object)adaptor.nil();
+ // 99:48: -> ^( THROW $e $args)
+ {
+ // dd/grammar/ECAGrammar.g:99:51: ^( THROW $e $args)
+ {
+ Object root_1 = (Object)adaptor.nil();
+ root_1 = (Object)adaptor.becomeRoot(stream_THROW.next(), root_1);
+
+ adaptor.addChild(root_1, stream_e.next());
+ adaptor.addChild(root_1, stream_args.next());
+
+ adaptor.addChild(root_0, root_1);
+ }
+
}
+
+ }
+
+ }
break;
+ case 5 :
+ // dd/grammar/ECAGrammar.g:100:4: expr
+ {
+ root_0 = (Object)adaptor.nil();
+ pushFollow(FOLLOW_expr_in_action_expr600);
+ expr49=expr();
+ _fsp--;
+ if (failed) return retval;
+ if ( backtracking==0 ) adaptor.addChild(root_0, expr49.getTree());
+
+ }
+ break;
+
}
retval.stop = input.LT(-1);
@@ -1896,36 +2095,36 @@
};
// $ANTLR start expr
- // dd/grammar/ECAGrammar.g:101:1: expr : ( simple_expr infix_oper expr -> ^( BINOP infix_oper simple_expr expr ) | simple_expr | unary_oper expr -> ^( UNOP unary_oper expr ) | cond= simple_expr TERN_IF iftrue= expr COLON iffalse= expr -> ^( TERNOP $cond $iftrue $iffalse) );
+ // dd/grammar/ECAGrammar.g:103:1: expr : ( simple_expr infix_oper expr -> ^( BINOP infix_oper simple_expr expr ) | simple_expr | unary_oper expr -> ^( UNOP unary_oper expr ) | cond= simple_expr TERN_IF iftrue= expr COLON iffalse= expr -> ^( TERNOP $cond $iftrue $iffalse) );
public final expr_return expr() throws RecognitionException {
expr_return retval = new expr_return();
retval.start = input.LT(1);
Object root_0 = null;
- Token TERN_IF50=null;
- Token COLON51=null;
+ Token TERN_IF56=null;
+ Token COLON57=null;
simple_expr_return cond = null;
expr_return iftrue = null;
expr_return iffalse = null;
- simple_expr_return simple_expr44 = null;
+ simple_expr_return simple_expr50 = null;
- infix_oper_return infix_oper45 = null;
+ infix_oper_return infix_oper51 = null;
- expr_return expr46 = null;
+ expr_return expr52 = null;
- simple_expr_return simple_expr47 = null;
+ simple_expr_return simple_expr53 = null;
- unary_oper_return unary_oper48 = null;
+ unary_oper_return unary_oper54 = null;
- expr_return expr49 = null;
+ expr_return expr55 = null;
- Object TERN_IF50_tree=null;
- Object COLON51_tree=null;
+ Object TERN_IF56_tree=null;
+ Object COLON57_tree=null;
RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON");
RewriteRuleTokenStream stream_TERN_IF=new RewriteRuleTokenStream(adaptor,"token TERN_IF");
RewriteRuleSubtreeStream stream_unary_oper=new RewriteRuleSubtreeStream(adaptor,"rule unary_oper");
@@ -1933,29 +2132,12 @@
RewriteRuleSubtreeStream stream_expr=new RewriteRuleSubtreeStream(adaptor,"rule expr");
RewriteRuleSubtreeStream stream_simple_expr=new RewriteRuleSubtreeStream(adaptor,"rule simple_expr");
try {
- // dd/grammar/ECAGrammar.g:101:6: ( simple_expr infix_oper expr -> ^( BINOP infix_oper simple_expr expr ) | simple_expr | unary_oper expr -> ^( UNOP unary_oper expr ) | cond= simple_expr TERN_IF iftrue= expr COLON iffalse= expr -> ^( TERNOP $cond $iftrue $iffalse) )
+ // dd/grammar/ECAGrammar.g:103:6: ( simple_expr infix_oper expr -> ^( BINOP infix_oper simple_expr expr ) | simple_expr | unary_oper expr -> ^( UNOP unary_oper expr ) | cond= simple_expr TERN_IF iftrue= expr COLON iffalse= expr -> ^( TERNOP $cond $iftrue $iffalse) )
int alt7=4;
switch ( input.LA(1) ) {
case DOLLARSYM:
{
switch ( input.LA(2) ) {
- case EOF:
- case IF:
- case DO:
- case ENDRULE:
- case RPAREN:
- case RSQUARE:
- case SEPR:
- case COLON:
- {
- alt7=2;
- }
- break;
- case TERN_IF:
- {
- alt7=4;
- }
- break;
case OR:
case AND:
case EQ:
@@ -1975,10 +2157,27 @@
alt7=1;
}
break;
+ case TERN_IF:
+ {
+ alt7=4;
+ }
+ break;
+ case EOF:
+ case IF:
+ case DO:
+ case ENDRULE:
+ case RPAREN:
+ case RSQUARE:
+ case SEPR:
+ case COLON:
+ {
+ alt7=2;
+ }
+ break;
default:
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("101:1: expr : ( simple_expr infix_oper expr -> ^( BINOP infix_oper simple_expr expr ) | simple_expr | unary_oper expr -> ^( UNOP unary_oper expr ) | cond= simple_expr TERN_IF iftrue= expr COLON iffalse= expr -> ^( TERNOP $cond $iftrue $iffalse) );", 7, 1, input);
+ new NoViableAltException("103:1: expr : ( simple_expr infix_oper expr -> ^( BINOP infix_oper simple_expr expr ) | simple_expr | unary_oper expr -> ^( UNOP unary_oper expr ) | cond= simple_expr TERN_IF iftrue= expr COLON iffalse= expr -> ^( TERNOP $cond $iftrue $iffalse) );", 7, 1, input);
throw nvae;
}
@@ -1992,10 +2191,10 @@
{
int LA7_10 = input.LA(3);
- if ( (synpred9()) ) {
+ if ( (synpred11()) ) {
alt7=1;
}
- else if ( (synpred10()) ) {
+ else if ( (synpred12()) ) {
alt7=2;
}
else if ( (true) ) {
@@ -2004,20 +2203,25 @@
else {
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("101:1: expr : ( simple_expr infix_oper expr -> ^( BINOP infix_oper simple_expr expr ) | simple_expr | unary_oper expr -> ^( UNOP unary_oper expr ) | cond= simple_expr TERN_IF iftrue= expr COLON iffalse= expr -> ^( TERNOP $cond $iftrue $iffalse) );", 7, 10, input);
+ new NoViableAltException("103:1: expr : ( simple_expr infix_oper expr -> ^( BINOP infix_oper simple_expr expr ) | simple_expr | unary_oper expr -> ^( UNOP unary_oper expr ) | cond= simple_expr TERN_IF iftrue= expr COLON iffalse= expr -> ^( TERNOP $cond $iftrue $iffalse) );", 7, 10, input);
throw nvae;
}
}
break;
+ case TERN_IF:
+ {
+ alt7=4;
+ }
+ break;
case LSQUARE:
{
int LA7_11 = input.LA(3);
- if ( (synpred9()) ) {
+ if ( (synpred11()) ) {
alt7=1;
}
- else if ( (synpred10()) ) {
+ else if ( (synpred12()) ) {
alt7=2;
}
else if ( (true) ) {
@@ -2026,17 +2230,12 @@
else {
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("101:1: expr : ( simple_expr infix_oper expr -> ^( BINOP infix_oper simple_expr expr ) | simple_expr | unary_oper expr -> ^( UNOP unary_oper expr ) | cond= simple_expr TERN_IF iftrue= expr COLON iffalse= expr -> ^( TERNOP $cond $iftrue $iffalse) );", 7, 11, input);
+ new NoViableAltException("103:1: expr : ( simple_expr infix_oper expr -> ^( BINOP infix_oper simple_expr expr ) | simple_expr | unary_oper expr -> ^( UNOP unary_oper expr ) | cond= simple_expr TERN_IF iftrue= expr COLON iffalse= expr -> ^( TERNOP $cond $iftrue $iffalse) );", 7, 11, input);
throw nvae;
}
}
break;
- case TERN_IF:
- {
- alt7=4;
- }
- break;
case EOF:
case IF:
case DO:
@@ -2071,7 +2270,7 @@
default:
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("101:1: expr : ( simple_expr infix_oper expr -> ^( BINOP infix_oper simple_expr expr ) | simple_expr | unary_oper expr -> ^( UNOP unary_oper expr ) | cond= simple_expr TERN_IF iftrue= expr COLON iffalse= expr -> ^( TERNOP $cond $iftrue $iffalse) );", 7, 2, input);
+ new NoViableAltException("103:1: expr : ( simple_expr infix_oper expr -> ^( BINOP infix_oper simple_expr expr ) | simple_expr | unary_oper expr -> ^( UNOP unary_oper expr ) | cond= simple_expr TERN_IF iftrue= expr COLON iffalse= expr -> ^( TERNOP $cond $iftrue $iffalse) );", 7, 2, input);
throw nvae;
}
@@ -2081,6 +2280,23 @@
case NUMBER:
{
switch ( input.LA(2) ) {
+ case TERN_IF:
+ {
+ alt7=4;
+ }
+ break;
+ case EOF:
+ case IF:
+ case DO:
+ case ENDRULE:
+ case RPAREN:
+ case RSQUARE:
+ case SEPR:
+ case COLON:
+ {
+ alt7=2;
+ }
+ break;
case OR:
case AND:
case EQ:
@@ -2100,27 +2316,10 @@
alt7=1;
}
break;
- case EOF:
- case IF:
- case DO:
- case ENDRULE:
- case RPAREN:
- case RSQUARE:
- case SEPR:
- case COLON:
- {
- alt7=2;
- }
- break;
- case TERN_IF:
- {
- alt7=4;
- }
- break;
default:
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("101:1: expr : ( simple_expr infix_oper expr -> ^( BINOP infix_oper simple_expr expr ) | simple_expr | unary_oper expr -> ^( UNOP unary_oper expr ) | cond= simple_expr TERN_IF iftrue= expr COLON iffalse= expr -> ^( TERNOP $cond $iftrue $iffalse) );", 7, 3, input);
+ new NoViableAltException("103:1: expr : ( simple_expr infix_oper expr -> ^( BINOP infix_oper simple_expr expr ) | simple_expr | unary_oper expr -> ^( UNOP unary_oper expr ) | cond= simple_expr TERN_IF iftrue= expr COLON iffalse= expr -> ^( TERNOP $cond $iftrue $iffalse) );", 7, 3, input);
throw nvae;
}
@@ -2130,18 +2329,6 @@
case STRING:
{
switch ( input.LA(2) ) {
- case EOF:
- case IF:
- case DO:
- case ENDRULE:
- case RPAREN:
- case RSQUARE:
- case SEPR:
- case COLON:
- {
- alt7=2;
- }
- break;
case OR:
case AND:
case EQ:
@@ -2161,6 +2348,18 @@
alt7=1;
}
break;
+ case EOF:
+ case IF:
+ case DO:
+ case ENDRULE:
+ case RPAREN:
+ case RSQUARE:
+ case SEPR:
+ case COLON:
+ {
+ alt7=2;
+ }
+ break;
case TERN_IF:
{
alt7=4;
@@ -2169,7 +2368,7 @@
default:
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("101:1: expr : ( simple_expr infix_oper expr -> ^( BINOP infix_oper simple_expr expr ) | simple_expr | unary_oper expr -> ^( UNOP unary_oper expr ) | cond= simple_expr TERN_IF iftrue= expr COLON iffalse= expr -> ^( TERNOP $cond $iftrue $iffalse) );", 7, 4, input);
+ new NoViableAltException("103:1: expr : ( simple_expr infix_oper expr -> ^( BINOP infix_oper simple_expr expr ) | simple_expr | unary_oper expr -> ^( UNOP unary_oper expr ) | cond= simple_expr TERN_IF iftrue= expr COLON iffalse= expr -> ^( TERNOP $cond $iftrue $iffalse) );", 7, 4, input);
throw nvae;
}
@@ -2180,10 +2379,10 @@
{
int LA7_5 = input.LA(2);
- if ( (synpred9()) ) {
+ if ( (synpred11()) ) {
alt7=1;
}
- else if ( (synpred10()) ) {
+ else if ( (synpred12()) ) {
alt7=2;
}
else if ( (true) ) {
@@ -2192,7 +2391,7 @@
else {
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("101:1: expr : ( simple_expr infix_oper expr -> ^( BINOP infix_oper simple_expr expr ) | simple_expr | unary_oper expr -> ^( UNOP unary_oper expr ) | cond= simple_expr TERN_IF iftrue= expr COLON iffalse= expr -> ^( TERNOP $cond $iftrue $iffalse) );", 7, 5, input);
+ new NoViableAltException("103:1: expr : ( simple_expr infix_oper expr -> ^( BINOP infix_oper simple_expr expr ) | simple_expr | unary_oper expr -> ^( UNOP unary_oper expr ) | cond= simple_expr TERN_IF iftrue= expr COLON iffalse= expr -> ^( TERNOP $cond $iftrue $iffalse) );", 7, 5, input);
throw nvae;
}
@@ -2207,33 +2406,33 @@
default:
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("101:1: expr : ( simple_expr infix_oper expr -> ^( BINOP infix_oper simple_expr expr ) | simple_expr | unary_oper expr -> ^( UNOP unary_oper expr ) | cond= simple_expr TERN_IF iftrue= expr COLON iffalse= expr -> ^( TERNOP $cond $iftrue $iffalse) );", 7, 0, input);
+ new NoViableAltException("103:1: expr : ( simple_expr infix_oper expr -> ^( BINOP infix_oper simple_expr expr ) | simple_expr | unary_oper expr -> ^( UNOP unary_oper expr ) | cond= simple_expr TERN_IF iftrue= expr COLON iffalse= expr -> ^( TERNOP $cond $iftrue $iffalse) );", 7, 0, input);
throw nvae;
}
switch (alt7) {
case 1 :
- // dd/grammar/ECAGrammar.g:101:8: simple_expr infix_oper expr
+ // dd/grammar/ECAGrammar.g:103:8: simple_expr infix_oper expr
{
- pushFollow(FOLLOW_simple_expr_in_expr554);
- simple_expr44=simple_expr();
+ pushFollow(FOLLOW_simple_expr_in_expr610);
+ simple_expr50=simple_expr();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) stream_simple_expr.add(simple_expr44.getTree());
- pushFollow(FOLLOW_infix_oper_in_expr556);
- infix_oper45=infix_oper();
+ if ( backtracking==0 ) stream_simple_expr.add(simple_expr50.getTree());
+ pushFollow(FOLLOW_infix_oper_in_expr612);
+ infix_oper51=infix_oper();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) stream_infix_oper.add(infix_oper45.getTree());
- pushFollow(FOLLOW_expr_in_expr558);
- expr46=expr();
+ if ( backtracking==0 ) stream_infix_oper.add(infix_oper51.getTree());
+ pushFollow(FOLLOW_expr_in_expr614);
+ expr52=expr();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) stream_expr.add(expr46.getTree());
+ if ( backtracking==0 ) stream_expr.add(expr52.getTree());
// AST REWRITE
- // elements: expr, infix_oper, simple_expr
+ // elements: expr, simple_expr, infix_oper
// token labels:
// rule labels: retval
// token list labels:
@@ -2243,9 +2442,9 @@
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 101:37: -> ^( BINOP infix_oper simple_expr expr )
+ // 103:37: -> ^( BINOP infix_oper simple_expr expr )
{
- // dd/grammar/ECAGrammar.g:101:40: ^( BINOP infix_oper simple_expr expr )
+ // dd/grammar/ECAGrammar.g:103:40: ^( BINOP infix_oper simple_expr expr )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(adaptor.create(BINOP, "BINOP"), root_1);
@@ -2264,34 +2463,34 @@
}
break;
case 2 :
- // dd/grammar/ECAGrammar.g:102:4: simple_expr
+ // dd/grammar/ECAGrammar.g:104:4: simple_expr
{
root_0 = (Object)adaptor.nil();
- pushFollow(FOLLOW_simple_expr_in_expr576);
- simple_expr47=simple_expr();
+ pushFollow(FOLLOW_simple_expr_in_expr632);
+ simple_expr53=simple_expr();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) adaptor.addChild(root_0, simple_expr47.getTree());
+ if ( backtracking==0 ) adaptor.addChild(root_0, simple_expr53.getTree());
}
break;
case 3 :
- // dd/grammar/ECAGrammar.g:103:4: unary_oper expr
+ // dd/grammar/ECAGrammar.g:105:4: unary_oper expr
{
- pushFollow(FOLLOW_unary_oper_in_expr581);
- unary_oper48=unary_oper();
+ pushFollow(FOLLOW_unary_oper_in_expr637);
+ unary_oper54=unary_oper();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) stream_unary_oper.add(unary_oper48.getTree());
- pushFollow(FOLLOW_expr_in_expr583);
- expr49=expr();
+ if ( backtracking==0 ) stream_unary_oper.add(unary_oper54.getTree());
+ pushFollow(FOLLOW_expr_in_expr639);
+ expr55=expr();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) stream_expr.add(expr49.getTree());
+ if ( backtracking==0 ) stream_expr.add(expr55.getTree());
// AST REWRITE
- // elements: unary_oper, expr
+ // elements: expr, unary_oper
// token labels:
// rule labels: retval
// token list labels:
@@ -2301,9 +2500,9 @@
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 103:22: -> ^( UNOP unary_oper expr )
+ // 105:22: -> ^( UNOP unary_oper expr )
{
- // dd/grammar/ECAGrammar.g:103:25: ^( UNOP unary_oper expr )
+ // dd/grammar/ECAGrammar.g:105:25: ^( UNOP unary_oper expr )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(adaptor.create(UNOP, "UNOP"), root_1);
@@ -2321,34 +2520,34 @@
}
break;
case 4 :
- // dd/grammar/ECAGrammar.g:104:4: cond= simple_expr TERN_IF iftrue= expr COLON iffalse= expr
+ // dd/grammar/ECAGrammar.g:106:4: cond= simple_expr TERN_IF iftrue= expr COLON iffalse= expr
{
- pushFollow(FOLLOW_simple_expr_in_expr602);
+ pushFollow(FOLLOW_simple_expr_in_expr658);
cond=simple_expr();
_fsp--;
if (failed) return retval;
if ( backtracking==0 ) stream_simple_expr.add(cond.getTree());
- TERN_IF50=(Token)input.LT(1);
- match(input,TERN_IF,FOLLOW_TERN_IF_in_expr604); if (failed) return retval;
- if ( backtracking==0 ) stream_TERN_IF.add(TERN_IF50);
+ TERN_IF56=(Token)input.LT(1);
+ match(input,TERN_IF,FOLLOW_TERN_IF_in_expr660); if (failed) return retval;
+ if ( backtracking==0 ) stream_TERN_IF.add(TERN_IF56);
- pushFollow(FOLLOW_expr_in_expr608);
+ pushFollow(FOLLOW_expr_in_expr664);
iftrue=expr();
_fsp--;
if (failed) return retval;
if ( backtracking==0 ) stream_expr.add(iftrue.getTree());
- COLON51=(Token)input.LT(1);
- match(input,COLON,FOLLOW_COLON_in_expr610); if (failed) return retval;
- if ( backtracking==0 ) stream_COLON.add(COLON51);
+ COLON57=(Token)input.LT(1);
+ match(input,COLON,FOLLOW_COLON_in_expr666); if (failed) return retval;
+ if ( backtracking==0 ) stream_COLON.add(COLON57);
- pushFollow(FOLLOW_expr_in_expr614);
+ pushFollow(FOLLOW_expr_in_expr670);
iffalse=expr();
_fsp--;
if (failed) return retval;
if ( backtracking==0 ) stream_expr.add(iffalse.getTree());
// AST REWRITE
- // elements: iffalse, cond, iftrue
+ // elements: iffalse, iftrue, cond
// token labels:
// rule labels: iftrue, cond, iffalse, retval
// token list labels:
@@ -2361,9 +2560,9 @@
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 104:60: -> ^( TERNOP $cond $iftrue $iffalse)
+ // 106:60: -> ^( TERNOP $cond $iftrue $iffalse)
{
- // dd/grammar/ECAGrammar.g:104:63: ^( TERNOP $cond $iftrue $iffalse)
+ // dd/grammar/ECAGrammar.g:106:63: ^( TERNOP $cond $iftrue $iffalse)
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(adaptor.create(TERNOP, "TERNOP"), root_1);
@@ -2406,7 +2605,7 @@
};
// $ANTLR start simple_expr
- // dd/grammar/ECAGrammar.g:107:1: simple_expr : (v= DOLLARSYM | v= SYMBOL idx= array_idx -> ^( ARRAY $v $idx) | v= SYMBOL LPAREN RPAREN -> ^( METH $v) | v= SYMBOL | v= SYMBOL LPAREN args= expr_list RPAREN -> ^( METH $v $args) | NUMBER | STRING | LPAREN expr RPAREN -> ^( expr ) );
+ // dd/grammar/ECAGrammar.g:109:1: simple_expr : (v= DOLLARSYM | v= SYMBOL idx= array_idx -> ^( ARRAY $v $idx) | v= SYMBOL LPAREN RPAREN -> ^( METH $v) | v= SYMBOL | v= SYMBOL LPAREN args= expr_list RPAREN -> ^( METH $v $args) | NUMBER | STRING | LPAREN expr RPAREN -> ^( expr ) );
public final simple_expr_return simple_expr() throws RecognitionException {
simple_expr_return retval = new simple_expr_return();
retval.start = input.LT(1);
@@ -2414,30 +2613,30 @@
Object root_0 = null;
Token v=null;
- Token LPAREN52=null;
- Token RPAREN53=null;
- Token LPAREN54=null;
- Token RPAREN55=null;
- Token NUMBER56=null;
- Token STRING57=null;
Token LPAREN58=null;
- Token RPAREN60=null;
+ Token RPAREN59=null;
+ Token LPAREN60=null;
+ Token RPAREN61=null;
+ Token NUMBER62=null;
+ Token STRING63=null;
+ Token LPAREN64=null;
+ Token RPAREN66=null;
array_idx_return idx = null;
expr_list_return args = null;
- expr_return expr59 = null;
+ expr_return expr65 = null;
Object v_tree=null;
- Object LPAREN52_tree=null;
- Object RPAREN53_tree=null;
- Object LPAREN54_tree=null;
- Object RPAREN55_tree=null;
- Object NUMBER56_tree=null;
- Object STRING57_tree=null;
Object LPAREN58_tree=null;
- Object RPAREN60_tree=null;
+ Object RPAREN59_tree=null;
+ Object LPAREN60_tree=null;
+ Object RPAREN61_tree=null;
+ Object NUMBER62_tree=null;
+ Object STRING63_tree=null;
+ Object LPAREN64_tree=null;
+ Object RPAREN66_tree=null;
RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN");
RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN");
RewriteRuleTokenStream stream_SYMBOL=new RewriteRuleTokenStream(adaptor,"token SYMBOL");
@@ -2445,7 +2644,7 @@
RewriteRuleSubtreeStream stream_expr=new RewriteRuleSubtreeStream(adaptor,"rule expr");
RewriteRuleSubtreeStream stream_array_idx=new RewriteRuleSubtreeStream(adaptor,"rule array_idx");
try {
- // dd/grammar/ECAGrammar.g:107:13: (v= DOLLARSYM | v= SYMBOL idx= array_idx -> ^( ARRAY $v $idx) | v= SYMBOL LPAREN RPAREN -> ^( METH $v) | v= SYMBOL | v= SYMBOL LPAREN args= expr_list RPAREN -> ^( METH $v $args) | NUMBER | STRING | LPAREN expr RPAREN -> ^( expr ) )
+ // dd/grammar/ECAGrammar.g:109:13: (v= DOLLARSYM | v= SYMBOL idx= array_idx -> ^( ARRAY $v $idx) | v= SYMBOL LPAREN RPAREN -> ^( METH $v) | v= SYMBOL | v= SYMBOL LPAREN args= expr_list RPAREN -> ^( METH $v $args) | NUMBER | STRING | LPAREN expr RPAREN -> ^( expr ) )
int alt8=8;
switch ( input.LA(1) ) {
case DOLLARSYM:
@@ -2469,12 +2668,17 @@
else {
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("107:1: simple_expr : (v= DOLLARSYM | v= SYMBOL idx= array_idx -> ^( ARRAY $v $idx) | v= SYMBOL LPAREN RPAREN -> ^( METH $v) | v= SYMBOL | v= SYMBOL LPAREN args= expr_list RPAREN -> ^( METH $v $args) | NUMBER | STRING | LPAREN expr RPAREN -> ^( expr ) );", 8, 6, input);
+ new NoViableAltException("109:1: simple_expr : (v= DOLLARSYM | v= SYMBOL idx= array_idx -> ^( ARRAY $v $idx) | v= SYMBOL LPAREN RPAREN -> ^( METH $v) | v= SYMBOL | v= SYMBOL LPAREN args= expr_list RPAREN -> ^( METH $v $args) | NUMBER | STRING | LPAREN expr RPAREN -> ^( expr ) );", 8, 6, input);
throw nvae;
}
}
break;
+ case LSQUARE:
+ {
+ alt8=2;
+ }
+ break;
case EOF:
case IF:
case DO:
@@ -2503,15 +2707,10 @@
alt8=4;
}
break;
- case LSQUARE:
- {
- alt8=2;
- }
- break;
default:
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("107:1: simple_expr : (v= DOLLARSYM | v= SYMBOL idx= array_idx -> ^( ARRAY $v $idx) | v= SYMBOL LPAREN RPAREN -> ^( METH $v) | v= SYMBOL | v= SYMBOL LPAREN args= expr_list RPAREN -> ^( METH $v $args) | NUMBER | STRING | LPAREN expr RPAREN -> ^( expr ) );", 8, 2, input);
+ new NoViableAltException("109:1: simple_expr : (v= DOLLARSYM | v= SYMBOL idx= array_idx -> ^( ARRAY $v $idx) | v= SYMBOL LPAREN RPAREN -> ^( METH $v) | v= SYMBOL | v= SYMBOL LPAREN args= expr_list RPAREN -> ^( METH $v $args) | NUMBER | STRING | LPAREN expr RPAREN -> ^( expr ) );", 8, 2, input);
throw nvae;
}
@@ -2536,19 +2735,19 @@
default:
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("107:1: simple_expr : (v= DOLLARSYM | v= SYMBOL idx= array_idx -> ^( ARRAY $v $idx) | v= SYMBOL LPAREN RPAREN -> ^( METH $v) | v= SYMBOL | v= SYMBOL LPAREN args= expr_list RPAREN -> ^( METH $v $args) | NUMBER | STRING | LPAREN expr RPAREN -> ^( expr ) );", 8, 0, input);
+ new NoViableAltException("109:1: simple_expr : (v= DOLLARSYM | v= SYMBOL idx= array_idx -> ^( ARRAY $v $idx) | v= SYMBOL LPAREN RPAREN -> ^( METH $v) | v= SYMBOL | v= SYMBOL LPAREN args= expr_list RPAREN -> ^( METH $v $args) | NUMBER | STRING | LPAREN expr RPAREN -> ^( expr ) );", 8, 0, input);
throw nvae;
}
switch (alt8) {
case 1 :
- // dd/grammar/ECAGrammar.g:107:15: v= DOLLARSYM
+ // dd/grammar/ECAGrammar.g:109:15: v= DOLLARSYM
{
root_0 = (Object)adaptor.nil();
v=(Token)input.LT(1);
- match(input,DOLLARSYM,FOLLOW_DOLLARSYM_in_simple_expr641); if (failed) return retval;
+ match(input,DOLLARSYM,FOLLOW_DOLLARSYM_in_simple_expr697); if (failed) return retval;
if ( backtracking==0 ) {
v_tree = (Object)adaptor.create(v);
adaptor.addChild(root_0, v_tree);
@@ -2557,20 +2756,20 @@
}
break;
case 2 :
- // dd/grammar/ECAGrammar.g:108:4: v= SYMBOL idx= array_idx
+ // dd/grammar/ECAGrammar.g:110:4: v= SYMBOL idx= array_idx
{
v=(Token)input.LT(1);
- match(input,SYMBOL,FOLLOW_SYMBOL_in_simple_expr648); if (failed) return retval;
+ match(input,SYMBOL,FOLLOW_SYMBOL_in_simple_expr704); if (failed) return retval;
if ( backtracking==0 ) stream_SYMBOL.add(v);
- pushFollow(FOLLOW_array_idx_in_simple_expr652);
+ pushFollow(FOLLOW_array_idx_in_simple_expr708);
idx=array_idx();
_fsp--;
if (failed) return retval;
if ( backtracking==0 ) stream_array_idx.add(idx.getTree());
// AST REWRITE
- // elements: idx, v
+ // elements: v, idx
// token labels: v
// rule labels: idx, retval
// token list labels:
@@ -2582,9 +2781,9 @@
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 108:29: -> ^( ARRAY $v $idx)
+ // 110:29: -> ^( ARRAY $v $idx)
{
- // dd/grammar/ECAGrammar.g:108:32: ^( ARRAY $v $idx)
+ // dd/grammar/ECAGrammar.g:110:32: ^( ARRAY $v $idx)
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(adaptor.create(ARRAY, "ARRAY"), root_1);
@@ -2602,19 +2801,19 @@
}
break;
case 3 :
- // dd/grammar/ECAGrammar.g:109:4: v= SYMBOL LPAREN RPAREN
+ // dd/grammar/ECAGrammar.g:111:4: v= SYMBOL LPAREN RPAREN
{
v=(Token)input.LT(1);
- match(input,SYMBOL,FOLLOW_SYMBOL_in_simple_expr673); if (failed) return retval;
+ match(input,SYMBOL,FOLLOW_SYMBOL_in_simple_expr729); if (failed) return retval;
if ( backtracking==0 ) stream_SYMBOL.add(v);
- LPAREN52=(Token)input.LT(1);
- match(input,LPAREN,FOLLOW_LPAREN_in_simple_expr675); if (failed) return retval;
- if ( backtracking==0 ) stream_LPAREN.add(LPAREN52);
+ LPAREN58=(Token)input.LT(1);
+ match(input,LPAREN,FOLLOW_LPAREN_in_simple_expr731); if (failed) return retval;
+ if ( backtracking==0 ) stream_LPAREN.add(LPAREN58);
- RPAREN53=(Token)input.LT(1);
- match(input,RPAREN,FOLLOW_RPAREN_in_simple_expr677); if (failed) return retval;
- if ( backtracking==0 ) stream_RPAREN.add(RPAREN53);
+ RPAREN59=(Token)input.LT(1);
+ match(input,RPAREN,FOLLOW_RPAREN_in_simple_expr733); if (failed) return retval;
+ if ( backtracking==0 ) stream_RPAREN.add(RPAREN59);
// AST REWRITE
@@ -2629,9 +2828,9 @@
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 109:29: -> ^( METH $v)
+ // 111:29: -> ^( METH $v)
{
- // dd/grammar/ECAGrammar.g:109:32: ^( METH $v)
+ // dd/grammar/ECAGrammar.g:111:32: ^( METH $v)
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(adaptor.create(METH, "METH"), root_1);
@@ -2648,12 +2847,12 @@
}
break;
case 4 :
- // dd/grammar/ECAGrammar.g:110:4: v= SYMBOL
+ // dd/grammar/ECAGrammar.g:112:4: v= SYMBOL
{
root_0 = (Object)adaptor.nil();
v=(Token)input.LT(1);
- match(input,SYMBOL,FOLLOW_SYMBOL_in_simple_expr695); if (failed) return retval;
+ match(input,SYMBOL,FOLLOW_SYMBOL_in_simple_expr751); if (failed) return retval;
if ( backtracking==0 ) {
v_tree = (Object)adaptor.create(v);
adaptor.addChild(root_0, v_tree);
@@ -2662,24 +2861,24 @@
}
break;
case 5 :
- // dd/grammar/ECAGrammar.g:111:4: v= SYMBOL LPAREN args= expr_list RPAREN
+ // dd/grammar/ECAGrammar.g:113:4: v= SYMBOL LPAREN args= expr_list RPAREN
{
v=(Token)input.LT(1);
- match(input,SYMBOL,FOLLOW_SYMBOL_in_simple_expr702); if (failed) return retval;
+ match(input,SYMBOL,FOLLOW_SYMBOL_in_simple_expr758); if (failed) return retval;
if ( backtracking==0 ) stream_SYMBOL.add(v);
- LPAREN54=(Token)input.LT(1);
- match(input,LPAREN,FOLLOW_LPAREN_in_simple_expr704); if (failed) return retval;
- if ( backtracking==0 ) stream_LPAREN.add(LPAREN54);
+ LPAREN60=(Token)input.LT(1);
+ match(input,LPAREN,FOLLOW_LPAREN_in_simple_expr760); if (failed) return retval;
+ if ( backtracking==0 ) stream_LPAREN.add(LPAREN60);
- pushFollow(FOLLOW_expr_list_in_simple_expr708);
+ pushFollow(FOLLOW_expr_list_in_simple_expr764);
args=expr_list();
_fsp--;
if (failed) return retval;
if ( backtracking==0 ) stream_expr_list.add(args.getTree());
- RPAREN55=(Token)input.LT(1);
- match(input,RPAREN,FOLLOW_RPAREN_in_simple_expr710); if (failed) return retval;
- if ( backtracking==0 ) stream_RPAREN.add(RPAREN55);
+ RPAREN61=(Token)input.LT(1);
+ match(input,RPAREN,FOLLOW_RPAREN_in_simple_expr766); if (failed) return retval;
+ if ( backtracking==0 ) stream_RPAREN.add(RPAREN61);
// AST REWRITE
@@ -2695,9 +2894,9 @@
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 111:43: -> ^( METH $v $args)
+ // 113:43: -> ^( METH $v $args)
{
- // dd/grammar/ECAGrammar.g:111:46: ^( METH $v $args)
+ // dd/grammar/ECAGrammar.g:113:46: ^( METH $v $args)
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(adaptor.create(METH, "METH"), root_1);
@@ -2715,48 +2914,48 @@
}
break;
case 6 :
- // dd/grammar/ECAGrammar.g:112:4: NUMBER
+ // dd/grammar/ECAGrammar.g:114:4: NUMBER
{
root_0 = (Object)adaptor.nil();
- NUMBER56=(Token)input.LT(1);
- match(input,NUMBER,FOLLOW_NUMBER_in_simple_expr729); if (failed) return retval;
+ NUMBER62=(Token)input.LT(1);
+ match(input,NUMBER,FOLLOW_NUMBER_in_simple_expr785); if (failed) return retval;
if ( backtracking==0 ) {
- NUMBER56_tree = (Object)adaptor.create(NUMBER56);
- adaptor.addChild(root_0, NUMBER56_tree);
+ NUMBER62_tree = (Object)adaptor.create(NUMBER62);
+ adaptor.addChild(root_0, NUMBER62_tree);
}
}
break;
case 7 :
- // dd/grammar/ECAGrammar.g:113:4: STRING
+ // dd/grammar/ECAGrammar.g:115:4: STRING
{
root_0 = (Object)adaptor.nil();
- STRING57=(Token)input.LT(1);
- match(input,STRING,FOLLOW_STRING_in_simple_expr734); if (failed) return retval;
+ STRING63=(Token)input.LT(1);
+ match(input,STRING,FOLLOW_STRING_in_simple_expr790); if (failed) return retval;
if ( backtracking==0 ) {
- STRING57_tree = (Object)adaptor.create(STRING57);
- adaptor.addChild(root_0, STRING57_tree);
+ STRING63_tree = (Object)adaptor.create(STRING63);
+ adaptor.addChild(root_0, STRING63_tree);
}
}
break;
case 8 :
- // dd/grammar/ECAGrammar.g:114:4: LPAREN expr RPAREN
+ // dd/grammar/ECAGrammar.g:116:4: LPAREN expr RPAREN
{
- LPAREN58=(Token)input.LT(1);
- match(input,LPAREN,FOLLOW_LPAREN_in_simple_expr739); if (failed) return retval;
- if ( backtracking==0 ) stream_LPAREN.add(LPAREN58);
+ LPAREN64=(Token)input.LT(1);
+ match(input,LPAREN,FOLLOW_LPAREN_in_simple_expr795); if (failed) return retval;
+ if ( backtracking==0 ) stream_LPAREN.add(LPAREN64);
- pushFollow(FOLLOW_expr_in_simple_expr741);
- expr59=expr();
+ pushFollow(FOLLOW_expr_in_simple_expr797);
+ expr65=expr();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) stream_expr.add(expr59.getTree());
- RPAREN60=(Token)input.LT(1);
- match(input,RPAREN,FOLLOW_RPAREN_in_simple_expr743); if (failed) return retval;
- if ( backtracking==0 ) stream_RPAREN.add(RPAREN60);
+ if ( backtracking==0 ) stream_expr.add(expr65.getTree());
+ RPAREN66=(Token)input.LT(1);
+ match(input,RPAREN,FOLLOW_RPAREN_in_simple_expr799); if (failed) return retval;
+ if ( backtracking==0 ) stream_RPAREN.add(RPAREN66);
// AST REWRITE
@@ -2770,9 +2969,9 @@
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 114:25: -> ^( expr )
+ // 116:25: -> ^( expr )
{
- // dd/grammar/ECAGrammar.g:114:28: ^( expr )
+ // dd/grammar/ECAGrammar.g:116:28: ^( expr )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(stream_expr.nextNode(), root_1);
@@ -2811,34 +3010,34 @@
};
// $ANTLR start expr_list
- // dd/grammar/ECAGrammar.g:117:1: expr_list : ( expr SEPR expr_list -> ^( SEPR expr expr_list ) | expr );
+ // dd/grammar/ECAGrammar.g:119:1: expr_list : ( expr SEPR expr_list -> ^( SEPR expr expr_list ) | expr );
public final expr_list_return expr_list() throws RecognitionException {
expr_list_return retval = new expr_list_return();
retval.start = input.LT(1);
Object root_0 = null;
- Token SEPR62=null;
- expr_return expr61 = null;
+ Token SEPR68=null;
+ expr_return expr67 = null;
- expr_list_return expr_list63 = null;
+ expr_list_return expr_list69 = null;
- expr_return expr64 = null;
+ expr_return expr70 = null;
- Object SEPR62_tree=null;
+ Object SEPR68_tree=null;
RewriteRuleTokenStream stream_SEPR=new RewriteRuleTokenStream(adaptor,"token SEPR");
RewriteRuleSubtreeStream stream_expr_list=new RewriteRuleSubtreeStream(adaptor,"rule expr_list");
RewriteRuleSubtreeStream stream_expr=new RewriteRuleSubtreeStream(adaptor,"rule expr");
try {
- // dd/grammar/ECAGrammar.g:118:2: ( expr SEPR expr_list -> ^( SEPR expr expr_list ) | expr )
+ // dd/grammar/ECAGrammar.g:120:2: ( expr SEPR expr_list -> ^( SEPR expr expr_list ) | expr )
int alt9=2;
switch ( input.LA(1) ) {
case DOLLARSYM:
{
int LA9_1 = input.LA(2);
- if ( (synpred19()) ) {
+ if ( (synpred21()) ) {
alt9=1;
}
else if ( (true) ) {
@@ -2847,7 +3046,7 @@
else {
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("117:1: expr_list : ( expr SEPR expr_list -> ^( SEPR expr expr_list ) | expr );", 9, 1, input);
+ new NoViableAltException("119:1: expr_list : ( expr SEPR expr_list -> ^( SEPR expr expr_list ) | expr );", 9, 1, input);
throw nvae;
}
@@ -2857,7 +3056,7 @@
{
int LA9_2 = input.LA(2);
- if ( (synpred19()) ) {
+ if ( (synpred21()) ) {
alt9=1;
}
else if ( (true) ) {
@@ -2866,7 +3065,7 @@
else {
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("117:1: expr_list : ( expr SEPR expr_list -> ^( SEPR expr expr_list ) | expr );", 9, 2, input);
+ new NoViableAltException("119:1: expr_list : ( expr SEPR expr_list -> ^( SEPR expr expr_list ) | expr );", 9, 2, input);
throw nvae;
}
@@ -2876,7 +3075,7 @@
{
int LA9_3 = input.LA(2);
- if ( (synpred19()) ) {
+ if ( (synpred21()) ) {
alt9=1;
}
else if ( (true) ) {
@@ -2885,7 +3084,7 @@
else {
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("117:1: expr_list : ( expr SEPR expr_list -> ^( SEPR expr expr_list ) | expr );", 9, 3, input);
+ new NoViableAltException("119:1: expr_list : ( expr SEPR expr_list -> ^( SEPR expr expr_list ) | expr );", 9, 3, input);
throw nvae;
}
@@ -2895,7 +3094,7 @@
{
int LA9_4 = input.LA(2);
- if ( (synpred19()) ) {
+ if ( (synpred21()) ) {
alt9=1;
}
else if ( (true) ) {
@@ -2904,7 +3103,7 @@
else {
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("117:1: expr_list : ( expr SEPR expr_list -> ^( SEPR expr expr_list ) | expr );", 9, 4, input);
+ new NoViableAltException("119:1: expr_list : ( expr SEPR expr_list -> ^( SEPR expr expr_list ) | expr );", 9, 4, input);
throw nvae;
}
@@ -2914,7 +3113,7 @@
{
int LA9_5 = input.LA(2);
- if ( (synpred19()) ) {
+ if ( (synpred21()) ) {
alt9=1;
}
else if ( (true) ) {
@@ -2923,7 +3122,7 @@
else {
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("117:1: expr_list : ( expr SEPR expr_list -> ^( SEPR expr expr_list ) | expr );", 9, 5, input);
+ new NoViableAltException("119:1: expr_list : ( expr SEPR expr_list -> ^( SEPR expr expr_list ) | expr );", 9, 5, input);
throw nvae;
}
@@ -2934,7 +3133,7 @@
{
int LA9_6 = input.LA(2);
- if ( (synpred19()) ) {
+ if ( (synpred21()) ) {
alt9=1;
}
else if ( (true) ) {
@@ -2943,7 +3142,7 @@
else {
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("117:1: expr_list : ( expr SEPR expr_list -> ^( SEPR expr expr_list ) | expr );", 9, 6, input);
+ new NoViableAltException("119:1: expr_list : ( expr SEPR expr_list -> ^( SEPR expr expr_list ) | expr );", 9, 6, input);
throw nvae;
}
@@ -2952,32 +3151,32 @@
default:
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("117:1: expr_list : ( expr SEPR expr_list -> ^( SEPR expr expr_list ) | expr );", 9, 0, input);
+ new NoViableAltException("119:1: expr_list : ( expr SEPR expr_list -> ^( SEPR expr expr_list ) | expr );", 9, 0, input);
throw nvae;
}
switch (alt9) {
case 1 :
- // dd/grammar/ECAGrammar.g:118:4: expr SEPR expr_list
+ // dd/grammar/ECAGrammar.g:120:4: expr SEPR expr_list
{
- pushFollow(FOLLOW_expr_in_expr_list762);
- expr61=expr();
+ pushFollow(FOLLOW_expr_in_expr_list818);
+ expr67=expr();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) stream_expr.add(expr61.getTree());
- SEPR62=(Token)input.LT(1);
- match(input,SEPR,FOLLOW_SEPR_in_expr_list764); if (failed) return retval;
- if ( backtracking==0 ) stream_SEPR.add(SEPR62);
+ if ( backtracking==0 ) stream_expr.add(expr67.getTree());
+ SEPR68=(Token)input.LT(1);
+ match(input,SEPR,FOLLOW_SEPR_in_expr_list820); if (failed) return retval;
+ if ( backtracking==0 ) stream_SEPR.add(SEPR68);
- pushFollow(FOLLOW_expr_list_in_expr_list766);
- expr_list63=expr_list();
+ pushFollow(FOLLOW_expr_list_in_expr_list822);
+ expr_list69=expr_list();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) stream_expr_list.add(expr_list63.getTree());
+ if ( backtracking==0 ) stream_expr_list.add(expr_list69.getTree());
// AST REWRITE
- // elements: expr_list, expr, SEPR
+ // elements: expr_list, SEPR, expr
// token labels:
// rule labels: retval
// token list labels:
@@ -2987,9 +3186,9 @@
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 118:26: -> ^( SEPR expr expr_list )
+ // 120:26: -> ^( SEPR expr expr_list )
{
- // dd/grammar/ECAGrammar.g:118:29: ^( SEPR expr expr_list )
+ // dd/grammar/ECAGrammar.g:120:29: ^( SEPR expr expr_list )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(stream_SEPR.next(), root_1);
@@ -3007,15 +3206,15 @@
}
break;
case 2 :
- // dd/grammar/ECAGrammar.g:119:4: expr
+ // dd/grammar/ECAGrammar.g:121:4: expr
{
root_0 = (Object)adaptor.nil();
- pushFollow(FOLLOW_expr_in_expr_list783);
- expr64=expr();
+ pushFollow(FOLLOW_expr_in_expr_list839);
+ expr70=expr();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) adaptor.addChild(root_0, expr64.getTree());
+ if ( backtracking==0 ) adaptor.addChild(root_0, expr70.getTree());
}
break;
@@ -3044,31 +3243,31 @@
};
// $ANTLR start array_idx_list
- // dd/grammar/ECAGrammar.g:122:1: array_idx_list : ( array_idx array_idx_list -> ^( SEPR array_idx array_idx_list ) | array_idx );
+ // dd/grammar/ECAGrammar.g:124:1: array_idx_list : ( array_idx array_idx_list -> ^( SEPR array_idx array_idx_list ) | array_idx );
public final array_idx_list_return array_idx_list() throws RecognitionException {
array_idx_list_return retval = new array_idx_list_return();
retval.start = input.LT(1);
Object root_0 = null;
- array_idx_return array_idx65 = null;
+ array_idx_return array_idx71 = null;
- array_idx_list_return array_idx_list66 = null;
+ array_idx_list_return array_idx_list72 = null;
- array_idx_return array_idx67 = null;
+ array_idx_return array_idx73 = null;
RewriteRuleSubtreeStream stream_array_idx=new RewriteRuleSubtreeStream(adaptor,"rule array_idx");
RewriteRuleSubtreeStream stream_array_idx_list=new RewriteRuleSubtreeStream(adaptor,"rule array_idx_list");
try {
- // dd/grammar/ECAGrammar.g:123:2: ( array_idx array_idx_list -> ^( SEPR array_idx array_idx_list ) | array_idx )
+ // dd/grammar/ECAGrammar.g:125:2: ( array_idx array_idx_list -> ^( SEPR array_idx array_idx_list ) | array_idx )
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0==LSQUARE) ) {
int LA10_1 = input.LA(2);
- if ( (synpred20()) ) {
+ if ( (synpred22()) ) {
alt10=1;
}
else if ( (true) ) {
@@ -3077,7 +3276,7 @@
else {
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("122:1: array_idx_list : ( array_idx array_idx_list -> ^( SEPR array_idx array_idx_list ) | array_idx );", 10, 1, input);
+ new NoViableAltException("124:1: array_idx_list : ( array_idx array_idx_list -> ^( SEPR array_idx array_idx_list ) | array_idx );", 10, 1, input);
throw nvae;
}
@@ -3085,27 +3284,27 @@
else {
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("122:1: array_idx_list : ( array_idx array_idx_list -> ^( SEPR array_idx array_idx_list ) | array_idx );", 10, 0, input);
+ new NoViableAltException("124:1: array_idx_list : ( array_idx array_idx_list -> ^( SEPR array_idx array_idx_list ) | array_idx );", 10, 0, input);
throw nvae;
}
switch (alt10) {
case 1 :
- // dd/grammar/ECAGrammar.g:123:4: array_idx array_idx_list
+ // dd/grammar/ECAGrammar.g:125:4: array_idx array_idx_list
{
- pushFollow(FOLLOW_array_idx_in_array_idx_list794);
- array_idx65=array_idx();
+ pushFollow(FOLLOW_array_idx_in_array_idx_list850);
+ array_idx71=array_idx();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) stream_array_idx.add(array_idx65.getTree());
- pushFollow(FOLLOW_array_idx_list_in_array_idx_list796);
- array_idx_list66=array_idx_list();
+ if ( backtracking==0 ) stream_array_idx.add(array_idx71.getTree());
+ pushFollow(FOLLOW_array_idx_list_in_array_idx_list852);
+ array_idx_list72=array_idx_list();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) stream_array_idx_list.add(array_idx_list66.getTree());
+ if ( backtracking==0 ) stream_array_idx_list.add(array_idx_list72.getTree());
// AST REWRITE
- // elements: array_idx, array_idx_list
+ // elements: array_idx_list, array_idx
// token labels:
// rule labels: retval
// token list labels:
@@ -3115,9 +3314,9 @@
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 123:31: -> ^( SEPR array_idx array_idx_list )
+ // 125:31: -> ^( SEPR array_idx array_idx_list )
{
- // dd/grammar/ECAGrammar.g:123:34: ^( SEPR array_idx array_idx_list )
+ // dd/grammar/ECAGrammar.g:125:34: ^( SEPR array_idx array_idx_list )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(adaptor.create(SEPR, "SEPR"), root_1);
@@ -3135,15 +3334,15 @@
}
break;
case 2 :
- // dd/grammar/ECAGrammar.g:124:4: array_idx
+ // dd/grammar/ECAGrammar.g:126:4: array_idx
{
root_0 = (Object)adaptor.nil();
- pushFollow(FOLLOW_array_idx_in_array_idx_list813);
- array_idx67=array_idx();
+ pushFollow(FOLLOW_array_idx_in_array_idx_list869);
+ array_idx73=array_idx();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) adaptor.addChild(root_0, array_idx67.getTree());
+ if ( backtracking==0 ) adaptor.addChild(root_0, array_idx73.getTree());
}
break;
@@ -3172,39 +3371,39 @@
};
// $ANTLR start array_idx
- // dd/grammar/ECAGrammar.g:127:1: array_idx : LSQUARE expr RSQUARE -> ^( expr ) ;
+ // dd/grammar/ECAGrammar.g:129:1: array_idx : LSQUARE expr RSQUARE -> ^( expr ) ;
public final array_idx_return array_idx() throws RecognitionException {
array_idx_return retval = new array_idx_return();
retval.start = input.LT(1);
Object root_0 = null;
- Token LSQUARE68=null;
- Token RSQUARE70=null;
- expr_return expr69 = null;
+ Token LSQUARE74=null;
+ Token RSQUARE76=null;
+ expr_return expr75 = null;
- Object LSQUARE68_tree=null;
- Object RSQUARE70_tree=null;
+ Object LSQUARE74_tree=null;
+ Object RSQUARE76_tree=null;
RewriteRuleTokenStream stream_LSQUARE=new RewriteRuleTokenStream(adaptor,"token LSQUARE");
RewriteRuleTokenStream stream_RSQUARE=new RewriteRuleTokenStream(adaptor,"token RSQUARE");
RewriteRuleSubtreeStream stream_expr=new RewriteRuleSubtreeStream(adaptor,"rule expr");
try {
- // dd/grammar/ECAGrammar.g:128:2: ( LSQUARE expr RSQUARE -> ^( expr ) )
- // dd/grammar/ECAGrammar.g:128:4: LSQUARE expr RSQUARE
+ // dd/grammar/ECAGrammar.g:130:2: ( LSQUARE expr RSQUARE -> ^( expr ) )
+ // dd/grammar/ECAGrammar.g:130:4: LSQUARE expr RSQUARE
{
- LSQUARE68=(Token)input.LT(1);
- match(input,LSQUARE,FOLLOW_LSQUARE_in_array_idx824); if (failed) return retval;
- if ( backtracking==0 ) stream_LSQUARE.add(LSQUARE68);
+ LSQUARE74=(Token)input.LT(1);
+ match(input,LSQUARE,FOLLOW_LSQUARE_in_array_idx880); if (failed) return retval;
+ if ( backtracking==0 ) stream_LSQUARE.add(LSQUARE74);
- pushFollow(FOLLOW_expr_in_array_idx826);
- expr69=expr();
+ pushFollow(FOLLOW_expr_in_array_idx882);
+ expr75=expr();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) stream_expr.add(expr69.getTree());
- RSQUARE70=(Token)input.LT(1);
- match(input,RSQUARE,FOLLOW_RSQUARE_in_array_idx828); if (failed) return retval;
- if ( backtracking==0 ) stream_RSQUARE.add(RSQUARE70);
+ if ( backtracking==0 ) stream_expr.add(expr75.getTree());
+ RSQUARE76=(Token)input.LT(1);
+ match(input,RSQUARE,FOLLOW_RSQUARE_in_array_idx884); if (failed) return retval;
+ if ( backtracking==0 ) stream_RSQUARE.add(RSQUARE76);
// AST REWRITE
@@ -3218,9 +3417,9 @@
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 128:27: -> ^( expr )
+ // 130:27: -> ^( expr )
{
- // dd/grammar/ECAGrammar.g:128:30: ^( expr )
+ // dd/grammar/ECAGrammar.g:130:30: ^( expr )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(stream_expr.nextNode(), root_1);
@@ -3257,25 +3456,25 @@
};
// $ANTLR start infix_oper
- // dd/grammar/ECAGrammar.g:131:1: infix_oper : ( infix_bit_oper | infix_arith_oper | infix_bool_oper | infix_cmp_oper );
+ // dd/grammar/ECAGrammar.g:133:1: infix_oper : ( infix_bit_oper | infix_arith_oper | infix_bool_oper | infix_cmp_oper );
public final infix_oper_return infix_oper() throws RecognitionException {
infix_oper_return retval = new infix_oper_return();
retval.start = input.LT(1);
Object root_0 = null;
- infix_bit_oper_return infix_bit_oper71 = null;
+ infix_bit_oper_return infix_bit_oper77 = null;
- infix_arith_oper_return infix_arith_oper72 = null;
+ infix_arith_oper_return infix_arith_oper78 = null;
- infix_bool_oper_return infix_bool_oper73 = null;
+ infix_bool_oper_return infix_bool_oper79 = null;
- infix_cmp_oper_return infix_cmp_oper74 = null;
+ infix_cmp_oper_return infix_cmp_oper80 = null;
try {
- // dd/grammar/ECAGrammar.g:131:12: ( infix_bit_oper | infix_arith_oper | infix_bool_oper | infix_cmp_oper )
+ // dd/grammar/ECAGrammar.g:133:12: ( infix_bit_oper | infix_arith_oper | infix_bool_oper | infix_cmp_oper )
int alt11=4;
switch ( input.LA(1) ) {
case BOR:
@@ -3312,61 +3511,61 @@
default:
if (backtracking>0) {failed=true; return retval;}
NoViableAltException nvae =
- new NoViableAltException("131:1: infix_oper : ( infix_bit_oper | infix_arith_oper | infix_bool_oper | infix_cmp_oper );", 11, 0, input);
+ new NoViableAltException("133:1: infix_oper : ( infix_bit_oper | infix_arith_oper | infix_bool_oper | infix_cmp_oper );", 11, 0, input);
throw nvae;
}
switch (alt11) {
case 1 :
- // dd/grammar/ECAGrammar.g:131:14: infix_bit_oper
+ // dd/grammar/ECAGrammar.g:133:14: infix_bit_oper
{
root_0 = (Object)adaptor.nil();
- pushFollow(FOLLOW_infix_bit_oper_in_infix_oper846);
- infix_bit_oper71=infix_bit_oper();
+ pushFollow(FOLLOW_infix_bit_oper_in_infix_oper902);
+ infix_bit_oper77=infix_bit_oper();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) adaptor.addChild(root_0, infix_bit_oper71.getTree());
+ if ( backtracking==0 ) adaptor.addChild(root_0, infix_bit_oper77.getTree());
}
break;
case 2 :
- // dd/grammar/ECAGrammar.g:132:4: infix_arith_oper
+ // dd/grammar/ECAGrammar.g:134:4: infix_arith_oper
{
root_0 = (Object)adaptor.nil();
- pushFollow(FOLLOW_infix_arith_oper_in_infix_oper851);
- infix_arith_oper72=infix_arith_oper();
+ pushFollow(FOLLOW_infix_arith_oper_in_infix_oper907);
+ infix_arith_oper78=infix_arith_oper();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) adaptor.addChild(root_0, infix_arith_oper72.getTree());
+ if ( backtracking==0 ) adaptor.addChild(root_0, infix_arith_oper78.getTree());
}
break;
case 3 :
- // dd/grammar/ECAGrammar.g:133:4: infix_bool_oper
+ // dd/grammar/ECAGrammar.g:135:4: infix_bool_oper
{
root_0 = (Object)adaptor.nil();
- pushFollow(FOLLOW_infix_bool_oper_in_infix_oper856);
- infix_bool_oper73=infix_bool_oper();
+ pushFollow(FOLLOW_infix_bool_oper_in_infix_oper912);
+ infix_bool_oper79=infix_bool_oper();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) adaptor.addChild(root_0, infix_bool_oper73.getTree());
+ if ( backtracking==0 ) adaptor.addChild(root_0, infix_bool_oper79.getTree());
}
break;
case 4 :
- // dd/grammar/ECAGrammar.g:134:4: infix_cmp_oper
+ // dd/grammar/ECAGrammar.g:136:4: infix_cmp_oper
{
root_0 = (Object)adaptor.nil();
- pushFollow(FOLLOW_infix_cmp_oper_in_infix_oper861);
- infix_cmp_oper74=infix_cmp_oper();
+ pushFollow(FOLLOW_infix_cmp_oper_in_infix_oper917);
+ infix_cmp_oper80=infix_cmp_oper();
_fsp--;
if (failed) return retval;
- if ( backtracking==0 ) adaptor.addChild(root_0, infix_cmp_oper74.getTree());
+ if ( backtracking==0 ) adaptor.addChild(root_0, infix_cmp_oper80.getTree());
}
break;
@@ -3395,27 +3594,27 @@
};
// $ANTLR start infix_bit_oper
- // dd/grammar/ECAGrammar.g:137:1: infix_bit_oper : ( BAND | BOR | BXOR );
+ // dd/grammar/ECAGrammar.g:139:1: infix_bit_oper : ( BAND | BOR | BXOR );
public final infix_bit_oper_return infix_bit_oper() throws RecognitionException {
infix_bit_oper_return retval = new infix_bit_oper_return();
retval.start = input.LT(1);
Object root_0 = null;
- Token set75=null;
+ Token set81=null;
- Object set75_tree=null;
+ Object set81_tree=null;
try {
- // dd/grammar/ECAGrammar.g:138:2: ( BAND | BOR | BXOR )
+ // dd/grammar/ECAGrammar.g:140:2: ( BAND | BOR | BXOR )
// dd/grammar/ECAGrammar.g:
{
root_0 = (Object)adaptor.nil();
- set75=(Token)input.LT(1);
+ set81=(Token)input.LT(1);
if ( (input.LA(1)>=BOR && input.LA(1)<=BXOR) ) {
input.consume();
- if ( backtracking==0 ) adaptor.addChild(root_0, adaptor.create(set75));
+ if ( backtracking==0 ) adaptor.addChild(root_0, adaptor.create(set81));
errorRecovery=false;failed=false;
}
else {
@@ -3451,27 +3650,27 @@
};
// $ANTLR start infix_arith_oper
- // dd/grammar/ECAGrammar.g:143:1: infix_arith_oper : ( MUL | DIV | PLUS | MINUS );
+ // dd/grammar/ECAGrammar.g:145:1: infix_arith_oper : ( MUL | DIV | PLUS | MINUS );
public final infix_arith_oper_return infix_arith_oper() throws RecognitionException {
infix_arith_oper_return retval = new infix_arith_oper_return();
retval.start = input.LT(1);
Object root_0 = null;
- Token set76=null;
+ Token set82=null;
- Object set76_tree=null;
+ Object set82_tree=null;
try {
- // dd/grammar/ECAGrammar.g:144:2: ( MUL | DIV | PLUS | MINUS )
+ // dd/grammar/ECAGrammar.g:146:2: ( MUL | DIV | PLUS | MINUS )
// dd/grammar/ECAGrammar.g:
{
root_0 = (Object)adaptor.nil();
- set76=(Token)input.LT(1);
+ set82=(Token)input.LT(1);
if ( (input.LA(1)>=MUL && input.LA(1)<=MINUS) ) {
input.consume();
- if ( backtracking==0 ) adaptor.addChild(root_0, adaptor.create(set76));
+ if ( backtracking==0 ) adaptor.addChild(root_0, adaptor.create(set82));
errorRecovery=false;failed=false;
}
else {
@@ -3507,27 +3706,27 @@
};
// $ANTLR start infix_bool_oper
- // dd/grammar/ECAGrammar.g:150:1: infix_bool_oper : ( AND | OR );
+ // dd/grammar/ECAGrammar.g:152:1: infix_bool_oper : ( AND | OR );
public final infix_bool_oper_return infix_bool_oper() throws RecognitionException {
infix_bool_oper_return retval = new infix_bool_oper_return();
retval.start = input.LT(1);
Object root_0 = null;
- Token set77=null;
+ Token set83=null;
- Object set77_tree=null;
+ Object set83_tree=null;
try {
- // dd/grammar/ECAGrammar.g:151:2: ( AND | OR )
+ // dd/grammar/ECAGrammar.g:153:2: ( AND | OR )
// dd/grammar/ECAGrammar.g:
{
root_0 = (Object)adaptor.nil();
- set77=(Token)input.LT(1);
+ set83=(Token)input.LT(1);
if ( (input.LA(1)>=OR && input.LA(1)<=AND) ) {
input.consume();
- if ( backtracking==0 ) adaptor.addChild(root_0, adaptor.create(set77));
+ if ( backtracking==0 ) adaptor.addChild(root_0, adaptor.create(set83));
errorRecovery=false;failed=false;
}
else {
@@ -3563,27 +3762,27 @@
};
// $ANTLR start infix_cmp_oper
- // dd/grammar/ECAGrammar.g:155:1: infix_cmp_oper : ( EQ | NEQ | GT | LT | GEQ | LEQ );
+ // dd/grammar/ECAGrammar.g:157:1: infix_cmp_oper : ( EQ | NEQ | GT | LT | GEQ | LEQ );
public final infix_cmp_oper_return infix_cmp_oper() throws RecognitionException {
infix_cmp_oper_return retval = new infix_cmp_oper_return();
retval.start = input.LT(1);
Object root_0 = null;
- Token set78=null;
+ Token set84=null;
- Object set78_tree=null;
+ Object set84_tree=null;
try {
- // dd/grammar/ECAGrammar.g:156:2: ( EQ | NEQ | GT | LT | GEQ | LEQ )
+ // dd/grammar/ECAGrammar.g:158:2: ( EQ | NEQ | GT | LT | GEQ | LEQ )
// dd/grammar/ECAGrammar.g:
{
root_0 = (Object)adaptor.nil();
- set78=(Token)input.LT(1);
+ set84=(Token)input.LT(1);
if ( (input.LA(1)>=EQ && input.LA(1)<=LEQ) ) {
input.consume();
- if ( backtracking==0 ) adaptor.addChild(root_0, adaptor.create(set78));
+ if ( backtracking==0 ) adaptor.addChild(root_0, adaptor.create(set84));
errorRecovery=false;failed=false;
}
else {
@@ -3619,27 +3818,27 @@
};
// $ANTLR start unary_oper
- // dd/grammar/ECAGrammar.g:164:1: unary_oper : ( NOT | TWIDDLE );
+ // dd/grammar/ECAGrammar.g:166:1: unary_oper : ( NOT | TWIDDLE );
public final unary_oper_return unary_oper() throws RecognitionException {
unary_oper_return retval = new unary_oper_return();
retval.start = input.LT(1);
Object root_0 = null;
- Token set79=null;
+ Token set85=null;
- Object set79_tree=null;
+ Object set85_tree=null;
try {
- // dd/grammar/ECAGrammar.g:164:12: ( NOT | TWIDDLE )
+ // dd/grammar/ECAGrammar.g:166:12: ( NOT | TWIDDLE )
// dd/grammar/ECAGrammar.g:
{
root_0 = (Object)adaptor.nil();
- set79=(Token)input.LT(1);
+ set85=(Token)input.LT(1);
if ( input.LA(1)==NOT||input.LA(1)==TWIDDLE ) {
input.consume();
- if ( backtracking==0 ) adaptor.addChild(root_0, adaptor.create(set79));
+ if ( backtracking==0 ) adaptor.addChild(root_0, adaptor.create(set85));
errorRecovery=false;failed=false;
}
else {
@@ -3707,84 +3906,84 @@
}
// $ANTLR end synpred6
- // $ANTLR start synpred9
- public final void synpred9_fragment() throws RecognitionException {
- // dd/grammar/ECAGrammar.g:101:8: ( simple_expr infix_oper expr )
- // dd/grammar/ECAGrammar.g:101:8: simple_expr infix_oper expr
+ // $ANTLR start synpred11
+ public final void synpred11_fragment() throws RecognitionException {
+ // dd/grammar/ECAGrammar.g:103:8: ( simple_expr infix_oper expr )
+ // dd/grammar/ECAGrammar.g:103:8: simple_expr infix_oper expr
{
- pushFollow(FOLLOW_simple_expr_in_synpred9554);
+ pushFollow(FOLLOW_simple_expr_in_synpred11610);
simple_expr();
_fsp--;
if (failed) return ;
- pushFollow(FOLLOW_infix_oper_in_synpred9556);
+ pushFollow(FOLLOW_infix_oper_in_synpred11612);
infix_oper();
_fsp--;
if (failed) return ;
- pushFollow(FOLLOW_expr_in_synpred9558);
+ pushFollow(FOLLOW_expr_in_synpred11614);
expr();
_fsp--;
if (failed) return ;
}
}
- // $ANTLR end synpred9
+ // $ANTLR end synpred11
- // $ANTLR start synpred10
- public final void synpred10_fragment() throws RecognitionException {
- // dd/grammar/ECAGrammar.g:102:4: ( simple_expr )
- // dd/grammar/ECAGrammar.g:102:4: simple_expr
+ // $ANTLR start synpred12
+ public final void synpred12_fragment() throws RecognitionException {
+ // dd/grammar/ECAGrammar.g:104:4: ( simple_expr )
+ // dd/grammar/ECAGrammar.g:104:4: simple_expr
{
- pushFollow(FOLLOW_simple_expr_in_synpred10576);
+ pushFollow(FOLLOW_simple_expr_in_synpred12632);
simple_expr();
_fsp--;
if (failed) return ;
}
}
- // $ANTLR end synpred10
+ // $ANTLR end synpred12
- // $ANTLR start synpred19
- public final void synpred19_fragment() throws RecognitionException {
- // dd/grammar/ECAGrammar.g:118:4: ( expr SEPR expr_list )
- // dd/grammar/ECAGrammar.g:118:4: expr SEPR expr_list
+ // $ANTLR start synpred21
+ public final void synpred21_fragment() throws RecognitionException {
+ // dd/grammar/ECAGrammar.g:120:4: ( expr SEPR expr_list )
+ // dd/grammar/ECAGrammar.g:120:4: expr SEPR expr_list
{
- pushFollow(FOLLOW_expr_in_synpred19762);
+ pushFollow(FOLLOW_expr_in_synpred21818);
expr();
_fsp--;
if (failed) return ;
- match(input,SEPR,FOLLOW_SEPR_in_synpred19764); if (failed) return ;
- pushFollow(FOLLOW_expr_list_in_synpred19766);
+ match(input,SEPR,FOLLOW_SEPR_in_synpred21820); if (failed) return ;
+ pushFollow(FOLLOW_expr_list_in_synpred21822);
expr_list();
_fsp--;
if (failed) return ;
}
}
- // $ANTLR end synpred19
+ // $ANTLR end synpred21
- // $ANTLR start synpred20
- public final void synpred20_fragment() throws RecognitionException {
- // dd/grammar/ECAGrammar.g:123:4: ( array_idx array_idx_list )
- // dd/grammar/ECAGrammar.g:123:4: array_idx array_idx_list
+ // $ANTLR start synpred22
+ public final void synpred22_fragment() throws RecognitionException {
+ // dd/grammar/ECAGrammar.g:125:4: ( array_idx array_idx_list )
+ // dd/grammar/ECAGrammar.g:125:4: array_idx array_idx_list
{
- pushFollow(FOLLOW_array_idx_in_synpred20794);
+ pushFollow(FOLLOW_array_idx_in_synpred22850);
array_idx();
_fsp--;
if (failed) return ;
- pushFollow(FOLLOW_array_idx_list_in_synpred20796);
+ pushFollow(FOLLOW_array_idx_list_in_synpred22852);
array_idx_list();
_fsp--;
if (failed) return ;
}
}
- // $ANTLR end synpred20
+ // $ANTLR end synpred22
- public final boolean synpred9() {
+ public final boolean synpred12() {
backtracking++;
int start = input.mark();
try {
- synpred9_fragment(); // can never throw exception
+ synpred12_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
@@ -3794,11 +3993,11 @@
failed=false;
return success;
}
- public final boolean synpred19() {
+ public final boolean synpred1() {
backtracking++;
int start = input.mark();
try {
- synpred19_fragment(); // can never throw exception
+ synpred1_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
@@ -3808,11 +4007,11 @@
failed=false;
return success;
}
- public final boolean synpred20() {
+ public final boolean synpred11() {
backtracking++;
int start = input.mark();
try {
- synpred20_fragment(); // can never throw exception
+ synpred11_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
@@ -3822,11 +4021,11 @@
failed=false;
return success;
}
- public final boolean synpred1() {
+ public final boolean synpred6() {
backtracking++;
int start = input.mark();
try {
- synpred1_fragment(); // can never throw exception
+ synpred6_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
@@ -3836,11 +4035,11 @@
failed=false;
return success;
}
- public final boolean synpred6() {
+ public final boolean synpred22() {
backtracking++;
int start = input.mark();
try {
- synpred6_fragment(); // can never throw exception
+ synpred22_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
@@ -3850,11 +4049,11 @@
failed=false;
return success;
}
- public final boolean synpred10() {
+ public final boolean synpred21() {
backtracking++;
int start = input.mark();
try {
- synpred10_fragment(); // can never throw exception
+ synpred21_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
@@ -3870,19 +4069,19 @@
public static final BitSet FOLLOW_eca_script_rule_one_in_eca_script_rule88 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_eca_script_rule90 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_RULE_in_eca_script_rule_one107 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_in_eca_script_rule_one107 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
public static final BitSet FOLLOW_SYMBOL_in_eca_script_rule_one111 = new BitSet(new long[]{0x0000000000020000L});
- public static final BitSet FOLLOW_CLASS_in_eca_script_rule_one115 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
+ public static final BitSet FOLLOW_CLASS_in_eca_script_rule_one115 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
public static final BitSet FOLLOW_SYMBOL_in_eca_script_rule_one119 = new BitSet(new long[]{0x0000000000040000L});
- public static final BitSet FOLLOW_METHOD_in_eca_script_rule_one123 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
+ public static final BitSet FOLLOW_METHOD_in_eca_script_rule_one123 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
public static final BitSet FOLLOW_SYMBOL_in_eca_script_rule_one127 = new BitSet(new long[]{0x0000000000080000L});
public static final BitSet FOLLOW_LINE_in_eca_script_rule_one131 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_NUMBER_in_eca_script_rule_one135 = new BitSet(new long[]{0x0000000000002000L});
- public static final BitSet FOLLOW_BIND_in_eca_script_rule_one139 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
+ public static final BitSet FOLLOW_BIND_in_eca_script_rule_one139 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
public static final BitSet FOLLOW_event_in_eca_script_rule_one143 = new BitSet(new long[]{0x0000000000004000L});
- public static final BitSet FOLLOW_IF_in_eca_script_rule_one147 = new BitSet(new long[]{0x2000401002C01000L,0x000000000000000AL});
+ public static final BitSet FOLLOW_IF_in_eca_script_rule_one147 = new BitSet(new long[]{0x4000802004C01000L,0x0000000000000014L});
public static final BitSet FOLLOW_condition_in_eca_script_rule_one151 = new BitSet(new long[]{0x0000000000008000L});
- public static final BitSet FOLLOW_DO_in_eca_script_rule_one155 = new BitSet(new long[]{0x2000401003201000L,0x000000000000000AL});
+ public static final BitSet FOLLOW_DO_in_eca_script_rule_one155 = new BitSet(new long[]{0x4000802007201000L,0x0000000000000014L});
public static final BitSet FOLLOW_action_in_eca_script_rule_one159 = new BitSet(new long[]{0x0000000000100000L});
public static final BitSet FOLLOW_ENDRULE_in_eca_script_rule_one163 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_eca_in_eca_rule200 = new BitSet(new long[]{0x0000000000000000L});
@@ -3893,22 +4092,22 @@
public static final BitSet FOLLOW_EOF_in_eca_condition239 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_action_in_eca_action255 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_eca_action257 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_BIND_in_eca273 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
+ public static final BitSet FOLLOW_BIND_in_eca273 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
public static final BitSet FOLLOW_event_in_eca277 = new BitSet(new long[]{0x0000000000004000L});
- public static final BitSet FOLLOW_IF_in_eca281 = new BitSet(new long[]{0x2000401002C01000L,0x000000000000000AL});
+ public static final BitSet FOLLOW_IF_in_eca281 = new BitSet(new long[]{0x4000802004C01000L,0x0000000000000014L});
public static final BitSet FOLLOW_condition_in_eca285 = new BitSet(new long[]{0x0000000000008000L});
- public static final BitSet FOLLOW_DO_in_eca289 = new BitSet(new long[]{0x2000401003201000L,0x000000000000000AL});
+ public static final BitSet FOLLOW_DO_in_eca289 = new BitSet(new long[]{0x4000802007201000L,0x0000000000000014L});
public static final BitSet FOLLOW_action_in_eca293 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_bindings_in_event320 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_binding_in_bindings332 = new BitSet(new long[]{0x0000000080000000L});
- public static final BitSet FOLLOW_SEPR_in_bindings334 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
+ public static final BitSet FOLLOW_binding_in_bindings332 = new BitSet(new long[]{0x0000000100000000L});
+ public static final BitSet FOLLOW_SEPR_in_bindings334 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
public static final BitSet FOLLOW_bindings_in_bindings336 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_binding_in_bindings351 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_bind_sym_in_binding361 = new BitSet(new long[]{0x0000000200000000L});
- public static final BitSet FOLLOW_ASSIGN_in_binding363 = new BitSet(new long[]{0x2000401002001000L,0x000000000000000AL});
+ public static final BitSet FOLLOW_bind_sym_in_binding361 = new BitSet(new long[]{0x0000000400000000L});
+ public static final BitSet FOLLOW_ASSIGN_in_binding363 = new BitSet(new long[]{0x4000802004001000L,0x0000000000000014L});
public static final BitSet FOLLOW_expr_in_binding365 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_SYMBOL_in_bind_sym388 = new BitSet(new long[]{0x0020000000000000L});
- public static final BitSet FOLLOW_COLON_in_bind_sym390 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
+ public static final BitSet FOLLOW_SYMBOL_in_bind_sym388 = new BitSet(new long[]{0x0040000000000000L});
+ public static final BitSet FOLLOW_COLON_in_bind_sym390 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
public static final BitSet FOLLOW_SYMBOL_in_bind_sym394 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SYMBOL_in_bind_sym412 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_TRUE_in_condition426 = new BitSet(new long[]{0x0000000000000002L});
@@ -3916,74 +4115,83 @@
public static final BitSet FOLLOW_expr_in_condition450 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NOTHING_in_action464 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_action_expr_list_in_action476 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_action_expr_in_action_expr_list487 = new BitSet(new long[]{0x0000000080000000L});
- public static final BitSet FOLLOW_SEPR_in_action_expr_list489 = new BitSet(new long[]{0x2000401003001000L,0x000000000000000AL});
+ public static final BitSet FOLLOW_action_expr_in_action_expr_list487 = new BitSet(new long[]{0x0000000100000000L});
+ public static final BitSet FOLLOW_SEPR_in_action_expr_list489 = new BitSet(new long[]{0x4000802007001000L,0x0000000000000014L});
public static final BitSet FOLLOW_action_expr_list_in_action_expr_list491 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_action_expr_in_action_expr_list506 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RETURN_in_action_expr516 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_RETURN_in_action_expr528 = new BitSet(new long[]{0x2000401002001000L,0x000000000000000AL});
- public static final BitSet FOLLOW_expr_in_action_expr530 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_expr_in_action_expr544 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_simple_expr_in_expr554 = new BitSet(new long[]{0x0007BFEC00000000L});
- public static final BitSet FOLLOW_infix_oper_in_expr556 = new BitSet(new long[]{0x2000401002001000L,0x000000000000000AL});
- public static final BitSet FOLLOW_expr_in_expr558 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_simple_expr_in_expr576 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_unary_oper_in_expr581 = new BitSet(new long[]{0x2000401002001000L,0x000000000000000AL});
- public static final BitSet FOLLOW_expr_in_expr583 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_simple_expr_in_expr602 = new BitSet(new long[]{0x0010000000000000L});
- public static final BitSet FOLLOW_TERN_IF_in_expr604 = new BitSet(new long[]{0x2000401002001000L,0x000000000000000AL});
- public static final BitSet FOLLOW_expr_in_expr608 = new BitSet(new long[]{0x0020000000000000L});
- public static final BitSet FOLLOW_COLON_in_expr610 = new BitSet(new long[]{0x2000401002001000L,0x000000000000000AL});
+ public static final BitSet FOLLOW_RETURN_in_action_expr530 = new BitSet(new long[]{0x4000802004001000L,0x0000000000000014L});
+ public static final BitSet FOLLOW_expr_in_action_expr532 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_THROW_in_action_expr548 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
+ public static final BitSet FOLLOW_SYMBOL_in_action_expr552 = new BitSet(new long[]{0x0000000004000000L});
+ public static final BitSet FOLLOW_LPAREN_in_action_expr554 = new BitSet(new long[]{0x0000000008000000L});
+ public static final BitSet FOLLOW_RPAREN_in_action_expr556 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_THROW_in_action_expr571 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
+ public static final BitSet FOLLOW_SYMBOL_in_action_expr575 = new BitSet(new long[]{0x0000000004000000L});
+ public static final BitSet FOLLOW_LPAREN_in_action_expr577 = new BitSet(new long[]{0x4000802004001000L,0x0000000000000014L});
+ public static final BitSet FOLLOW_expr_list_in_action_expr581 = new BitSet(new long[]{0x0000000008000000L});
+ public static final BitSet FOLLOW_RPAREN_in_action_expr583 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_expr_in_action_expr600 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_simple_expr_in_expr610 = new BitSet(new long[]{0x000F7FD800000000L});
+ public static final BitSet FOLLOW_infix_oper_in_expr612 = new BitSet(new long[]{0x4000802004001000L,0x0000000000000014L});
public static final BitSet FOLLOW_expr_in_expr614 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_DOLLARSYM_in_simple_expr641 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_SYMBOL_in_simple_expr648 = new BitSet(new long[]{0x0000000008000000L});
- public static final BitSet FOLLOW_array_idx_in_simple_expr652 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_SYMBOL_in_simple_expr673 = new BitSet(new long[]{0x0000000002000000L});
- public static final BitSet FOLLOW_LPAREN_in_simple_expr675 = new BitSet(new long[]{0x0000000004000000L});
- public static final BitSet FOLLOW_RPAREN_in_simple_expr677 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_SYMBOL_in_simple_expr695 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_SYMBOL_in_simple_expr702 = new BitSet(new long[]{0x0000000002000000L});
- public static final BitSet FOLLOW_LPAREN_in_simple_expr704 = new BitSet(new long[]{0x2000401002001000L,0x000000000000000AL});
- public static final BitSet FOLLOW_expr_list_in_simple_expr708 = new BitSet(new long[]{0x0000000004000000L});
- public static final BitSet FOLLOW_RPAREN_in_simple_expr710 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_NUMBER_in_simple_expr729 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_STRING_in_simple_expr734 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LPAREN_in_simple_expr739 = new BitSet(new long[]{0x2000401002001000L,0x000000000000000AL});
- public static final BitSet FOLLOW_expr_in_simple_expr741 = new BitSet(new long[]{0x0000000004000000L});
- public static final BitSet FOLLOW_RPAREN_in_simple_expr743 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_expr_in_expr_list762 = new BitSet(new long[]{0x0000000080000000L});
- public static final BitSet FOLLOW_SEPR_in_expr_list764 = new BitSet(new long[]{0x2000401002001000L,0x000000000000000AL});
- public static final BitSet FOLLOW_expr_list_in_expr_list766 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_expr_in_expr_list783 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_array_idx_in_array_idx_list794 = new BitSet(new long[]{0x0000000008000000L});
- public static final BitSet FOLLOW_array_idx_list_in_array_idx_list796 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_array_idx_in_array_idx_list813 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LSQUARE_in_array_idx824 = new BitSet(new long[]{0x2000401002001000L,0x000000000000000AL});
- public static final BitSet FOLLOW_expr_in_array_idx826 = new BitSet(new long[]{0x0000000010000000L});
- public static final BitSet FOLLOW_RSQUARE_in_array_idx828 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_infix_bit_oper_in_infix_oper846 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_infix_arith_oper_in_infix_oper851 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_infix_bool_oper_in_infix_oper856 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_infix_cmp_oper_in_infix_oper861 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_simple_expr_in_expr632 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_unary_oper_in_expr637 = new BitSet(new long[]{0x4000802004001000L,0x0000000000000014L});
+ public static final BitSet FOLLOW_expr_in_expr639 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_simple_expr_in_expr658 = new BitSet(new long[]{0x0020000000000000L});
+ public static final BitSet FOLLOW_TERN_IF_in_expr660 = new BitSet(new long[]{0x4000802004001000L,0x0000000000000014L});
+ public static final BitSet FOLLOW_expr_in_expr664 = new BitSet(new long[]{0x0040000000000000L});
+ public static final BitSet FOLLOW_COLON_in_expr666 = new BitSet(new long[]{0x4000802004001000L,0x0000000000000014L});
+ public static final BitSet FOLLOW_expr_in_expr670 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_DOLLARSYM_in_simple_expr697 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_SYMBOL_in_simple_expr704 = new BitSet(new long[]{0x0000000010000000L});
+ public static final BitSet FOLLOW_array_idx_in_simple_expr708 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_SYMBOL_in_simple_expr729 = new BitSet(new long[]{0x0000000004000000L});
+ public static final BitSet FOLLOW_LPAREN_in_simple_expr731 = new BitSet(new long[]{0x0000000008000000L});
+ public static final BitSet FOLLOW_RPAREN_in_simple_expr733 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_SYMBOL_in_simple_expr751 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_SYMBOL_in_simple_expr758 = new BitSet(new long[]{0x0000000004000000L});
+ public static final BitSet FOLLOW_LPAREN_in_simple_expr760 = new BitSet(new long[]{0x4000802004001000L,0x0000000000000014L});
+ public static final BitSet FOLLOW_expr_list_in_simple_expr764 = new BitSet(new long[]{0x0000000008000000L});
+ public static final BitSet FOLLOW_RPAREN_in_simple_expr766 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_NUMBER_in_simple_expr785 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_STRING_in_simple_expr790 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_LPAREN_in_simple_expr795 = new BitSet(new long[]{0x4000802004001000L,0x0000000000000014L});
+ public static final BitSet FOLLOW_expr_in_simple_expr797 = new BitSet(new long[]{0x0000000008000000L});
+ public static final BitSet FOLLOW_RPAREN_in_simple_expr799 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_expr_in_expr_list818 = new BitSet(new long[]{0x0000000100000000L});
+ public static final BitSet FOLLOW_SEPR_in_expr_list820 = new BitSet(new long[]{0x4000802004001000L,0x0000000000000014L});
+ public static final BitSet FOLLOW_expr_list_in_expr_list822 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_expr_in_expr_list839 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_array_idx_in_array_idx_list850 = new BitSet(new long[]{0x0000000010000000L});
+ public static final BitSet FOLLOW_array_idx_list_in_array_idx_list852 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_array_idx_in_array_idx_list869 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_LSQUARE_in_array_idx880 = new BitSet(new long[]{0x4000802004001000L,0x0000000000000014L});
+ public static final BitSet FOLLOW_expr_in_array_idx882 = new BitSet(new long[]{0x0000000020000000L});
+ public static final BitSet FOLLOW_RSQUARE_in_array_idx884 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_infix_bit_oper_in_infix_oper902 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_infix_arith_oper_in_infix_oper907 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_infix_bool_oper_in_infix_oper912 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_infix_cmp_oper_in_infix_oper917 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_set_in_infix_bit_oper0 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_set_in_infix_arith_oper0 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_set_in_infix_bool_oper0 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_set_in_infix_cmp_oper0 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_set_in_unary_oper0 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_binding_in_synpred1332 = new BitSet(new long[]{0x0000000080000000L});
- public static final BitSet FOLLOW_SEPR_in_synpred1334 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
+ public static final BitSet FOLLOW_binding_in_synpred1332 = new BitSet(new long[]{0x0000000100000000L});
+ public static final BitSet FOLLOW_SEPR_in_synpred1334 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
public static final BitSet FOLLOW_bindings_in_synpred1336 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_action_expr_in_synpred6487 = new BitSet(new long[]{0x0000000080000000L});
- public static final BitSet FOLLOW_SEPR_in_synpred6489 = new BitSet(new long[]{0x2000401003001000L,0x000000000000000AL});
+ public static final BitSet FOLLOW_action_expr_in_synpred6487 = new BitSet(new long[]{0x0000000100000000L});
+ public static final BitSet FOLLOW_SEPR_in_synpred6489 = new BitSet(new long[]{0x4000802007001000L,0x0000000000000014L});
public static final BitSet FOLLOW_action_expr_list_in_synpred6491 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_simple_expr_in_synpred9554 = new BitSet(new long[]{0x0007BFEC00000000L});
- public static final BitSet FOLLOW_infix_oper_in_synpred9556 = new BitSet(new long[]{0x2000401002001000L,0x000000000000000AL});
- public static final BitSet FOLLOW_expr_in_synpred9558 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_simple_expr_in_synpred10576 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_expr_in_synpred19762 = new BitSet(new long[]{0x0000000080000000L});
- public static final BitSet FOLLOW_SEPR_in_synpred19764 = new BitSet(new long[]{0x2000401002001000L,0x000000000000000AL});
- public static final BitSet FOLLOW_expr_list_in_synpred19766 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_array_idx_in_synpred20794 = new BitSet(new long[]{0x0000000008000000L});
- public static final BitSet FOLLOW_array_idx_list_in_synpred20796 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_simple_expr_in_synpred11610 = new BitSet(new long[]{0x000F7FD800000000L});
+ public static final BitSet FOLLOW_infix_oper_in_synpred11612 = new BitSet(new long[]{0x4000802004001000L,0x0000000000000014L});
+ public static final BitSet FOLLOW_expr_in_synpred11614 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_simple_expr_in_synpred12632 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_expr_in_synpred21818 = new BitSet(new long[]{0x0000000100000000L});
+ public static final BitSet FOLLOW_SEPR_in_synpred21820 = new BitSet(new long[]{0x4000802004001000L,0x0000000000000014L});
+ public static final BitSet FOLLOW_expr_list_in_synpred21822 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_array_idx_in_synpred22850 = new BitSet(new long[]{0x0000000010000000L});
+ public static final BitSet FOLLOW_array_idx_list_in_synpred22852 = new BitSet(new long[]{0x0000000000000002L});
}
\ No newline at end of file
Modified: labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/grammar/ECATokenLexer.java
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/grammar/ECATokenLexer.java 2008-09-30 13:06:38 UTC (rev 23222)
+++ labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/grammar/ECATokenLexer.java 2008-09-30 13:44:48 UTC (rev 23223)
@@ -1,4 +1,4 @@
-// $ANTLR 3.0.1 dd/grammar/ECAToken.g 2008-09-25 12:22:32
+// $ANTLR 3.0.1 dd/grammar/ECAToken.g 2008-09-30 13:45:22
package org.jboss.jbossts.orchestration.rule.grammar;
@@ -9,73 +9,74 @@
import java.util.ArrayList;
public class ECATokenLexer extends Lexer {
- public static final int MINUS=50;
+ public static final int MINUS=51;
public static final int NUMBER=12;
public static final int METHOD=18;
public static final int FLOAT=11;
public static final int FALSE=23;
public static final int POSDIGIT=5;
- public static final int TWIDDLE=46;
- public static final int LEQ=42;
+ public static final int TWIDDLE=47;
+ public static final int LEQ=43;
public static final int RULE=16;
- public static final int MOD=51;
- public static final int GEQ=41;
- public static final int DQUOTE=57;
- public static final int OR=34;
- public static final int BOR=43;
+ public static final int MOD=52;
+ public static final int GEQ=42;
+ public static final int DQUOTE=58;
+ public static final int BOR=44;
+ public static final int OR=35;
public static final int BAREINT=7;
- public static final int LBRACE=29;
- public static final int NEWLINE=59;
- public static final int DOT=32;
- public static final int RBRACE=30;
+ public static final int LBRACE=30;
+ public static final int NEWLINE=60;
+ public static final int DOT=33;
+ public static final int RBRACE=31;
public static final int INTEGER=8;
- public static final int AND=35;
- public static final int ASSIGN=33;
- public static final int SYMBOL=65;
- public static final int RPAREN=26;
+ public static final int AND=36;
+ public static final int ASSIGN=34;
+ public static final int SYMBOL=66;
+ public static final int RPAREN=27;
public static final int SIGN=6;
- public static final int LPAREN=25;
- public static final int PLUS=49;
+ public static final int LPAREN=26;
+ public static final int PLUS=50;
public static final int DIGIT=4;
public static final int LINE=19;
- public static final int BAND=44;
- public static final int NEQ=38;
- public static final int SPACE=58;
- public static final int LETTER=54;
- public static final int LSQUARE=27;
+ public static final int BAND=45;
+ public static final int NEQ=39;
+ public static final int SPACE=59;
+ public static final int LETTER=55;
+ public static final int LSQUARE=28;
public static final int DO=15;
public static final int POINT=9;
- public static final int BARESYM=62;
+ public static final int BARESYM=63;
public static final int NOTHING=21;
- public static final int SEPR=31;
- public static final int WS=68;
- public static final int STRING=61;
- public static final int EQ=37;
- public static final int QUOTSYM=63;
- public static final int LT=40;
- public static final int GT=39;
- public static final int DOLLAR=66;
- public static final int RSQUARE=28;
- public static final int QUOTE=56;
- public static final int TERN_IF=52;
- public static final int MUL=47;
+ public static final int SEPR=32;
+ public static final int WS=69;
+ public static final int STRING=62;
+ public static final int EQ=38;
+ public static final int QUOTSYM=64;
+ public static final int LT=41;
+ public static final int GT=40;
+ public static final int DOLLAR=67;
+ public static final int RSQUARE=29;
+ public static final int QUOTE=57;
+ public static final int TERN_IF=53;
+ public static final int MUL=48;
public static final int CLASS=17;
public static final int EXPPART=10;
- public static final int PUNCT=60;
+ public static final int PUNCT=61;
public static final int RETURN=24;
public static final int IF=14;
public static final int EOF=-1;
- public static final int Tokens=69;
- public static final int COLON=53;
- public static final int DIV=48;
- public static final int DOTSYM=64;
- public static final int BXOR=45;
+ public static final int Tokens=70;
+ public static final int COLON=54;
+ public static final int DIV=49;
+ public static final int DOTSYM=65;
+ public static final int BXOR=46;
public static final int ENDRULE=20;
public static final int BIND=13;
- public static final int NOT=36;
+ public static final int NOT=37;
public static final int TRUE=22;
- public static final int UNDERSCORE=55;
- public static final int DOLLARSYM=67;
+ public static final int UNDERSCORE=56;
+ public static final int THROW=25;
+ public static final int DOLLARSYM=68;
public ECATokenLexer() {;}
public ECATokenLexer(CharStream input) {
super(input);
@@ -681,12 +682,58 @@
}
// $ANTLR end RETURN
+ // $ANTLR start THROW
+ public final void mTHROW() throws RecognitionException {
+ try {
+ int _type = THROW;
+ // dd/grammar/ECAToken.g:82:7: ( 'THROW' | 'throw' )
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( (LA10_0=='T') ) {
+ alt10=1;
+ }
+ else if ( (LA10_0=='t') ) {
+ alt10=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("82:1: THROW : ( 'THROW' | 'throw' );", 10, 0, input);
+
+ throw nvae;
+ }
+ switch (alt10) {
+ case 1 :
+ // dd/grammar/ECAToken.g:82:9: 'THROW'
+ {
+ match("THROW");
+
+
+ }
+ break;
+ case 2 :
+ // dd/grammar/ECAToken.g:82:17: 'throw'
+ {
+ match("throw");
+
+
+ }
+ break;
+
+ }
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end THROW
+
// $ANTLR start LPAREN
public final void mLPAREN() throws RecognitionException {
try {
int _type = LPAREN;
- // dd/grammar/ECAToken.g:84:8: ( '(' )
- // dd/grammar/ECAToken.g:84:10: '('
+ // dd/grammar/ECAToken.g:87:8: ( '(' )
+ // dd/grammar/ECAToken.g:87:10: '('
{
match('(');
@@ -703,8 +750,8 @@
public final void mRPAREN() throws RecognitionException {
try {
int _type = RPAREN;
- // dd/grammar/ECAToken.g:87:8: ( ')' )
- // dd/grammar/ECAToken.g:87:10: ')'
+ // dd/grammar/ECAToken.g:90:8: ( ')' )
+ // dd/grammar/ECAToken.g:90:10: ')'
{
match(')');
@@ -721,8 +768,8 @@
public final void mLSQUARE() throws RecognitionException {
try {
int _type = LSQUARE;
- // dd/grammar/ECAToken.g:90:9: ( '\\[' )
- // dd/grammar/ECAToken.g:90:11: '\\['
+ // dd/grammar/ECAToken.g:93:9: ( '\\[' )
+ // dd/grammar/ECAToken.g:93:11: '\\['
{
match('[');
@@ -739,8 +786,8 @@
public final void mRSQUARE() throws RecognitionException {
try {
int _type = RSQUARE;
- // dd/grammar/ECAToken.g:93:9: ( '\\]' )
- // dd/grammar/ECAToken.g:93:11: '\\]'
+ // dd/grammar/ECAToken.g:96:9: ( '\\]' )
+ // dd/grammar/ECAToken.g:96:11: '\\]'
{
match(']');
@@ -757,8 +804,8 @@
public final void mLBRACE() throws RecognitionException {
try {
int _type = LBRACE;
- // dd/grammar/ECAToken.g:96:8: ( '{' )
- // dd/grammar/ECAToken.g:96:10: '{'
+ // dd/grammar/ECAToken.g:99:8: ( '{' )
+ // dd/grammar/ECAToken.g:99:10: '{'
{
match('{');
@@ -775,8 +822,8 @@
public final void mRBRACE() throws RecognitionException {
try {
int _type = RBRACE;
- // dd/grammar/ECAToken.g:99:8: ( '}' )
- // dd/grammar/ECAToken.g:99:10: '}'
+ // dd/grammar/ECAToken.g:102:8: ( '}' )
+ // dd/grammar/ECAToken.g:102:10: '}'
{
match('}');
@@ -793,7 +840,7 @@
public final void mSEPR() throws RecognitionException {
try {
int _type = SEPR;
- // dd/grammar/ECAToken.g:104:6: ( ';' | ',' )
+ // dd/grammar/ECAToken.g:107:6: ( ';' | ',' )
// dd/grammar/ECAToken.g:
{
if ( input.LA(1)==','||input.LA(1)==';' ) {
@@ -820,8 +867,8 @@
public final void mDOT() throws RecognitionException {
try {
int _type = DOT;
- // dd/grammar/ECAToken.g:110:5: ( '.' )
- // dd/grammar/ECAToken.g:110:7: '.'
+ // dd/grammar/ECAToken.g:113:5: ( '.' )
+ // dd/grammar/ECAToken.g:113:7: '.'
{
match('.');
@@ -838,32 +885,32 @@
public final void mASSIGN() throws RecognitionException {
try {
int _type = ASSIGN;
- // dd/grammar/ECAToken.g:115:8: ( '=' | '<--' )
- int alt10=2;
- int LA10_0 = input.LA(1);
+ // dd/grammar/ECAToken.g:118:8: ( '=' | '<--' )
+ int alt11=2;
+ int LA11_0 = input.LA(1);
- if ( (LA10_0=='=') ) {
- alt10=1;
+ if ( (LA11_0=='=') ) {
+ alt11=1;
}
- else if ( (LA10_0=='<') ) {
- alt10=2;
+ else if ( (LA11_0=='<') ) {
+ alt11=2;
}
else {
NoViableAltException nvae =
- new NoViableAltException("115:1: ASSIGN : ( '=' | '<--' );", 10, 0, input);
+ new NoViableAltException("118:1: ASSIGN : ( '=' | '<--' );", 11, 0, input);
throw nvae;
}
- switch (alt10) {
+ switch (alt11) {
case 1 :
- // dd/grammar/ECAToken.g:115:10: '='
+ // dd/grammar/ECAToken.g:118:10: '='
{
match('=');
}
break;
case 2 :
- // dd/grammar/ECAToken.g:116:4: '<--'
+ // dd/grammar/ECAToken.g:119:4: '<--'
{
match("<--");
@@ -883,34 +930,34 @@
public final void mOR() throws RecognitionException {
try {
int _type = OR;
- // dd/grammar/ECAToken.g:121:4: ( '||' | 'OR' | 'or' )
- int alt11=3;
+ // dd/grammar/ECAToken.g:124:4: ( '||' | 'OR' | 'or' )
+ int alt12=3;
switch ( input.LA(1) ) {
case '|':
{
- alt11=1;
+ alt12=1;
}
break;
case 'O':
{
- alt11=2;
+ alt12=2;
}
break;
case 'o':
{
- alt11=3;
+ alt12=3;
}
break;
default:
NoViableAltException nvae =
- new NoViableAltException("121:1: OR : ( '||' | 'OR' | 'or' );", 11, 0, input);
+ new NoViableAltException("124:1: OR : ( '||' | 'OR' | 'or' );", 12, 0, input);
throw nvae;
}
- switch (alt11) {
+ switch (alt12) {
case 1 :
- // dd/grammar/ECAToken.g:121:6: '||'
+ // dd/grammar/ECAToken.g:124:6: '||'
{
match("||");
@@ -918,7 +965,7 @@
}
break;
case 2 :
- // dd/grammar/ECAToken.g:122:4: 'OR'
+ // dd/grammar/ECAToken.g:125:4: 'OR'
{
match("OR");
@@ -926,7 +973,7 @@
}
break;
case 3 :
- // dd/grammar/ECAToken.g:123:4: 'or'
+ // dd/grammar/ECAToken.g:126:4: 'or'
{
match("or");
@@ -946,34 +993,34 @@
public final void mAND() throws RecognitionException {
try {
int _type = AND;
- // dd/grammar/ECAToken.g:126:5: ( '&&' | 'AND' | 'and' )
- int alt12=3;
+ // dd/grammar/ECAToken.g:129:5: ( '&&' | 'AND' | 'and' )
+ int alt13=3;
switch ( input.LA(1) ) {
case '&':
{
- alt12=1;
+ alt13=1;
}
break;
case 'A':
{
- alt12=2;
+ alt13=2;
}
break;
case 'a':
{
- alt12=3;
+ alt13=3;
}
break;
default:
NoViableAltException nvae =
- new NoViableAltException("126:1: AND : ( '&&' | 'AND' | 'and' );", 12, 0, input);
+ new NoViableAltException("129:1: AND : ( '&&' | 'AND' | 'and' );", 13, 0, input);
throw nvae;
}
- switch (alt12) {
+ switch (alt13) {
case 1 :
- // dd/grammar/ECAToken.g:126:7: '&&'
+ // dd/grammar/ECAToken.g:129:7: '&&'
{
match("&&");
@@ -981,7 +1028,7 @@
}
break;
case 2 :
- // dd/grammar/ECAToken.g:127:4: 'AND'
+ // dd/grammar/ECAToken.g:130:4: 'AND'
{
match("AND");
@@ -989,7 +1036,7 @@
}
break;
case 3 :
- // dd/grammar/ECAToken.g:128:4: 'and'
+ // dd/grammar/ECAToken.g:131:4: 'and'
{
match("and");
@@ -1009,41 +1056,41 @@
public final void mNOT() throws RecognitionException {
try {
int _type = NOT;
- // dd/grammar/ECAToken.g:131:5: ( '!' | 'NOT' | 'not' )
- int alt13=3;
+ // dd/grammar/ECAToken.g:134:5: ( '!' | 'NOT' | 'not' )
+ int alt14=3;
switch ( input.LA(1) ) {
case '!':
{
- alt13=1;
+ alt14=1;
}
break;
case 'N':
{
- alt13=2;
+ alt14=2;
}
break;
case 'n':
{
- alt13=3;
+ alt14=3;
}
break;
default:
NoViableAltException nvae =
- new NoViableAltException("131:1: NOT : ( '!' | 'NOT' | 'not' );", 13, 0, input);
+ new NoViableAltException("134:1: NOT : ( '!' | 'NOT' | 'not' );", 14, 0, input);
throw nvae;
}
- switch (alt13) {
+ switch (alt14) {
case 1 :
- // dd/grammar/ECAToken.g:131:7: '!'
+ // dd/grammar/ECAToken.g:134:7: '!'
{
match('!');
}
break;
case 2 :
- // dd/grammar/ECAToken.g:132:4: 'NOT'
+ // dd/grammar/ECAToken.g:135:4: 'NOT'
{
match("NOT");
@@ -1051,7 +1098,7 @@
}
break;
case 3 :
- // dd/grammar/ECAToken.g:133:4: 'not'
+ // dd/grammar/ECAToken.g:136:4: 'not'
{
match("not");
@@ -1071,34 +1118,34 @@
public final void mEQ() throws RecognitionException {
try {
int _type = EQ;
- // dd/grammar/ECAToken.g:138:4: ( '==' | 'EQ' | 'eq' )
- int alt14=3;
+ // dd/grammar/ECAToken.g:141:4: ( '==' | 'EQ' | 'eq' )
+ int alt15=3;
switch ( input.LA(1) ) {
case '=':
{
- alt14=1;
+ alt15=1;
}
break;
case 'E':
{
- alt14=2;
+ alt15=2;
}
break;
case 'e':
{
- alt14=3;
+ alt15=3;
}
break;
default:
NoViableAltException nvae =
- new NoViableAltException("138:1: EQ : ( '==' | 'EQ' | 'eq' );", 14, 0, input);
+ new NoViableAltException("141:1: EQ : ( '==' | 'EQ' | 'eq' );", 15, 0, input);
throw nvae;
}
- switch (alt14) {
+ switch (alt15) {
case 1 :
- // dd/grammar/ECAToken.g:138:6: '=='
+ // dd/grammar/ECAToken.g:141:6: '=='
{
match("==");
@@ -1106,7 +1153,7 @@
}
break;
case 2 :
- // dd/grammar/ECAToken.g:139:4: 'EQ'
+ // dd/grammar/ECAToken.g:142:4: 'EQ'
{
match("EQ");
@@ -1114,7 +1161,7 @@
}
break;
case 3 :
- // dd/grammar/ECAToken.g:140:4: 'eq'
+ // dd/grammar/ECAToken.g:143:4: 'eq'
{
match("eq");
@@ -1134,34 +1181,34 @@
public final void mNEQ() throws RecognitionException {
try {
int _type = NEQ;
- // dd/grammar/ECAToken.g:143:5: ( '!=' | 'NEQ' | 'neq' )
- int alt15=3;
+ // dd/grammar/ECAToken.g:146:5: ( '!=' | 'NEQ' | 'neq' )
+ int alt16=3;
switch ( input.LA(1) ) {
case '!':
{
- alt15=1;
+ alt16=1;
}
break;
case 'N':
{
- alt15=2;
+ alt16=2;
}
break;
case 'n':
{
- alt15=3;
+ alt16=3;
}
break;
default:
NoViableAltException nvae =
- new NoViableAltException("143:1: NEQ : ( '!=' | 'NEQ' | 'neq' );", 15, 0, input);
+ new NoViableAltException("146:1: NEQ : ( '!=' | 'NEQ' | 'neq' );", 16, 0, input);
throw nvae;
}
- switch (alt15) {
+ switch (alt16) {
case 1 :
- // dd/grammar/ECAToken.g:143:7: '!='
+ // dd/grammar/ECAToken.g:146:7: '!='
{
match("!=");
@@ -1169,7 +1216,7 @@
}
break;
case 2 :
- // dd/grammar/ECAToken.g:144:4: 'NEQ'
+ // dd/grammar/ECAToken.g:147:4: 'NEQ'
{
match("NEQ");
@@ -1177,7 +1224,7 @@
}
break;
case 3 :
- // dd/grammar/ECAToken.g:145:4: 'neq'
+ // dd/grammar/ECAToken.g:148:4: 'neq'
{
match("neq");
@@ -1197,41 +1244,41 @@
public final void mGT() throws RecognitionException {
try {
int _type = GT;
- // dd/grammar/ECAToken.g:148:4: ( '>' | 'GT' | 'gt' )
- int alt16=3;
+ // dd/grammar/ECAToken.g:151:4: ( '>' | 'GT' | 'gt' )
+ int alt17=3;
switch ( input.LA(1) ) {
case '>':
{
- alt16=1;
+ alt17=1;
}
break;
case 'G':
{
- alt16=2;
+ alt17=2;
}
break;
case 'g':
{
- alt16=3;
+ alt17=3;
}
break;
default:
NoViableAltException nvae =
- new NoViableAltException("148:1: GT : ( '>' | 'GT' | 'gt' );", 16, 0, input);
+ new NoViableAltException("151:1: GT : ( '>' | 'GT' | 'gt' );", 17, 0, input);
throw nvae;
}
- switch (alt16) {
+ switch (alt17) {
case 1 :
- // dd/grammar/ECAToken.g:148:6: '>'
+ // dd/grammar/ECAToken.g:151:6: '>'
{
match('>');
}
break;
case 2 :
- // dd/grammar/ECAToken.g:149:4: 'GT'
+ // dd/grammar/ECAToken.g:152:4: 'GT'
{
match("GT");
@@ -1239,7 +1286,7 @@
}
break;
case 3 :
- // dd/grammar/ECAToken.g:150:4: 'gt'
+ // dd/grammar/ECAToken.g:153:4: 'gt'
{
match("gt");
@@ -1259,41 +1306,41 @@
public final void mLT() throws RecognitionException {
try {
int _type = LT;
- // dd/grammar/ECAToken.g:153:4: ( '<' | 'LT' | 'lt' )
- int alt17=3;
+ // dd/grammar/ECAToken.g:156:4: ( '<' | 'LT' | 'lt' )
+ int alt18=3;
switch ( input.LA(1) ) {
case '<':
{
- alt17=1;
+ alt18=1;
}
break;
case 'L':
{
- alt17=2;
+ alt18=2;
}
break;
case 'l':
{
- alt17=3;
+ alt18=3;
}
break;
default:
NoViableAltException nvae =
- new NoViableAltException("153:1: LT : ( '<' | 'LT' | 'lt' );", 17, 0, input);
+ new NoViableAltException("156:1: LT : ( '<' | 'LT' | 'lt' );", 18, 0, input);
throw nvae;
}
- switch (alt17) {
+ switch (alt18) {
case 1 :
- // dd/grammar/ECAToken.g:153:6: '<'
+ // dd/grammar/ECAToken.g:156:6: '<'
{
match('<');
}
break;
case 2 :
- // dd/grammar/ECAToken.g:154:4: 'LT'
+ // dd/grammar/ECAToken.g:157:4: 'LT'
{
match("LT");
@@ -1301,7 +1348,7 @@
}
break;
case 3 :
- // dd/grammar/ECAToken.g:155:4: 'lt'
+ // dd/grammar/ECAToken.g:158:4: 'lt'
{
match("lt");
@@ -1321,34 +1368,34 @@
public final void mGEQ() throws RecognitionException {
try {
int _type = GEQ;
- // dd/grammar/ECAToken.g:158:5: ( '>=' | 'EQ' | 'geq' )
- int alt18=3;
+ // dd/grammar/ECAToken.g:161:5: ( '>=' | 'EQ' | 'geq' )
+ int alt19=3;
switch ( input.LA(1) ) {
case '>':
{
- alt18=1;
+ alt19=1;
}
break;
case 'E':
{
- alt18=2;
+ alt19=2;
}
break;
case 'g':
{
- alt18=3;
+ alt19=3;
}
break;
default:
NoViableAltException nvae =
- new NoViableAltException("158:1: GEQ : ( '>=' | 'EQ' | 'geq' );", 18, 0, input);
+ new NoViableAltException("161:1: GEQ : ( '>=' | 'EQ' | 'geq' );", 19, 0, input);
throw nvae;
}
- switch (alt18) {
+ switch (alt19) {
case 1 :
- // dd/grammar/ECAToken.g:158:7: '>='
+ // dd/grammar/ECAToken.g:161:7: '>='
{
match(">=");
@@ -1356,7 +1403,7 @@
}
break;
case 2 :
- // dd/grammar/ECAToken.g:159:4: 'EQ'
+ // dd/grammar/ECAToken.g:162:4: 'EQ'
{
match("EQ");
@@ -1364,7 +1411,7 @@
}
break;
case 3 :
- // dd/grammar/ECAToken.g:160:4: 'geq'
+ // dd/grammar/ECAToken.g:163:4: 'geq'
{
match("geq");
@@ -1384,34 +1431,34 @@
public final void mLEQ() throws RecognitionException {
try {
int _type = LEQ;
- // dd/grammar/ECAToken.g:163:5: ( '<=' | 'LEQ' | 'leq' )
- int alt19=3;
+ // dd/grammar/ECAToken.g:166:5: ( '<=' | 'LEQ' | 'leq' )
+ int alt20=3;
switch ( input.LA(1) ) {
case '<':
{
- alt19=1;
+ alt20=1;
}
break;
case 'L':
{
- alt19=2;
+ alt20=2;
}
break;
case 'l':
{
- alt19=3;
+ alt20=3;
}
break;
default:
NoViableAltException nvae =
- new NoViableAltException("163:1: LEQ : ( '<=' | 'LEQ' | 'leq' );", 19, 0, input);
+ new NoViableAltException("166:1: LEQ : ( '<=' | 'LEQ' | 'leq' );", 20, 0, input);
throw nvae;
}
- switch (alt19) {
+ switch (alt20) {
case 1 :
- // dd/grammar/ECAToken.g:163:7: '<='
+ // dd/grammar/ECAToken.g:166:7: '<='
{
match("<=");
@@ -1419,7 +1466,7 @@
}
break;
case 2 :
- // dd/grammar/ECAToken.g:164:4: 'LEQ'
+ // dd/grammar/ECAToken.g:167:4: 'LEQ'
{
match("LEQ");
@@ -1427,7 +1474,7 @@
}
break;
case 3 :
- // dd/grammar/ECAToken.g:165:4: 'leq'
+ // dd/grammar/ECAToken.g:168:4: 'leq'
{
match("leq");
@@ -1447,8 +1494,8 @@
public final void mBOR() throws RecognitionException {
try {
int _type = BOR;
- // dd/grammar/ECAToken.g:170:5: ( '|' )
- // dd/grammar/ECAToken.g:170:7: '|'
+ // dd/grammar/ECAToken.g:173:5: ( '|' )
+ // dd/grammar/ECAToken.g:173:7: '|'
{
match('|');
@@ -1465,8 +1512,8 @@
public final void mBAND() throws RecognitionException {
try {
int _type = BAND;
- // dd/grammar/ECAToken.g:173:6: ( '&' )
- // dd/grammar/ECAToken.g:173:8: '&'
+ // dd/grammar/ECAToken.g:176:6: ( '&' )
+ // dd/grammar/ECAToken.g:176:8: '&'
{
match('&');
@@ -1483,8 +1530,8 @@
public final void mBXOR() throws RecognitionException {
try {
int _type = BXOR;
- // dd/grammar/ECAToken.g:176:6: ( '^' )
- // dd/grammar/ECAToken.g:176:8: '^'
+ // dd/grammar/ECAToken.g:179:6: ( '^' )
+ // dd/grammar/ECAToken.g:179:8: '^'
{
match('^');
@@ -1501,8 +1548,8 @@
public final void mTWIDDLE() throws RecognitionException {
try {
int _type = TWIDDLE;
- // dd/grammar/ECAToken.g:179:9: ( '~' )
- // dd/grammar/ECAToken.g:179:11: '~'
+ // dd/grammar/ECAToken.g:182:9: ( '~' )
+ // dd/grammar/ECAToken.g:182:11: '~'
{
match('~');
@@ -1519,41 +1566,41 @@
public final void mMUL() throws RecognitionException {
try {
int _type = MUL;
- // dd/grammar/ECAToken.g:184:5: ( '*' | 'TIMES' | 'times' )
- int alt20=3;
+ // dd/grammar/ECAToken.g:187:5: ( '*' | 'TIMES' | 'times' )
+ int alt21=3;
switch ( input.LA(1) ) {
case '*':
{
- alt20=1;
+ alt21=1;
}
break;
case 'T':
{
- alt20=2;
+ alt21=2;
}
break;
case 't':
{
- alt20=3;
+ alt21=3;
}
break;
default:
NoViableAltException nvae =
- new NoViableAltException("184:1: MUL : ( '*' | 'TIMES' | 'times' );", 20, 0, input);
+ new NoViableAltException("187:1: MUL : ( '*' | 'TIMES' | 'times' );", 21, 0, input);
throw nvae;
}
- switch (alt20) {
+ switch (alt21) {
case 1 :
- // dd/grammar/ECAToken.g:184:7: '*'
+ // dd/grammar/ECAToken.g:187:7: '*'
{
match('*');
}
break;
case 2 :
- // dd/grammar/ECAToken.g:185:4: 'TIMES'
+ // dd/grammar/ECAToken.g:188:4: 'TIMES'
{
match("TIMES");
@@ -1561,7 +1608,7 @@
}
break;
case 3 :
- // dd/grammar/ECAToken.g:186:4: 'times'
+ // dd/grammar/ECAToken.g:189:4: 'times'
{
match("times");
@@ -1581,41 +1628,41 @@
public final void mDIV() throws RecognitionException {
try {
int _type = DIV;
- // dd/grammar/ECAToken.g:189:5: ( '/' | 'DIVIDE' | 'divide' )
- int alt21=3;
+ // dd/grammar/ECAToken.g:192:5: ( '/' | 'DIVIDE' | 'divide' )
+ int alt22=3;
switch ( input.LA(1) ) {
case '/':
{
- alt21=1;
+ alt22=1;
}
break;
case 'D':
{
- alt21=2;
+ alt22=2;
}
break;
case 'd':
{
- alt21=3;
+ alt22=3;
}
break;
default:
NoViableAltException nvae =
- new NoViableAltException("189:1: DIV : ( '/' | 'DIVIDE' | 'divide' );", 21, 0, input);
+ new NoViableAltException("192:1: DIV : ( '/' | 'DIVIDE' | 'divide' );", 22, 0, input);
throw nvae;
}
- switch (alt21) {
+ switch (alt22) {
case 1 :
- // dd/grammar/ECAToken.g:189:7: '/'
+ // dd/grammar/ECAToken.g:192:7: '/'
{
match('/');
}
break;
case 2 :
- // dd/grammar/ECAToken.g:190:4: 'DIVIDE'
+ // dd/grammar/ECAToken.g:193:4: 'DIVIDE'
{
match("DIVIDE");
@@ -1623,7 +1670,7 @@
}
break;
case 3 :
- // dd/grammar/ECAToken.g:191:4: 'divide'
+ // dd/grammar/ECAToken.g:194:4: 'divide'
{
match("divide");
@@ -1643,41 +1690,41 @@
public final void mPLUS() throws RecognitionException {
try {
int _type = PLUS;
- // dd/grammar/ECAToken.g:194:6: ( '+' | 'PLUS' | 'plus' )
- int alt22=3;
+ // dd/grammar/ECAToken.g:197:6: ( '+' | 'PLUS' | 'plus' )
+ int alt23=3;
switch ( input.LA(1) ) {
case '+':
{
- alt22=1;
+ alt23=1;
}
break;
case 'P':
{
- alt22=2;
+ alt23=2;
}
break;
case 'p':
{
- alt22=3;
+ alt23=3;
}
break;
default:
NoViableAltException nvae =
- new NoViableAltException("194:1: PLUS : ( '+' | 'PLUS' | 'plus' );", 22, 0, input);
+ new NoViableAltException("197:1: PLUS : ( '+' | 'PLUS' | 'plus' );", 23, 0, input);
throw nvae;
}
- switch (alt22) {
+ switch (alt23) {
case 1 :
- // dd/grammar/ECAToken.g:194:8: '+'
+ // dd/grammar/ECAToken.g:197:8: '+'
{
match('+');
}
break;
case 2 :
- // dd/grammar/ECAToken.g:195:4: 'PLUS'
+ // dd/grammar/ECAToken.g:198:4: 'PLUS'
{
match("PLUS");
@@ -1685,7 +1732,7 @@
}
break;
case 3 :
- // dd/grammar/ECAToken.g:196:4: 'plus'
+ // dd/grammar/ECAToken.g:199:4: 'plus'
{
match("plus");
@@ -1705,41 +1752,41 @@
public final void mMINUS() throws RecognitionException {
try {
int _type = MINUS;
- // dd/grammar/ECAToken.g:199:7: ( '-' | 'MINUS' | 'minus' )
- int alt23=3;
+ // dd/grammar/ECAToken.g:202:7: ( '-' | 'MINUS' | 'minus' )
+ int alt24=3;
switch ( input.LA(1) ) {
case '-':
{
- alt23=1;
+ alt24=1;
}
break;
case 'M':
{
- alt23=2;
+ alt24=2;
}
break;
case 'm':
{
- alt23=3;
+ alt24=3;
}
break;
default:
NoViableAltException nvae =
- new NoViableAltException("199:1: MINUS : ( '-' | 'MINUS' | 'minus' );", 23, 0, input);
+ new NoViableAltException("202:1: MINUS : ( '-' | 'MINUS' | 'minus' );", 24, 0, input);
throw nvae;
}
- switch (alt23) {
+ switch (alt24) {
case 1 :
- // dd/grammar/ECAToken.g:199:9: '-'
+ // dd/grammar/ECAToken.g:202:9: '-'
{
match('-');
}
break;
case 2 :
- // dd/grammar/ECAToken.g:200:4: 'MINUS'
+ // dd/grammar/ECAToken.g:203:4: 'MINUS'
{
match("MINUS");
@@ -1747,7 +1794,7 @@
}
break;
case 3 :
- // dd/grammar/ECAToken.g:201:4: 'minus'
+ // dd/grammar/ECAToken.g:204:4: 'minus'
{
match("minus");
@@ -1767,41 +1814,41 @@
public final void mMOD() throws RecognitionException {
try {
int _type = MOD;
- // dd/grammar/ECAToken.g:204:5: ( '%' | 'MOD' | 'mod' )
- int alt24=3;
+ // dd/grammar/ECAToken.g:207:5: ( '%' | 'MOD' | 'mod' )
+ int alt25=3;
switch ( input.LA(1) ) {
case '%':
{
- alt24=1;
+ alt25=1;
}
break;
case 'M':
{
- alt24=2;
+ alt25=2;
}
break;
case 'm':
{
- alt24=3;
+ alt25=3;
}
break;
default:
NoViableAltException nvae =
- new NoViableAltException("204:1: MOD : ( '%' | 'MOD' | 'mod' );", 24, 0, input);
+ new NoViableAltException("207:1: MOD : ( '%' | 'MOD' | 'mod' );", 25, 0, input);
throw nvae;
}
- switch (alt24) {
+ switch (alt25) {
case 1 :
- // dd/grammar/ECAToken.g:204:7: '%'
+ // dd/grammar/ECAToken.g:207:7: '%'
{
match('%');
}
break;
case 2 :
- // dd/grammar/ECAToken.g:205:4: 'MOD'
+ // dd/grammar/ECAToken.g:208:4: 'MOD'
{
match("MOD");
@@ -1809,7 +1856,7 @@
}
break;
case 3 :
- // dd/grammar/ECAToken.g:206:4: 'mod'
+ // dd/grammar/ECAToken.g:209:4: 'mod'
{
match("mod");
@@ -1829,8 +1876,8 @@
public final void mTERN_IF() throws RecognitionException {
try {
int _type = TERN_IF;
- // dd/grammar/ECAToken.g:211:9: ( '?' )
- // dd/grammar/ECAToken.g:211:11: '?'
+ // dd/grammar/ECAToken.g:214:9: ( '?' )
+ // dd/grammar/ECAToken.g:214:11: '?'
{
match('?');
@@ -1847,8 +1894,8 @@
public final void mCOLON() throws RecognitionException {
try {
int _type = COLON;
- // dd/grammar/ECAToken.g:214:7: ( ':' )
- // dd/grammar/ECAToken.g:214:9: ':'
+ // dd/grammar/ECAToken.g:217:7: ( ':' )
+ // dd/grammar/ECAToken.g:217:9: ':'
{
match(':');
@@ -1864,7 +1911,7 @@
// $ANTLR start LETTER
public final void mLETTER() throws RecognitionException {
try {
- // dd/grammar/ECAToken.g:220:8: ( 'a' .. 'z' | 'A' .. 'Z' )
+ // dd/grammar/ECAToken.g:223:8: ( 'a' .. 'z' | 'A' .. 'Z' )
// dd/grammar/ECAToken.g:
{
if ( (input.LA(1)>='A' && input.LA(1)<='Z')||(input.LA(1)>='a' && input.LA(1)<='z') ) {
@@ -1889,8 +1936,8 @@
// $ANTLR start UNDERSCORE
public final void mUNDERSCORE() throws RecognitionException {
try {
- // dd/grammar/ECAToken.g:224:12: ( '_' )
- // dd/grammar/ECAToken.g:224:14: '_'
+ // dd/grammar/ECAToken.g:227:12: ( '_' )
+ // dd/grammar/ECAToken.g:227:14: '_'
{
match('_');
@@ -1906,8 +1953,8 @@
public final void mQUOTE() throws RecognitionException {
try {
int _type = QUOTE;
- // dd/grammar/ECAToken.g:227:7: ( '\\'' )
- // dd/grammar/ECAToken.g:227:9: '\\''
+ // dd/grammar/ECAToken.g:230:7: ( '\\'' )
+ // dd/grammar/ECAToken.g:230:9: '\\''
{
match('\'');
@@ -1924,8 +1971,8 @@
public final void mDQUOTE() throws RecognitionException {
try {
int _type = DQUOTE;
- // dd/grammar/ECAToken.g:230:8: ( '\"' )
- // dd/grammar/ECAToken.g:230:10: '\"'
+ // dd/grammar/ECAToken.g:233:8: ( '\"' )
+ // dd/grammar/ECAToken.g:233:10: '\"'
{
match('\"');
@@ -1941,7 +1988,7 @@
// $ANTLR start SPACE
public final void mSPACE() throws RecognitionException {
try {
- // dd/grammar/ECAToken.g:234:7: ( ' ' | '\\t' | '\\r' )
+ // dd/grammar/ECAToken.g:237:7: ( ' ' | '\\t' | '\\r' )
// dd/grammar/ECAToken.g:
{
if ( input.LA(1)=='\t'||input.LA(1)=='\r'||input.LA(1)==' ' ) {
@@ -1966,8 +2013,8 @@
// $ANTLR start NEWLINE
public final void mNEWLINE() throws RecognitionException {
try {
- // dd/grammar/ECAToken.g:238:9: ( '\\n' )
- // dd/grammar/ECAToken.g:238:11: '\\n'
+ // dd/grammar/ECAToken.g:241:9: ( '\\n' )
+ // dd/grammar/ECAToken.g:241:11: '\\n'
{
match('\n');
@@ -1982,7 +2029,7 @@
// $ANTLR start PUNCT
public final void mPUNCT() throws RecognitionException {
try {
- // dd/grammar/ECAToken.g:242:7: ( '!' | '$' | '%' | '^' | '&' | '*' | '(' | ')' | '-' | '+' | '=' | '{' | '}' | '[' | ']' | ':' | ';' | '@' | '~' | '#' | '|' | '\\\\' | '`' | ',' | '<' | '.' | '>' | '/' | '?' )
+ // dd/grammar/ECAToken.g:245:7: ( '!' | '$' | '%' | '^' | '&' | '*' | '(' | ')' | '-' | '+' | '=' | '{' | '}' | '[' | ']' | ':' | ';' | '@' | '~' | '#' | '|' | '\\\\' | '`' | ',' | '<' | '.' | '>' | '/' | '?' )
// dd/grammar/ECAToken.g:
{
if ( input.LA(1)=='!'||(input.LA(1)>='#' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='/')||(input.LA(1)>=':' && input.LA(1)<='@')||(input.LA(1)>='[' && input.LA(1)<='^')||input.LA(1)=='`'||(input.LA(1)>='{' && input.LA(1)<='~') ) {
@@ -2008,22 +2055,22 @@
public final void mSTRING() throws RecognitionException {
try {
int _type = STRING;
- // dd/grammar/ECAToken.g:245:8: ( DQUOTE ( SPACE | PUNCT | LETTER | UNDERSCORE | DIGIT | QUOTE )* DQUOTE )
- // dd/grammar/ECAToken.g:245:10: DQUOTE ( SPACE | PUNCT | LETTER | UNDERSCORE | DIGIT | QUOTE )* DQUOTE
+ // dd/grammar/ECAToken.g:248:8: ( DQUOTE ( SPACE | PUNCT | LETTER | UNDERSCORE | DIGIT | QUOTE )* DQUOTE )
+ // dd/grammar/ECAToken.g:248:10: DQUOTE ( SPACE | PUNCT | LETTER | UNDERSCORE | DIGIT | QUOTE )* DQUOTE
{
mDQUOTE();
- // dd/grammar/ECAToken.g:245:17: ( SPACE | PUNCT | LETTER | UNDERSCORE | DIGIT | QUOTE )*
- loop25:
+ // dd/grammar/ECAToken.g:248:17: ( SPACE | PUNCT | LETTER | UNDERSCORE | DIGIT | QUOTE )*
+ loop26:
do {
- int alt25=2;
- int LA25_0 = input.LA(1);
+ int alt26=2;
+ int LA26_0 = input.LA(1);
- if ( (LA25_0=='\t'||LA25_0=='\r'||(LA25_0>=' ' && LA25_0<='!')||(LA25_0>='#' && LA25_0<='~')) ) {
- alt25=1;
+ if ( (LA26_0=='\t'||LA26_0=='\r'||(LA26_0>=' ' && LA26_0<='!')||(LA26_0>='#' && LA26_0<='~')) ) {
+ alt26=1;
}
- switch (alt25) {
+ switch (alt26) {
case 1 :
// dd/grammar/ECAToken.g:
{
@@ -2042,7 +2089,7 @@
break;
default :
- break loop25;
+ break loop26;
}
} while (true);
@@ -2060,8 +2107,8 @@
// $ANTLR start BARESYM
public final void mBARESYM() throws RecognitionException {
try {
- // dd/grammar/ECAToken.g:249:9: ( ( LETTER | UNDERSCORE ) ( LETTER | DIGIT | UNDERSCORE )* )
- // dd/grammar/ECAToken.g:249:11: ( LETTER | UNDERSCORE ) ( LETTER | DIGIT | UNDERSCORE )*
+ // dd/grammar/ECAToken.g:252:9: ( ( LETTER | UNDERSCORE ) ( LETTER | DIGIT | UNDERSCORE )* )
+ // dd/grammar/ECAToken.g:252:11: ( LETTER | UNDERSCORE ) ( LETTER | DIGIT | UNDERSCORE )*
{
if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
input.consume();
@@ -2073,18 +2120,18 @@
recover(mse); throw mse;
}
- // dd/grammar/ECAToken.g:249:33: ( LETTER | DIGIT | UNDERSCORE )*
- loop26:
+ // dd/grammar/ECAToken.g:252:33: ( LETTER | DIGIT | UNDERSCORE )*
+ loop27:
do {
- int alt26=2;
- int LA26_0 = input.LA(1);
+ int alt27=2;
+ int LA27_0 = input.LA(1);
- if ( ((LA26_0>='0' && LA26_0<='9')||(LA26_0>='A' && LA26_0<='Z')||LA26_0=='_'||(LA26_0>='a' && LA26_0<='z')) ) {
- alt26=1;
+ if ( ((LA27_0>='0' && LA27_0<='9')||(LA27_0>='A' && LA27_0<='Z')||LA27_0=='_'||(LA27_0>='a' && LA27_0<='z')) ) {
+ alt27=1;
}
- switch (alt26) {
+ switch (alt27) {
case 1 :
// dd/grammar/ECAToken.g:
{
@@ -2103,7 +2150,7 @@
break;
default :
- break loop26;
+ break loop27;
}
} while (true);
@@ -2119,22 +2166,22 @@
// $ANTLR start QUOTSYM
public final void mQUOTSYM() throws RecognitionException {
try {
- // dd/grammar/ECAToken.g:252:9: ( QUOTE ( PUNCT | LETTER | UNDERSCORE | DIGIT | DQUOTE | SPACE )* QUOTE )
- // dd/grammar/ECAToken.g:252:11: QUOTE ( PUNCT | LETTER | UNDERSCORE | DIGIT | DQUOTE | SPACE )* QUOTE
+ // dd/grammar/ECAToken.g:255:9: ( QUOTE ( PUNCT | LETTER | UNDERSCORE | DIGIT | DQUOTE | SPACE )* QUOTE )
+ // dd/grammar/ECAToken.g:255:11: QUOTE ( PUNCT | LETTER | UNDERSCORE | DIGIT | DQUOTE | SPACE )* QUOTE
{
mQUOTE();
- // dd/grammar/ECAToken.g:252:17: ( PUNCT | LETTER | UNDERSCORE | DIGIT | DQUOTE | SPACE )*
- loop27:
+ // dd/grammar/ECAToken.g:255:17: ( PUNCT | LETTER | UNDERSCORE | DIGIT | DQUOTE | SPACE )*
+ loop28:
do {
- int alt27=2;
- int LA27_0 = input.LA(1);
+ int alt28=2;
+ int LA28_0 = input.LA(1);
- if ( (LA27_0=='\t'||LA27_0=='\r'||(LA27_0>=' ' && LA27_0<='&')||(LA27_0>='(' && LA27_0<='~')) ) {
- alt27=1;
+ if ( (LA28_0=='\t'||LA28_0=='\r'||(LA28_0>=' ' && LA28_0<='&')||(LA28_0>='(' && LA28_0<='~')) ) {
+ alt28=1;
}
- switch (alt27) {
+ switch (alt28) {
case 1 :
// dd/grammar/ECAToken.g:
{
@@ -2153,7 +2200,7 @@
break;
default :
- break loop27;
+ break loop28;
}
} while (true);
@@ -2170,12 +2217,12 @@
// $ANTLR start DOTSYM
public final void mDOTSYM() throws RecognitionException {
try {
- // dd/grammar/ECAToken.g:257:8: ( BARESYM DOT DOTSYM | BARESYM )
- int alt28=2;
- alt28 = dfa28.predict(input);
- switch (alt28) {
+ // dd/grammar/ECAToken.g:260:8: ( BARESYM DOT DOTSYM | BARESYM )
+ int alt29=2;
+ alt29 = dfa29.predict(input);
+ switch (alt29) {
case 1 :
- // dd/grammar/ECAToken.g:257:10: BARESYM DOT DOTSYM
+ // dd/grammar/ECAToken.g:260:10: BARESYM DOT DOTSYM
{
mBARESYM();
mDOT();
@@ -2184,7 +2231,7 @@
}
break;
case 2 :
- // dd/grammar/ECAToken.g:258:4: BARESYM
+ // dd/grammar/ECAToken.g:261:4: BARESYM
{
mBARESYM();
@@ -2202,32 +2249,32 @@
public final void mSYMBOL() throws RecognitionException {
try {
int _type = SYMBOL;
- // dd/grammar/ECAToken.g:261:8: ( DOTSYM | QUOTSYM )
- int alt29=2;
- int LA29_0 = input.LA(1);
+ // dd/grammar/ECAToken.g:264:8: ( DOTSYM | QUOTSYM )
+ int alt30=2;
+ int LA30_0 = input.LA(1);
- if ( ((LA29_0>='A' && LA29_0<='Z')||LA29_0=='_'||(LA29_0>='a' && LA29_0<='z')) ) {
- alt29=1;
+ if ( ((LA30_0>='A' && LA30_0<='Z')||LA30_0=='_'||(LA30_0>='a' && LA30_0<='z')) ) {
+ alt30=1;
}
- else if ( (LA29_0=='\'') ) {
- alt29=2;
+ else if ( (LA30_0=='\'') ) {
+ alt30=2;
}
else {
NoViableAltException nvae =
- new NoViableAltException("261:1: SYMBOL : ( DOTSYM | QUOTSYM );", 29, 0, input);
+ new NoViableAltException("264:1: SYMBOL : ( DOTSYM | QUOTSYM );", 30, 0, input);
throw nvae;
}
- switch (alt29) {
+ switch (alt30) {
case 1 :
- // dd/grammar/ECAToken.g:261:10: DOTSYM
+ // dd/grammar/ECAToken.g:264:10: DOTSYM
{
mDOTSYM();
}
break;
case 2 :
- // dd/grammar/ECAToken.g:262:4: QUOTSYM
+ // dd/grammar/ECAToken.g:265:4: QUOTSYM
{
mQUOTSYM();
@@ -2245,8 +2292,8 @@
// $ANTLR start DOLLAR
public final void mDOLLAR() throws RecognitionException {
try {
- // dd/grammar/ECAToken.g:267:8: ( '$' )
- // dd/grammar/ECAToken.g:267:10: '$'
+ // dd/grammar/ECAToken.g:270:8: ( '$' )
+ // dd/grammar/ECAToken.g:270:10: '$'
{
match('$');
@@ -2262,36 +2309,36 @@
public final void mDOLLARSYM() throws RecognitionException {
try {
int _type = DOLLARSYM;
- // dd/grammar/ECAToken.g:272:11: ( DOLLAR ( BAREINT | BARESYM ) )
- // dd/grammar/ECAToken.g:272:13: DOLLAR ( BAREINT | BARESYM )
+ // dd/grammar/ECAToken.g:275:11: ( DOLLAR ( BAREINT | BARESYM ) )
+ // dd/grammar/ECAToken.g:275:13: DOLLAR ( BAREINT | BARESYM )
{
mDOLLAR();
- // dd/grammar/ECAToken.g:272:20: ( BAREINT | BARESYM )
- int alt30=2;
- int LA30_0 = input.LA(1);
+ // dd/grammar/ECAToken.g:275:20: ( BAREINT | BARESYM )
+ int alt31=2;
+ int LA31_0 = input.LA(1);
- if ( ((LA30_0>='0' && LA30_0<='9')) ) {
- alt30=1;
+ if ( ((LA31_0>='0' && LA31_0<='9')) ) {
+ alt31=1;
}
- else if ( ((LA30_0>='A' && LA30_0<='Z')||LA30_0=='_'||(LA30_0>='a' && LA30_0<='z')) ) {
- alt30=2;
+ else if ( ((LA31_0>='A' && LA31_0<='Z')||LA31_0=='_'||(LA31_0>='a' && LA31_0<='z')) ) {
+ alt31=2;
}
else {
NoViableAltException nvae =
- new NoViableAltException("272:20: ( BAREINT | BARESYM )", 30, 0, input);
+ new NoViableAltException("275:20: ( BAREINT | BARESYM )", 31, 0, input);
throw nvae;
}
- switch (alt30) {
+ switch (alt31) {
case 1 :
- // dd/grammar/ECAToken.g:272:21: BAREINT
+ // dd/grammar/ECAToken.g:275:21: BAREINT
{
mBAREINT();
}
break;
case 2 :
- // dd/grammar/ECAToken.g:272:31: BARESYM
+ // dd/grammar/ECAToken.g:275:31: BARESYM
{
mBARESYM();
@@ -2314,8 +2361,8 @@
public final void mWS() throws RecognitionException {
try {
int _type = WS;
- // dd/grammar/ECAToken.g:278:4: ( ( SPACE | NEWLINE ) )
- // dd/grammar/ECAToken.g:278:6: ( SPACE | NEWLINE )
+ // dd/grammar/ECAToken.g:281:4: ( ( SPACE | NEWLINE ) )
+ // dd/grammar/ECAToken.g:281:6: ( SPACE | NEWLINE )
{
if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
input.consume();
@@ -2339,18 +2386,18 @@
// $ANTLR end WS
public void mTokens() throws RecognitionException {
- // dd/grammar/ECAToken.g:1:8: ( NUMBER | BIND | IF | DO | RULE | CLASS | METHOD | LINE | ENDRULE | NOTHING | TRUE | FALSE | RETURN | LPAREN | RPAREN | LSQUARE | RSQUARE | LBRACE | RBRACE | SEPR | DOT | ASSIGN | OR | AND | NOT | EQ | NEQ | GT | LT | GEQ | LEQ | BOR | BAND | BXOR | TWIDDLE | MUL | DIV | PLUS | MINUS | MOD | TERN_IF | COLON | QUOTE | DQUOTE | STRING | SYMBOL | DOLLARSYM | WS )
- int alt31=48;
+ // dd/grammar/ECAToken.g:1:8: ( NUMBER | BIND | IF | DO | RULE | CLASS | METHOD | LINE | ENDRULE | NOTHING | TRUE | FALSE | RETURN | THROW | LPAREN | RPAREN | LSQUARE | RSQUARE | LBRACE | RBRACE | SEPR | DOT | ASSIGN | OR | AND | NOT | EQ | NEQ | GT | LT | GEQ | LEQ | BOR | BAND | BXOR | TWIDDLE | MUL | DIV | PLUS | MINUS | MOD | TERN_IF | COLON | QUOTE | DQUOTE | STRING | SYMBOL | DOLLARSYM | WS )
+ int alt32=49;
switch ( input.LA(1) ) {
case '+':
{
- int LA31_1 = input.LA(2);
+ int LA32_1 = input.LA(2);
- if ( ((LA31_1>='0' && LA31_1<='9')) ) {
- alt31=1;
+ if ( ((LA32_1>='0' && LA32_1<='9')) ) {
+ alt32=1;
}
else {
- alt31=38;}
+ alt32=39;}
}
break;
case '0':
@@ -2364,53 +2411,53 @@
case '8':
case '9':
{
- alt31=1;
+ alt32=1;
}
break;
case 'B':
{
- int LA31_3 = input.LA(2);
+ int LA32_3 = input.LA(2);
- if ( (LA31_3=='I') ) {
- int LA31_58 = input.LA(3);
+ if ( (LA32_3=='I') ) {
+ int LA32_58 = input.LA(3);
- if ( (LA31_58=='N') ) {
- int LA31_115 = input.LA(4);
+ if ( (LA32_58=='N') ) {
+ int LA32_117 = input.LA(4);
- if ( (LA31_115=='D') ) {
- int LA31_148 = input.LA(5);
+ if ( (LA32_117=='D') ) {
+ int LA32_152 = input.LA(5);
- if ( (LA31_148=='.'||(LA31_148>='0' && LA31_148<='9')||(LA31_148>='A' && LA31_148<='Z')||LA31_148=='_'||(LA31_148>='a' && LA31_148<='z')) ) {
- alt31=46;
+ if ( (LA32_152=='.'||(LA32_152>='0' && LA32_152<='9')||(LA32_152>='A' && LA32_152<='Z')||LA32_152=='_'||(LA32_152>='a' && LA32_152<='z')) ) {
+ alt32=47;
}
else {
- alt31=2;}
+ alt32=2;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
case 'I':
{
- int LA31_4 = input.LA(2);
+ int LA32_4 = input.LA(2);
- if ( (LA31_4=='F') ) {
- int LA31_59 = input.LA(3);
+ if ( (LA32_4=='F') ) {
+ int LA32_59 = input.LA(3);
- if ( (LA31_59=='.'||(LA31_59>='0' && LA31_59<='9')||(LA31_59>='A' && LA31_59<='Z')||LA31_59=='_'||(LA31_59>='a' && LA31_59<='z')) ) {
- alt31=46;
+ if ( (LA32_59=='.'||(LA32_59>='0' && LA32_59<='9')||(LA32_59>='A' && LA32_59<='Z')||LA32_59=='_'||(LA32_59>='a' && LA32_59<='z')) ) {
+ alt32=47;
}
else {
- alt31=3;}
+ alt32=3;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
case 'D':
@@ -2418,52 +2465,52 @@
switch ( input.LA(2) ) {
case 'O':
{
- int LA31_60 = input.LA(3);
+ int LA32_60 = input.LA(3);
- if ( (LA31_60=='.'||(LA31_60>='0' && LA31_60<='9')||(LA31_60>='A' && LA31_60<='Z')||LA31_60=='_'||(LA31_60>='a' && LA31_60<='z')) ) {
- alt31=46;
+ if ( (LA32_60=='.'||(LA32_60>='0' && LA32_60<='9')||(LA32_60>='A' && LA32_60<='Z')||LA32_60=='_'||(LA32_60>='a' && LA32_60<='z')) ) {
+ alt32=47;
}
else {
- alt31=4;}
+ alt32=4;}
}
break;
case 'I':
{
- int LA31_61 = input.LA(3);
+ int LA32_61 = input.LA(3);
- if ( (LA31_61=='V') ) {
- int LA31_118 = input.LA(4);
+ if ( (LA32_61=='V') ) {
+ int LA32_120 = input.LA(4);
- if ( (LA31_118=='I') ) {
- int LA31_149 = input.LA(5);
+ if ( (LA32_120=='I') ) {
+ int LA32_153 = input.LA(5);
- if ( (LA31_149=='D') ) {
- int LA31_170 = input.LA(6);
+ if ( (LA32_153=='D') ) {
+ int LA32_176 = input.LA(6);
- if ( (LA31_170=='E') ) {
- int LA31_187 = input.LA(7);
+ if ( (LA32_176=='E') ) {
+ int LA32_195 = input.LA(7);
- if ( (LA31_187=='.'||(LA31_187>='0' && LA31_187<='9')||(LA31_187>='A' && LA31_187<='Z')||LA31_187=='_'||(LA31_187>='a' && LA31_187<='z')) ) {
- alt31=46;
+ if ( (LA32_195=='.'||(LA32_195>='0' && LA32_195<='9')||(LA32_195>='A' && LA32_195<='Z')||LA32_195=='_'||(LA32_195>='a' && LA32_195<='z')) ) {
+ alt32=47;
}
else {
- alt31=37;}
+ alt32=38;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
default:
- alt31=46;}
+ alt32=47;}
}
break;
@@ -2472,363 +2519,346 @@
switch ( input.LA(2) ) {
case 'U':
{
- int LA31_62 = input.LA(3);
+ int LA32_62 = input.LA(3);
- if ( (LA31_62=='L') ) {
- int LA31_119 = input.LA(4);
+ if ( (LA32_62=='L') ) {
+ int LA32_121 = input.LA(4);
- if ( (LA31_119=='E') ) {
- int LA31_150 = input.LA(5);
+ if ( (LA32_121=='E') ) {
+ int LA32_154 = input.LA(5);
- if ( (LA31_150=='.'||(LA31_150>='0' && LA31_150<='9')||(LA31_150>='A' && LA31_150<='Z')||LA31_150=='_'||(LA31_150>='a' && LA31_150<='z')) ) {
- alt31=46;
+ if ( (LA32_154=='.'||(LA32_154>='0' && LA32_154<='9')||(LA32_154>='A' && LA32_154<='Z')||LA32_154=='_'||(LA32_154>='a' && LA32_154<='z')) ) {
+ alt32=47;
}
else {
- alt31=5;}
+ alt32=5;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
case 'E':
{
- int LA31_63 = input.LA(3);
+ int LA32_63 = input.LA(3);
- if ( (LA31_63=='T') ) {
- int LA31_120 = input.LA(4);
+ if ( (LA32_63=='T') ) {
+ int LA32_122 = input.LA(4);
- if ( (LA31_120=='U') ) {
- int LA31_151 = input.LA(5);
+ if ( (LA32_122=='U') ) {
+ int LA32_155 = input.LA(5);
- if ( (LA31_151=='R') ) {
- int LA31_172 = input.LA(6);
+ if ( (LA32_155=='R') ) {
+ int LA32_178 = input.LA(6);
- if ( (LA31_172=='N') ) {
- int LA31_188 = input.LA(7);
+ if ( (LA32_178=='N') ) {
+ int LA32_196 = input.LA(7);
- if ( (LA31_188=='.'||(LA31_188>='0' && LA31_188<='9')||(LA31_188>='A' && LA31_188<='Z')||LA31_188=='_'||(LA31_188>='a' && LA31_188<='z')) ) {
- alt31=46;
+ if ( (LA32_196=='.'||(LA32_196>='0' && LA32_196<='9')||(LA32_196>='A' && LA32_196<='Z')||LA32_196=='_'||(LA32_196>='a' && LA32_196<='z')) ) {
+ alt32=47;
}
else {
- alt31=13;}
+ alt32=13;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
default:
- alt31=46;}
+ alt32=47;}
}
break;
case 'C':
{
- int LA31_7 = input.LA(2);
+ int LA32_7 = input.LA(2);
- if ( (LA31_7=='L') ) {
- int LA31_64 = input.LA(3);
+ if ( (LA32_7=='L') ) {
+ int LA32_64 = input.LA(3);
- if ( (LA31_64=='A') ) {
- int LA31_121 = input.LA(4);
+ if ( (LA32_64=='A') ) {
+ int LA32_123 = input.LA(4);
- if ( (LA31_121=='S') ) {
- int LA31_152 = input.LA(5);
+ if ( (LA32_123=='S') ) {
+ int LA32_156 = input.LA(5);
- if ( (LA31_152=='S') ) {
- int LA31_173 = input.LA(6);
+ if ( (LA32_156=='S') ) {
+ int LA32_179 = input.LA(6);
- if ( (LA31_173=='.'||(LA31_173>='0' && LA31_173<='9')||(LA31_173>='A' && LA31_173<='Z')||LA31_173=='_'||(LA31_173>='a' && LA31_173<='z')) ) {
- alt31=46;
+ if ( (LA32_179=='.'||(LA32_179>='0' && LA32_179<='9')||(LA32_179>='A' && LA32_179<='Z')||LA32_179=='_'||(LA32_179>='a' && LA32_179<='z')) ) {
+ alt32=47;
}
else {
- alt31=6;}
+ alt32=6;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
case 'M':
{
switch ( input.LA(2) ) {
- case 'E':
+ case 'I':
{
- int LA31_65 = input.LA(3);
+ int LA32_65 = input.LA(3);
- if ( (LA31_65=='T') ) {
- int LA31_122 = input.LA(4);
+ if ( (LA32_65=='N') ) {
+ int LA32_124 = input.LA(4);
- if ( (LA31_122=='H') ) {
- int LA31_153 = input.LA(5);
+ if ( (LA32_124=='U') ) {
+ int LA32_157 = input.LA(5);
- if ( (LA31_153=='O') ) {
- int LA31_174 = input.LA(6);
+ if ( (LA32_157=='S') ) {
+ int LA32_180 = input.LA(6);
- if ( (LA31_174=='D') ) {
- int LA31_190 = input.LA(7);
-
- if ( (LA31_190=='.'||(LA31_190>='0' && LA31_190<='9')||(LA31_190>='A' && LA31_190<='Z')||LA31_190=='_'||(LA31_190>='a' && LA31_190<='z')) ) {
- alt31=46;
- }
- else {
- alt31=7;}
+ if ( (LA32_180=='.'||(LA32_180>='0' && LA32_180<='9')||(LA32_180>='A' && LA32_180<='Z')||LA32_180=='_'||(LA32_180>='a' && LA32_180<='z')) ) {
+ alt32=47;
}
else {
- alt31=46;}
+ alt32=40;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
case 'O':
{
- int LA31_66 = input.LA(3);
+ int LA32_66 = input.LA(3);
- if ( (LA31_66=='D') ) {
- int LA31_123 = input.LA(4);
+ if ( (LA32_66=='D') ) {
+ int LA32_125 = input.LA(4);
- if ( (LA31_123=='.'||(LA31_123>='0' && LA31_123<='9')||(LA31_123>='A' && LA31_123<='Z')||LA31_123=='_'||(LA31_123>='a' && LA31_123<='z')) ) {
- alt31=46;
+ if ( (LA32_125=='.'||(LA32_125>='0' && LA32_125<='9')||(LA32_125>='A' && LA32_125<='Z')||LA32_125=='_'||(LA32_125>='a' && LA32_125<='z')) ) {
+ alt32=47;
}
else {
- alt31=40;}
+ alt32=41;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
- case 'I':
+ case 'E':
{
- int LA31_67 = input.LA(3);
+ int LA32_67 = input.LA(3);
- if ( (LA31_67=='N') ) {
- int LA31_124 = input.LA(4);
+ if ( (LA32_67=='T') ) {
+ int LA32_126 = input.LA(4);
- if ( (LA31_124=='U') ) {
- int LA31_154 = input.LA(5);
+ if ( (LA32_126=='H') ) {
+ int LA32_158 = input.LA(5);
- if ( (LA31_154=='S') ) {
- int LA31_175 = input.LA(6);
+ if ( (LA32_158=='O') ) {
+ int LA32_181 = input.LA(6);
- if ( (LA31_175=='.'||(LA31_175>='0' && LA31_175<='9')||(LA31_175>='A' && LA31_175<='Z')||LA31_175=='_'||(LA31_175>='a' && LA31_175<='z')) ) {
- alt31=46;
+ if ( (LA32_181=='D') ) {
+ int LA32_198 = input.LA(7);
+
+ if ( (LA32_198=='.'||(LA32_198>='0' && LA32_198<='9')||(LA32_198>='A' && LA32_198<='Z')||LA32_198=='_'||(LA32_198>='a' && LA32_198<='z')) ) {
+ alt32=47;
+ }
+ else {
+ alt32=7;}
}
else {
- alt31=39;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
default:
- alt31=46;}
+ alt32=47;}
}
break;
case 'L':
{
switch ( input.LA(2) ) {
- case 'E':
+ case 'T':
{
- int LA31_68 = input.LA(3);
+ int LA32_68 = input.LA(3);
- if ( (LA31_68=='Q') ) {
- int LA31_125 = input.LA(4);
-
- if ( (LA31_125=='.'||(LA31_125>='0' && LA31_125<='9')||(LA31_125>='A' && LA31_125<='Z')||LA31_125=='_'||(LA31_125>='a' && LA31_125<='z')) ) {
- alt31=46;
- }
- else {
- alt31=31;}
+ if ( (LA32_68=='.'||(LA32_68>='0' && LA32_68<='9')||(LA32_68>='A' && LA32_68<='Z')||LA32_68=='_'||(LA32_68>='a' && LA32_68<='z')) ) {
+ alt32=47;
}
else {
- alt31=46;}
+ alt32=30;}
}
break;
- case 'T':
+ case 'E':
{
- int LA31_69 = input.LA(3);
+ int LA32_69 = input.LA(3);
- if ( (LA31_69=='.'||(LA31_69>='0' && LA31_69<='9')||(LA31_69>='A' && LA31_69<='Z')||LA31_69=='_'||(LA31_69>='a' && LA31_69<='z')) ) {
- alt31=46;
+ if ( (LA32_69=='Q') ) {
+ int LA32_127 = input.LA(4);
+
+ if ( (LA32_127=='.'||(LA32_127>='0' && LA32_127<='9')||(LA32_127>='A' && LA32_127<='Z')||LA32_127=='_'||(LA32_127>='a' && LA32_127<='z')) ) {
+ alt32=47;
+ }
+ else {
+ alt32=32;}
}
else {
- alt31=29;}
+ alt32=47;}
}
break;
case 'I':
{
- int LA31_70 = input.LA(3);
+ int LA32_70 = input.LA(3);
- if ( (LA31_70=='N') ) {
- int LA31_126 = input.LA(4);
+ if ( (LA32_70=='N') ) {
+ int LA32_128 = input.LA(4);
- if ( (LA31_126=='E') ) {
- int LA31_155 = input.LA(5);
+ if ( (LA32_128=='E') ) {
+ int LA32_159 = input.LA(5);
- if ( (LA31_155=='.'||(LA31_155>='0' && LA31_155<='9')||(LA31_155>='A' && LA31_155<='Z')||LA31_155=='_'||(LA31_155>='a' && LA31_155<='z')) ) {
- alt31=46;
+ if ( (LA32_159=='.'||(LA32_159>='0' && LA32_159<='9')||(LA32_159>='A' && LA32_159<='Z')||LA32_159=='_'||(LA32_159>='a' && LA32_159<='z')) ) {
+ alt32=47;
}
else {
- alt31=8;}
+ alt32=8;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
default:
- alt31=46;}
+ alt32=47;}
}
break;
case 'E':
{
switch ( input.LA(2) ) {
- case 'Q':
- {
- int LA31_71 = input.LA(3);
-
- if ( (LA31_71=='.'||(LA31_71>='0' && LA31_71<='9')||(LA31_71>='A' && LA31_71<='Z')||LA31_71=='_'||(LA31_71>='a' && LA31_71<='z')) ) {
- alt31=46;
- }
- else {
- alt31=26;}
- }
- break;
case 'N':
{
- int LA31_72 = input.LA(3);
+ int LA32_71 = input.LA(3);
- if ( (LA31_72=='D') ) {
- int LA31_127 = input.LA(4);
+ if ( (LA32_71=='D') ) {
+ int LA32_129 = input.LA(4);
- if ( (LA31_127=='R') ) {
- int LA31_156 = input.LA(5);
+ if ( (LA32_129=='R') ) {
+ int LA32_160 = input.LA(5);
- if ( (LA31_156=='U') ) {
- int LA31_177 = input.LA(6);
+ if ( (LA32_160=='U') ) {
+ int LA32_183 = input.LA(6);
- if ( (LA31_177=='L') ) {
- int LA31_191 = input.LA(7);
+ if ( (LA32_183=='L') ) {
+ int LA32_199 = input.LA(7);
- if ( (LA31_191=='E') ) {
- int LA31_198 = input.LA(8);
+ if ( (LA32_199=='E') ) {
+ int LA32_207 = input.LA(8);
- if ( (LA31_198=='.'||(LA31_198>='0' && LA31_198<='9')||(LA31_198>='A' && LA31_198<='Z')||LA31_198=='_'||(LA31_198>='a' && LA31_198<='z')) ) {
- alt31=46;
+ if ( (LA32_207=='.'||(LA32_207>='0' && LA32_207<='9')||(LA32_207>='A' && LA32_207<='Z')||LA32_207=='_'||(LA32_207>='a' && LA32_207<='z')) ) {
+ alt32=47;
}
else {
- alt31=9;}
+ alt32=9;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
+ case 'Q':
+ {
+ int LA32_72 = input.LA(3);
+
+ if ( (LA32_72=='.'||(LA32_72>='0' && LA32_72<='9')||(LA32_72>='A' && LA32_72<='Z')||LA32_72=='_'||(LA32_72>='a' && LA32_72<='z')) ) {
+ alt32=47;
+ }
+ else {
+ alt32=27;}
+ }
+ break;
default:
- alt31=46;}
+ alt32=47;}
}
break;
case 'N':
{
switch ( input.LA(2) ) {
- case 'E':
- {
- int LA31_73 = input.LA(3);
-
- if ( (LA31_73=='Q') ) {
- int LA31_128 = input.LA(4);
-
- if ( (LA31_128=='.'||(LA31_128>='0' && LA31_128<='9')||(LA31_128>='A' && LA31_128<='Z')||LA31_128=='_'||(LA31_128>='a' && LA31_128<='z')) ) {
- alt31=46;
- }
- else {
- alt31=27;}
- }
- else {
- alt31=46;}
- }
- break;
case 'O':
{
- int LA31_74 = input.LA(3);
+ int LA32_73 = input.LA(3);
- if ( (LA31_74=='T') ) {
+ if ( (LA32_73=='T') ) {
switch ( input.LA(4) ) {
case 'H':
{
- int LA31_157 = input.LA(5);
+ int LA32_161 = input.LA(5);
- if ( (LA31_157=='I') ) {
- int LA31_178 = input.LA(6);
+ if ( (LA32_161=='I') ) {
+ int LA32_184 = input.LA(6);
- if ( (LA31_178=='N') ) {
- int LA31_192 = input.LA(7);
+ if ( (LA32_184=='N') ) {
+ int LA32_200 = input.LA(7);
- if ( (LA31_192=='G') ) {
- int LA31_199 = input.LA(8);
+ if ( (LA32_200=='G') ) {
+ int LA32_208 = input.LA(8);
- if ( (LA31_199=='.'||(LA31_199>='0' && LA31_199<='9')||(LA31_199>='A' && LA31_199<='Z')||LA31_199=='_'||(LA31_199>='a' && LA31_199<='z')) ) {
- alt31=46;
+ if ( (LA32_208=='.'||(LA32_208>='0' && LA32_208<='9')||(LA32_208>='A' && LA32_208<='Z')||LA32_208=='_'||(LA32_208>='a' && LA32_208<='z')) ) {
+ alt32=47;
}
else {
- alt31=10;}
+ alt32=10;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
case '.':
@@ -2895,19 +2925,36 @@
case 'y':
case 'z':
{
- alt31=46;
+ alt32=47;
}
break;
default:
- alt31=25;}
+ alt32=26;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
+ case 'E':
+ {
+ int LA32_74 = input.LA(3);
+
+ if ( (LA32_74=='Q') ) {
+ int LA32_131 = input.LA(4);
+
+ if ( (LA32_131=='.'||(LA32_131>='0' && LA32_131<='9')||(LA32_131>='A' && LA32_131<='Z')||LA32_131=='_'||(LA32_131>='a' && LA32_131<='z')) ) {
+ alt32=47;
+ }
+ else {
+ alt32=28;}
+ }
+ else {
+ alt32=47;}
+ }
+ break;
default:
- alt31=46;}
+ alt32=47;}
}
break;
@@ -2916,282 +2963,340 @@
switch ( input.LA(2) ) {
case 'R':
{
- int LA31_75 = input.LA(3);
+ int LA32_75 = input.LA(3);
- if ( (LA31_75=='U') ) {
- int LA31_130 = input.LA(4);
+ if ( (LA32_75=='U') ) {
+ int LA32_132 = input.LA(4);
- if ( (LA31_130=='E') ) {
- int LA31_158 = input.LA(5);
+ if ( (LA32_132=='E') ) {
+ int LA32_162 = input.LA(5);
- if ( (LA31_158=='.'||(LA31_158>='0' && LA31_158<='9')||(LA31_158>='A' && LA31_158<='Z')||LA31_158=='_'||(LA31_158>='a' && LA31_158<='z')) ) {
- alt31=46;
+ if ( (LA32_162=='.'||(LA32_162>='0' && LA32_162<='9')||(LA32_162>='A' && LA32_162<='Z')||LA32_162=='_'||(LA32_162>='a' && LA32_162<='z')) ) {
+ alt32=47;
}
else {
- alt31=11;}
+ alt32=11;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
+ case 'H':
+ {
+ int LA32_76 = input.LA(3);
+
+ if ( (LA32_76=='R') ) {
+ int LA32_133 = input.LA(4);
+
+ if ( (LA32_133=='O') ) {
+ int LA32_163 = input.LA(5);
+
+ if ( (LA32_163=='W') ) {
+ int LA32_186 = input.LA(6);
+
+ if ( (LA32_186=='.'||(LA32_186>='0' && LA32_186<='9')||(LA32_186>='A' && LA32_186<='Z')||LA32_186=='_'||(LA32_186>='a' && LA32_186<='z')) ) {
+ alt32=47;
+ }
+ else {
+ alt32=14;}
+ }
+ else {
+ alt32=47;}
+ }
+ else {
+ alt32=47;}
+ }
+ else {
+ alt32=47;}
+ }
+ break;
case 'I':
{
- int LA31_76 = input.LA(3);
+ int LA32_77 = input.LA(3);
- if ( (LA31_76=='M') ) {
- int LA31_131 = input.LA(4);
+ if ( (LA32_77=='M') ) {
+ int LA32_134 = input.LA(4);
- if ( (LA31_131=='E') ) {
- int LA31_159 = input.LA(5);
+ if ( (LA32_134=='E') ) {
+ int LA32_164 = input.LA(5);
- if ( (LA31_159=='S') ) {
- int LA31_180 = input.LA(6);
+ if ( (LA32_164=='S') ) {
+ int LA32_187 = input.LA(6);
- if ( (LA31_180=='.'||(LA31_180>='0' && LA31_180<='9')||(LA31_180>='A' && LA31_180<='Z')||LA31_180=='_'||(LA31_180>='a' && LA31_180<='z')) ) {
- alt31=46;
+ if ( (LA32_187=='.'||(LA32_187>='0' && LA32_187<='9')||(LA32_187>='A' && LA32_187<='Z')||LA32_187=='_'||(LA32_187>='a' && LA32_187<='z')) ) {
+ alt32=47;
}
else {
- alt31=36;}
+ alt32=37;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
default:
- alt31=46;}
+ alt32=47;}
}
break;
case 't':
{
switch ( input.LA(2) ) {
+ case 'r':
+ {
+ int LA32_78 = input.LA(3);
+
+ if ( (LA32_78=='u') ) {
+ int LA32_135 = input.LA(4);
+
+ if ( (LA32_135=='e') ) {
+ int LA32_165 = input.LA(5);
+
+ if ( (LA32_165=='.'||(LA32_165>='0' && LA32_165<='9')||(LA32_165>='A' && LA32_165<='Z')||LA32_165=='_'||(LA32_165>='a' && LA32_165<='z')) ) {
+ alt32=47;
+ }
+ else {
+ alt32=11;}
+ }
+ else {
+ alt32=47;}
+ }
+ else {
+ alt32=47;}
+ }
+ break;
case 'i':
{
- int LA31_77 = input.LA(3);
+ int LA32_79 = input.LA(3);
- if ( (LA31_77=='m') ) {
- int LA31_132 = input.LA(4);
+ if ( (LA32_79=='m') ) {
+ int LA32_136 = input.LA(4);
- if ( (LA31_132=='e') ) {
- int LA31_160 = input.LA(5);
+ if ( (LA32_136=='e') ) {
+ int LA32_166 = input.LA(5);
- if ( (LA31_160=='s') ) {
- int LA31_181 = input.LA(6);
+ if ( (LA32_166=='s') ) {
+ int LA32_188 = input.LA(6);
- if ( (LA31_181=='.'||(LA31_181>='0' && LA31_181<='9')||(LA31_181>='A' && LA31_181<='Z')||LA31_181=='_'||(LA31_181>='a' && LA31_181<='z')) ) {
- alt31=46;
+ if ( (LA32_188=='.'||(LA32_188>='0' && LA32_188<='9')||(LA32_188>='A' && LA32_188<='Z')||LA32_188=='_'||(LA32_188>='a' && LA32_188<='z')) ) {
+ alt32=47;
}
else {
- alt31=36;}
+ alt32=37;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
- case 'r':
+ case 'h':
{
- int LA31_78 = input.LA(3);
+ int LA32_80 = input.LA(3);
- if ( (LA31_78=='u') ) {
- int LA31_133 = input.LA(4);
+ if ( (LA32_80=='r') ) {
+ int LA32_137 = input.LA(4);
- if ( (LA31_133=='e') ) {
- int LA31_161 = input.LA(5);
+ if ( (LA32_137=='o') ) {
+ int LA32_167 = input.LA(5);
- if ( (LA31_161=='.'||(LA31_161>='0' && LA31_161<='9')||(LA31_161>='A' && LA31_161<='Z')||LA31_161=='_'||(LA31_161>='a' && LA31_161<='z')) ) {
- alt31=46;
+ if ( (LA32_167=='w') ) {
+ int LA32_189 = input.LA(6);
+
+ if ( (LA32_189=='.'||(LA32_189>='0' && LA32_189<='9')||(LA32_189>='A' && LA32_189<='Z')||LA32_189=='_'||(LA32_189>='a' && LA32_189<='z')) ) {
+ alt32=47;
+ }
+ else {
+ alt32=14;}
}
else {
- alt31=11;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
default:
- alt31=46;}
+ alt32=47;}
}
break;
case 'F':
{
- int LA31_14 = input.LA(2);
+ int LA32_14 = input.LA(2);
- if ( (LA31_14=='A') ) {
- int LA31_79 = input.LA(3);
+ if ( (LA32_14=='A') ) {
+ int LA32_81 = input.LA(3);
- if ( (LA31_79=='L') ) {
- int LA31_134 = input.LA(4);
+ if ( (LA32_81=='L') ) {
+ int LA32_138 = input.LA(4);
- if ( (LA31_134=='S') ) {
- int LA31_162 = input.LA(5);
+ if ( (LA32_138=='S') ) {
+ int LA32_168 = input.LA(5);
- if ( (LA31_162=='E') ) {
- int LA31_182 = input.LA(6);
+ if ( (LA32_168=='E') ) {
+ int LA32_190 = input.LA(6);
- if ( (LA31_182=='.'||(LA31_182>='0' && LA31_182<='9')||(LA31_182>='A' && LA31_182<='Z')||LA31_182=='_'||(LA31_182>='a' && LA31_182<='z')) ) {
- alt31=46;
+ if ( (LA32_190=='.'||(LA32_190>='0' && LA32_190<='9')||(LA32_190>='A' && LA32_190<='Z')||LA32_190=='_'||(LA32_190>='a' && LA32_190<='z')) ) {
+ alt32=47;
}
else {
- alt31=12;}
+ alt32=12;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
case 'f':
{
- int LA31_15 = input.LA(2);
+ int LA32_15 = input.LA(2);
- if ( (LA31_15=='a') ) {
- int LA31_80 = input.LA(3);
+ if ( (LA32_15=='a') ) {
+ int LA32_82 = input.LA(3);
- if ( (LA31_80=='l') ) {
- int LA31_135 = input.LA(4);
+ if ( (LA32_82=='l') ) {
+ int LA32_139 = input.LA(4);
- if ( (LA31_135=='s') ) {
- int LA31_163 = input.LA(5);
+ if ( (LA32_139=='s') ) {
+ int LA32_169 = input.LA(5);
- if ( (LA31_163=='e') ) {
- int LA31_183 = input.LA(6);
+ if ( (LA32_169=='e') ) {
+ int LA32_191 = input.LA(6);
- if ( (LA31_183=='.'||(LA31_183>='0' && LA31_183<='9')||(LA31_183>='A' && LA31_183<='Z')||LA31_183=='_'||(LA31_183>='a' && LA31_183<='z')) ) {
- alt31=46;
+ if ( (LA32_191=='.'||(LA32_191>='0' && LA32_191<='9')||(LA32_191>='A' && LA32_191<='Z')||LA32_191=='_'||(LA32_191>='a' && LA32_191<='z')) ) {
+ alt32=47;
}
else {
- alt31=12;}
+ alt32=12;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
case 'r':
{
- int LA31_16 = input.LA(2);
+ int LA32_16 = input.LA(2);
- if ( (LA31_16=='e') ) {
- int LA31_81 = input.LA(3);
+ if ( (LA32_16=='e') ) {
+ int LA32_83 = input.LA(3);
- if ( (LA31_81=='t') ) {
- int LA31_136 = input.LA(4);
+ if ( (LA32_83=='t') ) {
+ int LA32_140 = input.LA(4);
- if ( (LA31_136=='u') ) {
- int LA31_164 = input.LA(5);
+ if ( (LA32_140=='u') ) {
+ int LA32_170 = input.LA(5);
- if ( (LA31_164=='r') ) {
- int LA31_184 = input.LA(6);
+ if ( (LA32_170=='r') ) {
+ int LA32_192 = input.LA(6);
- if ( (LA31_184=='n') ) {
- int LA31_194 = input.LA(7);
+ if ( (LA32_192=='n') ) {
+ int LA32_203 = input.LA(7);
- if ( (LA31_194=='.'||(LA31_194>='0' && LA31_194<='9')||(LA31_194>='A' && LA31_194<='Z')||LA31_194=='_'||(LA31_194>='a' && LA31_194<='z')) ) {
- alt31=46;
+ if ( (LA32_203=='.'||(LA32_203>='0' && LA32_203<='9')||(LA32_203>='A' && LA32_203<='Z')||LA32_203=='_'||(LA32_203>='a' && LA32_203<='z')) ) {
+ alt32=47;
}
else {
- alt31=13;}
+ alt32=13;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
case '(':
{
- alt31=14;
+ alt32=15;
}
break;
case ')':
{
- alt31=15;
+ alt32=16;
}
break;
case '[':
{
- alt31=16;
+ alt32=17;
}
break;
case ']':
{
- alt31=17;
+ alt32=18;
}
break;
case '{':
{
- alt31=18;
+ alt32=19;
}
break;
case '}':
{
- alt31=19;
+ alt32=20;
}
break;
case ',':
case ';':
{
- alt31=20;
+ alt32=21;
}
break;
case '.':
{
- alt31=21;
+ alt32=22;
}
break;
case '=':
{
- int LA31_25 = input.LA(2);
+ int LA32_25 = input.LA(2);
- if ( (LA31_25=='=') ) {
- alt31=26;
+ if ( (LA32_25=='=') ) {
+ alt32=27;
}
else {
- alt31=22;}
+ alt32=23;}
}
break;
case '<':
@@ -3199,130 +3304,130 @@
switch ( input.LA(2) ) {
case '-':
{
- alt31=22;
+ alt32=23;
}
break;
case '=':
{
- alt31=31;
+ alt32=32;
}
break;
default:
- alt31=29;}
+ alt32=30;}
}
break;
case '|':
{
- int LA31_27 = input.LA(2);
+ int LA32_27 = input.LA(2);
- if ( (LA31_27=='|') ) {
- alt31=23;
+ if ( (LA32_27=='|') ) {
+ alt32=24;
}
else {
- alt31=32;}
+ alt32=33;}
}
break;
case 'O':
{
- int LA31_28 = input.LA(2);
+ int LA32_28 = input.LA(2);
- if ( (LA31_28=='R') ) {
- int LA31_88 = input.LA(3);
+ if ( (LA32_28=='R') ) {
+ int LA32_90 = input.LA(3);
- if ( (LA31_88=='.'||(LA31_88>='0' && LA31_88<='9')||(LA31_88>='A' && LA31_88<='Z')||LA31_88=='_'||(LA31_88>='a' && LA31_88<='z')) ) {
- alt31=46;
+ if ( (LA32_90=='.'||(LA32_90>='0' && LA32_90<='9')||(LA32_90>='A' && LA32_90<='Z')||LA32_90=='_'||(LA32_90>='a' && LA32_90<='z')) ) {
+ alt32=47;
}
else {
- alt31=23;}
+ alt32=24;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
case 'o':
{
- int LA31_29 = input.LA(2);
+ int LA32_29 = input.LA(2);
- if ( (LA31_29=='r') ) {
- int LA31_89 = input.LA(3);
+ if ( (LA32_29=='r') ) {
+ int LA32_91 = input.LA(3);
- if ( (LA31_89=='.'||(LA31_89>='0' && LA31_89<='9')||(LA31_89>='A' && LA31_89<='Z')||LA31_89=='_'||(LA31_89>='a' && LA31_89<='z')) ) {
- alt31=46;
+ if ( (LA32_91=='.'||(LA32_91>='0' && LA32_91<='9')||(LA32_91>='A' && LA32_91<='Z')||LA32_91=='_'||(LA32_91>='a' && LA32_91<='z')) ) {
+ alt32=47;
}
else {
- alt31=23;}
+ alt32=24;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
case '&':
{
- int LA31_30 = input.LA(2);
+ int LA32_30 = input.LA(2);
- if ( (LA31_30=='&') ) {
- alt31=24;
+ if ( (LA32_30=='&') ) {
+ alt32=25;
}
else {
- alt31=33;}
+ alt32=34;}
}
break;
case 'A':
{
- int LA31_31 = input.LA(2);
+ int LA32_31 = input.LA(2);
- if ( (LA31_31=='N') ) {
- int LA31_92 = input.LA(3);
+ if ( (LA32_31=='N') ) {
+ int LA32_94 = input.LA(3);
- if ( (LA31_92=='D') ) {
- int LA31_137 = input.LA(4);
+ if ( (LA32_94=='D') ) {
+ int LA32_141 = input.LA(4);
- if ( (LA31_137=='.'||(LA31_137>='0' && LA31_137<='9')||(LA31_137>='A' && LA31_137<='Z')||LA31_137=='_'||(LA31_137>='a' && LA31_137<='z')) ) {
- alt31=46;
+ if ( (LA32_141=='.'||(LA32_141>='0' && LA32_141<='9')||(LA32_141>='A' && LA32_141<='Z')||LA32_141=='_'||(LA32_141>='a' && LA32_141<='z')) ) {
+ alt32=47;
}
else {
- alt31=24;}
+ alt32=25;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
case 'a':
{
- int LA31_32 = input.LA(2);
+ int LA32_32 = input.LA(2);
- if ( (LA31_32=='n') ) {
- int LA31_93 = input.LA(3);
+ if ( (LA32_32=='n') ) {
+ int LA32_95 = input.LA(3);
- if ( (LA31_93=='d') ) {
- int LA31_138 = input.LA(4);
+ if ( (LA32_95=='d') ) {
+ int LA32_142 = input.LA(4);
- if ( (LA31_138=='.'||(LA31_138>='0' && LA31_138<='9')||(LA31_138>='A' && LA31_138<='Z')||LA31_138=='_'||(LA31_138>='a' && LA31_138<='z')) ) {
- alt31=46;
+ if ( (LA32_142=='.'||(LA32_142>='0' && LA32_142<='9')||(LA32_142>='A' && LA32_142<='Z')||LA32_142=='_'||(LA32_142>='a' && LA32_142<='z')) ) {
+ alt32=47;
}
else {
- alt31=24;}
+ alt32=25;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
case '!':
{
- int LA31_33 = input.LA(2);
+ int LA32_33 = input.LA(2);
- if ( (LA31_33=='=') ) {
- alt31=27;
+ if ( (LA32_33=='=') ) {
+ alt32=28;
}
else {
- alt31=25;}
+ alt32=26;}
}
break;
case 'n':
@@ -3330,379 +3435,379 @@
switch ( input.LA(2) ) {
case 'o':
{
- int LA31_96 = input.LA(3);
+ int LA32_98 = input.LA(3);
- if ( (LA31_96=='t') ) {
- int LA31_139 = input.LA(4);
+ if ( (LA32_98=='t') ) {
+ int LA32_143 = input.LA(4);
- if ( (LA31_139=='.'||(LA31_139>='0' && LA31_139<='9')||(LA31_139>='A' && LA31_139<='Z')||LA31_139=='_'||(LA31_139>='a' && LA31_139<='z')) ) {
- alt31=46;
+ if ( (LA32_143=='.'||(LA32_143>='0' && LA32_143<='9')||(LA32_143>='A' && LA32_143<='Z')||LA32_143=='_'||(LA32_143>='a' && LA32_143<='z')) ) {
+ alt32=47;
}
else {
- alt31=25;}
+ alt32=26;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
case 'e':
{
- int LA31_97 = input.LA(3);
+ int LA32_99 = input.LA(3);
- if ( (LA31_97=='q') ) {
- int LA31_140 = input.LA(4);
+ if ( (LA32_99=='q') ) {
+ int LA32_144 = input.LA(4);
- if ( (LA31_140=='.'||(LA31_140>='0' && LA31_140<='9')||(LA31_140>='A' && LA31_140<='Z')||LA31_140=='_'||(LA31_140>='a' && LA31_140<='z')) ) {
- alt31=46;
+ if ( (LA32_144=='.'||(LA32_144>='0' && LA32_144<='9')||(LA32_144>='A' && LA32_144<='Z')||LA32_144=='_'||(LA32_144>='a' && LA32_144<='z')) ) {
+ alt32=47;
}
else {
- alt31=27;}
+ alt32=28;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
default:
- alt31=46;}
+ alt32=47;}
}
break;
case 'e':
{
- int LA31_35 = input.LA(2);
+ int LA32_35 = input.LA(2);
- if ( (LA31_35=='q') ) {
- int LA31_98 = input.LA(3);
+ if ( (LA32_35=='q') ) {
+ int LA32_100 = input.LA(3);
- if ( (LA31_98=='.'||(LA31_98>='0' && LA31_98<='9')||(LA31_98>='A' && LA31_98<='Z')||LA31_98=='_'||(LA31_98>='a' && LA31_98<='z')) ) {
- alt31=46;
+ if ( (LA32_100=='.'||(LA32_100>='0' && LA32_100<='9')||(LA32_100>='A' && LA32_100<='Z')||LA32_100=='_'||(LA32_100>='a' && LA32_100<='z')) ) {
+ alt32=47;
}
else {
- alt31=26;}
+ alt32=27;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
case '>':
{
- int LA31_36 = input.LA(2);
+ int LA32_36 = input.LA(2);
- if ( (LA31_36=='=') ) {
- alt31=30;
+ if ( (LA32_36=='=') ) {
+ alt32=31;
}
else {
- alt31=28;}
+ alt32=29;}
}
break;
case 'G':
{
- int LA31_37 = input.LA(2);
+ int LA32_37 = input.LA(2);
- if ( (LA31_37=='T') ) {
- int LA31_101 = input.LA(3);
+ if ( (LA32_37=='T') ) {
+ int LA32_103 = input.LA(3);
- if ( (LA31_101=='.'||(LA31_101>='0' && LA31_101<='9')||(LA31_101>='A' && LA31_101<='Z')||LA31_101=='_'||(LA31_101>='a' && LA31_101<='z')) ) {
- alt31=46;
+ if ( (LA32_103=='.'||(LA32_103>='0' && LA32_103<='9')||(LA32_103>='A' && LA32_103<='Z')||LA32_103=='_'||(LA32_103>='a' && LA32_103<='z')) ) {
+ alt32=47;
}
else {
- alt31=28;}
+ alt32=29;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
case 'g':
{
switch ( input.LA(2) ) {
- case 'e':
+ case 't':
{
- int LA31_102 = input.LA(3);
+ int LA32_104 = input.LA(3);
- if ( (LA31_102=='q') ) {
- int LA31_141 = input.LA(4);
-
- if ( (LA31_141=='.'||(LA31_141>='0' && LA31_141<='9')||(LA31_141>='A' && LA31_141<='Z')||LA31_141=='_'||(LA31_141>='a' && LA31_141<='z')) ) {
- alt31=46;
- }
- else {
- alt31=30;}
+ if ( (LA32_104=='.'||(LA32_104>='0' && LA32_104<='9')||(LA32_104>='A' && LA32_104<='Z')||LA32_104=='_'||(LA32_104>='a' && LA32_104<='z')) ) {
+ alt32=47;
}
else {
- alt31=46;}
+ alt32=29;}
}
break;
- case 't':
+ case 'e':
{
- int LA31_103 = input.LA(3);
+ int LA32_105 = input.LA(3);
- if ( (LA31_103=='.'||(LA31_103>='0' && LA31_103<='9')||(LA31_103>='A' && LA31_103<='Z')||LA31_103=='_'||(LA31_103>='a' && LA31_103<='z')) ) {
- alt31=46;
+ if ( (LA32_105=='q') ) {
+ int LA32_145 = input.LA(4);
+
+ if ( (LA32_145=='.'||(LA32_145>='0' && LA32_145<='9')||(LA32_145>='A' && LA32_145<='Z')||LA32_145=='_'||(LA32_145>='a' && LA32_145<='z')) ) {
+ alt32=47;
+ }
+ else {
+ alt32=31;}
}
else {
- alt31=28;}
+ alt32=47;}
}
break;
default:
- alt31=46;}
+ alt32=47;}
}
break;
case 'l':
{
switch ( input.LA(2) ) {
- case 'e':
+ case 't':
{
- int LA31_104 = input.LA(3);
+ int LA32_106 = input.LA(3);
- if ( (LA31_104=='q') ) {
- int LA31_142 = input.LA(4);
-
- if ( (LA31_142=='.'||(LA31_142>='0' && LA31_142<='9')||(LA31_142>='A' && LA31_142<='Z')||LA31_142=='_'||(LA31_142>='a' && LA31_142<='z')) ) {
- alt31=46;
- }
- else {
- alt31=31;}
+ if ( (LA32_106=='.'||(LA32_106>='0' && LA32_106<='9')||(LA32_106>='A' && LA32_106<='Z')||LA32_106=='_'||(LA32_106>='a' && LA32_106<='z')) ) {
+ alt32=47;
}
else {
- alt31=46;}
+ alt32=30;}
}
break;
- case 't':
+ case 'e':
{
- int LA31_105 = input.LA(3);
+ int LA32_107 = input.LA(3);
- if ( (LA31_105=='.'||(LA31_105>='0' && LA31_105<='9')||(LA31_105>='A' && LA31_105<='Z')||LA31_105=='_'||(LA31_105>='a' && LA31_105<='z')) ) {
- alt31=46;
+ if ( (LA32_107=='q') ) {
+ int LA32_146 = input.LA(4);
+
+ if ( (LA32_146=='.'||(LA32_146>='0' && LA32_146<='9')||(LA32_146>='A' && LA32_146<='Z')||LA32_146=='_'||(LA32_146>='a' && LA32_146<='z')) ) {
+ alt32=47;
+ }
+ else {
+ alt32=32;}
}
else {
- alt31=29;}
+ alt32=47;}
}
break;
default:
- alt31=46;}
+ alt32=47;}
}
break;
case '^':
{
- alt31=34;
+ alt32=35;
}
break;
case '~':
{
- alt31=35;
+ alt32=36;
}
break;
case '*':
{
- alt31=36;
+ alt32=37;
}
break;
case '/':
{
- alt31=37;
+ alt32=38;
}
break;
case 'd':
{
- int LA31_44 = input.LA(2);
+ int LA32_44 = input.LA(2);
- if ( (LA31_44=='i') ) {
- int LA31_106 = input.LA(3);
+ if ( (LA32_44=='i') ) {
+ int LA32_108 = input.LA(3);
- if ( (LA31_106=='v') ) {
- int LA31_143 = input.LA(4);
+ if ( (LA32_108=='v') ) {
+ int LA32_147 = input.LA(4);
- if ( (LA31_143=='i') ) {
- int LA31_165 = input.LA(5);
+ if ( (LA32_147=='i') ) {
+ int LA32_171 = input.LA(5);
- if ( (LA31_165=='d') ) {
- int LA31_185 = input.LA(6);
+ if ( (LA32_171=='d') ) {
+ int LA32_193 = input.LA(6);
- if ( (LA31_185=='e') ) {
- int LA31_195 = input.LA(7);
+ if ( (LA32_193=='e') ) {
+ int LA32_204 = input.LA(7);
- if ( (LA31_195=='.'||(LA31_195>='0' && LA31_195<='9')||(LA31_195>='A' && LA31_195<='Z')||LA31_195=='_'||(LA31_195>='a' && LA31_195<='z')) ) {
- alt31=46;
+ if ( (LA32_204=='.'||(LA32_204>='0' && LA32_204<='9')||(LA32_204>='A' && LA32_204<='Z')||LA32_204=='_'||(LA32_204>='a' && LA32_204<='z')) ) {
+ alt32=47;
}
else {
- alt31=37;}
+ alt32=38;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
case '-':
{
- int LA31_45 = input.LA(2);
+ int LA32_45 = input.LA(2);
- if ( ((LA31_45>='0' && LA31_45<='9')) ) {
- alt31=1;
+ if ( ((LA32_45>='0' && LA32_45<='9')) ) {
+ alt32=1;
}
else {
- alt31=39;}
+ alt32=40;}
}
break;
case 'P':
{
- int LA31_46 = input.LA(2);
+ int LA32_46 = input.LA(2);
- if ( (LA31_46=='L') ) {
- int LA31_108 = input.LA(3);
+ if ( (LA32_46=='L') ) {
+ int LA32_110 = input.LA(3);
- if ( (LA31_108=='U') ) {
- int LA31_144 = input.LA(4);
+ if ( (LA32_110=='U') ) {
+ int LA32_148 = input.LA(4);
- if ( (LA31_144=='S') ) {
- int LA31_166 = input.LA(5);
+ if ( (LA32_148=='S') ) {
+ int LA32_172 = input.LA(5);
- if ( (LA31_166=='.'||(LA31_166>='0' && LA31_166<='9')||(LA31_166>='A' && LA31_166<='Z')||LA31_166=='_'||(LA31_166>='a' && LA31_166<='z')) ) {
- alt31=46;
+ if ( (LA32_172=='.'||(LA32_172>='0' && LA32_172<='9')||(LA32_172>='A' && LA32_172<='Z')||LA32_172=='_'||(LA32_172>='a' && LA32_172<='z')) ) {
+ alt32=47;
}
else {
- alt31=38;}
+ alt32=39;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
case 'p':
{
- int LA31_47 = input.LA(2);
+ int LA32_47 = input.LA(2);
- if ( (LA31_47=='l') ) {
- int LA31_109 = input.LA(3);
+ if ( (LA32_47=='l') ) {
+ int LA32_111 = input.LA(3);
- if ( (LA31_109=='u') ) {
- int LA31_145 = input.LA(4);
+ if ( (LA32_111=='u') ) {
+ int LA32_149 = input.LA(4);
- if ( (LA31_145=='s') ) {
- int LA31_167 = input.LA(5);
+ if ( (LA32_149=='s') ) {
+ int LA32_173 = input.LA(5);
- if ( (LA31_167=='.'||(LA31_167>='0' && LA31_167<='9')||(LA31_167>='A' && LA31_167<='Z')||LA31_167=='_'||(LA31_167>='a' && LA31_167<='z')) ) {
- alt31=46;
+ if ( (LA32_173=='.'||(LA32_173>='0' && LA32_173<='9')||(LA32_173>='A' && LA32_173<='Z')||LA32_173=='_'||(LA32_173>='a' && LA32_173<='z')) ) {
+ alt32=47;
}
else {
- alt31=38;}
+ alt32=39;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
case 'm':
{
switch ( input.LA(2) ) {
- case 'i':
+ case 'o':
{
- int LA31_110 = input.LA(3);
+ int LA32_112 = input.LA(3);
- if ( (LA31_110=='n') ) {
- int LA31_146 = input.LA(4);
+ if ( (LA32_112=='d') ) {
+ int LA32_150 = input.LA(4);
- if ( (LA31_146=='u') ) {
- int LA31_168 = input.LA(5);
-
- if ( (LA31_168=='s') ) {
- int LA31_186 = input.LA(6);
-
- if ( (LA31_186=='.'||(LA31_186>='0' && LA31_186<='9')||(LA31_186>='A' && LA31_186<='Z')||LA31_186=='_'||(LA31_186>='a' && LA31_186<='z')) ) {
- alt31=46;
- }
- else {
- alt31=39;}
- }
- else {
- alt31=46;}
+ if ( (LA32_150=='.'||(LA32_150>='0' && LA32_150<='9')||(LA32_150>='A' && LA32_150<='Z')||LA32_150=='_'||(LA32_150>='a' && LA32_150<='z')) ) {
+ alt32=47;
}
else {
- alt31=46;}
+ alt32=41;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
- case 'o':
+ case 'i':
{
- int LA31_111 = input.LA(3);
+ int LA32_113 = input.LA(3);
- if ( (LA31_111=='d') ) {
- int LA31_147 = input.LA(4);
+ if ( (LA32_113=='n') ) {
+ int LA32_151 = input.LA(4);
- if ( (LA31_147=='.'||(LA31_147>='0' && LA31_147<='9')||(LA31_147>='A' && LA31_147<='Z')||LA31_147=='_'||(LA31_147>='a' && LA31_147<='z')) ) {
- alt31=46;
+ if ( (LA32_151=='u') ) {
+ int LA32_174 = input.LA(5);
+
+ if ( (LA32_174=='s') ) {
+ int LA32_194 = input.LA(6);
+
+ if ( (LA32_194=='.'||(LA32_194>='0' && LA32_194<='9')||(LA32_194>='A' && LA32_194<='Z')||LA32_194=='_'||(LA32_194>='a' && LA32_194<='z')) ) {
+ alt32=47;
+ }
+ else {
+ alt32=40;}
+ }
+ else {
+ alt32=47;}
}
else {
- alt31=40;}
+ alt32=47;}
}
else {
- alt31=46;}
+ alt32=47;}
}
break;
default:
- alt31=46;}
+ alt32=47;}
}
break;
case '%':
{
- alt31=40;
+ alt32=41;
}
break;
case '?':
{
- alt31=41;
+ alt32=42;
}
break;
case ':':
{
- alt31=42;
+ alt32=43;
}
break;
case '\'':
{
- int LA31_52 = input.LA(2);
+ int LA32_52 = input.LA(2);
- if ( (LA31_52=='\t'||LA31_52=='\r'||(LA31_52>=' ' && LA31_52<='~')) ) {
- alt31=46;
+ if ( (LA32_52=='\t'||LA32_52=='\r'||(LA32_52>=' ' && LA32_52<='~')) ) {
+ alt32=47;
}
else {
- alt31=43;}
+ alt32=44;}
}
break;
case '\"':
{
- int LA31_53 = input.LA(2);
+ int LA32_53 = input.LA(2);
- if ( (LA31_53=='\t'||LA31_53=='\r'||(LA31_53>=' ' && LA31_53<='~')) ) {
- alt31=45;
+ if ( (LA32_53=='\t'||LA32_53=='\r'||(LA32_53>=' ' && LA32_53<='~')) ) {
+ alt32=46;
}
else {
- alt31=44;}
+ alt32=45;}
}
break;
case 'H':
@@ -3732,12 +3837,12 @@
case 'y':
case 'z':
{
- alt31=46;
+ alt32=47;
}
break;
case '$':
{
- alt31=47;
+ alt32=48;
}
break;
case '\t':
@@ -3745,17 +3850,17 @@
case '\r':
case ' ':
{
- alt31=48;
+ alt32=49;
}
break;
default:
NoViableAltException nvae =
- new NoViableAltException("1:1: Tokens : ( NUMBER | BIND | IF | DO | RULE | CLASS | METHOD | LINE | ENDRULE | NOTHING | TRUE | FALSE | RETURN | LPAREN | RPAREN | LSQUARE | RSQUARE | LBRACE | RBRACE | SEPR | DOT | ASSIGN | OR | AND | NOT | EQ | NEQ | GT | LT | GEQ | LEQ | BOR | BAND | BXOR | TWIDDLE | MUL | DIV | PLUS | MINUS | MOD | TERN_IF | COLON | QUOTE | DQUOTE | STRING | SYMBOL | DOLLARSYM | WS );", 31, 0, input);
+ new NoViableAltException("1:1: Tokens : ( NUMBER | BIND | IF | DO | RULE | CLASS | METHOD | LINE | ENDRULE | NOTHING | TRUE | FALSE | RETURN | THROW | LPAREN | RPAREN | LSQUARE | RSQUARE | LBRACE | RBRACE | SEPR | DOT | ASSIGN | OR | AND | NOT | EQ | NEQ | GT | LT | GEQ | LEQ | BOR | BAND | BXOR | TWIDDLE | MUL | DIV | PLUS | MINUS | MOD | TERN_IF | COLON | QUOTE | DQUOTE | STRING | SYMBOL | DOLLARSYM | WS );", 32, 0, input);
throw nvae;
}
- switch (alt31) {
+ switch (alt32) {
case 1 :
// dd/grammar/ECAToken.g:1:10: NUMBER
{
@@ -3848,246 +3953,253 @@
}
break;
case 14 :
- // dd/grammar/ECAToken.g:1:85: LPAREN
+ // dd/grammar/ECAToken.g:1:85: THROW
{
- mLPAREN();
+ mTHROW();
}
break;
case 15 :
- // dd/grammar/ECAToken.g:1:92: RPAREN
+ // dd/grammar/ECAToken.g:1:91: LPAREN
{
- mRPAREN();
+ mLPAREN();
}
break;
case 16 :
- // dd/grammar/ECAToken.g:1:99: LSQUARE
+ // dd/grammar/ECAToken.g:1:98: RPAREN
{
- mLSQUARE();
+ mRPAREN();
}
break;
case 17 :
- // dd/grammar/ECAToken.g:1:107: RSQUARE
+ // dd/grammar/ECAToken.g:1:105: LSQUARE
{
- mRSQUARE();
+ mLSQUARE();
}
break;
case 18 :
- // dd/grammar/ECAToken.g:1:115: LBRACE
+ // dd/grammar/ECAToken.g:1:113: RSQUARE
{
- mLBRACE();
+ mRSQUARE();
}
break;
case 19 :
- // dd/grammar/ECAToken.g:1:122: RBRACE
+ // dd/grammar/ECAToken.g:1:121: LBRACE
{
- mRBRACE();
+ mLBRACE();
}
break;
case 20 :
- // dd/grammar/ECAToken.g:1:129: SEPR
+ // dd/grammar/ECAToken.g:1:128: RBRACE
{
- mSEPR();
+ mRBRACE();
}
break;
case 21 :
- // dd/grammar/ECAToken.g:1:134: DOT
+ // dd/grammar/ECAToken.g:1:135: SEPR
{
- mDOT();
+ mSEPR();
}
break;
case 22 :
- // dd/grammar/ECAToken.g:1:138: ASSIGN
+ // dd/grammar/ECAToken.g:1:140: DOT
{
- mASSIGN();
+ mDOT();
}
break;
case 23 :
- // dd/grammar/ECAToken.g:1:145: OR
+ // dd/grammar/ECAToken.g:1:144: ASSIGN
{
- mOR();
+ mASSIGN();
}
break;
case 24 :
- // dd/grammar/ECAToken.g:1:148: AND
+ // dd/grammar/ECAToken.g:1:151: OR
{
- mAND();
+ mOR();
}
break;
case 25 :
- // dd/grammar/ECAToken.g:1:152: NOT
+ // dd/grammar/ECAToken.g:1:154: AND
{
- mNOT();
+ mAND();
}
break;
case 26 :
- // dd/grammar/ECAToken.g:1:156: EQ
+ // dd/grammar/ECAToken.g:1:158: NOT
{
- mEQ();
+ mNOT();
}
break;
case 27 :
- // dd/grammar/ECAToken.g:1:159: NEQ
+ // dd/grammar/ECAToken.g:1:162: EQ
{
- mNEQ();
+ mEQ();
}
break;
case 28 :
- // dd/grammar/ECAToken.g:1:163: GT
+ // dd/grammar/ECAToken.g:1:165: NEQ
{
- mGT();
+ mNEQ();
}
break;
case 29 :
- // dd/grammar/ECAToken.g:1:166: LT
+ // dd/grammar/ECAToken.g:1:169: GT
{
- mLT();
+ mGT();
}
break;
case 30 :
- // dd/grammar/ECAToken.g:1:169: GEQ
+ // dd/grammar/ECAToken.g:1:172: LT
{
- mGEQ();
+ mLT();
}
break;
case 31 :
- // dd/grammar/ECAToken.g:1:173: LEQ
+ // dd/grammar/ECAToken.g:1:175: GEQ
{
- mLEQ();
+ mGEQ();
}
break;
case 32 :
- // dd/grammar/ECAToken.g:1:177: BOR
+ // dd/grammar/ECAToken.g:1:179: LEQ
{
- mBOR();
+ mLEQ();
}
break;
case 33 :
- // dd/grammar/ECAToken.g:1:181: BAND
+ // dd/grammar/ECAToken.g:1:183: BOR
{
- mBAND();
+ mBOR();
}
break;
case 34 :
- // dd/grammar/ECAToken.g:1:186: BXOR
+ // dd/grammar/ECAToken.g:1:187: BAND
{
- mBXOR();
+ mBAND();
}
break;
case 35 :
- // dd/grammar/ECAToken.g:1:191: TWIDDLE
+ // dd/grammar/ECAToken.g:1:192: BXOR
{
- mTWIDDLE();
+ mBXOR();
}
break;
case 36 :
- // dd/grammar/ECAToken.g:1:199: MUL
+ // dd/grammar/ECAToken.g:1:197: TWIDDLE
{
- mMUL();
+ mTWIDDLE();
}
break;
case 37 :
- // dd/grammar/ECAToken.g:1:203: DIV
+ // dd/grammar/ECAToken.g:1:205: MUL
{
- mDIV();
+ mMUL();
}
break;
case 38 :
- // dd/grammar/ECAToken.g:1:207: PLUS
+ // dd/grammar/ECAToken.g:1:209: DIV
{
- mPLUS();
+ mDIV();
}
break;
case 39 :
- // dd/grammar/ECAToken.g:1:212: MINUS
+ // dd/grammar/ECAToken.g:1:213: PLUS
{
- mMINUS();
+ mPLUS();
}
break;
case 40 :
- // dd/grammar/ECAToken.g:1:218: MOD
+ // dd/grammar/ECAToken.g:1:218: MINUS
{
- mMOD();
+ mMINUS();
}
break;
case 41 :
- // dd/grammar/ECAToken.g:1:222: TERN_IF
+ // dd/grammar/ECAToken.g:1:224: MOD
{
- mTERN_IF();
+ mMOD();
}
break;
case 42 :
- // dd/grammar/ECAToken.g:1:230: COLON
+ // dd/grammar/ECAToken.g:1:228: TERN_IF
{
- mCOLON();
+ mTERN_IF();
}
break;
case 43 :
- // dd/grammar/ECAToken.g:1:236: QUOTE
+ // dd/grammar/ECAToken.g:1:236: COLON
{
- mQUOTE();
+ mCOLON();
}
break;
case 44 :
- // dd/grammar/ECAToken.g:1:242: DQUOTE
+ // dd/grammar/ECAToken.g:1:242: QUOTE
{
- mDQUOTE();
+ mQUOTE();
}
break;
case 45 :
- // dd/grammar/ECAToken.g:1:249: STRING
+ // dd/grammar/ECAToken.g:1:248: DQUOTE
{
- mSTRING();
+ mDQUOTE();
}
break;
case 46 :
- // dd/grammar/ECAToken.g:1:256: SYMBOL
+ // dd/grammar/ECAToken.g:1:255: STRING
{
- mSYMBOL();
+ mSTRING();
}
break;
case 47 :
- // dd/grammar/ECAToken.g:1:263: DOLLARSYM
+ // dd/grammar/ECAToken.g:1:262: SYMBOL
{
- mDOLLARSYM();
+ mSYMBOL();
}
break;
case 48 :
- // dd/grammar/ECAToken.g:1:273: WS
+ // dd/grammar/ECAToken.g:1:269: DOLLARSYM
{
+ mDOLLARSYM();
+
+ }
+ break;
+ case 49 :
+ // dd/grammar/ECAToken.g:1:279: WS
+ {
mWS();
}
@@ -4099,7 +4211,7 @@
protected DFA6 dfa6 = new DFA6(this);
- protected DFA28 dfa28 = new DFA28(this);
+ protected DFA29 dfa29 = new DFA29(this);
static final String DFA6_eotS =
"\2\uffff\2\4\2\uffff\1\4";
static final String DFA6_eofS =
@@ -4155,19 +4267,19 @@
return "41:1: NUMBER : ( INTEGER | FLOAT );";
}
}
- static final String DFA28_eotS =
+ static final String DFA29_eotS =
"\1\uffff\2\3\2\uffff";
- static final String DFA28_eofS =
+ static final String DFA29_eofS =
"\5\uffff";
- static final String DFA28_minS =
+ static final String DFA29_minS =
"\1\101\2\56\2\uffff";
- static final String DFA28_maxS =
+ static final String DFA29_maxS =
"\3\172\2\uffff";
- static final String DFA28_acceptS =
+ static final String DFA29_acceptS =
"\3\uffff\1\2\1\1";
- static final String DFA28_specialS =
+ static final String DFA29_specialS =
"\5\uffff}>";
- static final String[] DFA28_transitionS = {
+ static final String[] DFA29_transitionS = {
"\32\1\4\uffff\1\1\1\uffff\32\1",
"\1\4\1\uffff\12\2\7\uffff\32\2\4\uffff\1\2\1\uffff\32\2",
"\1\4\1\uffff\12\2\7\uffff\32\2\4\uffff\1\2\1\uffff\32\2",
@@ -4175,37 +4287,37 @@
""
};
- static final short[] DFA28_eot = DFA.unpackEncodedString(DFA28_eotS);
- static final short[] DFA28_eof = DFA.unpackEncodedString(DFA28_eofS);
- static final char[] DFA28_min = DFA.unpackEncodedStringToUnsignedChars(DFA28_minS);
- static final char[] DFA28_max = DFA.unpackEncodedStringToUnsignedChars(DFA28_maxS);
- static final short[] DFA28_accept = DFA.unpackEncodedString(DFA28_acceptS);
- static final short[] DFA28_special = DFA.unpackEncodedString(DFA28_specialS);
- static final short[][] DFA28_transition;
+ static final short[] DFA29_eot = DFA.unpackEncodedString(DFA29_eotS);
+ static final short[] DFA29_eof = DFA.unpackEncodedString(DFA29_eofS);
+ static final char[] DFA29_min = DFA.unpackEncodedStringToUnsignedChars(DFA29_minS);
+ static final char[] DFA29_max = DFA.unpackEncodedStringToUnsignedChars(DFA29_maxS);
+ static final short[] DFA29_accept = DFA.unpackEncodedString(DFA29_acceptS);
+ static final short[] DFA29_special = DFA.unpackEncodedString(DFA29_specialS);
+ static final short[][] DFA29_transition;
static {
- int numStates = DFA28_transitionS.length;
- DFA28_transition = new short[numStates][];
+ int numStates = DFA29_transitionS.length;
+ DFA29_transition = new short[numStates][];
for (int i=0; i<numStates; i++) {
- DFA28_transition[i] = DFA.unpackEncodedString(DFA28_transitionS[i]);
+ DFA29_transition[i] = DFA.unpackEncodedString(DFA29_transitionS[i]);
}
}
- class DFA28 extends DFA {
+ class DFA29 extends DFA {
- public DFA28(BaseRecognizer recognizer) {
+ public DFA29(BaseRecognizer recognizer) {
this.recognizer = recognizer;
- this.decisionNumber = 28;
- this.eot = DFA28_eot;
- this.eof = DFA28_eof;
- this.min = DFA28_min;
- this.max = DFA28_max;
- this.accept = DFA28_accept;
- this.special = DFA28_special;
- this.transition = DFA28_transition;
+ this.decisionNumber = 29;
+ this.eot = DFA29_eot;
+ this.eof = DFA29_eof;
+ this.min = DFA29_min;
+ this.max = DFA29_max;
+ this.accept = DFA29_accept;
+ this.special = DFA29_special;
+ this.transition = DFA29_transition;
}
public String getDescription() {
- return "256:1: fragment DOTSYM : ( BARESYM DOT DOTSYM | BARESYM );";
+ return "259:1: fragment DOTSYM : ( BARESYM DOT DOTSYM | BARESYM );";
}
}
Modified: labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/type/TypeGroup.java
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/type/TypeGroup.java 2008-09-30 13:06:38 UTC (rev 23222)
+++ labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/type/TypeGroup.java 2008-09-30 13:44:48 UTC (rev 23223)
@@ -1,6 +1,8 @@
package org.jboss.jbossts.orchestration.rule.type;
import java.util.HashMap;
+import java.util.List;
+import java.util.ArrayList;
/**
* the collection of types associated with an ECA rule
@@ -9,6 +11,7 @@
protected HashMap<String, Type> typeTable;
private ClassLoader loader;
private boolean resolve;
+ private List<Type> exceptionTypes;
/**
* create a type group for a rule containing all the basic types
@@ -53,6 +56,7 @@
this.loader = loader;
this.resolve = false;
+ exceptionTypes = new ArrayList<Type>();
}
/**
@@ -194,6 +198,17 @@
return arrayType;
}
+ public void addExceptionTypes(String[] exceptionTypeNames) {
+ for (String exceptionTypeName : exceptionTypeNames) {
+ exceptionTypes.add(create(TypeHelper.internalizeClass(exceptionTypeName)));
+ }
+ }
+
+ public List<Type> getExceptionTypes()
+ {
+ return exceptionTypes;
+ }
+
public Type ensureType(Class clazz)
{
if (clazz.isArray()) {
More information about the jboss-svn-commits
mailing list