{ "$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json", "name": "zig", "word": "_identifier", "rules": { "source_file": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_container_members" }, { "type": "BLANK" } ] }, "_container_members": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "test_declaration" }, { "type": "SYMBOL", "name": "comptime_declaration" }, { "type": "SYMBOL", "name": "variable_declaration" }, { "type": "SYMBOL", "name": "function_declaration" }, { "type": "SYMBOL", "name": "using_namespace_declaration" }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "container_field" }, { "type": "STRING", "value": "," } ] } ] } }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "container_field" }, { "type": "BLANK" } ] } ] }, { "type": "SYMBOL", "name": "container_field" } ] }, "test_declaration": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "pub" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "test" }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "string" }, { "type": "SYMBOL", "name": "identifier" } ] }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "block" } ] }, "comptime_declaration": { "type": "PREC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "pub" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "comptime" }, { "type": "SYMBOL", "name": "block" } ] } }, "container_field": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "PREC_DYNAMIC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "comptime" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "SYMBOL", "name": "_reserved_identifier" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "builtin_type" }, "named": true, "value": "identifier" } ] } }, { "type": "STRING", "value": ":" }, { "type": "FIELD", "name": "type", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "primary_type_expression" }, { "type": "SYMBOL", "name": "if_type_expression" }, { "type": "SYMBOL", "name": "comptime_type_expression" } ] } } ] }, { "type": "FIELD", "name": "name", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "primary_type_expression" }, { "type": "SYMBOL", "name": "if_type_expression" }, { "type": "SYMBOL", "name": "comptime_type_expression" } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "byte_alignment" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "=" }, { "type": "SYMBOL", "name": "expression" } ] }, { "type": "BLANK" } ] } ] } } }, "variable_declaration": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "pub" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "export" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "extern" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "string" }, { "type": "BLANK" } ] } ] } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "threadlocal" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "_variable_declaration_header" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "=" }, { "type": "SYMBOL", "name": "expression" } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ";" } ] }, "_variable_declaration_expression_statement": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_variable_declaration_header" }, { "type": "REPEAT", "content": { "type": "PREC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_variable_declaration_header" }, { "type": "SYMBOL", "name": "expression" } ] } ] } } }, { "type": "STRING", "value": "=" }, { "type": "SYMBOL", "name": "expression" }, { "type": "STRING", "value": ";" } ] }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "=" }, { "type": "STRING", "value": "*=" }, { "type": "STRING", "value": "*%=" }, { "type": "STRING", "value": "*|=" }, { "type": "STRING", "value": "/=" }, { "type": "STRING", "value": "%=" }, { "type": "STRING", "value": "+=" }, { "type": "STRING", "value": "+%=" }, { "type": "STRING", "value": "+|=" }, { "type": "STRING", "value": "-=" }, { "type": "STRING", "value": "-%=" }, { "type": "STRING", "value": "-|=" }, { "type": "STRING", "value": "<<=" }, { "type": "STRING", "value": "<<|=" }, { "type": "STRING", "value": ">>=" }, { "type": "STRING", "value": "&=" }, { "type": "STRING", "value": "^=" }, { "type": "STRING", "value": "|=" } ] }, { "type": "SYMBOL", "name": "expression" } ] }, { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "PREC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_variable_declaration_header" }, { "type": "SYMBOL", "name": "expression" } ] } ] } } }, { "type": "STRING", "value": "=" }, { "type": "SYMBOL", "name": "expression" } ] } ] }, { "type": "STRING", "value": ";" } ] } ] }, "_variable_declaration_header": { "type": "PREC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "const" }, { "type": "STRING", "value": "var" } ] }, { "type": "SYMBOL", "name": "identifier" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": ":" }, { "type": "FIELD", "name": "type", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "type_expression" }, { "type": "SYMBOL", "name": "if_type_expression" }, { "type": "SYMBOL", "name": "comptime_type_expression" } ] } } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "byte_alignment" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "address_space" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "link_section" }, { "type": "BLANK" } ] } ] } }, "function_declaration": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "pub" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "export" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "extern" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "string" }, { "type": "BLANK" } ] } ] }, { "type": "STRING", "value": "inline" }, { "type": "STRING", "value": "noinline" } ] }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "_function_prototype" }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": ";" }, { "type": "FIELD", "name": "body", "content": { "type": "SYMBOL", "name": "block" } } ] } ] }, "_function_prototype": { "type": "SEQ", "members": [ { "type": "STRING", "value": "fn" }, { "type": "CHOICE", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "identifier" } }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "parameters" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "byte_alignment" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "address_space" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "link_section" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "calling_convention" }, { "type": "BLANK" } ] }, { "type": "FIELD", "name": "type", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "type_expression" }, { "type": "SYMBOL", "name": "if_type_expression" }, { "type": "SYMBOL", "name": "comptime_type_expression" } ] } } ] }, "parameters": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "parameter" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "parameter" } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" } ] }, "parameter": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "noalias" }, { "type": "STRING", "value": "comptime" } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "builtin_type" }, "named": true, "value": "identifier" } ] } }, { "type": "STRING", "value": ":" } ] }, { "type": "BLANK" } ] }, { "type": "FIELD", "name": "type", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "type_expression" }, { "type": "SYMBOL", "name": "if_type_expression" }, { "type": "SYMBOL", "name": "comptime_type_expression" } ] } } ] }, { "type": "STRING", "value": "..." } ] }, "using_namespace_declaration": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "pub" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "usingnamespace" }, { "type": "SYMBOL", "name": "expression" }, { "type": "STRING", "value": ";" } ] }, "block": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{" }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "statement" } }, { "type": "STRING", "value": "}" } ] }, "struct_declaration": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "extern" }, { "type": "STRING", "value": "packed" } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "struct" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "SYMBOL", "name": "expression" }, { "type": "STRING", "value": ")" } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "{" }, { "type": "SYMBOL", "name": "_container_members" }, { "type": "STRING", "value": "}" } ] }, "opaque_declaration": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "extern" }, { "type": "STRING", "value": "packed" } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "opaque" }, { "type": "STRING", "value": "{" }, { "type": "SYMBOL", "name": "_container_members" }, { "type": "STRING", "value": "}" } ] }, "enum_declaration": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "extern" }, { "type": "STRING", "value": "packed" } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "enum" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "SYMBOL", "name": "expression" }, { "type": "STRING", "value": ")" } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "{" }, { "type": "SYMBOL", "name": "_container_members" }, { "type": "STRING", "value": "}" } ] }, "union_declaration": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "extern" }, { "type": "STRING", "value": "packed" } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "union" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "enum" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "SYMBOL", "name": "expression" }, { "type": "STRING", "value": ")" } ] }, { "type": "BLANK" } ] } ] }, { "type": "SYMBOL", "name": "expression" } ] }, { "type": "STRING", "value": ")" } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "{" }, { "type": "SYMBOL", "name": "_container_members" }, { "type": "STRING", "value": "}" } ] }, "error_set_declaration": { "type": "SEQ", "members": [ { "type": "STRING", "value": "error" }, { "type": "STRING", "value": "{" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "identifier" } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "}" } ] }, "statement": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "comptime_statement" }, { "type": "SYMBOL", "name": "nosuspend_statement" }, { "type": "SYMBOL", "name": "suspend_statement" }, { "type": "SYMBOL", "name": "defer_statement" }, { "type": "SYMBOL", "name": "errdefer_statement" }, { "type": "SYMBOL", "name": "expression_statement" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_variable_declaration_expression_statement" }, "named": true, "value": "variable_declaration" }, { "type": "SYMBOL", "name": "if_statement" }, { "type": "SYMBOL", "name": "for_statement" }, { "type": "SYMBOL", "name": "while_statement" }, { "type": "SYMBOL", "name": "labeled_statement" }, { "type": "PREC", "value": 1, "content": { "type": "SYMBOL", "name": "switch_expression" } } ] }, "comptime_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "comptime" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_block_expr_statement" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_variable_declaration_expression_statement" }, "named": true, "value": "variable_declaration" } ] } ] }, "nosuspend_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "nosuspend" }, { "type": "SYMBOL", "name": "_block_expr_statement" } ] }, "suspend_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "suspend" }, { "type": "SYMBOL", "name": "_block_expr_statement" } ] }, "defer_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "defer" }, { "type": "SYMBOL", "name": "_block_expr_statement" } ] }, "errdefer_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "errdefer" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "payload" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "_block_expr_statement" } ] }, "_block_expr_statement": { "type": "PREC", "value": 1, "content": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "block_label" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "block" } ] }, { "type": "SYMBOL", "name": "expression_statement" } ] } }, "block_expression": { "type": "PREC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "block_label" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "block" } ] } }, "labeled_statement": { "type": "PREC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "block_label" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "block" }, { "type": "SYMBOL", "name": "for_statement" }, { "type": "SYMBOL", "name": "while_statement" } ] } ] } }, "expression_statement": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "STRING", "value": ";" } ] }, "if_statement": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_if_prefix" }, { "type": "SYMBOL", "name": "_conditional_body" } ] }, "_if_prefix": { "type": "SEQ", "members": [ { "type": "STRING", "value": "if" }, { "type": "STRING", "value": "(" }, { "type": "FIELD", "name": "condition", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": ")" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "payload" }, { "type": "BLANK" } ] } ] }, "else_clause": { "type": "SEQ", "members": [ { "type": "STRING", "value": "else" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "payload" }, { "type": "BLANK" } ] }, { "type": "FIELD", "name": "alternative", "content": { "type": "SYMBOL", "name": "statement" } } ] }, "for_statement": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "inline" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "_for_prefix" }, { "type": "SYMBOL", "name": "_conditional_body" } ] }, "_for_prefix": { "type": "SEQ", "members": [ { "type": "STRING", "value": "for" }, { "type": "STRING", "value": "(" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": ".." }, { "type": "SYMBOL", "name": "expression" } ] }, { "type": "BLANK" } ] } ] }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": ".." }, { "type": "SYMBOL", "name": "expression" } ] }, { "type": "BLANK" } ] } ] } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" }, { "type": "SYMBOL", "name": "payload" } ] }, "while_statement": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "inline" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "_while_prefix" }, { "type": "SYMBOL", "name": "_conditional_body" } ] }, "_while_prefix": { "type": "SEQ", "members": [ { "type": "STRING", "value": "while" }, { "type": "STRING", "value": "(" }, { "type": "FIELD", "name": "condition", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": ")" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "payload" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": ":" }, { "type": "STRING", "value": "(" }, { "type": "SYMBOL", "name": "expression" }, { "type": "STRING", "value": ")" } ] }, { "type": "BLANK" } ] } ] }, "_conditional_body": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "body", "content": { "type": "SYMBOL", "name": "block_expression" } }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "else_clause" }, { "type": "BLANK" } ] } ] }, { "type": "SEQ", "members": [ { "type": "FIELD", "name": "body", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": ";" }, { "type": "SYMBOL", "name": "else_clause" } ] } ] } ] }, "payload": { "type": "SEQ", "members": [ { "type": "STRING", "value": "|" }, { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "*" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "identifier" } ] }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "*" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "identifier" } ] } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] } ] }, { "type": "STRING", "value": "|" } ] }, "byte_alignment": { "type": "SEQ", "members": [ { "type": "STRING", "value": "align" }, { "type": "STRING", "value": "(" }, { "type": "SYMBOL", "name": "expression" }, { "type": "STRING", "value": ")" } ] }, "address_space": { "type": "SEQ", "members": [ { "type": "STRING", "value": "addrspace" }, { "type": "STRING", "value": "(" }, { "type": "SYMBOL", "name": "expression" }, { "type": "STRING", "value": ")" } ] }, "link_section": { "type": "SEQ", "members": [ { "type": "STRING", "value": "linksection" }, { "type": "STRING", "value": "(" }, { "type": "SYMBOL", "name": "expression" }, { "type": "STRING", "value": ")" } ] }, "calling_convention": { "type": "SEQ", "members": [ { "type": "STRING", "value": "callconv" }, { "type": "STRING", "value": "(" }, { "type": "SYMBOL", "name": "expression" }, { "type": "STRING", "value": ")" } ] }, "expression": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "asm_expression" }, { "type": "SYMBOL", "name": "if_expression" }, { "type": "SYMBOL", "name": "for_expression" }, { "type": "SYMBOL", "name": "while_expression" }, { "type": "SYMBOL", "name": "assignment_expression" }, { "type": "SYMBOL", "name": "unary_expression" }, { "type": "SYMBOL", "name": "binary_expression" }, { "type": "SYMBOL", "name": "comptime_expression" }, { "type": "SYMBOL", "name": "async_expression" }, { "type": "SYMBOL", "name": "await_expression" }, { "type": "SYMBOL", "name": "nosuspend_expression" }, { "type": "SYMBOL", "name": "continue_expression" }, { "type": "SYMBOL", "name": "resume_expression" }, { "type": "SYMBOL", "name": "return_expression" }, { "type": "SYMBOL", "name": "break_expression" }, { "type": "SYMBOL", "name": "try_expression" }, { "type": "SYMBOL", "name": "catch_expression" }, { "type": "SYMBOL", "name": "type_expression" }, { "type": "SYMBOL", "name": "block" } ] } }, "asm_expression": { "type": "SEQ", "members": [ { "type": "STRING", "value": "asm" }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "volatile" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "(" }, { "type": "SYMBOL", "name": "expression" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "asm_output" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" } ] }, "asm_output": { "type": "SEQ", "members": [ { "type": "STRING", "value": ":" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "asm_output_item" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "asm_output_item" } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "asm_input" }, { "type": "BLANK" } ] } ] }, "asm_output_item": { "type": "SEQ", "members": [ { "type": "STRING", "value": "[" }, { "type": "SYMBOL", "name": "identifier" }, { "type": "STRING", "value": "]" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "string" }, { "type": "SYMBOL", "name": "multiline_string" } ] }, { "type": "STRING", "value": "(" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "->" }, { "type": "SYMBOL", "name": "type_expression" } ] }, { "type": "SYMBOL", "name": "identifier" } ] }, { "type": "STRING", "value": ")" } ] }, "asm_input": { "type": "SEQ", "members": [ { "type": "STRING", "value": ":" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "asm_input_item" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "asm_input_item" } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "asm_clobbers" }, { "type": "BLANK" } ] } ] }, "asm_input_item": { "type": "SEQ", "members": [ { "type": "STRING", "value": "[" }, { "type": "SYMBOL", "name": "identifier" }, { "type": "STRING", "value": "]" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "string" }, { "type": "SYMBOL", "name": "multiline_string" } ] }, { "type": "STRING", "value": "(" }, { "type": "SYMBOL", "name": "expression" }, { "type": "STRING", "value": ")" } ] }, "asm_clobbers": { "type": "SEQ", "members": [ { "type": "STRING", "value": ":" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "string" }, { "type": "SYMBOL", "name": "multiline_string" } ] }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "string" }, { "type": "SYMBOL", "name": "multiline_string" } ] } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] } ] }, { "type": "BLANK" } ] } ] }, "if_expression": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_if_prefix" }, { "type": "SYMBOL", "name": "expression" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "else" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "payload" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "expression" } ] }, { "type": "BLANK" } ] } ] } }, "for_expression": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "block_label" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "inline" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "_for_prefix" }, { "type": "SYMBOL", "name": "expression" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "else" }, { "type": "SYMBOL", "name": "expression" } ] }, { "type": "BLANK" } ] } ] } }, "while_expression": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "block_label" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "inline" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "_while_prefix" }, { "type": "SYMBOL", "name": "expression" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "else" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "payload" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "expression" } ] }, { "type": "BLANK" } ] } ] } }, "assignment_expression": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "CHOICE", "members": [ { "type": "STRING", "value": "=" }, { "type": "STRING", "value": "*=" }, { "type": "STRING", "value": "*%=" }, { "type": "STRING", "value": "*|=" }, { "type": "STRING", "value": "/=" }, { "type": "STRING", "value": "%=" }, { "type": "STRING", "value": "+=" }, { "type": "STRING", "value": "+%=" }, { "type": "STRING", "value": "+|=" }, { "type": "STRING", "value": "-=" }, { "type": "STRING", "value": "-%=" }, { "type": "STRING", "value": "-|=" }, { "type": "STRING", "value": "<<=" }, { "type": "STRING", "value": "<<|=" }, { "type": "STRING", "value": ">>=" }, { "type": "STRING", "value": "&=" }, { "type": "STRING", "value": "^=" }, { "type": "STRING", "value": "|=" } ] } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, "unary_expression": { "type": "PREC_LEFT", "value": 8, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "operator", "content": { "type": "CHOICE", "members": [ { "type": "STRING", "value": "!" }, { "type": "STRING", "value": "~" }, { "type": "STRING", "value": "-" }, { "type": "STRING", "value": "-%" }, { "type": "STRING", "value": "&" } ] } }, { "type": "FIELD", "name": "argument", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, "binary_expression": { "type": "CHOICE", "members": [ { "type": "PREC_LEFT", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "or" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 2, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "and" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 3, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "==" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 3, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "!=" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 3, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": ">" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 3, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": ">=" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 3, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "<=" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 3, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "<" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 4, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "&" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 4, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "^" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 4, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "|" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 4, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "orelse" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 5, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "<<" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 5, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": ">>" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 5, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "<<|" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 6, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "+" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 6, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "-" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 6, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "++" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 6, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "+%" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 6, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "-%" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 6, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "+|" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 6, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "-|" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 7, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "*" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 7, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "/" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 7, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "%" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 7, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "**" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 7, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "*%" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 7, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "*|" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "PREC_LEFT", "value": 7, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "FIELD", "name": "operator", "content": { "type": "STRING", "value": "||" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } } ] } } ] }, "comptime_expression": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "comptime" }, { "type": "SYMBOL", "name": "expression" } ] } }, "async_expression": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "async" }, { "type": "SYMBOL", "name": "expression" } ] } }, "await_expression": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "await" }, { "type": "SYMBOL", "name": "expression" } ] } }, "nosuspend_expression": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "nosuspend" }, { "type": "SYMBOL", "name": "expression" } ] } }, "continue_expression": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "continue" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "break_label" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "BLANK" } ] } ] } }, "resume_expression": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "resume" }, { "type": "SYMBOL", "name": "expression" } ] } }, "return_expression": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "return" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "BLANK" } ] } ] } }, "break_expression": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "break" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "break_label" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "BLANK" } ] } ] } }, "try_expression": { "type": "PREC_RIGHT", "value": 4, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "try" }, { "type": "SYMBOL", "name": "expression" } ] } }, "catch_expression": { "type": "PREC_RIGHT", "value": 4, "content": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "STRING", "value": "catch" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "payload" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "expression" } ] } }, "switch_expression": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "block_label" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "switch" }, { "type": "STRING", "value": "(" }, { "type": "SYMBOL", "name": "expression" }, { "type": "STRING", "value": ")" }, { "type": "STRING", "value": "{" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "switch_case" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "switch_case" } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "}" } ] }, "switch_case": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_switch_case_exp" }, { "type": "STRING", "value": "=>" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "payload" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "expression" } ] } ] }, "_switch_case_exp": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "inline" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "..." }, { "type": "SYMBOL", "name": "expression" } ] }, { "type": "BLANK" } ] } ] }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "..." }, { "type": "SYMBOL", "name": "expression" } ] }, { "type": "BLANK" } ] } ] } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] } ] }, { "type": "STRING", "value": "else" } ] } ] }, "type_expression": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "anonymous_struct_initializer" }, { "type": "SYMBOL", "name": "struct_initializer" }, { "type": "SYMBOL", "name": "labeled_type_expression" }, { "type": "SYMBOL", "name": "error_set_declaration" }, { "type": "SYMBOL", "name": "parenthesized_expression" }, { "type": "SYMBOL", "name": "primary_type_expression" } ] } }, "primary_type_expression": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "nullable_type" }, { "type": "SYMBOL", "name": "anyframe_type" }, { "type": "SYMBOL", "name": "slice_type" }, { "type": "SYMBOL", "name": "pointer_type" }, { "type": "SYMBOL", "name": "array_type" }, { "type": "SYMBOL", "name": "error_union_type" }, { "type": "SYMBOL", "name": "builtin_function" }, { "type": "SYMBOL", "name": "character" }, { "type": "SYMBOL", "name": "field_expression" }, { "type": "SYMBOL", "name": "index_expression" }, { "type": "SYMBOL", "name": "dereference_expression" }, { "type": "SYMBOL", "name": "null_coercion_expression" }, { "type": "SYMBOL", "name": "range_expression" }, { "type": "SYMBOL", "name": "call_expression" }, { "type": "PREC_RIGHT", "value": 0, "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_function_prototype" }, "named": true, "value": "function_signature" } }, { "type": "SYMBOL", "name": "identifier" }, { "type": "SYMBOL", "name": "float" }, { "type": "SYMBOL", "name": "integer" }, { "type": "SYMBOL", "name": "boolean" }, { "type": "SYMBOL", "name": "error_type" }, { "type": "STRING", "value": "anyframe" }, { "type": "STRING", "value": "unreachable" }, { "type": "STRING", "value": "undefined" }, { "type": "STRING", "value": "null" }, { "type": "SYMBOL", "name": "string" }, { "type": "SYMBOL", "name": "multiline_string" }, { "type": "SYMBOL", "name": "builtin_type" }, { "type": "SYMBOL", "name": "struct_declaration" }, { "type": "SYMBOL", "name": "opaque_declaration" }, { "type": "SYMBOL", "name": "enum_declaration" }, { "type": "SYMBOL", "name": "union_declaration" }, { "type": "SYMBOL", "name": "switch_expression" } ] }, "nullable_type": { "type": "PREC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "?" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "type_expression" }, { "type": "SYMBOL", "name": "if_type_expression" }, { "type": "SYMBOL", "name": "comptime_type_expression" } ] } ] } }, "anyframe_type": { "type": "PREC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "anyframe" }, { "type": "STRING", "value": "->" }, { "type": "SYMBOL", "name": "type_expression" } ] } }, "slice_type": { "type": "PREC_RIGHT", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "[" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": ":" }, { "type": "FIELD", "name": "sentinel", "content": { "type": "SYMBOL", "name": "expression" } } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "]" }, { "type": "REPEAT", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "byte_alignment" }, { "type": "SYMBOL", "name": "address_space" }, { "type": "STRING", "value": "const" }, { "type": "STRING", "value": "volatile" }, { "type": "STRING", "value": "allowzero" } ] } }, { "type": "SYMBOL", "name": "type_expression" } ] } }, "pointer_type": { "type": "PREC_RIGHT", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "*" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "[" }, { "type": "STRING", "value": "*" }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "c" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": ":" }, { "type": "SYMBOL", "name": "expression" } ] } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "]" } ] } ] }, { "type": "REPEAT", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "address_space" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "align" }, { "type": "STRING", "value": "(" }, { "type": "SYMBOL", "name": "expression" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": ":" }, { "type": "SYMBOL", "name": "expression" }, { "type": "STRING", "value": ":" }, { "type": "SYMBOL", "name": "expression" } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" } ] }, { "type": "STRING", "value": "const" }, { "type": "STRING", "value": "volatile" }, { "type": "STRING", "value": "allowzero" } ] } }, { "type": "SYMBOL", "name": "type_expression" } ] } }, "array_type": { "type": "PREC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "[" }, { "type": "SYMBOL", "name": "expression" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": ":" }, { "type": "SYMBOL", "name": "expression" } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "]" }, { "type": "SYMBOL", "name": "type_expression" } ] } }, "error_union_type": { "type": "PREC_RIGHT", "value": 2, "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "FIELD", "name": "error", "content": { "type": "SYMBOL", "name": "type_expression" } }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "!" }, { "type": "FIELD", "name": "ok", "content": { "type": "SYMBOL", "name": "type_expression" } } ] } }, "field_expression": { "type": "PREC", "value": 10, "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "FIELD", "name": "object", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "." }, { "type": "FIELD", "name": "member", "content": { "type": "SYMBOL", "name": "identifier" } } ] } }, "index_expression": { "type": "PREC", "value": 10, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "object", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "[" }, { "type": "FIELD", "name": "index", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": ":" }, { "type": "FIELD", "name": "sentinel", "content": { "type": "SYMBOL", "name": "expression" } } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "]" } ] } }, "dereference_expression": { "type": "PREC", "value": 10, "content": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "STRING", "value": ".*" } ] } }, "null_coercion_expression": { "type": "PREC", "value": 10, "content": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "STRING", "value": ".?" } ] } }, "range_expression": { "type": "PREC_RIGHT", "value": 10, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": ".." }, { "type": "CHOICE", "members": [ { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "BLANK" } ] } ] } }, "call_expression": { "type": "PREC", "value": 10, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "function", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": "(" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "expression" } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" } ] } }, "anonymous_struct_initializer": { "type": "SEQ", "members": [ { "type": "STRING", "value": "." }, { "type": "SYMBOL", "name": "initializer_list" } ] }, "struct_initializer": { "type": "PREC", "value": -1, "content": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "primary_type_expression" }, { "type": "SYMBOL", "name": "initializer_list" } ] } }, "initializer_list": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{" }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "field_initializer" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "field_initializer" } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "expression" } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] } ] }, { "type": "BLANK" } ] } ] }, { "type": "STRING", "value": "}" } ] }, "field_initializer": { "type": "SEQ", "members": [ { "type": "STRING", "value": "." }, { "type": "SYMBOL", "name": "identifier" }, { "type": "STRING", "value": "=" }, { "type": "SYMBOL", "name": "expression" } ] }, "labeled_type_expression": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "block_label" }, { "type": "SYMBOL", "name": "block" } ] }, "comptime_type_expression": { "type": "SEQ", "members": [ { "type": "STRING", "value": "comptime" }, { "type": "SYMBOL", "name": "type_expression" } ] }, "if_type_expression": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_if_prefix" }, { "type": "SYMBOL", "name": "type_expression" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "else" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "payload" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "type_expression" } ] }, { "type": "BLANK" } ] } ] } }, "parenthesized_expression": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "SYMBOL", "name": "expression" }, { "type": "STRING", "value": ")" } ] }, "block_label": { "type": "PREC", "value": -1, "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "builtin_type" }, "named": true, "value": "identifier" } ] }, { "type": "STRING", "value": ":" } ] } }, "break_label": { "type": "SEQ", "members": [ { "type": "STRING", "value": ":" }, { "type": "SYMBOL", "name": "identifier" } ] }, "arguments": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "expression" } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" } ] }, "builtin_function": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "builtin_identifier" }, { "type": "SYMBOL", "name": "arguments" } ] }, "string": { "type": "SEQ", "members": [ { "type": "STRING", "value": "\"" }, { "type": "REPEAT", "content": { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "IMMEDIATE_TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "PATTERN", "value": "[^\\\\\"\\n]+" } } }, "named": true, "value": "string_content" }, { "type": "SYMBOL", "name": "escape_sequence" } ] } }, { "type": "STRING", "value": "\"" } ] }, "multiline_string": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "REPEAT1", "content": { "type": "TOKEN", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "\\\\" }, { "type": "PATTERN", "value": "[^\\n]*" } ] } } } }, "escape_sequence": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "\\" }, { "type": "CHOICE", "members": [ { "type": "PATTERN", "value": "[^xuU]" }, { "type": "PATTERN", "value": "\\d{2,3}" }, { "type": "PATTERN", "value": "x[0-9a-fA-F]{2,}" }, { "type": "PATTERN", "value": "u\\{[0-9a-fA-F]{1,6}\\}" } ] } ] } } }, "character": { "type": "SEQ", "members": [ { "type": "STRING", "value": "'" }, { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "PATTERN", "value": "[^'\\n]" }, "named": true, "value": "character_content" }, { "type": "SYMBOL", "name": "escape_sequence" } ] }, { "type": "STRING", "value": "'" } ] }, "integer": { "type": "TOKEN", "content": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "0x" }, { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-9A-Fa-f]" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "_" }, { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-9A-Fa-f]" } } ] } } ] } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "0o" }, { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-7]" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "_" }, { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-7]" } } ] } } ] } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "0b" }, { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-1]" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "_" }, { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-1]" } } ] } } ] } ] }, { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-9]" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "_" }, { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-9]" } } ] } } ] } ] } }, "float": { "type": "TOKEN", "content": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "0x" }, { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-9A-Fa-f]" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "_" }, { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-9A-Fa-f]" } } ] } } ] }, { "type": "STRING", "value": "." }, { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-9A-Fa-f]" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "_" }, { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-9A-Fa-f]" } } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[pP][+-]?" }, { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-9]" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "_" }, { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-9]" } } ] } } ] } ] }, { "type": "BLANK" } ] } ] }, { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-9]" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "_" }, { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-9]" } } ] } } ] }, { "type": "STRING", "value": "." }, { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-9]" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "_" }, { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-9]" } } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[eE][+-]?" }, { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-9]" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "_" }, { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-9]" } } ] } } ] } ] }, { "type": "BLANK" } ] } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "0x" }, { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-9A-Fa-f]" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "_" }, { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-9A-Fa-f]" } } ] } } ] }, { "type": "PATTERN", "value": "[pP][+-]?" }, { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-9]" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "_" }, { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-9]" } } ] } } ] } ] }, { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-9]" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "_" }, { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-9]" } } ] } } ] }, { "type": "PATTERN", "value": "[eE][+-]?" }, { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-9]" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "_" }, { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "[0-9]" } } ] } } ] } ] } ] } }, "boolean": { "type": "CHOICE", "members": [ { "type": "STRING", "value": "true" }, { "type": "STRING", "value": "false" } ] }, "builtin_type": { "type": "CHOICE", "members": [ { "type": "STRING", "value": "bool" }, { "type": "STRING", "value": "f16" }, { "type": "STRING", "value": "f32" }, { "type": "STRING", "value": "f64" }, { "type": "STRING", "value": "f128" }, { "type": "STRING", "value": "void" }, { "type": "STRING", "value": "type" }, { "type": "STRING", "value": "anyerror" }, { "type": "STRING", "value": "anyopaque" }, { "type": "STRING", "value": "anytype" }, { "type": "STRING", "value": "noreturn" }, { "type": "STRING", "value": "isize" }, { "type": "STRING", "value": "usize" }, { "type": "STRING", "value": "comptime_int" }, { "type": "STRING", "value": "comptime_float" }, { "type": "STRING", "value": "c_short" }, { "type": "STRING", "value": "c_ushort" }, { "type": "STRING", "value": "c_int" }, { "type": "STRING", "value": "c_uint" }, { "type": "STRING", "value": "c_long" }, { "type": "STRING", "value": "c_ulong" }, { "type": "STRING", "value": "c_longlong" }, { "type": "STRING", "value": "c_ulonglong" }, { "type": "STRING", "value": "c_longdouble" }, { "type": "PATTERN", "value": "(i|u)[1-9][0-9]*" } ] }, "error_type": { "type": "SEQ", "members": [ { "type": "STRING", "value": "error" }, { "type": "STRING", "value": "." }, { "type": "SYMBOL", "name": "identifier" } ] }, "builtin_identifier": { "type": "PATTERN", "value": "@[A-Za-z_][A-Za-z0-9_]*" }, "identifier": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_identifier" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "@" }, { "type": "SYMBOL", "name": "string" } ] } ] }, "_identifier": { "type": "PATTERN", "value": "[A-Za-z_][A-Za-z0-9_]*" }, "_reserved_identifier": { "type": "CHOICE", "members": [ { "type": "STRING", "value": "undefined" }, { "type": "STRING", "value": "null" }, { "type": "STRING", "value": "true" }, { "type": "STRING", "value": "false" } ] }, "comment": { "type": "TOKEN", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "//" }, { "type": "PATTERN", "value": ".*" } ] } } }, "extras": [ { "type": "SYMBOL", "name": "comment" }, { "type": "PATTERN", "value": "\\s" } ], "conflicts": [ [ "for_expression" ], [ "while_expression" ], [ "expression", "_function_prototype" ], [ "expression", "if_type_expression" ], [ "comptime_type_expression", "expression" ], [ "comptime_type_expression", "parameter" ] ], "precedences": [ [ { "type": "SYMBOL", "name": "container_field" }, { "type": "SYMBOL", "name": "type_expression" } ] ], "externals": [], "inline": [ "_reserved_identifier" ], "supertypes": [ "statement", "expression", "type_expression", "primary_type_expression" ] }