[
{
"type": "and_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "and_expression",
"named": true
},
{
"type": "closed_paren",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "open_paren",
"named": true
},
{
"type": "operator_and",
"named": true
},
{
"type": "or_expression",
"named": true
}
]
}
},
{
"type": "anonymous_enum_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "literals",
"named": true
},
{
"type": "pipe",
"named": true
}
]
}
},
{
"type": "arg_declaration",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_enum_expression",
"named": true
},
{
"type": "arg_unit",
"named": true
},
{
"type": "constraint_block",
"named": true
},
{
"type": "fat_arrow",
"named": true
},
{
"type": "keyword_arg",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "nested_type",
"named": true
}
]
}
},
{
"type": "arg_unit",
"named": true,
"fields": {
"end": {
"multiple": false,
"required": false,
"types": [
{
"type": "int_literal",
"named": true
}
]
},
"start": {
"multiple": false,
"required": false,
"types": [
{
"type": "int_literal",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "closed_paren",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "open_paren",
"named": true
},
{
"type": "range",
"named": true
}
]
}
},
{
"type": "cmd_declaration",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "cmd_unit",
"named": true
},
{
"type": "constraint_block",
"named": true
},
{
"type": "declaration_block",
"named": true
},
{
"type": "keyword_cmd",
"named": true
}
]
}
},
{
"type": "cmd_unit",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "closed_paren",
"named": true
},
{
"type": "comma",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "open_paren",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "constraint_block",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "closed_square",
"named": true
},
{
"type": "constraint_declaration",
"named": true
},
{
"type": "open_square",
"named": true
}
]
}
},
{
"type": "constraint_declaration",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "effects_clause",
"named": true
},
{
"type": "excludes_clause",
"named": true
},
{
"type": "requires_clause",
"named": true
},
{
"type": "subcommands_clause",
"named": true
}
]
}
},
{
"type": "declaration_block",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "arg_declaration",
"named": true
},
{
"type": "closed_bracket",
"named": true
},
{
"type": "cmd_declaration",
"named": true
},
{
"type": "doc_comment",
"named": true
},
{
"type": "line_comment",
"named": true
},
{
"type": "open_bracket",
"named": true
},
{
"type": "opt_declaration",
"named": true
},
{
"type": "type_declaration",
"named": true
}
]
}
},
{
"type": "effects_clause",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "and_expression",
"named": true
},
{
"type": "closed_paren",
"named": true
},
{
"type": "keyword_effects",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "open_paren",
"named": true
},
{
"type": "or_expression",
"named": true
}
]
}
},
{
"type": "excludes_clause",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "and_expression",
"named": true
},
{
"type": "closed_paren",
"named": true
},
{
"type": "keyword_excludes",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "open_paren",
"named": true
},
{
"type": "or_expression",
"named": true
}
]
}
},
{
"type": "literals",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "bool_literal",
"named": true
},
{
"type": "float_literal",
"named": true
},
{
"type": "int_literal",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "nested_type",
"named": true,
"fields": {
"inner": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_enum_expression",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "nested_type",
"named": true
}
]
},
"outer": {
"multiple": false,
"required": true,
"types": [
{
"type": "named_identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "closed_chevron",
"named": true
},
{
"type": "open_chevron",
"named": true
}
]
}
},
{
"type": "opt_declaration",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_enum_expression",
"named": true
},
{
"type": "constraint_block",
"named": true
},
{
"type": "fat_arrow",
"named": true
},
{
"type": "keyword_opt",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "nested_type",
"named": true
},
{
"type": "opt_unit",
"named": true
}
]
}
},
{
"type": "opt_unit",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "closed_paren",
"named": true
},
{
"type": "comma",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "open_paren",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "or_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "and_expression",
"named": true
},
{
"type": "closed_paren",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "open_paren",
"named": true
},
{
"type": "or_expression",
"named": true
},
{
"type": "pipe",
"named": true
}
]
}
},
{
"type": "requires_clause",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "and_expression",
"named": true
},
{
"type": "closed_paren",
"named": true
},
{
"type": "keyword_requires",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "open_paren",
"named": true
},
{
"type": "or_expression",
"named": true
}
]
}
},
{
"type": "source_file",
"named": true,
"root": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "arg_declaration",
"named": true
},
{
"type": "cmd_declaration",
"named": true
},
{
"type": "doc_comment",
"named": true
},
{
"type": "line_comment",
"named": true
},
{
"type": "opt_declaration",
"named": true
},
{
"type": "type_declaration",
"named": true
}
]
}
},
{
"type": "subcommands_clause",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "and_expression",
"named": true
},
{
"type": "closed_paren",
"named": true
},
{
"type": "keyword_subcommands",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "open_paren",
"named": true
},
{
"type": "or_expression",
"named": true
}
]
}
},
{
"type": "type_declaration",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_enum_expression",
"named": true
},
{
"type": "constraint_block",
"named": true
},
{
"type": "fat_arrow",
"named": true
},
{
"type": "keyword_type",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "nested_type",
"named": true
}
]
}
},
{
"type": "bool_literal",
"named": true
},
{
"type": "closed_bracket",
"named": true
},
{
"type": "closed_chevron",
"named": true
},
{
"type": "closed_paren",
"named": true
},
{
"type": "closed_square",
"named": true
},
{
"type": "comma",
"named": true
},
{
"type": "doc_comment",
"named": true
},
{
"type": "fat_arrow",
"named": true
},
{
"type": "float_literal",
"named": true
},
{
"type": "int_literal",
"named": true
},
{
"type": "keyword_arg",
"named": true
},
{
"type": "keyword_cmd",
"named": true
},
{
"type": "keyword_effects",
"named": true
},
{
"type": "keyword_excludes",
"named": true
},
{
"type": "keyword_opt",
"named": true
},
{
"type": "keyword_requires",
"named": true
},
{
"type": "keyword_subcommands",
"named": true
},
{
"type": "keyword_type",
"named": true
},
{
"type": "line_comment",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "open_bracket",
"named": true
},
{
"type": "open_chevron",
"named": true
},
{
"type": "open_paren",
"named": true
},
{
"type": "open_square",
"named": true
},
{
"type": "operator_and",
"named": true
},
{
"type": "pipe",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "string_literal",
"named": true
}
]