Esempio n. 1
0
            /// <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);
            }
Esempio n. 2
0
 /// <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;
 }