Skip to main content

NODE_TYPES

Constant NODE_TYPES 

Source
pub const NODE_TYPES: &str = "[\n  {\n    \"type\": \"accessible_by_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"accessor\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_accessible\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"accessor\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_package\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"agent_in\",\n    \"named\": true,\n    \"fields\": {\n      \"argument\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_agent\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_in\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_attribute_definition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_attribute_definition_add_modify\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_attribute_definition_drop\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_attribute_definition_add_modify\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_attribute_definition_attribute_datatype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_add\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_attribute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_modify\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_attribute_definition_attribute\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_attribute_definition_attribute_datatype\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_attribute_definition_attribute_datatype_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_attribute_definition_attribute_datatype_element\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"datatype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_attribute_definition_drop\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_attribute_definition_attribute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_attribute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_collection_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"datatype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_element\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_limit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_modify\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_function\",\n    \"named\": true,\n    \"fields\": {\n      \"obj_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"schema_name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"compiler_parameter_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_compile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_debug\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_editionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_noneditionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_package\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_specification\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reuse_settings\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_library\",\n    \"named\": true,\n    \"fields\": {\n      \"obj_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"schema_name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"compiler_parameter_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_compile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_debug\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_editionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_library\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_noneditionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_package\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_specification\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reuse_settings\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_method_spec\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_method_spec_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_method_spec_element\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"element_spec_map_order_function_spec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"element_spec_subprogram_spec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_add\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_package\",\n    \"named\": true,\n    \"fields\": {\n      \"obj_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"schema_name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"compiler_parameter_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_compile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_debug\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_editionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_noneditionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_package\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_specification\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reuse_settings\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_procedure\",\n    \"named\": true,\n    \"fields\": {\n      \"obj_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"schema_name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"compiler_parameter_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_compile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_debug\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_editionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_noneditionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_package\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_specification\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reuse_settings\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_trigger\",\n    \"named\": true,\n    \"fields\": {\n      \"schema_name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"trigger_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"compiler_parameter_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_compile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_debug\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_disable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_editionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_enable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_noneditionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_package\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_specification\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reuse_settings\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_type\",\n    \"named\": true,\n    \"fields\": {\n      \"schema_name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alter_attribute_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_collection_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_method_spec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_type_replace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compiler_parameter_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dependent_handling_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_compile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_debug\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_editionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_final\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_instantiable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_noneditionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_package\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_reset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_specification\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reuse_settings\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"alter_type_replace\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"accessible_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invoker_rights_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_object\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_replace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_attribute_datatype_element_spec\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"assignment_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"collection_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"host_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"basic_loop_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_loop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"label\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"body\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"end_obj_named\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exception_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_begin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"bulk_collect_into\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_bulk\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_collect\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_limit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element_repeat\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"by_reference\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_reference\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"byte_char\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_byte\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_char\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"c_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"agent_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"external_parameters\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_c\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_external\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_language\",\n          \"named\": true\n        },\n        {\n          \"type\": \"library_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_context\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"call_spec_ext\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"c_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"java_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"case_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_else\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_then\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_when\",\n          \"named\": true\n        },\n        {\n          \"type\": \"label\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"character_set\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_character\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal_string\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"close_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"host_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_close\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"collection_variable\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"compiler_parameter_clause\",\n    \"named\": true,\n    \"fields\": {\n      \"compile_parameter_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"compile_parameter_value\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"+\",\n            \"named\": false\n          },\n          {\n            \"type\": \"-\",\n            \"named\": false\n          },\n          {\n            \"type\": \"float\",\n            \"named\": true\n          },\n          {\n            \"type\": \"kw_false\",\n            \"named\": true\n          },\n          {\n            \"type\": \"kw_null\",\n            \"named\": true\n          },\n          {\n            \"type\": \"kw_true\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"continue_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_continue\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_when\",\n          \"named\": true\n        },\n        {\n          \"type\": \"label\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_function\",\n    \"named\": true,\n    \"fields\": {\n      \"fnc_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"schema_name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_spec_ext\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_obj\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cursor_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cursor_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"end_obj_named\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exception_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_deterministic\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_editionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_noneditionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_parallel_enable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_pipelined\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_result_cache\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"procedure_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"procedure_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sharing_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_collection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_record\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_ref_cursor_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_sub\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_obj\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_or\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_replace\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_package\",\n    \"named\": true,\n    \"fields\": {\n      \"package_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"schema_name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"accessible_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_obj\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cursor_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"default_collation_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"end_obj_named\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exception_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invoker_rights_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_editionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_noneditionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_package\",\n          \"named\": true\n        },\n        {\n          \"type\": \"procedure_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sharing_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_collection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_record\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_ref_cursor_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_sub\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_package_body\",\n    \"named\": true,\n    \"fields\": {\n      \"package_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"schema_name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"create_obj\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cursor_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cursor_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"end_obj_named\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exception_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_editionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_noneditionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_package\",\n          \"named\": true\n        },\n        {\n          \"type\": \"procedure_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"procedure_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sharing_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_collection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_record\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_ref_cursor_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_sub\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_procedure\",\n    \"named\": true,\n    \"fields\": {\n      \"prc_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"schema_name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"accessible_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_spec_ext\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_obj\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cursor_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cursor_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"default_collation_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"end_obj_named\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exception_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invoker_rights_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_editionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_noneditionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"procedure_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"procedure_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sharing_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_collection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_record\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_ref_cursor_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_sub\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_trigger\",\n    \"named\": true,\n    \"fields\": {\n      \"schema_name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"trigger_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"create_obj\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cursor_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cursor_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"default_collation_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dml_event_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"end_obj_named\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exception_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exception_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_after\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_analyze\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_associate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_audit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_before\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_begin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_clone\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_comment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_compound\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_container\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_create\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_crossedition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_database\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_db_role_change\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_ddl\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_delete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_disable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_disassociate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_each\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_editionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_enable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_follows\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_forward\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_grant\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_insert\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_instead\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_logoff\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_logon\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nested\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_new\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_noaudit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_noneditionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_of\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_old\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_or\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_parent\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_pluggable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_precedes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_referencing\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_reverse\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_revoke\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_row\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_servererror\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_shutdown\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_startup\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_statistics\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_suspend\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_truncate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unplug\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_update\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_when\",\n          \"named\": true\n        },\n        {\n          \"type\": \"plsql_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"procedure_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"procedure_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element_repeat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sharing_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_collection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_record\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_ref_cursor_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_sub\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_type\",\n    \"named\": true,\n    \"fields\": {\n      \"schema_name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"accessible_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_obj\",\n          \"named\": true\n        },\n        {\n          \"type\": \"default_collation_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"end_obj_named\",\n          \"named\": true\n        },\n        {\n          \"type\": \"inheritance_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invoker_rights_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_editionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_force\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_noneditionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_object\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_oid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_under\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sharing_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_attribute_datatype_element_spec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_nested_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_varray\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"create_type_body\",\n    \"named\": true,\n    \"fields\": {\n      \"schema_name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"create_obj\",\n          \"named\": true\n        },\n        {\n          \"type\": \"element_spec_constructor_spec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"element_spec_map_order_function_spec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"end_obj_named\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func_decl_in_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_editionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_noneditionable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"proc_decl_in_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sharing_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cursor_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"cursor_declaration_parameters\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cursor\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_datatype_rowtype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_datatype_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cursor_declaration_parameter\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"datatype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"default_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_in\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cursor_declaration_parameters\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"cursor_declaration_parameter\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cursor_definition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"cursor_declaration_parameters\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cursor\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_datatype_rowtype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_datatype_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_statement_select\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"datatype\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"byte_char\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exception_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_anydata\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_anydataset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_anytype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_bfile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_binary_double\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_binary_float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_binary_integer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_blob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_boolean\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_char\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_character\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_clob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_datatype_rowtype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_datatype_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_date\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_day\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_dec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_decimal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_double\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_integer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_interval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_array_t\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_element_t\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_key_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_object_t\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_json_scalar_t\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_local\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_long\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_month\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_natural\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_naturaln\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nchar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nclob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_numeric\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nvarchar2\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_pls_integer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_positive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_positiven\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_precision\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_raw\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_real\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rowid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sdo_geometry\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sdo_georaster\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sdo_topo_geometry\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_second\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_signtype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_simple_double\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_simple_float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_simple_integer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_smallint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sys\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_timestamp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_uritype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_urowid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_varchar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_varchar2\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_varying\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_xmltype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_year\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_zone\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"default_collation_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_collation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using_nls_comp\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"default_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"dependent_handling_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"exceptions_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cascade\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_convert\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_data\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_force\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_including\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_invalidate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_substitutable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"dml_event_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier_list_repeat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_delete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_insert\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_of\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_update\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_function\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_library\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_library\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_package\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_package\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_procedure\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_trigger\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_force\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_validate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drop_type_body\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_drop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"element_spec\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"element_spec_constructor_spec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"element_spec_map_order_function_spec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"element_spec_subprogram_spec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"inheritance_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"element_spec_constructor_spec\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"element_spec_is_as_call_spec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constructor\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_final\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_instantiable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_out\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_result\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_self\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_declaration_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"element_spec_function_spec\",\n    \"named\": true,\n    \"fields\": {\n      \"fnc_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"element_spec_is_as_call_spec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"element_spec_is_as_call_spec\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"call_spec_ext\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_is\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"element_spec_map_order_function_spec\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"element_spec_function_spec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_map\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_member\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_order\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"element_spec_procedure_spec\",\n    \"named\": true,\n    \"fields\": {\n      \"prc_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"element_spec_is_as_call_spec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"element_spec_subprogram_spec\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"element_spec_function_spec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"element_spec_procedure_spec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_member\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_static\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"end_if\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"end_obj\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_end\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"end_obj_named\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_end\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"exception_block\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"exception_handler\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exception\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"exception_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exception\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"exception_handler\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_or\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_others\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_then\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_when\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"exceptions_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_exceptions\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"execute_immediate\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bulk_collect_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"into_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_execute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_immediate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_out\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_returning\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"exit_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_when\",\n          \"named\": true\n        },\n        {\n          \"type\": \"label\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression_base_case_search\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression_base_case_simple\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_and\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_between\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_deleting\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_false\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_found\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_inserting\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_isopen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_like\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_notfound\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_or\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rowcount\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_true\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_updating\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal_list_repeat_min\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"placeholder\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ref_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element_point_method_call\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"expression_base_case_search\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_else\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_then\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_when\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"expression_base_case_simple\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_else\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_then\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_when\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"external_parameter\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"external_parameter_param\",\n          \"named\": true\n        },\n        {\n          \"type\": \"external_parameter_self\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_context\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"external_parameter_param\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"by_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"external_parameter_property\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_return\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"external_parameter_property\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_charsetfrom\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_charsetid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_duration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_indicator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_length\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_maxlen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_struct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_tdo\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"external_parameter_self\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"external_parameter_property\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_self\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_tdo\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"external_parameters\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"external_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_parameters\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"fetch_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bulk_collect_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"collection_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"host_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"into_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_fetch\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"field_definition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"datatype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"default_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"for_loop_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"iterator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_loop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"label\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"for_update_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"for_update_clause_of\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_update\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"for_update_clause_of\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_of\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"func_decl_in_type\",\n    \"named\": true,\n    \"fields\": {\n      \"fnc_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"accessible_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_spec_ext\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cursor_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cursor_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exception_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invoker_rights_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_deterministic\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_pipelined\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parallel_enable_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"procedure_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"procedure_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"result_cache_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_collection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_record\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_ref_cursor_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_sub\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_declaration\",\n    \"named\": true,\n    \"fields\": {\n      \"fnc_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_deterministic\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_parallel_enable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_pipelined\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_result_cache\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_definition\",\n    \"named\": true,\n    \"fields\": {\n      \"fnc_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_spec_ext\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cursor_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cursor_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exception_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_deterministic\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_parallel_enable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_pipelined\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_result_cache\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"procedure_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"procedure_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_collection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_record\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_ref_cursor_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_sub\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"goto_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_goto\",\n          \"named\": true\n        },\n        {\n          \"type\": \"label\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"group_by_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_group\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"having_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_having\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"hierachical_query_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_connect\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nocycle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"host_variable\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"identifier\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"identifier_list_repeat\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"if_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"end_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_else\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_elsif\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_then\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"indicator_variable\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"inheritance_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_final\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_instantiable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_overriding\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_persistable\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"into_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element_repeat\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"invoker_rights_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_authid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current_user\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_definer\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"item_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"datatype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"default_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constant\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"iterator\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_immutable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_indices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_mutable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_of\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_pairs\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_repeat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_reverse\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_values\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_when\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_while\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"java_declaration\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"literal_string\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_java\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_language\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"join_clause\",\n    \"named\": true,\n    \"fields\": {\n      \"alias\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"bulk_collect_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"group_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"having_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hierachical_query_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier_list_repeat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"into_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_apply\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_badfile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_containers\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cross\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_directory\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_discardfile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_distinct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_external\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_hierarchies\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_inner\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_intersect\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_join\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_lateral\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_limit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_location\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_logfile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_minus\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_modify\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_natural\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_only\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_outer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_parameters\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_partition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_read\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_reject\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sample\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_seed\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_shards\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_subpartition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_union\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unique\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unlimited\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"order_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"outer_join_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element_repeat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"row_limiting_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"label\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"library_name\",\n    \"named\": true,\n    \"fields\": {\n      \"library\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_library\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"literal_list_repeat\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_false\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_true\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"literal_list_repeat_min\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_false\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_true\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"literal_string\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"merge_insert_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier_list_repeat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_insert\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_matched\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_then\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_values\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_when\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"merge_update_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_delete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_matched\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_then\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_update\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_when\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_set_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"name_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"null_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"open_for_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"collection_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"host_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_open\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_out\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_statement_select\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"open_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_open\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"order_by_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_order\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_siblings\",\n          \"named\": true\n        },\n        {\n          \"type\": \"order_by_clause_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"order_by_clause_element\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_asc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_desc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_first\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_last\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nulls\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"outer_join_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_full\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_left\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_outer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_right\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"parallel_enable_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_any\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_parallel_enable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_partition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_value\",\n          \"named\": true\n        },\n        {\n          \"type\": \"streaming_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"parameter\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"parameter_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"parameter_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"parameter_declaration_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"parameter_declaration_element\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"datatype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"default_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nocopy\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_out\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"parameter_element\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"parameter_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_value\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"parameter_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"parameter_value\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_false\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_true\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"pipe_row_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_pipe\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_row\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"placeholder\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"host_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"indicator_variable\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"plsql_block\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"cursor_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cursor_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"end_obj\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exception_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exception_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_begin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_declare\",\n          \"named\": true\n        },\n        {\n          \"type\": \"procedure_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"procedure_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_collection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_record\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_ref_cursor_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_sub\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"proc_decl_in_type\",\n    \"named\": true,\n    \"fields\": {\n      \"prc_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_spec_ext\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cursor_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cursor_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exception_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"procedure_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"procedure_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_collection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_record\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_ref_cursor_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_sub\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"procedure_declaration\",\n    \"named\": true,\n    \"fields\": {\n      \"prc_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"accessible_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"default_collation_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invoker_rights_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"procedure_definition\",\n    \"named\": true,\n    \"fields\": {\n      \"prc_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"accessible_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_spec_ext\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cursor_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cursor_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"default_collation_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exception_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"invoker_rights_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"procedure_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"procedure_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_collection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_record\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_ref_cursor_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_sub\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"raise_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_raise\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ref_call\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"referenced_element\",\n    \"named\": true,\n    \"fields\": {\n      \"ref_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"ref_name_parent\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"remote_name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"schema_name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"referenced_element_point_method_call\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_count\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_delete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exists\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_extend\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_first\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_last\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_limit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_next\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_prior\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_trim\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"referenced_element_repeat\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"result_cache_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier_list_repeat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_relies_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_result_cache\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"return_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"datatype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_return\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"return_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_return\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"reuse_settings\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_reuse\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_settings\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"row_limiting_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"row_limiting_clause_fetch\",\n          \"named\": true\n        },\n        {\n          \"type\": \"row_limiting_clause_offset\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"row_limiting_clause_fetch\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_fetch\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_first\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_next\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_only\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_percent\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_row\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rows\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_ties\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"row_limiting_clause_offset\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_offset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_row\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rows\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"select_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"select_list_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"select_list_element\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_asterisk\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sharing_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_metadata\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_none\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"single_table_insert\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bulk_collect_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"group_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"having_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hierachical_query_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier_list_repeat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"into_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_badfile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_directory\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_discardfile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_distinct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_errors\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_external\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_hierarchies\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_intersect\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_lateral\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_limit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_location\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_log\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_logfile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_minus\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_modify\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_only\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_parameters\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_partition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_read\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_reject\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_returning\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sample\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_seed\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_subpartition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_union\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unique\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unlimited\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"order_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element_repeat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"row_limiting_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"values_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"source_file\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"alter_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_library\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_package\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"alter_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_package\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_package_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"create_type_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_library\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_package\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_procedure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drop_type_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sql_statement_commit\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_batch\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_comment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_commit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_force\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_immediate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nowait\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_wait\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_work\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_write\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sql_statement_delete\",\n    \"named\": true,\n    \"fields\": {\n      \"alias\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bulk_collect_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"group_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"having_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hierachical_query_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier_list_repeat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"into_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_badfile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_containers\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_delete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_directory\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_discardfile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_distinct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_errors\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_external\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_hierarchies\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_intersect\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_lateral\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_limit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_location\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_log\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_logfile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_minus\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_modify\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_only\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_parameters\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_partition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_read\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_reject\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_returning\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sample\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_seed\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_shards\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_subpartition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_union\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unique\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unlimited\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"order_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element_repeat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"row_limiting_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sql_statement_insert\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_insert\",\n          \"named\": true\n        },\n        {\n          \"type\": \"single_table_insert\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sql_statement_lock_table\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier_list_repeat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_lock\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_mode\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nowait\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_partition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_subpartition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_wait\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sql_statement_merge\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bulk_collect_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"group_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"having_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hierachical_query_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"into_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_distinct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_errors\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_intersect\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_limit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_log\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_merge\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_minus\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_on\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_reject\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_union\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unique\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unlimited\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_insert_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge_update_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"order_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        },\n        {\n          \"type\": \"row_limiting_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sql_statement_rollback\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_comment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rollback\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_savepoint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_work\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal_string\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sql_statement_savepoint\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_savepoint\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sql_statement_select\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bulk_collect_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_update_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"group_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"having_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hierachical_query_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"into_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_distinct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_intersect\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_minus\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_union\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unique\",\n          \"named\": true\n        },\n        {\n          \"type\": \"order_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"row_limiting_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sql_statement_set_transaction\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_commtted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_isolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_level\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_only\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_read\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rollback\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_segment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_serializable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_transaction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_use\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_write\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sql_statement_update\",\n    \"named\": true,\n    \"fields\": {\n      \"alias\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bulk_collect_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"group_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"having_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hierachical_query_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier_list_repeat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"into_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_badfile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_containers\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_directory\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_discardfile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_distinct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_errors\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_external\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_hierarchies\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_intersect\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_lateral\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_limit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_location\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_log\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_logfile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_minus\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_modify\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_only\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_parameters\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_partition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_read\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_reject\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_returning\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sample\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_seed\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_shards\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_subpartition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_union\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unique\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unlimited\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_update\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"order_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element_repeat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"row_limiting_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_set_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"assignment_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"basic_loop_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"close_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"continue_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"execute_immediate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exit_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fetch_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_loop_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"label\",\n          \"named\": true\n        },\n        {\n          \"type\": \"null_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_for_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pipe_row_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"plsql_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"raise_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ref_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element_point_method_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_statement_commit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_statement_delete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_statement_insert\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_statement_lock_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_statement_merge\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_statement_rollback\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_statement_savepoint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_statement_select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_statement_set_transaction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_statement_update\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_loop_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"streaming_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier_list_repeat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cluster\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_order\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"table_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"table_list_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"table_list_element\",\n    \"named\": true,\n    \"fields\": {\n      \"alias\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"bulk_collect_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"group_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"having_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hierachical_query_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier_list_repeat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"into_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"join_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_access\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_add\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_aggregate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_analytic\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_badfile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_containers\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_directory\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_discardfile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_distinct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_external\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_fact\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_filter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_hierarchies\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_intersect\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_lateral\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_limit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_location\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_logfile\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_measure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_measures\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_minus\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_modify\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_only\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_parameters\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_partition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_read\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_reject\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sample\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_seed\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_shards\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_subpartition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_union\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unique\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unlimited\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"order_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element_repeat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"row_limiting_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_attribute_datatype_element_spec\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"datatype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"element_spec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_definition_assoc_array\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"datatype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_index\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_of\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_assoc_array_datatypes\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_definition_assoc_array_datatypes\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"byte_char\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_binary_integer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_datatype_rowtype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_datatype_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_long\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_pls_integer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_varchar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_varchar2\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_definition_collection\",\n    \"named\": true,\n    \"fields\": {\n      \"type_collection_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_assoc_array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_nested_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_varray\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_definition_nested_table\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"datatype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_of\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_persistable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_definition_record\",\n    \"named\": true,\n    \"fields\": {\n      \"type_rec_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"field_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_record\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_definition_ref_cursor_return\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_datatype_rowtype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_datatype_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_definition_sub\",\n    \"named\": true,\n    \"fields\": {\n      \"subtype_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"character_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"datatype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_subtype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_range\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_definition_varray\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"datatype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_of\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_persistable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_varray\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_varying\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_range\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"update_set_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_set_clause_elements\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"update_set_clause_elements\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier_list_repeat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_value\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_statement_select\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"values_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_values\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"where_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_where\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"while_loop_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_loop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_while\",\n          \"named\": true\n        },\n        {\n          \"type\": \"label\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"with_clause\",\n    \"named\": true,\n    \"fields\": {\n      \"query_name\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"subav_name\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bulk_collect_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"group_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"having_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hierachical_query_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"into_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_add\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_aggregate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_analytic\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_as\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_asc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_breadth\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cycle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_depth\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_desc\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_distinct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_fact\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_filter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_first\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_hierarchies\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_intersect\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_last\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_measure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_measures\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_minus\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_nulls\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_search\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_select\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_to\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_union\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_unique\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_view\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"order_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"procedure_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element\",\n          \"named\": true\n        },\n        {\n          \"type\": \"referenced_element_repeat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"row_limiting_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"table_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"with_context\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_context\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_with\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"!=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\\\"\",\n    \"named\": false\n  },\n  {\n    \"type\": \"%\",\n    \"named\": false\n  },\n  {\n    \"type\": \"(\",\n    \"named\": false\n  },\n  {\n    \"type\": \")\",\n    \"named\": false\n  },\n  {\n    \"type\": \"*\",\n    \"named\": false\n  },\n  {\n    \"type\": \"**\",\n    \"named\": false\n  },\n  {\n    \"type\": \"+\",\n    \"named\": false\n  },\n  {\n    \"type\": \",\",\n    \"named\": false\n  },\n  {\n    \"type\": \"-\",\n    \"named\": false\n  },\n  {\n    \"type\": \".\",\n    \"named\": false\n  },\n  {\n    \"type\": \"..\",\n    \"named\": false\n  },\n  {\n    \"type\": \"/\",\n    \"named\": false\n  },\n  {\n    \"type\": \":\",\n    \"named\": false\n  },\n  {\n    \"type\": \":=\",\n    \"named\": false\n  },\n  {\n    \"type\": \";\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<<\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<>\",\n    \"named\": false\n  },\n  {\n    \"type\": \"=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"=>\",\n    \"named\": false\n  },\n  {\n    \"type\": \">\",\n    \"named\": false\n  },\n  {\n    \"type\": \">=\",\n    \"named\": false\n  },\n  {\n    \"type\": \">>\",\n    \"named\": false\n  },\n  {\n    \"type\": \"@\",\n    \"named\": false\n  },\n  {\n    \"type\": \"^=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"comment_ml\",\n    \"named\": true\n  },\n  {\n    \"type\": \"comment_sl\",\n    \"named\": true\n  },\n  {\n    \"type\": \"float\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_access\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_accessible\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_add\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_after\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_agent\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_aggregate\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_all\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_alter\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_analytic\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_analyze\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_and\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_any\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_anydata\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_anydataset\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_anytype\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_apply\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_array\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_as\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_asc\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_associate\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_asterisk\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_attribute\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_audit\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_authid\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_badfile\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_batch\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_before\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_begin\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_between\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_bfile\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_binary_double\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_binary_float\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_binary_integer\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_blob\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_block\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_body\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_boolean\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_breadth\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_bulk\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_by\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_byte\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_c\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_cascade\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_case\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_char\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_character\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_charsetfrom\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_charsetid\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_check\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_clob\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_clone\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_close\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_cluster\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_collation\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_collect\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_comment\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_commit\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_commtted\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_compile\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_compound\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_connect\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_constant\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_constraint\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_constructor\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_container\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_containers\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_context\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_continue\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_convert\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_count\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_create\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_credential\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_cross\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_crossedition\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_current_user\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_cursor\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_cycle\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_data\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_database\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_datatype_rowtype\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_datatype_type\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_date\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_day\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_db_role_change\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_ddl\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_debug\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_dec\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_decimal\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_declare\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_default\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_definer\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_delete\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_deleting\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_depth\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_desc\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_deterministic\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_directory\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_disable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_disassociate\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_discardfile\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_distinct\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_double\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_drop\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_duration\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_each\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_editionable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_element\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_else\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_elsif\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_enable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_end\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_errors\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_exception\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_exceptions\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_execute\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_exists\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_exit\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_extend\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_external\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_fact\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_false\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_fetch\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_filter\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_final\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_first\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_float\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_follows\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_for\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_force\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_forward\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_found\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_from\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_full\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_function\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_goto\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_grant\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_group\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_hash\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_having\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_hierarchies\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_if\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_immediate\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_immutable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_in\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_including\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_index\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_indicator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_indices\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_inner\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_insert\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_inserting\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_instantiable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_instead\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_int\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_integer\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_intersect\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_interval\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_into\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_invalidate\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_is\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_isolation\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_isopen\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_java\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_join\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_json_array_t\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_json_element_t\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_json_key_list\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_json_object_t\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_json_scalar_t\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_language\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_last\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_lateral\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_left\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_length\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_level\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_library\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_like\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_limit\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_local\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_location\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_lock\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_locked\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_log\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_logfile\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_logoff\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_logon\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_long\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_loop\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_map\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_matched\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_maxlen\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_measure\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_measures\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_member\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_merge\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_metadata\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_minus\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_mode\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_modify\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_month\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_mutable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_name\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_natural\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_naturaln\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_nchar\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_nclob\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_nested\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_new\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_next\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_noaudit\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_nocopy\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_nocycle\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_none\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_noneditionable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_not\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_notfound\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_nowait\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_null\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_nulls\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_number\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_numeric\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_nvarchar2\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_object\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_of\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_offset\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_oid\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_old\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_on\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_only\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_open\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_option\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_or\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_order\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_others\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_out\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_outer\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_overriding\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_package\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_pairs\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_parallel_enable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_parameters\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_parent\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_partition\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_percent\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_persistable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_pipe\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_pipelined\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_pls_integer\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_pluggable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_positive\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_positiven\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_precedes\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_precision\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_prior\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_procedure\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_raise\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_range\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_raw\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_read\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_real\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_record\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_ref\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_reference\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_referencing\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_reject\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_relies_on\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_rename\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_repeat\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_replace\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_reset\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_result\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_result_cache\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_return\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_returning\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_reuse\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_reverse\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_revoke\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_right\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_rollback\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_row\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_rowcount\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_rowid\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_rows\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_sample\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_savepoint\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_schema\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_sdo_geometry\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_sdo_georaster\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_sdo_topo_geometry\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_search\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_second\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_seed\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_segment\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_select\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_self\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_serializable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_servererror\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_set\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_settings\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_shards\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_shutdown\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_siblings\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_signtype\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_simple_double\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_simple_float\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_simple_integer\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_skip\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_smallint\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_specification\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_start\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_startup\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_statement\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_static\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_statistics\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_string\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_struct\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_subpartition\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_substitutable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_subtype\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_suspend\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_sys\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_table\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_tdo\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_then\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_ties\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_time\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_timestamp\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_to\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_transaction\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_trigger\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_trim\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_true\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_truncate\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_type\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_under\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_union\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_unique\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_unlimited\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_unplug\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_update\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_updating\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_uritype\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_urowid\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_use\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_using\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_using_nls_comp\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_validate\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_value\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_values\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_varchar\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_varchar2\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_varray\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_varying\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_view\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_wait\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_when\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_where\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_while\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_with\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_work\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_write\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_xmltype\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_year\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_zone\",\n    \"named\": true\n  },\n  {\n    \"type\": \"number\",\n    \"named\": true\n  },\n  {\n    \"type\": \"||\",\n    \"named\": false\n  },\n  {\n    \"type\": \"~=\",\n    \"named\": false\n  }\n]";
Expand description

The node types JSON for PL/SQL grammar