return err in translator
This commit is contained in:
@@ -10,15 +10,19 @@
|
||||
#include "../literals/literals.h"
|
||||
|
||||
ParsedValueReturn parse_return(char *file, DArray *tokens, size_t *index) {
|
||||
Token *token = darray_get(tokens, *index);
|
||||
(*index)++;
|
||||
ParsedValue *parsedValue = checked_malloc(sizeof(ParsedValue));
|
||||
ParsedReturn *parsedReturn = checked_malloc(sizeof(ParsedReturn));
|
||||
parsedValue->type = AST_RETURN;
|
||||
parsedValue->data = parsedReturn;
|
||||
parsedReturn->line = token->line;
|
||||
parsedReturn->column = token->column;
|
||||
parsedReturn->length = token->length;
|
||||
parsedReturn->value = parse_null();
|
||||
if (*index >= tokens->size)
|
||||
return (ParsedValueReturn){no_err, parsedValue};
|
||||
Token *token = darray_get(tokens, *index);
|
||||
token = darray_get(tokens, *index);
|
||||
if (token->type == TOKEN_NEW_LINE)
|
||||
return (ParsedValueReturn){no_err, parsedValue};
|
||||
ParsedValueReturn value = parse_token(file, tokens, index, true);
|
||||
|
||||
@@ -11,6 +11,9 @@
|
||||
|
||||
typedef struct {
|
||||
ParsedValue * value;
|
||||
int64_t line;
|
||||
int64_t column;
|
||||
int64_t length;
|
||||
} ParsedReturn;
|
||||
|
||||
ParsedValueReturn parse_return(char *file, DArray *tokens, size_t *index);
|
||||
|
||||
Reference in New Issue
Block a user