authorgravatar for johnnymarler@gmail.comJonathan Marler <johnnymarler@gmail.com> 2023-09-28 00:15:19-06:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2023-09-28 14:18:54+03:00
loge0ef61d46d0e8a7142cb8c6ac80a6ef39ac8374e
treedd1314375bb2f7257bdb39839392cd35081a569e
parentfcca3cd1a3f5430dd9d813d80a0f0512c99e371f

simplify ContainerDeclarations grammar rule

Noticed this grammar rule could be simplified using a repeating sequence rather than recursion.

2 files changed, 2 insertions(+), 10 deletions(-)

doc/langref.html.in+1-5
...@@ -12373,11 +12373,7 @@ Root <- skip container_doc_comment? ContainerMembers eof...@@ -12373,11 +12373,7 @@ Root <- skip container_doc_comment? ContainerMembers eof
12373# *** Top level ***12373# *** Top level ***
12374ContainerMembers <- ContainerDeclarations (ContainerField COMMA)* (ContainerField / ContainerDeclarations)12374ContainerMembers <- ContainerDeclarations (ContainerField COMMA)* (ContainerField / ContainerDeclarations)
1237512375
12376ContainerDeclarations12376ContainerDeclarations <- (TestDecl / ComptimeDecl / doc_comment? KEYWORD_pub? Decl)*
12377 <- TestDecl ContainerDeclarations
12378 / ComptimeDecl ContainerDeclarations
12379 / doc_comment? KEYWORD_pub? Decl ContainerDeclarations
12380 /
1238112377
12382TestDecl <- KEYWORD_test (STRINGLITERALSINGLE / IDENTIFIER)? Block12378TestDecl <- KEYWORD_test (STRINGLITERALSINGLE / IDENTIFIER)? Block
1238312379
lib/std/zig/Parse.zig+1-5
...@@ -207,11 +207,7 @@ pub fn parseZon(p: *Parse) !void {...@@ -207,11 +207,7 @@ pub fn parseZon(p: *Parse) !void {
207207
208/// ContainerMembers <- ContainerDeclarations (ContainerField COMMA)* (ContainerField / ContainerDeclarations)208/// ContainerMembers <- ContainerDeclarations (ContainerField COMMA)* (ContainerField / ContainerDeclarations)
209///209///
210/// ContainerDeclarations210/// ContainerDeclarations <- (TestDecl / ComptimeDecl / doc_comment? KEYWORD_pub? Decl)*
211/// <- TestDecl ContainerDeclarations
212/// / ComptimeDecl ContainerDeclarations
213/// / doc_comment? KEYWORD_pub? Decl ContainerDeclarations
214/// /
215///211///
216/// ComptimeDecl <- KEYWORD_comptime Block212/// ComptimeDecl <- KEYWORD_comptime Block
217fn parseContainerMembers(p: *Parse) !Members {213fn parseContainerMembers(p: *Parse) !Members {