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

@@ -150,9 +150,9 @@
// return 0;
// }
ParsedValue *parse_number(Token *token) {
ParsedValueReturn parse_number(Token *token) {
ParsedValue *parsedValue = checked_malloc(sizeof(ParsedValue));
parsedValue->type = AST_NUMBER;
parsedValue->data = strdup(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_number(Token * token);
ParsedValueReturn parse_number(Token *token);
#endif // NUMBER_H