Package edu.mit.csail.sdg.alloy4compiler.ast

Examples of edu.mit.csail.sdg.alloy4compiler.ast.ExprVar


       String label = label(node);
       Expr type = null;
       for(XMLNode sub:node) if (sub.is("types")) { Expr t=parseType(sub); if (type==null) type=t; else type=type.plus(t); }
       int arity;
       if (type==null || (arity=type.type().arity())<1) throw new IOException("Skolem "+label+" is maltyped.");
       ExprVar var = ExprVar.make(Pos.UNKNOWN, label, type.type());
       TupleSet ts = parseTuples(node, arity);
       expr2ts.put(var, ts);
       return var;
    }
View Full Code Here


              r = sol.addRel(s.label+"."+f.label, ts, ts);
              sol.addField(f, r);
          }
       }
       for(Map.Entry<Expr,TupleSet> e:expr2ts.entrySet()) {
          ExprVar v = (ExprVar)(e.getKey());
          TupleSet ts = e.getValue();
          Relation r = sol.addRel(v.label, ts, ts);
          sol.kr2type(r, v.type());
       }
       // Done!
       sol.solve(null, null, null, false);
    }
View Full Code Here

    }

    /** {@inheritDoc} */
    @Override public SimTupleset visit(Field x) throws Err {
        if (x.defined) {
            final ExprVar v = (ExprVar)(x.sig.decl.get());
            final Expr b = x.decl().expr;
            final Env<ExprVar,Object> oldenv = env;
            env = new Env<ExprVar,Object>();
            if (!b.hasVar(v)) { SimTupleset ans=cset(x.sig).product(cset(b)); env=oldenv; return ans; }
            SimTupleset ans = SimTupleset.EMPTY;
View Full Code Here

    }

    /** Helper method for enumerating all possibilties for a quantification-expression. */
    private int enumerate(final TempList<SimTuple> store, int sum, final ExprQt x, final Expr body, final int i) throws Err { // if op is ALL NO SOME ONE LONE then it always returns 0 1 2
       final int n = x.count();
       final ExprVar v = x.get(i);
       final Expr bound = x.getBound(i);
       final SimTupleset e = cset(bound);
       final Iterator<SimTupleset> it;
       switch(bound.mult()) {
         case LONEOF: it = e.loneOf(); break;
View Full Code Here

    private ExprVar addSkolem(String label, Type type, Expression expr) throws Err {
       if (solved) throw new ErrorFatal("Cannot add an additional skolem since solve() has completed.");
       int a = type.arity();
       if (a<1) throw new ErrorFatal("Skolem "+label+" must be associated with a relational value.");
       if (a!=expr.arity()) throw new ErrorFatal("Skolem "+label+" must be associated with an "+a+"-ary relational value.");
       ExprVar v = ExprVar.make(Pos.UNKNOWN, label, type);
       a2k.put(v, expr);
       skolems.add(v);
       return v;
    }
View Full Code Here

           if (frame.atom2sig.containsKey(t.atom(0))) continue; // This means one of the subsig has already claimed this atom.
           String x = signame + "$" + i;
           i++;
           frame.atom2sig.put(t.atom(0), s);
           frame.atom2name.put(t.atom(0), x);
           ExprVar v = ExprVar.make(null, x, s.type());
           TupleSet ts = t.universe().factory().range(t, t);
           Relation r = Relation.unary(x);
           frame.eval.instance().add(r, ts);
           frame.a2k.put(v, r);
           frame.atoms.add(v);
View Full Code Here

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 346: // BaseExpr ::= AT Name
            {
              Expr RESULT =null;
        Pos o = (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;
         nod(x); RESULT = ExprVar.make(o.merge(x.pos), "@"+x.label);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("BaseExpr",2, RESULT);
            }
          return CUP$CompParser$result;

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

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 344: // BaseExpr ::= LPAREN Expr RPAREN
            {
              Expr RESULT =null;
        Expr x = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
         RESULT = x;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("BaseExpr",2, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 343: // BaseExpr ::= INTNEXT
            {
              Expr RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = ExprConstant.Op.NEXT.make(o, 0);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("BaseExpr",2, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 342: // BaseExpr ::= INTMAX
            {
              Expr RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = ExprConstant.Op.MAX.make(o, 0);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("BaseExpr",2, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 341: // BaseExpr ::= INTMIN
            {
              Expr RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = ExprConstant.Op.MIN.make(o, 0);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("BaseExpr",2, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 340: // BaseExpr ::= THIS
            {
              Expr RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = ExprVar.make(o, "this");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("BaseExpr",2, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 339: // BaseExpr ::= IDEN
            {
              Expr RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = ExprVar.make(o, "iden");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("BaseExpr",2, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 338: // BaseExpr ::= STR
            {
              Expr RESULT =null;
        ExprConstant x = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = x;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("BaseExpr",2, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 337: // BaseExpr ::= NUMBER
            {
              Expr RESULT =null;
        ExprConstant x = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = x;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("BaseExpr",2, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 336: // UnopExprB ::= CARET UnopExprB
            {
              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.CLOSURE  .make(o,b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("UnopExprB",80, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 335: // UnopExprB ::= STAR UnopExprB
            {
              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.RCLOSURE .make(o,b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("UnopExprB",80, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 334: // UnopExprB ::= TILDE UnopExprB
            {
              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.TRANSPOSE.make(o,b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("UnopExprB",80, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 333: // UnopExprB ::= BaseExpr
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("UnopExprB",80, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 332: // UnopExprA ::= CARET UnopExprA
            {
              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.CLOSURE  .make(o,b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("UnopExprA",79, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 331: // UnopExprA ::= STAR UnopExprA
            {
              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.RCLOSURE .make(o,b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("UnopExprA",79, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 330: // UnopExprA ::= TILDE UnopExprA
            {
              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.TRANSPOSE.make(o,b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("UnopExprA",79, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 329: // UnopExprA ::= CARET 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.CLOSURE  .make(o,b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("UnopExprA",79, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 328: // UnopExprA ::= STAR 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.RCLOSURE .make(o,b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("UnopExprA",79, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 327: // UnopExprA ::= TILDE 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.TRANSPOSE.make(o,b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("UnopExprA",79, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 326: // DotExprB ::= BracketExprB DOT SUM
            {
              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;
         RESULT=ExprUnary.Op.CAST2INT.make(o, a);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("DotExprB",18, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 325: // DotExprB ::= BracketExprB DOT INT
            {
              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;
         RESULT=ExprUnary.Op.CAST2INT.make(o, a);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("DotExprB",18, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 324: // DotExprB ::= BracketExprB DOT TOTALORDER
            {
              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;
        Pos b = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=t(o, null, a, ExprVar.make(b, "pred/totalOrder"), null);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("DotExprB",18, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 323: // DotExprB ::= BracketExprB DOT DISJ
            {
              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;
        Pos b = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=t(o, null, a, ExprVar.make(b, "disj"),            null);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("DotExprB",18, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 322: // DotExprB ::= BracketExprB DOT UnopExprB
            {
              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=t(o, null, a, b,                                  null);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("DotExprB",18, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 321: // DotExprB ::= UnopExprB
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("DotExprB",18, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 320: // DotExprA ::= BracketExprB DOT 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=t(o, null, a, b,                                  null);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("DotExprA",17, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 319: // DotExprA ::= UnopExprA
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("DotExprA",17, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 318: // BracketExprB ::= SUM LBRACKET Exprs RBRACKET
            {
              Expr RESULT =null;
        Pos a = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        List<Expr> b = (List<Expr>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Pos c = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         Expr aa=ExprVar.make(a, "int");             for(Expr bb:b) aa=t(aa.span().merge(bb.span()), c, bb, aa, c); RESULT=aa;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("BracketExprB",5, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 317: // BracketExprB ::= INT LBRACKET Exprs RBRACKET
            {
              Expr RESULT =null;
        Pos a = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        List<Expr> b = (List<Expr>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Pos c = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         Expr aa=ExprVar.make(a, "int");             for(Expr bb:b) aa=t(aa.span().merge(bb.span()), c, bb, aa, c); RESULT=aa;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("BracketExprB",5, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 316: // BracketExprB ::= TOTALORDER LBRACKET Exprs RBRACKET
            {
              Expr RESULT =null;
        Pos a = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        List<Expr> b = (List<Expr>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Pos c = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         Expr aa=ExprVar.make(a, "pred/totalOrder"); for(Expr bb:b) aa=t(aa.span().merge(bb.span()), c, bb, aa, c); RESULT=aa;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("BracketExprB",5, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 315: // BracketExprB ::= DISJ LBRACKET Exprs RBRACKET
            {
              Expr RESULT =null;
        Pos a = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        List<Expr> b = (List<Expr>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Pos c = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         Expr aa=ExprVar.make(a, "disj");            for(Expr bb:b) aa=t(aa.span().merge(bb.span()), c, bb, aa, c); RESULT=aa;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("BracketExprB",5, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 314: // BracketExprB ::= BracketExprB LBRACKET Exprs RBRACKET
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        List<Expr> b = (List<Expr>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Pos c = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         Expr aa=a;                                  for(Expr bb:b) aa=t(aa.span().merge(bb.span()), c, bb, aa, c); RESULT=aa;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("BracketExprB",5, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 313: // BracketExprB ::= DotExprB
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("BracketExprB",5, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 312: // BracketExprA ::= DotExprA
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("BracketExprA",4, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 311: // RangeExprB ::= RangeExprB RANGE BracketExprB
            {
              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.RANGE.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("RangeExprB",55, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 310: // RangeExprB ::= BracketExprB
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("RangeExprB",55, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 309: // RangeExprA ::= RangeExprB RANGE 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.RANGE.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("RangeExprA",54, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 308: // RangeExprA ::= BracketExprA
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("RangeExprA",54, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 307: // DomainExprB ::= DomainExprB DOMAIN RangeExprB
            {
              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.DOMAIN.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("DomainExprB",16, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 306: // DomainExprB ::= RangeExprB
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("DomainExprB",16, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 305: // DomainExprA ::= DomainExprB DOMAIN 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.DOMAIN.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("DomainExprA",15, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 304: // DomainExprA ::= RangeExprA
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("DomainExprA",15, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 303: // RelationExprB ::= DomainExprB RelOp RelationExprB
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pair<Pos,ExprBinary.Op> o = (Pair<Pos,ExprBinary.Op>)((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=o.b.make(o.a, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("RelationExprB",58, RESULT);
            }
          return CUP$CompParser$result;

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

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 301: // RelationExprA ::= DomainExprB RelOp Bind
            {
              Expr RESULT =null;
        Expr a = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pair<Pos,ExprBinary.Op> o = (Pair<Pos,ExprBinary.Op>)((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=o.b.make(o.a, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("RelationExprA",57, RESULT);
            }
          return CUP$CompParser$result;

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

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 299: // RelOp ::= LONE_ARROW_LONE
            {
              Pair<Pos,ExprBinary.Op> RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Pair<Pos,ExprBinary.Op>(o, ExprBinary.Op.LONE_ARROW_LONE);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("RelOp",56, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 298: // RelOp ::= LONE_ARROW_ONE
            {
              Pair<Pos,ExprBinary.Op> RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Pair<Pos,ExprBinary.Op>(o, ExprBinary.Op.LONE_ARROW_ONE );
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("RelOp",56, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 297: // RelOp ::= LONE_ARROW_SOME
            {
              Pair<Pos,ExprBinary.Op> RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Pair<Pos,ExprBinary.Op>(o, ExprBinary.Op.LONE_ARROW_SOME);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("RelOp",56, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 296: // RelOp ::= LONE_ARROW_ANY
            {
              Pair<Pos,ExprBinary.Op> RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Pair<Pos,ExprBinary.Op>(o, ExprBinary.Op.LONE_ARROW_ANY );
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("RelOp",56, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 295: // RelOp ::= ONE_ARROW_LONE
            {
              Pair<Pos,ExprBinary.Op> RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Pair<Pos,ExprBinary.Op>(o, ExprBinary.Op.ONE_ARROW_LONE );
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("RelOp",56, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 294: // RelOp ::= ONE_ARROW_ONE
            {
              Pair<Pos,ExprBinary.Op> RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Pair<Pos,ExprBinary.Op>(o, ExprBinary.Op.ONE_ARROW_ONE  );
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("RelOp",56, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 293: // RelOp ::= ONE_ARROW_SOME
            {
              Pair<Pos,ExprBinary.Op> RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Pair<Pos,ExprBinary.Op>(o, ExprBinary.Op.ONE_ARROW_SOME );
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("RelOp",56, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 292: // RelOp ::= ONE_ARROW_ANY
            {
              Pair<Pos,ExprBinary.Op> RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Pair<Pos,ExprBinary.Op>(o, ExprBinary.Op.ONE_ARROW_ANY  );
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("RelOp",56, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 291: // RelOp ::= SOME_ARROW_LONE
            {
              Pair<Pos,ExprBinary.Op> RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Pair<Pos,ExprBinary.Op>(o, ExprBinary.Op.SOME_ARROW_LONE);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("RelOp",56, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 290: // RelOp ::= SOME_ARROW_ONE
            {
              Pair<Pos,ExprBinary.Op> RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Pair<Pos,ExprBinary.Op>(o, ExprBinary.Op.SOME_ARROW_ONE );
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("RelOp",56, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 289: // RelOp ::= SOME_ARROW_SOME
            {
              Pair<Pos,ExprBinary.Op> RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Pair<Pos,ExprBinary.Op>(o, ExprBinary.Op.SOME_ARROW_SOME);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("RelOp",56, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 288: // RelOp ::= SOME_ARROW_ANY
            {
              Pair<Pos,ExprBinary.Op> RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Pair<Pos,ExprBinary.Op>(o, ExprBinary.Op.SOME_ARROW_ANY );
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("RelOp",56, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 287: // RelOp ::= ANY_ARROW_LONE
            {
              Pair<Pos,ExprBinary.Op> RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Pair<Pos,ExprBinary.Op>(o, ExprBinary.Op.ANY_ARROW_LONE );
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("RelOp",56, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 286: // RelOp ::= ANY_ARROW_ONE
            {
              Pair<Pos,ExprBinary.Op> RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Pair<Pos,ExprBinary.Op>(o, ExprBinary.Op.ANY_ARROW_ONE  );
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("RelOp",56, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 285: // RelOp ::= ANY_ARROW_SOME
            {
              Pair<Pos,ExprBinary.Op> RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Pair<Pos,ExprBinary.Op>(o, ExprBinary.Op.ANY_ARROW_SOME );
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("RelOp",56, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 284: // RelOp ::= ARROW
            {
              Pair<Pos,ExprBinary.Op> RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new Pair<Pos,ExprBinary.Op>(o, ExprBinary.Op.ARROW          );
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("RelOp",56, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 283: // IntersectExprB ::= IntersectExprB AMPERSAND RelationExprB
            {
              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.INTERSECT.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("IntersectExprB",37, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 282: // IntersectExprB ::= RelationExprB
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("IntersectExprB",37, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 281: // IntersectExprA ::= IntersectExprB AMPERSAND 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.INTERSECT.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("IntersectExprA",36, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 280: // IntersectExprA ::= RelationExprA
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("IntersectExprA",36, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 279: // OverrideExprB ::= OverrideExprB PLUSPLUS IntersectExprB
            {
              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.PLUSPLUS.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("OverrideExprB",52, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 278: // OverrideExprB ::= IntersectExprB
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("OverrideExprB",52, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 277: // OverrideExprA ::= OverrideExprB PLUSPLUS 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.PLUSPLUS.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("OverrideExprA",51, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 276: // OverrideExprA ::= IntersectExprA
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("OverrideExprA",51, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 275: // NumUnopExprB ::= INT NumUnopExprB
            {
              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.CAST2INT   .make(o, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("NumUnopExprB",48, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 274: // NumUnopExprB ::= SUM NumUnopExprB
            {
              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.CAST2INT   .make(o, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("NumUnopExprB",48, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 273: // NumUnopExprB ::= HASH NumUnopExprB
            {
              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.CARDINALITY.make(o, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("NumUnopExprB",48, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 272: // NumUnopExprB ::= OverrideExprB
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("NumUnopExprB",48, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 271: // NumUnopExprA ::= INT NumUnopExprA
            {
              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.CAST2INT   .make(o, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("NumUnopExprA",47, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 270: // NumUnopExprA ::= SUM NumUnopExprA
            {
              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.CAST2INT   .make(o, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("NumUnopExprA",47, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 269: // NumUnopExprA ::= HASH NumUnopExprA
            {
              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.CARDINALITY.make(o, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("NumUnopExprA",47, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 268: // NumUnopExprA ::= INT 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.CAST2INT   .make(o, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("NumUnopExprA",47, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 267: // NumUnopExprA ::= SUM 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.CAST2INT   .make(o, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("NumUnopExprA",47, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 266: // NumUnopExprA ::= HASH 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.CARDINALITY.make(o, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("NumUnopExprA",47, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 265: // NumUnopExprA ::= OverrideExprA
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("NumUnopExprA",47, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 264: // MulExprB ::= MulExprB INTREM NumUnopExprB
            {
              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.REM       .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("MulExprB",76, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 263: // MulExprB ::= MulExprB INTDIV NumUnopExprB
            {
              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.DIV       .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("MulExprB",76, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 262: // MulExprB ::= MulExprB INTMUL NumUnopExprB
            {
              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.MUL       .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("MulExprB",76, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 261: // MulExprB ::= NumUnopExprB
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("MulExprB",76, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 260: // MulExprA ::= MulExprB INTREM 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.REM       .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("MulExprA",75, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 259: // MulExprA ::= MulExprB INTDIV 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.DIV       .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("MulExprA",75, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 258: // MulExprA ::= MulExprB INTMUL 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.MUL       .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("MulExprA",75, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 257: // MulExprA ::= NumUnopExprA
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("MulExprA",75, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 256: // UnionDiffExprB ::= UnionDiffExprB INTSUB MulExprB
            {
              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.MINUS.make(o, null, a.cast2int(), b.cast2int());
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("UnionDiffExprB",78, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 255: // UnionDiffExprB ::= UnionDiffExprB INTADD MulExprB
            {
              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.PLUS .make(o, null, a.cast2int(), b.cast2int());
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("UnionDiffExprB",78, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 254: // UnionDiffExprB ::= UnionDiffExprB MINUS MulExprB
            {
              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.MINUS.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("UnionDiffExprB",78, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 253: // UnionDiffExprB ::= UnionDiffExprB PLUS MulExprB
            {
              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.PLUS .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("UnionDiffExprB",78, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 252: // UnionDiffExprB ::= MulExprB
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("UnionDiffExprB",78, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 251: // UnionDiffExprA ::= UnionDiffExprB INTSUB 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.MINUS.make(o, null, a.cast2int(), b.cast2int());
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("UnionDiffExprA",77, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 250: // UnionDiffExprA ::= UnionDiffExprB INTADD 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.PLUS .make(o, null, a.cast2int(), b.cast2int());
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("UnionDiffExprA",77, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 249: // UnionDiffExprA ::= UnionDiffExprB MINUS 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.MINUS.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("UnionDiffExprA",77, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 248: // UnionDiffExprA ::= UnionDiffExprB PLUS 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.PLUS .make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("UnionDiffExprA",77, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 247: // UnionDiffExprA ::= MulExprA
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("UnionDiffExprA",77, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 246: // ShiftExprB ::= ShiftExprB SHA UnionDiffExprB
            {
              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.SHA.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("ShiftExprB",74, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 245: // ShiftExprB ::= ShiftExprB SHR UnionDiffExprB
            {
              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.SHR.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("ShiftExprB",74, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 244: // ShiftExprB ::= ShiftExprB SHL UnionDiffExprB
            {
              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.SHL.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("ShiftExprB",74, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 243: // ShiftExprB ::= UnionDiffExprB
            {
              Expr RESULT =null;
        Expr b = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("ShiftExprB",74, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 242: // ShiftExprA ::= ShiftExprB SHA 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.SHA.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("ShiftExprA",73, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 241: // ShiftExprA ::= ShiftExprB SHR 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.SHR.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("ShiftExprA",73, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 240: // ShiftExprA ::= ShiftExprB SHL 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.SHL.make(o, null, a, b);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("ShiftExprA",73, RESULT);
            }
          return CUP$CompParser$result;

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

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

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 237: // CompareExprB ::= SEQ ShiftExprB
            {
              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("CompareExprB",7, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 236: // CompareExprB ::= SET ShiftExprB
            {
              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("CompareExprB",7, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 235: // CompareExprB ::= ONE ShiftExprB
            {
              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("CompareExprB",7, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 234: // CompareExprB ::= LONE ShiftExprB
            {
              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("CompareExprB",7, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 233: // CompareExprB ::= SOME ShiftExprB
            {
              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("CompareExprB",7, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 232: // CompareExprB ::= NO ShiftExprB
            {
              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("CompareExprB",7, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          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;

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

   nod(b);
   RESULT = new CommandScope(a.pos.merge(b.pos), new PrimSig(b.label, AttrType.WHERE.make(a.pos.merge(b.pos))), a.isExact, a.startingScope, a.endingScope, a.increment);

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

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

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 38: // Typescopes ::= Typescope
            {
              List<CommandScope> RESULT =null;
        CommandScope a = (CommandScope)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new ArrayList<CommandScope>(); RESULT.add(a);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Typescopes",72, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 37: // Scope ::=
            {
              List<CommandScope> RESULT =null;
         RESULT=new ArrayList<CommandScope>();
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Scope",59, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 36: // Scope ::= FOR Typescopes
            {
              List<CommandScope> RESULT =null;
        List<CommandScope> b = (List<CommandScope>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Scope",59, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 35: // Scope ::= FOR NUMBER BUT Typescopes
            {
              List<CommandScope> RESULT =null;
        ExprConstant a = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        List<CommandScope> b = (List<CommandScope>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=b;                                  b.add(new CommandScope(a.pos, new PrimSig("univ", AttrType.WHERE.make(a.pos)), true, a.num, a.num, 1));
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Scope",59, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 34: // Scope ::= FOR NUMBER
            {
              List<CommandScope> RESULT =null;
        ExprConstant a = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=new ArrayList<CommandScope>(); RESULT.add(new CommandScope(a.pos, new PrimSig("univ", AttrType.WHERE.make(a.pos)), true, a.num, a.num, 1));
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Scope",59, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 33: // Expects ::= EXPECT NUMBER
            {
              ExprConstant RESULT =null;
        ExprConstant a = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT=a;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Expects",21, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 32: // Expects ::=
            {
              ExprConstant RESULT =null;
         RESULT=null;
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Expects",21, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 31: // Command ::= Command IMPLIES CommandPrefix Name Scope Expects
            {
              Object RESULT =null;
        ExprVar o = (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-2)).value;
        List<CommandScope> s = (List<CommandScope>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        ExprConstant c = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         c(true ,o,null,n   ,null,s,c);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Command",8, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 30: // Command ::= Command IMPLIES CommandPrefix Name Name Scope Expects
            {
              Object RESULT =null;
        ExprVar o = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        ExprVar x = (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-2)).value;
        List<CommandScope> s = (List<CommandScope>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        ExprConstant c = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         c(true ,o,x   ,n   ,null,s,c);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Command",8, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 29: // Command ::= CommandPrefix Name Scope Expects
            {
              Object RESULT =null;
        ExprVar o = (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-2)).value;
        List<CommandScope> s = (List<CommandScope>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        ExprConstant c = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         c(false,o,null,n   ,null,s,c);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Command",8, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 28: // Command ::= CommandPrefix Name Name Scope Expects
            {
              Object RESULT =null;
        ExprVar o = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        ExprVar x = (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-2)).value;
        List<CommandScope> s = (List<CommandScope>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        ExprConstant c = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         c(false,o,x   ,n   ,null,s,c);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Command",8, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 27: // Command ::= Command IMPLIES CommandPrefix Super Scope Expects
            {
              Object RESULT =null;
        ExprVar o = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        Expr e = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        List<CommandScope> s = (List<CommandScope>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        ExprConstant c = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         c(true ,o,null,null,e   ,s,c);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Command",8, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 26: // Command ::= Command IMPLIES CommandPrefix Name Super Scope Expects
            {
              Object RESULT =null;
        ExprVar o = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        ExprVar x = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        Expr e = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        List<CommandScope> s = (List<CommandScope>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        ExprConstant c = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         c(true ,o,x   ,null,e   ,s,c);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Command",8, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 25: // Command ::= CommandPrefix Super Scope Expects
            {
              Object RESULT =null;
        ExprVar o = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        Expr e = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        List<CommandScope> s = (List<CommandScope>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        ExprConstant c = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         c(false,o,null,null,e   ,s,c);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Command",8, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 24: // Command ::= CommandPrefix Name Super Scope Expects
            {
              Object RESULT =null;
        ExprVar o = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-4)).value;
        ExprVar x = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        Expr e = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        List<CommandScope> s = (List<CommandScope>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        ExprConstant c = (ExprConstant)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         c(false,o,x   ,null,e   ,s,c);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Command",8, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 23: // CommandPrefix ::= RUN
            {
              ExprVar RESULT =null;
        Pos r = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = ExprVar.make(r, "r");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CommandPrefix",9, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 22: // CommandPrefix ::= CHECK
            {
              ExprVar RESULT =null;
        Pos c = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         RESULT = ExprVar.make(c, "c");
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("CommandPrefix",9, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 21: // Spec ::=
            {
              Object RESULT =null;

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

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 20: // Spec ::= Spec Command
            {
              Object RESULT =null;

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

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 19: // Spec ::= Spec Macro
            {
              Object RESULT =null;

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

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 18: // Spec ::= Spec Predicate
            {
              Object RESULT =null;

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

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 17: // Spec ::= Spec Function
            {
              Object RESULT =null;

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

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 16: // Spec ::= Spec Sig
            {
              Object RESULT =null;

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

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 15: // Spec ::= Spec ASSERT STR Super
            {
              Object RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        ExprConstant n = (ExprConstant)((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;
                 parser.alloymodule.addAssertion (o , n.string , e);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Spec",69, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 14: // Spec ::= Spec ASSERT Name Super
            {
              Object RESULT =null;
        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 e = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(n); parser.alloymodule.addAssertion (o , n.label  , e);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Spec",69, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 13: // Spec ::= Spec ASSERT Super
            {
              Object RESULT =null;
        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;
                 parser.alloymodule.addAssertion (o , ""       , e);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Spec",69, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 12: // Spec ::= Spec FACT STR Super
            {
              Object RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        ExprConstant n = (ExprConstant)((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;
                 parser.alloymodule.addFact      (o , n.string , e);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Spec",69, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 11: // Spec ::= Spec FACT Name Super
            {
              Object RESULT =null;
        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 e = (Expr)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(n); parser.alloymodule.addFact      (o , n.label  , e);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Spec",69, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 10: // Spec ::= Spec FACT Super
            {
              Object RESULT =null;
        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;
                 parser.alloymodule.addFact      (o , ""       , e);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Spec",69, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 9: // Spec ::= Spec Vis ENUM Name LBRACE RBRACE
            {
              Object RESULT =null;
        Pos p = (Pos)((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;
        ExprVar a = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        Pos c = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(a);         parser.alloymodule.addEnum(o.merge(c),     p, a, null, c);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Spec",69, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 8: // Spec ::= Spec Vis ENUM Name LBRACE Names RBRACE
            {
              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 a = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        List<ExprVar> n = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Pos c = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(a);         parser.alloymodule.addEnum(o.merge(c),     p, a, n,    c);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Spec",69, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 7: // Spec ::= Spec Vis OPEN Name LBRACKET SigRefs RBRACKET AS Name
            {
              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 a = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-5)).value;
        List<ExprVar> b = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        ExprVar c = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(a); nod(c); parser.alloymodule.addOpen(o.merge(c.pos), p, a, b,    c);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Spec",69, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 6: // Spec ::= Spec Vis OPEN Name LBRACKET SigRefs RBRACKET
            {
              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 a = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-3)).value;
        List<ExprVar> b = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Pos c = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(a);         parser.alloymodule.addOpen(o.merge(c),     p, a, b,    null);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Spec",69, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 5: // Spec ::= Spec Vis OPEN Name AS Name
            {
              Object RESULT =null;
        Pos p = (Pos)((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;
        ExprVar a = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-2)).value;
        ExprVar c = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(a); nod(c); parser.alloymodule.addOpen(o.merge(c.pos), p, a, null, c);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Spec",69, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 4: // Spec ::= Spec Vis OPEN Name
            {
              Object RESULT =null;
        Pos p = (Pos)((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;
        ExprVar a = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(a);         parser.alloymodule.addOpen(o.merge(a.pos), p, a, null, null);
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Spec",69, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 3: // Spec ::= Spec MODULE Name LBRACKET Namex RBRACKET
            {
              Object RESULT =null;
        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;
        List<ExprVar> b = (List<ExprVar>)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        Pos r = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(n); nod(b); parser.alloymodule.addModelName(o.merge(r)     , n.label , b                       );
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Spec",69, RESULT);
            }
          return CUP$CompParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 2: // Spec ::= Spec MODULE Name
            {
              Object RESULT =null;
        Pos o = (Pos)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.elementAt(CUP$CompParser$top-1)).value;
        ExprVar n = (ExprVar)((java_cup_11a.runtime.Symbol) CUP$CompParser$stack.peek()).value;
         nod(n);         parser.alloymodule.addModelName(o.merge(n.pos) , n.label , new ArrayList<ExprVar>());
              CUP$CompParser$result = parser.getSymbolFactory().newSymbol("Spec",69, RESULT);
            }
          return CUP$CompParser$result;

View Full Code Here

      /** {@inheritDoc} */
      @Override public Expr visit(ExprLet x) throws Err {
         Expr right = visitThis(x.expr);
         right = right.resolve(right.type(), warns);
         ExprVar left = ExprVar.make(x.var.pos, x.var.label, right.type());
         put(left.label, left);
         Expr sub = visitThis(x.sub);
         remove(left.label);
         return ExprLet.make(x.pos, left, right, sub);
      }
View Full Code Here

               }
            }
            // Below is a special case to allow more fine-grained typechecking when we see "all x:field$" or "some x:field$"
            boolean some = (x.op==ExprQt.Op.SOME), compre = (x.op==ExprQt.Op.COMPREHENSION);
            if (x.decls.size()==1 && d.names.size()==1 && isOneOf(exp) && (x.op==ExprQt.Op.ALL || some || compre) && (isMetaSig || isMetaField)) {
               ExprVar v = (ExprVar)(d.names.get(0));
               // Prevent warnings
               List<ErrorWarning> saved = warns;
               warns = null;
               // Now duplicate the body for each possible Meta Atom binding
               Expr answer = null;
               if (isMetaSig) for(PrimSig child: rootmodule.metaSig().children()) if (child.type().intersects(exp.type())) {
                  put(v.label, child);
                  Expr sub = visitThis(x.sub);
                  remove(v.label);
                  if (compre) answer = child.in(exp).and(sub).ite(child, Sig.NONE).plus(answer);
                  else if (some) answer = child.in(exp).and(sub).or(answer);
                  else answer = child.in(exp).implies(sub).and(answer);
               }
               if (isMetaField) for(PrimSig child: rootmodule.metaField().children()) if (child.type().intersects(exp.type())) {
                  put(v.label, child);
                  Expr sub = visitThis(x.sub);
                  remove(v.label);
                  if (compre) answer = child.in(exp).and(sub).ite(child, Sig.NONE).plus(answer);
                  else if (some) answer = child.in(exp).and(sub).or(answer);
                  else answer = child.in(exp).implies(sub).and(answer);
               }
               if (answer==null) answer = (compre ? Sig.NONE : (some ? ExprConstant.FALSE : ExprConstant.TRUE)); else answer = answer.resolve(answer.type(), null);
               // Now, wrap the body in an ExprLet expression to prevent any more warnings by outer code
               ExprVar combinedAnswer = ExprVar.make(Pos.UNKNOWN, "", answer.type());
               Expr returnValue = ExprLet.make(Pos.UNKNOWN, combinedAnswer, answer, combinedAnswer);
               // Restore the "warns" array, then return the answer
               warns = saved;
               return returnValue;
            }
View Full Code Here

            }
         }
      }
      final TempList<String> newlist = new TempList<String>(args==null ? 0 : args.size());
      if (args!=null) for(int i=0; i<args.size(); i++) {
         ExprVar arg=args.get(i);
         if (arg.label.length()==0)      throw new ErrorSyntax(arg.span(), "Argument cannot be empty.");
         if (arg.label.indexOf('@')>=0throw new ErrorSyntax(arg.span(), "Argument cannot contain the \'@\' chracter.");
         newlist.add(arg.label);
      }
      Open x = opens.get(as);
      if (x!=null) {
         // we allow this, especially because of util/sequniv
View Full Code Here

TOP

Related Classes of edu.mit.csail.sdg.alloy4compiler.ast.ExprVar

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.