From 70a3118a99302a68cdae5fe77703547164af9a6f Mon Sep 17 00:00:00 2001 From: Garritt McCune Date: Mon, 4 Apr 2022 19:44:13 +0000 Subject: [PATCH] 'Minor' bug fix for the StatementList, forgot to set the capacity. --- src/lox.c | 2 +- src/parser.c | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) 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; }