Example #1
0
 protected internal override void VisitAST(AssignStmtAST node)
 {
     if (!HasId(node.Name))
     {
         RegisterId(node.Name, node.Value.RetType);
     }
     var(ty, addr) = GetId(node.Name);
     this.Visit(node.Value);
     GenCode.Add(Ins.Dpl(ty));          // duplicate the stack top first
     GenCode.Add(Ins.Str(ty, 0, addr)); // then move to the specified addr, sp--
 }