using System; using System.Collections.Generic; using System.Reflection.Emit; using System.Text; using Sunweaver.Commands.Attributes; using Sunweaver.VM; namespace Sunweaver.Commands { //No base pair attribute on purpose /// /// A numerical constant between [ /// , /// /// ]. /// public class Constant : BasePair { public const Int16 MaxValue = Memory.MaxAbsoluteMemoryValue; public const Int16 MinValue = -Memory.MaxAbsoluteMemoryValue; public Int16 number = 0; public Constant(Int16 num) { number = num; } public Constant(string word) { Int16.TryParse(word, out number); } public override void Implementation(VirtualMachine VM) { VM.Stack.Push(GetNumber()); } public int GetNumber() { return number; } public override string ToString() { return GetNumber().ToString(); } internal override void Compile(ILGenerator il, Locals locals) { throw new NotImplementedException(); } } }