From e0ef61d46d0e8a7142cb8c6ac80a6ef39ac8374e Mon Sep 17 00:00:00 2001 From: Jonathan Marler Date: Thu, 28 Sep 2023 00:15:19 -0600 Subject: [PATCH] simplify ContainerDeclarations grammar rule Noticed this grammar rule could be simplified using a repeating sequence rather than recursion. --- doc/langref.html.in | 6 +----- lib/std/zig/Parse.zig | 6 +----- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/doc/langref.html.in b/doc/langref.html.in index 54b73317d89c70272687d0ec387dd62858cf34c3..b963eea92d622506b4fc485b7c15d01508497257 100644 --- a/doc/langref.html.in +++ b/doc/langref.html.in @@ -12373,11 +12373,7 @@ Root <- skip container_doc_comment? ContainerMembers eof # *** Top level *** ContainerMembers <- ContainerDeclarations (ContainerField COMMA)* (ContainerField / ContainerDeclarations) -ContainerDeclarations - <- TestDecl ContainerDeclarations - / ComptimeDecl ContainerDeclarations - / doc_comment? KEYWORD_pub? Decl ContainerDeclarations - / +ContainerDeclarations <- (TestDecl / ComptimeDecl / doc_comment? KEYWORD_pub? Decl)* TestDecl <- KEYWORD_test (STRINGLITERALSINGLE / IDENTIFIER)? Block diff --git a/lib/std/zig/Parse.zig b/lib/std/zig/Parse.zig index 19c89221c646494147b8977e6918b87e94bcfe35..67e293986519482dad77c80a2a3df57ba31d73d5 100644 --- a/lib/std/zig/Parse.zig +++ b/lib/std/zig/Parse.zig @@ -207,11 +207,7 @@ pub fn parseZon(p: *Parse) !void { /// ContainerMembers <- ContainerDeclarations (ContainerField COMMA)* (ContainerField / ContainerDeclarations) /// -/// ContainerDeclarations -/// <- TestDecl ContainerDeclarations -/// / ComptimeDecl ContainerDeclarations -/// / doc_comment? KEYWORD_pub? Decl ContainerDeclarations -/// / +/// ContainerDeclarations <- (TestDecl / ComptimeDecl / doc_comment? KEYWORD_pub? Decl)* /// /// ComptimeDecl <- KEYWORD_comptime Block fn parseContainerMembers(p: *Parse) !Members { -- 2.54.0