aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorgingerBill <ginger.bill.22@gmail.com>2016-07-21 00:26:14 +0100
committergingerBill <ginger.bill.22@gmail.com>2016-07-21 00:26:14 +0100
commitcbd82e3c02cbeff8fe3ba5198d6ca730f8c1eace (patch)
tree00728d59925609e8fd081f5276e8b26117ec00e3 /src/main.cpp
parentaa6a2caecb759522914ba82cc506e60270ad1ab0 (diff)
Support import files as modules (i.e. import only once)
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp24
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
}