Constant NODE_TYPES

Source
pub const NODE_TYPES: &str = "[\n  {\n    \"type\": \"$fullskew_timing_check\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"event_based_flag\",\n          \"named\": true\n        },\n        {\n          \"type\": \"notifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reference_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"remain_active_flag\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timing_check_limit\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"$hold_timing_check\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"notifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reference_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timing_check_limit\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"$nochange_timing_check\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"end_edge_offset\",\n          \"named\": true\n        },\n        {\n          \"type\": \"notifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reference_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"start_edge_offset\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"$period_timing_check\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"controlled_reference_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"notifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timing_check_limit\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"$recovery_timing_check\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"notifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reference_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timing_check_limit\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"$recrem_timing_check\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delayed_data\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delayed_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"notifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reference_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timecheck_condition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timestamp_condition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timing_check_limit\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"$removal_timing_check\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"notifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reference_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timing_check_limit\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"$setup_timing_check\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"notifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reference_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timing_check_limit\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"$setuphold_timing_check\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delayed_data\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delayed_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"notifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reference_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timecheck_condition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timestamp_condition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timing_check_limit\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"$skew_timing_check\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"notifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reference_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timing_check_limit\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"$timeskew_timing_check\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"event_based_flag\",\n          \"named\": true\n        },\n        {\n          \"type\": \"notifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reference_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"remain_active_flag\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timing_check_limit\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"$width_timing_check\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"controlled_reference_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"notifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"threshold\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timing_check_limit\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"_ordered_parameter_assignment\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"data_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"mintypmax_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"action_block\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement_or_null\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"always_construct\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"always_keyword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"always_keyword\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"anonymous_program\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"anonymous_program_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"anonymous_program_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"class_constructor_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"covergroup_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"task_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ansi_port_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"associative_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_port_header\",\n          \"named\": true\n        },\n        {\n          \"type\": \"net_port_header1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"port_direction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"port_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"queue_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unpacked_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unsized_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_port_header\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"array_manipulation_call\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_method_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_arguments_parent\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"array_method_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"method_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"array_range_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    }\n  },\n  {\n    \"type\": \"assert_property_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"action_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property_spec\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"assertion_variable_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"data_type_or_implicit1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_variable_decl_assignments\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"assignment_operator\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"assignment_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"assignment_pattern_key\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"assignment_pattern_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"assignment_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integer_atom_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_reference\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"assignment_pattern_key\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"class_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generate_block_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integer_atom_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integer_vector_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"non_integer_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"assignment_pattern_net_lvalue\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"net_lvalue\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"assignment_pattern_variable_lvalue\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"variable_lvalue\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"associative_dimension\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"data_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"assume_property_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"action_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property_spec\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"attr_spec\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"attribute_instance\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attr_spec\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"begin_keywords\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"double_quoted_string\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"bind_directive\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bind_target_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bind_target_instance_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bind_target_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"checker_instantiation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_instantiation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"module_instantiation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"program_instantiation\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"bind_target_instance\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"constant_bit_select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"bind_target_instance_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bind_target_instance\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"bind_target_scope\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"bins_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"cover_point_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"bins_keyword\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"bins_or_empty\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bins_or_options\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"bins_or_options\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bins_keyword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cover_point_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"coverage_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"covergroup_range_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"trans_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"bins_selection\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bins_keyword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"bins_selection_or_option\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bins_selection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"coverage_option\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"bit_select1\",\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    }\n  },\n  {\n    \"type\": \"block_event_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block_event_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hierarchical_btf_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"block_item_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"data_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"let_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"local_parameter_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"overload_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"blocking_assignment\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"delay_or_event_control\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dynamic_array_new\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"nonrange_variable_lvalue\",\n          \"named\": true\n        },\n        {\n          \"type\": \"operator_assignment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_lvalue\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"case_expression\",\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    }\n  },\n  {\n    \"type\": \"case_generate_construct\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"case_generate_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"case_generate_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generate_block\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"case_inside_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"open_range_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement_or_null\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"case_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"case_item_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement_or_null\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"case_item_expression\",\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    }\n  },\n  {\n    \"type\": \"case_keyword\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"case_pattern_item\",\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\": \"pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement_or_null\",\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\": \"case_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case_inside_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case_keyword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case_pattern_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unique_priority\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cast\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"casting_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"casting_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"class_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_primary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generate_block_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integer_atom_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integer_vector_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"non_integer_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"charge_strength\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"checker_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"always_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case_generate_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"checker_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"checker_or_generate_item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"checker_port_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"concurrent_assertion_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"continuous_assign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"deferred_immediate_assertion_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"elaboration_system_task\",\n          \"named\": true\n        },\n        {\n          \"type\": \"final_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generate_region\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_generate_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"initial_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_generate_construct\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"checker_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"checker_instantiation\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"checker_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"event_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"formal_port_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name_of_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_expr\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"checker_or_generate_item_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"checker_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"clocking_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"clocking_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"covergroup_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"data_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression_or_dist\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"genvar_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"let_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"checker_port_direction\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"checker_port_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"associative_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"checker_port_direction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"event_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"formal_port_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property_formal_type1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"queue_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unpacked_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unsized_dimension\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"checker_port_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"checker_port_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"class_constructor_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"block_item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_statement_or_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_arguments_parent\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tf_port_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"class_constructor_prototype\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"tf_port_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"class_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"class_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_class_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lifetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_arguments_parent\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_port_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"class_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"class_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_keywords\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_method\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_property\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constraint_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constraint_prototype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"covergroup_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"default_nettype_compiler_directive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"id_directive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"include_compiler_directive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"line_compiler_directive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"local_parameter_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"text_macro_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"text_macro_usage\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timescale_compiler_directive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unconnected_drive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"zero_directive\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"class_item_qualifier\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"class_method\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"class_constructor_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_constructor_prototype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_item_qualifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_prototype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_qualifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"task_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"task_prototype\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"class_new\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"class_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_arguments_parent\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"class_property\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"class_item_qualifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"const_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"data_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"data_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"random_qualifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"class_qualifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"class_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"implicit_class_handle\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"class_scope\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"class_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"class_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"class_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_value_assignment\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"clocking_decl_assign\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"clocking_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"clocking_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"clocking_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"clocking_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"clocking_direction\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"clocking_skew\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"clocking_drive\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"clockvar_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cycle_delay\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"clocking_event\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"event_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"clocking_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"clocking_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"clocking_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"clocking_direction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"default_skew\",\n          \"named\": true\n        },\n        {\n          \"type\": \"let_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_clocking_decl_assign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"clocking_skew\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"delay_control\",\n          \"named\": true\n        },\n        {\n          \"type\": \"edge_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"clockvar\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"constant_bit_select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"clockvar_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"clockvar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select1\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cmos_switch_instance\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"input_terminal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name_of_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ncontrol_terminal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"output_terminal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pcontrol_terminal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cmos_switchtype\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"combinational_body\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"combinational_entry\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"combinational_entry\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"level_input_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"output_symbol\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"concatenation\",\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    }\n  },\n  {\n    \"type\": \"concurrent_assertion_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"assert_property_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assume_property_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"checker_instantiation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cover_property_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cover_sequence_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"restrict_property_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cond_pattern\",\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\": \"pattern\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cond_predicate\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"cond_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"conditional_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cond_predicate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"conditional_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"cond_predicate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement_or_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unique_priority\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"consecutive_repetition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cycle_delay_const_range_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"const_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"const_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constant_bit_select1\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constant_concatenation\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constant_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_primary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constant_indexed_range\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constant_mintypmax_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constant_multiple_concatenation\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_concatenation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constant_param_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"constant_mintypmax_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"data_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constant_primary\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"class_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_concatenation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_indexed_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_mintypmax_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_multiple_concatenation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generate_block_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primary_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_reference\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constant_range\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constant_select1\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_indexed_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_range\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constraint_block\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"constraint_block_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constraint_block_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constraint_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"solve_before_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constraint_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constraint_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constraint_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constraint_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constraint_primary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constraint_set\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression_or_dist\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_variables1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ps_or_hierarchical_array_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"uniqueness_constraint\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constraint_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constraint_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constraint_primary\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"class_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_bit_select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"implicit_class_handle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constraint_prototype\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constraint_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constraint_prototype_qualifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constraint_prototype_qualifier\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"constraint_set\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"constraint_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"continuous_assign\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"delay3\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delay_control\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drive_strength\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_net_assignments\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_variable_assignments\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"controlled_reference_event\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"controlled_reference_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"specify_input_terminal_descriptor\",\n          \"named\": true\n        },\n        {\n          \"type\": \"specify_output_terminal_descriptor\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timing_check_condition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timing_check_event_control\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cover_cross\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"cross_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cross_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_cross_items\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cover_point\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bins_or_empty\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cover_point_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"data_type_or_implicit1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cover_point_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cover_property_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"property_spec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement_or_null\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cover_sequence_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"clocking_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression_or_dist\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement_or_null\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"coverage_event\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"block_event_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"clocking_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tf_port_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"coverage_option\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"member_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"coverage_spec_or_option\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cover_cross\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cover_point\",\n          \"named\": true\n        },\n        {\n          \"type\": \"coverage_option\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"covergroup_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"coverage_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"coverage_spec_or_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"covergroup_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tf_port_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"covergroup_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"covergroup_range_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"covergroup_value_range\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"covergroup_value_range\",\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    }\n  },\n  {\n    \"type\": \"cross_body\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"cross_body_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cross_body_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bins_selection_or_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cross_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cycle_delay\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integral_number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cycle_delay_const_range_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cycle_delay_range\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"constant_primary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cycle_delay_const_range_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"data_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_type_or_implicit1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lifetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_variable_decl_assignments\",\n          \"named\": true\n        },\n        {\n          \"type\": \"net_type_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_import_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"data_event\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"timing_check_event\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"data_source_expression\",\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    }\n  },\n  {\n    \"type\": \"data_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"class_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"covergroup_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"enum_base_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"enum_name_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integer_atom_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integer_vector_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"modport_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"non_integer_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"packed_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_value_assignment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct_union\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct_union_member\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_reference\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"data_type_or_implicit1\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"implicit_data_type1\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"data_type_or_void\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"data_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"decimal_number\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"unsigned_number\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"default_nettype_compiler_directive\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"default_nettype_value\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"default_nettype_value\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"default_skew\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"clocking_skew\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"deferred_immediate_assert_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"action_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"deferred_immediate_assertion_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"deferred_immediate_assert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"deferred_immediate_assume_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"deferred_immediate_cover_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"deferred_immediate_assume_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"action_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"deferred_immediate_cover_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\": \"statement_or_null\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"defparam_assignment\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_bit_select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_mintypmax_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"delay2\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"delay_value\",\n          \"named\": true\n        },\n        {\n          \"type\": \"mintypmax_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"delay3\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"delay_value\",\n          \"named\": true\n        },\n        {\n          \"type\": \"mintypmax_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"delay_control\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"delay_value\",\n          \"named\": true\n        },\n        {\n          \"type\": \"mintypmax_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"delay_or_event_control\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"delay_control\",\n          \"named\": true\n        },\n        {\n          \"type\": \"event_control\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"delay_value\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"ps_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"real_number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unsigned_number\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"delayed_data\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_mintypmax_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"terminal_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"delayed_reference\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_mintypmax_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"terminal_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"disable_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"constant_bit_select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"dist_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dist_weight\",\n          \"named\": true\n        },\n        {\n          \"type\": \"value_range\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"dist_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dist_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"dist_weight\",\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    }\n  },\n  {\n    \"type\": \"double_quoted_string\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"dpi_function_import_property\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"dpi_function_proto\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"function_prototype\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"dpi_import_export\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"c_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dpi_function_import_property\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dpi_function_proto\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dpi_spec_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dpi_task_import_property\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dpi_task_proto\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"task_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"dpi_spec_string\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"dpi_task_import_property\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"dpi_task_proto\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"task_prototype\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"drive_strength\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"strength0\",\n          \"named\": true\n        },\n        {\n          \"type\": \"strength1\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"dynamic_array_new\",\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    }\n  },\n  {\n    \"type\": \"edge_control_specifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"edge_descriptor\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"edge_descriptor\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"edge_identifier\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"edge_indicator\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"edge_symbol\",\n          \"named\": true\n        },\n        {\n          \"type\": \"level_symbol\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"edge_input_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"edge_indicator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"level_symbol\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"edge_sensitive_path_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"full_edge_sensitive_path_description\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parallel_edge_sensitive_path_description\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path_delay_value\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"elaboration_system_task\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"finish_number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_arguments\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_arguments_parent\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"empty_unpacked_array_concatenation\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"enable_gate_instance\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"enable_terminal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"input_terminal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name_of_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"output_terminal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"enable_gatetype\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"enable_terminal\",\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    }\n  },\n  {\n    \"type\": \"end_edge_offset\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"mintypmax_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"enum_base_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integer_atom_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integer_vector_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"packed_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"enum_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"enum_name_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"enum_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integral_number\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"error_limit_value\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"limit_value\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"escaped_identifier\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"event_based_flag\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"event_control\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"constant_bit_select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"event_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"event_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"edge_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"event_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"event_trigger\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"constant_bit_select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delay_or_event_control\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"expect_property_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"action_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property_spec\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"inc_or_dec_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"inside_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"operator_assignment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primary\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tagged_union_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"expression_or_dist\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dist_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"extern_constraint_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"class_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constraint_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constraint_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"extern_tf_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"function_prototype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"task_prototype\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"final_construct\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"function_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"finish_number\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"for_initialization\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"for_variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_variable_assignments\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"for_step\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"function_subroutine_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"inc_or_dec_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"operator_assignment\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"for_variable_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"formal_argument\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"default_text\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"formal_port_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"full_edge_sensitive_path_description\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_source_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"edge_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_path_inputs\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_path_outputs\",\n          \"named\": true\n        },\n        {\n          \"type\": \"polarity_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"full_path_description\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"list_of_path_inputs\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_path_outputs\",\n          \"named\": true\n        },\n        {\n          \"type\": \"polarity_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_body_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block_item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_data_type_or_implicit1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_statement_or_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tf_item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tf_port_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_data_type_or_implicit1\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_type_or_void\",\n          \"named\": true\n        },\n        {\n          \"type\": \"implicit_data_type1\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"function_body_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lifetime\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_prototype\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_type_or_void\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tf_port_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_statement_or_null\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_subroutine_call\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"subroutine_call\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"gate_instantiation\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"cmos_switch_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cmos_switchtype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delay2\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delay3\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drive_strength\",\n          \"named\": true\n        },\n        {\n          \"type\": \"enable_gate_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"enable_gatetype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"mos_switch_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"mos_switchtype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"n_input_gate_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"n_input_gatetype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"n_output_gate_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"n_output_gatetype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pass_en_switchtype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pass_enable_switch_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pass_switch_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pass_switchtype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pull_gate_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pulldown_strength\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pullup_strength\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"generate_block\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"always_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case_generate_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"checker_or_generate_item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"concurrent_assertion_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"continuous_assign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"deferred_immediate_assertion_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"elaboration_system_task\",\n          \"named\": true\n        },\n        {\n          \"type\": \"final_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generate_block_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generate_region\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_generate_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"initial_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_or_generate_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_generate_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"module_or_generate_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"generate_block_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generate_block_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"generate_region\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"always_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case_generate_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"checker_or_generate_item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"concurrent_assertion_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"continuous_assign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"deferred_immediate_assertion_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"elaboration_system_task\",\n          \"named\": true\n        },\n        {\n          \"type\": \"final_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generate_region\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_generate_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"initial_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_or_generate_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_generate_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"module_or_generate_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"genvar_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"list_of_genvar_identifiers\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"genvar_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"genvar_initialization\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"genvar_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"genvar_iteration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"assignment_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"genvar_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"inc_or_dec_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"goto_repetition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cycle_delay_const_range_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"hierarchical_btf_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"class_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_bit_select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"hierarchical_instance\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"list_of_port_connections\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name_of_instance\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"id_directive\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"text_macro_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"identifier_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"if_generate_construct\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generate_block\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"implicit_class_handle\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"implicit_data_type1\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"packed_dimension\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"import_export\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"inc_or_dec_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"inc_or_dec_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_lvalue\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"inc_or_dec_operator\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"include_compiler_directive\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"double_quoted_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"include_compiler_directive_standard\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"include_compiler_directive_standard\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"index_variable_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_variable_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"indexed_range\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"init_val\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"initial_construct\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"statement_or_null\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"inout_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"list_of_port_identifiers\",\n          \"named\": true\n        },\n        {\n          \"type\": \"net_port_type1\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"inout_port_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"inout_port_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"inout_terminal\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"net_lvalue\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"input_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"data_type_or_implicit1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_port_identifiers\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_variable_identifiers\",\n          \"named\": true\n        },\n        {\n          \"type\": \"net_port_type1\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"input_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"inout_port_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"input_port_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"port_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"input_port_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"input_port_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"input_terminal\",\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    }\n  },\n  {\n    \"type\": \"inside_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\": \"open_range_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"instance_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"integer_atom_type\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"integer_vector_type\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"integral_number\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"binary_number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"decimal_number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hex_number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"octal_number\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"interface_ansi_header\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lifetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_port_declarations\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_import_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_port_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"interface_class_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"class_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_class_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_class_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_port_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"interface_class_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_class_method\",\n          \"named\": true\n        },\n        {\n          \"type\": \"local_parameter_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"interface_class_method\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"function_prototype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"task_prototype\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"interface_class_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"class_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_value_assignment\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"interface_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generate_region\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_ansi_header\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_nonansi_header\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_or_generate_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"modport_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"program_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timeunits_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"interface_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"interface_instance_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"interface_instantiation\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"hierarchical_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_value_assignment\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"interface_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"generate_region\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_or_generate_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"modport_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"port_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"program_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timeunits_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"interface_nonansi_header\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lifetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_ports\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_import_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_port_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"interface_or_generate_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"always_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bind_directive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case_generate_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"clocking_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"clocking_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"concurrent_assertion_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"continuous_assign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"deferred_immediate_assertion_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"elaboration_system_task\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression_or_dist\",\n          \"named\": true\n        },\n        {\n          \"type\": \"extern_tf_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"final_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"genvar_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_generate_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"initial_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_instantiation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_generate_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"net_alias\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_or_generate_item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"program_instantiation\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"interface_port_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"interface_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_interface_identifiers\",\n          \"named\": true\n        },\n        {\n          \"type\": \"modport_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"interface_port_header\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"interface_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"modport_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"join_keyword\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"jump_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"let_actual_arg\",\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    }\n  },\n  {\n    \"type\": \"let_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"let_port_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"let_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"let_list_of_arguments\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"let_formal_type1\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"data_type_or_implicit1\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"let_list_of_arguments\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"let_actual_arg\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"let_port_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"associative_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"formal_port_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"let_formal_type1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"queue_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unpacked_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unsized_dimension\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"let_port_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"let_port_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"level_input_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"level_symbol\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"lifetime\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"limit_value\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_mintypmax_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"line_compiler_directive\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"double_quoted_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unsigned_number\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_actual_arguments\",\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    }\n  },\n  {\n    \"type\": \"list_of_arguments\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_arguments_parent\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_clocking_decl_assign\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"clocking_decl_assign\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_cross_items\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"cover_point_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_defparam_assignments\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"defparam_assignment\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_formal_arguments\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"formal_argument\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_genvar_identifiers\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"genvar_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_interface_identifiers\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"interface_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unpacked_dimension\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_net_assignments\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"net_assignment\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_net_decl_assignments\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"net_decl_assignment\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_param_assignments\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"param_assignment\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_parameter_assignments\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"named_parameter_assignment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ordered_parameter_assignment\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_path_delay_expressions\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"path_delay_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_path_inputs\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"specify_input_terminal_descriptor\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_path_outputs\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"specify_output_terminal_descriptor\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_port_connections\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"named_port_connection\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ordered_port_connection\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_port_declarations\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"ansi_port_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_port_identifiers\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"port_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unpacked_dimension\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_ports\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"line_compiler_directive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"port\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_specparam_assignments\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"specparam_assignment\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_tf_variable_identifiers\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"associative_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"port_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"queue_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unpacked_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unsized_dimension\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_type_assignments\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type_assignment\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_udp_port_identifiers\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"port_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_variable_assignments\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"variable_assignment\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_variable_decl_assignments\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"variable_decl_assignment\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_variable_identifiers\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"associative_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"queue_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unpacked_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unsized_dimension\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_of_variable_port_identifiers\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"associative_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"port_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"queue_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unpacked_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unsized_dimension\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"local_parameter_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_type_or_implicit1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_param_assignments\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_type_assignments\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"loop_generate_construct\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generate_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"genvar_initialization\",\n          \"named\": true\n        },\n        {\n          \"type\": \"genvar_iteration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"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\": \"for_initialization\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_step\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_variables1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ps_or_hierarchical_array_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement_or_null\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"loop_variables1\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"index_variable_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"member_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"method_call\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"implicit_class_handle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primary\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"method_call_body\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_manipulation_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_arguments_parent\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"randomize_call\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"method_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"method_qualifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"class_item_qualifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"mintypmax_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    }\n  },\n  {\n    \"type\": \"modport_clocking_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"clocking_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"modport_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"modport_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"modport_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"modport_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"modport_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"modport_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"modport_ports_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"modport_ports_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"modport_clocking_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"modport_simple_ports_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"modport_tf_ports_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"modport_simple_port\",\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\": \"port_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"modport_simple_ports_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"modport_simple_port\",\n          \"named\": true\n        },\n        {\n          \"type\": \"port_direction\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"modport_tf_ports_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"function_prototype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"import_export\",\n          \"named\": true\n        },\n        {\n          \"type\": \"task_prototype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tf_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"module_ansi_header\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"list_of_port_declarations\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_import_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_port_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"module_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_keywords\",\n          \"named\": true\n        },\n        {\n          \"type\": \"default_nettype_compiler_directive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generate_region\",\n          \"named\": true\n        },\n        {\n          \"type\": \"id_directive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"include_compiler_directive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"line_compiler_directive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"module_ansi_header\",\n          \"named\": true\n        },\n        {\n          \"type\": \"module_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"module_header\",\n          \"named\": true\n        },\n        {\n          \"type\": \"module_nonansi_header\",\n          \"named\": true\n        },\n        {\n          \"type\": \"module_or_generate_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"port_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"program_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"specify_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"specparam_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"text_macro_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"text_macro_usage\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timescale_compiler_directive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timeunits_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unconnected_drive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"zero_directive\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"module_header\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lifetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"module_keyword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"module_instantiation\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hierarchical_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_value_assignment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"module_keyword\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"module_nonansi_header\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"list_of_ports\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_import_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_port_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"module_or_generate_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"always_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bind_directive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case_generate_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"clocking_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"clocking_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"concurrent_assertion_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"continuous_assign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"deferred_immediate_assertion_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"elaboration_system_task\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression_or_dist\",\n          \"named\": true\n        },\n        {\n          \"type\": \"final_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"gate_instantiation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"genvar_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_generate_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"initial_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_instantiation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_generate_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"module_instantiation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"net_alias\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_or_generate_item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_override\",\n          \"named\": true\n        },\n        {\n          \"type\": \"program_instantiation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"udp_instantiation\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"module_path_concatenation\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"module_path_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"module_path_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"module_path_primary\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"module_path_mintypmax_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"module_path_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"module_path_multiple_concatenation\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"module_path_concatenation\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"module_path_primary\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_subroutine_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integral_number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"module_path_concatenation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"module_path_mintypmax_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"module_path_multiple_concatenation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"real_number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"mos_switch_instance\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"enable_terminal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"input_terminal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name_of_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"output_terminal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"mos_switchtype\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"multiple_concatenation\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"concatenation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"n_input_gate_instance\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"input_terminal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name_of_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"output_terminal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"n_input_gatetype\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"n_output_gate_instance\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"input_terminal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name_of_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"output_terminal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"n_output_gatetype\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"name_of_instance\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"instance_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unpacked_dimension\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"named_parameter_assignment\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"param_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"named_port_connection\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"port_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ncontrol_terminal\",\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    }\n  },\n  {\n    \"type\": \"net_alias\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"net_lvalue\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"net_assignment\",\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\": \"net_lvalue\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"net_decl_assignment\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unpacked_dimension\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"net_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"charge_strength\",\n          \"named\": true\n        },\n        {\n          \"type\": \"data_type_or_implicit1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delay3\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delay_control\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delay_value\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drive_strength\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"implicit_data_type1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_net_decl_assignments\",\n          \"named\": true\n        },\n        {\n          \"type\": \"net_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unpacked_dimension\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"net_lvalue\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"assignment_pattern_net_lvalue\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_bit_select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integer_atom_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"net_lvalue\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_reference\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"net_port_header1\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"net_port_type1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"port_direction\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"net_port_type1\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"data_type_or_implicit1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"implicit_data_type1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"net_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"net_type\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"net_type_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"class_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"data_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tf_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"next_state\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"output_symbol\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"non_consecutive_repetition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cycle_delay_const_range_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"non_integer_type\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"non_port_program_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case_generate_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"clocking_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"clocking_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"concurrent_assertion_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"continuous_assign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"elaboration_system_task\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression_or_dist\",\n          \"named\": true\n        },\n        {\n          \"type\": \"final_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generate_region\",\n          \"named\": true\n        },\n        {\n          \"type\": \"genvar_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_generate_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"initial_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_generate_construct\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_or_generate_item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timeunits_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"nonblocking_assignment\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"delay_or_event_control\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_lvalue\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"nonrange_select1\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bit_select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"member_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"nonrange_variable_lvalue\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"constant_bit_select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"implicit_class_handle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"nonrange_select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"notifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"open_range_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"open_value_range\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"open_value_range\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"value_range\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"operator_assignment\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"assignment_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_lvalue\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ordered_parameter_assignment\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_ordered_parameter_assignment\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ordered_port_connection\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"output_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"data_type_or_implicit1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_port_identifiers\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_variable_port_identifiers\",\n          \"named\": true\n        },\n        {\n          \"type\": \"net_port_type1\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"output_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"inout_port_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"output_port_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"port_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"output_port_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"output_port_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"output_terminal\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"net_lvalue\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"overload_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"overload_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"overload_proto_formals\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"overload_operator\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"overload_proto_formals\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"package_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"anonymous_program\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lifetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_export_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_or_generate_item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timeunits_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"package_export_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"package_import_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"package_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"package_import_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"package_import_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"package_import_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"package_or_generate_item_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"checker_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_constructor_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"covergroup_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"data_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dpi_import_export\",\n          \"named\": true\n        },\n        {\n          \"type\": \"extern_constraint_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_class_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"let_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"local_parameter_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"net_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"overload_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"task_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"package_scope\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"package_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"packed_dimension\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unsized_dimension\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"par_block\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block_item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"join_keyword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement_or_null\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"parallel_edge_sensitive_path_description\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_source_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"edge_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"polarity_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"specify_input_terminal_descriptor\",\n          \"named\": true\n        },\n        {\n          \"type\": \"specify_output_terminal_descriptor\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"parallel_path_description\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"polarity_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"specify_input_terminal_descriptor\",\n          \"named\": true\n        },\n        {\n          \"type\": \"specify_output_terminal_descriptor\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"param_assignment\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_param_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unpacked_dimension\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"param_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"data_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"mintypmax_expression\",\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\": \"data_type_or_implicit1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_param_assignments\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_type_assignments\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"parameter_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"parameter_override\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"list_of_defparam_assignments\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"parameter_port_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_param_assignments\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_type_assignments\",\n          \"named\": true\n        },\n        {\n          \"type\": \"local_parameter_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"parameter_port_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"list_of_param_assignments\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_port_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"parameter_value_assignment\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"list_of_parameter_assignments\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"pass_en_switchtype\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"pass_enable_switch_instance\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"enable_terminal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"inout_terminal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name_of_instance\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"pass_switch_instance\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"inout_terminal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name_of_instance\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"pass_switchtype\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"path_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"edge_sensitive_path_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_path_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"state_dependent_path_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"path_delay_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_mintypmax_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"path_delay_value\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"list_of_path_delay_expressions\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"member_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"pcontrol_terminal\",\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    }\n  },\n  {\n    \"type\": \"polarity_operator\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"port\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"port_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"port_reference\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"port_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"inout_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"input_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_port_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"output_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ref_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"port_direction\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"port_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"port_reference\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"port_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"primary\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"assignment_pattern_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cast\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_qualifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"concatenation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_bit_select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"empty_unpacked_array_concatenation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_subroutine_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"let_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"mintypmax_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"multiple_concatenation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primary_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_method_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"streaming_concatenation\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"primary_literal\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"integral_number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"real_number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_text_macro_usage\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unbased_unsized_literal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"procedural_continuous_assignment\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"net_assignment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"net_lvalue\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_assignment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_lvalue\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"procedural_timing_control_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"cycle_delay\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delay_control\",\n          \"named\": true\n        },\n        {\n          \"type\": \"event_control\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement_or_null\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"program_ansi_header\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lifetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_port_declarations\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_import_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_port_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"program_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"program_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"non_port_program_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"program_ansi_header\",\n          \"named\": true\n        },\n        {\n          \"type\": \"program_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"program_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"program_nonansi_header\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timeunits_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"program_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"program_instantiation\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"hierarchical_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_value_assignment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"program_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"program_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"non_port_program_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"port_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"program_nonansi_header\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lifetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_ports\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_import_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_port_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"program_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"property_case_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression_or_dist\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property_expr\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"property_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"assertion_variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property_port_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property_spec\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"property_expr\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"clocking_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cycle_delay_const_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression_or_dist\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property_case_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_expr\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"property_formal_type1\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"sequence_formal_type1\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"property_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"property_lvar_port_direction\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"property_port_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"associative_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"event_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"formal_port_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property_formal_type1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property_lvar_port_direction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"queue_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unpacked_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unsized_dimension\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"property_port_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"property_port_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"property_spec\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"clocking_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression_or_dist\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property_expr\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ps_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ps_or_hierarchical_array_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"class_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_bit_select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"implicit_class_handle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"pull_gate_instance\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"name_of_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"output_terminal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"pulldown_strength\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"strength0\",\n          \"named\": true\n        },\n        {\n          \"type\": \"strength1\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"pullup_strength\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"strength0\",\n          \"named\": true\n        },\n        {\n          \"type\": \"strength1\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"pulse_control_specparam\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"error_limit_value\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reject_limit_value\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"pulsestyle_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"list_of_path_outputs\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"queue_dimension\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"randcase_item\",\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\": \"statement_or_null\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"randcase_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"randcase_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"random_qualifier\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"randomize_call\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constraint_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_identifier_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"range_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"indexed_range\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"real_number\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"fixed_point_number\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ref_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"data_type_or_implicit1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_variable_identifiers\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"reference_event\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"timing_check_event\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"reject_limit_value\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"limit_value\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"remain_active_flag\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_mintypmax_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"repeat_range\",\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    }\n  },\n  {\n    \"type\": \"restrict_property_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"property_spec\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"scalar_constant\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"scalar_timing_check_condition\",\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\": \"scalar_constant\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"select1\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bit_select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"indexed_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"member_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"select_condition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bins_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"covergroup_range_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"select_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"cross_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_condition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"seq_block\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"block_item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement_or_null\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sequence_abbrev\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"consecutive_repetition\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sequence_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"assertion_variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_port_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sequence_expr\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"clocking_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"consecutive_repetition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cycle_delay_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression_or_dist\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_repetition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"inc_or_dec_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"non_consecutive_repetition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"operator_assignment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_abbrev\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subroutine_call\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sequence_formal_type1\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"data_type_or_implicit1\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sequence_instance\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"constant_bit_select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_list_of_arguments\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sequence_list_of_arguments\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"event_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sequence_lvar_port_direction\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"sequence_method_call\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"method_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_instance\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sequence_port_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"associative_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"event_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"formal_port_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"queue_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_formal_type1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_lvar_port_direction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unpacked_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unsized_dimension\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sequence_port_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"sequence_port_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sequential_body\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"sequential_entry\",\n          \"named\": true\n        },\n        {\n          \"type\": \"udp_initial_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sequential_entry\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"edge_input_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"level_input_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"level_symbol\",\n          \"named\": true\n        },\n        {\n          \"type\": \"next_state\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"showcancelled_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"list_of_path_outputs\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"simple_immediate_assert_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"action_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"simple_immediate_assume_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"action_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"simple_immediate_cover_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\": \"statement_or_null\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"simple_path_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"full_path_description\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parallel_path_description\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path_delay_value\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"simple_text_macro_usage\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"text_macro_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"slice_size\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"class_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generate_block_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integer_atom_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integer_vector_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"non_integer_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parameter_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"solve_before_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constraint_primary\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"source_file\",\n    \"named\": true,\n    \"root\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"anonymous_program\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"begin_keywords\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bind_directive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"default_nettype_compiler_directive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"id_directive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"include_compiler_directive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"line_compiler_directive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"module_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_export_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_or_generate_item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"program_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"text_macro_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"text_macro_usage\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timescale_compiler_directive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timeunits_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"udp_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unconnected_drive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"zero_directive\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"specify_block\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"$fullskew_timing_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"$hold_timing_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"$nochange_timing_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"$period_timing_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"$recovery_timing_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"$recrem_timing_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"$removal_timing_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"$setup_timing_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"$setuphold_timing_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"$skew_timing_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"$timeskew_timing_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"$width_timing_check\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pulsestyle_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"showcancelled_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"specparam_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"specify_input_terminal_descriptor\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_indexed_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"input_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"specify_output_terminal_descriptor\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_indexed_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"output_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"specparam_assignment\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_mintypmax_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pulse_control_specparam\",\n          \"named\": true\n        },\n        {\n          \"type\": \"specparam_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"specparam_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"list_of_specparam_assignments\",\n          \"named\": true\n        },\n        {\n          \"type\": \"packed_dimension\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"specparam_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"start_edge_offset\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"mintypmax_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"state_dependent_path_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"edge_sensitive_path_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"module_path_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_path_declaration\",\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\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"statement_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"assert_property_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assume_property_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"blocking_assignment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"case_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"checker_instantiation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"clocking_drive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cover_property_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cover_sequence_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"deferred_immediate_assert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"deferred_immediate_assume_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"deferred_immediate_cover_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"disable_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"event_trigger\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expect_property_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"inc_or_dec_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"jump_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"nonblocking_assignment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"par_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"procedural_continuous_assignment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"procedural_timing_control_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"randcase_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"restrict_property_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"seq_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_immediate_assert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_immediate_assume_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_immediate_cover_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_tf_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"wait_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"statement_or_null\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stream_concatenation\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"stream_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stream_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stream_operator\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"streaming_concatenation\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"slice_size\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stream_concatenation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stream_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"strength0\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"strength1\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"string_literal\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"struct_union\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"struct_union_member\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"data_type_or_void\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_variable_decl_assignments\",\n          \"named\": true\n        },\n        {\n          \"type\": \"random_qualifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"subroutine_call\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"method_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"randomize_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_tf_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tf_call\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"system_tf_call\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"clocking_event\",\n          \"named\": true\n        },\n        {\n          \"type\": \"data_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_arguments_parent\",\n          \"named\": true\n        },\n        {\n          \"type\": \"system_tf_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"tagged_union_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\": \"member_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"task_body_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block_item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement_or_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"task_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tf_item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tf_port_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"task_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"lifetime\",\n          \"named\": true\n        },\n        {\n          \"type\": \"task_body_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"task_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"task_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"task_prototype\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"task_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tf_port_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"terminal_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"terminal_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"text_macro_definition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"macro_text\",\n          \"named\": true\n        },\n        {\n          \"type\": \"text_macro_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"text_macro_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"text_macro_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"list_of_formal_arguments\",\n          \"named\": true\n        },\n        {\n          \"type\": \"text_macro_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"text_macro_usage\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"list_of_actual_arguments\",\n          \"named\": true\n        },\n        {\n          \"type\": \"text_macro_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"tf_call\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_bit_select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_arguments_parent\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"tf_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"tf_item_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block_item_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tf_port_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"tf_port_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"data_type_or_implicit1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_tf_variable_identifiers\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tf_port_direction\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"tf_port_direction\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"port_direction\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"tf_port_item1\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"associative_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"data_type_or_implicit1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"port_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"queue_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tf_port_direction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unpacked_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unsized_dimension\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"tf_port_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"tf_port_item1\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"threshold\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"time_literal\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"fixed_point_number\",\n          \"named\": true\n        },\n        {\n          \"type\": \"time_unit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unsigned_number\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"time_unit\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"timecheck_condition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"mintypmax_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"timescale_compiler_directive\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"time_literal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"timestamp_condition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"mintypmax_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"timeunits_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"time_literal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"timing_check_condition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"scalar_timing_check_condition\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"timing_check_event\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"specify_input_terminal_descriptor\",\n          \"named\": true\n        },\n        {\n          \"type\": \"specify_output_terminal_descriptor\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timing_check_condition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"timing_check_event_control\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"timing_check_event_control\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"edge_control_specifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"timing_check_limit\",\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    }\n  },\n  {\n    \"type\": \"trans_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"covergroup_range_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"trans_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"trans_set\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"trans_range_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"repeat_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"trans_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"trans_set\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"trans_range_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_assignment\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"associative_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_bit_select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"data_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_instance_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"queue_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unpacked_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unsized_dimension\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_reference\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"udp_ansi_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"udp_declaration_port_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"udp_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"combinational_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequential_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"udp_ansi_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"udp_nonansi_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"udp_port_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"udp_declaration_port_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"udp_input_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"udp_output_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"udp_initial_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"init_val\",\n          \"named\": true\n        },\n        {\n          \"type\": \"output_port_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"udp_input_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_of_udp_port_identifiers\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"udp_instance\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"input_terminal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name_of_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"output_terminal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"udp_instantiation\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"delay2\",\n          \"named\": true\n        },\n        {\n          \"type\": \"drive_strength\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"udp_instance\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"udp_nonansi_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"udp_port_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"udp_output_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"port_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"udp_port_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"udp_input_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"udp_output_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"udp_reg_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"udp_port_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"input_port_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"output_port_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"udp_reg_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_instance\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"unary_operator\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"unbased_unsized_literal\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"unconnected_drive\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"unique_priority\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"uniqueness_constraint\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"open_range_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"unpacked_dimension\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constant_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_range\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"unsized_dimension\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"value_range\",\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    }\n  },\n  {\n    \"type\": \"variable_assignment\",\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\": \"variable_lvalue\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"variable_decl_assignment\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"associative_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_new\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dynamic_array_new\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dynamic_array_variable_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"queue_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unpacked_dimension\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unsized_dimension\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"variable_identifier_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"variable_lvalue\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"assignment_pattern_variable_lvalue\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_bit_select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"implicit_class_handle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integer_atom_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_scope\",\n          \"named\": true\n        },\n        {\n          \"type\": \"select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"streaming_concatenation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_lvalue\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"variable_port_header\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"data_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"data_type_or_implicit1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"port_direction\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"wait_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"action_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_bit_select1\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement_or_null\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"zero_directive\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"\\n\",\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\": \"\\\"DPI\\\"\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\\\"DPI-C\\\"\",\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\": \"#0\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#=#\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$error\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$fatal\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$fullskew\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$hold\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$info\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$nochange\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$period\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$recovery\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$recrem\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$removal\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$root\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$setup\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$setuphold\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$skew\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$timeskew\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$unit\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$warning\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$width\",\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\": \"\'0\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\'1\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\'B0\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\'B1\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\'b0\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\'b1\",\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\": \"0\",\n    \"named\": false\n  },\n  {\n    \"type\": \"01\",\n    \"named\": false\n  },\n  {\n    \"type\": \"1\",\n    \"named\": false\n  },\n  {\n    \"type\": \"1\'B0\",\n    \"named\": false\n  },\n  {\n    \"type\": \"1\'B1\",\n    \"named\": false\n  },\n  {\n    \"type\": \"1\'BX\",\n    \"named\": false\n  },\n  {\n    \"type\": \"1\'Bx\",\n    \"named\": false\n  },\n  {\n    \"type\": \"1\'b0\",\n    \"named\": false\n  },\n  {\n    \"type\": \"1\'b1\",\n    \"named\": false\n  },\n  {\n    \"type\": \"1\'bX\",\n    \"named\": false\n  },\n  {\n    \"type\": \"1\'bx\",\n    \"named\": false\n  },\n  {\n    \"type\": \"10\",\n    \"named\": false\n  },\n  {\n    \"type\": \"1step\",\n    \"named\": false\n  },\n  {\n    \"type\": \"2\",\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\": \"@@\",\n    \"named\": false\n  },\n  {\n    \"type\": \"PATHPULSE$=\",\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\": \"[\u{2013}>\",\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\": \"accept_on\",\n    \"named\": false\n  },\n  {\n    \"type\": \"alias\",\n    \"named\": false\n  },\n  {\n    \"type\": \"always\",\n    \"named\": false\n  },\n  {\n    \"type\": \"always_comb\",\n    \"named\": false\n  },\n  {\n    \"type\": \"always_ff\",\n    \"named\": false\n  },\n  {\n    \"type\": \"always_latch\",\n    \"named\": false\n  },\n  {\n    \"type\": \"and\",\n    \"named\": false\n  },\n  {\n    \"type\": \"assert\",\n    \"named\": false\n  },\n  {\n    \"type\": \"assign\",\n    \"named\": false\n  },\n  {\n    \"type\": \"assume\",\n    \"named\": false\n  },\n  {\n    \"type\": \"automatic\",\n    \"named\": false\n  },\n  {\n    \"type\": \"before\",\n    \"named\": false\n  },\n  {\n    \"type\": \"begin\",\n    \"named\": false\n  },\n  {\n    \"type\": \"binary_number\",\n    \"named\": true\n  },\n  {\n    \"type\": \"bind\",\n    \"named\": false\n  },\n  {\n    \"type\": \"bins\",\n    \"named\": false\n  },\n  {\n    \"type\": \"binsof\",\n    \"named\": false\n  },\n  {\n    \"type\": \"bit\",\n    \"named\": false\n  },\n  {\n    \"type\": \"break\",\n    \"named\": false\n  },\n  {\n    \"type\": \"buf\",\n    \"named\": false\n  },\n  {\n    \"type\": \"bufif0\",\n    \"named\": false\n  },\n  {\n    \"type\": \"bufif1\",\n    \"named\": false\n  },\n  {\n    \"type\": \"byte\",\n    \"named\": false\n  },\n  {\n    \"type\": \"c_identifier\",\n    \"named\": true\n  },\n  {\n    \"type\": \"case\",\n    \"named\": false\n  },\n  {\n    \"type\": \"casex\",\n    \"named\": false\n  },\n  {\n    \"type\": \"casez\",\n    \"named\": false\n  },\n  {\n    \"type\": \"chandle\",\n    \"named\": false\n  },\n  {\n    \"type\": \"checker\",\n    \"named\": false\n  },\n  {\n    \"type\": \"class\",\n    \"named\": false\n  },\n  {\n    \"type\": \"clocking\",\n    \"named\": false\n  },\n  {\n    \"type\": \"cmos\",\n    \"named\": false\n  },\n  {\n    \"type\": \"comment\",\n    \"named\": true\n  },\n  {\n    \"type\": \"const\",\n    \"named\": false\n  },\n  {\n    \"type\": \"constraint\",\n    \"named\": false\n  },\n  {\n    \"type\": \"context\",\n    \"named\": false\n  },\n  {\n    \"type\": \"continue\",\n    \"named\": false\n  },\n  {\n    \"type\": \"cover\",\n    \"named\": false\n  },\n  {\n    \"type\": \"covergroup\",\n    \"named\": false\n  },\n  {\n    \"type\": \"coverpoint\",\n    \"named\": false\n  },\n  {\n    \"type\": \"cross\",\n    \"named\": false\n  },\n  {\n    \"type\": \"deassign\",\n    \"named\": false\n  },\n  {\n    \"type\": \"default\",\n    \"named\": false\n  },\n  {\n    \"type\": \"default_text\",\n    \"named\": true\n  },\n  {\n    \"type\": \"defparam\",\n    \"named\": false\n  },\n  {\n    \"type\": \"directive_begin_keywords\",\n    \"named\": false\n  },\n  {\n    \"type\": \"directive_celldefine\",\n    \"named\": false\n  },\n  {\n    \"type\": \"directive_default_nettype\",\n    \"named\": false\n  },\n  {\n    \"type\": \"directive_define\",\n    \"named\": false\n  },\n  {\n    \"type\": \"directive_else\",\n    \"named\": false\n  },\n  {\n    \"type\": \"directive_elsif\",\n    \"named\": false\n  },\n  {\n    \"type\": \"directive_end_keywords\",\n    \"named\": false\n  },\n  {\n    \"type\": \"directive_endcelldefine\",\n    \"named\": false\n  },\n  {\n    \"type\": \"directive_endif\",\n    \"named\": false\n  },\n  {\n    \"type\": \"directive_ifdef\",\n    \"named\": false\n  },\n  {\n    \"type\": \"directive_ifndef\",\n    \"named\": false\n  },\n  {\n    \"type\": \"directive_include\",\n    \"named\": false\n  },\n  {\n    \"type\": \"directive_line\",\n    \"named\": false\n  },\n  {\n    \"type\": \"directive_nounconnected_drive\",\n    \"named\": false\n  },\n  {\n    \"type\": \"directive_resetall\",\n    \"named\": false\n  },\n  {\n    \"type\": \"directive_timescale\",\n    \"named\": false\n  },\n  {\n    \"type\": \"directive_unconnected_drive\",\n    \"named\": false\n  },\n  {\n    \"type\": \"directive_undef\",\n    \"named\": false\n  },\n  {\n    \"type\": \"directive_undefineall\",\n    \"named\": false\n  },\n  {\n    \"type\": \"disable\",\n    \"named\": false\n  },\n  {\n    \"type\": \"dist\",\n    \"named\": false\n  },\n  {\n    \"type\": \"do\",\n    \"named\": false\n  },\n  {\n    \"type\": \"edge\",\n    \"named\": false\n  },\n  {\n    \"type\": \"edge_symbol\",\n    \"named\": true\n  },\n  {\n    \"type\": \"else\",\n    \"named\": false\n  },\n  {\n    \"type\": \"end\",\n    \"named\": false\n  },\n  {\n    \"type\": \"endcase\",\n    \"named\": false\n  },\n  {\n    \"type\": \"endchecker\",\n    \"named\": false\n  },\n  {\n    \"type\": \"endclass\",\n    \"named\": false\n  },\n  {\n    \"type\": \"endclocking\",\n    \"named\": false\n  },\n  {\n    \"type\": \"endfunction\",\n    \"named\": false\n  },\n  {\n    \"type\": \"endgenerate\",\n    \"named\": false\n  },\n  {\n    \"type\": \"endgroup\",\n    \"named\": false\n  },\n  {\n    \"type\": \"endinterface\",\n    \"named\": false\n  },\n  {\n    \"type\": \"endmodule\",\n    \"named\": false\n  },\n  {\n    \"type\": \"endpackage\",\n    \"named\": false\n  },\n  {\n    \"type\": \"endprimitive\",\n    \"named\": false\n  },\n  {\n    \"type\": \"endprogram\",\n    \"named\": false\n  },\n  {\n    \"type\": \"endproperty\",\n    \"named\": false\n  },\n  {\n    \"type\": \"endsequence\",\n    \"named\": false\n  },\n  {\n    \"type\": \"endspecify\",\n    \"named\": false\n  },\n  {\n    \"type\": \"endtable\",\n    \"named\": false\n  },\n  {\n    \"type\": \"endtask\",\n    \"named\": false\n  },\n  {\n    \"type\": \"enum\",\n    \"named\": false\n  },\n  {\n    \"type\": \"event\",\n    \"named\": false\n  },\n  {\n    \"type\": \"eventually\",\n    \"named\": false\n  },\n  {\n    \"type\": \"expect\",\n    \"named\": false\n  },\n  {\n    \"type\": \"export\",\n    \"named\": false\n  },\n  {\n    \"type\": \"extends\",\n    \"named\": false\n  },\n  {\n    \"type\": \"extern\",\n    \"named\": false\n  },\n  {\n    \"type\": \"final\",\n    \"named\": false\n  },\n  {\n    \"type\": \"first_match\",\n    \"named\": false\n  },\n  {\n    \"type\": \"fixed_point_number\",\n    \"named\": true\n  },\n  {\n    \"type\": \"for\",\n    \"named\": false\n  },\n  {\n    \"type\": \"force\",\n    \"named\": false\n  },\n  {\n    \"type\": \"foreach\",\n    \"named\": false\n  },\n  {\n    \"type\": \"forever\",\n    \"named\": false\n  },\n  {\n    \"type\": \"fork\",\n    \"named\": false\n  },\n  {\n    \"type\": \"forkjoin\",\n    \"named\": false\n  },\n  {\n    \"type\": \"fs\",\n    \"named\": false\n  },\n  {\n    \"type\": \"function\",\n    \"named\": false\n  },\n  {\n    \"type\": \"generate\",\n    \"named\": false\n  },\n  {\n    \"type\": \"genvar\",\n    \"named\": false\n  },\n  {\n    \"type\": \"global\",\n    \"named\": false\n  },\n  {\n    \"type\": \"hex_number\",\n    \"named\": true\n  },\n  {\n    \"type\": \"highz0\",\n    \"named\": false\n  },\n  {\n    \"type\": \"highz1\",\n    \"named\": false\n  },\n  {\n    \"type\": \"if\",\n    \"named\": false\n  },\n  {\n    \"type\": \"iff\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ifnone\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ignore_bins\",\n    \"named\": false\n  },\n  {\n    \"type\": \"illegal_bins\",\n    \"named\": false\n  },\n  {\n    \"type\": \"implements\",\n    \"named\": false\n  },\n  {\n    \"type\": \"implies\",\n    \"named\": false\n  },\n  {\n    \"type\": \"import\",\n    \"named\": false\n  },\n  {\n    \"type\": \"initial\",\n    \"named\": false\n  },\n  {\n    \"type\": \"inout\",\n    \"named\": false\n  },\n  {\n    \"type\": \"input\",\n    \"named\": false\n  },\n  {\n    \"type\": \"inside\",\n    \"named\": false\n  },\n  {\n    \"type\": \"int\",\n    \"named\": false\n  },\n  {\n    \"type\": \"integer\",\n    \"named\": false\n  },\n  {\n    \"type\": \"interconnect\",\n    \"named\": false\n  },\n  {\n    \"type\": \"interface\",\n    \"named\": false\n  },\n  {\n    \"type\": \"intersect\",\n    \"named\": false\n  },\n  {\n    \"type\": \"join\",\n    \"named\": false\n  },\n  {\n    \"type\": \"join_any\",\n    \"named\": false\n  },\n  {\n    \"type\": \"join_none\",\n    \"named\": false\n  },\n  {\n    \"type\": \"large\",\n    \"named\": false\n  },\n  {\n    \"type\": \"let\",\n    \"named\": false\n  },\n  {\n    \"type\": \"level_symbol\",\n    \"named\": true\n  },\n  {\n    \"type\": \"local\",\n    \"named\": false\n  },\n  {\n    \"type\": \"localparam\",\n    \"named\": false\n  },\n  {\n    \"type\": \"logic\",\n    \"named\": false\n  },\n  {\n    \"type\": \"longint\",\n    \"named\": false\n  },\n  {\n    \"type\": \"macro_text\",\n    \"named\": true\n  },\n  {\n    \"type\": \"macromodule\",\n    \"named\": false\n  },\n  {\n    \"type\": \"matches\",\n    \"named\": false\n  },\n  {\n    \"type\": \"medium\",\n    \"named\": false\n  },\n  {\n    \"type\": \"modport\",\n    \"named\": false\n  },\n  {\n    \"type\": \"module\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ms\",\n    \"named\": false\n  },\n  {\n    \"type\": \"nand\",\n    \"named\": false\n  },\n  {\n    \"type\": \"negedge\",\n    \"named\": false\n  },\n  {\n    \"type\": \"nettype\",\n    \"named\": false\n  },\n  {\n    \"type\": \"new\",\n    \"named\": false\n  },\n  {\n    \"type\": \"nexttime\",\n    \"named\": false\n  },\n  {\n    \"type\": \"nmos\",\n    \"named\": false\n  },\n  {\n    \"type\": \"none\",\n    \"named\": false\n  },\n  {\n    \"type\": \"nor\",\n    \"named\": false\n  },\n  {\n    \"type\": \"noshowcancelled\",\n    \"named\": false\n  },\n  {\n    \"type\": \"not\",\n    \"named\": false\n  },\n  {\n    \"type\": \"notif0\",\n    \"named\": false\n  },\n  {\n    \"type\": \"notif1\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ns\",\n    \"named\": false\n  },\n  {\n    \"type\": \"null\",\n    \"named\": false\n  },\n  {\n    \"type\": \"octal_number\",\n    \"named\": true\n  },\n  {\n    \"type\": \"option\",\n    \"named\": false\n  },\n  {\n    \"type\": \"or\",\n    \"named\": false\n  },\n  {\n    \"type\": \"output\",\n    \"named\": false\n  },\n  {\n    \"type\": \"output_symbol\",\n    \"named\": true\n  },\n  {\n    \"type\": \"package\",\n    \"named\": false\n  },\n  {\n    \"type\": \"packed\",\n    \"named\": false\n  },\n  {\n    \"type\": \"parameter\",\n    \"named\": false\n  },\n  {\n    \"type\": \"pmos\",\n    \"named\": false\n  },\n  {\n    \"type\": \"posedge\",\n    \"named\": false\n  },\n  {\n    \"type\": \"primitive\",\n    \"named\": false\n  },\n  {\n    \"type\": \"priority\",\n    \"named\": false\n  },\n  {\n    \"type\": \"program\",\n    \"named\": false\n  },\n  {\n    \"type\": \"property\",\n    \"named\": false\n  },\n  {\n    \"type\": \"protected\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ps\",\n    \"named\": false\n  },\n  {\n    \"type\": \"pull0\",\n    \"named\": false\n  },\n  {\n    \"type\": \"pull1\",\n    \"named\": false\n  },\n  {\n    \"type\": \"pulldown\",\n    \"named\": false\n  },\n  {\n    \"type\": \"pullup\",\n    \"named\": false\n  },\n  {\n    \"type\": \"pulsestyle_ondetect\",\n    \"named\": false\n  },\n  {\n    \"type\": \"pulsestyle_onevent\",\n    \"named\": false\n  },\n  {\n    \"type\": \"pure\",\n    \"named\": false\n  },\n  {\n    \"type\": \"rand\",\n    \"named\": false\n  },\n  {\n    \"type\": \"randc\",\n    \"named\": false\n  },\n  {\n    \"type\": \"randcase\",\n    \"named\": false\n  },\n  {\n    \"type\": \"randomize\",\n    \"named\": false\n  },\n  {\n    \"type\": \"rcmos\",\n    \"named\": false\n  },\n  {\n    \"type\": \"real\",\n    \"named\": false\n  },\n  {\n    \"type\": \"realtime\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ref\",\n    \"named\": false\n  },\n  {\n    \"type\": \"reg\",\n    \"named\": false\n  },\n  {\n    \"type\": \"reject_on\",\n    \"named\": false\n  },\n  {\n    \"type\": \"release\",\n    \"named\": false\n  },\n  {\n    \"type\": \"repeat\",\n    \"named\": false\n  },\n  {\n    \"type\": \"restrict\",\n    \"named\": false\n  },\n  {\n    \"type\": \"return\",\n    \"named\": false\n  },\n  {\n    \"type\": \"rnmos\",\n    \"named\": false\n  },\n  {\n    \"type\": \"rpmos\",\n    \"named\": false\n  },\n  {\n    \"type\": \"rtran\",\n    \"named\": false\n  },\n  {\n    \"type\": \"rtranif0\",\n    \"named\": false\n  },\n  {\n    \"type\": \"rtranif1\",\n    \"named\": false\n  },\n  {\n    \"type\": \"s\",\n    \"named\": false\n  },\n  {\n    \"type\": \"s_always\",\n    \"named\": false\n  },\n  {\n    \"type\": \"s_eventually\",\n    \"named\": false\n  },\n  {\n    \"type\": \"s_nexttime\",\n    \"named\": false\n  },\n  {\n    \"type\": \"s_until\",\n    \"named\": false\n  },\n  {\n    \"type\": \"s_until_with\",\n    \"named\": false\n  },\n  {\n    \"type\": \"sample\",\n    \"named\": false\n  },\n  {\n    \"type\": \"scalared\",\n    \"named\": false\n  },\n  {\n    \"type\": \"sequence\",\n    \"named\": false\n  },\n  {\n    \"type\": \"shortint\",\n    \"named\": false\n  },\n  {\n    \"type\": \"shortreal\",\n    \"named\": false\n  },\n  {\n    \"type\": \"showcancelled\",\n    \"named\": false\n  },\n  {\n    \"type\": \"signed\",\n    \"named\": false\n  },\n  {\n    \"type\": \"simple_identifier\",\n    \"named\": true\n  },\n  {\n    \"type\": \"small\",\n    \"named\": false\n  },\n  {\n    \"type\": \"soft\",\n    \"named\": false\n  },\n  {\n    \"type\": \"solve\",\n    \"named\": false\n  },\n  {\n    \"type\": \"specify\",\n    \"named\": false\n  },\n  {\n    \"type\": \"specparam\",\n    \"named\": false\n  },\n  {\n    \"type\": \"static\",\n    \"named\": false\n  },\n  {\n    \"type\": \"std\",\n    \"named\": false\n  },\n  {\n    \"type\": \"string\",\n    \"named\": false\n  },\n  {\n    \"type\": \"strong\",\n    \"named\": false\n  },\n  {\n    \"type\": \"strong0\",\n    \"named\": false\n  },\n  {\n    \"type\": \"strong1\",\n    \"named\": false\n  },\n  {\n    \"type\": \"struct\",\n    \"named\": false\n  },\n  {\n    \"type\": \"super\",\n    \"named\": false\n  },\n  {\n    \"type\": \"supply0\",\n    \"named\": false\n  },\n  {\n    \"type\": \"supply1\",\n    \"named\": false\n  },\n  {\n    \"type\": \"sync_accept_on\",\n    \"named\": false\n  },\n  {\n    \"type\": \"sync_reject_on\",\n    \"named\": false\n  },\n  {\n    \"type\": \"system_tf_identifier\",\n    \"named\": true\n  },\n  {\n    \"type\": \"table\",\n    \"named\": false\n  },\n  {\n    \"type\": \"tagged\",\n    \"named\": false\n  },\n  {\n    \"type\": \"task\",\n    \"named\": false\n  },\n  {\n    \"type\": \"this\",\n    \"named\": false\n  },\n  {\n    \"type\": \"throughout\",\n    \"named\": false\n  },\n  {\n    \"type\": \"time\",\n    \"named\": false\n  },\n  {\n    \"type\": \"timeprecision\",\n    \"named\": false\n  },\n  {\n    \"type\": \"timeunit\",\n    \"named\": false\n  },\n  {\n    \"type\": \"tran\",\n    \"named\": false\n  },\n  {\n    \"type\": \"tranif0\",\n    \"named\": false\n  },\n  {\n    \"type\": \"tranif1\",\n    \"named\": false\n  },\n  {\n    \"type\": \"tri\",\n    \"named\": false\n  },\n  {\n    \"type\": \"tri0\",\n    \"named\": false\n  },\n  {\n    \"type\": \"tri1\",\n    \"named\": false\n  },\n  {\n    \"type\": \"triand\",\n    \"named\": false\n  },\n  {\n    \"type\": \"trior\",\n    \"named\": false\n  },\n  {\n    \"type\": \"trireg\",\n    \"named\": false\n  },\n  {\n    \"type\": \"type\",\n    \"named\": false\n  },\n  {\n    \"type\": \"type_option\",\n    \"named\": false\n  },\n  {\n    \"type\": \"typedef\",\n    \"named\": false\n  },\n  {\n    \"type\": \"union\",\n    \"named\": false\n  },\n  {\n    \"type\": \"unique\",\n    \"named\": false\n  },\n  {\n    \"type\": \"unique0\",\n    \"named\": false\n  },\n  {\n    \"type\": \"unsigned\",\n    \"named\": false\n  },\n  {\n    \"type\": \"unsigned_number\",\n    \"named\": true\n  },\n  {\n    \"type\": \"until\",\n    \"named\": false\n  },\n  {\n    \"type\": \"until_with\",\n    \"named\": false\n  },\n  {\n    \"type\": \"untyped\",\n    \"named\": false\n  },\n  {\n    \"type\": \"us\",\n    \"named\": false\n  },\n  {\n    \"type\": \"uwire\",\n    \"named\": false\n  },\n  {\n    \"type\": \"var\",\n    \"named\": false\n  },\n  {\n    \"type\": \"vectored\",\n    \"named\": false\n  },\n  {\n    \"type\": \"virtual\",\n    \"named\": false\n  },\n  {\n    \"type\": \"void\",\n    \"named\": false\n  },\n  {\n    \"type\": \"wait\",\n    \"named\": false\n  },\n  {\n    \"type\": \"wait_order\",\n    \"named\": false\n  },\n  {\n    \"type\": \"wand\",\n    \"named\": false\n  },\n  {\n    \"type\": \"weak\",\n    \"named\": false\n  },\n  {\n    \"type\": \"weak0\",\n    \"named\": false\n  },\n  {\n    \"type\": \"weak1\",\n    \"named\": false\n  },\n  {\n    \"type\": \"while\",\n    \"named\": false\n  },\n  {\n    \"type\": \"wildcard\",\n    \"named\": false\n  },\n  {\n    \"type\": \"wire\",\n    \"named\": false\n  },\n  {\n    \"type\": \"with\",\n    \"named\": false\n  },\n  {\n    \"type\": \"within\",\n    \"named\": false\n  },\n  {\n    \"type\": \"wor\",\n    \"named\": false\n  },\n  {\n    \"type\": \"xnor\",\n    \"named\": false\n  },\n  {\n    \"type\": \"xor\",\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\": \"\u{2013}\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\u{2013}>\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\u{2013}\u{2013}\",\n    \"named\": false\n  }\n]";
Expand description

The content of the node-types.json file for this grammar.