From ca3aec6962aa4ed6d7e45214eb341029489fdf46 Mon Sep 17 00:00:00 2001 From: Maxwell Jeffress Date: Mon, 23 Feb 2026 18:17:44 +1100 Subject: [PATCH] Fix bug --- src/parser/parser.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/parser/parser.c b/src/parser/parser.c index 201b154..079d092 100644 --- a/src/parser/parser.c +++ b/src/parser/parser.c @@ -22,7 +22,6 @@ ResultType(SolsParser, charptr) createSolsParser(SolsTokens* input) { if (parser.errors.at == NULL) { return Error(SolsParser, charptr, "Couldn't allocate memory to store errors (in createSolsParser() function)"); } - parser.currentParent = &parser.output; return Success(SolsParser, charptr, parser); } @@ -107,7 +106,7 @@ static inline ResultType(Nothing, charptr) parseIdentifier(SolsParser* parser) { APPEND_ESTR(err, " (in parseLiteral() function)"); return Error(Nothing, charptr, err.str); } - // addChildToSolsNode(parser->currentParent, node.as.success); + addChildToSolsNode(parser->currentParent, node.as.success); return Success(Nothing, charptr, {}); } static inline ResultType(Nothing, charptr) parseLiteral(SolsParser* parser) { @@ -121,7 +120,7 @@ static inline ResultType(Nothing, charptr) parseLiteral(SolsParser* parser) { APPEND_ESTR(err, " (in parseLiteral() function)"); return Error(Nothing, charptr, err.str); } - // addChildToSolsNode(parser->currentParent, node.as.success); + addChildToSolsNode(parser->currentParent, node.as.success); return Success(Nothing, charptr, {}); } @@ -131,6 +130,7 @@ static inline ResultType(Nothing, charptr) parsePuts(SolsParser* parser) { } ResultType(Nothing, charptr) parse(SolsParser* parser) { + parser->currentParent = &parser->output; for (;;) { ResultType(SolsToken, Nothing) token = parserConsume(parser); if (token.error) { @@ -177,7 +177,7 @@ ResultType(SolsToken, Nothing) parserConsume(SolsParser* parser) { if (parser->input == NULL) { return Error(SolsToken, Nothing, {}); } - if (parser->current + 1 >= parser->input->count) { + if (parser->current >= parser->input->count) { return Error(SolsToken, Nothing, {}); } return Success(SolsToken, Nothing, parser->input->at[parser->current ++]);