diff options
| author | gingerBill <ginger.bill.22@gmail.com> | 2016-07-21 00:26:14 +0100 |
|---|---|---|
| committer | gingerBill <ginger.bill.22@gmail.com> | 2016-07-21 00:26:14 +0100 |
| commit | cbd82e3c02cbeff8fe3ba5198d6ca730f8c1eace (patch) | |
| tree | 00728d59925609e8fd081f5276e8b26117ec00e3 /src/main.cpp | |
| parent | aa6a2caecb759522914ba82cc506e60270ad1ab0 (diff) | |
Support import files as modules (i.e. import only once)
Diffstat (limited to 'src/main.cpp')
| -rw-r--r-- | src/main.cpp | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/main.cpp b/src/main.cpp index 68b7b7ee8..e4190714e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3,7 +3,7 @@ #include "parser.cpp" #include "printer.cpp" #include "checker/checker.cpp" -#include "generator.cpp" +// #include "codegen/codegen.cpp" int main(int argc, char **argv) { @@ -12,29 +12,29 @@ int main(int argc, char **argv) { return 1; } - init_global_scope(); + init_universal_scope(); for (int arg_index = 1; arg_index < argc; arg_index++) { char *arg = argv[arg_index]; - char *filename = arg; + char *init_filename = arg; Parser parser = {0}; - if (init_parser(&parser, filename)) { + if (init_parser(&parser)) { defer (destroy_parser(&parser)); - AstNode *file_node = parse_statement_list(&parser, NULL); - // print_ast(file_node, 0); + + parse_files(&parser, init_filename); Checker checker = {}; init_checker(&checker, &parser); defer (destroy_checker(&checker)); - check_file(&checker, file_node); + check_parsed_files(&checker); +#if 0 + Codegen codegen = {}; + if (init_codegen(&codegen, &checker)) { + defer (destroy_codegen(&codegen)); -#if 1 - Generator generator = {}; - if (init_generator(&generator, &checker)) { - defer (destroy_generator(&generator)); - generate_code(&generator, file_node); + generate_code(&codegen, file_node); } #endif } |