From b2c539fadfa7ea3eea2e5f7c0c37b5f5f1370c5a Mon Sep 17 00:00:00 2001 From: Preston Pan Date: Tue, 3 Jan 2023 09:45:40 -0800 Subject: actually evaluates and prints something now! --- src/main.c | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index 08cadbc..7da03dc 100644 --- a/src/main.c +++ b/src/main.c @@ -1,6 +1,12 @@ #define _GNU_SOURCE +#include "./include/ast.h" +#include "./include/hash_table.h" #include "./include/lexer.h" +#include "./include/parser.h" +#include "./include/print.h" +#include "./include/stack.h" #include "./include/token.h" +#include "./include/visitor.h" #include #include #include @@ -8,12 +14,12 @@ int main(int argc, char **argv) { /* Test Lexer */ - lexer_t *lexer = init_lexer("'(fasd \"aaaaaaaa\" 4)"); - token_t *t = lexer_collect_next(lexer); - while (t != NULL) { - printf("%d: %s\n", t->type, t->value); - t = lexer_collect_next(lexer); - } + /* lexer_t *lexer = init_lexer("'(fasd \"aaaaaaaa\" 4)"); */ + /* token_t *t = lexer_collect_next(lexer); */ + /* while (t != NULL) { */ + /* printf("%d: %s\n", t->type, t->value); */ + /* t = lexer_collect_next(lexer); */ + /* } */ /* printf("Welcome to the NXS REPL.\n"); */ /* char *buf = malloc(2); */ @@ -35,5 +41,16 @@ int main(int argc, char **argv) { /* } */ /* } */ + /* TEST PARSER, VISITOR, PRINTER */ + lexer_t *lexer = init_lexer("\"hello world\""); + parser_t *parser = init_parser(lexer); + + ast_t *root = parse_expr(parser); + + visitor_t *v = init_visitor(root); + + ast_t *res = eval_expr(v, root); + + print(res); return 0; } -- cgit