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); } }
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; }
public abstract void visit(Assigning n);
public override void visit(Assigning n) { Console.Write($"{n.id} = "); n.child1.accept(this); Console.WriteLine(" "); }
public override void visit(Assigning n) { n.child1.accept(this); }
public override void visit(Assigning n) { emit(n.id + " = "); n.child1.accept(this); emit(";\n"); }