{ "$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json", "name": "go", "word": "identifier", "rules": { "source_file": { "type": "SEQ", "members": [ { "type": "REPEAT", "content": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_statement" }, { "type": "CHOICE", "members": [ { "type": "PATTERN", "value": "\\n" }, { "type": "STRING", "value": ";" }, { "type": "STRING", "value": "\u0000" } ] } ] }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_top_level_declaration" }, { "type": "CHOICE", "members": [ { "type": "PATTERN", "value": "\\n" }, { "type": "STRING", "value": ";" }, { "type": "STRING", "value": "\u0000" } ] } ] } ] } }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_top_level_declaration" }, { "type": "BLANK" } ] } ] }, "_top_level_declaration": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "package_clause" }, { "type": "SYMBOL", "name": "function_declaration" }, { "type": "SYMBOL", "name": "method_declaration" }, { "type": "SYMBOL", "name": "import_declaration" } ] }, "package_clause": { "type": "SEQ", "members": [ { "type": "STRING", "value": "package" }, { "type": "SYMBOL", "name": "_package_identifier" } ] }, "import_declaration": { "type": "SEQ", "members": [ { "type": "STRING", "value": "import" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "import_spec" }, { "type": "SYMBOL", "name": "import_spec_list" } ] } ] }, "import_spec": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "dot" }, { "type": "SYMBOL", "name": "blank_identifier" }, { "type": "SYMBOL", "name": "_package_identifier" } ] } }, { "type": "BLANK" } ] }, { "type": "FIELD", "name": "path", "content": { "type": "SYMBOL", "name": "_string_literal" } } ] }, "dot": { "type": "STRING", "value": "." }, "blank_identifier": { "type": "STRING", "value": "_" }, "import_spec_list": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "import_spec" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "PATTERN", "value": "\\n" }, { "type": "STRING", "value": ";" }, { "type": "STRING", "value": "\u0000" } ] }, { "type": "SYMBOL", "name": "import_spec" } ] } }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "PATTERN", "value": "\\n" }, { "type": "STRING", "value": ";" }, { "type": "STRING", "value": "\u0000" } ] }, { "type": "BLANK" } ] } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" } ] }, "_declaration": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "const_declaration" }, { "type": "SYMBOL", "name": "type_declaration" }, { "type": "SYMBOL", "name": "var_declaration" } ] }, "const_declaration": { "type": "SEQ", "members": [ { "type": "STRING", "value": "const" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "const_spec" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "const_spec" }, { "type": "CHOICE", "members": [ { "type": "PATTERN", "value": "\\n" }, { "type": "STRING", "value": ";" }, { "type": "STRING", "value": "\u0000" } ] } ] } }, { "type": "STRING", "value": ")" } ] } ] } ] }, "const_spec": { "type": "PREC_LEFT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "identifier" } ] } } ] } }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "FIELD", "name": "type", "content": { "type": "SYMBOL", "name": "_type" } }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "=" }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "expression_list" } } ] }, { "type": "BLANK" } ] } ] } }, "var_declaration": { "type": "SEQ", "members": [ { "type": "STRING", "value": "var" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "var_spec" }, { "type": "SYMBOL", "name": "var_spec_list" } ] } ] }, "var_spec": { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "identifier" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "identifier" } } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "type", "content": { "type": "SYMBOL", "name": "_type" } }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "=" }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "expression_list" } } ] }, { "type": "BLANK" } ] } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "=" }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "expression_list" } } ] } ] } ] }, "var_spec_list": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "var_spec" }, { "type": "CHOICE", "members": [ { "type": "PATTERN", "value": "\\n" }, { "type": "STRING", "value": ";" }, { "type": "STRING", "value": "\u0000" } ] } ] } }, { "type": "STRING", "value": ")" } ] }, "function_declaration": { "type": "PREC_RIGHT", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "func" }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "identifier" } }, { "type": "FIELD", "name": "type_parameters", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "type_parameter_list" }, { "type": "BLANK" } ] } }, { "type": "FIELD", "name": "parameters", "content": { "type": "SYMBOL", "name": "parameter_list" } }, { "type": "FIELD", "name": "result", "content": { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "parameter_list" }, { "type": "SYMBOL", "name": "_simple_type" } ] }, { "type": "BLANK" } ] } }, { "type": "FIELD", "name": "body", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "block" }, { "type": "BLANK" } ] } } ] } }, "method_declaration": { "type": "PREC_RIGHT", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "func" }, { "type": "FIELD", "name": "receiver", "content": { "type": "SYMBOL", "name": "parameter_list" } }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "_field_identifier" } }, { "type": "FIELD", "name": "parameters", "content": { "type": "SYMBOL", "name": "parameter_list" } }, { "type": "FIELD", "name": "result", "content": { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "parameter_list" }, { "type": "SYMBOL", "name": "_simple_type" } ] }, { "type": "BLANK" } ] } }, { "type": "FIELD", "name": "body", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "block" }, { "type": "BLANK" } ] } } ] } }, "type_parameter_list": { "type": "SEQ", "members": [ { "type": "STRING", "value": "[" }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "type_parameter_declaration" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "type_parameter_declaration" } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "]" } ] }, "type_parameter_declaration": { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "identifier" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "identifier" } } ] } } ] }, { "type": "FIELD", "name": "type", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "type_elem" }, "named": true, "value": "type_constraint" } } ] }, "parameter_list": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "parameter_declaration" }, { "type": "SYMBOL", "name": "variadic_parameter_declaration" } ] }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "parameter_declaration" }, { "type": "SYMBOL", "name": "variadic_parameter_declaration" } ] } ] } } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" } ] }, "parameter_declaration": { "type": "PREC_LEFT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "identifier" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "identifier" } } ] } } ] }, { "type": "BLANK" } ] }, { "type": "FIELD", "name": "type", "content": { "type": "SYMBOL", "name": "_type" } } ] } }, "variadic_parameter_declaration": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "BLANK" } ] } }, { "type": "STRING", "value": "..." }, { "type": "FIELD", "name": "type", "content": { "type": "SYMBOL", "name": "_type" } } ] }, "type_alias": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "_type_identifier" } }, { "type": "STRING", "value": "=" }, { "type": "FIELD", "name": "type", "content": { "type": "SYMBOL", "name": "_type" } } ] }, "type_declaration": { "type": "SEQ", "members": [ { "type": "STRING", "value": "type" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "type_spec" }, { "type": "SYMBOL", "name": "type_alias" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "type_spec" }, { "type": "SYMBOL", "name": "type_alias" } ] }, { "type": "CHOICE", "members": [ { "type": "PATTERN", "value": "\\n" }, { "type": "STRING", "value": ";" }, { "type": "STRING", "value": "\u0000" } ] } ] } }, { "type": "STRING", "value": ")" } ] } ] } ] }, "type_spec": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "_type_identifier" } }, { "type": "FIELD", "name": "type_parameters", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "type_parameter_list" }, { "type": "BLANK" } ] } }, { "type": "FIELD", "name": "type", "content": { "type": "SYMBOL", "name": "_type" } } ] }, "field_name_list": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_field_identifier" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "_field_identifier" } ] } } ] }, "expression_list": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_expression" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "_expression" } ] } } ] }, "_type": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_simple_type" }, { "type": "SYMBOL", "name": "parenthesized_type" } ] }, "parenthesized_type": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "SYMBOL", "name": "_type" }, { "type": "STRING", "value": ")" } ] }, "_simple_type": { "type": "CHOICE", "members": [ { "type": "PREC_DYNAMIC", "value": -1, "content": { "type": "SYMBOL", "name": "_type_identifier" } }, { "type": "SYMBOL", "name": "generic_type" }, { "type": "SYMBOL", "name": "qualified_type" }, { "type": "SYMBOL", "name": "pointer_type" }, { "type": "SYMBOL", "name": "struct_type" }, { "type": "SYMBOL", "name": "interface_type" }, { "type": "SYMBOL", "name": "array_type" }, { "type": "SYMBOL", "name": "slice_type" }, { "type": "SYMBOL", "name": "map_type" }, { "type": "SYMBOL", "name": "channel_type" }, { "type": "SYMBOL", "name": "function_type" }, { "type": "SYMBOL", "name": "negated_type" } ] }, "generic_type": { "type": "PREC_DYNAMIC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "type", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_type_identifier" }, { "type": "SYMBOL", "name": "qualified_type" }, { "type": "SYMBOL", "name": "negated_type" } ] } }, { "type": "FIELD", "name": "type_arguments", "content": { "type": "SYMBOL", "name": "type_arguments" } } ] } }, "type_arguments": { "type": "PREC_DYNAMIC", "value": 2, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "[" }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "type_elem" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "type_elem" } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "]" } ] } }, "pointer_type": { "type": "PREC", "value": 6, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "*" }, { "type": "SYMBOL", "name": "_type" } ] } }, "array_type": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "[" }, { "type": "FIELD", "name": "length", "content": { "type": "SYMBOL", "name": "_expression" } }, { "type": "STRING", "value": "]" }, { "type": "FIELD", "name": "element", "content": { "type": "SYMBOL", "name": "_type" } } ] } }, "implicit_length_array_type": { "type": "SEQ", "members": [ { "type": "STRING", "value": "[" }, { "type": "STRING", "value": "..." }, { "type": "STRING", "value": "]" }, { "type": "FIELD", "name": "element", "content": { "type": "SYMBOL", "name": "_type" } } ] }, "slice_type": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "[" }, { "type": "STRING", "value": "]" }, { "type": "FIELD", "name": "element", "content": { "type": "SYMBOL", "name": "_type" } } ] } }, "struct_type": { "type": "SEQ", "members": [ { "type": "STRING", "value": "struct" }, { "type": "SYMBOL", "name": "field_declaration_list" } ] }, "negated_type": { "type": "PREC_LEFT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "~" }, { "type": "SYMBOL", "name": "_type" } ] } }, "field_declaration_list": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "field_declaration" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "PATTERN", "value": "\\n" }, { "type": "STRING", "value": ";" }, { "type": "STRING", "value": "\u0000" } ] }, { "type": "SYMBOL", "name": "field_declaration" } ] } }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "PATTERN", "value": "\\n" }, { "type": "STRING", "value": ";" }, { "type": "STRING", "value": "\u0000" } ] }, { "type": "BLANK" } ] } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "}" } ] }, "field_declaration": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "_field_identifier" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "_field_identifier" } } ] } } ] }, { "type": "FIELD", "name": "type", "content": { "type": "SYMBOL", "name": "_type" } } ] }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "*" }, { "type": "BLANK" } ] }, { "type": "FIELD", "name": "type", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_type_identifier" }, { "type": "SYMBOL", "name": "qualified_type" }, { "type": "SYMBOL", "name": "generic_type" } ] } } ] } ] }, { "type": "FIELD", "name": "tag", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_string_literal" }, { "type": "BLANK" } ] } } ] }, "interface_type": { "type": "SEQ", "members": [ { "type": "STRING", "value": "interface" }, { "type": "STRING", "value": "{" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_interface_elem" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "PATTERN", "value": "\\n" }, { "type": "STRING", "value": ";" }, { "type": "STRING", "value": "\u0000" } ] }, { "type": "SYMBOL", "name": "_interface_elem" } ] } }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "PATTERN", "value": "\\n" }, { "type": "STRING", "value": ";" }, { "type": "STRING", "value": "\u0000" } ] }, { "type": "BLANK" } ] } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "}" } ] }, "_interface_elem": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "method_elem" }, { "type": "SYMBOL", "name": "type_elem" } ] }, "method_elem": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "_field_identifier" } }, { "type": "FIELD", "name": "parameters", "content": { "type": "SYMBOL", "name": "parameter_list" } }, { "type": "FIELD", "name": "result", "content": { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "parameter_list" }, { "type": "SYMBOL", "name": "_simple_type" } ] }, { "type": "BLANK" } ] } } ] }, "type_elem": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_type" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "|" }, { "type": "SYMBOL", "name": "_type" } ] } } ] }, "map_type": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "map" }, { "type": "STRING", "value": "[" }, { "type": "FIELD", "name": "key", "content": { "type": "SYMBOL", "name": "_type" } }, { "type": "STRING", "value": "]" }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "_type" } } ] } }, "channel_type": { "type": "PREC_LEFT", "value": 0, "content": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "chan" }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "_type" } } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "chan" }, { "type": "STRING", "value": "<-" }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "_type" } } ] }, { "type": "PREC", "value": 6, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "<-" }, { "type": "STRING", "value": "chan" }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "_type" } } ] } } ] } }, "function_type": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "func" }, { "type": "FIELD", "name": "parameters", "content": { "type": "SYMBOL", "name": "parameter_list" } }, { "type": "FIELD", "name": "result", "content": { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "parameter_list" }, { "type": "SYMBOL", "name": "_simple_type" } ] }, { "type": "BLANK" } ] } } ] } }, "block": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_statement_list" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "}" } ] }, "_statement_list": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_statement" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "PATTERN", "value": "\\n" }, { "type": "STRING", "value": ";" }, { "type": "STRING", "value": "\u0000" } ] }, { "type": "SYMBOL", "name": "_statement" } ] } }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "PATTERN", "value": "\\n" }, { "type": "STRING", "value": ";" }, { "type": "STRING", "value": "\u0000" } ] }, { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "empty_labeled_statement" }, "named": true, "value": "labeled_statement" }, { "type": "BLANK" } ] } ] }, { "type": "BLANK" } ] } ] }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "empty_labeled_statement" }, "named": true, "value": "labeled_statement" } ] }, "_statement": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_declaration" }, { "type": "SYMBOL", "name": "_simple_statement" }, { "type": "SYMBOL", "name": "return_statement" }, { "type": "SYMBOL", "name": "go_statement" }, { "type": "SYMBOL", "name": "defer_statement" }, { "type": "SYMBOL", "name": "if_statement" }, { "type": "SYMBOL", "name": "for_statement" }, { "type": "SYMBOL", "name": "expression_switch_statement" }, { "type": "SYMBOL", "name": "type_switch_statement" }, { "type": "SYMBOL", "name": "select_statement" }, { "type": "SYMBOL", "name": "labeled_statement" }, { "type": "SYMBOL", "name": "fallthrough_statement" }, { "type": "SYMBOL", "name": "break_statement" }, { "type": "SYMBOL", "name": "continue_statement" }, { "type": "SYMBOL", "name": "goto_statement" }, { "type": "SYMBOL", "name": "block" }, { "type": "SYMBOL", "name": "empty_statement" } ] }, "empty_statement": { "type": "STRING", "value": ";" }, "_simple_statement": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "expression_statement" }, { "type": "SYMBOL", "name": "send_statement" }, { "type": "SYMBOL", "name": "inc_statement" }, { "type": "SYMBOL", "name": "dec_statement" }, { "type": "SYMBOL", "name": "assignment_statement" }, { "type": "SYMBOL", "name": "short_var_declaration" } ] }, "expression_statement": { "type": "SYMBOL", "name": "_expression" }, "send_statement": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "channel", "content": { "type": "SYMBOL", "name": "_expression" } }, { "type": "STRING", "value": "<-" }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "_expression" } } ] }, "receive_statement": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression_list" } }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "=" }, { "type": "STRING", "value": ":=" } ] } ] }, { "type": "BLANK" } ] }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "_expression" } } ] }, "inc_statement": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_expression" }, { "type": "STRING", "value": "++" } ] }, "dec_statement": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_expression" }, { "type": "STRING", "value": "--" } ] }, "assignment_statement": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression_list" } }, { "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": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression_list" } } ] }, "short_var_declaration": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression_list" } }, { "type": "STRING", "value": ":=" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "expression_list" } } ] }, "labeled_statement": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "label", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "identifier" }, "named": true, "value": "label_name" } }, { "type": "STRING", "value": ":" }, { "type": "SYMBOL", "name": "_statement" } ] }, "empty_labeled_statement": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "label", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "identifier" }, "named": true, "value": "label_name" } }, { "type": "STRING", "value": ":" } ] }, "fallthrough_statement": { "type": "PREC_LEFT", "value": 0, "content": { "type": "STRING", "value": "fallthrough" } }, "break_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "break" }, { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "identifier" }, "named": true, "value": "label_name" }, { "type": "BLANK" } ] } ] }, "continue_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "continue" }, { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "identifier" }, "named": true, "value": "label_name" }, { "type": "BLANK" } ] } ] }, "goto_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "goto" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "identifier" }, "named": true, "value": "label_name" } ] }, "return_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "return" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "expression_list" }, { "type": "BLANK" } ] } ] }, "go_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "go" }, { "type": "SYMBOL", "name": "_expression" } ] }, "defer_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "defer" }, { "type": "SYMBOL", "name": "_expression" } ] }, "if_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "if" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "initializer", "content": { "type": "SYMBOL", "name": "_simple_statement" } }, { "type": "STRING", "value": ";" } ] }, { "type": "BLANK" } ] }, { "type": "FIELD", "name": "condition", "content": { "type": "SYMBOL", "name": "_expression" } }, { "type": "FIELD", "name": "consequence", "content": { "type": "SYMBOL", "name": "block" } }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "else" }, { "type": "FIELD", "name": "alternative", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "block" }, { "type": "SYMBOL", "name": "if_statement" } ] } } ] }, { "type": "BLANK" } ] } ] }, "for_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "for" }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_expression" }, { "type": "SYMBOL", "name": "for_clause" }, { "type": "SYMBOL", "name": "range_clause" } ] }, { "type": "BLANK" } ] }, { "type": "FIELD", "name": "body", "content": { "type": "SYMBOL", "name": "block" } } ] }, "for_clause": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "initializer", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_simple_statement" }, { "type": "BLANK" } ] } }, { "type": "STRING", "value": ";" }, { "type": "FIELD", "name": "condition", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_expression" }, { "type": "BLANK" } ] } }, { "type": "STRING", "value": ";" }, { "type": "FIELD", "name": "update", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_simple_statement" }, { "type": "BLANK" } ] } } ] }, "range_clause": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "expression_list" } }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "=" }, { "type": "STRING", "value": ":=" } ] } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "range" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "_expression" } } ] }, "expression_switch_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "switch" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "initializer", "content": { "type": "SYMBOL", "name": "_simple_statement" } }, { "type": "STRING", "value": ";" } ] }, { "type": "BLANK" } ] }, { "type": "FIELD", "name": "value", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_expression" }, { "type": "BLANK" } ] } }, { "type": "STRING", "value": "{" }, { "type": "REPEAT", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "expression_case" }, { "type": "SYMBOL", "name": "default_case" } ] } }, { "type": "STRING", "value": "}" } ] }, "expression_case": { "type": "SEQ", "members": [ { "type": "STRING", "value": "case" }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "expression_list" } }, { "type": "STRING", "value": ":" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_statement_list" }, { "type": "BLANK" } ] } ] }, "default_case": { "type": "SEQ", "members": [ { "type": "STRING", "value": "default" }, { "type": "STRING", "value": ":" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_statement_list" }, { "type": "BLANK" } ] } ] }, "type_switch_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "switch" }, { "type": "SYMBOL", "name": "_type_switch_header" }, { "type": "STRING", "value": "{" }, { "type": "REPEAT", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "type_case" }, { "type": "SYMBOL", "name": "default_case" } ] } }, { "type": "STRING", "value": "}" } ] }, "_type_switch_header": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "initializer", "content": { "type": "SYMBOL", "name": "_simple_statement" } }, { "type": "STRING", "value": ";" } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "alias", "content": { "type": "SYMBOL", "name": "expression_list" } }, { "type": "STRING", "value": ":=" } ] }, { "type": "BLANK" } ] }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "_expression" } }, { "type": "STRING", "value": "." }, { "type": "STRING", "value": "(" }, { "type": "STRING", "value": "type" }, { "type": "STRING", "value": ")" } ] }, "type_case": { "type": "SEQ", "members": [ { "type": "STRING", "value": "case" }, { "type": "FIELD", "name": "type", "content": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_type" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "_type" } ] } } ] } }, { "type": "STRING", "value": ":" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_statement_list" }, { "type": "BLANK" } ] } ] }, "select_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "select" }, { "type": "STRING", "value": "{" }, { "type": "REPEAT", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "communication_case" }, { "type": "SYMBOL", "name": "default_case" } ] } }, { "type": "STRING", "value": "}" } ] }, "communication_case": { "type": "SEQ", "members": [ { "type": "STRING", "value": "case" }, { "type": "FIELD", "name": "communication", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "send_statement" }, { "type": "SYMBOL", "name": "receive_statement" } ] } }, { "type": "STRING", "value": ":" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_statement_list" }, { "type": "BLANK" } ] } ] }, "_expression": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "unary_expression" }, { "type": "SYMBOL", "name": "binary_expression" }, { "type": "SYMBOL", "name": "selector_expression" }, { "type": "SYMBOL", "name": "index_expression" }, { "type": "SYMBOL", "name": "slice_expression" }, { "type": "SYMBOL", "name": "call_expression" }, { "type": "SYMBOL", "name": "type_assertion_expression" }, { "type": "SYMBOL", "name": "type_conversion_expression" }, { "type": "SYMBOL", "name": "type_instantiation_expression" }, { "type": "SYMBOL", "name": "identifier" }, { "type": "ALIAS", "content": { "type": "CHOICE", "members": [ { "type": "STRING", "value": "new" }, { "type": "STRING", "value": "make" } ] }, "named": true, "value": "identifier" }, { "type": "SYMBOL", "name": "composite_literal" }, { "type": "SYMBOL", "name": "func_literal" }, { "type": "SYMBOL", "name": "_string_literal" }, { "type": "SYMBOL", "name": "int_literal" }, { "type": "SYMBOL", "name": "float_literal" }, { "type": "SYMBOL", "name": "imaginary_literal" }, { "type": "SYMBOL", "name": "rune_literal" }, { "type": "SYMBOL", "name": "nil" }, { "type": "SYMBOL", "name": "true" }, { "type": "SYMBOL", "name": "false" }, { "type": "SYMBOL", "name": "iota" }, { "type": "SYMBOL", "name": "parenthesized_expression" } ] }, "parenthesized_expression": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "SYMBOL", "name": "_expression" }, { "type": "STRING", "value": ")" } ] }, "call_expression": { "type": "PREC", "value": 7, "content": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "function", "content": { "type": "ALIAS", "content": { "type": "CHOICE", "members": [ { "type": "STRING", "value": "new" }, { "type": "STRING", "value": "make" } ] }, "named": true, "value": "identifier" } }, { "type": "FIELD", "name": "arguments", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "special_argument_list" }, "named": true, "value": "argument_list" } } ] }, { "type": "SEQ", "members": [ { "type": "FIELD", "name": "function", "content": { "type": "SYMBOL", "name": "_expression" } }, { "type": "FIELD", "name": "type_arguments", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "type_arguments" }, { "type": "BLANK" } ] } }, { "type": "FIELD", "name": "arguments", "content": { "type": "SYMBOL", "name": "argument_list" } } ] } ] } }, "variadic_argument": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_expression" }, { "type": "STRING", "value": "..." } ] } }, "special_argument_list": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_type" }, { "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": ")" } ] }, "argument_list": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_expression" }, { "type": "SYMBOL", "name": "variadic_argument" } ] }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_expression" }, { "type": "SYMBOL", "name": "variadic_argument" } ] } ] } }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" } ] }, "selector_expression": { "type": "PREC", "value": 7, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "operand", "content": { "type": "SYMBOL", "name": "_expression" } }, { "type": "STRING", "value": "." }, { "type": "FIELD", "name": "field", "content": { "type": "SYMBOL", "name": "_field_identifier" } } ] } }, "index_expression": { "type": "PREC", "value": 7, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "operand", "content": { "type": "SYMBOL", "name": "_expression" } }, { "type": "STRING", "value": "[" }, { "type": "FIELD", "name": "index", "content": { "type": "SYMBOL", "name": "_expression" } }, { "type": "STRING", "value": "]" } ] } }, "slice_expression": { "type": "PREC", "value": 7, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "operand", "content": { "type": "SYMBOL", "name": "_expression" } }, { "type": "STRING", "value": "[" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "start", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_expression" }, { "type": "BLANK" } ] } }, { "type": "STRING", "value": ":" }, { "type": "FIELD", "name": "end", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_expression" }, { "type": "BLANK" } ] } } ] }, { "type": "SEQ", "members": [ { "type": "FIELD", "name": "start", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_expression" }, { "type": "BLANK" } ] } }, { "type": "STRING", "value": ":" }, { "type": "FIELD", "name": "end", "content": { "type": "SYMBOL", "name": "_expression" } }, { "type": "STRING", "value": ":" }, { "type": "FIELD", "name": "capacity", "content": { "type": "SYMBOL", "name": "_expression" } } ] } ] }, { "type": "STRING", "value": "]" } ] } }, "type_assertion_expression": { "type": "PREC", "value": 7, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "operand", "content": { "type": "SYMBOL", "name": "_expression" } }, { "type": "STRING", "value": "." }, { "type": "STRING", "value": "(" }, { "type": "FIELD", "name": "type", "content": { "type": "SYMBOL", "name": "_type" } }, { "type": "STRING", "value": ")" } ] } }, "type_conversion_expression": { "type": "PREC_DYNAMIC", "value": -1, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "type", "content": { "type": "SYMBOL", "name": "_type" } }, { "type": "STRING", "value": "(" }, { "type": "FIELD", "name": "operand", "content": { "type": "SYMBOL", "name": "_expression" } }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" } ] } }, "type_instantiation_expression": { "type": "PREC_DYNAMIC", "value": -1, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "type", "content": { "type": "SYMBOL", "name": "_type" } }, { "type": "STRING", "value": "[" }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_type" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "_type" } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "]" } ] } }, "composite_literal": { "type": "PREC", "value": -1, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "type", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "map_type" }, { "type": "SYMBOL", "name": "slice_type" }, { "type": "SYMBOL", "name": "array_type" }, { "type": "SYMBOL", "name": "implicit_length_array_type" }, { "type": "SYMBOL", "name": "struct_type" }, { "type": "SYMBOL", "name": "_type_identifier" }, { "type": "SYMBOL", "name": "generic_type" }, { "type": "SYMBOL", "name": "qualified_type" } ] } }, { "type": "FIELD", "name": "body", "content": { "type": "SYMBOL", "name": "literal_value" } } ] } }, "literal_value": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "literal_element" }, { "type": "SYMBOL", "name": "keyed_element" } ] }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "literal_element" }, { "type": "SYMBOL", "name": "keyed_element" } ] } ] } } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "}" } ] }, "literal_element": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_expression" }, { "type": "SYMBOL", "name": "literal_value" } ] }, "keyed_element": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "key", "content": { "type": "SYMBOL", "name": "literal_element" } }, { "type": "STRING", "value": ":" }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "literal_element" } } ] }, "func_literal": { "type": "SEQ", "members": [ { "type": "STRING", "value": "func" }, { "type": "FIELD", "name": "parameters", "content": { "type": "SYMBOL", "name": "parameter_list" } }, { "type": "FIELD", "name": "result", "content": { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "parameter_list" }, { "type": "SYMBOL", "name": "_simple_type" } ] }, { "type": "BLANK" } ] } }, { "type": "FIELD", "name": "body", "content": { "type": "SYMBOL", "name": "block" } } ] }, "unary_expression": { "type": "PREC", "value": 6, "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": "STRING", "value": "&" }, { "type": "STRING", "value": "<-" } ] } }, { "type": "FIELD", "name": "operand", "content": { "type": "SYMBOL", "name": "_expression" } } ] } }, "binary_expression": { "type": "CHOICE", "members": [ { "type": "PREC_LEFT", "value": 5, "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": "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": "CHOICE", "members": [ { "type": "STRING", "value": "+" }, { "type": "STRING", "value": "-" }, { "type": "STRING", "value": "|" }, { "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": "CHOICE", "members": [ { "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" } } ] } }, { "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": "&&" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "_expression" } } ] } }, { "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": "||" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "_expression" } } ] } } ] }, "qualified_type": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "package", "content": { "type": "SYMBOL", "name": "_package_identifier" } }, { "type": "STRING", "value": "." }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "_type_identifier" } } ] }, "identifier": { "type": "PATTERN", "value": "[_\\p{XID_Start}][_\\p{XID_Continue}]*" }, "_type_identifier": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "identifier" }, "named": true, "value": "type_identifier" }, "_field_identifier": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "identifier" }, "named": true, "value": "field_identifier" }, "_package_identifier": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "identifier" }, "named": true, "value": "package_identifier" }, "_string_literal": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "raw_string_literal" }, { "type": "SYMBOL", "name": "interpreted_string_literal" } ] }, "raw_string_literal": { "type": "SEQ", "members": [ { "type": "STRING", "value": "`" }, { "type": "ALIAS", "content": { "type": "PATTERN", "value": "[^`]*" }, "named": true, "value": "raw_string_literal_content" }, { "type": "STRING", "value": "`" } ] }, "interpreted_string_literal": { "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": "interpreted_string_literal_content" }, { "type": "SYMBOL", "name": "escape_sequence" } ] } }, { "type": "IMMEDIATE_TOKEN", "content": { "type": "STRING", "value": "\"" } } ] }, "escape_sequence": { "type": "IMMEDIATE_TOKEN", "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]{4}" }, { "type": "PATTERN", "value": "U[0-9a-fA-F]{8}" } ] } ] } }, "int_literal": { "type": "TOKEN", "content": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "0" }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "b" }, { "type": "STRING", "value": "B" } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[01]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[01]" } ] } } ] } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "0" }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[1-9]" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9]" } ] } } ] } ] }, { "type": "BLANK" } ] } ] } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "0" }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "o" }, { "type": "STRING", "value": "O" } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-7]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-7]" } ] } } ] } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "0" }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "x" }, { "type": "STRING", "value": "X" } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9a-fA-F]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9a-fA-F]" } ] } } ] } ] } ] } }, "float_literal": { "type": "TOKEN", "content": { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9]" } ] } } ] }, { "type": "STRING", "value": "." }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9]" } ] } } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "e" }, { "type": "STRING", "value": "E" } ] }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "+" }, { "type": "STRING", "value": "-" } ] }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9]" } ] } } ] } ] }, { "type": "BLANK" } ] } ] }, { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9]" } ] } } ] }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "e" }, { "type": "STRING", "value": "E" } ] }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "+" }, { "type": "STRING", "value": "-" } ] }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9]" } ] } } ] } ] } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "." }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9]" } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "e" }, { "type": "STRING", "value": "E" } ] }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "+" }, { "type": "STRING", "value": "-" } ] }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9]" } ] } } ] } ] }, { "type": "BLANK" } ] } ] } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "0" }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "x" }, { "type": "STRING", "value": "X" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9a-fA-F]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9a-fA-F]" } ] } } ] }, { "type": "STRING", "value": "." }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9a-fA-F]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9a-fA-F]" } ] } } ] }, { "type": "BLANK" } ] } ] }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9a-fA-F]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9a-fA-F]" } ] } } ] } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "." }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9a-fA-F]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9a-fA-F]" } ] } } ] } ] } ] }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "p" }, { "type": "STRING", "value": "P" } ] }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "+" }, { "type": "STRING", "value": "-" } ] }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9]" } ] } } ] } ] } ] } ] } }, "imaginary_literal": { "type": "TOKEN", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9]" } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "0" }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "b" }, { "type": "STRING", "value": "B" } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[01]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[01]" } ] } } ] } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "0" }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[1-9]" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9]" } ] } } ] } ] }, { "type": "BLANK" } ] } ] } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "0" }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "o" }, { "type": "STRING", "value": "O" } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-7]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-7]" } ] } } ] } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "0" }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "x" }, { "type": "STRING", "value": "X" } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9a-fA-F]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9a-fA-F]" } ] } } ] } ] } ] }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9]" } ] } } ] }, { "type": "STRING", "value": "." }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9]" } ] } } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "e" }, { "type": "STRING", "value": "E" } ] }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "+" }, { "type": "STRING", "value": "-" } ] }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9]" } ] } } ] } ] }, { "type": "BLANK" } ] } ] }, { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9]" } ] } } ] }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "e" }, { "type": "STRING", "value": "E" } ] }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "+" }, { "type": "STRING", "value": "-" } ] }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9]" } ] } } ] } ] } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "." }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9]" } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "e" }, { "type": "STRING", "value": "E" } ] }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "+" }, { "type": "STRING", "value": "-" } ] }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9]" } ] } } ] } ] }, { "type": "BLANK" } ] } ] } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "0" }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "x" }, { "type": "STRING", "value": "X" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9a-fA-F]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9a-fA-F]" } ] } } ] }, { "type": "STRING", "value": "." }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9a-fA-F]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9a-fA-F]" } ] } } ] }, { "type": "BLANK" } ] } ] }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9a-fA-F]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9a-fA-F]" } ] } } ] } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "." }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9a-fA-F]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9a-fA-F]" } ] } } ] } ] } ] }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "p" }, { "type": "STRING", "value": "P" } ] }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "+" }, { "type": "STRING", "value": "-" } ] }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-9]" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "_" }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "[0-9]" } ] } } ] } ] } ] } ] } ] }, { "type": "STRING", "value": "i" } ] } }, "rune_literal": { "type": "TOKEN", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "'" }, { "type": "CHOICE", "members": [ { "type": "PATTERN", "value": "[^'\\\\]" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "\\" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "x" }, { "type": "PATTERN", "value": "[0-9a-fA-F]" }, { "type": "PATTERN", "value": "[0-9a-fA-F]" } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[0-7]" }, { "type": "PATTERN", "value": "[0-7]" }, { "type": "PATTERN", "value": "[0-7]" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "u" }, { "type": "PATTERN", "value": "[0-9a-fA-F]" }, { "type": "PATTERN", "value": "[0-9a-fA-F]" }, { "type": "PATTERN", "value": "[0-9a-fA-F]" }, { "type": "PATTERN", "value": "[0-9a-fA-F]" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "U" }, { "type": "PATTERN", "value": "[0-9a-fA-F]" }, { "type": "PATTERN", "value": "[0-9a-fA-F]" }, { "type": "PATTERN", "value": "[0-9a-fA-F]" }, { "type": "PATTERN", "value": "[0-9a-fA-F]" }, { "type": "PATTERN", "value": "[0-9a-fA-F]" }, { "type": "PATTERN", "value": "[0-9a-fA-F]" }, { "type": "PATTERN", "value": "[0-9a-fA-F]" }, { "type": "PATTERN", "value": "[0-9a-fA-F]" } ] }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "a" }, { "type": "STRING", "value": "b" }, { "type": "STRING", "value": "f" }, { "type": "STRING", "value": "n" }, { "type": "STRING", "value": "r" }, { "type": "STRING", "value": "t" }, { "type": "STRING", "value": "v" }, { "type": "STRING", "value": "\\" }, { "type": "STRING", "value": "'" }, { "type": "STRING", "value": "\"" } ] } ] } ] } ] } ] }, { "type": "STRING", "value": "'" } ] } }, "nil": { "type": "STRING", "value": "nil" }, "true": { "type": "STRING", "value": "true" }, "false": { "type": "STRING", "value": "false" }, "iota": { "type": "STRING", "value": "iota" }, "comment": { "type": "TOKEN", "content": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "//" }, { "type": "PATTERN", "value": ".*" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "/*" }, { "type": "PATTERN", "value": "[^*]*\\*+([^/*][^*]*\\*+)*" }, { "type": "STRING", "value": "/" } ] } ] } } }, "extras": [ { "type": "SYMBOL", "name": "comment" }, { "type": "PATTERN", "value": "\\s" } ], "conflicts": [ [ "_simple_type", "_expression" ], [ "_simple_type", "generic_type", "_expression" ], [ "qualified_type", "_expression" ], [ "generic_type", "_simple_type" ], [ "parameter_declaration", "_simple_type" ], [ "type_parameter_declaration", "_simple_type", "_expression" ], [ "type_parameter_declaration", "_expression" ], [ "type_parameter_declaration", "_simple_type", "generic_type", "_expression" ] ], "precedences": [], "externals": [], "inline": [ "_type", "_type_identifier", "_field_identifier", "_package_identifier", "_top_level_declaration", "_string_literal", "_interface_elem" ], "supertypes": [ "_expression", "_type", "_simple_type", "_statement", "_simple_statement" ] }