#include #if defined(__GNUC__) || defined(__clang__) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wmissing-field-initializers" #endif #define LANGUAGE_VERSION 14 #define STATE_COUNT 55 #define LARGE_STATE_COUNT 7 #define SYMBOL_COUNT 29 #define ALIAS_COUNT 0 #define TOKEN_COUNT 12 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 1 #define MAX_ALIAS_SEQUENCE_LENGTH 4 #define PRODUCTION_ID_COUNT 5 enum { sym_static_modifier = 1, sym__shebang_comment = 2, anon_sym_import = 3, anon_sym_DOT = 4, anon_sym_STAR = 5, anon_sym_package = 6, anon_sym_AT = 7, sym_identifier = 8, anon_sym_def = 9, anon_sym_LF = 10, anon_sym_SEMI = 11, sym_source_file = 12, sym__script_statements = 13, sym_import_declaration = 14, sym_wildcard_import = 15, sym_package_declaration = 16, sym__annotations = 17, sym_annotation = 18, sym__script_statement = 19, sym_expression = 20, sym_qualified_name = 21, sym_statement = 22, sym_method_declaration = 23, sym__sep = 24, aux_sym_source_file_repeat1 = 25, aux_sym__script_statements_repeat1 = 26, aux_sym__annotations_repeat1 = 27, aux_sym_qualified_name_repeat1 = 28, }; static const char * const ts_symbol_names[] = { [ts_builtin_sym_end] = "end", [sym_static_modifier] = "static_modifier", [sym__shebang_comment] = "_shebang_comment", [anon_sym_import] = "import", [anon_sym_DOT] = ".", [anon_sym_STAR] = "*", [anon_sym_package] = "package", [anon_sym_AT] = "@", [sym_identifier] = "identifier", [anon_sym_def] = "def", [anon_sym_LF] = "\n", [anon_sym_SEMI] = ";", [sym_source_file] = "source_file", [sym__script_statements] = "_script_statements", [sym_import_declaration] = "import_declaration", [sym_wildcard_import] = "wildcard_import", [sym_package_declaration] = "package_declaration", [sym__annotations] = "_annotations", [sym_annotation] = "annotation", [sym__script_statement] = "_script_statement", [sym_expression] = "expression", [sym_qualified_name] = "qualified_name", [sym_statement] = "statement", [sym_method_declaration] = "method_declaration", [sym__sep] = "_sep", [aux_sym_source_file_repeat1] = "source_file_repeat1", [aux_sym__script_statements_repeat1] = "_script_statements_repeat1", [aux_sym__annotations_repeat1] = "_annotations_repeat1", [aux_sym_qualified_name_repeat1] = "qualified_name_repeat1", }; static const TSSymbol ts_symbol_map[] = { [ts_builtin_sym_end] = ts_builtin_sym_end, [sym_static_modifier] = sym_static_modifier, [sym__shebang_comment] = sym__shebang_comment, [anon_sym_import] = anon_sym_import, [anon_sym_DOT] = anon_sym_DOT, [anon_sym_STAR] = anon_sym_STAR, [anon_sym_package] = anon_sym_package, [anon_sym_AT] = anon_sym_AT, [sym_identifier] = sym_identifier, [anon_sym_def] = anon_sym_def, [anon_sym_LF] = anon_sym_LF, [anon_sym_SEMI] = anon_sym_SEMI, [sym_source_file] = sym_source_file, [sym__script_statements] = sym__script_statements, [sym_import_declaration] = sym_import_declaration, [sym_wildcard_import] = sym_wildcard_import, [sym_package_declaration] = sym_package_declaration, [sym__annotations] = sym__annotations, [sym_annotation] = sym_annotation, [sym__script_statement] = sym__script_statement, [sym_expression] = sym_expression, [sym_qualified_name] = sym_qualified_name, [sym_statement] = sym_statement, [sym_method_declaration] = sym_method_declaration, [sym__sep] = sym__sep, [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1, [aux_sym__script_statements_repeat1] = aux_sym__script_statements_repeat1, [aux_sym__annotations_repeat1] = aux_sym__annotations_repeat1, [aux_sym_qualified_name_repeat1] = aux_sym_qualified_name_repeat1, }; static const TSSymbolMetadata ts_symbol_metadata[] = { [ts_builtin_sym_end] = { .visible = false, .named = true, }, [sym_static_modifier] = { .visible = true, .named = true, }, [sym__shebang_comment] = { .visible = false, .named = true, }, [anon_sym_import] = { .visible = true, .named = false, }, [anon_sym_DOT] = { .visible = true, .named = false, }, [anon_sym_STAR] = { .visible = true, .named = false, }, [anon_sym_package] = { .visible = true, .named = false, }, [anon_sym_AT] = { .visible = true, .named = false, }, [sym_identifier] = { .visible = true, .named = true, }, [anon_sym_def] = { .visible = true, .named = false, }, [anon_sym_LF] = { .visible = true, .named = false, }, [anon_sym_SEMI] = { .visible = true, .named = false, }, [sym_source_file] = { .visible = true, .named = true, }, [sym__script_statements] = { .visible = false, .named = true, }, [sym_import_declaration] = { .visible = true, .named = true, }, [sym_wildcard_import] = { .visible = true, .named = true, }, [sym_package_declaration] = { .visible = true, .named = true, }, [sym__annotations] = { .visible = false, .named = true, }, [sym_annotation] = { .visible = true, .named = true, }, [sym__script_statement] = { .visible = false, .named = true, }, [sym_expression] = { .visible = true, .named = true, }, [sym_qualified_name] = { .visible = true, .named = true, }, [sym_statement] = { .visible = true, .named = true, }, [sym_method_declaration] = { .visible = true, .named = true, }, [sym__sep] = { .visible = false, .named = true, }, [aux_sym_source_file_repeat1] = { .visible = false, .named = false, }, [aux_sym__script_statements_repeat1] = { .visible = false, .named = false, }, [aux_sym__annotations_repeat1] = { .visible = false, .named = false, }, [aux_sym_qualified_name_repeat1] = { .visible = false, .named = false, }, }; enum { field_name = 1, }; static const char * const ts_field_names[] = { [0] = NULL, [field_name] = "name", }; static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [1] = {.index = 0, .length = 1}, [2] = {.index = 1, .length = 1}, [3] = {.index = 2, .length = 2}, [4] = {.index = 4, .length = 2}, }; static const TSFieldMapEntry ts_field_map_entries[] = { [0] = {field_name, 1}, [1] = {field_name, 2}, [2] = {field_name, 1}, {field_name, 2}, [4] = {field_name, 2}, {field_name, 3}, }; static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { [0] = {0}, }; static const uint16_t ts_non_terminal_alias_map[] = { 0, }; static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [0] = 0, [1] = 1, [2] = 2, [3] = 3, [4] = 4, [5] = 5, [6] = 6, [7] = 7, [8] = 8, [9] = 9, [10] = 10, [11] = 11, [12] = 12, [13] = 13, [14] = 14, [15] = 15, [16] = 16, [17] = 17, [18] = 18, [19] = 19, [20] = 11, [21] = 21, [22] = 22, [23] = 10, [24] = 24, [25] = 25, [26] = 26, [27] = 27, [28] = 11, [29] = 10, [30] = 9, [31] = 31, [32] = 32, [33] = 13, [34] = 34, [35] = 35, [36] = 36, [37] = 37, [38] = 38, [39] = 39, [40] = 40, [41] = 41, [42] = 42, [43] = 43, [44] = 44, [45] = 45, [46] = 46, [47] = 47, [48] = 48, [49] = 49, [50] = 50, [51] = 51, [52] = 52, [53] = 53, [54] = 49, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { START_LEXER(); eof = lexer->eof(lexer); switch (state) { case 0: if (eof) ADVANCE(17); if (lookahead == '#') ADVANCE(2); if (lookahead == '*') ADVANCE(22); if (lookahead == '.') ADVANCE(21); if (lookahead == ';') ADVANCE(47); if (lookahead == '@') ADVANCE(25); if (lookahead == 'd') ADVANCE(31); if (lookahead == 'i') ADVANCE(37); if (lookahead == 'p') ADVANCE(26); if (lookahead == 's') ADVANCE(43); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(15) if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 1: if (lookahead == '\n') ADVANCE(19); if (lookahead != 0) ADVANCE(1); END_STATE(); case 2: if (lookahead == '!') ADVANCE(1); END_STATE(); case 3: if (lookahead == '.') ADVANCE(21); if (lookahead == '@') ADVANCE(25); if (lookahead == 'p') ADVANCE(4); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(3) END_STATE(); case 4: if (lookahead == 'a') ADVANCE(6); END_STATE(); case 5: if (lookahead == 'a') ADVANCE(9); END_STATE(); case 6: if (lookahead == 'c') ADVANCE(10); END_STATE(); case 7: if (lookahead == 'd') ADVANCE(31); if (lookahead == 'i') ADVANCE(37); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(7) if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 8: if (lookahead == 'e') ADVANCE(23); END_STATE(); case 9: if (lookahead == 'g') ADVANCE(8); END_STATE(); case 10: if (lookahead == 'k') ADVANCE(5); END_STATE(); case 11: if (lookahead == 's') ADVANCE(43); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(11) if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 12: if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(12) if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 13: if (eof) ADVANCE(17); if (lookahead == '\n') ADVANCE(46); if (lookahead == '.') ADVANCE(21); if (lookahead == ';') ADVANCE(47); if (lookahead == 'd') ADVANCE(31); if (lookahead == 'i') ADVANCE(37); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') SKIP(13) if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 14: if (eof) ADVANCE(17); if (lookahead == '#') ADVANCE(2); if (lookahead == '@') ADVANCE(25); if (lookahead == 'd') ADVANCE(31); if (lookahead == 'i') ADVANCE(37); if (lookahead == 'p') ADVANCE(26); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(16) if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 15: if (eof) ADVANCE(17); if (lookahead == '*') ADVANCE(22); if (lookahead == '.') ADVANCE(21); if (lookahead == ';') ADVANCE(47); if (lookahead == '@') ADVANCE(25); if (lookahead == 'd') ADVANCE(31); if (lookahead == 'i') ADVANCE(37); if (lookahead == 'p') ADVANCE(26); if (lookahead == 's') ADVANCE(43); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(15) if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 16: if (eof) ADVANCE(17); if (lookahead == '@') ADVANCE(25); if (lookahead == 'd') ADVANCE(31); if (lookahead == 'i') ADVANCE(37); if (lookahead == 'p') ADVANCE(26); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(16) if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 17: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 18: ACCEPT_TOKEN(sym_static_modifier); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 19: ACCEPT_TOKEN(sym__shebang_comment); END_STATE(); case 20: ACCEPT_TOKEN(anon_sym_import); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 21: ACCEPT_TOKEN(anon_sym_DOT); END_STATE(); case 22: ACCEPT_TOKEN(anon_sym_STAR); END_STATE(); case 23: ACCEPT_TOKEN(anon_sym_package); END_STATE(); case 24: ACCEPT_TOKEN(anon_sym_package); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 25: ACCEPT_TOKEN(anon_sym_AT); END_STATE(); case 26: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'a') ADVANCE(29); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('b' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 27: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'a') ADVANCE(34); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('b' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 28: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'a') ADVANCE(41); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('b' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 29: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'c') ADVANCE(36); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 30: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'c') ADVANCE(18); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 31: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'e') ADVANCE(33); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 32: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'e') ADVANCE(24); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 33: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'f') ADVANCE(45); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 34: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'g') ADVANCE(32); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 35: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'i') ADVANCE(30); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 36: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'k') ADVANCE(27); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 37: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'm') ADVANCE(39); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 38: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'o') ADVANCE(40); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 39: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'p') ADVANCE(38); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 40: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'r') ADVANCE(42); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 41: ACCEPT_TOKEN(sym_identifier); if (lookahead == 't') ADVANCE(35); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 42: ACCEPT_TOKEN(sym_identifier); if (lookahead == 't') ADVANCE(20); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 43: ACCEPT_TOKEN(sym_identifier); if (lookahead == 't') ADVANCE(28); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 44: ACCEPT_TOKEN(sym_identifier); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 45: ACCEPT_TOKEN(anon_sym_def); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 46: ACCEPT_TOKEN(anon_sym_LF); if (lookahead == '\n') ADVANCE(46); END_STATE(); case 47: ACCEPT_TOKEN(anon_sym_SEMI); END_STATE(); default: return false; } } static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, [1] = {.lex_state = 14}, [2] = {.lex_state = 14}, [3] = {.lex_state = 13}, [4] = {.lex_state = 13}, [5] = {.lex_state = 13}, [6] = {.lex_state = 13}, [7] = {.lex_state = 13}, [8] = {.lex_state = 7}, [9] = {.lex_state = 13}, [10] = {.lex_state = 13}, [11] = {.lex_state = 13}, [12] = {.lex_state = 13}, [13] = {.lex_state = 13}, [14] = {.lex_state = 13}, [15] = {.lex_state = 13}, [16] = {.lex_state = 13}, [17] = {.lex_state = 13}, [18] = {.lex_state = 13}, [19] = {.lex_state = 13}, [20] = {.lex_state = 13}, [21] = {.lex_state = 13}, [22] = {.lex_state = 13}, [23] = {.lex_state = 13}, [24] = {.lex_state = 13}, [25] = {.lex_state = 3}, [26] = {.lex_state = 3}, [27] = {.lex_state = 3}, [28] = {.lex_state = 3}, [29] = {.lex_state = 3}, [30] = {.lex_state = 3}, [31] = {.lex_state = 11}, [32] = {.lex_state = 13}, [33] = {.lex_state = 3}, [34] = {.lex_state = 13}, [35] = {.lex_state = 13}, [36] = {.lex_state = 13}, [37] = {.lex_state = 13}, [38] = {.lex_state = 13}, [39] = {.lex_state = 13}, [40] = {.lex_state = 12}, [41] = {.lex_state = 12}, [42] = {.lex_state = 12}, [43] = {.lex_state = 12}, [44] = {.lex_state = 3}, [45] = {.lex_state = 3}, [46] = {.lex_state = 0}, [47] = {.lex_state = 0}, [48] = {.lex_state = 0}, [49] = {.lex_state = 12}, [50] = {.lex_state = 0}, [51] = {.lex_state = 12}, [52] = {.lex_state = 0}, [53] = {.lex_state = 0}, [54] = {.lex_state = 12}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [0] = { [ts_builtin_sym_end] = ACTIONS(1), [sym_static_modifier] = ACTIONS(1), [sym__shebang_comment] = ACTIONS(1), [anon_sym_import] = ACTIONS(1), [anon_sym_DOT] = ACTIONS(1), [anon_sym_STAR] = ACTIONS(1), [anon_sym_package] = ACTIONS(1), [anon_sym_AT] = ACTIONS(1), [sym_identifier] = ACTIONS(1), [anon_sym_def] = ACTIONS(1), [anon_sym_SEMI] = ACTIONS(1), }, [1] = { [sym_source_file] = STATE(47), [sym__script_statements] = STATE(46), [sym_import_declaration] = STATE(15), [sym_package_declaration] = STATE(5), [sym__annotations] = STATE(45), [sym_annotation] = STATE(25), [sym__script_statement] = STATE(15), [sym_expression] = STATE(38), [sym_qualified_name] = STATE(37), [sym_statement] = STATE(15), [sym_method_declaration] = STATE(15), [ts_builtin_sym_end] = ACTIONS(3), [sym__shebang_comment] = ACTIONS(5), [anon_sym_import] = ACTIONS(7), [anon_sym_package] = ACTIONS(9), [anon_sym_AT] = ACTIONS(11), [sym_identifier] = ACTIONS(13), [anon_sym_def] = ACTIONS(15), }, [2] = { [sym__script_statements] = STATE(50), [sym_import_declaration] = STATE(15), [sym_package_declaration] = STATE(6), [sym__annotations] = STATE(45), [sym_annotation] = STATE(25), [sym__script_statement] = STATE(15), [sym_expression] = STATE(38), [sym_qualified_name] = STATE(37), [sym_statement] = STATE(15), [sym_method_declaration] = STATE(15), [ts_builtin_sym_end] = ACTIONS(17), [anon_sym_import] = ACTIONS(7), [anon_sym_package] = ACTIONS(9), [anon_sym_AT] = ACTIONS(11), [sym_identifier] = ACTIONS(13), [anon_sym_def] = ACTIONS(15), }, [3] = { [sym__script_statements] = STATE(48), [sym_import_declaration] = STATE(15), [sym__script_statement] = STATE(15), [sym_expression] = STATE(38), [sym_qualified_name] = STATE(37), [sym_statement] = STATE(15), [sym_method_declaration] = STATE(15), [sym__sep] = STATE(12), [aux_sym_source_file_repeat1] = STATE(12), [ts_builtin_sym_end] = ACTIONS(19), [anon_sym_import] = ACTIONS(7), [sym_identifier] = ACTIONS(13), [anon_sym_def] = ACTIONS(15), [anon_sym_LF] = ACTIONS(21), [anon_sym_SEMI] = ACTIONS(23), }, [4] = { [sym__script_statements] = STATE(53), [sym_import_declaration] = STATE(15), [sym__script_statement] = STATE(15), [sym_expression] = STATE(38), [sym_qualified_name] = STATE(37), [sym_statement] = STATE(15), [sym_method_declaration] = STATE(15), [sym__sep] = STATE(12), [aux_sym_source_file_repeat1] = STATE(12), [ts_builtin_sym_end] = ACTIONS(25), [anon_sym_import] = ACTIONS(7), [sym_identifier] = ACTIONS(13), [anon_sym_def] = ACTIONS(15), [anon_sym_LF] = ACTIONS(21), [anon_sym_SEMI] = ACTIONS(23), }, [5] = { [sym__script_statements] = STATE(50), [sym_import_declaration] = STATE(15), [sym__script_statement] = STATE(15), [sym_expression] = STATE(38), [sym_qualified_name] = STATE(37), [sym_statement] = STATE(15), [sym_method_declaration] = STATE(15), [sym__sep] = STATE(4), [aux_sym_source_file_repeat1] = STATE(4), [ts_builtin_sym_end] = ACTIONS(17), [anon_sym_import] = ACTIONS(7), [sym_identifier] = ACTIONS(13), [anon_sym_def] = ACTIONS(15), [anon_sym_LF] = ACTIONS(27), [anon_sym_SEMI] = ACTIONS(29), }, [6] = { [sym__script_statements] = STATE(53), [sym_import_declaration] = STATE(15), [sym__script_statement] = STATE(15), [sym_expression] = STATE(38), [sym_qualified_name] = STATE(37), [sym_statement] = STATE(15), [sym_method_declaration] = STATE(15), [sym__sep] = STATE(3), [aux_sym_source_file_repeat1] = STATE(3), [ts_builtin_sym_end] = ACTIONS(25), [anon_sym_import] = ACTIONS(7), [sym_identifier] = ACTIONS(13), [anon_sym_def] = ACTIONS(15), [anon_sym_LF] = ACTIONS(31), [anon_sym_SEMI] = ACTIONS(33), }, }; static const uint16_t ts_small_parse_table[] = { [0] = 8, ACTIONS(7), 1, anon_sym_import, ACTIONS(13), 1, sym_identifier, ACTIONS(15), 1, anon_sym_def, ACTIONS(37), 1, anon_sym_SEMI, STATE(37), 1, sym_qualified_name, STATE(38), 1, sym_expression, ACTIONS(35), 2, ts_builtin_sym_end, anon_sym_LF, STATE(39), 4, sym_import_declaration, sym__script_statement, sym_statement, sym_method_declaration, [29] = 6, ACTIONS(7), 1, anon_sym_import, ACTIONS(13), 1, sym_identifier, ACTIONS(15), 1, anon_sym_def, STATE(37), 1, sym_qualified_name, STATE(38), 1, sym_expression, STATE(39), 4, sym_import_declaration, sym__script_statement, sym_statement, sym_method_declaration, [51] = 4, ACTIONS(43), 1, anon_sym_DOT, STATE(9), 1, aux_sym_qualified_name_repeat1, ACTIONS(39), 2, ts_builtin_sym_end, anon_sym_LF, ACTIONS(41), 4, anon_sym_import, sym_identifier, anon_sym_def, anon_sym_SEMI, [68] = 4, ACTIONS(50), 1, anon_sym_DOT, STATE(11), 1, aux_sym_qualified_name_repeat1, ACTIONS(46), 2, ts_builtin_sym_end, anon_sym_LF, ACTIONS(48), 4, anon_sym_import, sym_identifier, anon_sym_def, anon_sym_SEMI, [85] = 4, ACTIONS(50), 1, anon_sym_DOT, STATE(9), 1, aux_sym_qualified_name_repeat1, ACTIONS(52), 2, ts_builtin_sym_end, anon_sym_LF, ACTIONS(54), 4, anon_sym_import, sym_identifier, anon_sym_def, anon_sym_SEMI, [102] = 5, ACTIONS(56), 1, ts_builtin_sym_end, ACTIONS(60), 1, anon_sym_LF, ACTIONS(63), 1, anon_sym_SEMI, STATE(12), 2, sym__sep, aux_sym_source_file_repeat1, ACTIONS(58), 3, anon_sym_import, sym_identifier, anon_sym_def, [121] = 2, ACTIONS(39), 2, ts_builtin_sym_end, anon_sym_LF, ACTIONS(41), 5, anon_sym_import, anon_sym_DOT, sym_identifier, anon_sym_def, anon_sym_SEMI, [133] = 2, ACTIONS(66), 2, ts_builtin_sym_end, anon_sym_LF, ACTIONS(68), 4, anon_sym_import, sym_identifier, anon_sym_def, anon_sym_SEMI, [144] = 6, ACTIONS(70), 1, ts_builtin_sym_end, ACTIONS(72), 1, anon_sym_LF, ACTIONS(74), 1, anon_sym_SEMI, STATE(7), 1, sym__sep, STATE(17), 1, aux_sym__script_statements_repeat1, STATE(22), 1, aux_sym_source_file_repeat1, [163] = 2, ACTIONS(76), 2, ts_builtin_sym_end, anon_sym_LF, ACTIONS(78), 4, anon_sym_import, sym_identifier, anon_sym_def, anon_sym_SEMI, [174] = 6, ACTIONS(72), 1, anon_sym_LF, ACTIONS(74), 1, anon_sym_SEMI, ACTIONS(80), 1, ts_builtin_sym_end, STATE(7), 1, sym__sep, STATE(19), 1, aux_sym__script_statements_repeat1, STATE(24), 1, aux_sym_source_file_repeat1, [193] = 4, ACTIONS(84), 1, anon_sym_DOT, ACTIONS(86), 1, anon_sym_SEMI, STATE(36), 1, sym_wildcard_import, ACTIONS(82), 2, ts_builtin_sym_end, anon_sym_LF, [207] = 5, ACTIONS(88), 1, ts_builtin_sym_end, ACTIONS(90), 1, anon_sym_LF, ACTIONS(93), 1, anon_sym_SEMI, STATE(8), 1, sym__sep, STATE(19), 1, aux_sym__script_statements_repeat1, [223] = 4, ACTIONS(54), 1, anon_sym_SEMI, ACTIONS(96), 1, anon_sym_DOT, STATE(9), 1, aux_sym_qualified_name_repeat1, ACTIONS(52), 2, ts_builtin_sym_end, anon_sym_LF, [237] = 4, ACTIONS(84), 1, anon_sym_DOT, ACTIONS(101), 1, anon_sym_SEMI, STATE(35), 1, sym_wildcard_import, ACTIONS(99), 2, ts_builtin_sym_end, anon_sym_LF, [251] = 4, ACTIONS(21), 1, anon_sym_LF, ACTIONS(23), 1, anon_sym_SEMI, ACTIONS(80), 1, ts_builtin_sym_end, STATE(12), 2, sym__sep, aux_sym_source_file_repeat1, [265] = 4, ACTIONS(48), 1, anon_sym_SEMI, ACTIONS(103), 1, anon_sym_DOT, STATE(20), 1, aux_sym_qualified_name_repeat1, ACTIONS(46), 2, ts_builtin_sym_end, anon_sym_LF, [279] = 4, ACTIONS(21), 1, anon_sym_LF, ACTIONS(23), 1, anon_sym_SEMI, ACTIONS(106), 1, ts_builtin_sym_end, STATE(12), 2, sym__sep, aux_sym_source_file_repeat1, [293] = 3, ACTIONS(11), 1, anon_sym_AT, ACTIONS(108), 1, anon_sym_package, STATE(27), 2, sym_annotation, aux_sym__annotations_repeat1, [304] = 3, ACTIONS(110), 1, anon_sym_package, ACTIONS(112), 1, anon_sym_AT, STATE(26), 2, sym_annotation, aux_sym__annotations_repeat1, [315] = 3, ACTIONS(11), 1, anon_sym_AT, ACTIONS(115), 1, anon_sym_package, STATE(26), 2, sym_annotation, aux_sym__annotations_repeat1, [326] = 3, ACTIONS(117), 1, anon_sym_DOT, STATE(30), 1, aux_sym_qualified_name_repeat1, ACTIONS(52), 2, anon_sym_package, anon_sym_AT, [337] = 3, ACTIONS(117), 1, anon_sym_DOT, STATE(28), 1, aux_sym_qualified_name_repeat1, ACTIONS(46), 2, anon_sym_package, anon_sym_AT, [348] = 3, ACTIONS(119), 1, anon_sym_DOT, STATE(30), 1, aux_sym_qualified_name_repeat1, ACTIONS(39), 2, anon_sym_package, anon_sym_AT, [359] = 3, ACTIONS(122), 1, sym_static_modifier, ACTIONS(124), 1, sym_identifier, STATE(21), 1, sym_qualified_name, [369] = 2, ACTIONS(128), 1, anon_sym_SEMI, ACTIONS(126), 2, ts_builtin_sym_end, anon_sym_LF, [377] = 1, ACTIONS(39), 3, anon_sym_DOT, anon_sym_package, anon_sym_AT, [383] = 2, ACTIONS(132), 1, anon_sym_SEMI, ACTIONS(130), 2, ts_builtin_sym_end, anon_sym_LF, [391] = 2, ACTIONS(136), 1, anon_sym_SEMI, ACTIONS(134), 2, ts_builtin_sym_end, anon_sym_LF, [399] = 2, ACTIONS(140), 1, anon_sym_SEMI, ACTIONS(138), 2, ts_builtin_sym_end, anon_sym_LF, [407] = 2, ACTIONS(144), 1, anon_sym_SEMI, ACTIONS(142), 2, ts_builtin_sym_end, anon_sym_LF, [415] = 2, ACTIONS(148), 1, anon_sym_SEMI, ACTIONS(146), 2, ts_builtin_sym_end, anon_sym_LF, [423] = 2, ACTIONS(150), 1, anon_sym_SEMI, ACTIONS(88), 2, ts_builtin_sym_end, anon_sym_LF, [431] = 2, ACTIONS(152), 1, sym_identifier, STATE(18), 1, sym_qualified_name, [438] = 2, ACTIONS(154), 1, sym_identifier, STATE(44), 1, sym_qualified_name, [445] = 2, ACTIONS(156), 1, sym_identifier, STATE(16), 1, sym_qualified_name, [452] = 2, ACTIONS(156), 1, sym_identifier, STATE(14), 1, sym_qualified_name, [459] = 1, ACTIONS(158), 2, anon_sym_package, anon_sym_AT, [464] = 1, ACTIONS(160), 1, anon_sym_package, [468] = 1, ACTIONS(17), 1, ts_builtin_sym_end, [472] = 1, ACTIONS(162), 1, ts_builtin_sym_end, [476] = 1, ACTIONS(164), 1, ts_builtin_sym_end, [480] = 1, ACTIONS(166), 1, sym_identifier, [484] = 1, ACTIONS(25), 1, ts_builtin_sym_end, [488] = 1, ACTIONS(168), 1, sym_identifier, [492] = 1, ACTIONS(170), 1, anon_sym_STAR, [496] = 1, ACTIONS(19), 1, ts_builtin_sym_end, [500] = 1, ACTIONS(172), 1, sym_identifier, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(7)] = 0, [SMALL_STATE(8)] = 29, [SMALL_STATE(9)] = 51, [SMALL_STATE(10)] = 68, [SMALL_STATE(11)] = 85, [SMALL_STATE(12)] = 102, [SMALL_STATE(13)] = 121, [SMALL_STATE(14)] = 133, [SMALL_STATE(15)] = 144, [SMALL_STATE(16)] = 163, [SMALL_STATE(17)] = 174, [SMALL_STATE(18)] = 193, [SMALL_STATE(19)] = 207, [SMALL_STATE(20)] = 223, [SMALL_STATE(21)] = 237, [SMALL_STATE(22)] = 251, [SMALL_STATE(23)] = 265, [SMALL_STATE(24)] = 279, [SMALL_STATE(25)] = 293, [SMALL_STATE(26)] = 304, [SMALL_STATE(27)] = 315, [SMALL_STATE(28)] = 326, [SMALL_STATE(29)] = 337, [SMALL_STATE(30)] = 348, [SMALL_STATE(31)] = 359, [SMALL_STATE(32)] = 369, [SMALL_STATE(33)] = 377, [SMALL_STATE(34)] = 383, [SMALL_STATE(35)] = 391, [SMALL_STATE(36)] = 399, [SMALL_STATE(37)] = 407, [SMALL_STATE(38)] = 415, [SMALL_STATE(39)] = 423, [SMALL_STATE(40)] = 431, [SMALL_STATE(41)] = 438, [SMALL_STATE(42)] = 445, [SMALL_STATE(43)] = 452, [SMALL_STATE(44)] = 459, [SMALL_STATE(45)] = 464, [SMALL_STATE(46)] = 468, [SMALL_STATE(47)] = 472, [SMALL_STATE(48)] = 476, [SMALL_STATE(49)] = 480, [SMALL_STATE(50)] = 484, [SMALL_STATE(51)] = 488, [SMALL_STATE(52)] = 492, [SMALL_STATE(53)] = 496, [SMALL_STATE(54)] = 500, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(10), [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51), [17] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), [19] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 3), [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12), [25] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2), [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3), [35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1), [37] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 1), [39] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_qualified_name_repeat1, 2), [41] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_qualified_name_repeat1, 2), [43] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_qualified_name_repeat1, 2), SHIFT_REPEAT(49), [46] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_name, 1), [48] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_name, 1), [50] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), [52] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_name, 2), [54] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_name, 2), [56] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), [58] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), [60] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(12), [63] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(12), [66] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_package_declaration, 3, .production_id = 2), [68] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_package_declaration, 3, .production_id = 2), [70] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__script_statements, 1), [72] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), [74] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7), [76] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_package_declaration, 2, .production_id = 1), [78] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_package_declaration, 2, .production_id = 1), [80] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__script_statements, 2), [82] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 3, .production_id = 2), [84] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), [86] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_declaration, 3, .production_id = 2), [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__script_statements_repeat1, 2), [90] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__script_statements_repeat1, 2), SHIFT_REPEAT(8), [93] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__script_statements_repeat1, 2), SHIFT_REPEAT(8), [96] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_name, 2), SHIFT(49), [99] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 2, .production_id = 1), [101] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_declaration, 2, .production_id = 1), [103] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_name, 1), SHIFT(49), [106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__script_statements, 3), [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__annotations, 1), [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__annotations_repeat1, 2), [112] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__annotations_repeat1, 2), SHIFT_REPEAT(41), [115] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__annotations, 2), [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), [119] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_qualified_name_repeat1, 2), SHIFT_REPEAT(54), [122] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), [124] = {.entry = {.count = 1, .reusable = false}}, SHIFT(23), [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 2, .production_id = 1), [128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 2, .production_id = 1), [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_wildcard_import, 2), [132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_wildcard_import, 2), [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 3, .production_id = 3), [136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_declaration, 3, .production_id = 3), [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 4, .production_id = 4), [140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_declaration, 4, .production_id = 4), [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), [144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), [148] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1), [150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__script_statements_repeat1, 2), [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), [156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation, 2), [160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), [162] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 4), [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), [172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), }; #ifdef __cplusplus extern "C" { #endif #ifdef _WIN32 #define extern __declspec(dllexport) #endif extern const TSLanguage *tree_sitter_Groovy(void) { static const TSLanguage language = { .version = LANGUAGE_VERSION, .symbol_count = SYMBOL_COUNT, .alias_count = ALIAS_COUNT, .token_count = TOKEN_COUNT, .external_token_count = EXTERNAL_TOKEN_COUNT, .state_count = STATE_COUNT, .large_state_count = LARGE_STATE_COUNT, .production_id_count = PRODUCTION_ID_COUNT, .field_count = FIELD_COUNT, .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH, .parse_table = &ts_parse_table[0][0], .small_parse_table = ts_small_parse_table, .small_parse_table_map = ts_small_parse_table_map, .parse_actions = ts_parse_actions, .symbol_names = ts_symbol_names, .field_names = ts_field_names, .field_map_slices = ts_field_map_slices, .field_map_entries = ts_field_map_entries, .symbol_metadata = ts_symbol_metadata, .public_symbol_map = ts_symbol_map, .alias_map = ts_non_terminal_alias_map, .alias_sequences = &ts_alias_sequences[0][0], .lex_modes = ts_lex_modes, .lex_fn = ts_lex, .primary_state_ids = ts_primary_state_ids, }; return &language; } #ifdef __cplusplus } #endif