fix: grammar moment

This commit is contained in:
FalsePattern 2024-06-01 21:13:51 +02:00
parent cc18a7b17f
commit 6da3aaa2b9
Signed by: falsepattern
GPG key ID: E930CDEC50C50E23
2 changed files with 30 additions and 13 deletions

View file

@ -17,6 +17,11 @@ Changelog structure reference:
## [Unreleased]
### Fixed
- Zig
- Trailing commas in struct initializers showed an error
## [15.0.0]
### Changed

View file

@ -297,15 +297,17 @@ WhileExpr ::= WhilePrefix Expr (KEYWORD_ELSE Payload? Expr)?
CurlySuffixExpr ::= TypeExpr InitList?
InitList
::= LBRACE ZB_InitList_Body {pin=1}
::= LBRACE ZB_InitList_Body RBRACE {pin=1}
private ZB_InitList_Body
::= FieldInit (COMMA ZB_InitList_FieldInit)* COMMA? RBRACE
| Expr (COMMA ZB_InitList_Expr)* COMMA? RBRACE
| RBRACE {pin(".*")=1}
::= FieldInit (COMMA ZB_InitList_FieldInit)* COMMA?
| Expr (COMMA ZB_InitList_Expr)* COMMA?
| ()
private ZB_InitList_FieldInit ::= FieldInit {recoverWhile="#auto"}
private ZB_InitList_Expr ::= Expr {recoverWhile="#auto"}
private ZB_InitList_FieldInit ::= FieldInit {recoverWhile="ZB_InitList_Recover"}
private ZB_InitList_Expr ::= Expr {recoverWhile="ZB_InitList_Recover"}
private ZB_InitList_Recover ::= !(COMMA | RBRACE)
TypeExpr ::= PrefixTypeOp* ErrorUnionExpr
@ -354,7 +356,7 @@ ForTypeExpr ::= ForPrefix TypeExpr (KEYWORD_ELSE TypeExpr)?
WhileTypeExpr ::= WhilePrefix TypeExpr (KEYWORD_ELSE Payload? TypeExpr)?
SwitchExpr ::= KEYWORD_SWITCH LPAREN Expr RPAREN LBRACE SwitchProngList RBRACE
SwitchExpr ::= KEYWORD_SWITCH LPAREN Expr RPAREN LBRACE SwitchProngList RBRACE {pin=1}
// *** Assembly ***
AsmExpr ::= KEYWORD_ASM KEYWORD_VOLATILE? LPAREN Expr AsmOutput? RPAREN
@ -394,16 +396,22 @@ ParamType
| TypeExpr
// Control flow prefixes
IfPrefix ::= KEYWORD_IF LPAREN Expr RPAREN PtrPayload? {pin=1}
IfPrefix ::= KEYWORD_IF ZB_IfPrefix_Operand PtrPayload? {pin=1}
WhilePrefix ::= KEYWORD_WHILE LPAREN Expr RPAREN PtrPayload? WhileContinueExpr? {pin=1}
private ZB_IfPrefix_Operand ::= LPAREN Expr RPAREN {pin=1}
WhilePrefix ::= KEYWORD_WHILE ZB_WhilePrefix_Operand PtrPayload? WhileContinueExpr? {pin=1}
private ZB_WhilePrefix_Operand ::= LPAREN Expr RPAREN {pin=1}
ForRange ::= Expr DOT2 Expr?
ForOperand ::= ForRange | Expr
ForOperand ::= ForRange | Expr {recoverWhile="ZB_ForOperand_Recover"}
ForPrefix ::= KEYWORD_FOR LPAREN ZB_ForPrefix_Operands RPAREN PtrIndexPayload {pin=1}
private ZB_ForOperand_Recover ::= !(COMMA | RPAREN)
private ZB_ForPrefix_Operands ::= (ForOperand COMMA)* ForOperand {recoverWhile="#auto"}
ForPrefix ::= KEYWORD_FOR ZB_ForPrefix_Operands PtrIndexPayload {pin=1}
private ZB_ForPrefix_Operands ::= LPAREN (ForOperand COMMA)* ForOperand RPAREN {pin=1}
// Payloads
Payload ::= PIPE IDENTIFIER PIPE
@ -535,7 +543,11 @@ ByteAlign ::= KEYWORD_ALIGN LPAREN Expr RPAREN
// Lists
IdentifierList ::= (DOC_COMMENT? IDENTIFIER COMMA)* (DOC_COMMENT? IDENTIFIER)?
SwitchProngList ::= (SwitchProng COMMA)* SwitchProng? {recoverWhile="#auto"}
SwitchProngList ::= (ZB_SwitchProngList_SwitchProng COMMA)* ZB_SwitchProngList_SwitchProng?
private ZB_SwitchProngList_SwitchProng ::= SwitchProng {recoverWhile="ZB_SwitchProngList_Recover"}
private ZB_SwitchProngList_Recover ::= !(COMMA | RBRACE)
AsmOutputList ::= (AsmOutputItem COMMA)* AsmOutputItem?