diff options
author | Bad Diode <bd@badd10de.dev> | 2021-10-26 10:00:49 +0200 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2021-10-26 10:03:06 +0200 |
commit | 19fb6b2d97a970f94854cd17a58639b72d35c052 (patch) | |
tree | 273c6a36daf0989b715c3b53ea75419d1131270e /src/bytecode/compiler.h | |
parent | da84e7e731de39ff385ae675a023ddcb9c58d06a (diff) | |
download | bdl-19fb6b2d97a970f94854cd17a58639b72d35c052.tar.gz bdl-19fb6b2d97a970f94854cd17a58639b72d35c052.zip |
Ensure the last statement is returned to stdout
Diffstat (limited to 'src/bytecode/compiler.h')
-rwxr-xr-x | src/bytecode/compiler.h | 4 |
1 files changed, 3 insertions, 1 deletions
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) { | |||
503 | Token start_tok = peek_token(&compiler); | 503 | Token start_tok = peek_token(&compiler); |
504 | while (has_next_token(&compiler) && peek_token(&compiler).type != TOKEN_EOF) { | 504 | while (has_next_token(&compiler) && peek_token(&compiler).type != TOKEN_EOF) { |
505 | parse_tree(chunk, &compiler); | 505 | parse_tree(chunk, &compiler); |
506 | add_code(chunk, OP_DROP, start_tok.line, start_tok.column); | 506 | if (peek_token(&compiler).type != TOKEN_EOF) { |
507 | add_code(chunk, OP_DROP, start_tok.line, start_tok.column); | ||
508 | } | ||
507 | } | 509 | } |
508 | add_code(chunk, OP_RETURN, start_tok.line, start_tok.column); | 510 | add_code(chunk, OP_RETURN, start_tok.line, start_tok.column); |
509 | return chunk; | 511 | return chunk; |