Example #1
0
 public override void Visit(AssignNode node)
 {
     if (node.LeftSide is LocalVariableNode && node.RightSide != default)
     {
         this.ComputeLocalVariableAddress(node.LeftSide as LocalVariableNode);
         node.RightSide.Accept(this);
         this.Add("   pop rdi");
         this.Add("   pop rax");
         this.Add("   mov [rax], rdi");
         this.Add("   push rdi");
         return;
     }
     node.LeftSide.Accept(this);
 }
Example #2
0
 public abstract void Visit(AssignNode node);