aboutsummaryrefslogtreecommitdiff
path: root/src/bfc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bfc.c')
-rw-r--r--src/bfc.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/bfc.c b/src/bfc.c
new file mode 100644
index 0000000..2e369cf
--- /dev/null
+++ b/src/bfc.c
@@ -0,0 +1,30 @@
+#include "all.h"
+#include "str.h"
+#include <stddef.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+int main(void) {
+ str input = {0};
+ str_append_fread(&input, stdin);
+
+ lexer_t lexer = lex_init(&input);
+ lex_run(&lexer);
+
+ parser_t p = parser_init(&lexer);
+
+ ast_node_t *ast = parse_program(&p);
+
+ // lex_free(&lexer);
+ // parser_free(&p);
+
+ str c_code = gen_code(ast);
+
+ ast_free(ast);
+
+ printf("%s", c_code.data);
+
+ free_str(&input);
+ return 0;
+}