Fix case_statement/lambda-close-over-variables bug, rename ast_node file to make ast_node:: unambigious, change test_ast to test_compiler and add a little skeleton c_generator file

This commit is contained in:
Nathan Braswell
2016-01-04 00:38:59 -05:00
parent 21a7afe66d
commit 84032eece0
7 changed files with 95 additions and 12 deletions

View File

@@ -7,6 +7,7 @@ import util:*
import symbol:*
import tree:*
import serialize:*
import c_generator:*
fun main():int {
@@ -72,10 +73,15 @@ fun main():int {
/*println(ast_to_dot(ast))*/
/*write_file(string("ast.dot"), ast_to_dot(ast))*/
var kraken_file_name = string("to_parse.krak")
var parse.construct(gram): parser
var ast_pass.construct(): ast_transformation
var importer.construct(parse, ast_pass): importer
importer.import(string("to_parse.krak"))
importer.import(kraken_file_name)
var c_generator.construct(): c_generator
var c_output_pair = c_generator.generate(importer.name_ast_map)
write_file(kraken_file_name + ".c", c_output_pair.first)
println(string("linker string: ") + c_output_pair.second)
return 0
}