Package edu.mit.csail.sdg.alloy4

Examples of edu.mit.csail.sdg.alloy4.ErrorSyntax


        this.isPred = (returnDecl==null);
        if (returnDecl==null) returnDecl = ExprConstant.FALSE;
        if (returnDecl.mult==0 && returnDecl.type.arity()==1) returnDecl = ExprUnary.Op.ONEOF.make(null, returnDecl);
        this.returnDecl = returnDecl;
        this.body = body;
        if (body.mult!=0) throw new ErrorSyntax(body.span(), "Multiplicity expression not allowed here.");
        this.decls = ConstList.make(decls);
        for(int n=count(), i=0; i<n; i++)
          for(int j=i+1; j<n; j++)
            if (get(i)==get(j))
              throw new ErrorSyntax(get(j).span(),
                "The same variable cannot appear more than once in a predicate/function's parameter list.");
        for(Decl d: this.decls) if (d.expr!=null && d.expr.hasCall())
           throw new ErrorSyntax(d.expr.span(), "Parameter declaration cannot contain predicate/function calls.");
        if (returnDecl.hasCall())
           throw new ErrorSyntax(returnDecl.span(), "Return type declaration cannot contain predicate/function calls.");
    }
View Full Code Here


            if (newBody.type.arity() != returnDecl.type.arity())
               throw new ErrorType(newBody.span(),
               "Function return type is "+returnDecl.type+",\nso the body must be a relation with arity "
               +returnDecl.type.arity()+".\nSo the body's type cannot be: "+newBody.type);
        }
        if (newBody.mult!=0) throw new ErrorSyntax(newBody.span(), "Multiplicity expression not allowed here.");
        this.body = newBody;
    }
View Full Code Here

        boolean ambiguous = false;
        JoinableList<Err> errs = emptyListOfErrors;
        TempList<Expr> newargs = new TempList<Expr>(args.size());
        if (args.size() != fun.count()) {
            errs = errs.make(
              new ErrorSyntax(pos, ""+fun+" has "+fun.count()+" parameters but is called with "+args.size()+" arguments."));
        }
        for(int i=0; i<args.size(); i++) {
            final int a = (i<fun.count()) ? fun.get(i).type.arity() : 0;
            final Expr x = args.get(i).typecheck_as_set();
            ambiguous = ambiguous || x.ambiguous;
            errs = errs.make(x.errors);
            weight = weight + x.weight;
            if (x.mult!=0) errs = errs.make(new ErrorSyntax(x.span(), "Multiplicity expression not allowed here."));
            if (a>0 && x.errors.isEmpty() && !x.type.hasArity(a))
              errs = errs.make(new ErrorType(x.span(), "This should have arity "+a+" but instead its possible type(s) are "+x.type));
            newargs.add(x);
        }
        Type t=Type.FORMULA;
View Full Code Here

            Type ans = x.sub.accept(this);
            env.remove(x.var);
            return ans;
        }
        @Override public Type visit(ExprCall x) throws Err {
            throw new ErrorSyntax(x.span(), "Return type declaration cannot contain predicate/function calls.");
        }
View Full Code Here

        Type commonArity = null;
        for(int i=0; i<args.size(); i++) {
            Expr a = (op==Op.AND || op==Op.OR) ? args.get(i).typecheck_as_formula() : args.get(i).typecheck_as_set();
            ambiguous = ambiguous || a.ambiguous;
            weight = weight + a.weight;
            if (a.mult != 0) errs = errs.make(new ErrorSyntax(a.span(), "Multiplicity expression not allowed here."));
            if (!a.errors.isEmpty()) errs = errs.make(a.errors); else if (commonArity==null) commonArity = a.type; else commonArity = commonArity.pickCommonArity(a.type);
            if (op==Op.AND) addAND(newargs, a); else if (op==Op.OR) addOR(newargs, a); else newargs.add(a);
        }
        if (op==Op.TOTALORDER) {
           if (newargs.size()!=3) {
              errs = errs.make(new ErrorSyntax(pos, "The builtin pred/totalOrder[] predicate must be called with exactly three arguments."));
           } else if (errs.isEmpty()) {
              if (!newargs.get(0).type.hasArity(1)) errs = errs.make(new ErrorType(pos, "The first argument to pred/totalOrder must be unary."));
              if (!newargs.get(1).type.hasArity(1)) errs = errs.make(new ErrorType(pos, "The second argument to pred/totalOrder must be unary."));
              if (!newargs.get(2).type.hasArity(2)) errs = errs.make(new ErrorType(pos, "The third argument to pred/totalOrder must be binary."));
           }
        }
        if (op==Op.DISJOINT) {
           if (newargs.size()<2) errs = errs.make(new ErrorSyntax(pos, "The builtin disjoint[] predicate must be called with at least two arguments."));
           if (commonArity==EMPTY) errs = errs.make(new ErrorType(pos, "The builtin predicate disjoint[] cannot be used among expressions of different arities."));
        }
        return new ExprList(pos, closingBracket, op, ambiguous, newargs.makeConst(), weight, errs);
    }
View Full Code Here

     * @param left - the then-clause
     * @param right - the else-clause
     */
    public static Expr make(Pos pos, Expr cond, Expr left, Expr right) {
        JoinableList<Err> errs = emptyListOfErrors;
        if (cond.mult != 0) errs = errs.make(new ErrorSyntax(cond.span(), "Multiplicity expression not allowed here."));
        if (left.mult != 0) errs = errs.make(new ErrorSyntax(left.span(), "Multiplicity expression not allowed here."));
        if (right.mult != 0) errs = errs.make(new ErrorSyntax(right.span(), "Multiplicity expression not allowed here."));
        Type c=EMPTY;
        while(left.errors.isEmpty() && right.errors.isEmpty()) {
            Type a=left.type, b=right.type;
            c = a.unionWithCommonArity(b);
            if (a.is_int && b.is_int) c=Type.makeInt(c);
View Full Code Here

           if (y.op==ExprUnary.Op.ONEreturn ExprUnary.Op.ONEOF.make(y.pos, y.sub);
        }
        return x;
    }
    private void nod(ExprVar name) throws Err {
        if (name.label.indexOf('$')>=0) throw new ErrorSyntax(name.pos, "The name cannot contain the '$' symbol.");
    }
View Full Code Here

    }
    private void nod(ExprVar name) throws Err {
        if (name.label.indexOf('$')>=0) throw new ErrorSyntax(name.pos, "The name cannot contain the '$' symbol.");
    }
    private void nod(List<ExprVar> names) throws Err {
        if (names!=null) for(ExprVar n:names) if (n!=null && n.label.indexOf('$')>=0) throw new ErrorSyntax(n.pos, "The name cannot contain the '$' symbol.");
    }
