From 19fb6b2d97a970f94854cd17a58639b72d35c052 Mon Sep 17 00:00:00 2001 From: Bad Diode Date: Tue, 26 Oct 2021 10:00:49 +0200 Subject: Ensure the last statement is returned to stdout --- src/bytecode/compiler.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/bytecode/compiler.h') diff --git a/src/bytecode/compiler.h b/src/bytecode/compiler.h index ca187b3..e20b4f1 100755 --- a/src/bytecode/compiler.h +++ b/src/bytecode/compiler.h @@ -503,7 +503,9 @@ compile(Token *tokens) { Token start_tok = peek_token(&compiler); while (has_next_token(&compiler) && peek_token(&compiler).type != TOKEN_EOF) { parse_tree(chunk, &compiler); - add_code(chunk, OP_DROP, start_tok.line, start_tok.column); + if (peek_token(&compiler).type != TOKEN_EOF) { + add_code(chunk, OP_DROP, start_tok.line, start_tok.column); + } } add_code(chunk, OP_RETURN, start_tok.line, start_tok.column); return chunk; -- cgit v1.2.1