start rewriting the parser to return with error messages so errors can be caught

This commit is contained in:
2025-07-09 04:58:49 +01:00
parent e234ea074b
commit c4731597f3
22 changed files with 282 additions and 149 deletions

View File

@@ -4,9 +4,9 @@
#include <string.h>
#include "../../../memory.h"
ParsedValue *parse_identifier(Token *token) {
ParsedValueReturn parse_identifier(Token *token) {
ParsedValue *parsedValue = checked_malloc(sizeof(ParsedValue));
parsedValue->type = AST_IDENTIFIER;
parsedValue->data = strcpy(checked_malloc(strlen(token->value) + 1), token->value);
return parsedValue;
return (ParsedValueReturn){no_err, parsedValue};
}

View File

@@ -4,6 +4,6 @@
#include "../../../lexer/token.h" // for Token
// Function declaration for parsing an identifier
ParsedValue * parse_identifier(Token * token);
ParsedValueReturn parse_identifier(Token *token);
#endif // IDENTIFIER_H