Пример #1
0
 public final Call Call() throws ParseException {
   NodeToken n0;
   Token n1;
   SimpleExp n2;
   NodeToken n3;
   Token n4;
   NodeListOptional n5 = new NodeListOptional();
   Temp n6;
   NodeToken n7;
   Token n8;
   n1 = jj_consume_token(CALL);
   n0 = JTBToolkit.makeNodeToken(n1);
   n2 = SimpleExp();
   n4 = jj_consume_token(LPAREN);
   n3 = JTBToolkit.makeNodeToken(n4);
   label_3:
   while (true) {
     switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
       case TEMP:;
         break;
       default:
         jj_la1[5] = jj_gen;
         break label_3;
     }
     n6 = Temp();
     n5.addNode(n6);
   }
   n5.nodes.trimToSize();
   n8 = jj_consume_token(RPAREN);
   n7 = JTBToolkit.makeNodeToken(n8);
   {
     if (true) return new Call(n0, n2, n3, n5, n7);
   }
   throw new Error("Missing return statement in function");
 }
 public PGValue visit(NodeListOptional n, Node argu) {
   ParamList_pg pl = new ParamList_pg();
   if (n.present()) {
     PGValue _ret = null;
     int _count = 0;
     for (Enumeration<Node> e = n.elements(); e.hasMoreElements(); ) {
       PGValue p = (PGValue) e.nextElement().accept(this, argu);
       if (p != null) pl.Insert(p);
       _count++;
     }
     return pl;
   } else return null;
 }
Пример #3
0
 public final StmtList StmtList() throws ParseException {
   NodeListOptional n0 = new NodeListOptional();
   NodeSequence n1;
   NodeOptional n2;
   Label n3;
   Stmt n4;
   label_2:
   while (true) {
     switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
       case NOOP:
       case MOVE:
       case ERROR:
       case PRINT:
       case JUMP:
       case CJUMP:
       case HSTORE:
       case HLOAD:
       case IDENTIFIER:;
         break;
       default:
         jj_la1[1] = jj_gen;
         break label_2;
     }
     n2 = new NodeOptional();
     n1 = new NodeSequence(2);
     switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
       case IDENTIFIER:
         n3 = Label();
         n2.addNode(n3);
         break;
       default:
         jj_la1[2] = jj_gen;
         ;
     }
     n1.addNode(n2);
     n4 = Stmt();
     n1.addNode(n4);
     n0.addNode(n1);
   }
   n0.nodes.trimToSize();
   {
     if (true) return new StmtList(n0);
   }
   throw new Error("Missing return statement in function");
 }
Пример #4
0
 public final Goal Goal() throws ParseException {
   NodeToken n0;
   Token n1;
   StmtList n2;
   NodeToken n3;
   Token n4;
   NodeListOptional n5 = new NodeListOptional();
   Procedure n6;
   NodeToken n7;
   Token n8;
   n1 = jj_consume_token(MAIN);
   n0 = JTBToolkit.makeNodeToken(n1);
   n2 = StmtList();
   n4 = jj_consume_token(END);
   n3 = JTBToolkit.makeNodeToken(n4);
   label_1:
   while (true) {
     switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
       case IDENTIFIER:;
         break;
       default:
         jj_la1[0] = jj_gen;
         break label_1;
     }
     n6 = Procedure();
     n5.addNode(n6);
   }
   n5.nodes.trimToSize();
   n8 = jj_consume_token(0);
   n8.beginColumn++;
   n8.endColumn++;
   n7 = JTBToolkit.makeNodeToken(n8);
   {
     if (true) return new Goal(n0, n2, n3, n5, n7);
   }
   throw new Error("Missing return statement in function");
 }