| ... | @@ -12062,24 +12062,24 @@ ContainerMembers <- ContainerDeclarations (ContainerField COMMA)* (ContainerFiel | ... | @@ -12062,24 +12062,24 @@ ContainerMembers <- ContainerDeclarations (ContainerField COMMA)* (ContainerFiel |
| 12062 | | 12062 | |
| 12063 | ContainerDeclarations | 12063 | ContainerDeclarations |
| 12064 | <- TestDecl ContainerDeclarations | 12064 | <- TestDecl ContainerDeclarations |
| 12065 | / TopLevelComptime ContainerDeclarations | 12065 | / ComptimeDecl ContainerDeclarations |
| 12066 | / doc_comment? KEYWORD_pub? TopLevelDecl ContainerDeclarations | 12066 | / doc_comment? KEYWORD_pub? Decl ContainerDeclarations |
| 12067 | / | 12067 | / |
| 12068 | | 12068 | |
| 12069 | TestDecl <- doc_comment? KEYWORD_test STRINGLITERALSINGLE? Block | 12069 | TestDecl <- KEYWORD_test STRINGLITERALSINGLE? Block |
| 12070 | | 12070 | |
| 12071 | TopLevelComptime <- doc_comment? KEYWORD_comptime BlockExpr | 12071 | ComptimeDecl <- KEYWORD_comptime Block |
| 12072 | | 12072 | |
| 12073 | TopLevelDecl | 12073 | Decl |
| 12074 | <- (KEYWORD_export / KEYWORD_extern STRINGLITERALSINGLE? / (KEYWORD_inline / KEYWORD_noinline))? FnProto (SEMICOLON / Block) | 12074 | <- (KEYWORD_export / KEYWORD_extern STRINGLITERALSINGLE? / (KEYWORD_inline / KEYWORD_noinline))? FnProto (SEMICOLON / Block) |
| 12075 | / (KEYWORD_export / KEYWORD_extern STRINGLITERALSINGLE?)? KEYWORD_threadlocal? VarDecl | 12075 | / (KEYWORD_export / KEYWORD_extern STRINGLITERALSINGLE?)? KEYWORD_threadlocal? VarDecl |
| 12076 | / KEYWORD_usingnamespace Expr SEMICOLON | 12076 | / KEYWORD_usingnamespace Expr SEMICOLON |
| 12077 | | 12077 | |
| 12078 | FnProto <- KEYWORD_fn IDENTIFIER? LPAREN ParamDeclList RPAREN ByteAlign? LinkSection? CallConv? EXCLAMATIONMARK? TypeExpr | 12078 | FnProto <- KEYWORD_fn IDENTIFIER? LPAREN ParamDeclList RPAREN ByteAlign? AddrSpace? LinkSection? CallConv? EXCLAMATIONMARK? TypeExpr |
| 12079 | | 12079 | |
| 12080 | VarDecl <- (KEYWORD_const / KEYWORD_var) IDENTIFIER (COLON TypeExpr)? ByteAlign? LinkSection? (EQUAL Expr)? SEMICOLON | 12080 | VarDecl <- (KEYWORD_const / KEYWORD_var) IDENTIFIER (COLON TypeExpr)? ByteAlign? AddrSpace? LinkSection? (EQUAL Expr)? SEMICOLON |
| 12081 | | 12081 | |
| 12082 | ContainerField <- doc_comment? KEYWORD_comptime? IDENTIFIER (COLON (KEYWORD_anytype / TypeExpr) ByteAlign?)? (EQUAL Expr)? | 12082 | ContainerField <- doc_comment? KEYWORD_comptime? IDENTIFIER (COLON TypeExpr ByteAlign?)? (EQUAL Expr)? |
| 12083 | | 12083 | |
| 12084 | # *** Block Level *** | 12084 | # *** Block Level *** |
| 12085 | Statement | 12085 | Statement |
| ... | @@ -12240,6 +12240,8 @@ WhileContinueExpr <- COLON LPAREN AssignExpr RPAREN | ... | @@ -12240,6 +12240,8 @@ WhileContinueExpr <- COLON LPAREN AssignExpr RPAREN |
| 12240 | | 12240 | |
| 12241 | LinkSection <- KEYWORD_linksection LPAREN Expr RPAREN | 12241 | LinkSection <- KEYWORD_linksection LPAREN Expr RPAREN |
| 12242 | | 12242 | |
| | 12243 | AddrSpace <- KEYWORD_addrspace LPAREN Expr RPAREN |
| | 12244 | |
| 12243 | # Fn specific | 12245 | # Fn specific |
| 12244 | CallConv <- KEYWORD_callconv LPAREN Expr RPAREN | 12246 | CallConv <- KEYWORD_callconv LPAREN Expr RPAREN |
| 12245 | | 12247 | |
| ... | @@ -12267,7 +12269,7 @@ PtrIndexPayload <- PIPE ASTERISK? IDENTIFIER (COMMA IDENTIFIER)? PIPE | ... | @@ -12267,7 +12269,7 @@ PtrIndexPayload <- PIPE ASTERISK? IDENTIFIER (COMMA IDENTIFIER)? PIPE |
| 12267 | | 12269 | |
| 12268 | | 12270 | |
| 12269 | # Switch specific | 12271 | # Switch specific |
| 12270 | SwitchProng <- SwitchCase EQUALRARROW PtrPayload? AssignExpr | 12272 | SwitchProng <- KEYWORD_inline? SwitchCase EQUALRARROW PtrIndexPayload? AssignExpr |
| 12271 | | 12273 | |
| 12272 | SwitchCase | 12274 | SwitchCase |
| 12273 | <- SwitchItem (COMMA SwitchItem)* COMMA? | 12275 | <- SwitchItem (COMMA SwitchItem)* COMMA? |
| ... | @@ -12278,11 +12280,15 @@ SwitchItem <- Expr (DOT3 Expr)? | ... | @@ -12278,11 +12280,15 @@ SwitchItem <- Expr (DOT3 Expr)? |
| 12278 | # Operators | 12280 | # Operators |
| 12279 | AssignOp | 12281 | AssignOp |
| 12280 | <- ASTERISKEQUAL | 12282 | <- ASTERISKEQUAL |
| | 12283 | / ASTERISKPIPEEQUAL |
| 12281 | / SLASHEQUAL | 12284 | / SLASHEQUAL |
| 12282 | / PERCENTEQUAL | 12285 | / PERCENTEQUAL |
| 12283 | / PLUSEQUAL | 12286 | / PLUSEQUAL |
| | 12287 | / PLUSPIPEEQUAL |
| 12284 | / MINUSEQUAL | 12288 | / MINUSEQUAL |
| | 12289 | / MINUSPIPEEQUAL |
| 12285 | / LARROW2EQUAL | 12290 | / LARROW2EQUAL |
| | 12291 | / LARROW2PIPEEQUAL |
| 12286 | / RARROW2EQUAL | 12292 | / RARROW2EQUAL |
| 12287 | / AMPERSANDEQUAL | 12293 | / AMPERSANDEQUAL |
| 12288 | / CARETEQUAL | 12294 | / CARETEQUAL |
| ... | @@ -12310,6 +12316,7 @@ BitwiseOp | ... | @@ -12310,6 +12316,7 @@ BitwiseOp |
| 12310 | BitShiftOp | 12316 | BitShiftOp |
| 12311 | <- LARROW2 | 12317 | <- LARROW2 |
| 12312 | / RARROW2 | 12318 | / RARROW2 |
| | 12319 | / LARROW2PIPE |
| 12313 | | 12320 | |
| 12314 | AdditionOp | 12321 | AdditionOp |
| 12315 | <- PLUS | 12322 | <- PLUS |
| ... | @@ -12317,6 +12324,8 @@ AdditionOp | ... | @@ -12317,6 +12324,8 @@ AdditionOp |
| 12317 | / PLUS2 | 12324 | / PLUS2 |
| 12318 | / PLUSPERCENT | 12325 | / PLUSPERCENT |
| 12319 | / MINUSPERCENT | 12326 | / MINUSPERCENT |
| | 12327 | / PLUSPIPE |
| | 12328 | / MINUSPIPE |
| 12320 | | 12329 | |
| 12321 | MultiplyOp | 12330 | MultiplyOp |
| 12322 | <- PIPE2 | 12331 | <- PIPE2 |
| ... | @@ -12325,6 +12334,7 @@ MultiplyOp | ... | @@ -12325,6 +12334,7 @@ MultiplyOp |
| 12325 | / PERCENT | 12334 | / PERCENT |
| 12326 | / ASTERISK2 | 12335 | / ASTERISK2 |
| 12327 | / ASTERISKPERCENT | 12336 | / ASTERISKPERCENT |
| | 12337 | / ASTERISKPIPE |
| 12328 | | 12338 | |
| 12329 | PrefixOp | 12339 | PrefixOp |
| 12330 | <- EXCLAMATIONMARK | 12340 | <- EXCLAMATIONMARK |
| ... | @@ -12338,8 +12348,8 @@ PrefixOp | ... | @@ -12338,8 +12348,8 @@ PrefixOp |
| 12338 | PrefixTypeOp | 12348 | PrefixTypeOp |
| 12339 | <- QUESTIONMARK | 12349 | <- QUESTIONMARK |
| 12340 | / KEYWORD_anyframe MINUSRARROW | 12350 | / KEYWORD_anyframe MINUSRARROW |
| 12341 | / SliceTypeStart (ByteAlign / KEYWORD_const / KEYWORD_volatile / KEYWORD_allowzero)* | 12351 | / SliceTypeStart (ByteAlign / AddrSpace / KEYWORD_const / KEYWORD_volatile / KEYWORD_allowzero)* |
| 12342 | / PtrTypeStart (KEYWORD_align LPAREN Expr (COLON INTEGER COLON INTEGER)? RPAREN / KEYWORD_const / KEYWORD_volatile / KEYWORD_allowzero)* | 12352 | / PtrTypeStart (AddrSpace / KEYWORD_align LPAREN Expr (COLON INTEGER COLON INTEGER)? RPAREN / KEYWORD_const / KEYWORD_volatile / KEYWORD_allowzero)* |
| 12343 | / ArrayTypeStart | 12353 | / ArrayTypeStart |
| 12344 | | 12354 | |
| 12345 | SuffixOp | 12355 | SuffixOp |
| ... | @@ -12364,7 +12374,7 @@ ArrayTypeStart <- LBRACKET Expr (COLON Expr)? RBRACKET | ... | @@ -12364,7 +12374,7 @@ ArrayTypeStart <- LBRACKET Expr (COLON Expr)? RBRACKET |
| 12364 | ContainerDeclAuto <- ContainerDeclType LBRACE container_doc_comment? ContainerMembers RBRACE | 12374 | ContainerDeclAuto <- ContainerDeclType LBRACE container_doc_comment? ContainerMembers RBRACE |
| 12365 | | 12375 | |
| 12366 | ContainerDeclType | 12376 | ContainerDeclType |
| 12367 | <- KEYWORD_struct | 12377 | <- KEYWORD_struct (LPAREN Expr RPAREN)? |
| 12368 | / KEYWORD_opaque | 12378 | / KEYWORD_opaque |
| 12369 | / KEYWORD_enum (LPAREN Expr RPAREN)? | 12379 | / KEYWORD_enum (LPAREN Expr RPAREN)? |
| 12370 | / KEYWORD_union (LPAREN (KEYWORD_enum (LPAREN Expr RPAREN)? / Expr) RPAREN)? | 12380 | / KEYWORD_union (LPAREN (KEYWORD_enum (LPAREN Expr RPAREN)? / Expr) RPAREN)? |
| ... | @@ -12455,7 +12465,7 @@ string_char | ... | @@ -12455,7 +12465,7 @@ string_char |
| 12455 | / [^\\"\n] | 12465 | / [^\\"\n] |
| 12456 | | 12466 | |
| 12457 | container_doc_comment <- ('//!' [^\n]* [ \n]*)+ | 12467 | container_doc_comment <- ('//!' [^\n]* [ \n]*)+ |
| 12458 | doc_comment <- ('///' [^\n]* [ \n]*)+ | 12468 | doc_comment <- ('///' [^\n]* [ \n]*)+ skip |
| 12459 | line_comment <- '//' ![!/][^\n]* / '////' [^\n]* | 12469 | line_comment <- '//' ![!/][^\n]* / '////' [^\n]* |
| 12460 | line_string <- ("\\\\" [^\n]* [ \n]*)+ | 12470 | line_string <- ("\\\\" [^\n]* [ \n]*)+ |
| 12461 | skip <- ([ \n] / line_comment)* | 12471 | skip <- ([ \n] / line_comment)* |
| ... | @@ -12483,11 +12493,13 @@ BUILTINIDENTIFIER <- "@"[A-Za-z_][A-Za-z0-9_]* skip | ... | @@ -12483,11 +12493,13 @@ BUILTINIDENTIFIER <- "@"[A-Za-z_][A-Za-z0-9_]* skip |
| 12483 | | 12493 | |
| 12484 | AMPERSAND <- '&' ![=] skip | 12494 | AMPERSAND <- '&' ![=] skip |
| 12485 | AMPERSANDEQUAL <- '&=' skip | 12495 | AMPERSANDEQUAL <- '&=' skip |
| 12486 | ASTERISK <- '*' ![*%=] skip | 12496 | ASTERISK <- '*' ![*%=|] skip |
| 12487 | ASTERISK2 <- '**' skip | 12497 | ASTERISK2 <- '**' skip |
| 12488 | ASTERISKEQUAL <- '*=' skip | 12498 | ASTERISKEQUAL <- '*=' skip |
| 12489 | ASTERISKPERCENT <- '*%' ![=] skip | 12499 | ASTERISKPERCENT <- '*%' ![=] skip |
| 12490 | ASTERISKPERCENTEQUAL <- '*%=' skip | 12500 | ASTERISKPERCENTEQUAL <- '*%=' skip |
| | 12501 | ASTERISKPIPE <- '*|' ![=] skip |
| | 12502 | ASTERISKPIPEEQUAL <- '*|=' skip |
| 12491 | CARET <- '^' ![=] skip | 12503 | CARET <- '^' ![=] skip |
| 12492 | CARETEQUAL <- '^=' skip | 12504 | CARETEQUAL <- '^=' skip |
| 12493 | COLON <- ':' skip | 12505 | COLON <- ':' skip |
| ... | @@ -12503,27 +12515,33 @@ EQUALRARROW <- '=>' skip | ... | @@ -12503,27 +12515,33 @@ EQUALRARROW <- '=>' skip |
| 12503 | EXCLAMATIONMARK <- '!' ![=] skip | 12515 | EXCLAMATIONMARK <- '!' ![=] skip |
| 12504 | EXCLAMATIONMARKEQUAL <- '!=' skip | 12516 | EXCLAMATIONMARKEQUAL <- '!=' skip |
| 12505 | LARROW <- '<' ![<=] skip | 12517 | LARROW <- '<' ![<=] skip |
| 12506 | LARROW2 <- '<<' ![=] skip | 12518 | LARROW2 <- '<<' ![=|] skip |
| 12507 | LARROW2EQUAL <- '<<=' skip | 12519 | LARROW2EQUAL <- '<<=' skip |
| | 12520 | LARROW2PIPE <- '<<|' ![=] skip |
| | 12521 | LARROW2PIPEEQUAL <- '<<|=' skip |
| 12508 | LARROWEQUAL <- '<=' skip | 12522 | LARROWEQUAL <- '<=' skip |
| 12509 | LBRACE <- '{' skip | 12523 | LBRACE <- '{' skip |
| 12510 | LBRACKET <- '[' skip | 12524 | LBRACKET <- '[' skip |
| 12511 | LPAREN <- '(' skip | 12525 | LPAREN <- '(' skip |
| 12512 | MINUS <- '-' ![%=>] skip | 12526 | MINUS <- '-' ![%=>|] skip |
| 12513 | MINUSEQUAL <- '-=' skip | 12527 | MINUSEQUAL <- '-=' skip |
| 12514 | MINUSPERCENT <- '-%' ![=] skip | 12528 | MINUSPERCENT <- '-%' ![=] skip |
| 12515 | MINUSPERCENTEQUAL <- '-%=' skip | 12529 | MINUSPERCENTEQUAL <- '-%=' skip |
| | 12530 | MINUSPIPE <- '-|' ![=] skip |
| | 12531 | MINUSPIPEEQUAL <- '-|=' skip |
| 12516 | MINUSRARROW <- '->' skip | 12532 | MINUSRARROW <- '->' skip |
| 12517 | PERCENT <- '%' ![=] skip | 12533 | PERCENT <- '%' ![=] skip |
| 12518 | PERCENTEQUAL <- '%=' skip | 12534 | PERCENTEQUAL <- '%=' skip |
| 12519 | PIPE <- '|' ![|=] skip | 12535 | PIPE <- '|' ![|=] skip |
| 12520 | PIPE2 <- '||' skip | 12536 | PIPE2 <- '||' skip |
| 12521 | PIPEEQUAL <- '|=' skip | 12537 | PIPEEQUAL <- '|=' skip |
| 12522 | PLUS <- '+' ![%+=] skip | 12538 | PLUS <- '+' ![%+=|] skip |
| 12523 | PLUS2 <- '++' skip | 12539 | PLUS2 <- '++' skip |
| 12524 | PLUSEQUAL <- '+=' skip | 12540 | PLUSEQUAL <- '+=' skip |
| 12525 | PLUSPERCENT <- '+%' ![=] skip | 12541 | PLUSPERCENT <- '+%' ![=] skip |
| 12526 | PLUSPERCENTEQUAL <- '+%=' skip | 12542 | PLUSPERCENTEQUAL <- '+%=' skip |
| | 12543 | PLUSPIPE <- '+|' ![=] skip |
| | 12544 | PLUSPIPEEQUAL <- '+|=' skip |
| 12527 | LETTERC <- 'c' skip | 12545 | LETTERC <- 'c' skip |
| 12528 | QUESTIONMARK <- '?' skip | 12546 | QUESTIONMARK <- '?' skip |
| 12529 | RARROW <- '>' ![>=] skip | 12547 | RARROW <- '>' ![>=] skip |
| ... | @@ -12539,6 +12557,7 @@ SLASHEQUAL <- '/=' skip | ... | @@ -12539,6 +12557,7 @@ SLASHEQUAL <- '/=' skip |
| 12539 | TILDE <- '~' skip | 12557 | TILDE <- '~' skip |
| 12540 | | 12558 | |
| 12541 | end_of_word <- ![a-zA-Z0-9_] skip | 12559 | end_of_word <- ![a-zA-Z0-9_] skip |
| | 12560 | KEYWORD_addrspace <- 'addrspace' end_of_word |
| 12542 | KEYWORD_align <- 'align' end_of_word | 12561 | KEYWORD_align <- 'align' end_of_word |
| 12543 | KEYWORD_allowzero <- 'allowzero' end_of_word | 12562 | KEYWORD_allowzero <- 'allowzero' end_of_word |
| 12544 | KEYWORD_and <- 'and' end_of_word | 12563 | KEYWORD_and <- 'and' end_of_word |
| ... | @@ -12588,11 +12607,11 @@ KEYWORD_var <- 'var' end_of_word | ... | @@ -12588,11 +12607,11 @@ KEYWORD_var <- 'var' end_of_word |
| 12588 | KEYWORD_volatile <- 'volatile' end_of_word | 12607 | KEYWORD_volatile <- 'volatile' end_of_word |
| 12589 | KEYWORD_while <- 'while' end_of_word | 12608 | KEYWORD_while <- 'while' end_of_word |
| 12590 | | 12609 | |
| 12591 | keyword <- KEYWORD_align / KEYWORD_allowzero / KEYWORD_and / KEYWORD_anyframe | 12610 | keyword <- KEYWORD_addrspace / KEYWORD_align / KEYWORD_allowzero / KEYWORD_and |
| 12592 | / KEYWORD_anytype / KEYWORD_asm / KEYWORD_async / KEYWORD_await | 12611 | / KEYWORD_anyframe / KEYWORD_anytype / KEYWORD_asm / KEYWORD_async |
| 12593 | / KEYWORD_break / KEYWORD_callconv / KEYWORD_catch / KEYWORD_comptime | 12612 | / KEYWORD_await / KEYWORD_break / KEYWORD_callconv / KEYWORD_catch |
| 12594 | / KEYWORD_const / KEYWORD_continue / KEYWORD_defer / KEYWORD_else | 12613 | / KEYWORD_comptime / KEYWORD_const / KEYWORD_continue / KEYWORD_defer |
| 12595 | / KEYWORD_enum / KEYWORD_errdefer / KEYWORD_error / KEYWORD_export | 12614 | / KEYWORD_else / KEYWORD_enum / KEYWORD_errdefer / KEYWORD_error / KEYWORD_export |
| 12596 | / KEYWORD_extern / KEYWORD_fn / KEYWORD_for / KEYWORD_if | 12615 | / KEYWORD_extern / KEYWORD_fn / KEYWORD_for / KEYWORD_if |
| 12597 | / KEYWORD_inline / KEYWORD_noalias / KEYWORD_nosuspend / KEYWORD_noinline | 12616 | / KEYWORD_inline / KEYWORD_noalias / KEYWORD_nosuspend / KEYWORD_noinline |
| 12598 | / KEYWORD_opaque / KEYWORD_or / KEYWORD_orelse / KEYWORD_packed | 12617 | / KEYWORD_opaque / KEYWORD_or / KEYWORD_orelse / KEYWORD_packed |