/// <summary> /// Creates a new MoveInstruction. /// </summary> public override Node ExitMove(Production node) { ArrayList values = GetChildValues(node); MoveInstruction i = new MoveInstruction(); i.Address = Assembler.NextInstructionAddress; i.Argument1 = (Argument)values[0]; i.Argument2 = (Argument)values[1]; if (values.Count == 3) { i.Argument3 = (Argument)values[2]; } i.Line = node.StartLine; i.Column = node.StartColumn; i.Assembler = Assembler; Assembler.Instructions.Add(i); return(node); }
/// <summary> /// Creates a new MoveInstruction. /// </summary> public override Node ExitMove(Production node) { ArrayList values = GetChildValues(node); MoveInstruction i = new MoveInstruction(); i.Address = Assembler.NextInstructionAddress; i.Argument1 = (Argument)values[0]; i.Argument2 = (Argument)values[1]; if (values.Count == 3) i.Argument3 = (Argument)values[2]; i.Line = node.StartLine; i.Column = node.StartColumn; i.Assembler = Assembler; Assembler.Instructions.Add(i); return node; }