// === Entry and Evaluation Control Methods === public void interpret(List <Stmt> statements) { try { foreach (Stmt statement in statements) { execute(statement); } } catch (RuntimeError e) { AutonoCy_Main.runtimeError(e); } }
public override object CALL(Interpreter interpreter, List <object> arguments) { if (arguments[0] is string) { try { return(Double.Parse((string)arguments[0])); } catch (FormatException e) { AutonoCy_Main.runtimeError(new RuntimeError(new Token(TokenTypes.IDENTIFIER, "stringToNumber", null, -1), "stringToNumber - Unexpected formatting")); return(null); } } else { throw new RuntimeError(new Token(TokenTypes.IDENTIFIER, "stringToNumber", null, -1), "stringToNumber - unexpected argument type '" + arguments[0].GetType().ToString() + "', expecting type 'string'"); } }