lib/nydp/runner.rb in nydp-0.2.3 vs lib/nydp/runner.rb in nydp-0.2.5

- old
+ new

@@ -48,26 +48,17 @@ end def compile_and_eval expr begin vm.thread Pair.new(Compiler.compile(expr, Nydp::NIL), Nydp::NIL) - rescue Exception => e - new_msg = "failed to eval #{expr.inspect}\nerror was #{Nydp.indent_text e.message}" - raise e.class, new_msg, e.backtrace + rescue StandardError => e + raise Nydp::Error, "failed to eval #{expr.inspect}" end end - def quote expr - Pair.from_list [@quote, expr] - end - - def precompile expr - Pair.from_list [@precompile, quote(expr)] - end - def pre_compile expr - compile_and_eval(precompile(expr)) + compile_and_eval(Pair.from_list [@precompile, Pair.from_list([@quote, expr])]) end def evaluate expr compile_and_eval(pre_compile(expr)) end @@ -83,39 +74,20 @@ def print val @printer.puts val.inspect if @printer end - def handle_run_error e - puts e.message - e.backtrace.each do |b| - puts b - end - end - def run Nydp.apply_function ns, :"script-run", :"script-start", name res = Nydp::NIL begin while !@tokens.finished expr = @parser.expression(@tokens) - unless expr.nil? - begin - print(res = evaluate(expr)) - rescue Exception => e - handle_run_error e - end - end + print(res = evaluate(expr)) unless expr.nil? end ensure Nydp.apply_function ns, :"script-run", :"script-end", name end res - end - end - - class ExplodeRunner < Runner - def handle_run_error e - raise e end end end