[
{
"type": "and_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "and_expression",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "operator_and",
"named": true
},
{
"type": "or_expression",
"named": true
},
{
"type": "paren_expression",
"named": true
}
]
}
},
{
"type": "anonymous_enum_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "bool_literal",
"named": true
},
{
"type": "float_literal",
"named": true
},
{
"type": "int_literal",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "operator_or",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "anonymous_list_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "bool_literal",
"named": true
},
{
"type": "comma",
"named": true
},
{
"type": "float_literal",
"named": true
},
{
"type": "int_literal",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "arg_declaration",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "arg_unit",
"named": true
},
{
"type": "constraint_block",
"named": true
},
{
"type": "fat_arrow",
"named": true
},
{
"type": "keyword_arg",
"named": true
},
{
"type": "type_expression",
"named": true
}
]
}
},
{
"type": "arg_unit",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "closed_paren",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "open_paren",
"named": true
},
{
"type": "range_unit",
"named": true
}
]
}
},
{
"type": "cmd_declaration",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "constraint_block",
"named": true
},
{
"type": "declaration_block",
"named": true
},
{
"type": "identifier_with_list",
"named": true
},
{
"type": "keyword_cmd",
"named": true
}
]
}
},
{
"type": "constraint_block",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "closed_square",
"named": true
},
{
"type": "ensures_clause",
"named": true
},
{
"type": "excludes_clause",
"named": true
},
{
"type": "open_square",
"named": true
},
{
"type": "refinement_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": "env_declaration",
"named": true
},
{
"type": "line_comment",
"named": true
},
{
"type": "open_bracket",
"named": true
},
{
"type": "opt_declaration",
"named": true
},
{
"type": "type_declaration",
"named": true
}
]
}
},
{
"type": "ensures_clause",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "and_expression",
"named": true
},
{
"type": "keyword_ensures",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "or_expression",
"named": true
},
{
"type": "paren_expression",
"named": true
}
]
}
},
{
"type": "env_declaration",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "constraint_block",
"named": true
},
{
"type": "fat_arrow",
"named": true
},
{
"type": "identifier_with_list",
"named": true
},
{
"type": "keyword_env",
"named": true
},
{
"type": "type_expression",
"named": true
}
]
}
},
{
"type": "excludes_clause",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "and_expression",
"named": true
},
{
"type": "keyword_excludes",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "or_expression",
"named": true
},
{
"type": "paren_expression",
"named": true
}
]
}
},
{
"type": "identifier_with_list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_list_expression",
"named": true
},
{
"type": "closed_paren",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "open_paren",
"named": true
}
]
}
},
{
"type": "nested_type",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "closed_chevron",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "open_chevron",
"named": true
},
{
"type": "type_expression",
"named": true
}
]
}
},
{
"type": "opt_declaration",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "constraint_block",
"named": true
},
{
"type": "fat_arrow",
"named": true
},
{
"type": "identifier_with_list",
"named": true
},
{
"type": "keyword_opt",
"named": true
},
{
"type": "type_expression",
"named": true
}
]
}
},
{
"type": "or_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "and_expression",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "operator_or",
"named": true
},
{
"type": "or_expression",
"named": true
},
{
"type": "paren_expression",
"named": true
}
]
}
},
{
"type": "paren_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": "paren_expression",
"named": true
}
]
}
},
{
"type": "range_unit",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "bool_literal",
"named": true
},
{
"type": "float_literal",
"named": true
},
{
"type": "int_literal",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "refinement_clause",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_list_expression",
"named": true
},
{
"type": "closed_paren",
"named": true
},
{
"type": "open_paren",
"named": true
},
{
"type": "refinement_identifier",
"named": true
}
]
}
},
{
"type": "requires_clause",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "and_expression",
"named": true
},
{
"type": "keyword_requires",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "or_expression",
"named": true
},
{
"type": "paren_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": "env_declaration",
"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": "keyword_subcommands",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "or_expression",
"named": true
},
{
"type": "paren_expression",
"named": true
}
]
}
},
{
"type": "type_declaration",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "constraint_block",
"named": true
},
{
"type": "fat_arrow",
"named": true
},
{
"type": "keyword_type",
"named": true
},
{
"type": "named_identifier",
"named": true
},
{
"type": "type_expression",
"named": true
}
]
}
},
{
"type": "type_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_enum_expression",
"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_ensures",
"named": true
},
{
"type": "keyword_env",
"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": "operator_or",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "refinement_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
}
]