View Full Code Here

        Pos p = o.pos.merge(n!=null ? n.span() : e.span());
        for(int i=s.size()-1; i>=0; i--) {
          Sig j=s.get(i).sig;  int k=s.get(i).startingScope;
          p=p.merge(j.pos);
          if (j.label.equals("univ")) { overall=k; s.remove(i); continue; }
          if (j.label.equals("int"))  { if (bitwidth>=0) throw new ErrorSyntax(j.pos, "The bitwidth cannot be specified more than once."); bitwidth=k; s.remove(i); continue; }
          if (j.label.equals("seq"))  { if (maxseq>=0) throw new ErrorSyntax(j.pos, "The maximum sequence length cannot be specified more than once."); maxseq=k; s.remove(i); continue; }
        }
        if (n!=null)
          parser.alloymodule.addCommand(follow, p, n.label, o.label.equals("c"), overall, bitwidth, maxseq, expects, s, x);
        else
          parser.alloymodule.addCommand(follow, p, e,       o.label.equals("c"), overall, bitwidth, maxseq, expects, s, x);
View Full Code Here

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 231: // CompareExprB ::= ALL ShiftExprB
            {
              Expr RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
         if (1==1) throw new ErrorSyntax(o,"The \"all x\" construct is no longer supported. If you know the range of possible values of x, consider rewriting it as \"x == set_of_all_possible_values\".");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprB",7, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 230: // CompareExprB ::= CompareExprB NOTGTE ShiftExprB
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.NOT_GTE   .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprB",7, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 229: // CompareExprB ::= CompareExprB NOTLTE ShiftExprB
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.NOT_LTE   .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprB",7, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 228: // CompareExprB ::= CompareExprB NOTGT ShiftExprB
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.NOT_GT    .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprB",7, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 227: // CompareExprB ::= CompareExprB NOTLT ShiftExprB
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.NOT_LT    .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprB",7, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 226: // CompareExprB ::= CompareExprB NOTEQUALS ShiftExprB
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.NOT_EQUALS.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprB",7, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 225: // CompareExprB ::= CompareExprB NOTIN ShiftExprB
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.NOT_IN    .make(o, null, a, mult(b));
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprB",7, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 224: // CompareExprB ::= CompareExprB GTE ShiftExprB
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.GTE       .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprB",7, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 223: // CompareExprB ::= CompareExprB LTE ShiftExprB
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.LTE       .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprB",7, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 222: // CompareExprB ::= CompareExprB GT ShiftExprB
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.GT        .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprB",7, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 221: // CompareExprB ::= CompareExprB LT ShiftExprB
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.LT        .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprB",7, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 220: // CompareExprB ::= CompareExprB EQUALS ShiftExprB
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.EQUALS    .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprB",7, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 219: // CompareExprB ::= CompareExprB IN ShiftExprB
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.IN        .make(o, null, a, mult(b));
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprB",7, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 218: // CompareExprA ::= ShiftExprA
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprA",6, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 217: // CompareExprA ::= SEQ ShiftExprA
            {
              Expr RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.ISSEQ_ARROW_LONE.make(o, null, ExprVar.make(o, "seq/Int"), b); parser.alloymodule.addSeq(o);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprA",6, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 216: // CompareExprA ::= SET ShiftExprA
            {
              Expr RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprUnary.Op.SETOF.make(o, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprA",6, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 215: // CompareExprA ::= ONE ShiftExprA
            {
              Expr RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprUnary.Op.ONE  .make(o, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprA",6, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 214: // CompareExprA ::= LONE ShiftExprA
            {
              Expr RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprUnary.Op.LONE .make(o, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprA",6, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 213: // CompareExprA ::= SOME ShiftExprA
            {
              Expr RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprUnary.Op.SOME .make(o, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprA",6, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 212: // CompareExprA ::= NO ShiftExprA
            {
              Expr RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprUnary.Op.NO   .make(o, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprA",6, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 211: // CompareExprA ::= ALL ShiftExprA
            {
              Expr RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
         if (1==1) throw new ErrorSyntax(o,"The \"all x\" construct is no longer supported. If you know the range of possible values of x, consider rewriting it as \"x == set_of_all_possible_values\".");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprA",6, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 210: // CompareExprA ::= CompareExprB NOTGTE ShiftExprA
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.NOT_GTE   .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprA",6, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 209: // CompareExprA ::= CompareExprB NOTLTE ShiftExprA
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.NOT_LTE   .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprA",6, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 208: // CompareExprA ::= CompareExprB NOTGT ShiftExprA
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.NOT_GT    .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprA",6, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 207: // CompareExprA ::= CompareExprB NOTLT ShiftExprA
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.NOT_LT    .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprA",6, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 206: // CompareExprA ::= CompareExprB NOTEQUALS ShiftExprA
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.NOT_EQUALS.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprA",6, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 205: // CompareExprA ::= CompareExprB NOTIN ShiftExprA
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.NOT_IN    .make(o, null, a, mult(b));
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprA",6, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 204: // CompareExprA ::= CompareExprB GTE ShiftExprA
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.GTE       .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprA",6, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 203: // CompareExprA ::= CompareExprB LTE ShiftExprA
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.LTE       .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprA",6, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 202: // CompareExprA ::= CompareExprB GT ShiftExprA
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.GT        .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprA",6, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 201: // CompareExprA ::= CompareExprB LT ShiftExprA
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.LT        .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprA",6, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 200: // CompareExprA ::= CompareExprB EQUALS ShiftExprA
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.EQUALS    .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprA",6, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 199: // CompareExprA ::= CompareExprB IN ShiftExprA
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.IN        .make(o, null, a, mult(b));
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CompareExprA",6, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 198: // NegExprB ::= NOT NegExprB
            {
              Expr RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprUnary.Op.NOT.make(o, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("NegExprB",46, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 197: // NegExprB ::= CompareExprB
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("NegExprB",46, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 196: // NegExprA ::= NOT NegExprA
            {
              Expr RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprUnary.Op.NOT.make(o, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("NegExprA",45, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 195: // NegExprA ::= NOT Bind
            {
              Expr RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprUnary.Op.NOT.make(o, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("NegExprA",45, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 194: // NegExprA ::= CompareExprA
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("NegExprA",45, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 193: // AndExprB ::= AndExprB AND NegExprB
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.AND.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("AndExprB",1, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 192: // AndExprB ::= NegExprB
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("AndExprB",1, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 191: // AndExprA ::= AndExprB AND Bind
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.AND.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("AndExprA",0, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 190: // AndExprA ::= NegExprA
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=a;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("AndExprA",0, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 189: // ImpliesExprOpenB ::= AndExprB IMPLIES ImpliesExprB
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = ExprBinary.Op.IMPLIES.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("ImpliesExprOpenB",35, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 188: // ImpliesExprOpenB ::= AndExprB IMPLIES ImpliesExprCloseB ELSE ImpliesExprOpenB
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Expr c = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = ExprITE.make(o,a,b,c);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("ImpliesExprOpenB",35, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 187: // ImpliesExprCloseB ::= AndExprB IMPLIES ImpliesExprCloseB ELSE ImpliesExprCloseB
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Expr c = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = ExprITE.make(o,a,b,c);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("ImpliesExprCloseB",33, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 186: // ImpliesExprCloseB ::= AndExprB
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=a;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("ImpliesExprCloseB",33, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 185: // ImpliesExprB ::= ImpliesExprOpenB
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=a;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("ImpliesExprB",31, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 184: // ImpliesExprB ::= ImpliesExprCloseB
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=a;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("ImpliesExprB",31, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 183: // ImpliesExprOpenA ::= AndExprB IMPLIES Bind
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = ExprBinary.Op.IMPLIES.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("ImpliesExprOpenA",34, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 182: // ImpliesExprCloseA ::= AndExprB IMPLIES ImpliesExprCloseB ELSE Bind
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Expr c = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = ExprITE.make(o,a,b,c);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("ImpliesExprCloseA",32, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 181: // ImpliesExprOpenA ::= AndExprB IMPLIES ImpliesExprA
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = ExprBinary.Op.IMPLIES.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("ImpliesExprOpenA",34, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 180: // ImpliesExprOpenA ::= AndExprB IMPLIES ImpliesExprCloseB ELSE ImpliesExprOpenA
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Expr c = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = ExprITE.make(o,a,b,c);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("ImpliesExprOpenA",34, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 179: // ImpliesExprCloseA ::= AndExprB IMPLIES ImpliesExprCloseB ELSE ImpliesExprCloseA
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Expr c = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = ExprITE.make(o,a,b,c);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("ImpliesExprCloseA",32, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 178: // ImpliesExprCloseA ::= AndExprA
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=a;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("ImpliesExprCloseA",32, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 177: // ImpliesExprA ::= ImpliesExprOpenA
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=a;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("ImpliesExprA",30, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 176: // ImpliesExprA ::= ImpliesExprCloseA
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=a;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("ImpliesExprA",30, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 175: // EquivExprB ::= EquivExprB IFF ImpliesExprB
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.IFF.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("EquivExprB",20, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 174: // EquivExprB ::= ImpliesExprB
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("EquivExprB",20, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 173: // EquivExprA ::= EquivExprB IFF Bind
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.IFF.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("EquivExprA",19, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 172: // EquivExprA ::= ImpliesExprA
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("EquivExprA",19, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 171: // OrExprB ::= OrExprB OR EquivExprB
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.OR.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("OrExprB",50, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 170: // OrExprB ::= EquivExprB
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("OrExprB",50, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 169: // OrExprA ::= OrExprB OR Bind
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.OR.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("OrExprA",49, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 168: // OrExprA ::= EquivExprA
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=a;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("OrExprA",49, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 167: // Bind ::= SUM2 Declp SuperOrBar
            {
              Expr RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        List<Decl> a = (List<Decl>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = ExprQt.Op.SUM .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Bind",3, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 166: // Bind ::= ONE2 Declp SuperOrBar
            {
              Expr RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        List<Decl> a = (List<Decl>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = ExprQt.Op.ONE .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Bind",3, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 165: // Bind ::= LONE2 Declp SuperOrBar
            {
              Expr RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        List<Decl> a = (List<Decl>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = ExprQt.Op.LONE.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Bind",3, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 164: // Bind ::= SOME2 Declp SuperOrBar
            {
              Expr RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        List<Decl> a = (List<Decl>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = ExprQt.Op.SOME.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Bind",3, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 163: // Bind ::= NO2 Declp SuperOrBar
            {
              Expr RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        List<Decl> a = (List<Decl>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = ExprQt.Op.NO  .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Bind",3, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 162: // Bind ::= ALL2 Declp SuperOrBar
            {
              Expr RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        List<Decl> a = (List<Decl>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = ExprQt.Op.ALL .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Bind",3, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 161: // Bind ::= LET Let
            {
              Expr RESULT =null;
        Expr x = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = x;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Bind",3, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 160: // Expr ::= Bind
            {
              Expr RESULT =null;
        Expr x = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = x;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Expr",22, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 159: // Expr ::= OrExprB
            {
              Expr RESULT =null;
        Expr x = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = x;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Expr",22, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 158: // Expr ::= OrExprA
            {
              Expr RESULT =null;
        Expr x = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = x;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Expr",22, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 157: // Exprp ::= Exprp COMMA Expr
            {
              List<Expr> RESULT =null;
        List<Expr> a = (List<Expr>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         a.add(b); RESULT=a;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Exprp",28, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 156: // Exprp ::= Expr
            {
              List<Expr> RESULT =null;
        Expr x = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new ArrayList<Expr>(); RESULT.add(x);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Exprp",28, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 155: // Exprs ::= Exprp
            {
              List<Expr> RESULT =null;
        List<Expr> x = (List<Expr>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=x;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Exprs",27, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 154: // Exprs ::=
            {
              List<Expr> RESULT =null;
         RESULT=new ArrayList<Expr>();
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Exprs",27, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 153: // SuperOrBar ::= Super
            {
              Expr RESULT =null;
        Expr x = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=x;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SuperOrBar",26, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 152: // SuperOrBar ::= BAR Expr
            {
              Expr RESULT =null;
        Expr x = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=x;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SuperOrBar",26, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 151: // SuperP ::= SuperP Expr
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprBinary.Op.AND.make(null, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SuperP",25, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 150: // SuperP ::= Expr
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=a;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SuperP",25, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 149: // Super ::= LBRACE RBRACE
            {
              Expr RESULT =null;
        Pos a = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Pos b = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprConstant.Op.TRUE.make(a.merge(b), 0);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Super",23, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 148: // Super ::= LBRACE SuperP RBRACE
            {
              Expr RESULT =null;
        Pos a = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Expr x = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Pos b = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprUnary.Op.NOOP.make(a.merge(b), x);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Super",23, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 147: // SuperOpt ::= Super
            {
              Expr RESULT =null;
        Expr x = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=x;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SuperOpt",24, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 146: // SuperOpt ::=
            {
              Expr RESULT =null;
         RESULT=null;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SuperOpt",24, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 145: // Let ::= Name EQUALS Expr COMMA Let
            {
              Expr RESULT =null;
        ExprVar a = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Expr x = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;

  nod(a);
  if (a.label.indexOf('/')>=0) throw new ErrorSyntax(a.pos, "Let variable name cannot contain \'/\'");
  if (a.label.indexOf('@')>=0) throw new ErrorSyntax(a.pos, "Let variable name cannot contain \'@\'");
  RESULT = ExprLet.make(o, ExprVar.make(a.pos, a.label), b, x);

              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Let",38, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 144: // Let ::= Name EQUALS Expr SuperOrBar
            {
              Expr RESULT =null;
        ExprVar a = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr x = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;

  nod(a);
  if (a.label.indexOf('/')>=0) throw new ErrorSyntax(a.pos, "Let variable name cannot contain \'/\'");
  if (a.label.indexOf('@')>=0) throw new ErrorSyntax(a.pos, "Let variable name cannot contain \'@\'");
  RESULT = ExprLet.make(o, ExprVar.make(a.pos, a.label), b, x);

              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Let",38, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 143: // Decls ::= COMMA Decls
            {
              List<Decl> RESULT =null;
        List<Decl> y = (List<Decl>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=y;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Decls",13, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 142: // Decls ::= Declb COMMA Decls
            {
              List<Decl> RESULT =null;
        Decl x = (Decl)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        List<Decl> y = (List<Decl>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=y; RESULT.add(0,x);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Decls",13, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 141: // Decls ::= Declb
            {
              List<Decl> RESULT =null;
        Decl x = (Decl)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new ArrayList<Decl>(); RESULT.add(x);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Decls",13, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 140: // Decls ::=
            {
              List<Decl> RESULT =null;
         RESULT=new ArrayList<Decl>();
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Decls",13, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 139: // Declp ::= Declb
            {
              List<Decl> RESULT =null;
        Decl y = (Decl)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new ArrayList<Decl>(); RESULT.add(y);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Declp",12, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 138: // Declp ::= Declp COMMA Declb
            {
              List<Decl> RESULT =null;
        List<Decl> x = (List<Decl>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Decl y = (Decl)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=x; RESULT.add(y);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Declp",12, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 137: // Declz ::= Decla
            {
              List<Decl> RESULT =null;
        Decl y = (Decl)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new ArrayList<Decl>(); RESULT.add(y);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Declz",14, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 136: // Declz ::= Declz COMMA Decla
            {
              List<Decl> RESULT =null;
        List<Decl> x = (List<Decl>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Decl y = (Decl)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=x; RESULT.add(y);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Declz",14, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 135: // Declb ::= Names EQUALS DISJ Expr
            {
              Decl RESULT =null;
        Pos d = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
         if (1==1) throw new ErrorSyntax(d, "Defined fields cannot be disjoint.");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Declb",11, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 134: // Declb ::= PRIVATE Names EQUALS DISJ Expr
            {
              Decl RESULT =null;
        Pos d = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
         if (1==1) throw new ErrorSyntax(d, "Defined fields cannot be disjoint.");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Declb",11, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 133: // Declb ::= PRIVATE DISJ Names EQUALS DISJ Expr
            {
              Decl RESULT =null;
        Pos d = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
         if (1==1) throw new ErrorSyntax(d, "Defined fields cannot be disjoint.");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Declb",11, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 132: // Declb ::= DISJ Names EQUALS DISJ Expr
            {
              Decl RESULT =null;
        Pos d = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
         if (1==1) throw new ErrorSyntax(d, "Defined fields cannot be disjoint.");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Declb",11, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 131: // Declb ::= EXH Names EQUALS DISJ Expr
            {
              Decl RESULT =null;
        Pos k = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
         if (1==1) throw CompModule.hint(k, "exh");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Declb",11, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 130: // Declb ::= PART Names EQUALS DISJ Expr
            {
              Decl RESULT =null;
        Pos k = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
         if (1==1) throw CompModule.hint(k, "part");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Declb",11, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 129: // Declb ::= Names EQUALS Expr
            {
              Decl RESULT =null;
        List<ExprVar> a = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Decl(null, null, null,  a, ExprUnary.Op.EXACTLYOF.make(null, b));
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Declb",11, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 128: // Declb ::= PRIVATE Names EQUALS Expr
            {
              Decl RESULT =null;
        Pos p = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        List<ExprVar> a = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Decl(p,    null, null,  a, ExprUnary.Op.EXACTLYOF.make(null, b));
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Declb",11, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 127: // Declb ::= PRIVATE DISJ Names EQUALS Expr
            {
              Decl RESULT =null;
        Pos d = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
         if (1==1) throw new ErrorSyntax(d, "Defined fields cannot be disjoint.");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Declb",11, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 126: // Declb ::= DISJ Names EQUALS Expr
            {
              Decl RESULT =null;
        Pos d = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
         if (1==1) throw new ErrorSyntax(d, "Defined fields cannot be disjoint.");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Declb",11, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 125: // Declb ::= EXH Names EQUALS Expr
            {
              Decl RESULT =null;
        Pos k = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
         if (1==1) throw CompModule.hint(k, "exh");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Declb",11, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 124: // Declb ::= PART Names EQUALS Expr
            {
              Decl RESULT =null;
        Pos k = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
         if (1==1) throw CompModule.hint(k, "part");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Declb",11, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 123: // Declb ::= Decla
            {
              Decl RESULT =null;
        Decl x = (Decl)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=x;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Declb",11, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 122: // Decla ::= Names COLON DISJ Expr
            {
              Decl RESULT =null;
        List<ExprVar> a = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        Pos d = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Decl(null, null, d,    a, mult(b));
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Decla",10, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 121: // Decla ::= PRIVATE Names COLON DISJ Expr
            {
              Decl RESULT =null;
        Pos p = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        List<ExprVar> a = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        Pos d = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Decl(p,    null, d,    a, mult(b));
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Decla",10, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 120: // Decla ::= PRIVATE DISJ Names COLON DISJ Expr
            {
              Decl RESULT =null;
        Pos p = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-5)).value;
        Pos k = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        List<ExprVar> a = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        Pos d = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Decl(p,    k,    d,    a, mult(b));
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Decla",10, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 119: // Decla ::= DISJ Names COLON DISJ Expr
            {
              Decl RESULT =null;
        Pos k = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        List<ExprVar> a = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        Pos d = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Decl(null, k,    d,    a, mult(b));
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Decla",10, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 118: // Decla ::= EXH Names COLON DISJ Expr
            {
              Decl RESULT =null;
        Pos k = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
         if (1==1) throw CompModule.hint(k, "exh");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Decla",10, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 117: // Decla ::= PART Names COLON DISJ Expr
            {
              Decl RESULT =null;
        Pos k = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
         if (1==1) throw CompModule.hint(k, "part");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Decla",10, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 116: // Decla ::= Names COLON Expr
            {
              Decl RESULT =null;
        List<ExprVar> a = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Decl(null, null, null, a, mult(b));
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Decla",10, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 115: // Decla ::= PRIVATE Names COLON Expr
            {
              Decl RESULT =null;
        Pos p = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        List<ExprVar> a = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Decl(p,    null, null, a, mult(b));
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Decla",10, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 114: // Decla ::= PRIVATE DISJ Names COLON Expr
            {
              Decl RESULT =null;
        Pos p = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        Pos k = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        List<ExprVar> a = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Decl(p,    k,    null, a, mult(b));
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Decla",10, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 113: // Decla ::= DISJ Names COLON Expr
            {
              Decl RESULT =null;
        Pos k = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        List<ExprVar> a = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Decl(null, k,    null, a, mult(b));
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Decla",10, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 112: // Decla ::= EXH Names COLON Expr
            {
              Decl RESULT =null;
        Pos k = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
         if (1==1) throw CompModule.hint(k, "exh");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Decla",10, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 111: // Decla ::= PART Names COLON Expr
            {
              Decl RESULT =null;
        Pos k = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
         if (1==1) throw CompModule.hint(k, "part");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Decla",10, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 110: // Namex ::= Namex COMMA EXACTLY Name
            {
              List<ExprVar> RESULT =null;
        List<ExprVar> a = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        ExprVar b = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(b); a.add(null); a.add(b); RESULT=a;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Namex",44, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 109: // Namex ::= Namex COMMA Name
            {
              List<ExprVar> RESULT =null;
        List<ExprVar> a = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        ExprVar b = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(b);              a.add(b); RESULT=a;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Namex",44, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 108: // Namex ::= EXACTLY Name
            {
              List<ExprVar> RESULT =null;
        ExprVar x = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(x); RESULT=new ArrayList<ExprVar>(); RESULT.add(null); RESULT.add(x);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Namex",44, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 107: // Namex ::= Name
            {
              List<ExprVar> RESULT =null;
        ExprVar x = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(x); RESULT=new ArrayList<ExprVar>();                   RESULT.add(x);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Namex",44, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 106: // Names ::= Names COMMA Name
            {
              List<ExprVar> RESULT =null;
        List<ExprVar> a = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        ExprVar b = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(b); a.add(b); RESULT=a;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Names",43, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 105: // Names ::= Name
            {
              List<ExprVar> RESULT =null;
        ExprVar x = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(x); RESULT=new ArrayList<ExprVar>(); RESULT.add(x);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Names",43, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 104: // NameHelper ::= NameHelper SLASH ID
            {
              ExprVar RESULT =null;
        ExprVar a = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        ExprVar b = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprVar.make(a.pos.merge(b.pos), a.label+"/"+b.label);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("NameHelper",42, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 103: // NameHelper ::= ID
            {
              ExprVar RESULT =null;
        ExprVar x = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=x;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("NameHelper",42, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 102: // Name ::= SEQ SLASH NameHelper
            {
              ExprVar RESULT =null;
        Pos a = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        ExprVar b = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprVar.make(a.merge(b.pos)"seq/"+b.label);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Name",41, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 101: // Name ::= THIS SLASH NameHelper
            {
              ExprVar RESULT =null;
        Pos a = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        ExprVar b = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprVar.make(a.merge(b.pos), "this/"+b.label);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Name",41, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 100: // Name ::= NameHelper
            {
              ExprVar RESULT =null;
        ExprVar x = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=x;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Name",41, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 99: // SigRefu ::= SigRefu PLUS SigRef
            {
              List<ExprVar> RESULT =null;
        List<ExprVar> a = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        ExprVar b = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         a.add(b); RESULT=a;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SigRefu",67, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 98: // SigRefu ::= SigRef
            {
              List<ExprVar> RESULT =null;
        ExprVar x = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new ArrayList<ExprVar>(); RESULT.add(x);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SigRefu",67, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 97: // SigRefp ::= SigRefp COMMA SigRef
            {
              List<ExprVar> RESULT =null;
        List<ExprVar> a = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        ExprVar b = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         a.add(b); RESULT=a;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SigRefp",65, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 96: // SigRefp ::= SigRef
            {
              List<ExprVar> RESULT =null;
        ExprVar x = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new ArrayList<ExprVar>(); RESULT.add(x);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SigRefp",65, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 95: // SigRefs ::= SigRefp
            {
              List<ExprVar> RESULT =null;
        List<ExprVar> x = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=x;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SigRefs",66, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 94: // SigRefs ::=
            {
              List<ExprVar> RESULT =null;
         RESULT=new ArrayList<ExprVar>();
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SigRefs",66, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 93: // SigRef ::= NONE
            {
              ExprVar RESULT =null;
        Pos x = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprVar.make(x, "none");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SigRef",64, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 92: // SigRef ::= SEQ SLASH SIGINT
            {
              ExprVar RESULT =null;
        Pos a = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos b = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprVar.make(a.merge(b), "seq/Int");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SigRef",64, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 91: // SigRef ::= SIGINT
            {
              ExprVar RESULT =null;
        Pos x = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprVar.make(x, "Int");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SigRef",64, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 90: // SigRef ::= STRING
            {
              ExprVar RESULT =null;
        Pos x = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprVar.make(x, "String");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SigRef",64, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 89: // SigRef ::= UNIV
            {
              ExprVar RESULT =null;
        Pos x = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=ExprVar.make(x, "univ");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SigRef",64, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 88: // SigRef ::= Name
            {
              ExprVar RESULT =null;
        ExprVar x = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=x;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SigRef",64, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 87: // SigIn ::=
            {
              List<ExprVar> RESULT =null;
         RESULT=null;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SigIn",61, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 86: // SigIn ::= EQUALS SigRefu
            {
              List<ExprVar> RESULT =null;
        Pos a = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        List<ExprVar> x = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=x;  x.add(ExprVar.make(a,"="));
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SigIn",61, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 85: // SigIn ::= IN SigRefu
            {
              List<ExprVar> RESULT =null;
        Pos a = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        List<ExprVar> x = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=x;  x.add(ExprVar.make(a,"in"));
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SigIn",61, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 84: // SigIn ::= EXTENDS SigRef
            {
              List<ExprVar> RESULT =null;
        Pos a = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        ExprVar x = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new ArrayList<ExprVar>(2); RESULT.add(x); RESULT.add(ExprVar.make(a, "extends"));
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SigIn",61, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 83: // SigQuals ::= SigQual SigQuals
            {
              List<Pos> RESULT =null;
        List<Pos> a = (List<Pos>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        List<Pos> b = (List<Pos>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=a; for(int i=0;i<5;i++) if (a.get(i)==null) a.set(i,b.get(i)); else if (b.get(i)!=null) throw new ErrorSyntax(b.get(i), "The same qualifer cannot be specified more than once for the same sig.");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SigQuals",63, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 82: // SigQuals ::= SIG
            {
              List<Pos> RESULT =null;
         RESULT=new ArrayList<Pos>(5); RESULT.add(null); RESULT.add(null); RESULT.add(null); RESULT.add(null); RESULT.add(null);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SigQuals",63, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 81: // SigQual ::= PRIVATE
            {
              List<Pos> RESULT =null;
        Pos x = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new ArrayList<Pos>(5); RESULT.add(null); RESULT.add(null); RESULT.add(null); RESULT.add(null); RESULT.add(x);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SigQual",62, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 80: // SigQual ::= SOME
            {
              List<Pos> RESULT =null;
        Pos x = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new ArrayList<Pos>(5); RESULT.add(null); RESULT.add(null); RESULT.add(null); RESULT.add(x);    RESULT.add(null);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SigQual",62, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 79: // SigQual ::= ONE
            {
              List<Pos> RESULT =null;
        Pos x = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new ArrayList<Pos>(5); RESULT.add(null); RESULT.add(null); RESULT.add(x);    RESULT.add(null); RESULT.add(null);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SigQual",62, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 78: // SigQual ::= LONE
            {
              List<Pos> RESULT =null;
        Pos x = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new ArrayList<Pos>(5); RESULT.add(null); RESULT.add(x);    RESULT.add(null); RESULT.add(null); RESULT.add(null);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SigQual",62, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 77: // SigQual ::= ABSTRACT
            {
              List<Pos> RESULT =null;
        Pos x = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new ArrayList<Pos>(5); RESULT.add(x);    RESULT.add(null); RESULT.add(null); RESULT.add(null); RESULT.add(null);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("SigQual",62, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 76: // Sig ::= SigQuals Names SigIn LBRACE Decls RBRACE SuperOpt
            {
              Object RESULT =null;
        List<Pos> a = (List<Pos>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-6)).value;
        List<ExprVar> b = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-5)).value;
        List<ExprVar> c = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        List<Decl> d = (List<Decl>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr e = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;

   if (e==null) e = ExprConstant.Op.TRUE.make(o, 0);
   ExprVar cc = (c!=null && c.size()>0) ? c.remove(c.size()-1) : null;
   for(ExprVar bb:b) {
      parser.alloymodule.addSig(bb.label, cc, c, d, e,
         AttrType.WHERE   .makenull(bb.pos.merge(e==null ? o : e.span())),
         AttrType.ABSTRACT.makenull(a.get(0)),
         AttrType.LONE    .makenull(a.get(1)),
         AttrType.ONE     .makenull(a.get(2)),
         AttrType.SOME    .makenull(a.get(3)),
         AttrType.PRIVATE .makenull(a.get(4)));
   }

              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Sig",60, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 75: // Vis ::= PRIVATE
            {
              Pos RESULT =null;
        Pos p = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=p;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Vis",81, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 74: // Vis ::=
            {
              Pos RESULT =null;
         RESULT=null;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Vis",81, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 73: // Predicate ::= Vis PRED SigRef DOT Name Super
            {
              Object RESULT =null;
        Pos p = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-5)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        ExprVar f = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        ExprVar n = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr v = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(n); parser.alloymodule.addFunc(o.merge(v.span()), p, n.label, f   , null , null, v);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Predicate",53, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 72: // Predicate ::= Vis PRED SigRef DOT Name LBRACKET Decls RBRACKET Super
            {
              Object RESULT =null;
        Pos p = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-8)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-7)).value;
        ExprVar f = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-6)).value;
        ExprVar n = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        List<Decl> d = (List<Decl>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Expr v = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(n); parser.alloymodule.addFunc(o.merge(v.span()), p, n.label, f   , d    , null, v);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Predicate",53, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 71: // Predicate ::= Vis PRED SigRef DOT Name LPAREN Decls RPAREN Super
            {
              Object RESULT =null;
        Pos p = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-8)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-7)).value;
        ExprVar f = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-6)).value;
        ExprVar n = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        List<Decl> d = (List<Decl>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Expr v = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(n); parser.alloymodule.addFunc(o.merge(v.span()), p, n.label, f   , d    , null, v);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Predicate",53, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 70: // Predicate ::= Vis PRED Name Super
            {
              Object RESULT =null;
        Pos p = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        ExprVar n = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr v = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(n); parser.alloymodule.addFunc(o.merge(v.span()), p, n.label, null, null , null, v);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Predicate",53, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 69: // Predicate ::= Vis PRED Name LBRACKET Decls RBRACKET Super
            {
              Object RESULT =null;
        Pos p = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-6)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-5)).value;
        ExprVar n = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        List<Decl> d = (List<Decl>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Expr v = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(n); parser.alloymodule.addFunc(o.merge(v.span()), p, n.label, null, d    , null, v);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Predicate",53, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 68: // Predicate ::= Vis PRED Name LPAREN Decls RPAREN Super
            {
              Object RESULT =null;
        Pos p = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-6)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-5)).value;
        ExprVar n = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        List<Decl> d = (List<Decl>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Expr v = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(n); parser.alloymodule.addFunc(o.merge(v.span()), p, n.label, null, d    , null, v);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Predicate",53, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 67: // Function ::= Vis FUN SigRef DOT Name COLON Expr Super
            {
              Object RESULT =null;
        Pos p = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-7)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-6)).value;
        ExprVar f = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-5)).value;
        ExprVar n = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        Expr r = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr v = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(n); parser.alloymodule.addFunc(o.merge(v.span()), p, n.label, f   , null , mult(r), v);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Function",29, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 66: // Function ::= Vis FUN SigRef DOT Name LBRACKET Decls RBRACKET COLON Expr Super
            {
              Object RESULT =null;
        Pos p = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-10)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-9)).value;
        ExprVar f = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-8)).value;
        ExprVar n = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-6)).value;
        List<Decl> d = (List<Decl>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        Expr r = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr v = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(n); parser.alloymodule.addFunc(o.merge(v.span()), p, n.label, f   , d    , mult(r), v);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Function",29, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 65: // Function ::= Vis FUN SigRef DOT Name LPAREN Decls RPAREN COLON Expr Super
            {
              Object RESULT =null;
        Pos p = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-10)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-9)).value;
        ExprVar f = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-8)).value;
        ExprVar n = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-6)).value;
        List<Decl> d = (List<Decl>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        Expr r = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr v = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(n); parser.alloymodule.addFunc(o.merge(v.span()), p, n.label, f   , d    , mult(r), v);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Function",29, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 64: // Function ::= Vis FUN Name COLON Expr Super
            {
              Object RESULT =null;
        Pos p = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-5)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        ExprVar n = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        Expr r = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr v = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(n); parser.alloymodule.addFunc(o.merge(v.span()), p, n.label, null, null , mult(r), v);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Function",29, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 63: // Function ::= Vis FUN Name LBRACKET Decls RBRACKET COLON Expr Super
            {
              Object RESULT =null;
        Pos p = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-8)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-7)).value;
        ExprVar n = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-6)).value;
        List<Decl> d = (List<Decl>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        Expr r = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr v = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(n); parser.alloymodule.addFunc(o.merge(v.span()), p, n.label, null, d    , mult(r), v);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Function",29, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 62: // Function ::= Vis FUN Name LPAREN Decls RPAREN COLON Expr Super
            {
              Object RESULT =null;
        Pos p = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-8)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-7)).value;
        ExprVar n = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-6)).value;
        List<Decl> d = (List<Decl>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        Expr r = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr v = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(n); parser.alloymodule.addFunc(o.merge(v.span()), p, n.label, null, d    , mult(r), v);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Function",29, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 61: // MacroBody ::= EQUALS Expr
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=a;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("MacroBody",40, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 60: // MacroBody ::= Super
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=a;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("MacroBody",40, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 59: // Macro ::= Vis LET Name MacroBody
            {
              Object RESULT =null;
        Pos p = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        ExprVar n = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Expr v = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(n); parser.alloymodule.addMacro(o.merge(v.span()), p, n.label, null  , v);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Macro",39, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 58: // Macro ::= Vis LET Name LBRACKET RBRACKET MacroBody
            {
              Object RESULT =null;
        Pos p = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-5)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        ExprVar n = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        Expr v = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(n); parser.alloymodule.addMacro(o.merge(v.span()), p, n.label, null  , v);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Macro",39, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 57: // Macro ::= Vis LET Name LBRACKET Names RBRACKET MacroBody
            {
              Object RESULT =null;
        Pos p = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-6)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-5)).value;
        ExprVar n = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        List<ExprVar> d = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Expr v = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(n); parser.alloymodule.addMacro(o.merge(v.span()), p, n.label, d     , v);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Macro",39, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 56: // Macro ::= Vis LET Name LPAREN RPAREN MacroBody
            {
              Object RESULT =null;
        Pos p = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-5)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        ExprVar n = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        Expr v = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(n); parser.alloymodule.addMacro(o.merge(v.span()), p, n.label, null  , v);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Macro",39, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 55: // Macro ::= Vis LET Name LPAREN Names RPAREN MacroBody
            {
              Object RESULT =null;
        Pos p = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-6)).value;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-5)).value;
        ExprVar n = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        List<ExprVar> d = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Expr v = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(n); parser.alloymodule.addMacro(o.merge(v.span()), p, n.label, d     , v);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Macro",39, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 54: // TypeNumber ::= NUMBER COLON NUMBER
            {
              CommandScope RESULT =null;
        ExprConstant a = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        ExprConstant i = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         if (!Version.experimental) throw new ErrorSyntax(a.pos, "Syntax error here."); RESULT = new CommandScope(a.pos.merge(i.pos), Sig.NONE, false, a.num, Integer.MAX_VALUE, i.num);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("TypeNumber",70, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 53: // TypeNumber ::= NUMBER DOT DOT NUMBER COLON NUMBER
            {
              CommandScope RESULT =null;
        ExprConstant a = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-5)).value;
        ExprConstant b = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        ExprConstant i = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         if (!Version.experimental) throw new ErrorSyntax(a.pos, "Syntax error here."); RESULT = new CommandScope(a.pos.merge(i.pos), Sig.NONE, false, a.num, b.num,             i.num);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("TypeNumber",70, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 52: // TypeNumber ::= NUMBER DOT DOT NUMBER
            {
              CommandScope RESULT =null;
        ExprConstant a = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        ExprConstant b = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         if (!Version.experimental) throw new ErrorSyntax(a.pos, "Syntax error here."); RESULT = new CommandScope(a.pos.merge(b.pos), Sig.NONE, false, a.num, b.num,             1    );
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("TypeNumber",70, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 51: // TypeNumber ::= NUMBER
            {
              CommandScope RESULT =null;
        ExprConstant a = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
                                                                                        RESULT = new CommandScope(a.pos             , Sig.NONE, false, a.num, a.num,             1    );
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("TypeNumber",70, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 50: // TypeNumber ::= EXACTLY NUMBER COLON NUMBER
            {
              CommandScope RESULT =null;
        Pos e = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        ExprConstant a = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        ExprConstant i = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         if (!Version.experimental) throw new ErrorSyntax(a.pos, "Syntax error here."); RESULT = new CommandScope(    e.merge(i.pos), Sig.NONE, true,  a.num, Integer.MAX_VALUE, i.num);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("TypeNumber",70, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 49: // TypeNumber ::= EXACTLY NUMBER DOT DOT NUMBER COLON NUMBER
            {
              CommandScope RESULT =null;
        Pos e = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-6)).value;
        ExprConstant a = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-5)).value;
        ExprConstant b = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        ExprConstant i = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         if (!Version.experimental) throw new ErrorSyntax(a.pos, "Syntax error here."); RESULT = new CommandScope(    e.merge(i.pos), Sig.NONE, true,  a.num, b.num,             i.num);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("TypeNumber",70, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 48: // TypeNumber ::= EXACTLY NUMBER DOT DOT NUMBER
            {
              CommandScope RESULT =null;
        Pos e = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        ExprConstant a = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        ExprConstant b = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         if (!Version.experimental) throw new ErrorSyntax(a.pos, "Syntax error here."); RESULT = new CommandScope(    e.merge(b.pos), Sig.NONE, true,  a.num, b.num,             1    );
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("TypeNumber",70, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 47: // TypeNumber ::= EXACTLY NUMBER
            {
              CommandScope RESULT =null;
        Pos e = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        ExprConstant a = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
                                                                                        RESULT = new CommandScope(    e.merge(a.pos), Sig.NONE, true,  a.num, a.num,             1    );
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("TypeNumber",70, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 46: // Typescope ::= TypeNumber NONE
            {
              CommandScope RESULT =null;
        CommandScope e = (CommandScope)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Pos f = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         if (1==1) throw new ErrorSyntax(e.pos.merge(f), "You cannot set a scope on none.");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Typescope",71, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 45: // Typescope ::= TypeNumber SIGINT
            {
              CommandScope RESULT =null;
        CommandScope e = (CommandScope)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Pos f = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         if (1==1) throw new ErrorSyntax(e.pos.merge(f), "You can no longer set a scope on Int; the number of Int atoms is always exactly equal to 2^(integer bitwidth).\n");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Typescope",71, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 44: // Typescope ::= TypeNumber STRING
            {
              CommandScope RESULT =null;
        CommandScope a = (CommandScope)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Pos b = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = new CommandScope(a.pos.merge(b), new PrimSig("String", AttrType.WHERE.make(a.pos.merge(b))), a.isExact, a.startingScope, a.endingScope, a.increment);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Typescope",71, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 43: // Typescope ::= TypeNumber UNIV
            {
              CommandScope RESULT =null;
        CommandScope e = (CommandScope)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Pos f = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         if (1==1) throw new ErrorSyntax(e.pos.merge(f), "You cannot set a scope on univ.");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Typescope",71, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 42: // Typescope ::= TypeNumber SEQ
            {
              CommandScope RESULT =null;
        CommandScope a = (CommandScope)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Pos b = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;

   Pos p = a.pos.merge(b);
   if (a.endingScope>a.startingScope) throw new ErrorSyntax(p, "Cannot specify a growing scope for \"seq\"");
   if (a.isExact) throw new ErrorSyntax(p, "The exactly keyword is redundant here since the number of sequence index has to be exact.");
   RESULT = new CommandScope(p, new PrimSig("seq", AttrType.WHERE.make(p)), a.isExact, a.startingScope, a.startingScope, 1);

              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Typescope",71, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 41: // Typescope ::= TypeNumber INT
            {
              CommandScope RESULT =null;
        CommandScope a = (CommandScope)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Pos b = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;

   Pos p = a.pos.merge(b);
   if (a.endingScope>a.startingScope) throw new ErrorSyntax(p, "Cannot specify a growing scope for \"int\"");
   if (a.isExact) throw new ErrorSyntax(p, "The exactly keyword is redundant here since the integer bitwidth must be exact.");
   RESULT = new CommandScope(p, new PrimSig("int", AttrType.WHERE.make(p)), a.isExact, a.startingScope, a.startingScope, 1);

              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Typescope",71, RESULT);
            }
          return CUP$CompParser$result;
View Full Code Here

TOP

Related Classes of edu.mit.csail.sdg.alloy4.ErrorSyntax

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.