C_SHARP_EXPRESSION = {
    "anonymous_method_expres",
    "anonymous_object_creation_expression",
    "array_creation_expression",
    "as_expression",
    "assignment_expression",
    "await_expression",
    "base_expression",
    "binary_expression",
    "boolean_literal",
    "cast_expression",
    "character_literal",
    "checked_expression",
    "conditional_access_expression",
    "conditional_expression",
    "default_expression",
    "element_access_expression",
    "element_binding_expression",
    "generic_name",
    "global",
    "identifier",
    "implicit_array_creation_expression",
    "implicit_object_creation_expression",
    "implicit_stack_alloc_array_creation_expression",
    "initializer_expression",
    "integer_literal",
    "interpolated_string_expression",
    "invocation_expression",
    "is_expression",
    "is_pattern_expression",
    "lambda_expression",
    "make_ref_expression",
    "member_access_expression",
    "null_literal",
    "object_creation_expression",
    "parenthesized_expression",
    "postfix_unary_expression",
    "prefix_unary_expression",
    "query_expression",
    "range_expression",
    "real_literal",
    "ref_expression",
    "ref_type_expression",
    "ref_value_expression",
    "size_of_expression",
    "stack_alloc_array_creation_expression",
    "string_literal",
    "switch_expression",
    "this_expression",
    "throw_expression",
    "tuple_expression",
    "type_of_expression",
    "verbatim_string_literal",
    "with_expression",
}


C_SHARP_STATEMENT = {
    "block",
    "break_statement",
    "checked_statement",
    "continue_statement",
    "do_statement",
    "empty_statement",
    "expression_statement",
    "fixed_statement",
    "for_each_statement",
    "for_statement",
    "goto_statement",
    "if_statement",
    "labeled_statement",
    "local_declaration_statement",
    "local_function_statement",
    "lock_statement",
    "return_statement",
    "switch_statement",
    "throw_statement",
    "try_statement",
    "unsafe_statement",
    "using_statement",
    "while_statement",
    "yield_statement",
}

JAVA_STATEMENT = {
    "declaration",
    "expression_statement",
    "labeled_statement",
    "if_statement",
    "while_statement",
    "for_statement",
    "enhanced_for_statement",
    "block",
    "assert_statement",
    "do_statement",
    "return_statement",
    "yield_statement",
    "switch_expression",
    "synchronized_statement",
    "local_variable_declaration",
    "throw_statement",
    "try_statement",
    "try_with_resources_statement",
}

JAVASCRIPT_STATEMENT = {
    "export_statement",
    "import_statement",
    "debugger_statement",
    "declaration",
    "statement_block",
    "expression_statement",
    "if_statement",
    "while_statement",
    "for_statement",
    "switch_statement",
    "for_in_statement",
    "do_statement",
    "try_statement",
    "with_statement",
    "break_statement",
    "continue_statement",
    "return_statement",
    "throw_statement",
    "empty_statement",
    "labeled_statement",
}

TYPESCRIPT_PRIMARY_TYPES = {
    "array_type",
    "conditional_type",
    "existential_type",
    "flow_maybe_type",
    "generic_type",
    "index_type_query",
    "intersection_type",
    "literal_type",
    "lookup_type",
    "nested_type_identifier",
    "object_type",
    "parenthesized_type",
    "predefined_type",
    "template_literal_type",
    "this_type",
    "tuple_type",
    "type_identifier",
    "type_query",
    "union_type",
}
