diff --git a/src/lox.c b/src/lox.c index 78c8732..ea60fad 100644 --- a/src/lox.c +++ b/src/lox.c @@ -50,7 +50,7 @@ void RunFile(const char* path) { StatementList* statements = Parse(tokens); //PrintExpressionTree(tree); printf("\n"); - Interpret(tree); + //Interpret(tree); FreeStatementList(statements); //FreeExpressionTree(tree); DestroyTokenList(tokens); diff --git a/src/parser.c b/src/parser.c index c8f0ec7..97b1f2c 100644 --- a/src/parser.c +++ b/src/parser.c @@ -64,7 +64,10 @@ Stmt* Statement(void) { Stmt* PrintStatement(void) { Expr* value = Expression(); - if (!Match(1, Semicolon)) fprintf(stderr, "Expected ';' after value\n"); + if (!Match(1, Semicolon)) { + fprintf(stderr, "Expected ';' after value\n"); + return NULL; + } AdvanceParser(); @@ -74,7 +77,10 @@ Stmt* PrintStatement(void) { Stmt* ExpressionStatement(void) { Expr* expr = Expression(); - if (!Match(1, Semicolon)) fprintf(stderr, "Expected ';' after expression\n"); + if (!Match(1, Semicolon)) { + fprintf(stderr, "Expected ';' after expression\n"); + return NULL; + } AdvanceParser(); @@ -333,6 +339,8 @@ StatementList* CreateStatementList(void) { return NULL; } + list->capacity = STATEMENTLIST_DEFAULT_SIZE; + return list; }