public override Instruction[] VisitOperation(assemblerParser.OperationContext context) { var result = new Instruction(_address, context); _address++; return(new [] { result }); }
public Instruction(uint address, assemblerParser.OperationContext context) { Address = address; var text = context.GetText(); var opCode = context.opcode().GetText(); OpCode = (OpCode)Enum.Parse(typeof(OpCode), opCode); var argumentsContext = context.arguments(); if (argumentsContext != null) { var arguments = argumentsContext.argument(); Arguments = new Argument[arguments.Length]; for (int i = 0; i < arguments.Length; i++) { Arguments[i] = new Argument(arguments[i]); } } }