public void Execute(UltimateVirtualMachine vm, List<Token> parameters)
        {
            if (vm.Variables.ContainsKey(parameters[0].Value))
            {
                if (vm.Variables.GetValue(parameters[0].Value).type == TokenEnumeration.Integer)
                {
                    int result;
                    if (int.TryParse(vm.ReturnValue.Value.ToString(), out result))
                    {
                        vm.Variables[parameters[0].Value].Value = vm.ReturnValue.Value;

                    }
                    else
                    {
                        Console.WriteLine("Variable type mismatch");
                    }
                } else
                {
                    vm.Variables[parameters[0].Value].Value = vm.ReturnValue.Value;
                }
            }
            else
            {
                vm.Variables.Add(parameters[0].Value, vm.ReturnValue.Copy());
            }
        }
 public void Execute(UltimateVirtualMachine vm, List<Token> parameters)
 {
     if (vm.Variables.GetValue(parameters[0].Value).type == TokenEnumeration.Number && vm.Variables.GetValue(parameters[1].Value).type == TokenEnumeration.Number)
     {
         vm.ReturnValue.Value = Convert.ToInt32(vm.Variables.GetValue(parameters[0].Value).Value) * Convert.ToInt32(vm.Variables.GetValue(parameters[1].Value).Value);
         vm.ReturnValue.type = TokenEnumeration.Number;
     }
 }
 public void Execute(UltimateVirtualMachine vm, List<Token> parameters)
 {
     if (vm.Variables.GetValue(parameters[0].Value).type == TokenEnumeration.Number && vm.Variables.GetValue(parameters[1].Value).type == TokenEnumeration.Number)
     {
         vm.ReturnValue.Value = Convert.ToInt32(vm.Variables.GetValue(parameters[0].Value).Value) - Convert.ToInt32(vm.Variables.GetValue(parameters[1].Value).Value);
         vm.ReturnValue.type = TokenEnumeration.Number;
     }
     else if (vm.Variables.GetValue(parameters[0].Value).type == TokenEnumeration.QuotedString && vm.Variables.GetValue(parameters[1].Value).type == TokenEnumeration.QuotedString)
     {
         vm.ReturnValue.Value = vm.Variables.GetValue(parameters[0].Value).Value.ToString().Replace(vm.Variables.GetValue(parameters[1].Value).Value.ToString(), "");
         vm.ReturnValue.type = TokenEnumeration.QuotedString;
     }
 }
        public void Execute(UltimateVirtualMachine vm, List<Token> parameters)
        {
            if (!vm.Variables.ContainsKey(parameters[0].Value))
            {
                Console.WriteLine(parameters[0].Value + " is not declared");
                return;
            }

            if (!vm.Variables.ContainsKey(parameters[1].Value))
            {
                Console.WriteLine(parameters[1].Value + " is not declared");
                return;
            }

            if (vm.Variables.GetValue(parameters[0].Value).type == TokenEnumeration.Number && vm.Variables.GetValue(parameters[1].Value).type == TokenEnumeration.Number)
            {
                vm.ReturnValue.Value = Convert.ToInt32(vm.Variables.GetValue(parameters[0].Value).Value) < Convert.ToInt32(vm.Variables.GetValue(parameters[1].Value).Value);
                vm.ReturnValue.type = TokenEnumeration.Bool;
            }
        }
 public void Execute(UltimateVirtualMachine vm, List<Token> parameters)
 {
     if(vm.Variables.ContainsKey(parameters[0].Value))
     {
         vm.ReturnValue.Value = vm.Variables[parameters[0].Value].Value;
         TokenEnumeration type = vm.Variables[parameters[0].Value].type;
         switch (vm.Variables[parameters[0].Value].type)
         {
             case TokenEnumeration.Integer:
                 type = TokenEnumeration.Number;
                 break;
             case TokenEnumeration.String:
                 type = TokenEnumeration.QuotedString;
                 break;
         }
         vm.ReturnValue.type = type;
     } else
     {
         Console.WriteLine("Variable " + parameters[0].Value + " was not declared");
     }
 }