| ... | @@ -7804,11 +7804,11 @@ fn readU32Be() u32 {} | ... | @@ -7804,11 +7804,11 @@ fn readU32Be() u32 {} |
| 7804 | {#header_close#} | 7804 | {#header_close#} |
| 7805 | | 7805 | |
| 7806 | {#header_open|Grammar#} | 7806 | {#header_open|Grammar#} |
| 7807 | {#syntax_block|peg|grammar.y#} | 7807 | {#syntax_block|peg|grammar.peg#} |
| 7808 | Root <- skip container_doc_comment? ContainerMembers eof | 7808 | Root <- skip ContainerMembers eof |
| 7809 | | 7809 | |
| 7810 | # *** Top level *** | 7810 | # *** Top level *** |
| 7811 | ContainerMembers <- ContainerDeclaration* (ContainerField COMMA)* (ContainerField / ContainerDeclaration*) | 7811 | ContainerMembers <- container_doc_comment? ContainerDeclaration* (ContainerField COMMA)* (ContainerField / ContainerDeclaration*) |
| 7812 | | 7812 | |
| 7813 | ContainerDeclaration <- TestDecl / ComptimeDecl / doc_comment? KEYWORD_pub? Decl | 7813 | ContainerDeclaration <- TestDecl / ComptimeDecl / doc_comment? KEYWORD_pub? Decl |
| 7814 | | 7814 | |
| ... | @@ -7837,7 +7837,6 @@ Statement | ... | @@ -7837,7 +7837,6 @@ Statement |
| 7837 | / KEYWORD_errdefer Payload? BlockExprStatement | 7837 | / KEYWORD_errdefer Payload? BlockExprStatement |
| 7838 | / IfStatement | 7838 | / IfStatement |
| 7839 | / LabeledStatement | 7839 | / LabeledStatement |
| 7840 | / SwitchExpr | | |
| 7841 | / VarDeclExprStatement | 7840 | / VarDeclExprStatement |
| 7842 | | 7841 | |
| 7843 | ComptimeStatement | 7842 | ComptimeStatement |
| ... | @@ -7848,7 +7847,7 @@ IfStatement | ... | @@ -7848,7 +7847,7 @@ IfStatement |
| 7848 | <- IfPrefix BlockExpr ( KEYWORD_else Payload? Statement )? | 7847 | <- IfPrefix BlockExpr ( KEYWORD_else Payload? Statement )? |
| 7849 | / IfPrefix AssignExpr ( SEMICOLON / KEYWORD_else Payload? Statement ) | 7848 | / IfPrefix AssignExpr ( SEMICOLON / KEYWORD_else Payload? Statement ) |
| 7850 | | 7849 | |
| 7851 | LabeledStatement <- BlockLabel? (Block / LoopStatement) | 7850 | LabeledStatement <- BlockLabel? (Block / LoopStatement / SwitchExpr) |
| 7852 | | 7851 | |
| 7853 | LoopStatement <- KEYWORD_inline? (ForStatement / WhileStatement) | 7852 | LoopStatement <- KEYWORD_inline? (ForStatement / WhileStatement) |
| 7854 | | 7853 | |
| ... | @@ -7902,7 +7901,7 @@ PrimaryExpr | ... | @@ -7902,7 +7901,7 @@ PrimaryExpr |
| 7902 | / KEYWORD_break BreakLabel? Expr? | 7901 | / KEYWORD_break BreakLabel? Expr? |
| 7903 | / KEYWORD_comptime Expr | 7902 | / KEYWORD_comptime Expr |
| 7904 | / KEYWORD_nosuspend Expr | 7903 | / KEYWORD_nosuspend Expr |
| 7905 | / KEYWORD_continue BreakLabel? | 7904 | / KEYWORD_continue BreakLabel? Expr? |
| 7906 | / KEYWORD_resume Expr | 7905 | / KEYWORD_resume Expr |
| 7907 | / KEYWORD_return Expr? | 7906 | / KEYWORD_return Expr? |
| 7908 | / BlockLabel? LoopExpr | 7907 | / BlockLabel? LoopExpr |
| ... | @@ -7952,7 +7951,6 @@ PrimaryTypeExpr | ... | @@ -7952,7 +7951,6 @@ PrimaryTypeExpr |
| 7952 | / KEYWORD_anyframe | 7951 | / KEYWORD_anyframe |
| 7953 | / KEYWORD_unreachable | 7952 | / KEYWORD_unreachable |
| 7954 | / STRINGLITERAL | 7953 | / STRINGLITERAL |
| 7955 | / SwitchExpr | | |
| 7956 | | 7954 | |
| 7957 | ContainerDecl <- (KEYWORD_extern / KEYWORD_packed)? ContainerDeclAuto | 7955 | ContainerDecl <- (KEYWORD_extern / KEYWORD_packed)? ContainerDeclAuto |
| 7958 | | 7956 | |
| ... | @@ -7965,6 +7963,7 @@ IfTypeExpr <- IfPrefix TypeExpr (KEYWORD_else Payload? TypeExpr)? | ... | @@ -7965,6 +7963,7 @@ IfTypeExpr <- IfPrefix TypeExpr (KEYWORD_else Payload? TypeExpr)? |
| 7965 | LabeledTypeExpr | 7963 | LabeledTypeExpr |
| 7966 | <- BlockLabel Block | 7964 | <- BlockLabel Block |
| 7967 | / BlockLabel? LoopTypeExpr | 7965 | / BlockLabel? LoopTypeExpr |
| | 7966 | / BlockLabel? SwitchExpr |
| 7968 | | 7967 | |
| 7969 | LoopTypeExpr <- KEYWORD_inline? (ForTypeExpr / WhileTypeExpr) | 7968 | LoopTypeExpr <- KEYWORD_inline? (ForTypeExpr / WhileTypeExpr) |
| 7970 | | 7969 | |
| ... | @@ -8134,7 +8133,7 @@ PtrTypeStart | ... | @@ -8134,7 +8133,7 @@ PtrTypeStart |
| 8134 | ArrayTypeStart <- LBRACKET Expr (COLON Expr)? RBRACKET | 8133 | ArrayTypeStart <- LBRACKET Expr (COLON Expr)? RBRACKET |
| 8135 | | 8134 | |
| 8136 | # ContainerDecl specific | 8135 | # ContainerDecl specific |
| 8137 | ContainerDeclAuto <- ContainerDeclType LBRACE container_doc_comment? ContainerMembers RBRACE | 8136 | ContainerDeclAuto <- ContainerDeclType LBRACE ContainerMembers RBRACE |
| 8138 | | 8137 | |
| 8139 | ContainerDeclType | 8138 | ContainerDeclType |
| 8140 | <- KEYWORD_struct (LPAREN Expr RPAREN)? | 8139 | <- KEYWORD_struct (LPAREN Expr RPAREN)? |
| ... | @@ -8154,8 +8153,6 @@ AsmOutputList <- (AsmOutputItem COMMA)* AsmOutputItem? | ... | @@ -8154,8 +8153,6 @@ AsmOutputList <- (AsmOutputItem COMMA)* AsmOutputItem? |
| 8154 | | 8153 | |
| 8155 | AsmInputList <- (AsmInputItem COMMA)* AsmInputItem? | 8154 | AsmInputList <- (AsmInputItem COMMA)* AsmInputItem? |
| 8156 | | 8155 | |
| 8157 | StringList <- (STRINGLITERAL COMMA)* STRINGLITERAL? | | |
| 8158 | | | |
| 8159 | ParamDeclList <- (ParamDecl COMMA)* ParamDecl? | 8156 | ParamDeclList <- (ParamDecl COMMA)* ParamDecl? |
| 8160 | | 8157 | |
| 8161 | ExprList <- (Expr COMMA)* Expr? | 8158 | ExprList <- (Expr COMMA)* Expr? |
| ... | @@ -8202,7 +8199,7 @@ oxC2_oxDF <- [\302-\337] | ... | @@ -8202,7 +8199,7 @@ oxC2_oxDF <- [\302-\337] |
| 8202 | # [0xF1,0xF3] [0x80,0xBF] [0x80,0xBF] [0x80,0xBF] | 8199 | # [0xF1,0xF3] [0x80,0xBF] [0x80,0xBF] [0x80,0xBF] |
| 8203 | # 0xF4 [0x80,0x8F] [0x80,0xBF] [0x80,0xBF] | 8200 | # 0xF4 [0x80,0x8F] [0x80,0xBF] [0x80,0xBF] |
| 8204 | | 8201 | |
| 8205 | mb_utf8_literal <- | 8202 | multibyte_utf8 <- |
| 8206 | oxF4 ox80_ox8F ox80_oxBF ox80_oxBF | 8203 | oxF4 ox80_ox8F ox80_oxBF ox80_oxBF |
| 8207 | / oxF1_oxF3 ox80_oxBF ox80_oxBF ox80_oxBF | 8204 | / oxF1_oxF3 ox80_oxBF ox80_oxBF ox80_oxBF |
| 8208 | / oxF0 ox90_0xBF ox80_oxBF ox80_oxBF | 8205 | / oxF0 ox90_0xBF ox80_oxBF ox80_oxBF |
| ... | @@ -8212,46 +8209,47 @@ mb_utf8_literal <- | ... | @@ -8212,46 +8209,47 @@ mb_utf8_literal <- |
| 8212 | / oxE0 oxA0_oxBF ox80_oxBF | 8209 | / oxE0 oxA0_oxBF ox80_oxBF |
| 8213 | / oxC2_oxDF ox80_oxBF | 8210 | / oxC2_oxDF ox80_oxBF |
| 8214 | | 8211 | |
| 8215 | ascii_char_not_nl_slash_squote <- [\000-\011\013-\046\050-\133\135-\177] | 8212 | non_control_ascii <- [\040-\176] |
| 8216 | | 8213 | |
| 8217 | char_escape | 8214 | char_escape |
| 8218 | <- "\\x" hex hex | 8215 | <- "\\x" hex hex |
| 8219 | / "\\u{" hex+ "}" | 8216 | / "\\u{" hex+ "}" |
| 8220 | / "\\" [nr\\t'"] | 8217 | / "\\" [nr\\t'"] |
| 8221 | char_char | 8218 | char_char |
| 8222 | <- mb_utf8_literal | 8219 | <- multibyte_utf8 |
| 8223 | / char_escape | 8220 | / char_escape |
| 8224 | / ascii_char_not_nl_slash_squote | 8221 | / ![\\'\n] non_control_ascii |
| 8225 | | 8222 | |
| 8226 | string_char | 8223 | string_char |
| 8227 | <- char_escape | 8224 | <- multibyte_utf8 |
| 8228 | / [^\\"\n] | 8225 | / char_escape |
| | 8226 | / ![\\"\n] non_control_ascii |
| 8229 | | 8227 | |
| 8230 | container_doc_comment <- ('//!' [^\n]* [ \n]* skip)+ | 8228 | container_doc_comment <- ('//!' [^\n]* [ \n]* skip)+ |
| 8231 | doc_comment <- ('///' [^\n]* [ \n]* skip)+ | 8229 | doc_comment <- ('///' [^\n]* [ \n]* skip)+ |
| 8232 | line_comment <- '//' ![!/][^\n]* / '////' [^\n]* | 8230 | line_comment <- '//' ![!/][^\n]* / '////' [^\n]* |
| 8233 | line_string <- ("\\\\" [^\n]* [ \n]*)+ | 8231 | line_string <- ('\\\\' [^\n]* [ \n]*)+ |
| 8234 | skip <- ([ \n] / line_comment)* | 8232 | skip <- ([ \n] / line_comment)* |
| 8235 | | 8233 | |
| 8236 | CHAR_LITERAL <- "'" char_char "'" skip | 8234 | CHAR_LITERAL <- ['] char_char ['] skip |
| 8237 | FLOAT | 8235 | FLOAT |
| 8238 | <- "0x" hex_int "." hex_int ([pP] [-+]? dec_int)? skip | 8236 | <- '0x' hex_int '.' hex_int ([pP] [-+]? dec_int)? skip |
| 8239 | / dec_int "." dec_int ([eE] [-+]? dec_int)? skip | 8237 | / dec_int '.' dec_int ([eE] [-+]? dec_int)? skip |
| 8240 | / "0x" hex_int [pP] [-+]? dec_int skip | 8238 | / '0x' hex_int [pP] [-+]? dec_int skip |
| 8241 | / dec_int [eE] [-+]? dec_int skip | 8239 | / dec_int [eE] [-+]? dec_int skip |
| 8242 | INTEGER | 8240 | INTEGER |
| 8243 | <- "0b" bin_int skip | 8241 | <- '0b' bin_int skip |
| 8244 | / "0o" oct_int skip | 8242 | / '0o' oct_int skip |
| 8245 | / "0x" hex_int skip | 8243 | / '0x' hex_int skip |
| 8246 | / dec_int skip | 8244 | / dec_int skip |
| 8247 | STRINGLITERALSINGLE <- "\"" string_char* "\"" skip | 8245 | STRINGLITERALSINGLE <- ["] string_char* ["] skip |
| 8248 | STRINGLITERAL | 8246 | STRINGLITERAL |
| 8249 | <- STRINGLITERALSINGLE | 8247 | <- STRINGLITERALSINGLE |
| 8250 | / (line_string skip)+ | 8248 | / (line_string skip)+ |
| 8251 | IDENTIFIER | 8249 | IDENTIFIER |
| 8252 | <- !keyword [A-Za-z_] [A-Za-z0-9_]* skip | 8250 | <- !keyword [A-Za-z_] [A-Za-z0-9_]* skip |
| 8253 | / "@" STRINGLITERALSINGLE | 8251 | / '@' STRINGLITERALSINGLE |
| 8254 | BUILTINIDENTIFIER <- "@"[A-Za-z_][A-Za-z0-9_]* skip | 8252 | BUILTINIDENTIFIER <- '@'[A-Za-z_][A-Za-z0-9_]* skip |
| 8255 | | 8253 | |
| 8256 | | 8254 | |
| 8257 | AMPERSAND <- '&' ![=] skip | 8255 | AMPERSAND <- '&' ![=] skip |