{
"$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json",
"name": "qsharp",
"word": "identifier",
"rules": {
"source_file": {
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "namespace"
},
{
"type": "SYMBOL",
"name": "_top_level_item"
},
{
"type": "SYMBOL",
"name": "_statement"
}
]
}
},
"namespace": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "namespace"
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "path_or_identifier"
}
},
{
"type": "STRING",
"value": "{"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_namespace_item"
}
},
{
"type": "STRING",
"value": "}"
}
]
},
"_namespace_item": {
"type": "SYMBOL",
"name": "_top_level_item"
},
"_top_level_item": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "import_decl"
},
{
"type": "SYMBOL",
"name": "export_decl"
},
{
"type": "SYMBOL",
"name": "open_decl"
},
{
"type": "SYMBOL",
"name": "callable_decl"
},
{
"type": "SYMBOL",
"name": "newtype_decl"
},
{
"type": "SYMBOL",
"name": "struct_decl"
}
]
},
"import_decl": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "import"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "import_item"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "import_item"
}
]
}
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"import_item": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "import_path"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "as"
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"import_path": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
}
},
{
"type": "STRING",
"value": "."
},
{
"type": "STRING",
"value": "*"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
}
}
]
}
]
},
"export_decl": {
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "attribute"
}
},
{
"type": "STRING",
"value": "export"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "export_item"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "export_item"
}
]
}
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"export_item": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "path_or_identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "as"
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"open_decl": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "open"
},
{
"type": "SYMBOL",
"name": "path_or_identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "as"
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"callable_decl": {
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "attribute"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "internal"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "operation"
},
{
"type": "STRING",
"value": "function"
}
]
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "type_params"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "params",
"content": {
"type": "SYMBOL",
"name": "param_list"
}
},
{
"type": "STRING",
"value": ":"
},
{
"type": "FIELD",
"name": "return_type",
"content": {
"type": "SYMBOL",
"name": "type"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "functor_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "callable_body"
}
}
]
},
"attribute": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@"
},
{
"type": "SYMBOL",
"name": "path_or_identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"type_params": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "<"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "type_param"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "type_param"
}
]
}
}
]
},
{
"type": "STRING",
"value": ">"
}
]
},
"type_param": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "apos_ident"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ":"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "+"
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
}
}
]
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"param_list": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_param"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_param"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"_param": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "typed_param"
},
{
"type": "SYMBOL",
"name": "tuple_param"
}
]
},
"typed_param": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "STRING",
"value": ":"
},
{
"type": "FIELD",
"name": "type",
"content": {
"type": "SYMBOL",
"name": "type"
}
}
]
},
"tuple_param": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_param"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_param"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"functor_clause": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "is"
},
{
"type": "SYMBOL",
"name": "functor_expr"
}
]
},
"functor_expr": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Adj"
},
{
"type": "STRING",
"value": "Ctl"
},
{
"type": "PREC_LEFT",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "functor_expr"
},
{
"type": "STRING",
"value": "+"
},
{
"type": "SYMBOL",
"name": "functor_expr"
}
]
}
},
{
"type": "PREC_LEFT",
"value": 2,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "functor_expr"
},
{
"type": "STRING",
"value": "*"
},
{
"type": "SYMBOL",
"name": "functor_expr"
}
]
}
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "functor_expr"
},
{
"type": "STRING",
"value": ")"
}
]
}
]
},
"callable_body": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "block"
},
{
"type": "SYMBOL",
"name": "specialization_list"
}
]
},
"specialization_list": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "{"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "specialization"
}
},
{
"type": "STRING",
"value": "}"
}
]
},
"specialization": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "spec_name"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "spec_generator"
},
{
"type": "STRING",
"value": ";"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "spec_param"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "block"
}
]
}
]
}
]
},
"spec_name": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "body"
},
{
"type": "STRING",
"value": "adjoint"
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "controlled"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "adjoint"
},
{
"type": "BLANK"
}
]
}
]
}
]
},
"spec_generator": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "auto"
},
{
"type": "STRING",
"value": "distribute"
},
{
"type": "STRING",
"value": "intrinsic"
},
{
"type": "STRING",
"value": "invert"
},
{
"type": "STRING",
"value": "self"
}
]
},
"spec_param": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "..."
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "STRING",
"value": "..."
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "STRING",
"value": "..."
}
]
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
}
]
},
"newtype_decl": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "internal"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "newtype"
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "STRING",
"value": "="
},
{
"type": "SYMBOL",
"name": "type_def"
},
{
"type": "STRING",
"value": ";"
}
]
},
"type_def": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "type"
}
]
},
{
"type": "SYMBOL",
"name": "type"
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "type_def"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "type_def"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
}
]
},
"struct_decl": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "internal"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "struct"
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "STRING",
"value": "{"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "field_def"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "field_def"
}
]
}
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "}"
}
]
},
"field_def": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "STRING",
"value": ":"
},
{
"type": "FIELD",
"name": "type",
"content": {
"type": "SYMBOL",
"name": "type"
}
}
]
},
"_statement": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "let_statement"
},
{
"type": "SYMBOL",
"name": "mutable_statement"
},
{
"type": "SYMBOL",
"name": "set_statement"
},
{
"type": "SYMBOL",
"name": "use_statement"
},
{
"type": "SYMBOL",
"name": "borrow_statement"
},
{
"type": "SYMBOL",
"name": "return_statement"
},
{
"type": "SYMBOL",
"name": "fail_statement"
},
{
"type": "SYMBOL",
"name": "import_decl"
},
{
"type": "SYMBOL",
"name": "expression_statement"
},
{
"type": "SYMBOL",
"name": "struct_decl"
},
{
"type": "SYMBOL",
"name": "empty_statement"
}
]
},
"let_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "let"
},
{
"type": "SYMBOL",
"name": "pattern"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "type"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "="
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": ";"
}
]
},
"mutable_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "mutable"
},
{
"type": "SYMBOL",
"name": "pattern"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "type"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "="
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": ";"
}
]
},
"set_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "set"
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": ";"
}
]
},
"use_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "use"
},
{
"type": "SYMBOL",
"name": "pattern"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "type"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "="
},
{
"type": "SYMBOL",
"name": "qubit_init"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "SYMBOL",
"name": "block"
}
]
}
]
},
"borrow_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "borrow"
},
{
"type": "SYMBOL",
"name": "pattern"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "type"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "="
},
{
"type": "SYMBOL",
"name": "qubit_init"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "SYMBOL",
"name": "block"
}
]
}
]
},
"return_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "return"
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": ";"
}
]
},
"fail_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "fail"
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": ";"
}
]
},
"expression_statement": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression_no_block"
},
{
"type": "STRING",
"value": ";"
}
]
},
{
"type": "SYMBOL",
"name": "_expression_with_block"
},
{
"type": "PREC",
"value": -1,
"content": {
"type": "SYMBOL",
"name": "_expression_no_block"
}
}
]
},
"empty_statement": {
"type": "STRING",
"value": ";"
},
"qubit_init": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "Qubit"
},
{
"type": "STRING",
"value": "("
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "Qubit"
},
{
"type": "STRING",
"value": "["
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "]"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "qubit_init"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "qubit_init"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
}
]
},
"pattern": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "discard"
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "pattern"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "pattern"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
}
]
},
"discard": {
"type": "STRING",
"value": "_"
},
"type": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "builtin_type"
},
{
"type": "SYMBOL",
"name": "apos_ident"
},
{
"type": "SYMBOL",
"name": "path"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "array_type"
},
{
"type": "SYMBOL",
"name": "tuple_type"
},
{
"type": "SYMBOL",
"name": "callable_type"
},
{
"type": "SYMBOL",
"name": "discard"
}
]
},
"builtin_type": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Unit"
},
{
"type": "STRING",
"value": "Int"
},
{
"type": "STRING",
"value": "BigInt"
},
{
"type": "STRING",
"value": "Double"
},
{
"type": "STRING",
"value": "Bool"
},
{
"type": "STRING",
"value": "String"
},
{
"type": "STRING",
"value": "Qubit"
},
{
"type": "STRING",
"value": "Result"
},
{
"type": "STRING",
"value": "Pauli"
},
{
"type": "STRING",
"value": "Range"
}
]
},
"array_type": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "type"
},
{
"type": "STRING",
"value": "["
},
{
"type": "STRING",
"value": "]"
}
]
}
},
"tuple_type": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "type"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "type"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"callable_type": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "type"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "->"
},
{
"type": "STRING",
"value": "=>"
}
]
},
{
"type": "SYMBOL",
"name": "type"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "is"
},
{
"type": "SYMBOL",
"name": "functor_expr"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
},
"_expression": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_expression_no_block"
},
{
"type": "SYMBOL",
"name": "_expression_with_block"
}
]
},
"_expression_no_block": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "path"
},
{
"type": "SYMBOL",
"name": "literal"
},
{
"type": "SYMBOL",
"name": "parenthesized_expression"
},
{
"type": "SYMBOL",
"name": "unit_expression"
},
{
"type": "SYMBOL",
"name": "tuple_expression"
},
{
"type": "SYMBOL",
"name": "array_expression"
},
{
"type": "SYMBOL",
"name": "array_repeat_expression"
},
{
"type": "SYMBOL",
"name": "string_interpolation"
},
{
"type": "SYMBOL",
"name": "unary_expression"
},
{
"type": "SYMBOL",
"name": "binary_expression"
},
{
"type": "SYMBOL",
"name": "assignment_expression"
},
{
"type": "SYMBOL",
"name": "compound_assignment_expression"
},
{
"type": "SYMBOL",
"name": "update_expression"
},
{
"type": "SYMBOL",
"name": "ternary_expression"
},
{
"type": "SYMBOL",
"name": "call_expression"
},
{
"type": "SYMBOL",
"name": "index_expression"
},
{
"type": "SYMBOL",
"name": "field_expression"
},
{
"type": "SYMBOL",
"name": "unwrap_expression"
},
{
"type": "SYMBOL",
"name": "lambda_expression"
},
{
"type": "SYMBOL",
"name": "range_expression"
},
{
"type": "SYMBOL",
"name": "step_range_expression"
},
{
"type": "SYMBOL",
"name": "open_range_start"
},
{
"type": "SYMBOL",
"name": "open_range_end"
},
{
"type": "SYMBOL",
"name": "full_range"
},
{
"type": "SYMBOL",
"name": "new_expression"
},
{
"type": "SYMBOL",
"name": "discard"
}
]
},
"_expression_with_block": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "block"
},
{
"type": "SYMBOL",
"name": "if_expression"
},
{
"type": "SYMBOL",
"name": "for_expression"
},
{
"type": "SYMBOL",
"name": "while_expression"
},
{
"type": "SYMBOL",
"name": "repeat_expression"
},
{
"type": "SYMBOL",
"name": "conjugation_expression"
}
]
},
"parenthesized_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": ")"
}
]
},
"unit_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "STRING",
"value": ")"
}
]
},
"tuple_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": ","
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"array_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "]"
}
]
},
"array_repeat_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": ","
},
{
"type": "STRING",
"value": "size"
},
{
"type": "STRING",
"value": "="
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "]"
}
]
},
"string_interpolation": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "$\""
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "interpolation_content"
},
{
"type": "SYMBOL",
"name": "interpolation_expression"
}
]
}
},
{
"type": "STRING",
"value": "\""
}
]
},
"interpolation_content": {
"type": "PATTERN",
"value": "[^\"{}\\\\]+|\\\\."
},
"interpolation_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "{"
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "}"
}
]
},
"unary_expression": {
"type": "CHOICE",
"members": [
{
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "-"
},
{
"type": "STRING",
"value": "+"
},
{
"type": "STRING",
"value": "not"
},
{
"type": "STRING",
"value": "~~~"
}
]
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
{
"type": "PREC",
"value": 18,
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Adjoint"
},
{
"type": "STRING",
"value": "Controlled"
}
]
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
}
]
},
"binary_expression": {
"type": "CHOICE",
"members": [
{
"type": "PREC_LEFT",
"value": 4,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "or"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
{
"type": "PREC_LEFT",
"value": 5,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "and"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
{
"type": "PREC_LEFT",
"value": 9,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "=="
},
{
"type": "STRING",
"value": "!="
}
]
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
{
"type": "PREC_LEFT",
"value": 10,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "<="
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
{
"type": "PREC_LEFT",
"value": 11,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "<"
},
{
"type": "STRING",
"value": ">"
},
{
"type": "STRING",
"value": ">="
}
]
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
{
"type": "PREC_LEFT",
"value": 6,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "|||"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
{
"type": "PREC_LEFT",
"value": 7,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "^^^"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
{
"type": "PREC_LEFT",
"value": 8,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "&&&"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
{
"type": "PREC_LEFT",
"value": 12,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "<<<"
},
{
"type": "STRING",
"value": ">>>"
}
]
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
{
"type": "PREC_LEFT",
"value": 13,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "+"
},
{
"type": "STRING",
"value": "-"
}
]
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
{
"type": "PREC_LEFT",
"value": 14,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "*"
},
{
"type": "STRING",
"value": "/"
},
{
"type": "STRING",
"value": "%"
}
]
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
{
"type": "PREC_RIGHT",
"value": 15,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "^"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
}
]
},
"assignment_expression": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "="
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
"compound_assignment_expression": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"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": "and="
},
{
"type": "STRING",
"value": "or="
},
{
"type": "STRING",
"value": "w/="
}
]
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
"update_expression": {
"type": "PREC_LEFT",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "w/"
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "<-"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
"ternary_expression": {
"type": "PREC_RIGHT",
"value": 3,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "?"
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "|"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
"call_expression": {
"type": "PREC",
"value": 17,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
}
},
"index_expression": {
"type": "PREC",
"value": 20,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "["
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "]"
}
]
}
},
"field_expression": {
"type": "PREC",
"value": 20,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "STRING",
"value": "::"
}
]
},
{
"type": "FIELD",
"name": "field",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
}
},
"unwrap_expression": {
"type": "PREC",
"value": 19,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "!"
}
]
}
},
"lambda_expression": {
"type": "PREC_RIGHT",
"value": 21,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "->"
},
{
"type": "STRING",
"value": "=>"
}
]
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
"range_expression": {
"type": "PREC_LEFT",
"value": 2,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": ".."
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
"step_range_expression": {
"type": "PREC_LEFT",
"value": 3,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": ".."
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": ".."
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
"open_range_start": {
"type": "PREC_RIGHT",
"value": 21,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "..."
}
]
}
},
"open_range_end": {
"type": "PREC_RIGHT",
"value": 21,
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "..."
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
"full_range": {
"type": "STRING",
"value": "..."
},
"new_expression": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "new"
},
{
"type": "SYMBOL",
"name": "path_or_identifier"
},
{
"type": "STRING",
"value": "{"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "struct_fields"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "}"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "new"
},
{
"type": "SYMBOL",
"name": "type"
},
{
"type": "STRING",
"value": "["
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "]"
}
]
}
]
},
"struct_fields": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "..."
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "field_assign"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "field_assign"
}
]
}
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "field_assign"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "field_assign"
}
]
}
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "BLANK"
}
]
}
]
}
]
},
"field_assign": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "STRING",
"value": "="
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
},
"block": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "{"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_statement"
}
},
{
"type": "STRING",
"value": "}"
}
]
},
"if_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "if"
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "block"
}
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "elif_clause"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "else_clause"
},
{
"type": "BLANK"
}
]
}
]
},
"elif_clause": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "elif"
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "block"
}
}
]
},
"else_clause": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "else"
},
{
"type": "SYMBOL",
"name": "block"
}
]
},
"for_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "for"
},
{
"type": "SYMBOL",
"name": "pattern"
},
{
"type": "STRING",
"value": "in"
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "SYMBOL",
"name": "block"
}
]
},
"while_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "while"
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "SYMBOL",
"name": "block"
}
]
},
"repeat_expression": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "repeat"
},
{
"type": "SYMBOL",
"name": "block"
},
{
"type": "STRING",
"value": "until"
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "fixup"
},
{
"type": "SYMBOL",
"name": "block"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "repeat"
},
{
"type": "SYMBOL",
"name": "block"
},
{
"type": "STRING",
"value": "until"
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": ";"
}
]
}
]
},
"conjugation_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "within"
},
{
"type": "SYMBOL",
"name": "block"
},
{
"type": "STRING",
"value": "apply"
},
{
"type": "SYMBOL",
"name": "block"
}
]
},
"path_or_identifier": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "path"
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
},
"path": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "REPEAT1",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
}
}
]
}
},
"literal": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "integer_literal"
},
{
"type": "SYMBOL",
"name": "bigint_literal"
},
{
"type": "SYMBOL",
"name": "float_literal"
},
{
"type": "SYMBOL",
"name": "imaginary_literal"
},
{
"type": "SYMBOL",
"name": "string_literal"
},
{
"type": "SYMBOL",
"name": "bool_literal"
},
{
"type": "SYMBOL",
"name": "result_literal"
},
{
"type": "SYMBOL",
"name": "pauli_literal"
}
]
},
"integer_literal": {
"type": "TOKEN",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "0[bB][01_]+"
},
{
"type": "PATTERN",
"value": "0[oO][0-7_]+"
},
{
"type": "PATTERN",
"value": "0[xX][0-9a-fA-F_]+"
},
{
"type": "PATTERN",
"value": "[0-9][0-9_]*"
}
]
}
},
"bigint_literal": {
"type": "TOKEN",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "0[bB][01_]+L"
},
{
"type": "PATTERN",
"value": "0[oO][0-7_]+L"
},
{
"type": "PATTERN",
"value": "0[xX][0-9a-fA-F_]+L"
},
{
"type": "PATTERN",
"value": "[0-9][0-9_]*L"
}
]
}
},
"imaginary_literal": {
"type": "TOKEN",
"content": {
"type": "PATTERN",
"value": "[0-9][0-9_]*(\\.[0-9][0-9_]*)?([eE][+-]?[0-9][0-9_]*)?i"
}
},
"string_literal": {
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\""
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[^\"\\\\]"
},
{
"type": "PATTERN",
"value": "\\\\."
}
]
}
},
{
"type": "STRING",
"value": "\""
}
]
}
},
"bool_literal": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "true"
},
{
"type": "STRING",
"value": "false"
}
]
},
"result_literal": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Zero"
},
{
"type": "STRING",
"value": "One"
}
]
},
"pauli_literal": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "PauliI"
},
{
"type": "STRING",
"value": "PauliX"
},
{
"type": "STRING",
"value": "PauliY"
},
{
"type": "STRING",
"value": "PauliZ"
}
]
},
"identifier": {
"type": "PATTERN",
"value": "[a-zA-Z_][a-zA-Z0-9_]*"
},
"apos_ident": {
"type": "PATTERN",
"value": "'[a-zA-Z_][a-zA-Z0-9_]*"
},
"comment": {
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "//"
},
{
"type": "PATTERN",
"value": "[^\\/\\n][^\\n]*|[^\\n\\/]|"
}
]
}
},
"doc_comment": {
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "///"
},
{
"type": "PATTERN",
"value": "[^\\n]*"
}
]
}
}
},
"extras": [
{
"type": "PATTERN",
"value": "\\s"
},
{
"type": "SYMBOL",
"name": "comment"
},
{
"type": "SYMBOL",
"name": "doc_comment"
}
],
"conflicts": [
[
"_expression_no_block",
"path"
],
[
"expression_statement",
"_expression"
],
[
"type_def",
"tuple_type"
],
[
"_top_level_item",
"_statement"
]
],
"precedences": [],
"externals": [
{
"type": "SYMBOL",
"name": "float_literal"
},
{
"type": "SYMBOL",
"name": "_error_sentinel"
}
],
"inline": [],
"supertypes": [
"literal",
"type"
],
"reserved": {}
}