| ... | @@ -7713,36 +7713,35 @@ fn readU32Be() u32 {} | ... | @@ -7713,36 +7713,35 @@ fn readU32Be() u32 {} |
| 7713 | <p>For some discussion on the rationale behind these design decisions, see <a href="https://github.com/ziglang/zig/issues/663">issue #663</a></p> | 7713 | <p>For some discussion on the rationale behind these design decisions, see <a href="https://github.com/ziglang/zig/issues/663">issue #663</a></p> |
| 7714 | {#header_close#} | 7714 | {#header_close#} |
| 7715 | {#header_open|Grammar#} | 7715 | {#header_open|Grammar#} |
| 7716 | <pre><code class="nohighlight"> | 7716 | <pre><code>Root &lt;- skip ContainerMembers eof |
| 7717 | Root <- skip ContainerMembers eof | | |
| 7718 | | 7717 | |
| 7719 | # *** Top level *** | 7718 | # *** Top level *** |
| 7720 | ContainerMembers | 7719 | ContainerMembers |
| 7721 | <- TestDecl ContainerMembers | 7720 | &lt;- TestDecl ContainerMembers |
| 7722 | / TopLevelComptime ContainerMembers | 7721 | / TopLevelComptime ContainerMembers |
| 7723 | / KEYWORD_pub? TopLevelDecl ContainerMembers | 7722 | / KEYWORD_pub? TopLevelDecl ContainerMembers |
| 7724 | / KEYWORD_pub? ContainerField COMMA ContainerMembers | 7723 | / KEYWORD_pub? ContainerField COMMA ContainerMembers |
| 7725 | / KEYWORD_pub? ContainerField | 7724 | / KEYWORD_pub? ContainerField |
| 7726 | / | 7725 | / |
| 7727 | | 7726 | |
| 7728 | TestDecl <- KEYWORD_test STRINGLITERAL Block | 7727 | TestDecl &lt;- KEYWORD_test STRINGLITERAL Block |
| 7729 | | 7728 | |
| 7730 | TopLevelComptime <- KEYWORD_comptime BlockExpr | 7729 | TopLevelComptime &lt;- KEYWORD_comptime BlockExpr |
| 7731 | | 7730 | |
| 7732 | TopLevelDecl | 7731 | TopLevelDecl |
| 7733 | <- (KEYWORD_export / KEYWORD_extern STRINGLITERAL? / KEYWORD_inline)? FnProto (SEMICOLON / Block) | 7732 | &lt;- (KEYWORD_export / KEYWORD_extern STRINGLITERAL? / KEYWORD_inline)? FnProto (SEMICOLON / Block) |
| 7734 | / (KEYWORD_export / KEYWORD_extern STRINGLITERAL?)? VarDecl | 7733 | / (KEYWORD_export / KEYWORD_extern STRINGLITERAL?)? VarDecl |
| 7735 | / KEYWORD_use Expr SEMICOLON | 7734 | / KEYWORD_use Expr SEMICOLON |
| 7736 | | 7735 | |
| 7737 | FnProto <- FnCC? KEYWORD_fn IDENTIFIER? LPAREN ParamDeclList RPAREN ByteAlign? Section? EXCLAMATIONMARK? (KEYWORD_var / TypeExpr) | 7736 | FnProto &lt;- FnCC? KEYWORD_fn IDENTIFIER? LPAREN ParamDeclList RPAREN ByteAlign? LinkSection? EXCLAMATIONMARK? (KEYWORD_var / TypeExpr) |
| 7738 | | 7737 | |
| 7739 | VarDecl <- (KEYWORD_const / KEYWORD_var) IDENTIFIER (COLON TypeExpr)? ByteAlign? Section? (EQUAL Expr)? SEMICOLON | 7738 | VarDecl &lt;- (KEYWORD_const / KEYWORD_var) IDENTIFIER (COLON TypeExpr)? ByteAlign? LinkSection? (EQUAL Expr)? SEMICOLON |
| 7740 | | 7739 | |
| 7741 | ContainerField <- IDENTIFIER (COLON TypeExpr)? (EQUAL Expr)? | 7740 | ContainerField &lt;- IDENTIFIER (COLON TypeExpr)? (EQUAL Expr)? |
| 7742 | | 7741 | |
| 7743 | # *** Block Level *** | 7742 | # *** Block Level *** |
| 7744 | Statement | 7743 | Statement |
| 7745 | <- KEYWORD_comptime? VarDecl | 7744 | &lt;- KEYWORD_comptime? VarDecl |
| 7746 | / KEYWORD_comptime BlockExprStatement | 7745 | / KEYWORD_comptime BlockExprStatement |
| 7747 | / KEYWORD_suspend (SEMICOLON / BlockExprStatement) | 7746 | / KEYWORD_suspend (SEMICOLON / BlockExprStatement) |
| 7748 | / KEYWORD_defer BlockExprStatement | 7747 | / KEYWORD_defer BlockExprStatement |
| ... | @@ -7753,50 +7752,50 @@ Statement | ... | @@ -7753,50 +7752,50 @@ Statement |
| 7753 | / AssignExpr SEMICOLON | 7752 | / AssignExpr SEMICOLON |
| 7754 | | 7753 | |
| 7755 | IfStatement | 7754 | IfStatement |
| 7756 | <- IfPrefix BlockExpr ( KEYWORD_else Payload? Statement )? | 7755 | &lt;- IfPrefix BlockExpr ( KEYWORD_else Payload? Statement )? |
| 7757 | / IfPrefix AssignExpr ( SEMICOLON / KEYWORD_else Payload? Statement ) | 7756 | / IfPrefix AssignExpr ( SEMICOLON / KEYWORD_else Payload? Statement ) |
| 7758 | | 7757 | |
| 7759 | LabeledStatement <- BlockLabel? (Block / LoopStatement) | 7758 | LabeledStatement &lt;- BlockLabel? (Block / LoopStatement) |
| 7760 | | 7759 | |
| 7761 | LoopStatement <- KEYWORD_inline? (ForStatement / WhileStatement) | 7760 | LoopStatement &lt;- KEYWORD_inline? (ForStatement / WhileStatement) |
| 7762 | | 7761 | |
| 7763 | ForStatement | 7762 | ForStatement |
| 7764 | <- ForPrefix BlockExpr ( KEYWORD_else Statement )? | 7763 | &lt;- ForPrefix BlockExpr ( KEYWORD_else Statement )? |
| 7765 | / ForPrefix AssignExpr ( SEMICOLON / KEYWORD_else Statement ) | 7764 | / ForPrefix AssignExpr ( SEMICOLON / KEYWORD_else Statement ) |
| 7766 | | 7765 | |
| 7767 | WhileStatement | 7766 | WhileStatement |
| 7768 | <- WhilePrefix BlockExpr ( KEYWORD_else Payload? Statement )? | 7767 | &lt;- WhilePrefix BlockExpr ( KEYWORD_else Payload? Statement )? |
| 7769 | / WhilePrefix AssignExpr ( SEMICOLON / KEYWORD_else Payload? Statement ) | 7768 | / WhilePrefix AssignExpr ( SEMICOLON / KEYWORD_else Payload? Statement ) |
| 7770 | | 7769 | |
| 7771 | BlockExprStatement | 7770 | BlockExprStatement |
| 7772 | <- BlockExpr | 7771 | &lt;- BlockExpr |
| 7773 | / AssignExpr SEMICOLON | 7772 | / AssignExpr SEMICOLON |
| 7774 | | 7773 | |
| 7775 | BlockExpr <- BlockLabel? Block | 7774 | BlockExpr &lt;- BlockLabel? Block |
| 7776 | | 7775 | |
| 7777 | # *** Expression Level *** | 7776 | # *** Expression Level *** |
| 7778 | AssignExpr <- Expr (AssignOp Expr)? | 7777 | AssignExpr &lt;- Expr (AssignOp Expr)? |
| 7779 | | 7778 | |
| 7780 | Expr <- KEYWORD_try* BoolOrExpr | 7779 | Expr &lt;- KEYWORD_try* BoolOrExpr |
| 7781 | | 7780 | |
| 7782 | BoolOrExpr <- BoolAndExpr (KEYWORD_or BoolAndExpr)* | 7781 | BoolOrExpr &lt;- BoolAndExpr (KEYWORD_or BoolAndExpr)* |
| 7783 | | 7782 | |
| 7784 | BoolAndExpr <- CompareExpr (KEYWORD_and CompareExpr)* | 7783 | BoolAndExpr &lt;- CompareExpr (KEYWORD_and CompareExpr)* |
| 7785 | | 7784 | |
| 7786 | CompareExpr <- BitwiseExpr (CompareOp BitwiseExpr)? | 7785 | CompareExpr &lt;- BitwiseExpr (CompareOp BitwiseExpr)? |
| 7787 | | 7786 | |
| 7788 | BitwiseExpr <- BitShiftExpr (BitwiseOp BitShiftExpr)* | 7787 | BitwiseExpr &lt;- BitShiftExpr (BitwiseOp BitShiftExpr)* |
| 7789 | | 7788 | |
| 7790 | BitShiftExpr <- AdditionExpr (BitShiftOp AdditionExpr)* | 7789 | BitShiftExpr &lt;- AdditionExpr (BitShiftOp AdditionExpr)* |
| 7791 | | 7790 | |
| 7792 | AdditionExpr <- MultiplyExpr (AdditionOp MultiplyExpr)* | 7791 | AdditionExpr &lt;- MultiplyExpr (AdditionOp MultiplyExpr)* |
| 7793 | | 7792 | |
| 7794 | MultiplyExpr <- PrefixExpr (MultiplyOp PrefixExpr)* | 7793 | MultiplyExpr &lt;- PrefixExpr (MultiplyOp PrefixExpr)* |
| 7795 | | 7794 | |
| 7796 | PrefixExpr <- PrefixOp* PrimaryExpr | 7795 | PrefixExpr &lt;- PrefixOp* PrimaryExpr |
| 7797 | | 7796 | |
| 7798 | PrimaryExpr | 7797 | PrimaryExpr |
| 7799 | <- AsmExpr | 7798 | &lt;- AsmExpr |
| 7800 | / IfExpr | 7799 | / IfExpr |
| 7801 | / KEYWORD_break BreakLabel? Expr? | 7800 | / KEYWORD_break BreakLabel? Expr? |
| 7802 | / KEYWORD_cancel Expr | 7801 | / KEYWORD_cancel Expr |
| ... | @@ -7807,35 +7806,35 @@ PrimaryExpr | ... | @@ -7807,35 +7806,35 @@ PrimaryExpr |
| 7807 | / LabeledExpr | 7806 | / LabeledExpr |
| 7808 | / CurlySuffixExpr | 7807 | / CurlySuffixExpr |
| 7809 | | 7808 | |
| 7810 | IfExpr <- IfPrefix Expr (KEYWORD_else Payload? Expr)? | 7809 | IfExpr &lt;- IfPrefix Expr (KEYWORD_else Payload? Expr)? |
| 7811 | | 7810 | |
| 7812 | LabeledExpr <- BlockLabel? (Block / LoopExpr) | 7811 | LabeledExpr &lt;- BlockLabel? (Block / LoopExpr) |
| 7813 | | 7812 | |
| 7814 | Block <- LBRACE Statement* RBRACE | 7813 | Block &lt;- LBRACE Statement* RBRACE |
| 7815 | | 7814 | |
| 7816 | LoopExpr <- KEYWORD_inline? (ForExpr / WhileExpr) | 7815 | LoopExpr &lt;- KEYWORD_inline? (ForExpr / WhileExpr) |
| 7817 | | 7816 | |
| 7818 | ForExpr <- ForPrefix Expr (KEYWORD_else Expr)? | 7817 | ForExpr &lt;- ForPrefix Expr (KEYWORD_else Expr)? |
| 7819 | | 7818 | |
| 7820 | WhileExpr <- WhilePrefix Expr (KEYWORD_else Payload? Expr)? | 7819 | WhileExpr &lt;- WhilePrefix Expr (KEYWORD_else Payload? Expr)? |
| 7821 | | 7820 | |
| 7822 | CurlySuffixExpr <- TypeExpr InitList? | 7821 | CurlySuffixExpr &lt;- TypeExpr InitList? |
| 7823 | | 7822 | |
| 7824 | InitList | 7823 | InitList |
| 7825 | <- LBRACE FieldInit (COMMA FieldInit)* COMMA? RBRACE | 7824 | &lt;- LBRACE FieldInit (COMMA FieldInit)* COMMA? RBRACE |
| 7826 | / LBRACE Expr (COMMA Expr)* COMMA? RBRACE | 7825 | / LBRACE Expr (COMMA Expr)* COMMA? RBRACE |
| 7827 | / LBRACE RBRACE | 7826 | / LBRACE RBRACE |
| 7828 | | 7827 | |
| 7829 | TypeExpr <- PrefixTypeOp* ErrorUnionExpr | 7828 | TypeExpr &lt;- PrefixTypeOp* ErrorUnionExpr |
| 7830 | | 7829 | |
| 7831 | ErrorUnionExpr <- SuffixExpr (EXCLAMATIONMARK TypeExpr)? | 7830 | ErrorUnionExpr &lt;- SuffixExpr (EXCLAMATIONMARK TypeExpr)? |
| 7832 | | 7831 | |
| 7833 | SuffixExpr | 7832 | SuffixExpr |
| 7834 | <- AsyncPrefix PrimaryTypeExpr SuffixOp* FnCallArgumnets | 7833 | &lt;- AsyncPrefix PrimaryTypeExpr SuffixOp* FnCallArgumnets |
| 7835 | / PrimaryTypeExpr (SuffixOp / FnCallArgumnets)* | 7834 | / PrimaryTypeExpr (SuffixOp / FnCallArgumnets)* |
| 7836 | | 7835 | |
| 7837 | PrimaryTypeExpr | 7836 | PrimaryTypeExpr |
| 7838 | <- BUILTININDENTIFIER FnCallArgumnets | 7837 | &lt;- BUILTININDENTIFIER FnCallArgumnets |
| 7839 | / CHAR_LITERAL | 7838 | / CHAR_LITERAL |
| 7840 | / ContainerDecl | 7839 | / ContainerDecl |
| 7841 | / ErrorSetDecl | 7840 | / ErrorSetDecl |
| ... | @@ -7858,91 +7857,91 @@ PrimaryTypeExpr | ... | @@ -7858,91 +7857,91 @@ PrimaryTypeExpr |
| 7858 | / STRINGLITERAL | 7857 | / STRINGLITERAL |
| 7859 | / SwitchExpr | 7858 | / SwitchExpr |
| 7860 | | 7859 | |
| 7861 | ContainerDecl <- (KEYWORD_extern / KEYWORD_packed)? ContainerDeclAuto | 7860 | ContainerDecl &lt;- (KEYWORD_extern / KEYWORD_packed)? ContainerDeclAuto |
| 7862 | | 7861 | |
| 7863 | ErrorSetDecl <- KEYWORD_error LBRACE IdentifierList RBRACE | 7862 | ErrorSetDecl &lt;- KEYWORD_error LBRACE IdentifierList RBRACE |
| 7864 | | 7863 | |
| 7865 | GroupedExpr <- LPAREN Expr RPAREN | 7864 | GroupedExpr &lt;- LPAREN Expr RPAREN |
| 7866 | | 7865 | |
| 7867 | IfTypeExpr <- IfPrefix TypeExpr (KEYWORD_else Payload? TypeExpr)? | 7866 | IfTypeExpr &lt;- IfPrefix TypeExpr (KEYWORD_else Payload? TypeExpr)? |
| 7868 | | 7867 | |
| 7869 | LabeledTypeExpr | 7868 | LabeledTypeExpr |
| 7870 | <- BlockLabel Block | 7869 | &lt;- BlockLabel Block |
| 7871 | / BlockLabel? LoopTypeExpr | 7870 | / BlockLabel? LoopTypeExpr |
| 7872 | | 7871 | |
| 7873 | LoopTypeExpr <- KEYWORD_inline? (ForTypeExpr / WhileTypeExpr) | 7872 | LoopTypeExpr &lt;- KEYWORD_inline? (ForTypeExpr / WhileTypeExpr) |
| 7874 | | 7873 | |
| 7875 | ForTypeExpr <- ForPrefix TypeExpr (KEYWORD_else TypeExpr)? | 7874 | ForTypeExpr &lt;- ForPrefix TypeExpr (KEYWORD_else TypeExpr)? |
| 7876 | | 7875 | |
| 7877 | WhileTypeExpr <- WhilePrefix TypeExpr (KEYWORD_else Payload? TypeExpr)? | 7876 | WhileTypeExpr &lt;- WhilePrefix TypeExpr (KEYWORD_else Payload? TypeExpr)? |
| 7878 | | 7877 | |
| 7879 | SwitchExpr <- KEYWORD_switch LPAREN Expr RPAREN LBRACE SwitchProngList RBRACE | 7878 | SwitchExpr &lt;- KEYWORD_switch LPAREN Expr RPAREN LBRACE SwitchProngList RBRACE |
| 7880 | | 7879 | |
| 7881 | # *** Assembly *** | 7880 | # *** Assembly *** |
| 7882 | AsmExpr <- KEYWORD_asm KEYWORD_volatile? LPAREN STRINGLITERAL AsmOutput? RPAREN | 7881 | AsmExpr &lt;- KEYWORD_asm KEYWORD_volatile? LPAREN STRINGLITERAL AsmOutput? RPAREN |
| 7883 | | 7882 | |
| 7884 | AsmOutput <- COLON AsmOutputList AsmInput? | 7883 | AsmOutput &lt;- COLON AsmOutputList AsmInput? |
| 7885 | | 7884 | |
| 7886 | AsmOutputItem <- LBRACKET IDENTIFIER RBRACKET STRINGLITERAL LPAREN (MINUSRARROW TypeExpr / IDENTIFIER) RPAREN | 7885 | AsmOutputItem &lt;- LBRACKET IDENTIFIER RBRACKET STRINGLITERAL LPAREN (MINUSRARROW TypeExpr / IDENTIFIER) RPAREN |
| 7887 | | 7886 | |
| 7888 | AsmInput <- COLON AsmInputList AsmCloppers? | 7887 | AsmInput &lt;- COLON AsmInputList AsmCloppers? |
| 7889 | | 7888 | |
| 7890 | AsmInputItem <- LBRACKET IDENTIFIER RBRACKET STRINGLITERAL LPAREN Expr RPAREN | 7889 | AsmInputItem &lt;- LBRACKET IDENTIFIER RBRACKET STRINGLITERAL LPAREN Expr RPAREN |
| 7891 | | 7890 | |
| 7892 | AsmCloppers <- COLON StringList | 7891 | AsmCloppers &lt;- COLON StringList |
| 7893 | | 7892 | |
| 7894 | # *** Helper grammar *** | 7893 | # *** Helper grammar *** |
| 7895 | BreakLabel <- COLON IDENTIFIER | 7894 | BreakLabel &lt;- COLON IDENTIFIER |
| 7896 | | 7895 | |
| 7897 | BlockLabel <- IDENTIFIER COLON | 7896 | BlockLabel &lt;- IDENTIFIER COLON |
| 7898 | | 7897 | |
| 7899 | FieldInit <- DOT IDENTIFIER EQUAL Expr | 7898 | FieldInit &lt;- DOT IDENTIFIER EQUAL Expr |
| 7900 | | 7899 | |
| 7901 | WhileContinueExpr <- COLON LPAREN AssignExpr RPAREN | 7900 | WhileContinueExpr &lt;- COLON LPAREN AssignExpr RPAREN |
| 7902 | | 7901 | |
| 7903 | Section <- KEYWORD_section LPAREN Expr RPAREN | 7902 | LinkSection &lt;- KEYWORD_linksection LPAREN Expr RPAREN |
| 7904 | | 7903 | |
| 7905 | # Fn specific | 7904 | # Fn specific |
| 7906 | FnCC | 7905 | FnCC |
| 7907 | <- KEYWORD_nakedcc | 7906 | &lt;- KEYWORD_nakedcc |
| 7908 | / KEYWORD_stdcallcc | 7907 | / KEYWORD_stdcallcc |
| 7909 | / KEYWORD_extern | 7908 | / KEYWORD_extern |
| 7910 | / KEYWORD_async (LARROW TypeExpr RARROW)? | 7909 | / KEYWORD_async (LARROW TypeExpr RARROW)? |
| 7911 | | 7910 | |
| 7912 | ParamDecl <- (KEYWORD_noalias / KEYWORD_comptime)? (IDENTIFIER COLON)? ParamType | 7911 | ParamDecl &lt;- (KEYWORD_noalias / KEYWORD_comptime)? (IDENTIFIER COLON)? ParamType |
| 7913 | | 7912 | |
| 7914 | ParamType | 7913 | ParamType |
| 7915 | <- KEYWORD_var | 7914 | &lt;- KEYWORD_var |
| 7916 | / DOT3 | 7915 | / DOT3 |
| 7917 | / TypeExpr | 7916 | / TypeExpr |
| 7918 | | 7917 | |
| 7919 | # Control flow prefixes | 7918 | # Control flow prefixes |
| 7920 | IfPrefix <- KEYWORD_if LPAREN Expr RPAREN PtrPayload? | 7919 | IfPrefix &lt;- KEYWORD_if LPAREN Expr RPAREN PtrPayload? |
| 7921 | | 7920 | |
| 7922 | WhilePrefix <- KEYWORD_while LPAREN Expr RPAREN PtrPayload? WhileContinueExpr? | 7921 | WhilePrefix &lt;- KEYWORD_while LPAREN Expr RPAREN PtrPayload? WhileContinueExpr? |
| 7923 | | 7922 | |
| 7924 | ForPrefix <- KEYWORD_for LPAREN Expr RPAREN PtrIndexPayload | 7923 | ForPrefix &lt;- KEYWORD_for LPAREN Expr RPAREN PtrIndexPayload |
| 7925 | | 7924 | |
| 7926 | # Payloads | 7925 | # Payloads |
| 7927 | Payload <- PIPE IDENTIFIER PIPE | 7926 | Payload &lt;- PIPE IDENTIFIER PIPE |
| 7928 | | 7927 | |
| 7929 | PtrPayload <- PIPE ASTERISK? IDENTIFIER PIPE | 7928 | PtrPayload &lt;- PIPE ASTERISK? IDENTIFIER PIPE |
| 7930 | | 7929 | |
| 7931 | PtrIndexPayload <- PIPE ASTERISK? IDENTIFIER (COMMA IDENTIFIER)? PIPE | 7930 | PtrIndexPayload &lt;- PIPE ASTERISK? IDENTIFIER (COMMA IDENTIFIER)? PIPE |
| 7932 | | 7931 | |
| 7933 | | 7932 | |
| 7934 | # Switch specific | 7933 | # Switch specific |
| 7935 | SwitchProng <- SwitchCase EQUALRARROW PtrPayload? AssignExpr | 7934 | SwitchProng &lt;- SwitchCase EQUALRARROW PtrPayload? AssignExpr |
| 7936 | | 7935 | |
| 7937 | SwitchCase | 7936 | SwitchCase |
| 7938 | <- SwitchItem (COMMA SwitchItem)* COMMA? | 7937 | &lt;- SwitchItem (COMMA SwitchItem)* COMMA? |
| 7939 | / KEYWORD_else | 7938 | / KEYWORD_else |
| 7940 | | 7939 | |
| 7941 | SwitchItem <- Expr (DOT3 Expr)? | 7940 | SwitchItem &lt;- Expr (DOT3 Expr)? |
| 7942 | | 7941 | |
| 7943 | # Operators | 7942 | # Operators |
| 7944 | AssignOp | 7943 | AssignOp |
| 7945 | <- ASTERISKEQUAL | 7944 | &lt;- ASTERISKEQUAL |
| 7946 | / SLASHEQUAL | 7945 | / SLASHEQUAL |
| 7947 | / PERCENTEQUAL | 7946 | / PERCENTEQUAL |
| 7948 | / PLUSEQUAL | 7947 | / PLUSEQUAL |
| ... | @@ -7958,7 +7957,7 @@ AssignOp | ... | @@ -7958,7 +7957,7 @@ AssignOp |
| 7958 | / EQUAL | 7957 | / EQUAL |
| 7959 | | 7958 | |
| 7960 | CompareOp | 7959 | CompareOp |
| 7961 | <- EQUALEQUAL | 7960 | &lt;- EQUALEQUAL |
| 7962 | / EXCLAMATIONMARKEQUAL | 7961 | / EXCLAMATIONMARKEQUAL |
| 7963 | / LARROW | 7962 | / LARROW |
| 7964 | / RARROW | 7963 | / RARROW |
| ... | @@ -7966,25 +7965,25 @@ CompareOp | ... | @@ -7966,25 +7965,25 @@ CompareOp |
| 7966 | / RARROWEQUAL | 7965 | / RARROWEQUAL |
| 7967 | | 7966 | |
| 7968 | BitwiseOp | 7967 | BitwiseOp |
| 7969 | <- AMPERSAND | 7968 | &lt;- AMPERSAND |
| 7970 | / CARET | 7969 | / CARET |
| 7971 | / PIPE | 7970 | / PIPE |
| 7972 | / KEYWORD_orelse | 7971 | / KEYWORD_orelse |
| 7973 | / KEYWORD_catch Payload? | 7972 | / KEYWORD_catch Payload? |
| 7974 | | 7973 | |
| 7975 | BitShiftOp | 7974 | BitShiftOp |
| 7976 | <- LARROW2 | 7975 | &lt;- LARROW2 |
| 7977 | / RARROW2 | 7976 | / RARROW2 |
| 7978 | | 7977 | |
| 7979 | AdditionOp | 7978 | AdditionOp |
| 7980 | <- PLUS | 7979 | &lt;- PLUS |
| 7981 | / MINUS | 7980 | / MINUS |
| 7982 | / PLUS2 | 7981 | / PLUS2 |
| 7983 | / PLUSPERCENT | 7982 | / PLUSPERCENT |
| 7984 | / MINUSPERCENT | 7983 | / MINUSPERCENT |
| 7985 | | 7984 | |
| 7986 | MultiplyOp | 7985 | MultiplyOp |
| 7987 | <- PIPE2 | 7986 | &lt;- PIPE2 |
| 7988 | / ASTERISK | 7987 | / ASTERISK |
| 7989 | / SLASH | 7988 | / SLASH |
| 7990 | / PERCENT | 7989 | / PERCENT |
| ... | @@ -7992,7 +7991,7 @@ MultiplyOp | ... | @@ -7992,7 +7991,7 @@ MultiplyOp |
| 7992 | / ASTERISKPERCENT | 7991 | / ASTERISKPERCENT |
| 7993 | | 7992 | |
| 7994 | PrefixOp | 7993 | PrefixOp |
| 7995 | <- EXCLAMATIONMARK | 7994 | &lt;- EXCLAMATIONMARK |
| 7996 | / MINUS | 7995 | / MINUS |
| 7997 | / TILDE | 7996 | / TILDE |
| 7998 | / MINUSPERCENT | 7997 | / MINUSPERCENT |
| ... | @@ -8001,77 +8000,77 @@ PrefixOp | ... | @@ -8001,77 +8000,77 @@ PrefixOp |
| 8001 | / KEYWORD_await | 8000 | / KEYWORD_await |
| 8002 | | 8001 | |
| 8003 | PrefixTypeOp | 8002 | PrefixTypeOp |
| 8004 | <- QUESTIONMARK | 8003 | &lt;- QUESTIONMARK |
| 8005 | / KEYWORD_promise MINUSRARROW | 8004 | / KEYWORD_promise MINUSRARROW |
| 8006 | / ArrayTypeStart (ByteAlign / KEYWORD_const / KEYWORD_volatile)* | 8005 | / ArrayTypeStart (ByteAlign / KEYWORD_const / KEYWORD_volatile)* |
| 8007 | / PtrTypeStart (KEYWORD_align LPAREN Expr (COLON INTEGER COLON INTEGER)? RPAREN / KEYWORD_const / KEYWORD_volatile)* | 8006 | / PtrTypeStart (KEYWORD_align LPAREN Expr (COLON INTEGER COLON INTEGER)? RPAREN / KEYWORD_const / KEYWORD_volatile)* |
| 8008 | | 8007 | |
| 8009 | SuffixOp | 8008 | SuffixOp |
| 8010 | <- LBRACKET Expr (DOT2 Expr?)? RBRACKET | 8009 | &lt;- LBRACKET Expr (DOT2 Expr?)? RBRACKET |
| 8011 | / DOT IDENTIFIER | 8010 | / DOT IDENTIFIER |
| 8012 | / DOTASTERISK | 8011 | / DOTASTERISK |
| 8013 | / DOTQUESTIONMARK | 8012 | / DOTQUESTIONMARK |
| 8014 | | 8013 | |
| 8015 | AsyncPrefix <- KEYWORD_async (LARROW PrefixExpr RARROW)? | 8014 | AsyncPrefix &lt;- KEYWORD_async (LARROW PrefixExpr RARROW)? |
| 8016 | | 8015 | |
| 8017 | FnCallArgumnets <- LPAREN ExprList RPAREN | 8016 | FnCallArgumnets &lt;- LPAREN ExprList RPAREN |
| 8018 | | 8017 | |
| 8019 | # Ptr specific | 8018 | # Ptr specific |
| 8020 | ArrayTypeStart <- LBRACKET Expr? RBRACKET | 8019 | ArrayTypeStart &lt;- LBRACKET Expr? RBRACKET |
| 8021 | | 8020 | |
| 8022 | PtrTypeStart | 8021 | PtrTypeStart |
| 8023 | <- ASTERISK | 8022 | &lt;- ASTERISK |
| 8024 | / ASTERISK2 | 8023 | / ASTERISK2 |
| 8025 | / LBRACKET ASTERISK RBRACKET | 8024 | / LBRACKET ASTERISK RBRACKET |
| 8026 | | 8025 | |
| 8027 | # ContainerDecl specific | 8026 | # ContainerDecl specific |
| 8028 | ContainerDeclAuto <- ContainerDeclType LBRACE ContainerMembers RBRACE | 8027 | ContainerDeclAuto &lt;- ContainerDeclType LBRACE ContainerMembers RBRACE |
| 8029 | | 8028 | |
| 8030 | ContainerDeclType | 8029 | ContainerDeclType |
| 8031 | <- (KEYWORD_struct / KEYWORD_enum) (LPAREN Expr RPAREN)? | 8030 | &lt;- (KEYWORD_struct / KEYWORD_enum) (LPAREN Expr RPAREN)? |
| 8032 | / KEYWORD_union (LPAREN (KEYWORD_enum (LPAREN Expr RPAREN)? / Expr) RPAREN)? | 8031 | / KEYWORD_union (LPAREN (KEYWORD_enum (LPAREN Expr RPAREN)? / Expr) RPAREN)? |
| 8033 | | 8032 | |
| 8034 | # Alignment | 8033 | # Alignment |
| 8035 | ByteAlign <- KEYWORD_align LPAREN Expr RPAREN | 8034 | ByteAlign &lt;- KEYWORD_align LPAREN Expr RPAREN |
| 8036 | | 8035 | |
| 8037 | # Lists | 8036 | # Lists |
| 8038 | IdentifierList <- (IDENTIFIER COMMA)* IDENTIFIER? | 8037 | IdentifierList &lt;- (IDENTIFIER COMMA)* IDENTIFIER? |
| 8039 | | 8038 | |
| 8040 | SwitchProngList <- (SwitchProng COMMA)* SwitchProng? | 8039 | SwitchProngList &lt;- (SwitchProng COMMA)* SwitchProng? |
| 8041 | | 8040 | |
| 8042 | AsmOutputList <- (AsmOutputItem COMMA)* AsmOutputItem? | 8041 | AsmOutputList &lt;- (AsmOutputItem COMMA)* AsmOutputItem? |
| 8043 | | 8042 | |
| 8044 | AsmInputList <- (AsmInputItem COMMA)* AsmInputItem? | 8043 | AsmInputList &lt;- (AsmInputItem COMMA)* AsmInputItem? |
| 8045 | | 8044 | |
| 8046 | StringList <- (STRINGLITERAL COMMA)* STRINGLITERAL? | 8045 | StringList &lt;- (STRINGLITERAL COMMA)* STRINGLITERAL? |
| 8047 | | 8046 | |
| 8048 | ParamDeclList <- (ParamDecl COMMA)* ParamDecl? | 8047 | ParamDeclList &lt;- (ParamDecl COMMA)* ParamDecl? |
| 8049 | | 8048 | |
| 8050 | ExprList <- (Expr COMMA)* Expr? | 8049 | ExprList &lt;- (Expr COMMA)* Expr? |
| 8051 | | 8050 | |
| 8052 | # *** Tokens *** | 8051 | # *** Tokens *** |
| 8053 | eof <- !. | 8052 | eof &lt;- !. |
| 8054 | hex <- [0-9a-fA-F] | 8053 | hex &lt;- [0-9a-fA-F] |
| 8055 | char_escape | 8054 | char_escape |
| 8056 | <- "\\x" hex hex | 8055 | &lt;- "\\x" hex hex |
| 8057 | / "\\u" hex hex hex hex | 8056 | / "\\u" hex hex hex hex |
| 8058 | / "\\U" hex hex hex hex hex hex | 8057 | / "\\U" hex hex hex hex hex hex |
| 8059 | / "\\" [nr\\t'"] | 8058 | / "\\" [nr\\t'"] |
| 8060 | char_char | 8059 | char_char |
| 8061 | <- char_escape | 8060 | &lt;- char_escape |
| 8062 | / [^\\'\n] | 8061 | / [^\\'\n] |
| 8063 | string_char | 8062 | string_char |
| 8064 | <- char_escape | 8063 | &lt;- char_escape |
| 8065 | / [^\\"\n] | 8064 | / [^\\"\n] |
| 8066 | | 8065 | |
| 8067 | line_comment <- '//'[^\n]* | 8066 | line_comment &lt;- '//'[^\n]* |
| 8068 | line_string <- ("\\\\" [^\n]* [ \n]*)+ | 8067 | line_string &lt;- ("\\\\" [^\n]* [ \n]*)+ |
| 8069 | line_cstring <- ("c\\\\" [^\n]* [ \n]*)+ | 8068 | line_cstring &lt;- ("c\\\\" [^\n]* [ \n]*)+ |
| 8070 | skip <- ([ \n] / line_comment)* | 8069 | skip &lt;- ([ \n] / line_comment)* |
| 8071 | | 8070 | |
| 8072 | CHAR_LITERAL <- "'" char_char "'" skip | 8071 | CHAR_LITERAL &lt;- "'" char_char "'" skip |
| 8073 | FLOAT | 8072 | FLOAT |
| 8074 | <- "0b" [01]+ "." [01]+ ([eE] [-+]? [01]+)? skip | 8073 | &lt;- "0b" [01]+ "." [01]+ ([eE] [-+]? [01]+)? skip |
| 8075 | / "0o" [0-7]+ "." [0-7]+ ([eE] [-+]? [0-7]+)? skip | 8074 | / "0o" [0-7]+ "." [0-7]+ ([eE] [-+]? [0-7]+)? skip |
| 8076 | / "0x" hex+ "." hex+ ([pP] [-+]? hex+)? skip | 8075 | / "0x" hex+ "." hex+ ([pP] [-+]? hex+)? skip |
| 8077 | / [0-9]+ "." [0-9]+ ([eE] [-+]? [0-9]+)? skip | 8076 | / [0-9]+ "." [0-9]+ ([eE] [-+]? [0-9]+)? skip |
| ... | @@ -8080,128 +8079,128 @@ FLOAT | ... | @@ -8080,128 +8079,128 @@ FLOAT |
| 8080 | / "0x" hex+ "."? [pP] [-+]? hex+ skip | 8079 | / "0x" hex+ "."? [pP] [-+]? hex+ skip |
| 8081 | / [0-9]+ "."? [eE] [-+]? [0-9]+ skip | 8080 | / [0-9]+ "."? [eE] [-+]? [0-9]+ skip |
| 8082 | INTEGER | 8081 | INTEGER |
| 8083 | <- "0b" [01]+ skip | 8082 | &lt;- "0b" [01]+ skip |
| 8084 | / "0o" [0-7]+ skip | 8083 | / "0o" [0-7]+ skip |
| 8085 | / "0x" hex+ skip | 8084 | / "0x" hex+ skip |
| 8086 | / [0-9]+ skip | 8085 | / [0-9]+ skip |
| 8087 | STRINGLITERAL | 8086 | STRINGLITERAL |
| 8088 | <- "c"? "\"" string_char* "\"" skip | 8087 | &lt;- "c"? "\"" string_char* "\"" skip |
| 8089 | / line_string skip | 8088 | / line_string skip |
| 8090 | / line_cstring skip | 8089 | / line_cstring skip |
| 8091 | IDENTIFIER | 8090 | IDENTIFIER |
| 8092 | <- !keyword ("c" !["\\] / [A-Zabd-z_]) [A-Za-z0-9_]* skip | 8091 | &lt;- !keyword ("c" !["\\] / [A-Zabd-z_]) [A-Za-z0-9_]* skip |
| 8093 | / "@\"" string_char* "\"" skip | 8092 | / "@\"" string_char* "\"" skip |
| 8094 | BUILTININDENTIFIER <- "@"[A-Za-z_][A-Za-z0-9_]* skip | 8093 | BUILTININDENTIFIER &lt;- "@"[A-Za-z_][A-Za-z0-9_]* skip |
| 8095 | | 8094 | |
| 8096 | | 8095 | |
| 8097 | AMPERSAND <- '&' ![=] skip | 8096 | AMPERSAND &lt;- '&' ![=] skip |
| 8098 | AMPERSANDEQUAL <- '&=' skip | 8097 | AMPERSANDEQUAL &lt;- '&=' skip |
| 8099 | ASTERISK <- '*' ![*%=] skip | 8098 | ASTERISK &lt;- '*' ![*%=] skip |
| 8100 | ASTERISK2 <- '**' skip | 8099 | ASTERISK2 &lt;- '**' skip |
| 8101 | ASTERISKEQUAL <- '*=' skip | 8100 | ASTERISKEQUAL &lt;- '*=' skip |
| 8102 | ASTERISKPERCENT <- '*%' ![=] skip | 8101 | ASTERISKPERCENT &lt;- '*%' ![=] skip |
| 8103 | ASTERISKPERCENTEQUAL <- '*%=' skip | 8102 | ASTERISKPERCENTEQUAL &lt;- '*%=' skip |
| 8104 | CARET <- '^' ![=] skip | 8103 | CARET &lt;- '^' ![=] skip |
| 8105 | CARETEQUAL <- '^=' skip | 8104 | CARETEQUAL &lt;- '^=' skip |
| 8106 | COLON <- ':' skip | 8105 | COLON &lt;- ':' skip |
| 8107 | COMMA <- ',' skip | 8106 | COMMA &lt;- ',' skip |
| 8108 | DOT <- '.' ![*.?] skip | 8107 | DOT &lt;- '.' ![*.?] skip |
| 8109 | DOT2 <- '..' ![.] skip | 8108 | DOT2 &lt;- '..' ![.] skip |
| 8110 | DOT3 <- '...' skip | 8109 | DOT3 &lt;- '...' skip |
| 8111 | DOTASTERISK <- '.*' skip | 8110 | DOTASTERISK &lt;- '.*' skip |
| 8112 | DOTQUESTIONMARK <- '.?' skip | 8111 | DOTQUESTIONMARK &lt;- '.?' skip |
| 8113 | EQUAL <- '=' ![>=] skip | 8112 | EQUAL &lt;- '=' ![>=] skip |
| 8114 | EQUALEQUAL <- '==' skip | 8113 | EQUALEQUAL &lt;- '==' skip |
| 8115 | EQUALRARROW <- '=>' skip | 8114 | EQUALRARROW &lt;- '=>' skip |
| 8116 | EXCLAMATIONMARK <- '!' ![=] skip | 8115 | EXCLAMATIONMARK &lt;- '!' ![=] skip |
| 8117 | EXCLAMATIONMARKEQUAL <- '!=' skip | 8116 | EXCLAMATIONMARKEQUAL &lt;- '!=' skip |
| 8118 | LARROW <- '<' ![<=] skip | 8117 | LARROW &lt;- '&lt;' ![&lt;=] skip |
| 8119 | LARROW2 <- '<<' ![=] skip | 8118 | LARROW2 &lt;- '&lt;&lt;' ![=] skip |
| 8120 | LARROW2EQUAL <- '<<=' skip | 8119 | LARROW2EQUAL &lt;- '&lt;&lt;=' skip |
| 8121 | LARROWEQUAL <- '<=' skip | 8120 | LARROWEQUAL &lt;- '&lt;=' skip |
| 8122 | LBRACE <- '{' skip | 8121 | LBRACE &lt;- '{' skip |
| 8123 | LBRACKET <- '[' skip | 8122 | LBRACKET &lt;- '[' skip |
| 8124 | LPAREN <- '(' skip | 8123 | LPAREN &lt;- '(' skip |
| 8125 | MINUS <- '-' ![%=>] skip | 8124 | MINUS &lt;- '-' ![%=>] skip |
| 8126 | MINUSEQUAL <- '-=' skip | 8125 | MINUSEQUAL &lt;- '-=' skip |
| 8127 | MINUSPERCENT <- '-%' ![=] skip | 8126 | MINUSPERCENT &lt;- '-%' ![=] skip |
| 8128 | MINUSPERCENTEQUAL <- '-%=' skip | 8127 | MINUSPERCENTEQUAL &lt;- '-%=' skip |
| 8129 | MINUSRARROW <- '->' skip | 8128 | MINUSRARROW &lt;- '->' skip |
| 8130 | PERCENT <- '%' ![=] skip | 8129 | PERCENT &lt;- '%' ![=] skip |
| 8131 | PERCENTEQUAL <- '%=' skip | 8130 | PERCENTEQUAL &lt;- '%=' skip |
| 8132 | PIPE <- '|' ![|=] skip | 8131 | PIPE &lt;- '|' ![|=] skip |
| 8133 | PIPE2 <- '||' skip | 8132 | PIPE2 &lt;- '||' skip |
| 8134 | PIPEEQUAL <- '|=' skip | 8133 | PIPEEQUAL &lt;- '|=' skip |
| 8135 | PLUS <- '+' ![%+=] skip | 8134 | PLUS &lt;- '+' ![%+=] skip |
| 8136 | PLUS2 <- '++' skip | 8135 | PLUS2 &lt;- '++' skip |
| 8137 | PLUSEQUAL <- '+=' skip | 8136 | PLUSEQUAL &lt;- '+=' skip |
| 8138 | PLUSPERCENT <- '+%' ![=] skip | 8137 | PLUSPERCENT &lt;- '+%' ![=] skip |
| 8139 | PLUSPERCENTEQUAL <- '+%=' skip | 8138 | PLUSPERCENTEQUAL &lt;- '+%=' skip |
| 8140 | QUESTIONMARK <- '?' skip | 8139 | QUESTIONMARK &lt;- '?' skip |
| 8141 | RARROW <- '>' ![>=] skip | 8140 | RARROW &lt;- '>' ![>=] skip |
| 8142 | RARROW2 <- '>>' ![=] skip | 8141 | RARROW2 &lt;- '>>' ![=] skip |
| 8143 | RARROW2EQUAL <- '>>=' skip | 8142 | RARROW2EQUAL &lt;- '>>=' skip |
| 8144 | RARROWEQUAL <- '>=' skip | 8143 | RARROWEQUAL &lt;- '>=' skip |
| 8145 | RBRACE <- '}' skip | 8144 | RBRACE &lt;- '}' skip |
| 8146 | RBRACKET <- ']' skip | 8145 | RBRACKET &lt;- ']' skip |
| 8147 | RPAREN <- ')' skip | 8146 | RPAREN &lt;- ')' skip |
| 8148 | SEMICOLON <- ';' skip | 8147 | SEMICOLON &lt;- ';' skip |
| 8149 | SLASH <- '/' ![=] skip | 8148 | SLASH &lt;- '/' ![=] skip |
| 8150 | SLASHEQUAL <- '/=' skip | 8149 | SLASHEQUAL &lt;- '/=' skip |
| 8151 | TILDE <- '~' skip | 8150 | TILDE &lt;- '~' skip |
| 8152 | | 8151 | |
| 8153 | end_of_word <- ![a-zA-Z0-9_] skip | 8152 | end_of_word &lt;- ![a-zA-Z0-9_] skip |
| 8154 | KEYWORD_align <- 'align' end_of_word | 8153 | KEYWORD_align &lt;- 'align' end_of_word |
| 8155 | KEYWORD_and <- 'and' end_of_word | 8154 | KEYWORD_and &lt;- 'and' end_of_word |
| 8156 | KEYWORD_anyerror <- 'anyerror' end_of_word | 8155 | KEYWORD_anyerror &lt;- 'anyerror' end_of_word |
| 8157 | KEYWORD_asm <- 'asm' end_of_word | 8156 | KEYWORD_asm &lt;- 'asm' end_of_word |
| 8158 | KEYWORD_async <- 'async' end_of_word | 8157 | KEYWORD_async &lt;- 'async' end_of_word |
| 8159 | KEYWORD_await <- 'await' end_of_word | 8158 | KEYWORD_await &lt;- 'await' end_of_word |
| 8160 | KEYWORD_break <- 'break' end_of_word | 8159 | KEYWORD_break &lt;- 'break' end_of_word |
| 8161 | KEYWORD_cancel <- 'cancel' end_of_word | 8160 | KEYWORD_cancel &lt;- 'cancel' end_of_word |
| 8162 | KEYWORD_catch <- 'catch' end_of_word | 8161 | KEYWORD_catch &lt;- 'catch' end_of_word |
| 8163 | KEYWORD_comptime <- 'comptime' end_of_word | 8162 | KEYWORD_comptime &lt;- 'comptime' end_of_word |
| 8164 | KEYWORD_const <- 'const' end_of_word | 8163 | KEYWORD_const &lt;- 'const' end_of_word |
| 8165 | KEYWORD_continue <- 'continue' end_of_word | 8164 | KEYWORD_continue &lt;- 'continue' end_of_word |
| 8166 | KEYWORD_defer <- 'defer' end_of_word | 8165 | KEYWORD_defer &lt;- 'defer' end_of_word |
| 8167 | KEYWORD_else <- 'else' end_of_word | 8166 | KEYWORD_else &lt;- 'else' end_of_word |
| 8168 | KEYWORD_enum <- 'enum' end_of_word | 8167 | KEYWORD_enum &lt;- 'enum' end_of_word |
| 8169 | KEYWORD_errdefer <- 'errdefer' end_of_word | 8168 | KEYWORD_errdefer &lt;- 'errdefer' end_of_word |
| 8170 | KEYWORD_error <- 'error' end_of_word | 8169 | KEYWORD_error &lt;- 'error' end_of_word |
| 8171 | KEYWORD_export <- 'export' end_of_word | 8170 | KEYWORD_export &lt;- 'export' end_of_word |
| 8172 | KEYWORD_extern <- 'extern' end_of_word | 8171 | KEYWORD_extern &lt;- 'extern' end_of_word |
| 8173 | KEYWORD_false <- 'false' end_of_word | 8172 | KEYWORD_false &lt;- 'false' end_of_word |
| 8174 | KEYWORD_fn <- 'fn' end_of_word | 8173 | KEYWORD_fn &lt;- 'fn' end_of_word |
| 8175 | KEYWORD_for <- 'for' end_of_word | 8174 | KEYWORD_for &lt;- 'for' end_of_word |
| 8176 | KEYWORD_if <- 'if' end_of_word | 8175 | KEYWORD_if &lt;- 'if' end_of_word |
| 8177 | KEYWORD_inline <- 'inline' end_of_word | 8176 | KEYWORD_inline &lt;- 'inline' end_of_word |
| 8178 | KEYWORD_nakedcc <- 'nakedcc' end_of_word | 8177 | KEYWORD_nakedcc &lt;- 'nakedcc' end_of_word |
| 8179 | KEYWORD_noalias <- 'noalias' end_of_word | 8178 | KEYWORD_noalias &lt;- 'noalias' end_of_word |
| 8180 | KEYWORD_null <- 'null' end_of_word | 8179 | KEYWORD_null &lt;- 'null' end_of_word |
| 8181 | KEYWORD_or <- 'or' end_of_word | 8180 | KEYWORD_or &lt;- 'or' end_of_word |
| 8182 | KEYWORD_orelse <- 'orelse' end_of_word | 8181 | KEYWORD_orelse &lt;- 'orelse' end_of_word |
| 8183 | KEYWORD_packed <- 'packed' end_of_word | 8182 | KEYWORD_packed &lt;- 'packed' end_of_word |
| 8184 | KEYWORD_promise <- 'promise' end_of_word | 8183 | KEYWORD_promise &lt;- 'promise' end_of_word |
| 8185 | KEYWORD_pub <- 'pub' end_of_word | 8184 | KEYWORD_pub &lt;- 'pub' end_of_word |
| 8186 | KEYWORD_resume <- 'resume' end_of_word | 8185 | KEYWORD_resume &lt;- 'resume' end_of_word |
| 8187 | KEYWORD_return <- 'return' end_of_word | 8186 | KEYWORD_return &lt;- 'return' end_of_word |
| 8188 | KEYWORD_section <- 'section' end_of_word | 8187 | KEYWORD_linksection &lt;- 'linksection' end_of_word |
| 8189 | KEYWORD_stdcallcc <- 'stdcallcc' end_of_word | 8188 | KEYWORD_stdcallcc &lt;- 'stdcallcc' end_of_word |
| 8190 | KEYWORD_struct <- 'struct' end_of_word | 8189 | KEYWORD_struct &lt;- 'struct' end_of_word |
| 8191 | KEYWORD_suspend <- 'suspend' end_of_word | 8190 | KEYWORD_suspend &lt;- 'suspend' end_of_word |
| 8192 | KEYWORD_switch <- 'switch' end_of_word | 8191 | KEYWORD_switch &lt;- 'switch' end_of_word |
| 8193 | KEYWORD_test <- 'test' end_of_word | 8192 | KEYWORD_test &lt;- 'test' end_of_word |
| 8194 | KEYWORD_true <- 'true' end_of_word | 8193 | KEYWORD_true &lt;- 'true' end_of_word |
| 8195 | KEYWORD_try <- 'try' end_of_word | 8194 | KEYWORD_try &lt;- 'try' end_of_word |
| 8196 | KEYWORD_undefined <- 'undefined' end_of_word | 8195 | KEYWORD_undefined &lt;- 'undefined' end_of_word |
| 8197 | KEYWORD_union <- 'union' end_of_word | 8196 | KEYWORD_union &lt;- 'union' end_of_word |
| 8198 | KEYWORD_unreachable <- 'unreachable' end_of_word | 8197 | KEYWORD_unreachable &lt;- 'unreachable' end_of_word |
| 8199 | KEYWORD_use <- 'use' end_of_word | 8198 | KEYWORD_use &lt;- 'use' end_of_word |
| 8200 | KEYWORD_var <- 'var' end_of_word | 8199 | KEYWORD_var &lt;- 'var' end_of_word |
| 8201 | KEYWORD_volatile <- 'volatile' end_of_word | 8200 | KEYWORD_volatile &lt;- 'volatile' end_of_word |
| 8202 | KEYWORD_while <- 'while' end_of_word | 8201 | KEYWORD_while &lt;- 'while' end_of_word |
| 8203 | | 8202 | |
| 8204 | keyword <- KEYWORD_align / KEYWORD_and / KEYWORD_anyerror / KEYWORD_asm | 8203 | keyword &lt;- KEYWORD_align / KEYWORD_and / KEYWORD_anyerror / KEYWORD_asm |
| 8205 | / KEYWORD_async / KEYWORD_await / KEYWORD_break / KEYWORD_cancel | 8204 | / KEYWORD_async / KEYWORD_await / KEYWORD_break / KEYWORD_cancel |
| 8206 | / KEYWORD_catch / KEYWORD_comptime / KEYWORD_const / KEYWORD_continue | 8205 | / KEYWORD_catch / KEYWORD_comptime / KEYWORD_const / KEYWORD_continue |
| 8207 | / KEYWORD_defer / KEYWORD_else / KEYWORD_enum / KEYWORD_errdefer | 8206 | / KEYWORD_defer / KEYWORD_else / KEYWORD_enum / KEYWORD_errdefer |
| ... | @@ -8209,12 +8208,11 @@ keyword <- KEYWORD_align / KEYWORD_and / KEYWORD_anyerror / KEYWORD_asm | ... | @@ -8209,12 +8208,11 @@ keyword <- KEYWORD_align / KEYWORD_and / KEYWORD_anyerror / KEYWORD_asm |
| 8209 | / KEYWORD_fn / KEYWORD_for / KEYWORD_if / KEYWORD_inline | 8208 | / KEYWORD_fn / KEYWORD_for / KEYWORD_if / KEYWORD_inline |
| 8210 | / KEYWORD_nakedcc / KEYWORD_noalias / KEYWORD_null / KEYWORD_or | 8209 | / KEYWORD_nakedcc / KEYWORD_noalias / KEYWORD_null / KEYWORD_or |
| 8211 | / KEYWORD_orelse / KEYWORD_packed / KEYWORD_promise / KEYWORD_pub | 8210 | / KEYWORD_orelse / KEYWORD_packed / KEYWORD_promise / KEYWORD_pub |
| 8212 | / KEYWORD_resume / KEYWORD_return / KEYWORD_section | 8211 | / KEYWORD_resume / KEYWORD_return / KEYWORD_linksection |
| 8213 | / KEYWORD_stdcallcc / KEYWORD_struct / KEYWORD_suspend | 8212 | / KEYWORD_stdcallcc / KEYWORD_struct / KEYWORD_suspend |
| 8214 | / KEYWORD_switch / KEYWORD_test / KEYWORD_true / KEYWORD_try | 8213 | / KEYWORD_switch / KEYWORD_test / KEYWORD_true / KEYWORD_try |
| 8215 | / KEYWORD_undefined / KEYWORD_union / KEYWORD_unreachable | 8214 | / KEYWORD_undefined / KEYWORD_union / KEYWORD_unreachable |
| 8216 | / KEYWORD_use / KEYWORD_var / KEYWORD_volatile / KEYWORD_while | 8215 | / KEYWORD_use / KEYWORD_var / KEYWORD_volatile / KEYWORD_while</code></pre> |
| 8217 | </code></pre> | | |
| 8218 | {#header_close#} | 8216 | {#header_close#} |
| 8219 | {#header_open|Zen#} | 8217 | {#header_open|Zen#} |
| 8220 | <ul> | 8218 | <ul> |