Exemple #1
0
 void stmt(out AST e)
 {
     e = null; AST v = null;
     if (la.kind == 8)
     {
         Get();
         String symref = t.val;
         Expect(9);
         val(out v);
         e = new Assigning(symref, v);
         if (la.kind == 1 || la.kind == 2)
         {
             Expression e2;
             expr(out e2, v);
             e = new Assigning(symref, e2);
         }
     }
     else if (la.kind == 5)
     {
         Get();
         Expect(8);
         e = new Printing(t.val);
     }
     else
     {
         SynErr(12);
     }
 }
Exemple #2
0
        public override void visit(Assigning n)
        {
            n.child1.accept(this);
            int m = AST.SymbolTable[n.id];
            int t = generalize(n.child1.type, m);

            n.child1 = convert(n.child1, m);
            n.type   = t;
        }
Exemple #3
0
 public abstract void visit(Assigning n);
Exemple #4
0
 public override void visit(Assigning n)
 {
     Console.Write($"{n.id} = ");
     n.child1.accept(this);
     Console.WriteLine(" ");
 }
Exemple #5
0
 public override void visit(Assigning n)
 {
     n.child1.accept(this);
 }
Exemple #6
0
 public override void visit(Assigning n)
 {
     emit(n.id + " = ");
     n.child1.accept(this);
     emit(";\n");
 }