authorgravatar for mail@isaacfreund.comIsaac Freund <mail@isaacfreund.com> 2026-07-07 12:34:34+02:00
committergravatar for mail@isaacfreund.comIsaac Freund <mail@isaacfreund.com> 2026-07-08 11:49:02+02:00
log664062a5f633913906fe5c4b7ecd672b51b5cdd9
tree5d76cbe4f34d3056aba4ee3becdc985b8f0f7171
parentd45de6d4bd0052fa0187b0ea4e6c274fded7bdc0
signaturelock-open Commit is signed but in an unrecognized format.

grammar: fix gratuitous verbosity

No change in semantics intended

2 files changed, 8 insertions(+), 27 deletions(-)

doc/langref/grammar.peg+1-1
......@@ -249,7 +249,7 @@ AddrSpace <- KEYWORD_addrspace LPAREN Expr RPAREN
249249# Fn specific
250250CallConv <- KEYWORD_callconv LPAREN Expr RPAREN
251251
252ParamDecl <- doc_comment? (KEYWORD_noalias / KEYWORD_comptime / !KEYWORD_comptime) (IDENTIFIER COLON / !(IDENTIFIER COLON)) ParamType
252ParamDecl <- doc_comment? (KEYWORD_noalias / KEYWORD_comptime?) (IDENTIFIER COLON)? ParamType
253253
254254ParamType
255255 <- KEYWORD_anytype
lib/std/zig/parser_generated_oracle.zig+7-26
......@@ -1340,34 +1340,15 @@ const Parser = struct {
13401340 const pos_2 = p.i;
13411341 if (try p.parseKEYWORD_noalias()) break :blk_2 true;
13421342 p.i = pos_2;
1343 if (try p.parseKEYWORD_comptime()) break :blk_2 true;
1344 p.i = pos_2;
1345 if (blk_3: {
1346 const pos_3 = p.i;
1347 const match_3 = try p.parseKEYWORD_comptime();
1348 p.i = pos_3;
1349 break :blk_3 !match_3;
1350 }) break :blk_2 true;
1351 p.i = pos_2;
1352 break :blk_2 false;
1353 } and blk_2: {
1354 const pos_2 = p.i;
1355 if (try p.parseIDENTIFIER() and try p.parseCOLON()) break :blk_2 true;
1356 p.i = pos_2;
1357 if (blk_3: {
1358 const pos_3 = p.i;
1359 const match_3 = blk_5: {
1360 const pos_5 = p.i;
1361 if (try p.parseIDENTIFIER() and try p.parseCOLON()) break :blk_5 true;
1362 p.i = pos_5;
1363 break :blk_5 false;
1364 };
1365 p.i = pos_3;
1366 break :blk_3 !match_3;
1367 }) break :blk_2 true;
1343 if ((try p.parseKEYWORD_comptime() or true)) break :blk_2 true;
13681344 p.i = pos_2;
13691345 break :blk_2 false;
1370 } and try p.parseParamType()) break :blk_0 true;
1346 } and (blk_3: {
1347 const pos_3 = p.i;
1348 if (try p.parseIDENTIFIER() and try p.parseCOLON()) break :blk_3 true;
1349 p.i = pos_3;
1350 break :blk_3 false;
1351 } or true) and try p.parseParamType()) break :blk_0 true;
13711352 p.i = pos_0;
13721353 break :blk_0 false;
13731354 };