Moved over compiler information printing and error to use stderr, enabled interpreter testing in tester. The interpreter passes 34/74 tests

This commit is contained in:
Nathan Braswell
2016-05-22 14:10:19 -07:00
parent 12dfa837e3
commit ce2eff42a6
9 changed files with 49 additions and 51 deletions

View File

@@ -505,17 +505,16 @@ obj interpreter (Object) {
})
if (results.size != 1)
error(string("wrong number of mains to call: ") + results.size)
println("=============")
println("calling main!")
println("=============")
printlnerr("=============")
printlnerr("calling main!")
printlnerr("=============")
var var_stack = stack<map<string, value>>()
var_stack.push(map<string,value>())
var defer_stack = stack<*ast_node>()
var result = call_function(results[0], vector<value>(), vector<*ast_node>(), &var_stack, &defer_stack, value::void_nothing(), value::void_nothing(), null<ast_node>())
println("=============")
println("Main returned: ")
print_value(result)
println("=============")
printlnerr("=============")
printlnerr("Done!")
printlnerr("=============")
interpret_from_defer_stack(&defer_stack, &var_stack, value::void_nothing(), null<ast_node>())
pop_and_free(&var_stack)