diff options
| author | Zuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian> | 2026-01-25 12:20:33 +0000 |
|---|---|---|
| committer | Zuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian> | 2026-01-25 12:20:33 +0000 |
| commit | eae6d2a789f6538806a3859a144e99558d3e6caf (patch) | |
| tree | 1ba0f696c17879af7bec8e017ff1c1c81439d791 /src/parser/parser_stmt.c | |
| parent | 2dc5214fd8bb6a1168e2f2b643a36043c36c908a (diff) | |
Further fix for #121
Diffstat (limited to 'src/parser/parser_stmt.c')
| -rw-r--r-- | src/parser/parser_stmt.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/parser/parser_stmt.c b/src/parser/parser_stmt.c index f7c1d32..1b3a5d9 100644 --- a/src/parser/parser_stmt.c +++ b/src/parser/parser_stmt.c @@ -1887,7 +1887,11 @@ ASTNode *parse_statement(ParserContext *ctx, Lexer *l) } ASTNode *n = ast_create(NODE_RAW_STMT); - n->raw_stmt.content = code; + // Append semicolon to Statement Expression to make it a valid statement + char *stmt_code = xmalloc(strlen(code) + 2); + sprintf(stmt_code, "%s;", code); + free(code); + n->raw_stmt.content = stmt_code; n->raw_stmt.used_symbols = used_syms; n->raw_stmt.used_symbol_count = used_count; free(inner); @@ -2433,7 +2437,11 @@ ASTNode *parse_statement(ParserContext *ctx, Lexer *l) } ASTNode *n = ast_create(NODE_RAW_STMT); - n->raw_stmt.content = code; + // Append semicolon to Statement Expression to make it a valid statement + char *stmt_code = xmalloc(strlen(code) + 2); + sprintf(stmt_code, "%s;", code); + free(code); + n->raw_stmt.content = stmt_code; n->raw_stmt.used_symbols = used_syms; n->raw_stmt.used_symbol_count = used_count; return n; |
