static void Main(string[] args) { string[] lines = File.ReadAllLines(Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName + "//snippets//example.txt"); Tokenizer tokenizer = new Tokenizer(lines); Compiler compiler = new Compiler(); compiler.compile(tokenizer.getTokens()); VirtualMachine vm = new VirtualMachine(); vm.Run(compiler.Nodes); Console.ReadLine(); }
public override void Execute(VirtualMachine vm, IList<string> parameterNames) { var variable1 = vm.getVariable(parameterNames[1]); var variable2 = vm.getVariable(parameterNames[2]); int var1; int var2; if (Int32.TryParse(variable1, out var1) && Int32.TryParse(variable2, out var2)) vm.ReturnValue = (var1 + var2) .ToString(); else vm.ReturnValue = variable1 + variable2; }
public override void Execute(VirtualMachine vm, IList<string> parameterNames) { var variable1 = vm.getVariable(parameterNames[1]); var variable2 = vm.getVariable(parameterNames[2]); int var1; int var2; if (Int32.TryParse(variable1, out var1) && Int32.TryParse(variable2, out var2)) vm.ReturnValue = (var1 / var2) .ToString(); else Console.WriteLine("Specified operation could not be completed, given variable not a integer"); }
public override void Execute(VirtualMachine vm, IList<string> parameterNames) { var variable1 = vm.getVariable(parameterNames[1]); var variable2 = vm.getVariable(parameterNames[2]); int var1; int var2; if (Int32.TryParse(variable1, out var1) && Int32.TryParse(variable2, out var2)) vm.ReturnValue = (var1 - var2) .ToString(); else if(variable1.Contains(variable2)) { variable1.Replace(variable2, ""); } else { Console.WriteLine("String does not contain substring"); } }
public abstract void Execute(VirtualMachine vm, IList<string> parameters);
public override void Execute(VirtualMachine vm, IList<string> parameters) { throw new NotImplementedException(); }
public override void Execute(VirtualMachine vm, IList<string> parameters) { vm.setVariable(parameters[1], parameters[2]); }
public NextNodeVisitor(VirtualMachine vm) { virtualMachine = vm; }
public override void Execute(VirtualMachine vm, IList<string> parameters) { vm.ReturnValue = Convert.ToString(vm.getVariable(parameters[1]) == vm.getVariable(parameters[2])); }
public override void Execute(VirtualMachine vm, IList<string> parameters) { vm.ReturnValue = parameters[1]; }