From 7a4e3f7fcc7b8a8b389df56c80fef4ae96ad98ce Mon Sep 17 00:00:00 2001 From: Isaac Yonemoto Date: Sun, 9 Mar 2025 23:38:45 -0500 Subject: [PATCH 1/2] adds support for labeled switch statements --- grammar/grammar.peg | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/grammar/grammar.peg b/grammar/grammar.peg index 6ba89e8..f56b773 100644 --- a/grammar/grammar.peg +++ b/grammar/grammar.peg @@ -31,7 +31,7 @@ Statement / KEYWORD_errdefer Payload? BlockExprStatement / IfStatement / LabeledStatement - / SwitchExpr + / BlockLabel? SwitchExpr / VarDeclExprStatement ComptimeStatement @@ -100,6 +100,7 @@ PrimaryExpr / KEYWORD_resume Expr / KEYWORD_return Expr? / BlockLabel? LoopExpr + / BlockLabel SwitchExpr / Block / CurlySuffixExpr From b5933c3dac56d3d08ad868bbd669596df5e7259e Mon Sep 17 00:00:00 2001 From: Isaac Yonemoto Date: Sun, 9 Mar 2025 23:40:04 -0500 Subject: [PATCH 2/2] also adds support for continue with expression (for switch) --- grammar/grammar.peg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grammar/grammar.peg b/grammar/grammar.peg index f56b773..3cada55 100644 --- a/grammar/grammar.peg +++ b/grammar/grammar.peg @@ -96,7 +96,7 @@ PrimaryExpr / KEYWORD_break BreakLabel? Expr? / KEYWORD_comptime Expr / KEYWORD_nosuspend Expr - / KEYWORD_continue BreakLabel? + / KEYWORD_continue BreakLabel? Expr? / KEYWORD_resume Expr / KEYWORD_return Expr? / BlockLabel? LoopExpr