schemas/julia.json

[
  {
    "type": "_definition",
    "named": true,
    "subtypes": [
      {
        "type": "abstract_definition",
        "named": true
      },
      {
        "type": "function_definition",
        "named": true
      },
      {
        "type": "macro_definition",
        "named": true
      },
      {
        "type": "module_definition",
        "named": true
      },
      {
        "type": "primitive_definition",
        "named": true
      },
      {
        "type": "struct_definition",
        "named": true
      }
    ]
  },
  {
    "type": "_expression",
    "named": true,
    "subtypes": [
      {
        "type": "_definition",
        "named": true
      },
      {
        "type": "_statement",
        "named": true
      },
      {
        "type": "adjoint_expression",
        "named": true
      },
      {
        "type": "arrow_function_expression",
        "named": true
      },
      {
        "type": "binary_expression",
        "named": true
      },
      {
        "type": "boolean_literal",
        "named": true
      },
      {
        "type": "broadcast_call_expression",
        "named": true
      },
      {
        "type": "call_expression",
        "named": true
      },
      {
        "type": "character_literal",
        "named": true
      },
      {
        "type": "command_literal",
        "named": true
      },
      {
        "type": "compound_assignment_expression",
        "named": true
      },
      {
        "type": "comprehension_expression",
        "named": true
      },
      {
        "type": "curly_expression",
        "named": true
      },
      {
        "type": "field_expression",
        "named": true
      },
      {
        "type": "float_literal",
        "named": true
      },
      {
        "type": "identifier",
        "named": true
      },
      {
        "type": "index_expression",
        "named": true
      },
      {
        "type": "integer_literal",
        "named": true
      },
      {
        "type": "interpolation_expression",
        "named": true
      },
      {
        "type": "juxtaposition_expression",
        "named": true
      },
      {
        "type": "macrocall_expression",
        "named": true
      },
      {
        "type": "matrix_expression",
        "named": true
      },
      {
        "type": "operator",
        "named": true
      },
      {
        "type": "parametrized_type_expression",
        "named": true
      },
      {
        "type": "parenthesized_expression",
        "named": true
      },
      {
        "type": "prefixed_command_literal",
        "named": true
      },
      {
        "type": "prefixed_string_literal",
        "named": true
      },
      {
        "type": "quote_expression",
        "named": true
      },
      {
        "type": "range_expression",
        "named": true
      },
      {
        "type": "splat_expression",
        "named": true
      },
      {
        "type": "string_literal",
        "named": true
      },
      {
        "type": "ternary_expression",
        "named": true
      },
      {
        "type": "tuple_expression",
        "named": true
      },
      {
        "type": "typed_expression",
        "named": true
      },
      {
        "type": "unary_expression",
        "named": true
      },
      {
        "type": "unary_typed_expression",
        "named": true
      },
      {
        "type": "vector_expression",
        "named": true
      },
      {
        "type": "where_expression",
        "named": true
      }
    ]
  },
  {
    "type": "_statement",
    "named": true,
    "subtypes": [
      {
        "type": "break_statement",
        "named": true
      },
      {
        "type": "compound_statement",
        "named": true
      },
      {
        "type": "const_statement",
        "named": true
      },
      {
        "type": "continue_statement",
        "named": true
      },
      {
        "type": "export_statement",
        "named": true
      },
      {
        "type": "for_statement",
        "named": true
      },
      {
        "type": "global_statement",
        "named": true
      },
      {
        "type": "if_statement",
        "named": true
      },
      {
        "type": "import_statement",
        "named": true
      },
      {
        "type": "let_statement",
        "named": true
      },
      {
        "type": "local_statement",
        "named": true
      },
      {
        "type": "public_statement",
        "named": true
      },
      {
        "type": "quote_statement",
        "named": true
      },
      {
        "type": "return_statement",
        "named": true
      },
      {
        "type": "try_statement",
        "named": true
      },
      {
        "type": "using_statement",
        "named": true
      },
      {
        "type": "while_statement",
        "named": true
      }
    ]
  },
  {
    "type": "abstract_definition",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "type_head",
          "named": true
        }
      ]
    }
  },
  {
    "type": "adjoint_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "adjoint_expression",
          "named": true
        },
        {
          "type": "boolean_literal",
          "named": true
        },
        {
          "type": "broadcast_call_expression",
          "named": true
        },
        {
          "type": "call_expression",
          "named": true
        },
        {
          "type": "character_literal",
          "named": true
        },
        {
          "type": "command_literal",
          "named": true
        },
        {
          "type": "comprehension_expression",
          "named": true
        },
        {
          "type": "curly_expression",
          "named": true
        },
        {
          "type": "field_expression",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "index_expression",
          "named": true
        },
        {
          "type": "interpolation_expression",
          "named": true
        },
        {
          "type": "macrocall_expression",
          "named": true
        },
        {
          "type": "matrix_expression",
          "named": true
        },
        {
          "type": "parametrized_type_expression",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "prefixed_command_literal",
          "named": true
        },
        {
          "type": "prefixed_string_literal",
          "named": true
        },
        {
          "type": "quote_expression",
          "named": true
        },
        {
          "type": "string_literal",
          "named": true
        },
        {
          "type": "tuple_expression",
          "named": true
        },
        {
          "type": "vector_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "argument_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "assignment",
          "named": true
        },
        {
          "type": "generator",
          "named": true
        }
      ]
    }
  },
  {
    "type": "arrow_function_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "argument_list",
          "named": true
        },
        {
          "type": "assignment",
          "named": true
        }
      ]
    }
  },
  {
    "type": "assignment",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "assignment",
          "named": true
        },
        {
          "type": "open_tuple",
          "named": true
        }
      ]
    }
  },
  {
    "type": "binary_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "block",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "assignment",
          "named": true
        },
        {
          "type": "open_tuple",
          "named": true
        }
      ]
    }
  },
  {
    "type": "block_comment",
    "named": true,
    "extra": true,
    "fields": {}
  },
  {
    "type": "boolean_literal",
    "named": true,
    "fields": {}
  },
  {
    "type": "broadcast_call_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "adjoint_expression",
          "named": true
        },
        {
          "type": "argument_list",
          "named": true
        },
        {
          "type": "boolean_literal",
          "named": true
        },
        {
          "type": "broadcast_call_expression",
          "named": true
        },
        {
          "type": "call_expression",
          "named": true
        },
        {
          "type": "character_literal",
          "named": true
        },
        {
          "type": "command_literal",
          "named": true
        },
        {
          "type": "comprehension_expression",
          "named": true
        },
        {
          "type": "curly_expression",
          "named": true
        },
        {
          "type": "do_clause",
          "named": true
        },
        {
          "type": "field_expression",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "index_expression",
          "named": true
        },
        {
          "type": "interpolation_expression",
          "named": true
        },
        {
          "type": "macrocall_expression",
          "named": true
        },
        {
          "type": "matrix_expression",
          "named": true
        },
        {
          "type": "parametrized_type_expression",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "prefixed_command_literal",
          "named": true
        },
        {
          "type": "prefixed_string_literal",
          "named": true
        },
        {
          "type": "quote_expression",
          "named": true
        },
        {
          "type": "string_literal",
          "named": true
        },
        {
          "type": "tuple_expression",
          "named": true
        },
        {
          "type": "vector_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "call_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "adjoint_expression",
          "named": true
        },
        {
          "type": "argument_list",
          "named": true
        },
        {
          "type": "boolean_literal",
          "named": true
        },
        {
          "type": "broadcast_call_expression",
          "named": true
        },
        {
          "type": "call_expression",
          "named": true
        },
        {
          "type": "character_literal",
          "named": true
        },
        {
          "type": "command_literal",
          "named": true
        },
        {
          "type": "comprehension_expression",
          "named": true
        },
        {
          "type": "curly_expression",
          "named": true
        },
        {
          "type": "do_clause",
          "named": true
        },
        {
          "type": "field_expression",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "index_expression",
          "named": true
        },
        {
          "type": "interpolation_expression",
          "named": true
        },
        {
          "type": "macrocall_expression",
          "named": true
        },
        {
          "type": "matrix_expression",
          "named": true
        },
        {
          "type": "operator",
          "named": true
        },
        {
          "type": "parametrized_type_expression",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "prefixed_command_literal",
          "named": true
        },
        {
          "type": "prefixed_string_literal",
          "named": true
        },
        {
          "type": "quote_expression",
          "named": true
        },
        {
          "type": "string_literal",
          "named": true
        },
        {
          "type": "tuple_expression",
          "named": true
        },
        {
          "type": "vector_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "catch_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "block",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "command_literal",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "content",
          "named": true
        },
        {
          "type": "escape_sequence",
          "named": true
        },
        {
          "type": "string_interpolation",
          "named": true
        }
      ]
    }
  },
  {
    "type": "compound_assignment_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "compound_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "block",
          "named": true
        }
      ]
    }
  },
  {
    "type": "comprehension_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "assignment",
          "named": true
        },
        {
          "type": "for_clause",
          "named": true
        },
        {
          "type": "if_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "const_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "assignment",
          "named": true
        },
        {
          "type": "open_tuple",
          "named": true
        }
      ]
    }
  },
  {
    "type": "curly_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "assignment",
          "named": true
        }
      ]
    }
  },
  {
    "type": "do_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "assignment",
          "named": true
        },
        {
          "type": "block",
          "named": true
        }
      ]
    }
  },
  {
    "type": "else_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "block",
          "named": true
        }
      ]
    }
  },
  {
    "type": "elseif_clause",
    "named": true,
    "fields": {
      "condition": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "block",
          "named": true
        }
      ]
    }
  },
  {
    "type": "export_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "interpolation_expression",
          "named": true
        },
        {
          "type": "macro_identifier",
          "named": true
        },
        {
          "type": "operator",
          "named": true
        }
      ]
    }
  },
  {
    "type": "field_expression",
    "named": true,
    "fields": {
      "value": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "adjoint_expression",
            "named": true
          },
          {
            "type": "boolean_literal",
            "named": true
          },
          {
            "type": "broadcast_call_expression",
            "named": true
          },
          {
            "type": "call_expression",
            "named": true
          },
          {
            "type": "character_literal",
            "named": true
          },
          {
            "type": "command_literal",
            "named": true
          },
          {
            "type": "comprehension_expression",
            "named": true
          },
          {
            "type": "curly_expression",
            "named": true
          },
          {
            "type": "field_expression",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "index_expression",
            "named": true
          },
          {
            "type": "interpolation_expression",
            "named": true
          },
          {
            "type": "macrocall_expression",
            "named": true
          },
          {
            "type": "matrix_expression",
            "named": true
          },
          {
            "type": "parametrized_type_expression",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "prefixed_command_literal",
            "named": true
          },
          {
            "type": "prefixed_string_literal",
            "named": true
          },
          {
            "type": "quote_expression",
            "named": true
          },
          {
            "type": "string_literal",
            "named": true
          },
          {
            "type": "tuple_expression",
            "named": true
          },
          {
            "type": "vector_expression",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "adjoint_expression",
          "named": true
        },
        {
          "type": "boolean_literal",
          "named": true
        },
        {
          "type": "broadcast_call_expression",
          "named": true
        },
        {
          "type": "call_expression",
          "named": true
        },
        {
          "type": "character_literal",
          "named": true
        },
        {
          "type": "command_literal",
          "named": true
        },
        {
          "type": "comprehension_expression",
          "named": true
        },
        {
          "type": "curly_expression",
          "named": true
        },
        {
          "type": "field_expression",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "index_expression",
          "named": true
        },
        {
          "type": "interpolation_expression",
          "named": true
        },
        {
          "type": "macro_identifier",
          "named": true
        },
        {
          "type": "macrocall_expression",
          "named": true
        },
        {
          "type": "matrix_expression",
          "named": true
        },
        {
          "type": "parametrized_type_expression",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "prefixed_command_literal",
          "named": true
        },
        {
          "type": "prefixed_string_literal",
          "named": true
        },
        {
          "type": "quote_expression",
          "named": true
        },
        {
          "type": "string_literal",
          "named": true
        },
        {
          "type": "tuple_expression",
          "named": true
        },
        {
          "type": "vector_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "finally_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "block",
          "named": true
        }
      ]
    }
  },
  {
    "type": "float_literal",
    "named": true,
    "fields": {}
  },
  {
    "type": "for_binding",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "for_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "for_binding",
          "named": true
        }
      ]
    }
  },
  {
    "type": "for_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "block",
          "named": true
        },
        {
          "type": "for_binding",
          "named": true
        }
      ]
    }
  },
  {
    "type": "function_definition",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "block",
          "named": true
        },
        {
          "type": "signature",
          "named": true
        }
      ]
    }
  },
  {
    "type": "generator",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "assignment",
          "named": true
        },
        {
          "type": "for_clause",
          "named": true
        },
        {
          "type": "if_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "global_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "assignment",
          "named": true
        },
        {
          "type": "open_tuple",
          "named": true
        }
      ]
    }
  },
  {
    "type": "identifier",
    "named": true,
    "fields": {}
  },
  {
    "type": "if_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "if_statement",
    "named": true,
    "fields": {
      "alternative": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "else_clause",
            "named": true
          },
          {
            "type": "elseif_clause",
            "named": true
          }
        ]
      },
      "condition": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "block",
          "named": true
        }
      ]
    }
  },
  {
    "type": "import_alias",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "import_path",
          "named": true
        },
        {
          "type": "interpolation_expression",
          "named": true
        },
        {
          "type": "macro_identifier",
          "named": true
        },
        {
          "type": "operator",
          "named": true
        }
      ]
    }
  },
  {
    "type": "import_path",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "interpolation_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "import_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "import_alias",
          "named": true
        },
        {
          "type": "import_path",
          "named": true
        },
        {
          "type": "interpolation_expression",
          "named": true
        },
        {
          "type": "macro_identifier",
          "named": true
        },
        {
          "type": "operator",
          "named": true
        },
        {
          "type": "selected_import",
          "named": true
        }
      ]
    }
  },
  {
    "type": "index_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "adjoint_expression",
          "named": true
        },
        {
          "type": "boolean_literal",
          "named": true
        },
        {
          "type": "broadcast_call_expression",
          "named": true
        },
        {
          "type": "call_expression",
          "named": true
        },
        {
          "type": "character_literal",
          "named": true
        },
        {
          "type": "command_literal",
          "named": true
        },
        {
          "type": "comprehension_expression",
          "named": true
        },
        {
          "type": "curly_expression",
          "named": true
        },
        {
          "type": "field_expression",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "index_expression",
          "named": true
        },
        {
          "type": "interpolation_expression",
          "named": true
        },
        {
          "type": "macrocall_expression",
          "named": true
        },
        {
          "type": "matrix_expression",
          "named": true
        },
        {
          "type": "parametrized_type_expression",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "prefixed_command_literal",
          "named": true
        },
        {
          "type": "prefixed_string_literal",
          "named": true
        },
        {
          "type": "quote_expression",
          "named": true
        },
        {
          "type": "string_literal",
          "named": true
        },
        {
          "type": "tuple_expression",
          "named": true
        },
        {
          "type": "vector_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "integer_literal",
    "named": true,
    "fields": {}
  },
  {
    "type": "interpolation_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "character_literal",
          "named": true
        },
        {
          "type": "command_literal",
          "named": true
        },
        {
          "type": "comprehension_expression",
          "named": true
        },
        {
          "type": "curly_expression",
          "named": true
        },
        {
          "type": "float_literal",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "integer_literal",
          "named": true
        },
        {
          "type": "matrix_expression",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "prefixed_command_literal",
          "named": true
        },
        {
          "type": "prefixed_string_literal",
          "named": true
        },
        {
          "type": "string_literal",
          "named": true
        },
        {
          "type": "tuple_expression",
          "named": true
        },
        {
          "type": "vector_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "juxtaposition_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "adjoint_expression",
          "named": true
        },
        {
          "type": "boolean_literal",
          "named": true
        },
        {
          "type": "broadcast_call_expression",
          "named": true
        },
        {
          "type": "call_expression",
          "named": true
        },
        {
          "type": "character_literal",
          "named": true
        },
        {
          "type": "command_literal",
          "named": true
        },
        {
          "type": "comprehension_expression",
          "named": true
        },
        {
          "type": "curly_expression",
          "named": true
        },
        {
          "type": "field_expression",
          "named": true
        },
        {
          "type": "float_literal",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "index_expression",
          "named": true
        },
        {
          "type": "integer_literal",
          "named": true
        },
        {
          "type": "interpolation_expression",
          "named": true
        },
        {
          "type": "macrocall_expression",
          "named": true
        },
        {
          "type": "matrix_expression",
          "named": true
        },
        {
          "type": "parametrized_type_expression",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "prefixed_command_literal",
          "named": true
        },
        {
          "type": "prefixed_string_literal",
          "named": true
        },
        {
          "type": "quote_expression",
          "named": true
        },
        {
          "type": "string_literal",
          "named": true
        },
        {
          "type": "tuple_expression",
          "named": true
        },
        {
          "type": "vector_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "let_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "assignment",
          "named": true
        },
        {
          "type": "block",
          "named": true
        }
      ]
    }
  },
  {
    "type": "line_comment",
    "named": true,
    "extra": true,
    "fields": {}
  },
  {
    "type": "local_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "assignment",
          "named": true
        },
        {
          "type": "open_tuple",
          "named": true
        }
      ]
    }
  },
  {
    "type": "macro_argument_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "assignment",
          "named": true
        },
        {
          "type": "open_tuple",
          "named": true
        }
      ]
    }
  },
  {
    "type": "macro_definition",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "block",
          "named": true
        },
        {
          "type": "signature",
          "named": true
        }
      ]
    }
  },
  {
    "type": "macro_identifier",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "field_expression",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "operator",
          "named": true
        }
      ]
    }
  },
  {
    "type": "macrocall_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "argument_list",
          "named": true
        },
        {
          "type": "comprehension_expression",
          "named": true
        },
        {
          "type": "curly_expression",
          "named": true
        },
        {
          "type": "do_clause",
          "named": true
        },
        {
          "type": "field_expression",
          "named": true
        },
        {
          "type": "macro_argument_list",
          "named": true
        },
        {
          "type": "macro_identifier",
          "named": true
        },
        {
          "type": "matrix_expression",
          "named": true
        },
        {
          "type": "vector_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "matrix_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "matrix_row",
          "named": true
        }
      ]
    }
  },
  {
    "type": "matrix_row",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "assignment",
          "named": true
        }
      ]
    }
  },
  {
    "type": "module_definition",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "interpolation_expression",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "block",
          "named": true
        }
      ]
    }
  },
  {
    "type": "open_tuple",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "operator",
    "named": true,
    "fields": {}
  },
  {
    "type": "parametrized_type_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "adjoint_expression",
          "named": true
        },
        {
          "type": "boolean_literal",
          "named": true
        },
        {
          "type": "broadcast_call_expression",
          "named": true
        },
        {
          "type": "call_expression",
          "named": true
        },
        {
          "type": "character_literal",
          "named": true
        },
        {
          "type": "command_literal",
          "named": true
        },
        {
          "type": "comprehension_expression",
          "named": true
        },
        {
          "type": "curly_expression",
          "named": true
        },
        {
          "type": "field_expression",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "index_expression",
          "named": true
        },
        {
          "type": "interpolation_expression",
          "named": true
        },
        {
          "type": "macrocall_expression",
          "named": true
        },
        {
          "type": "matrix_expression",
          "named": true
        },
        {
          "type": "parametrized_type_expression",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "prefixed_command_literal",
          "named": true
        },
        {
          "type": "prefixed_string_literal",
          "named": true
        },
        {
          "type": "quote_expression",
          "named": true
        },
        {
          "type": "string_literal",
          "named": true
        },
        {
          "type": "tuple_expression",
          "named": true
        },
        {
          "type": "vector_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "parenthesized_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "assignment",
          "named": true
        },
        {
          "type": "generator",
          "named": true
        }
      ]
    }
  },
  {
    "type": "prefixed_command_literal",
    "named": true,
    "fields": {
      "prefix": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "suffix": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "content",
          "named": true
        },
        {
          "type": "escape_sequence",
          "named": true
        }
      ]
    }
  },
  {
    "type": "prefixed_string_literal",
    "named": true,
    "fields": {
      "prefix": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "suffix": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "content",
          "named": true
        },
        {
          "type": "escape_sequence",
          "named": true
        }
      ]
    }
  },
  {
    "type": "primitive_definition",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "integer_literal",
          "named": true
        },
        {
          "type": "type_head",
          "named": true
        }
      ]
    }
  },
  {
    "type": "public_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "interpolation_expression",
          "named": true
        },
        {
          "type": "macro_identifier",
          "named": true
        },
        {
          "type": "operator",
          "named": true
        }
      ]
    }
  },
  {
    "type": "quote_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "character_literal",
          "named": true
        },
        {
          "type": "command_literal",
          "named": true
        },
        {
          "type": "comprehension_expression",
          "named": true
        },
        {
          "type": "curly_expression",
          "named": true
        },
        {
          "type": "float_literal",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "integer_literal",
          "named": true
        },
        {
          "type": "matrix_expression",
          "named": true
        },
        {
          "type": "operator",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "prefixed_command_literal",
          "named": true
        },
        {
          "type": "prefixed_string_literal",
          "named": true
        },
        {
          "type": "string_literal",
          "named": true
        },
        {
          "type": "tuple_expression",
          "named": true
        },
        {
          "type": "vector_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "quote_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "block",
          "named": true
        }
      ]
    }
  },
  {
    "type": "range_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "return_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "assignment",
          "named": true
        },
        {
          "type": "open_tuple",
          "named": true
        }
      ]
    }
  },
  {
    "type": "selected_import",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "import_alias",
          "named": true
        },
        {
          "type": "import_path",
          "named": true
        },
        {
          "type": "interpolation_expression",
          "named": true
        },
        {
          "type": "macro_identifier",
          "named": true
        },
        {
          "type": "operator",
          "named": true
        }
      ]
    }
  },
  {
    "type": "signature",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "argument_list",
          "named": true
        },
        {
          "type": "call_expression",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "typed_expression",
          "named": true
        },
        {
          "type": "where_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "source_file",
    "named": true,
    "root": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "assignment",
          "named": true
        },
        {
          "type": "open_tuple",
          "named": true
        }
      ]
    }
  },
  {
    "type": "splat_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "string_interpolation",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "assignment",
          "named": true
        }
      ]
    }
  },
  {
    "type": "string_literal",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "content",
          "named": true
        },
        {
          "type": "escape_sequence",
          "named": true
        },
        {
          "type": "string_interpolation",
          "named": true
        }
      ]
    }
  },
  {
    "type": "struct_definition",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "block",
          "named": true
        },
        {
          "type": "type_head",
          "named": true
        }
      ]
    }
  },
  {
    "type": "ternary_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "assignment",
          "named": true
        }
      ]
    }
  },
  {
    "type": "try_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "block",
          "named": true
        },
        {
          "type": "catch_clause",
          "named": true
        },
        {
          "type": "else_clause",
          "named": true
        },
        {
          "type": "finally_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "tuple_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "assignment",
          "named": true
        },
        {
          "type": "generator",
          "named": true
        }
      ]
    }
  },
  {
    "type": "type_head",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "adjoint_expression",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "boolean_literal",
          "named": true
        },
        {
          "type": "broadcast_call_expression",
          "named": true
        },
        {
          "type": "call_expression",
          "named": true
        },
        {
          "type": "character_literal",
          "named": true
        },
        {
          "type": "command_literal",
          "named": true
        },
        {
          "type": "comprehension_expression",
          "named": true
        },
        {
          "type": "curly_expression",
          "named": true
        },
        {
          "type": "field_expression",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "index_expression",
          "named": true
        },
        {
          "type": "interpolation_expression",
          "named": true
        },
        {
          "type": "macrocall_expression",
          "named": true
        },
        {
          "type": "matrix_expression",
          "named": true
        },
        {
          "type": "parametrized_type_expression",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "prefixed_command_literal",
          "named": true
        },
        {
          "type": "prefixed_string_literal",
          "named": true
        },
        {
          "type": "quote_expression",
          "named": true
        },
        {
          "type": "string_literal",
          "named": true
        },
        {
          "type": "tuple_expression",
          "named": true
        },
        {
          "type": "vector_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "typed_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "unary_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "unary_typed_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "adjoint_expression",
          "named": true
        },
        {
          "type": "boolean_literal",
          "named": true
        },
        {
          "type": "broadcast_call_expression",
          "named": true
        },
        {
          "type": "call_expression",
          "named": true
        },
        {
          "type": "character_literal",
          "named": true
        },
        {
          "type": "command_literal",
          "named": true
        },
        {
          "type": "comprehension_expression",
          "named": true
        },
        {
          "type": "curly_expression",
          "named": true
        },
        {
          "type": "field_expression",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "index_expression",
          "named": true
        },
        {
          "type": "interpolation_expression",
          "named": true
        },
        {
          "type": "macrocall_expression",
          "named": true
        },
        {
          "type": "matrix_expression",
          "named": true
        },
        {
          "type": "parametrized_type_expression",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "prefixed_command_literal",
          "named": true
        },
        {
          "type": "prefixed_string_literal",
          "named": true
        },
        {
          "type": "quote_expression",
          "named": true
        },
        {
          "type": "string_literal",
          "named": true
        },
        {
          "type": "tuple_expression",
          "named": true
        },
        {
          "type": "vector_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "using_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "import_alias",
          "named": true
        },
        {
          "type": "import_path",
          "named": true
        },
        {
          "type": "interpolation_expression",
          "named": true
        },
        {
          "type": "macro_identifier",
          "named": true
        },
        {
          "type": "operator",
          "named": true
        },
        {
          "type": "selected_import",
          "named": true
        }
      ]
    }
  },
  {
    "type": "vector_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "assignment",
          "named": true
        }
      ]
    }
  },
  {
    "type": "where_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "while_statement",
    "named": true,
    "fields": {
      "condition": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "block",
          "named": true
        }
      ]
    }
  },
  {
    "type": "\"",
    "named": false
  },
  {
    "type": "\"\"\"",
    "named": false
  },
  {
    "type": "$",
    "named": false
  },
  {
    "type": "$=",
    "named": false
  },
  {
    "type": "'",
    "named": false
  },
  {
    "type": "(",
    "named": false
  },
  {
    "type": ")",
    "named": false
  },
  {
    "type": ",",
    "named": false
  },
  {
    "type": "->",
    "named": false
  },
  {
    "type": ".",
    "named": false
  },
  {
    "type": "...",
    "named": false
  },
  {
    "type": ".=",
    "named": false
  },
  {
    "type": ":",
    "named": false
  },
  {
    "type": "::",
    "named": false
  },
  {
    "type": ":=",
    "named": false
  },
  {
    "type": ";",
    "named": false
  },
  {
    "type": "?",
    "named": false
  },
  {
    "type": "@",
    "named": false
  },
  {
    "type": "[",
    "named": false
  },
  {
    "type": "]",
    "named": false
  },
  {
    "type": "`",
    "named": false
  },
  {
    "type": "```",
    "named": false
  },
  {
    "type": "abstract",
    "named": false
  },
  {
    "type": "as",
    "named": false
  },
  {
    "type": "baremodule",
    "named": false
  },
  {
    "type": "begin",
    "named": false
  },
  {
    "type": "break_statement",
    "named": true
  },
  {
    "type": "catch",
    "named": false
  },
  {
    "type": "character_literal",
    "named": true
  },
  {
    "type": "const",
    "named": false
  },
  {
    "type": "content",
    "named": true
  },
  {
    "type": "continue_statement",
    "named": true
  },
  {
    "type": "do",
    "named": false
  },
  {
    "type": "else",
    "named": false
  },
  {
    "type": "elseif",
    "named": false
  },
  {
    "type": "end",
    "named": false
  },
  {
    "type": "escape_sequence",
    "named": true
  },
  {
    "type": "export",
    "named": false
  },
  {
    "type": "false",
    "named": false
  },
  {
    "type": "finally",
    "named": false
  },
  {
    "type": "for",
    "named": false
  },
  {
    "type": "function",
    "named": false
  },
  {
    "type": "global",
    "named": false
  },
  {
    "type": "if",
    "named": false
  },
  {
    "type": "import",
    "named": false
  },
  {
    "type": "let",
    "named": false
  },
  {
    "type": "local",
    "named": false
  },
  {
    "type": "macro",
    "named": false
  },
  {
    "type": "module",
    "named": false
  },
  {
    "type": "mutable",
    "named": false
  },
  {
    "type": "outer",
    "named": false
  },
  {
    "type": "primitive",
    "named": false
  },
  {
    "type": "public",
    "named": false
  },
  {
    "type": "quote",
    "named": false
  },
  {
    "type": "return",
    "named": false
  },
  {
    "type": "struct",
    "named": false
  },
  {
    "type": "true",
    "named": false
  },
  {
    "type": "try",
    "named": false
  },
  {
    "type": "type",
    "named": false
  },
  {
    "type": "using",
    "named": false
  },
  {
    "type": "where",
    "named": false
  },
  {
    "type": "while",
    "named": false
  },
  {
    "type": "{",
    "named": false
  },
  {
    "type": "}",
    "named": false
  }
]