From 298700108a286fa7154e4a638017c9fbebf5c3ff Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 2 Nov 2023 23:01:34 +0000 Subject: Parse return statements without expression --- src/main/java/org/shedlang/compiler/parser/Parser.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/main/java/org/shedlang/compiler/parser') diff --git a/src/main/java/org/shedlang/compiler/parser/Parser.java b/src/main/java/org/shedlang/compiler/parser/Parser.java index 329a5283..272c66c0 100644 --- a/src/main/java/org/shedlang/compiler/parser/Parser.java +++ b/src/main/java/org/shedlang/compiler/parser/Parser.java @@ -413,7 +413,9 @@ public class Parser { tokens.skip(TokenType.KEYWORD_RETURN); - var expression = parseTopLevelExpression(tokens); + var expression = tokens.isNext(TokenType.SYMBOL_SEMICOLON) + ? Optional.empty() + : Optional.of(parseTopLevelExpression(tokens)); tokens.skip(TokenType.SYMBOL_SEMICOLON); -- cgit v1.2.3