#include #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wmissing-field-initializers" #define LANGUAGE_VERSION 3 #define STATE_COUNT 114 #define SYMBOL_COUNT 50 #define TOKEN_COUNT 32 #define EXTERNAL_TOKEN_COUNT 4 #define MAX_RENAME_SEQUENCE_LENGTH 5 enum { sym__simple_heredoc = 1, sym__heredoc_beginning = 2, sym__heredoc_middle = 3, sym__heredoc_end = 4, anon_sym_SEMI = 5, anon_sym_SEMI_SEMI = 6, anon_sym_LF = 7, anon_sym_while = 8, anon_sym_do = 9, anon_sym_done = 10, aux_sym_SLASH_BSLASHs_PLUS_SLASH = 11, anon_sym_PIPE = 12, anon_sym_PIPE_AMP = 13, anon_sym_AMP_AMP = 14, anon_sym_PIPE_PIPE = 15, anon_sym_EQ = 16, anon_sym_DOLLAR = 17, anon_sym_DOLLAR_LBRACE = 18, anon_sym_COLON = 19, anon_sym_COLON_QMARK = 20, anon_sym_RBRACE = 21, anon_sym_LT = 22, anon_sym_GT = 23, anon_sym_LT_AMP = 24, anon_sym_GT_AMP = 25, anon_sym_LT_LT = 26, anon_sym_LT_LT_DASH = 27, sym_file_descriptor = 28, sym_leading_word = 29, sym_word = 30, sym_comment = 31, sym_program = 32, sym__terminated_statement = 33, sym_while_statement = 34, sym_do_group = 35, sym_command = 36, sym_pipeline = 37, sym_list = 38, sym_environment_variable_assignment = 39, sym_expansion = 40, sym_operator_expansion = 41, sym_file_redirect = 42, sym_heredoc_redirect = 43, sym_heredoc = 44, aux_sym_program_repeat1 = 45, aux_sym_command_repeat1 = 46, aux_sym_command_repeat2 = 47, aux_sym_command_repeat3 = 48, aux_sym_heredoc_repeat1 = 49, rename_sym_1 = 50, rename_sym_argument = 51, rename_sym_command_name = 52, rename_sym_file_name = 53, rename_sym_variable_name = 54, }; static const char *ts_symbol_names[] = { [sym__simple_heredoc] = "_simple_heredoc", [sym__heredoc_beginning] = "_heredoc_beginning", [sym__heredoc_middle] = "_heredoc_middle", [sym__heredoc_end] = "_heredoc_end", [ts_builtin_sym_end] = "END", [anon_sym_SEMI] = ";", [anon_sym_SEMI_SEMI] = ";;", [anon_sym_LF] = "\n", [anon_sym_while] = "while", [anon_sym_do] = "do", [anon_sym_done] = "done", [aux_sym_SLASH_BSLASHs_PLUS_SLASH] = "/\\s+/", [anon_sym_PIPE] = "|", [anon_sym_PIPE_AMP] = "|&", [anon_sym_AMP_AMP] = "&&", [anon_sym_PIPE_PIPE] = "||", [anon_sym_EQ] = "=", [anon_sym_DOLLAR] = "$", [anon_sym_DOLLAR_LBRACE] = "${", [anon_sym_COLON] = ":", [anon_sym_COLON_QMARK] = ":?", [anon_sym_RBRACE] = "}", [anon_sym_LT] = "<", [anon_sym_GT] = ">", [anon_sym_LT_AMP] = "<&", [anon_sym_GT_AMP] = ">&", [anon_sym_LT_LT] = "<<", [anon_sym_LT_LT_DASH] = "<<-", [sym_file_descriptor] = "file_descriptor", [sym_leading_word] = "leading_word", [sym_word] = "word", [sym_comment] = "comment", [sym_program] = "program", [sym__terminated_statement] = "_terminated_statement", [sym_while_statement] = "while_statement", [sym_do_group] = "do_group", [sym_command] = "command", [sym_pipeline] = "pipeline", [sym_list] = "list", [sym_environment_variable_assignment] = "environment_variable_assignment", [sym_expansion] = "expansion", [sym_operator_expansion] = "operator_expansion", [sym_file_redirect] = "file_redirect", [sym_heredoc_redirect] = "heredoc_redirect", [sym_heredoc] = "heredoc", [aux_sym_program_repeat1] = "program_repeat1", [aux_sym_command_repeat1] = "command_repeat1", [aux_sym_command_repeat2] = "command_repeat2", [aux_sym_command_repeat3] = "command_repeat3", [aux_sym_heredoc_repeat1] = "heredoc_repeat1", [rename_sym_1] = "", [rename_sym_argument] = "argument", [rename_sym_command_name] = "command_name", [rename_sym_file_name] = "file_name", [rename_sym_variable_name] = "variable_name", }; static const TSSymbolMetadata ts_symbol_metadata[SYMBOL_COUNT] = { [sym__simple_heredoc] = { .visible = false, .named = true, .structural = true, .extra = false, }, [sym__heredoc_beginning] = { .visible = false, .named = true, .structural = true, .extra = false, }, [sym__heredoc_middle] = { .visible = false, .named = true, .structural = true, .extra = false, }, [sym__heredoc_end] = { .visible = false, .named = true, .structural = true, .extra = false, }, [ts_builtin_sym_end] = { .visible = false, .named = true, .structural = true, .extra = false, }, [anon_sym_SEMI] = { .visible = true, .named = false, .structural = true, .extra = false, }, [anon_sym_SEMI_SEMI] = { .visible = true, .named = false, .structural = true, .extra = false, }, [anon_sym_LF] = { .visible = true, .named = false, .structural = true, .extra = false, }, [anon_sym_while] = { .visible = true, .named = false, .structural = true, .extra = false, }, [anon_sym_do] = { .visible = true, .named = false, .structural = true, .extra = false, }, [anon_sym_done] = { .visible = true, .named = false, .structural = true, .extra = false, }, [aux_sym_SLASH_BSLASHs_PLUS_SLASH] = { .visible = false, .named = false, .structural = true, .extra = false, }, [anon_sym_PIPE] = { .visible = true, .named = false, .structural = true, .extra = false, }, [anon_sym_PIPE_AMP] = { .visible = true, .named = false, .structural = true, .extra = false, }, [anon_sym_AMP_AMP] = { .visible = true, .named = false, .structural = true, .extra = false, }, [anon_sym_PIPE_PIPE] = { .visible = true, .named = false, .structural = true, .extra = false, }, [anon_sym_EQ] = { .visible = true, .named = false, .structural = true, .extra = false, }, [anon_sym_DOLLAR] = { .visible = true, .named = false, .structural = true, .extra = false, }, [anon_sym_DOLLAR_LBRACE] = { .visible = true, .named = false, .structural = true, .extra = false, }, [anon_sym_COLON] = { .visible = true, .named = false, .structural = true, .extra = false, }, [anon_sym_COLON_QMARK] = { .visible = true, .named = false, .structural = true, .extra = false, }, [anon_sym_RBRACE] = { .visible = true, .named = false, .structural = true, .extra = false, }, [anon_sym_LT] = { .visible = true, .named = false, .structural = true, .extra = false, }, [anon_sym_GT] = { .visible = true, .named = false, .structural = true, .extra = false, }, [anon_sym_LT_AMP] = { .visible = true, .named = false, .structural = true, .extra = false, }, [anon_sym_GT_AMP] = { .visible = true, .named = false, .structural = true, .extra = false, }, [anon_sym_LT_LT] = { .visible = true, .named = false, .structural = true, .extra = false, }, [anon_sym_LT_LT_DASH] = { .visible = true, .named = false, .structural = true, .extra = false, }, [sym_file_descriptor] = { .visible = true, .named = true, .structural = true, .extra = false, }, [sym_leading_word] = { .visible = true, .named = true, .structural = true, .extra = false, }, [sym_word] = { .visible = true, .named = true, .structural = true, .extra = false, }, [sym_comment] = { .visible = true, .named = true, .structural = false, .extra = true, }, [sym_program] = { .visible = true, .named = true, .structural = true, .extra = false, }, [sym__terminated_statement] = { .visible = false, .named = true, .structural = true, .extra = false, }, [sym_while_statement] = { .visible = true, .named = true, .structural = true, .extra = false, }, [sym_do_group] = { .visible = true, .named = true, .structural = true, .extra = false, }, [sym_command] = { .visible = true, .named = true, .structural = true, .extra = false, }, [sym_pipeline] = { .visible = true, .named = true, .structural = true, .extra = false, }, [sym_list] = { .visible = true, .named = true, .structural = true, .extra = false, }, [sym_environment_variable_assignment] = { .visible = true, .named = true, .structural = true, .extra = false, }, [sym_expansion] = { .visible = true, .named = true, .structural = true, .extra = false, }, [sym_operator_expansion] = { .visible = true, .named = true, .structural = true, .extra = false, }, [sym_file_redirect] = { .visible = true, .named = true, .structural = true, .extra = false, }, [sym_heredoc_redirect] = { .visible = true, .named = true, .structural = true, .extra = false, }, [sym_heredoc] = { .visible = true, .named = true, .structural = true, .extra = false, }, [aux_sym_program_repeat1] = { .visible = false, .named = false, .structural = true, .extra = false, }, [aux_sym_command_repeat1] = { .visible = false, .named = false, .structural = true, .extra = false, }, [aux_sym_command_repeat2] = { .visible = false, .named = false, .structural = true, .extra = false, }, [aux_sym_command_repeat3] = { .visible = false, .named = false, .structural = true, .extra = false, }, [aux_sym_heredoc_repeat1] = { .visible = false, .named = false, .structural = true, .extra = false, }, }; static TSSymbol ts_rename_sequences[17][MAX_RENAME_SEQUENCE_LENGTH] = { [1] = { [0] = rename_sym_command_name, }, [2] = { [1] = rename_sym_file_name, }, [3] = { [0] = rename_sym_command_name, }, [4] = { [1] = rename_sym_command_name, }, [5] = { [2] = rename_sym_file_name, }, [6] = { [0] = rename_sym_argument, }, [7] = { [0] = rename_sym_command_name, }, [8] = { [0] = rename_sym_variable_name, [2] = rename_sym_argument, }, [9] = { [1] = rename_sym_command_name, }, [10] = { [1] = rename_sym_variable_name, }, [11] = { [1] = rename_sym_argument, }, [12] = { [0] = rename_sym_command_name, }, [13] = { [1] = rename_sym_command_name, }, [14] = { [1] = rename_sym_variable_name, }, [15] = { [1] = rename_sym_command_name, }, [16] = { [1] = rename_sym_variable_name, [3] = rename_sym_argument, }, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { START_LEXER(); switch (state) { case 0: if (lookahead == 0) ADVANCE(1); if (lookahead == '#') ADVANCE(2); if (lookahead == '$') ADVANCE(3); if (lookahead == '&') ADVANCE(5); if (lookahead == ':') ADVANCE(7); if (lookahead == ';') ADVANCE(9); if (lookahead == '<') ADVANCE(11); if (lookahead == '=') ADVANCE(15); if (lookahead == '>') ADVANCE(16); if (lookahead == '\\') SKIP(18); if (lookahead == 'd') ADVANCE(19); if (lookahead == 'w') ADVANCE(23); if (lookahead == '|') ADVANCE(28); if (lookahead == '}') ADVANCE(30); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(0); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(31); END_STATE(); case 1: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 2: ACCEPT_TOKEN(sym_comment); if (lookahead != 0 && lookahead != '\n') ADVANCE(2); END_STATE(); case 3: ACCEPT_TOKEN(anon_sym_DOLLAR); if (lookahead == '{') ADVANCE(4); END_STATE(); case 4: ACCEPT_TOKEN(anon_sym_DOLLAR_LBRACE); END_STATE(); case 5: if (lookahead == '&') ADVANCE(6); END_STATE(); case 6: ACCEPT_TOKEN(anon_sym_AMP_AMP); END_STATE(); case 7: ACCEPT_TOKEN(anon_sym_COLON); if (lookahead == '?') ADVANCE(8); END_STATE(); case 8: ACCEPT_TOKEN(anon_sym_COLON_QMARK); END_STATE(); case 9: ACCEPT_TOKEN(anon_sym_SEMI); if (lookahead == ';') ADVANCE(10); END_STATE(); case 10: ACCEPT_TOKEN(anon_sym_SEMI_SEMI); END_STATE(); case 11: ACCEPT_TOKEN(anon_sym_LT); if (lookahead == '&') ADVANCE(12); if (lookahead == '<') ADVANCE(13); END_STATE(); case 12: ACCEPT_TOKEN(anon_sym_LT_AMP); END_STATE(); case 13: ACCEPT_TOKEN(anon_sym_LT_LT); if (lookahead == '-') ADVANCE(14); END_STATE(); case 14: ACCEPT_TOKEN(anon_sym_LT_LT_DASH); END_STATE(); case 15: ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); case 16: ACCEPT_TOKEN(anon_sym_GT); if (lookahead == '&') ADVANCE(17); END_STATE(); case 17: ACCEPT_TOKEN(anon_sym_GT_AMP); END_STATE(); case 18: if (lookahead == '\n') SKIP(0); END_STATE(); case 19: if (lookahead == 'o') ADVANCE(20); END_STATE(); case 20: ACCEPT_TOKEN(anon_sym_do); if (lookahead == 'n') ADVANCE(21); END_STATE(); case 21: if (lookahead == 'e') ADVANCE(22); END_STATE(); case 22: ACCEPT_TOKEN(anon_sym_done); END_STATE(); case 23: if (lookahead == 'h') ADVANCE(24); END_STATE(); case 24: if (lookahead == 'i') ADVANCE(25); END_STATE(); case 25: if (lookahead == 'l') ADVANCE(26); END_STATE(); case 26: if (lookahead == 'e') ADVANCE(27); END_STATE(); case 27: ACCEPT_TOKEN(anon_sym_while); END_STATE(); case 28: ACCEPT_TOKEN(anon_sym_PIPE); if (lookahead == '|') ADVANCE(29); END_STATE(); case 29: ACCEPT_TOKEN(anon_sym_PIPE_PIPE); END_STATE(); case 30: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 31: ACCEPT_TOKEN(sym_file_descriptor); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(31); END_STATE(); case 32: if (lookahead == 0) ADVANCE(1); if (lookahead == '#') ADVANCE(2); if (lookahead == '<') ADVANCE(33); if (lookahead == '>') ADVANCE(36); if (lookahead == '\\') SKIP(38); if (lookahead == 'w') ADVANCE(39); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(32); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if ((lookahead < '0' || lookahead > '>') && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 33: ACCEPT_TOKEN(anon_sym_LT); if (lookahead == '&') ADVANCE(34); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 34: ACCEPT_TOKEN(anon_sym_LT_AMP); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 35: ACCEPT_TOKEN(sym_leading_word); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 36: ACCEPT_TOKEN(anon_sym_GT); if (lookahead == '&') ADVANCE(37); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 37: ACCEPT_TOKEN(anon_sym_GT_AMP); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 38: if (lookahead == '\n') SKIP(32); END_STATE(); case 39: ACCEPT_TOKEN(sym_leading_word); if (lookahead == 'h') ADVANCE(40); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 40: ACCEPT_TOKEN(sym_leading_word); if (lookahead == 'i') ADVANCE(41); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 41: ACCEPT_TOKEN(sym_leading_word); if (lookahead == 'l') ADVANCE(42); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 42: ACCEPT_TOKEN(sym_leading_word); if (lookahead == 'e') ADVANCE(43); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 43: ACCEPT_TOKEN(anon_sym_while); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 44: ACCEPT_TOKEN(sym_file_descriptor); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); END_STATE(); case 45: if (lookahead == '#') ADVANCE(2); if (lookahead == '<') ADVANCE(33); if (lookahead == '>') ADVANCE(36); if (lookahead == '\\') SKIP(46); if (lookahead == 'w') ADVANCE(39); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(45); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (lookahead != 0 && (lookahead < '0' || lookahead > '>') && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 46: if (lookahead == '\n') SKIP(45); END_STATE(); case 47: if (lookahead == '#') ADVANCE(2); if (lookahead == '\\') SKIP(48); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(47); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(49); if (lookahead != 0 && lookahead != '#' && lookahead != '$' && lookahead != '&' && lookahead != ';' && lookahead != '<' && lookahead != '>' && lookahead != '{' && lookahead != '}') ADVANCE(50); END_STATE(); case 48: if (lookahead == '\n') SKIP(47); END_STATE(); case 49: ACCEPT_TOKEN(sym_file_descriptor); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(49); END_STATE(); case 50: ACCEPT_TOKEN(sym_word); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != '$' && lookahead != '&' && lookahead != ';' && lookahead != '<' && lookahead != '>' && lookahead != '\\' && lookahead != '{' && lookahead != '}') ADVANCE(50); END_STATE(); case 51: if (lookahead == '#') ADVANCE(2); if (lookahead == '<') ADVANCE(52); if (lookahead == '>') ADVANCE(16); if (lookahead == '\\') SKIP(53); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(51); END_STATE(); case 52: ACCEPT_TOKEN(anon_sym_LT); if (lookahead == '&') ADVANCE(12); END_STATE(); case 53: if (lookahead == '\n') SKIP(51); END_STATE(); case 54: if (lookahead == '\n') ADVANCE(55); if (lookahead == '#') ADVANCE(2); if (lookahead == '&') ADVANCE(5); if (lookahead == ';') ADVANCE(9); if (lookahead == '<') ADVANCE(11); if (lookahead == '=') ADVANCE(15); if (lookahead == '>') ADVANCE(16); if (lookahead == '\\') SKIP(57); if (lookahead == '|') ADVANCE(58); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') ADVANCE(56); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(31); END_STATE(); case 55: ACCEPT_TOKEN(anon_sym_LF); if (lookahead == '\n') ADVANCE(55); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') ADVANCE(56); END_STATE(); case 56: ACCEPT_TOKEN(aux_sym_SLASH_BSLASHs_PLUS_SLASH); if (lookahead == '\n') ADVANCE(55); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') ADVANCE(56); END_STATE(); case 57: if (lookahead == '\n') SKIP(54); END_STATE(); case 58: ACCEPT_TOKEN(anon_sym_PIPE); if (lookahead == '&') ADVANCE(59); if (lookahead == '|') ADVANCE(29); END_STATE(); case 59: ACCEPT_TOKEN(anon_sym_PIPE_AMP); END_STATE(); case 60: if (lookahead == 0) ADVANCE(1); if (lookahead == '#') ADVANCE(2); if (lookahead == '\\') SKIP(61); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(60); END_STATE(); case 61: if (lookahead == '\n') SKIP(60); END_STATE(); case 62: if (lookahead == 0) ADVANCE(1); if (lookahead == '#') ADVANCE(2); if (lookahead == '<') ADVANCE(33); if (lookahead == '>') ADVANCE(36); if (lookahead == '\\') SKIP(63); if (lookahead == 'd') ADVANCE(64); if (lookahead == 'w') ADVANCE(39); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(62); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if ((lookahead < '0' || lookahead > '>') && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 63: if (lookahead == '\n') SKIP(62); END_STATE(); case 64: ACCEPT_TOKEN(sym_leading_word); if (lookahead == 'o') ADVANCE(65); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 65: ACCEPT_TOKEN(sym_leading_word); if (lookahead == 'n') ADVANCE(66); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 66: ACCEPT_TOKEN(sym_leading_word); if (lookahead == 'e') ADVANCE(67); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 67: ACCEPT_TOKEN(anon_sym_done); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 68: if (lookahead == '\n') ADVANCE(69); if (lookahead == '#') ADVANCE(2); if (lookahead == '&') ADVANCE(5); if (lookahead == ';') ADVANCE(9); if (lookahead == '\\') SKIP(70); if (lookahead == '|') ADVANCE(58); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') SKIP(68); END_STATE(); case 69: ACCEPT_TOKEN(anon_sym_LF); END_STATE(); case 70: if (lookahead == '\n') SKIP(68); END_STATE(); case 71: if (lookahead == '#') ADVANCE(2); if (lookahead == '<') ADVANCE(33); if (lookahead == '>') ADVANCE(36); if (lookahead == '\\') SKIP(72); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(71); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (lookahead != 0 && (lookahead < '0' || lookahead > '>') && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 72: if (lookahead == '\n') SKIP(71); END_STATE(); case 73: if (lookahead == '#') ADVANCE(2); if (lookahead == '\\') SKIP(74); if (lookahead == 'd') ADVANCE(75); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(73); END_STATE(); case 74: if (lookahead == '\n') SKIP(73); END_STATE(); case 75: if (lookahead == 'o') ADVANCE(76); END_STATE(); case 76: ACCEPT_TOKEN(anon_sym_do); END_STATE(); case 77: if (lookahead == '\n') ADVANCE(69); if (lookahead == '#') ADVANCE(2); if (lookahead == '$') ADVANCE(3); if (lookahead == '&') ADVANCE(5); if (lookahead == ';') ADVANCE(9); if (lookahead == '<') ADVANCE(11); if (lookahead == '>') ADVANCE(16); if (lookahead == '\\') SKIP(78); if (lookahead == '|') ADVANCE(79); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') SKIP(77); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(49); if (lookahead != 0 && (lookahead < '{' || lookahead > '}')) ADVANCE(50); END_STATE(); case 78: if (lookahead == '\n') SKIP(77); END_STATE(); case 79: ACCEPT_TOKEN(anon_sym_PIPE); if (lookahead == '&') ADVANCE(59); if (lookahead == '|') ADVANCE(80); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != '$' && lookahead != ';' && lookahead != '<' && lookahead != '>' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(50); END_STATE(); case 80: ACCEPT_TOKEN(anon_sym_PIPE_PIPE); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != '$' && lookahead != '&' && lookahead != ';' && lookahead != '<' && lookahead != '>' && lookahead != '\\' && lookahead != '{' && lookahead != '}') ADVANCE(50); END_STATE(); case 81: if (lookahead == '#') ADVANCE(2); if (lookahead == '\\') SKIP(82); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(81); if (lookahead != 0 && lookahead != '#' && lookahead != '$' && lookahead != '&' && lookahead != ';' && lookahead != '<' && lookahead != '>' && lookahead != '{' && lookahead != '}') ADVANCE(50); END_STATE(); case 82: if (lookahead == '\n') SKIP(81); END_STATE(); case 83: if (lookahead == '#') ADVANCE(2); if (lookahead == '\\') SKIP(84); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(83); END_STATE(); case 84: if (lookahead == '\n') SKIP(83); END_STATE(); case 85: if (lookahead == '\n') ADVANCE(69); if (lookahead == '#') ADVANCE(2); if (lookahead == '&') ADVANCE(5); if (lookahead == ';') ADVANCE(9); if (lookahead == '<') ADVANCE(11); if (lookahead == '>') ADVANCE(16); if (lookahead == '\\') SKIP(86); if (lookahead == '|') ADVANCE(58); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') SKIP(85); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(31); END_STATE(); case 86: if (lookahead == '\n') SKIP(85); END_STATE(); case 87: if (lookahead == 0) ADVANCE(1); if (lookahead == '#') ADVANCE(2); if (lookahead == '<') ADVANCE(33); if (lookahead == '>') ADVANCE(36); if (lookahead == '\\') SKIP(88); if (lookahead == 'd') ADVANCE(89); if (lookahead == 'w') ADVANCE(39); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(87); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if ((lookahead < '0' || lookahead > '>') && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 88: if (lookahead == '\n') SKIP(87); END_STATE(); case 89: ACCEPT_TOKEN(sym_leading_word); if (lookahead == 'o') ADVANCE(90); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 90: ACCEPT_TOKEN(anon_sym_do); if (lookahead == 'n') ADVANCE(66); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 91: if (lookahead == '#') ADVANCE(2); if (lookahead == '<') ADVANCE(33); if (lookahead == '>') ADVANCE(36); if (lookahead == '\\') SKIP(92); if (lookahead == 'd') ADVANCE(64); if (lookahead == 'w') ADVANCE(39); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(91); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (lookahead != 0 && (lookahead < '0' || lookahead > '>') && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 92: if (lookahead == '\n') SKIP(91); END_STATE(); case 93: if (lookahead == '#') ADVANCE(2); if (lookahead == '\\') SKIP(94); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(93); if (lookahead != 0 && lookahead != ':' && lookahead != ';' && lookahead != '=' && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 94: if (lookahead == '\n') SKIP(93); END_STATE(); case 95: if (lookahead == '#') ADVANCE(2); if (lookahead == '$') ADVANCE(3); if (lookahead == '\\') SKIP(96); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(95); END_STATE(); case 96: if (lookahead == '\n') SKIP(95); END_STATE(); case 97: if (lookahead == '#') ADVANCE(2); if (lookahead == ':') ADVANCE(7); if (lookahead == '=') ADVANCE(15); if (lookahead == '\\') SKIP(98); if (lookahead == '}') ADVANCE(30); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(97); END_STATE(); case 98: if (lookahead == '\n') SKIP(97); END_STATE(); case 99: if (lookahead == '#') ADVANCE(2); if (lookahead == '\\') SKIP(100); if (lookahead == '}') ADVANCE(30); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(99); END_STATE(); case 100: if (lookahead == '\n') SKIP(99); END_STATE(); case 101: if (lookahead == '\n') ADVANCE(69); if (lookahead == '#') ADVANCE(2); if (lookahead == '&') ADVANCE(102); if (lookahead == ';') ADVANCE(9); if (lookahead == '<') ADVANCE(104); if (lookahead == '>') ADVANCE(36); if (lookahead == '\\') SKIP(107); if (lookahead == '|') ADVANCE(58); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') SKIP(101); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (lookahead != 0 && (lookahead < '0' || lookahead > '>') && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 102: ACCEPT_TOKEN(sym_leading_word); if (lookahead == '&') ADVANCE(103); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 103: ACCEPT_TOKEN(anon_sym_AMP_AMP); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 104: ACCEPT_TOKEN(anon_sym_LT); if (lookahead == '&') ADVANCE(34); if (lookahead == '<') ADVANCE(105); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && (lookahead < ':' || lookahead > '=') && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 105: ACCEPT_TOKEN(anon_sym_LT_LT); if (lookahead == '-') ADVANCE(106); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 106: ACCEPT_TOKEN(anon_sym_LT_LT_DASH); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 107: if (lookahead == '\n') SKIP(101); END_STATE(); case 108: if (lookahead == '#') ADVANCE(2); if (lookahead == '<') ADVANCE(33); if (lookahead == '>') ADVANCE(36); if (lookahead == '\\') SKIP(109); if (lookahead == '}') ADVANCE(30); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(108); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (lookahead != 0 && (lookahead < '0' || lookahead > '>') && (lookahead < '{' || lookahead > '}')) ADVANCE(35); END_STATE(); case 109: if (lookahead == '\n') SKIP(108); END_STATE(); default: return false; } } static TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0, .external_lex_state = 1}, [1] = {.lex_state = 32}, [2] = {.lex_state = 45}, [3] = {.lex_state = 47}, [4] = {.lex_state = 51}, [5] = {.lex_state = 54}, [6] = {.lex_state = 60}, [7] = {.lex_state = 62}, [8] = {.lex_state = 68}, [9] = {.lex_state = 71}, [10] = {.lex_state = 32}, [11] = {.lex_state = 71}, [12] = {.lex_state = 73}, [13] = {.lex_state = 68}, [14] = {.lex_state = 71}, [15] = {.lex_state = 71}, [16] = {.lex_state = 47}, [17] = {.lex_state = 77}, [18] = {.lex_state = 81}, [19] = {.lex_state = 47}, [20] = {.lex_state = 83, .external_lex_state = 2}, [21] = {.lex_state = 51}, [22] = {.lex_state = 85}, [23] = {.lex_state = 85}, [24] = {.lex_state = 87}, [25] = {.lex_state = 45}, [26] = {.lex_state = 45}, [27] = {.lex_state = 62}, [28] = {.lex_state = 54}, [29] = {.lex_state = 71}, [30] = {.lex_state = 91}, [31] = {.lex_state = 68}, [32] = {.lex_state = 73}, [33] = {.lex_state = 71}, [34] = {.lex_state = 71}, [35] = {.lex_state = 81}, [36] = {.lex_state = 93}, [37] = {.lex_state = 77}, [38] = {.lex_state = 77}, [39] = {.lex_state = 77}, [40] = {.lex_state = 85}, [41] = {.lex_state = 71}, [42] = {.lex_state = 85}, [43] = {.lex_state = 85}, [44] = {.lex_state = 85}, [45] = {.lex_state = 95, .external_lex_state = 3}, [46] = {.lex_state = 85}, [47] = {.lex_state = 47}, [48] = {.lex_state = 85}, [49] = {.lex_state = 68}, [50] = {.lex_state = 68}, [51] = {.lex_state = 77}, [52] = {.lex_state = 85}, [53] = {.lex_state = 68}, [54] = {.lex_state = 91}, [55] = {.lex_state = 77}, [56] = {.lex_state = 97}, [57] = {.lex_state = 77}, [58] = {.lex_state = 77}, [59] = {.lex_state = 85}, [60] = {.lex_state = 95, .external_lex_state = 3}, [61] = {.lex_state = 85}, [62] = {.lex_state = 81}, [63] = {.lex_state = 93}, [64] = {.lex_state = 95, .external_lex_state = 3}, [65] = {.lex_state = 85}, [66] = {.lex_state = 85}, [67] = {.lex_state = 77}, [68] = {.lex_state = 85}, [69] = {.lex_state = 68}, [70] = {.lex_state = 81}, [71] = {.lex_state = 77}, [72] = {.lex_state = 95, .external_lex_state = 3}, [73] = {.lex_state = 97}, [74] = {.lex_state = 95, .external_lex_state = 3}, [75] = {.lex_state = 85}, [76] = {.lex_state = 85}, [77] = {.lex_state = 99}, [78] = {.lex_state = 81}, [79] = {.lex_state = 95, .external_lex_state = 3}, [80] = {.lex_state = 77}, [81] = {.lex_state = 99}, [82] = {.lex_state = 95, .external_lex_state = 3}, [83] = {.lex_state = 68}, [84] = {.lex_state = 81}, [85] = {.lex_state = 81}, [86] = {.lex_state = 93}, [87] = {.lex_state = 81}, [88] = {.lex_state = 77, .external_lex_state = 3}, [89] = {.lex_state = 47}, [90] = {.lex_state = 101}, [91] = {.lex_state = 95, .external_lex_state = 3}, [92] = {.lex_state = 85}, [93] = {.lex_state = 87}, [94] = {.lex_state = 68}, [95] = {.lex_state = 71}, [96] = {.lex_state = 77, .external_lex_state = 3}, [97] = {.lex_state = 101}, [98] = {.lex_state = 85}, [99] = {.lex_state = 62}, [100] = {.lex_state = 77}, [101] = {.lex_state = 85}, [102] = {.lex_state = 108}, [103] = {.lex_state = 77, .external_lex_state = 3}, [104] = {.lex_state = 97}, [105] = {.lex_state = 99}, [106] = {.lex_state = 101}, [107] = {.lex_state = 101}, [108] = {.lex_state = 47}, [109] = {.lex_state = 85}, [110] = {.lex_state = 77, .external_lex_state = 3}, [111] = {.lex_state = 77, .external_lex_state = 3}, [112] = {.lex_state = 101}, [113] = {.lex_state = 101}, }; enum { ts_external_token__simple_heredoc, ts_external_token__heredoc_beginning, ts_external_token__heredoc_middle, ts_external_token__heredoc_end, }; static TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = { [ts_external_token__simple_heredoc] = sym__simple_heredoc, [ts_external_token__heredoc_beginning] = sym__heredoc_beginning, [ts_external_token__heredoc_middle] = sym__heredoc_middle, [ts_external_token__heredoc_end] = sym__heredoc_end, }; static bool ts_external_scanner_states[4][EXTERNAL_TOKEN_COUNT] = { [1] = { [ts_external_token__simple_heredoc] = true, [ts_external_token__heredoc_beginning] = true, [ts_external_token__heredoc_middle] = true, [ts_external_token__heredoc_end] = true, }, [2] = { [ts_external_token__simple_heredoc] = true, [ts_external_token__heredoc_beginning] = true, }, [3] = { [ts_external_token__heredoc_middle] = true, [ts_external_token__heredoc_end] = true, }, }; static uint16_t ts_parse_table[STATE_COUNT][SYMBOL_COUNT] = { [0] = { [sym_program] = STATE(6), [sym__terminated_statement] = STATE(93), [sym_while_statement] = STATE(94), [sym_do_group] = STATE(31), [sym_command] = STATE(94), [sym_pipeline] = STATE(94), [sym_list] = STATE(94), [sym_environment_variable_assignment] = STATE(95), [sym_expansion] = STATE(96), [sym_operator_expansion] = STATE(96), [sym_file_redirect] = STATE(97), [sym_heredoc_redirect] = STATE(98), [sym_heredoc] = STATE(46), [aux_sym_program_repeat1] = STATE(99), [aux_sym_command_repeat1] = STATE(11), [aux_sym_command_repeat2] = STATE(100), [aux_sym_command_repeat3] = STATE(101), [aux_sym_heredoc_repeat1] = STATE(64), [sym__simple_heredoc] = ACTIONS(1), [sym__heredoc_beginning] = ACTIONS(3), [sym__heredoc_middle] = ACTIONS(5), [sym__heredoc_end] = ACTIONS(7), [ts_builtin_sym_end] = ACTIONS(9), [anon_sym_SEMI] = ACTIONS(11), [anon_sym_SEMI_SEMI] = ACTIONS(13), [anon_sym_while] = ACTIONS(15), [anon_sym_do] = ACTIONS(17), [anon_sym_done] = ACTIONS(19), [anon_sym_PIPE] = ACTIONS(21), [anon_sym_AMP_AMP] = ACTIONS(23), [anon_sym_PIPE_PIPE] = ACTIONS(23), [anon_sym_EQ] = ACTIONS(25), [anon_sym_DOLLAR] = ACTIONS(27), [anon_sym_DOLLAR_LBRACE] = ACTIONS(29), [anon_sym_COLON] = ACTIONS(31), [anon_sym_COLON_QMARK] = ACTIONS(33), [anon_sym_RBRACE] = ACTIONS(35), [anon_sym_LT] = ACTIONS(37), [anon_sym_GT] = ACTIONS(37), [anon_sym_LT_AMP] = ACTIONS(39), [anon_sym_GT_AMP] = ACTIONS(39), [anon_sym_LT_LT] = ACTIONS(41), [anon_sym_LT_LT_DASH] = ACTIONS(43), [sym_file_descriptor] = ACTIONS(45), [sym_comment] = ACTIONS(47), }, [1] = { [sym_program] = STATE(6), [sym__terminated_statement] = STATE(7), [sym_while_statement] = STATE(8), [sym_command] = STATE(8), [sym_pipeline] = STATE(8), [sym_list] = STATE(8), [sym_environment_variable_assignment] = STATE(9), [sym_file_redirect] = STATE(9), [aux_sym_program_repeat1] = STATE(10), [aux_sym_command_repeat1] = STATE(11), [ts_builtin_sym_end] = ACTIONS(49), [anon_sym_while] = ACTIONS(51), [anon_sym_LT] = ACTIONS(53), [anon_sym_GT] = ACTIONS(53), [anon_sym_LT_AMP] = ACTIONS(53), [anon_sym_GT_AMP] = ACTIONS(53), [sym_file_descriptor] = ACTIONS(55), [sym_leading_word] = ACTIONS(57), [sym_comment] = ACTIONS(47), }, [2] = { [sym__terminated_statement] = STATE(12), [sym_while_statement] = STATE(13), [sym_command] = STATE(13), [sym_pipeline] = STATE(13), [sym_list] = STATE(13), [sym_environment_variable_assignment] = STATE(9), [sym_file_redirect] = STATE(9), [aux_sym_command_repeat1] = STATE(11), [anon_sym_while] = ACTIONS(51), [anon_sym_LT] = ACTIONS(53), [anon_sym_GT] = ACTIONS(53), [anon_sym_LT_AMP] = ACTIONS(53), [anon_sym_GT_AMP] = ACTIONS(53), [sym_file_descriptor] = ACTIONS(55), [sym_leading_word] = ACTIONS(57), [sym_comment] = ACTIONS(47), }, [3] = { [sym_file_descriptor] = ACTIONS(59), [sym_word] = ACTIONS(61), [sym_comment] = ACTIONS(47), }, [4] = { [anon_sym_LT] = ACTIONS(63), [anon_sym_GT] = ACTIONS(63), [anon_sym_LT_AMP] = ACTIONS(65), [anon_sym_GT_AMP] = ACTIONS(65), [sym_comment] = ACTIONS(47), }, [5] = { [sym_file_redirect] = STATE(22), [sym_heredoc_redirect] = STATE(22), [aux_sym_command_repeat3] = STATE(23), [anon_sym_SEMI] = ACTIONS(67), [anon_sym_SEMI_SEMI] = ACTIONS(67), [anon_sym_LF] = ACTIONS(67), [aux_sym_SLASH_BSLASHs_PLUS_SLASH] = ACTIONS(69), [anon_sym_PIPE] = ACTIONS(67), [anon_sym_PIPE_AMP] = ACTIONS(67), [anon_sym_AMP_AMP] = ACTIONS(67), [anon_sym_PIPE_PIPE] = ACTIONS(67), [anon_sym_EQ] = ACTIONS(71), [anon_sym_LT] = ACTIONS(73), [anon_sym_GT] = ACTIONS(73), [anon_sym_LT_AMP] = ACTIONS(73), [anon_sym_GT_AMP] = ACTIONS(73), [anon_sym_LT_LT] = ACTIONS(75), [anon_sym_LT_LT_DASH] = ACTIONS(75), [sym_file_descriptor] = ACTIONS(77), [sym_comment] = ACTIONS(79), }, [6] = { [ts_builtin_sym_end] = ACTIONS(81), [sym_comment] = ACTIONS(47), }, [7] = { [ts_builtin_sym_end] = ACTIONS(83), [anon_sym_while] = ACTIONS(85), [anon_sym_done] = ACTIONS(85), [anon_sym_LT] = ACTIONS(85), [anon_sym_GT] = ACTIONS(85), [anon_sym_LT_AMP] = ACTIONS(85), [anon_sym_GT_AMP] = ACTIONS(85), [sym_file_descriptor] = ACTIONS(85), [sym_leading_word] = ACTIONS(87), [sym_comment] = ACTIONS(47), }, [8] = { [anon_sym_SEMI] = ACTIONS(89), [anon_sym_SEMI_SEMI] = ACTIONS(89), [anon_sym_LF] = ACTIONS(89), [anon_sym_PIPE] = ACTIONS(91), [anon_sym_PIPE_AMP] = ACTIONS(91), [anon_sym_AMP_AMP] = ACTIONS(93), [anon_sym_PIPE_PIPE] = ACTIONS(93), [sym_comment] = ACTIONS(79), }, [9] = { [anon_sym_LT] = ACTIONS(95), [anon_sym_GT] = ACTIONS(95), [anon_sym_LT_AMP] = ACTIONS(95), [anon_sym_GT_AMP] = ACTIONS(95), [sym_file_descriptor] = ACTIONS(95), [sym_leading_word] = ACTIONS(97), [sym_comment] = ACTIONS(47), }, [10] = { [sym__terminated_statement] = STATE(27), [sym_while_statement] = STATE(8), [sym_command] = STATE(8), [sym_pipeline] = STATE(8), [sym_list] = STATE(8), [sym_environment_variable_assignment] = STATE(9), [sym_file_redirect] = STATE(9), [aux_sym_command_repeat1] = STATE(11), [ts_builtin_sym_end] = ACTIONS(99), [anon_sym_while] = ACTIONS(51), [anon_sym_LT] = ACTIONS(53), [anon_sym_GT] = ACTIONS(53), [anon_sym_LT_AMP] = ACTIONS(53), [anon_sym_GT_AMP] = ACTIONS(53), [sym_file_descriptor] = ACTIONS(55), [sym_leading_word] = ACTIONS(57), [sym_comment] = ACTIONS(47), }, [11] = { [sym_environment_variable_assignment] = STATE(29), [sym_file_redirect] = STATE(29), [anon_sym_LT] = ACTIONS(53), [anon_sym_GT] = ACTIONS(53), [anon_sym_LT_AMP] = ACTIONS(53), [anon_sym_GT_AMP] = ACTIONS(53), [sym_file_descriptor] = ACTIONS(55), [sym_leading_word] = ACTIONS(101), [sym_comment] = ACTIONS(47), }, [12] = { [sym_do_group] = STATE(31), [anon_sym_do] = ACTIONS(103), [sym_comment] = ACTIONS(47), }, [13] = { [anon_sym_SEMI] = ACTIONS(105), [anon_sym_SEMI_SEMI] = ACTIONS(105), [anon_sym_LF] = ACTIONS(105), [anon_sym_PIPE] = ACTIONS(91), [anon_sym_PIPE_AMP] = ACTIONS(91), [anon_sym_AMP_AMP] = ACTIONS(93), [anon_sym_PIPE_PIPE] = ACTIONS(93), [sym_comment] = ACTIONS(79), }, [14] = { [anon_sym_LT] = ACTIONS(107), [anon_sym_GT] = ACTIONS(107), [anon_sym_LT_AMP] = ACTIONS(107), [anon_sym_GT_AMP] = ACTIONS(107), [sym_file_descriptor] = ACTIONS(107), [sym_leading_word] = ACTIONS(109), [sym_comment] = ACTIONS(47), }, [15] = { [anon_sym_LT] = ACTIONS(111), [anon_sym_GT] = ACTIONS(111), [anon_sym_LT_AMP] = ACTIONS(111), [anon_sym_GT_AMP] = ACTIONS(111), [sym_file_descriptor] = ACTIONS(111), [sym_leading_word] = ACTIONS(113), [sym_comment] = ACTIONS(47), }, [16] = { [sym_file_descriptor] = ACTIONS(115), [sym_word] = ACTIONS(117), [sym_comment] = ACTIONS(47), }, [17] = { [sym_expansion] = STATE(38), [sym_operator_expansion] = STATE(38), [sym_file_redirect] = STATE(22), [sym_heredoc_redirect] = STATE(22), [aux_sym_command_repeat2] = STATE(39), [aux_sym_command_repeat3] = STATE(40), [anon_sym_SEMI] = ACTIONS(119), [anon_sym_SEMI_SEMI] = ACTIONS(119), [anon_sym_LF] = ACTIONS(119), [anon_sym_PIPE] = ACTIONS(119), [anon_sym_PIPE_AMP] = ACTIONS(119), [anon_sym_AMP_AMP] = ACTIONS(119), [anon_sym_PIPE_PIPE] = ACTIONS(119), [anon_sym_DOLLAR] = ACTIONS(121), [anon_sym_DOLLAR_LBRACE] = ACTIONS(123), [anon_sym_LT] = ACTIONS(73), [anon_sym_GT] = ACTIONS(73), [anon_sym_LT_AMP] = ACTIONS(73), [anon_sym_GT_AMP] = ACTIONS(73), [anon_sym_LT_LT] = ACTIONS(75), [anon_sym_LT_LT_DASH] = ACTIONS(75), [sym_file_descriptor] = ACTIONS(77), [sym_word] = ACTIONS(125), [sym_comment] = ACTIONS(79), }, [18] = { [sym_word] = ACTIONS(127), [sym_comment] = ACTIONS(47), }, [19] = { [sym_file_descriptor] = ACTIONS(129), [sym_word] = ACTIONS(131), [sym_comment] = ACTIONS(47), }, [20] = { [sym_heredoc] = STATE(46), [sym__simple_heredoc] = ACTIONS(133), [sym__heredoc_beginning] = ACTIONS(135), [sym_comment] = ACTIONS(47), }, [21] = { [anon_sym_LT] = ACTIONS(137), [anon_sym_GT] = ACTIONS(137), [anon_sym_LT_AMP] = ACTIONS(139), [anon_sym_GT_AMP] = ACTIONS(139), [sym_comment] = ACTIONS(47), }, [22] = { [anon_sym_SEMI] = ACTIONS(141), [anon_sym_SEMI_SEMI] = ACTIONS(141), [anon_sym_LF] = ACTIONS(141), [anon_sym_PIPE] = ACTIONS(141), [anon_sym_PIPE_AMP] = ACTIONS(141), [anon_sym_AMP_AMP] = ACTIONS(141), [anon_sym_PIPE_PIPE] = ACTIONS(141), [anon_sym_LT] = ACTIONS(141), [anon_sym_GT] = ACTIONS(141), [anon_sym_LT_AMP] = ACTIONS(141), [anon_sym_GT_AMP] = ACTIONS(141), [anon_sym_LT_LT] = ACTIONS(141), [anon_sym_LT_LT_DASH] = ACTIONS(141), [sym_file_descriptor] = ACTIONS(141), [sym_comment] = ACTIONS(79), }, [23] = { [sym_file_redirect] = STATE(48), [sym_heredoc_redirect] = STATE(48), [anon_sym_SEMI] = ACTIONS(119), [anon_sym_SEMI_SEMI] = ACTIONS(119), [anon_sym_LF] = ACTIONS(119), [anon_sym_PIPE] = ACTIONS(119), [anon_sym_PIPE_AMP] = ACTIONS(119), [anon_sym_AMP_AMP] = ACTIONS(119), [anon_sym_PIPE_PIPE] = ACTIONS(119), [anon_sym_LT] = ACTIONS(73), [anon_sym_GT] = ACTIONS(73), [anon_sym_LT_AMP] = ACTIONS(73), [anon_sym_GT_AMP] = ACTIONS(73), [anon_sym_LT_LT] = ACTIONS(75), [anon_sym_LT_LT_DASH] = ACTIONS(75), [sym_file_descriptor] = ACTIONS(77), [sym_comment] = ACTIONS(79), }, [24] = { [ts_builtin_sym_end] = ACTIONS(143), [anon_sym_while] = ACTIONS(145), [anon_sym_do] = ACTIONS(145), [anon_sym_done] = ACTIONS(145), [anon_sym_LT] = ACTIONS(145), [anon_sym_GT] = ACTIONS(145), [anon_sym_LT_AMP] = ACTIONS(145), [anon_sym_GT_AMP] = ACTIONS(145), [sym_file_descriptor] = ACTIONS(145), [sym_leading_word] = ACTIONS(147), [sym_comment] = ACTIONS(47), }, [25] = { [sym_while_statement] = STATE(49), [sym_command] = STATE(49), [sym_pipeline] = STATE(49), [sym_list] = STATE(49), [sym_environment_variable_assignment] = STATE(9), [sym_file_redirect] = STATE(9), [aux_sym_command_repeat1] = STATE(11), [anon_sym_while] = ACTIONS(51), [anon_sym_LT] = ACTIONS(53), [anon_sym_GT] = ACTIONS(53), [anon_sym_LT_AMP] = ACTIONS(53), [anon_sym_GT_AMP] = ACTIONS(53), [sym_file_descriptor] = ACTIONS(55), [sym_leading_word] = ACTIONS(57), [sym_comment] = ACTIONS(47), }, [26] = { [sym_while_statement] = STATE(50), [sym_command] = STATE(50), [sym_pipeline] = STATE(50), [sym_list] = STATE(50), [sym_environment_variable_assignment] = STATE(9), [sym_file_redirect] = STATE(9), [aux_sym_command_repeat1] = STATE(11), [anon_sym_while] = ACTIONS(51), [anon_sym_LT] = ACTIONS(53), [anon_sym_GT] = ACTIONS(53), [anon_sym_LT_AMP] = ACTIONS(53), [anon_sym_GT_AMP] = ACTIONS(53), [sym_file_descriptor] = ACTIONS(55), [sym_leading_word] = ACTIONS(57), [sym_comment] = ACTIONS(47), }, [27] = { [ts_builtin_sym_end] = ACTIONS(149), [anon_sym_while] = ACTIONS(151), [anon_sym_done] = ACTIONS(151), [anon_sym_LT] = ACTIONS(151), [anon_sym_GT] = ACTIONS(151), [anon_sym_LT_AMP] = ACTIONS(151), [anon_sym_GT_AMP] = ACTIONS(151), [sym_file_descriptor] = ACTIONS(151), [sym_leading_word] = ACTIONS(153), [sym_comment] = ACTIONS(47), }, [28] = { [sym_file_redirect] = STATE(22), [sym_heredoc_redirect] = STATE(22), [aux_sym_command_repeat3] = STATE(52), [anon_sym_SEMI] = ACTIONS(155), [anon_sym_SEMI_SEMI] = ACTIONS(155), [anon_sym_LF] = ACTIONS(155), [aux_sym_SLASH_BSLASHs_PLUS_SLASH] = ACTIONS(157), [anon_sym_PIPE] = ACTIONS(155), [anon_sym_PIPE_AMP] = ACTIONS(155), [anon_sym_AMP_AMP] = ACTIONS(155), [anon_sym_PIPE_PIPE] = ACTIONS(155), [anon_sym_EQ] = ACTIONS(71), [anon_sym_LT] = ACTIONS(73), [anon_sym_GT] = ACTIONS(73), [anon_sym_LT_AMP] = ACTIONS(73), [anon_sym_GT_AMP] = ACTIONS(73), [anon_sym_LT_LT] = ACTIONS(75), [anon_sym_LT_LT_DASH] = ACTIONS(75), [sym_file_descriptor] = ACTIONS(77), [sym_comment] = ACTIONS(79), }, [29] = { [anon_sym_LT] = ACTIONS(159), [anon_sym_GT] = ACTIONS(159), [anon_sym_LT_AMP] = ACTIONS(159), [anon_sym_GT_AMP] = ACTIONS(159), [sym_file_descriptor] = ACTIONS(159), [sym_leading_word] = ACTIONS(161), [sym_comment] = ACTIONS(47), }, [30] = { [sym__terminated_statement] = STATE(7), [sym_while_statement] = STATE(8), [sym_command] = STATE(8), [sym_pipeline] = STATE(8), [sym_list] = STATE(8), [sym_environment_variable_assignment] = STATE(9), [sym_file_redirect] = STATE(9), [aux_sym_program_repeat1] = STATE(54), [aux_sym_command_repeat1] = STATE(11), [anon_sym_while] = ACTIONS(51), [anon_sym_done] = ACTIONS(163), [anon_sym_LT] = ACTIONS(53), [anon_sym_GT] = ACTIONS(53), [anon_sym_LT_AMP] = ACTIONS(53), [anon_sym_GT_AMP] = ACTIONS(53), [sym_file_descriptor] = ACTIONS(55), [sym_leading_word] = ACTIONS(57), [sym_comment] = ACTIONS(47), }, [31] = { [anon_sym_SEMI] = ACTIONS(165), [anon_sym_SEMI_SEMI] = ACTIONS(165), [anon_sym_LF] = ACTIONS(165), [anon_sym_PIPE] = ACTIONS(165), [anon_sym_PIPE_AMP] = ACTIONS(165), [anon_sym_AMP_AMP] = ACTIONS(165), [anon_sym_PIPE_PIPE] = ACTIONS(165), [sym_comment] = ACTIONS(79), }, [32] = { [anon_sym_do] = ACTIONS(143), [sym_comment] = ACTIONS(47), }, [33] = { [anon_sym_LT] = ACTIONS(167), [anon_sym_GT] = ACTIONS(167), [anon_sym_LT_AMP] = ACTIONS(167), [anon_sym_GT_AMP] = ACTIONS(167), [sym_file_descriptor] = ACTIONS(167), [sym_leading_word] = ACTIONS(169), [sym_comment] = ACTIONS(47), }, [34] = { [anon_sym_LT] = ACTIONS(171), [anon_sym_GT] = ACTIONS(171), [anon_sym_LT_AMP] = ACTIONS(171), [anon_sym_GT_AMP] = ACTIONS(171), [sym_file_descriptor] = ACTIONS(171), [sym_leading_word] = ACTIONS(173), [sym_comment] = ACTIONS(47), }, [35] = { [sym_word] = ACTIONS(175), [sym_comment] = ACTIONS(47), }, [36] = { [sym_leading_word] = ACTIONS(177), [sym_comment] = ACTIONS(47), }, [37] = { [anon_sym_SEMI] = ACTIONS(179), [anon_sym_SEMI_SEMI] = ACTIONS(179), [anon_sym_LF] = ACTIONS(179), [anon_sym_PIPE] = ACTIONS(179), [anon_sym_PIPE_AMP] = ACTIONS(179), [anon_sym_AMP_AMP] = ACTIONS(179), [anon_sym_PIPE_PIPE] = ACTIONS(179), [anon_sym_DOLLAR] = ACTIONS(179), [anon_sym_DOLLAR_LBRACE] = ACTIONS(179), [anon_sym_LT] = ACTIONS(179), [anon_sym_GT] = ACTIONS(179), [anon_sym_LT_AMP] = ACTIONS(179), [anon_sym_GT_AMP] = ACTIONS(179), [anon_sym_LT_LT] = ACTIONS(179), [anon_sym_LT_LT_DASH] = ACTIONS(179), [sym_file_descriptor] = ACTIONS(179), [sym_word] = ACTIONS(179), [sym_comment] = ACTIONS(79), }, [38] = { [anon_sym_SEMI] = ACTIONS(181), [anon_sym_SEMI_SEMI] = ACTIONS(181), [anon_sym_LF] = ACTIONS(181), [anon_sym_PIPE] = ACTIONS(181), [anon_sym_PIPE_AMP] = ACTIONS(181), [anon_sym_AMP_AMP] = ACTIONS(181), [anon_sym_PIPE_PIPE] = ACTIONS(181), [anon_sym_DOLLAR] = ACTIONS(181), [anon_sym_DOLLAR_LBRACE] = ACTIONS(181), [anon_sym_LT] = ACTIONS(181), [anon_sym_GT] = ACTIONS(181), [anon_sym_LT_AMP] = ACTIONS(181), [anon_sym_GT_AMP] = ACTIONS(181), [anon_sym_LT_LT] = ACTIONS(181), [anon_sym_LT_LT_DASH] = ACTIONS(181), [sym_file_descriptor] = ACTIONS(181), [sym_word] = ACTIONS(181), [sym_comment] = ACTIONS(79), }, [39] = { [sym_expansion] = STATE(58), [sym_operator_expansion] = STATE(58), [sym_file_redirect] = STATE(22), [sym_heredoc_redirect] = STATE(22), [aux_sym_command_repeat3] = STATE(59), [anon_sym_SEMI] = ACTIONS(183), [anon_sym_SEMI_SEMI] = ACTIONS(183), [anon_sym_LF] = ACTIONS(183), [anon_sym_PIPE] = ACTIONS(183), [anon_sym_PIPE_AMP] = ACTIONS(183), [anon_sym_AMP_AMP] = ACTIONS(183), [anon_sym_PIPE_PIPE] = ACTIONS(183), [anon_sym_DOLLAR] = ACTIONS(121), [anon_sym_DOLLAR_LBRACE] = ACTIONS(123), [anon_sym_LT] = ACTIONS(73), [anon_sym_GT] = ACTIONS(73), [anon_sym_LT_AMP] = ACTIONS(73), [anon_sym_GT_AMP] = ACTIONS(73), [anon_sym_LT_LT] = ACTIONS(75), [anon_sym_LT_LT_DASH] = ACTIONS(75), [sym_file_descriptor] = ACTIONS(77), [sym_word] = ACTIONS(185), [sym_comment] = ACTIONS(79), }, [40] = { [sym_file_redirect] = STATE(48), [sym_heredoc_redirect] = STATE(48), [anon_sym_SEMI] = ACTIONS(183), [anon_sym_SEMI_SEMI] = ACTIONS(183), [anon_sym_LF] = ACTIONS(183), [anon_sym_PIPE] = ACTIONS(183), [anon_sym_PIPE_AMP] = ACTIONS(183), [anon_sym_AMP_AMP] = ACTIONS(183), [anon_sym_PIPE_PIPE] = ACTIONS(183), [anon_sym_LT] = ACTIONS(73), [anon_sym_GT] = ACTIONS(73), [anon_sym_LT_AMP] = ACTIONS(73), [anon_sym_GT_AMP] = ACTIONS(73), [anon_sym_LT_LT] = ACTIONS(75), [anon_sym_LT_LT_DASH] = ACTIONS(75), [sym_file_descriptor] = ACTIONS(77), [sym_comment] = ACTIONS(79), }, [41] = { [anon_sym_LT] = ACTIONS(187), [anon_sym_GT] = ACTIONS(187), [anon_sym_LT_AMP] = ACTIONS(187), [anon_sym_GT_AMP] = ACTIONS(187), [sym_file_descriptor] = ACTIONS(187), [sym_leading_word] = ACTIONS(189), [sym_comment] = ACTIONS(47), }, [42] = { [anon_sym_SEMI] = ACTIONS(109), [anon_sym_SEMI_SEMI] = ACTIONS(109), [anon_sym_LF] = ACTIONS(109), [anon_sym_PIPE] = ACTIONS(109), [anon_sym_PIPE_AMP] = ACTIONS(109), [anon_sym_AMP_AMP] = ACTIONS(109), [anon_sym_PIPE_PIPE] = ACTIONS(109), [anon_sym_LT] = ACTIONS(109), [anon_sym_GT] = ACTIONS(109), [anon_sym_LT_AMP] = ACTIONS(109), [anon_sym_GT_AMP] = ACTIONS(109), [anon_sym_LT_LT] = ACTIONS(109), [anon_sym_LT_LT_DASH] = ACTIONS(109), [sym_file_descriptor] = ACTIONS(109), [sym_comment] = ACTIONS(79), }, [43] = { [anon_sym_SEMI] = ACTIONS(113), [anon_sym_SEMI_SEMI] = ACTIONS(113), [anon_sym_LF] = ACTIONS(113), [anon_sym_PIPE] = ACTIONS(113), [anon_sym_PIPE_AMP] = ACTIONS(113), [anon_sym_AMP_AMP] = ACTIONS(113), [anon_sym_PIPE_PIPE] = ACTIONS(113), [anon_sym_LT] = ACTIONS(113), [anon_sym_GT] = ACTIONS(113), [anon_sym_LT_AMP] = ACTIONS(113), [anon_sym_GT_AMP] = ACTIONS(113), [anon_sym_LT_LT] = ACTIONS(113), [anon_sym_LT_LT_DASH] = ACTIONS(113), [sym_file_descriptor] = ACTIONS(113), [sym_comment] = ACTIONS(79), }, [44] = { [anon_sym_SEMI] = ACTIONS(191), [anon_sym_SEMI_SEMI] = ACTIONS(191), [anon_sym_LF] = ACTIONS(191), [anon_sym_PIPE] = ACTIONS(191), [anon_sym_PIPE_AMP] = ACTIONS(191), [anon_sym_AMP_AMP] = ACTIONS(191), [anon_sym_PIPE_PIPE] = ACTIONS(191), [anon_sym_LT] = ACTIONS(191), [anon_sym_GT] = ACTIONS(191), [anon_sym_LT_AMP] = ACTIONS(191), [anon_sym_GT_AMP] = ACTIONS(191), [anon_sym_LT_LT] = ACTIONS(191), [anon_sym_LT_LT_DASH] = ACTIONS(191), [sym_file_descriptor] = ACTIONS(191), [sym_comment] = ACTIONS(79), }, [45] = { [sym_expansion] = STATE(60), [sym_operator_expansion] = STATE(60), [aux_sym_heredoc_repeat1] = STATE(64), [sym__heredoc_middle] = ACTIONS(193), [sym__heredoc_end] = ACTIONS(195), [anon_sym_DOLLAR] = ACTIONS(197), [anon_sym_DOLLAR_LBRACE] = ACTIONS(199), [sym_comment] = ACTIONS(47), }, [46] = { [anon_sym_SEMI] = ACTIONS(201), [anon_sym_SEMI_SEMI] = ACTIONS(201), [anon_sym_LF] = ACTIONS(201), [anon_sym_PIPE] = ACTIONS(201), [anon_sym_PIPE_AMP] = ACTIONS(201), [anon_sym_AMP_AMP] = ACTIONS(201), [anon_sym_PIPE_PIPE] = ACTIONS(201), [anon_sym_LT] = ACTIONS(201), [anon_sym_GT] = ACTIONS(201), [anon_sym_LT_AMP] = ACTIONS(201), [anon_sym_GT_AMP] = ACTIONS(201), [anon_sym_LT_LT] = ACTIONS(201), [anon_sym_LT_LT_DASH] = ACTIONS(201), [sym_file_descriptor] = ACTIONS(201), [sym_comment] = ACTIONS(79), }, [47] = { [sym_file_descriptor] = ACTIONS(203), [sym_word] = ACTIONS(205), [sym_comment] = ACTIONS(47), }, [48] = { [anon_sym_SEMI] = ACTIONS(207), [anon_sym_SEMI_SEMI] = ACTIONS(207), [anon_sym_LF] = ACTIONS(207), [anon_sym_PIPE] = ACTIONS(207), [anon_sym_PIPE_AMP] = ACTIONS(207), [anon_sym_AMP_AMP] = ACTIONS(207), [anon_sym_PIPE_PIPE] = ACTIONS(207), [anon_sym_LT] = ACTIONS(207), [anon_sym_GT] = ACTIONS(207), [anon_sym_LT_AMP] = ACTIONS(207), [anon_sym_GT_AMP] = ACTIONS(207), [anon_sym_LT_LT] = ACTIONS(207), [anon_sym_LT_LT_DASH] = ACTIONS(207), [sym_file_descriptor] = ACTIONS(207), [sym_comment] = ACTIONS(79), }, [49] = { [anon_sym_SEMI] = ACTIONS(209), [anon_sym_SEMI_SEMI] = ACTIONS(209), [anon_sym_LF] = ACTIONS(209), [anon_sym_PIPE] = ACTIONS(209), [anon_sym_PIPE_AMP] = ACTIONS(209), [anon_sym_AMP_AMP] = ACTIONS(209), [anon_sym_PIPE_PIPE] = ACTIONS(209), [sym_comment] = ACTIONS(79), }, [50] = { [anon_sym_SEMI] = ACTIONS(211), [anon_sym_SEMI_SEMI] = ACTIONS(211), [anon_sym_LF] = ACTIONS(211), [anon_sym_PIPE] = ACTIONS(91), [anon_sym_PIPE_AMP] = ACTIONS(91), [anon_sym_AMP_AMP] = ACTIONS(211), [anon_sym_PIPE_PIPE] = ACTIONS(211), [sym_comment] = ACTIONS(79), }, [51] = { [sym_expansion] = STATE(38), [sym_operator_expansion] = STATE(38), [sym_file_redirect] = STATE(22), [sym_heredoc_redirect] = STATE(22), [aux_sym_command_repeat2] = STATE(67), [aux_sym_command_repeat3] = STATE(68), [anon_sym_SEMI] = ACTIONS(213), [anon_sym_SEMI_SEMI] = ACTIONS(213), [anon_sym_LF] = ACTIONS(213), [anon_sym_PIPE] = ACTIONS(213), [anon_sym_PIPE_AMP] = ACTIONS(213), [anon_sym_AMP_AMP] = ACTIONS(213), [anon_sym_PIPE_PIPE] = ACTIONS(213), [anon_sym_DOLLAR] = ACTIONS(121), [anon_sym_DOLLAR_LBRACE] = ACTIONS(123), [anon_sym_LT] = ACTIONS(73), [anon_sym_GT] = ACTIONS(73), [anon_sym_LT_AMP] = ACTIONS(73), [anon_sym_GT_AMP] = ACTIONS(73), [anon_sym_LT_LT] = ACTIONS(75), [anon_sym_LT_LT_DASH] = ACTIONS(75), [sym_file_descriptor] = ACTIONS(77), [sym_word] = ACTIONS(125), [sym_comment] = ACTIONS(79), }, [52] = { [sym_file_redirect] = STATE(48), [sym_heredoc_redirect] = STATE(48), [anon_sym_SEMI] = ACTIONS(213), [anon_sym_SEMI_SEMI] = ACTIONS(213), [anon_sym_LF] = ACTIONS(213), [anon_sym_PIPE] = ACTIONS(213), [anon_sym_PIPE_AMP] = ACTIONS(213), [anon_sym_AMP_AMP] = ACTIONS(213), [anon_sym_PIPE_PIPE] = ACTIONS(213), [anon_sym_LT] = ACTIONS(73), [anon_sym_GT] = ACTIONS(73), [anon_sym_LT_AMP] = ACTIONS(73), [anon_sym_GT_AMP] = ACTIONS(73), [anon_sym_LT_LT] = ACTIONS(75), [anon_sym_LT_LT_DASH] = ACTIONS(75), [sym_file_descriptor] = ACTIONS(77), [sym_comment] = ACTIONS(79), }, [53] = { [anon_sym_SEMI] = ACTIONS(215), [anon_sym_SEMI_SEMI] = ACTIONS(215), [anon_sym_LF] = ACTIONS(215), [anon_sym_PIPE] = ACTIONS(215), [anon_sym_PIPE_AMP] = ACTIONS(215), [anon_sym_AMP_AMP] = ACTIONS(215), [anon_sym_PIPE_PIPE] = ACTIONS(215), [sym_comment] = ACTIONS(79), }, [54] = { [sym__terminated_statement] = STATE(27), [sym_while_statement] = STATE(8), [sym_command] = STATE(8), [sym_pipeline] = STATE(8), [sym_list] = STATE(8), [sym_environment_variable_assignment] = STATE(9), [sym_file_redirect] = STATE(9), [aux_sym_command_repeat1] = STATE(11), [anon_sym_while] = ACTIONS(51), [anon_sym_done] = ACTIONS(217), [anon_sym_LT] = ACTIONS(53), [anon_sym_GT] = ACTIONS(53), [anon_sym_LT_AMP] = ACTIONS(53), [anon_sym_GT_AMP] = ACTIONS(53), [sym_file_descriptor] = ACTIONS(55), [sym_leading_word] = ACTIONS(57), [sym_comment] = ACTIONS(47), }, [55] = { [anon_sym_SEMI] = ACTIONS(219), [anon_sym_SEMI_SEMI] = ACTIONS(219), [anon_sym_LF] = ACTIONS(219), [anon_sym_PIPE] = ACTIONS(219), [anon_sym_PIPE_AMP] = ACTIONS(219), [anon_sym_AMP_AMP] = ACTIONS(219), [anon_sym_PIPE_PIPE] = ACTIONS(219), [anon_sym_DOLLAR] = ACTIONS(219), [anon_sym_DOLLAR_LBRACE] = ACTIONS(219), [anon_sym_LT] = ACTIONS(219), [anon_sym_GT] = ACTIONS(219), [anon_sym_LT_AMP] = ACTIONS(219), [anon_sym_GT_AMP] = ACTIONS(219), [anon_sym_LT_LT] = ACTIONS(219), [anon_sym_LT_LT_DASH] = ACTIONS(219), [sym_file_descriptor] = ACTIONS(219), [sym_word] = ACTIONS(219), [sym_comment] = ACTIONS(79), }, [56] = { [anon_sym_EQ] = ACTIONS(221), [anon_sym_COLON] = ACTIONS(223), [anon_sym_COLON_QMARK] = ACTIONS(221), [anon_sym_RBRACE] = ACTIONS(225), [sym_comment] = ACTIONS(47), }, [57] = { [anon_sym_SEMI] = ACTIONS(227), [anon_sym_SEMI_SEMI] = ACTIONS(227), [anon_sym_LF] = ACTIONS(227), [anon_sym_PIPE] = ACTIONS(227), [anon_sym_PIPE_AMP] = ACTIONS(227), [anon_sym_AMP_AMP] = ACTIONS(227), [anon_sym_PIPE_PIPE] = ACTIONS(227), [anon_sym_DOLLAR] = ACTIONS(227), [anon_sym_DOLLAR_LBRACE] = ACTIONS(227), [anon_sym_LT] = ACTIONS(227), [anon_sym_GT] = ACTIONS(227), [anon_sym_LT_AMP] = ACTIONS(227), [anon_sym_GT_AMP] = ACTIONS(227), [anon_sym_LT_LT] = ACTIONS(227), [anon_sym_LT_LT_DASH] = ACTIONS(227), [sym_file_descriptor] = ACTIONS(227), [sym_word] = ACTIONS(227), [sym_comment] = ACTIONS(79), }, [58] = { [anon_sym_SEMI] = ACTIONS(229), [anon_sym_SEMI_SEMI] = ACTIONS(229), [anon_sym_LF] = ACTIONS(229), [anon_sym_PIPE] = ACTIONS(229), [anon_sym_PIPE_AMP] = ACTIONS(229), [anon_sym_AMP_AMP] = ACTIONS(229), [anon_sym_PIPE_PIPE] = ACTIONS(229), [anon_sym_DOLLAR] = ACTIONS(229), [anon_sym_DOLLAR_LBRACE] = ACTIONS(229), [anon_sym_LT] = ACTIONS(229), [anon_sym_GT] = ACTIONS(229), [anon_sym_LT_AMP] = ACTIONS(229), [anon_sym_GT_AMP] = ACTIONS(229), [anon_sym_LT_LT] = ACTIONS(229), [anon_sym_LT_LT_DASH] = ACTIONS(229), [sym_file_descriptor] = ACTIONS(229), [sym_word] = ACTIONS(229), [sym_comment] = ACTIONS(79), }, [59] = { [sym_file_redirect] = STATE(48), [sym_heredoc_redirect] = STATE(48), [anon_sym_SEMI] = ACTIONS(231), [anon_sym_SEMI_SEMI] = ACTIONS(231), [anon_sym_LF] = ACTIONS(231), [anon_sym_PIPE] = ACTIONS(231), [anon_sym_PIPE_AMP] = ACTIONS(231), [anon_sym_AMP_AMP] = ACTIONS(231), [anon_sym_PIPE_PIPE] = ACTIONS(231), [anon_sym_LT] = ACTIONS(73), [anon_sym_GT] = ACTIONS(73), [anon_sym_LT_AMP] = ACTIONS(73), [anon_sym_GT_AMP] = ACTIONS(73), [anon_sym_LT_LT] = ACTIONS(75), [anon_sym_LT_LT_DASH] = ACTIONS(75), [sym_file_descriptor] = ACTIONS(77), [sym_comment] = ACTIONS(79), }, [60] = { [sym__heredoc_middle] = ACTIONS(233), [sym__heredoc_end] = ACTIONS(233), [anon_sym_DOLLAR] = ACTIONS(235), [anon_sym_DOLLAR_LBRACE] = ACTIONS(233), [sym_comment] = ACTIONS(47), }, [61] = { [anon_sym_SEMI] = ACTIONS(237), [anon_sym_SEMI_SEMI] = ACTIONS(237), [anon_sym_LF] = ACTIONS(237), [anon_sym_PIPE] = ACTIONS(237), [anon_sym_PIPE_AMP] = ACTIONS(237), [anon_sym_AMP_AMP] = ACTIONS(237), [anon_sym_PIPE_PIPE] = ACTIONS(237), [anon_sym_LT] = ACTIONS(237), [anon_sym_GT] = ACTIONS(237), [anon_sym_LT_AMP] = ACTIONS(237), [anon_sym_GT_AMP] = ACTIONS(237), [anon_sym_LT_LT] = ACTIONS(237), [anon_sym_LT_LT_DASH] = ACTIONS(237), [sym_file_descriptor] = ACTIONS(237), [sym_comment] = ACTIONS(79), }, [62] = { [sym_word] = ACTIONS(239), [sym_comment] = ACTIONS(47), }, [63] = { [sym_leading_word] = ACTIONS(241), [sym_comment] = ACTIONS(47), }, [64] = { [sym_expansion] = STATE(74), [sym_operator_expansion] = STATE(74), [sym__heredoc_middle] = ACTIONS(243), [sym__heredoc_end] = ACTIONS(245), [anon_sym_DOLLAR] = ACTIONS(197), [anon_sym_DOLLAR_LBRACE] = ACTIONS(199), [sym_comment] = ACTIONS(47), }, [65] = { [anon_sym_SEMI] = ACTIONS(169), [anon_sym_SEMI_SEMI] = ACTIONS(169), [anon_sym_LF] = ACTIONS(169), [anon_sym_PIPE] = ACTIONS(169), [anon_sym_PIPE_AMP] = ACTIONS(169), [anon_sym_AMP_AMP] = ACTIONS(169), [anon_sym_PIPE_PIPE] = ACTIONS(169), [anon_sym_LT] = ACTIONS(169), [anon_sym_GT] = ACTIONS(169), [anon_sym_LT_AMP] = ACTIONS(169), [anon_sym_GT_AMP] = ACTIONS(169), [anon_sym_LT_LT] = ACTIONS(169), [anon_sym_LT_LT_DASH] = ACTIONS(169), [sym_file_descriptor] = ACTIONS(169), [sym_comment] = ACTIONS(79), }, [66] = { [anon_sym_SEMI] = ACTIONS(173), [anon_sym_SEMI_SEMI] = ACTIONS(173), [anon_sym_LF] = ACTIONS(173), [anon_sym_PIPE] = ACTIONS(173), [anon_sym_PIPE_AMP] = ACTIONS(173), [anon_sym_AMP_AMP] = ACTIONS(173), [anon_sym_PIPE_PIPE] = ACTIONS(173), [anon_sym_LT] = ACTIONS(173), [anon_sym_GT] = ACTIONS(173), [anon_sym_LT_AMP] = ACTIONS(173), [anon_sym_GT_AMP] = ACTIONS(173), [anon_sym_LT_LT] = ACTIONS(173), [anon_sym_LT_LT_DASH] = ACTIONS(173), [sym_file_descriptor] = ACTIONS(173), [sym_comment] = ACTIONS(79), }, [67] = { [sym_expansion] = STATE(58), [sym_operator_expansion] = STATE(58), [sym_file_redirect] = STATE(22), [sym_heredoc_redirect] = STATE(22), [aux_sym_command_repeat3] = STATE(76), [anon_sym_SEMI] = ACTIONS(247), [anon_sym_SEMI_SEMI] = ACTIONS(247), [anon_sym_LF] = ACTIONS(247), [anon_sym_PIPE] = ACTIONS(247), [anon_sym_PIPE_AMP] = ACTIONS(247), [anon_sym_AMP_AMP] = ACTIONS(247), [anon_sym_PIPE_PIPE] = ACTIONS(247), [anon_sym_DOLLAR] = ACTIONS(121), [anon_sym_DOLLAR_LBRACE] = ACTIONS(123), [anon_sym_LT] = ACTIONS(73), [anon_sym_GT] = ACTIONS(73), [anon_sym_LT_AMP] = ACTIONS(73), [anon_sym_GT_AMP] = ACTIONS(73), [anon_sym_LT_LT] = ACTIONS(75), [anon_sym_LT_LT_DASH] = ACTIONS(75), [sym_file_descriptor] = ACTIONS(77), [sym_word] = ACTIONS(185), [sym_comment] = ACTIONS(79), }, [68] = { [sym_file_redirect] = STATE(48), [sym_heredoc_redirect] = STATE(48), [anon_sym_SEMI] = ACTIONS(247), [anon_sym_SEMI_SEMI] = ACTIONS(247), [anon_sym_LF] = ACTIONS(247), [anon_sym_PIPE] = ACTIONS(247), [anon_sym_PIPE_AMP] = ACTIONS(247), [anon_sym_AMP_AMP] = ACTIONS(247), [anon_sym_PIPE_PIPE] = ACTIONS(247), [anon_sym_LT] = ACTIONS(73), [anon_sym_GT] = ACTIONS(73), [anon_sym_LT_AMP] = ACTIONS(73), [anon_sym_GT_AMP] = ACTIONS(73), [anon_sym_LT_LT] = ACTIONS(75), [anon_sym_LT_LT_DASH] = ACTIONS(75), [sym_file_descriptor] = ACTIONS(77), [sym_comment] = ACTIONS(79), }, [69] = { [anon_sym_SEMI] = ACTIONS(249), [anon_sym_SEMI_SEMI] = ACTIONS(249), [anon_sym_LF] = ACTIONS(249), [anon_sym_PIPE] = ACTIONS(249), [anon_sym_PIPE_AMP] = ACTIONS(249), [anon_sym_AMP_AMP] = ACTIONS(249), [anon_sym_PIPE_PIPE] = ACTIONS(249), [sym_comment] = ACTIONS(79), }, [70] = { [sym_word] = ACTIONS(251), [sym_comment] = ACTIONS(47), }, [71] = { [anon_sym_SEMI] = ACTIONS(253), [anon_sym_SEMI_SEMI] = ACTIONS(253), [anon_sym_LF] = ACTIONS(253), [anon_sym_PIPE] = ACTIONS(253), [anon_sym_PIPE_AMP] = ACTIONS(253), [anon_sym_AMP_AMP] = ACTIONS(253), [anon_sym_PIPE_PIPE] = ACTIONS(253), [anon_sym_DOLLAR] = ACTIONS(253), [anon_sym_DOLLAR_LBRACE] = ACTIONS(253), [anon_sym_LT] = ACTIONS(253), [anon_sym_GT] = ACTIONS(253), [anon_sym_LT_AMP] = ACTIONS(253), [anon_sym_GT_AMP] = ACTIONS(253), [anon_sym_LT_LT] = ACTIONS(253), [anon_sym_LT_LT_DASH] = ACTIONS(253), [sym_file_descriptor] = ACTIONS(253), [sym_word] = ACTIONS(253), [sym_comment] = ACTIONS(79), }, [72] = { [sym__heredoc_middle] = ACTIONS(255), [sym__heredoc_end] = ACTIONS(255), [anon_sym_DOLLAR] = ACTIONS(257), [anon_sym_DOLLAR_LBRACE] = ACTIONS(255), [sym_comment] = ACTIONS(47), }, [73] = { [anon_sym_EQ] = ACTIONS(259), [anon_sym_COLON] = ACTIONS(261), [anon_sym_COLON_QMARK] = ACTIONS(259), [anon_sym_RBRACE] = ACTIONS(263), [sym_comment] = ACTIONS(47), }, [74] = { [sym__heredoc_middle] = ACTIONS(265), [sym__heredoc_end] = ACTIONS(265), [anon_sym_DOLLAR] = ACTIONS(267), [anon_sym_DOLLAR_LBRACE] = ACTIONS(265), [sym_comment] = ACTIONS(47), }, [75] = { [anon_sym_SEMI] = ACTIONS(269), [anon_sym_SEMI_SEMI] = ACTIONS(269), [anon_sym_LF] = ACTIONS(269), [anon_sym_PIPE] = ACTIONS(269), [anon_sym_PIPE_AMP] = ACTIONS(269), [anon_sym_AMP_AMP] = ACTIONS(269), [anon_sym_PIPE_PIPE] = ACTIONS(269), [anon_sym_LT] = ACTIONS(269), [anon_sym_GT] = ACTIONS(269), [anon_sym_LT_AMP] = ACTIONS(269), [anon_sym_GT_AMP] = ACTIONS(269), [anon_sym_LT_LT] = ACTIONS(269), [anon_sym_LT_LT_DASH] = ACTIONS(269), [sym_file_descriptor] = ACTIONS(269), [sym_comment] = ACTIONS(79), }, [76] = { [sym_file_redirect] = STATE(48), [sym_heredoc_redirect] = STATE(48), [anon_sym_SEMI] = ACTIONS(271), [anon_sym_SEMI_SEMI] = ACTIONS(271), [anon_sym_LF] = ACTIONS(271), [anon_sym_PIPE] = ACTIONS(271), [anon_sym_PIPE_AMP] = ACTIONS(271), [anon_sym_AMP_AMP] = ACTIONS(271), [anon_sym_PIPE_PIPE] = ACTIONS(271), [anon_sym_LT] = ACTIONS(73), [anon_sym_GT] = ACTIONS(73), [anon_sym_LT_AMP] = ACTIONS(73), [anon_sym_GT_AMP] = ACTIONS(73), [anon_sym_LT_LT] = ACTIONS(75), [anon_sym_LT_LT_DASH] = ACTIONS(75), [sym_file_descriptor] = ACTIONS(77), [sym_comment] = ACTIONS(79), }, [77] = { [anon_sym_RBRACE] = ACTIONS(273), [sym_comment] = ACTIONS(47), }, [78] = { [sym_word] = ACTIONS(275), [sym_comment] = ACTIONS(47), }, [79] = { [sym__heredoc_middle] = ACTIONS(277), [sym__heredoc_end] = ACTIONS(277), [anon_sym_DOLLAR] = ACTIONS(279), [anon_sym_DOLLAR_LBRACE] = ACTIONS(277), [sym_comment] = ACTIONS(47), }, [80] = { [anon_sym_SEMI] = ACTIONS(281), [anon_sym_SEMI_SEMI] = ACTIONS(281), [anon_sym_LF] = ACTIONS(281), [anon_sym_PIPE] = ACTIONS(281), [anon_sym_PIPE_AMP] = ACTIONS(281), [anon_sym_AMP_AMP] = ACTIONS(281), [anon_sym_PIPE_PIPE] = ACTIONS(281), [anon_sym_DOLLAR] = ACTIONS(281), [anon_sym_DOLLAR_LBRACE] = ACTIONS(281), [anon_sym_LT] = ACTIONS(281), [anon_sym_GT] = ACTIONS(281), [anon_sym_LT_AMP] = ACTIONS(281), [anon_sym_GT_AMP] = ACTIONS(281), [anon_sym_LT_LT] = ACTIONS(281), [anon_sym_LT_LT_DASH] = ACTIONS(281), [sym_file_descriptor] = ACTIONS(281), [sym_word] = ACTIONS(281), [sym_comment] = ACTIONS(79), }, [81] = { [anon_sym_RBRACE] = ACTIONS(283), [sym_comment] = ACTIONS(47), }, [82] = { [sym__heredoc_middle] = ACTIONS(285), [sym__heredoc_end] = ACTIONS(285), [anon_sym_DOLLAR] = ACTIONS(287), [anon_sym_DOLLAR_LBRACE] = ACTIONS(285), [sym_comment] = ACTIONS(47), }, [83] = { [anon_sym_SEMI] = ACTIONS(289), [anon_sym_SEMI_SEMI] = ACTIONS(289), [anon_sym_LF] = ACTIONS(289), [anon_sym_PIPE] = ACTIONS(289), [anon_sym_PIPE_AMP] = ACTIONS(289), [anon_sym_AMP_AMP] = ACTIONS(289), [anon_sym_PIPE_PIPE] = ACTIONS(289), [sym_comment] = ACTIONS(79), }, [84] = { [sym_word] = ACTIONS(292), [sym_comment] = ACTIONS(47), }, [85] = { [sym_word] = ACTIONS(294), [sym_comment] = ACTIONS(47), }, [86] = { [sym_leading_word] = ACTIONS(296), [sym_comment] = ACTIONS(47), }, [87] = { [sym_word] = ACTIONS(298), [sym_comment] = ACTIONS(47), }, [88] = { [sym__heredoc_middle] = ACTIONS(300), [sym__heredoc_end] = ACTIONS(300), [anon_sym_SEMI] = ACTIONS(303), [anon_sym_SEMI_SEMI] = ACTIONS(303), [anon_sym_LF] = ACTIONS(303), [anon_sym_PIPE] = ACTIONS(303), [anon_sym_PIPE_AMP] = ACTIONS(303), [anon_sym_AMP_AMP] = ACTIONS(303), [anon_sym_PIPE_PIPE] = ACTIONS(303), [anon_sym_DOLLAR] = ACTIONS(303), [anon_sym_DOLLAR_LBRACE] = ACTIONS(303), [anon_sym_LT] = ACTIONS(303), [anon_sym_GT] = ACTIONS(303), [anon_sym_LT_AMP] = ACTIONS(303), [anon_sym_GT_AMP] = ACTIONS(303), [anon_sym_LT_LT] = ACTIONS(303), [anon_sym_LT_LT_DASH] = ACTIONS(303), [sym_file_descriptor] = ACTIONS(303), [sym_word] = ACTIONS(303), [sym_comment] = ACTIONS(79), }, [89] = { [sym_file_descriptor] = ACTIONS(306), [sym_word] = ACTIONS(308), [sym_comment] = ACTIONS(47), }, [90] = { [anon_sym_SEMI] = ACTIONS(310), [anon_sym_SEMI_SEMI] = ACTIONS(310), [anon_sym_LF] = ACTIONS(310), [anon_sym_PIPE] = ACTIONS(310), [anon_sym_PIPE_AMP] = ACTIONS(310), [anon_sym_AMP_AMP] = ACTIONS(310), [anon_sym_PIPE_PIPE] = ACTIONS(310), [anon_sym_LT] = ACTIONS(313), [anon_sym_GT] = ACTIONS(313), [anon_sym_LT_AMP] = ACTIONS(313), [anon_sym_GT_AMP] = ACTIONS(313), [anon_sym_LT_LT] = ACTIONS(310), [anon_sym_LT_LT_DASH] = ACTIONS(310), [sym_file_descriptor] = ACTIONS(310), [sym_leading_word] = ACTIONS(310), [sym_comment] = ACTIONS(79), }, [91] = { [sym__heredoc_middle] = ACTIONS(317), [sym__heredoc_end] = ACTIONS(317), [anon_sym_DOLLAR] = ACTIONS(320), [anon_sym_DOLLAR_LBRACE] = ACTIONS(317), [sym_comment] = ACTIONS(47), }, [92] = { [anon_sym_SEMI] = ACTIONS(323), [anon_sym_SEMI_SEMI] = ACTIONS(323), [anon_sym_LF] = ACTIONS(323), [anon_sym_PIPE] = ACTIONS(323), [anon_sym_PIPE_AMP] = ACTIONS(323), [anon_sym_AMP_AMP] = ACTIONS(323), [anon_sym_PIPE_PIPE] = ACTIONS(323), [anon_sym_LT] = ACTIONS(323), [anon_sym_GT] = ACTIONS(323), [anon_sym_LT_AMP] = ACTIONS(323), [anon_sym_GT_AMP] = ACTIONS(323), [anon_sym_LT_LT] = ACTIONS(323), [anon_sym_LT_LT_DASH] = ACTIONS(323), [sym_file_descriptor] = ACTIONS(323), [sym_comment] = ACTIONS(79), }, [93] = { [sym_do_group] = STATE(31), [ts_builtin_sym_end] = ACTIONS(326), [anon_sym_while] = ACTIONS(329), [anon_sym_do] = ACTIONS(332), [anon_sym_done] = ACTIONS(329), [anon_sym_LT] = ACTIONS(329), [anon_sym_GT] = ACTIONS(329), [anon_sym_LT_AMP] = ACTIONS(329), [anon_sym_GT_AMP] = ACTIONS(329), [sym_file_descriptor] = ACTIONS(329), [sym_leading_word] = ACTIONS(334), [sym_comment] = ACTIONS(47), }, [94] = { [anon_sym_SEMI] = ACTIONS(337), [anon_sym_SEMI_SEMI] = ACTIONS(337), [anon_sym_LF] = ACTIONS(337), [anon_sym_PIPE] = ACTIONS(341), [anon_sym_PIPE_AMP] = ACTIONS(341), [anon_sym_AMP_AMP] = ACTIONS(345), [anon_sym_PIPE_PIPE] = ACTIONS(345), [sym_comment] = ACTIONS(79), }, [95] = { [anon_sym_LT] = ACTIONS(349), [anon_sym_GT] = ACTIONS(349), [anon_sym_LT_AMP] = ACTIONS(349), [anon_sym_GT_AMP] = ACTIONS(349), [sym_file_descriptor] = ACTIONS(349), [sym_leading_word] = ACTIONS(352), [sym_comment] = ACTIONS(47), }, [96] = { [sym__heredoc_middle] = ACTIONS(317), [sym__heredoc_end] = ACTIONS(317), [anon_sym_SEMI] = ACTIONS(355), [anon_sym_SEMI_SEMI] = ACTIONS(355), [anon_sym_LF] = ACTIONS(355), [anon_sym_PIPE] = ACTIONS(355), [anon_sym_PIPE_AMP] = ACTIONS(355), [anon_sym_AMP_AMP] = ACTIONS(355), [anon_sym_PIPE_PIPE] = ACTIONS(355), [anon_sym_DOLLAR] = ACTIONS(358), [anon_sym_DOLLAR_LBRACE] = ACTIONS(358), [anon_sym_LT] = ACTIONS(355), [anon_sym_GT] = ACTIONS(355), [anon_sym_LT_AMP] = ACTIONS(355), [anon_sym_GT_AMP] = ACTIONS(355), [anon_sym_LT_LT] = ACTIONS(355), [anon_sym_LT_LT_DASH] = ACTIONS(355), [sym_file_descriptor] = ACTIONS(355), [sym_word] = ACTIONS(355), [sym_comment] = ACTIONS(79), }, [97] = { [anon_sym_SEMI] = ACTIONS(363), [anon_sym_SEMI_SEMI] = ACTIONS(363), [anon_sym_LF] = ACTIONS(363), [anon_sym_PIPE] = ACTIONS(363), [anon_sym_PIPE_AMP] = ACTIONS(363), [anon_sym_AMP_AMP] = ACTIONS(363), [anon_sym_PIPE_PIPE] = ACTIONS(363), [anon_sym_LT] = ACTIONS(366), [anon_sym_GT] = ACTIONS(366), [anon_sym_LT_AMP] = ACTIONS(366), [anon_sym_GT_AMP] = ACTIONS(366), [anon_sym_LT_LT] = ACTIONS(363), [anon_sym_LT_LT_DASH] = ACTIONS(363), [sym_file_descriptor] = ACTIONS(366), [sym_leading_word] = ACTIONS(352), [sym_comment] = ACTIONS(79), }, [98] = { [anon_sym_SEMI] = ACTIONS(363), [anon_sym_SEMI_SEMI] = ACTIONS(363), [anon_sym_LF] = ACTIONS(363), [anon_sym_PIPE] = ACTIONS(363), [anon_sym_PIPE_AMP] = ACTIONS(363), [anon_sym_AMP_AMP] = ACTIONS(363), [anon_sym_PIPE_PIPE] = ACTIONS(363), [anon_sym_LT] = ACTIONS(363), [anon_sym_GT] = ACTIONS(363), [anon_sym_LT_AMP] = ACTIONS(363), [anon_sym_GT_AMP] = ACTIONS(363), [anon_sym_LT_LT] = ACTIONS(363), [anon_sym_LT_LT_DASH] = ACTIONS(363), [sym_file_descriptor] = ACTIONS(363), [sym_comment] = ACTIONS(79), }, [99] = { [sym__terminated_statement] = STATE(27), [sym_while_statement] = STATE(8), [sym_command] = STATE(8), [sym_pipeline] = STATE(8), [sym_list] = STATE(8), [sym_environment_variable_assignment] = STATE(9), [sym_file_redirect] = STATE(9), [aux_sym_command_repeat1] = STATE(11), [ts_builtin_sym_end] = ACTIONS(99), [anon_sym_while] = ACTIONS(51), [anon_sym_done] = ACTIONS(217), [anon_sym_LT] = ACTIONS(53), [anon_sym_GT] = ACTIONS(53), [anon_sym_LT_AMP] = ACTIONS(53), [anon_sym_GT_AMP] = ACTIONS(53), [sym_file_descriptor] = ACTIONS(55), [sym_leading_word] = ACTIONS(57), [sym_comment] = ACTIONS(47), }, [100] = { [sym_expansion] = STATE(58), [sym_operator_expansion] = STATE(58), [sym_file_redirect] = STATE(22), [sym_heredoc_redirect] = STATE(22), [aux_sym_command_repeat3] = STATE(109), [anon_sym_SEMI] = ACTIONS(371), [anon_sym_SEMI_SEMI] = ACTIONS(371), [anon_sym_LF] = ACTIONS(371), [anon_sym_PIPE] = ACTIONS(371), [anon_sym_PIPE_AMP] = ACTIONS(371), [anon_sym_AMP_AMP] = ACTIONS(371), [anon_sym_PIPE_PIPE] = ACTIONS(371), [anon_sym_DOLLAR] = ACTIONS(121), [anon_sym_DOLLAR_LBRACE] = ACTIONS(123), [anon_sym_LT] = ACTIONS(73), [anon_sym_GT] = ACTIONS(73), [anon_sym_LT_AMP] = ACTIONS(73), [anon_sym_GT_AMP] = ACTIONS(73), [anon_sym_LT_LT] = ACTIONS(75), [anon_sym_LT_LT_DASH] = ACTIONS(75), [sym_file_descriptor] = ACTIONS(77), [sym_word] = ACTIONS(185), [sym_comment] = ACTIONS(79), }, [101] = { [sym_file_redirect] = STATE(48), [sym_heredoc_redirect] = STATE(48), [anon_sym_SEMI] = ACTIONS(374), [anon_sym_SEMI_SEMI] = ACTIONS(374), [anon_sym_LF] = ACTIONS(374), [anon_sym_PIPE] = ACTIONS(374), [anon_sym_PIPE_AMP] = ACTIONS(374), [anon_sym_AMP_AMP] = ACTIONS(374), [anon_sym_PIPE_PIPE] = ACTIONS(374), [anon_sym_LT] = ACTIONS(73), [anon_sym_GT] = ACTIONS(73), [anon_sym_LT_AMP] = ACTIONS(73), [anon_sym_GT_AMP] = ACTIONS(73), [anon_sym_LT_LT] = ACTIONS(75), [anon_sym_LT_LT_DASH] = ACTIONS(75), [sym_file_descriptor] = ACTIONS(77), [sym_comment] = ACTIONS(79), }, [102] = { [anon_sym_RBRACE] = ACTIONS(381), [anon_sym_LT] = ACTIONS(187), [anon_sym_GT] = ACTIONS(187), [anon_sym_LT_AMP] = ACTIONS(187), [anon_sym_GT_AMP] = ACTIONS(187), [sym_file_descriptor] = ACTIONS(187), [sym_leading_word] = ACTIONS(189), [sym_comment] = ACTIONS(47), }, [103] = { [sym__heredoc_middle] = ACTIONS(255), [sym__heredoc_end] = ACTIONS(255), [anon_sym_SEMI] = ACTIONS(219), [anon_sym_SEMI_SEMI] = ACTIONS(219), [anon_sym_LF] = ACTIONS(219), [anon_sym_PIPE] = ACTIONS(219), [anon_sym_PIPE_AMP] = ACTIONS(219), [anon_sym_AMP_AMP] = ACTIONS(219), [anon_sym_PIPE_PIPE] = ACTIONS(219), [anon_sym_DOLLAR] = ACTIONS(219), [anon_sym_DOLLAR_LBRACE] = ACTIONS(219), [anon_sym_LT] = ACTIONS(219), [anon_sym_GT] = ACTIONS(219), [anon_sym_LT_AMP] = ACTIONS(219), [anon_sym_GT_AMP] = ACTIONS(219), [anon_sym_LT_LT] = ACTIONS(219), [anon_sym_LT_LT_DASH] = ACTIONS(219), [sym_file_descriptor] = ACTIONS(219), [sym_word] = ACTIONS(219), [sym_comment] = ACTIONS(79), }, [104] = { [anon_sym_EQ] = ACTIONS(383), [anon_sym_COLON] = ACTIONS(385), [anon_sym_COLON_QMARK] = ACTIONS(383), [anon_sym_RBRACE] = ACTIONS(387), [sym_comment] = ACTIONS(47), }, [105] = { [anon_sym_RBRACE] = ACTIONS(381), [sym_comment] = ACTIONS(47), }, [106] = { [anon_sym_SEMI] = ACTIONS(310), [anon_sym_SEMI_SEMI] = ACTIONS(310), [anon_sym_LF] = ACTIONS(310), [anon_sym_PIPE] = ACTIONS(310), [anon_sym_PIPE_AMP] = ACTIONS(310), [anon_sym_AMP_AMP] = ACTIONS(310), [anon_sym_PIPE_PIPE] = ACTIONS(310), [anon_sym_LT] = ACTIONS(310), [anon_sym_GT] = ACTIONS(310), [anon_sym_LT_AMP] = ACTIONS(310), [anon_sym_GT_AMP] = ACTIONS(310), [anon_sym_LT_LT] = ACTIONS(310), [anon_sym_LT_LT_DASH] = ACTIONS(310), [sym_file_descriptor] = ACTIONS(310), [sym_leading_word] = ACTIONS(310), [sym_comment] = ACTIONS(79), }, [107] = { [anon_sym_SEMI] = ACTIONS(389), [anon_sym_SEMI_SEMI] = ACTIONS(389), [anon_sym_LF] = ACTIONS(389), [anon_sym_PIPE] = ACTIONS(389), [anon_sym_PIPE_AMP] = ACTIONS(389), [anon_sym_AMP_AMP] = ACTIONS(389), [anon_sym_PIPE_PIPE] = ACTIONS(389), [anon_sym_LT] = ACTIONS(389), [anon_sym_GT] = ACTIONS(389), [anon_sym_LT_AMP] = ACTIONS(389), [anon_sym_GT_AMP] = ACTIONS(389), [anon_sym_LT_LT] = ACTIONS(389), [anon_sym_LT_LT_DASH] = ACTIONS(389), [sym_file_descriptor] = ACTIONS(389), [sym_leading_word] = ACTIONS(389), [sym_comment] = ACTIONS(79), }, [108] = { [sym_file_descriptor] = ACTIONS(392), [sym_word] = ACTIONS(394), [sym_comment] = ACTIONS(47), }, [109] = { [sym_file_redirect] = STATE(48), [sym_heredoc_redirect] = STATE(48), [anon_sym_SEMI] = ACTIONS(396), [anon_sym_SEMI_SEMI] = ACTIONS(396), [anon_sym_LF] = ACTIONS(396), [anon_sym_PIPE] = ACTIONS(396), [anon_sym_PIPE_AMP] = ACTIONS(396), [anon_sym_AMP_AMP] = ACTIONS(396), [anon_sym_PIPE_PIPE] = ACTIONS(396), [anon_sym_LT] = ACTIONS(73), [anon_sym_GT] = ACTIONS(73), [anon_sym_LT_AMP] = ACTIONS(73), [anon_sym_GT_AMP] = ACTIONS(73), [anon_sym_LT_LT] = ACTIONS(75), [anon_sym_LT_LT_DASH] = ACTIONS(75), [sym_file_descriptor] = ACTIONS(77), [sym_comment] = ACTIONS(79), }, [110] = { [sym__heredoc_middle] = ACTIONS(285), [sym__heredoc_end] = ACTIONS(285), [anon_sym_SEMI] = ACTIONS(281), [anon_sym_SEMI_SEMI] = ACTIONS(281), [anon_sym_LF] = ACTIONS(281), [anon_sym_PIPE] = ACTIONS(281), [anon_sym_PIPE_AMP] = ACTIONS(281), [anon_sym_AMP_AMP] = ACTIONS(281), [anon_sym_PIPE_PIPE] = ACTIONS(281), [anon_sym_DOLLAR] = ACTIONS(281), [anon_sym_DOLLAR_LBRACE] = ACTIONS(281), [anon_sym_LT] = ACTIONS(281), [anon_sym_GT] = ACTIONS(281), [anon_sym_LT_AMP] = ACTIONS(281), [anon_sym_GT_AMP] = ACTIONS(281), [anon_sym_LT_LT] = ACTIONS(281), [anon_sym_LT_LT_DASH] = ACTIONS(281), [sym_file_descriptor] = ACTIONS(281), [sym_word] = ACTIONS(281), [sym_comment] = ACTIONS(79), }, [111] = { [sym__heredoc_middle] = ACTIONS(277), [sym__heredoc_end] = ACTIONS(277), [anon_sym_SEMI] = ACTIONS(253), [anon_sym_SEMI_SEMI] = ACTIONS(253), [anon_sym_LF] = ACTIONS(253), [anon_sym_PIPE] = ACTIONS(253), [anon_sym_PIPE_AMP] = ACTIONS(253), [anon_sym_AMP_AMP] = ACTIONS(253), [anon_sym_PIPE_PIPE] = ACTIONS(253), [anon_sym_DOLLAR] = ACTIONS(253), [anon_sym_DOLLAR_LBRACE] = ACTIONS(253), [anon_sym_LT] = ACTIONS(253), [anon_sym_GT] = ACTIONS(253), [anon_sym_LT_AMP] = ACTIONS(253), [anon_sym_GT_AMP] = ACTIONS(253), [anon_sym_LT_LT] = ACTIONS(253), [anon_sym_LT_LT_DASH] = ACTIONS(253), [sym_file_descriptor] = ACTIONS(253), [sym_word] = ACTIONS(253), [sym_comment] = ACTIONS(79), }, [112] = { [anon_sym_SEMI] = ACTIONS(169), [anon_sym_SEMI_SEMI] = ACTIONS(169), [anon_sym_LF] = ACTIONS(169), [anon_sym_PIPE] = ACTIONS(169), [anon_sym_PIPE_AMP] = ACTIONS(169), [anon_sym_AMP_AMP] = ACTIONS(169), [anon_sym_PIPE_PIPE] = ACTIONS(169), [anon_sym_LT] = ACTIONS(169), [anon_sym_GT] = ACTIONS(169), [anon_sym_LT_AMP] = ACTIONS(169), [anon_sym_GT_AMP] = ACTIONS(169), [anon_sym_LT_LT] = ACTIONS(169), [anon_sym_LT_LT_DASH] = ACTIONS(169), [sym_file_descriptor] = ACTIONS(169), [sym_leading_word] = ACTIONS(169), [sym_comment] = ACTIONS(79), }, [113] = { [anon_sym_SEMI] = ACTIONS(173), [anon_sym_SEMI_SEMI] = ACTIONS(173), [anon_sym_LF] = ACTIONS(173), [anon_sym_PIPE] = ACTIONS(173), [anon_sym_PIPE_AMP] = ACTIONS(173), [anon_sym_AMP_AMP] = ACTIONS(173), [anon_sym_PIPE_PIPE] = ACTIONS(173), [anon_sym_LT] = ACTIONS(173), [anon_sym_GT] = ACTIONS(173), [anon_sym_LT_AMP] = ACTIONS(173), [anon_sym_GT_AMP] = ACTIONS(173), [anon_sym_LT_LT] = ACTIONS(173), [anon_sym_LT_LT_DASH] = ACTIONS(173), [sym_file_descriptor] = ACTIONS(173), [sym_leading_word] = ACTIONS(173), [sym_comment] = ACTIONS(79), }, }; static TSParseActionEntry ts_parse_actions[] = { [0] = {.count = 0, .reusable = false, .depends_on_lookahead = false}, [1] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(44), [3] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(45), [5] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(91), [7] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(92), [9] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(0), [11] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, RECOVER(24), [13] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(24), [15] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(2), [17] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, RECOVER(30), [19] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(83), [21] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, RECOVER(25), [23] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(26), [25] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(84), [27] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, RECOVER(85), [29] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(86), [31] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, RECOVER(87), [33] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(87), [35] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(88), [37] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, RECOVER(89), [39] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(89), [41] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, RECOVER(20), [43] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(20), [45] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, RECOVER(90), [47] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT_EXTRA(), [49] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym_program, 0), [51] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(2), [53] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(3), [55] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(4), [57] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(5), [59] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(14), [61] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(15), [63] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(16), [65] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(16), [67] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_command, 1, .rename_sequence_id = 1), [69] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(17), [71] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(18), [73] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(19), [75] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(20), [77] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(21), [79] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT_EXTRA(), [81] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, ACCEPT_INPUT(), [83] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(aux_sym_program_repeat1, 1), [85] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_program_repeat1, 1), [87] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_program_repeat1, 1), [89] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(24), [91] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(25), [93] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(26), [95] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_command_repeat1, 1), [97] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_command_repeat1, 1), [99] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym_program, 1), [101] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(28), [103] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(30), [105] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(32), [107] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_file_redirect, 2), [109] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 2), [111] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_file_redirect, 2, .rename_sequence_id = 2), [113] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 2, .rename_sequence_id = 2), [115] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(33), [117] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(34), [119] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_command, 2, .rename_sequence_id = 3), [121] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(35), [123] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(36), [125] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(37), [127] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(41), [129] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(42), [131] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(43), [133] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(44), [135] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(45), [137] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(47), [139] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(47), [141] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_command_repeat3, 1), [143] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym__terminated_statement, 2), [145] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym__terminated_statement, 2), [147] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym__terminated_statement, 2), [149] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(aux_sym_program_repeat1, 2), [151] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_program_repeat1, 2), [153] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_program_repeat1, 2), [155] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_command, 2, .rename_sequence_id = 4), [157] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(51), [159] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_command_repeat1, 2), [161] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_command_repeat1, 2), [163] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(53), [165] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_while_statement, 3), [167] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_file_redirect, 3), [169] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 3), [171] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_file_redirect, 3, .rename_sequence_id = 5), [173] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 3, .rename_sequence_id = 5), [175] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(55), [177] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(56), [179] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_command_repeat2, 1, .rename_sequence_id = 6), [181] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_command_repeat2, 1), [183] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_command, 3, .rename_sequence_id = 7), [185] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(57), [187] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_environment_variable_assignment, 3, .rename_sequence_id = 8), [189] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_environment_variable_assignment, 3, .rename_sequence_id = 8), [191] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_heredoc, 1), [193] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(60), [195] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(61), [197] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(62), [199] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(63), [201] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_heredoc_redirect, 2), [203] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(65), [205] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(66), [207] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_command_repeat3, 2), [209] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_pipeline, 3, .fragile = true), [211] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_list, 3, .fragile = true), [213] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_command, 3, .rename_sequence_id = 9), [215] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_do_group, 2), [217] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(69), [219] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_expansion, 2, .rename_sequence_id = 10), [221] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(70), [223] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(70), [225] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(71), [227] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_command_repeat2, 2, .rename_sequence_id = 11), [229] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_command_repeat2, 2), [231] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_command, 4, .rename_sequence_id = 12), [233] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(aux_sym_heredoc_repeat1, 1), [235] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_heredoc_repeat1, 1), [237] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_heredoc, 2), [239] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(72), [241] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(73), [243] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(74), [245] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(75), [247] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_command, 4, .rename_sequence_id = 13), [249] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_do_group, 3), [251] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(77), [253] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_operator_expansion, 3, .rename_sequence_id = 14), [255] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym_expansion, 2, .rename_sequence_id = 10), [257] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_expansion, 2, .rename_sequence_id = 10), [259] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(78), [261] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(78), [263] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(79), [265] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(aux_sym_heredoc_repeat1, 2), [267] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_heredoc_repeat1, 2), [269] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_heredoc, 3), [271] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_command, 5, .rename_sequence_id = 15), [273] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(80), [275] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(81), [277] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym_operator_expansion, 3, .rename_sequence_id = 14), [279] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_operator_expansion, 3, .rename_sequence_id = 14), [281] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_operator_expansion, 5, .rename_sequence_id = 16), [283] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(82), [285] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym_operator_expansion, 5, .rename_sequence_id = 16), [287] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_operator_expansion, 5, .rename_sequence_id = 16), [289] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_do_group, 2), REDUCE(sym_do_group, 3), [292] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(102), [294] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(103), [296] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(104), [298] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(105), [300] = {.count = 2, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym_operator_expansion, 3, .rename_sequence_id = 14), REDUCE(sym_operator_expansion, 5, .rename_sequence_id = 16), [303] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_operator_expansion, 3, .rename_sequence_id = 14), REDUCE(sym_operator_expansion, 5, .rename_sequence_id = 16), [306] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(106), [308] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(107), [310] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 2), REDUCE(sym_file_redirect, 3), [313] = {.count = 3, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 2), REDUCE(sym_file_redirect, 3), SHIFT(108), [317] = {.count = 2, .reusable = true, .depends_on_lookahead = false}, REDUCE(aux_sym_heredoc_repeat1, 1), REDUCE(aux_sym_heredoc_repeat1, 2), [320] = {.count = 2, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_heredoc_repeat1, 1), REDUCE(aux_sym_heredoc_repeat1, 2), [323] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_heredoc, 2), REDUCE(sym_heredoc, 3), [326] = {.count = 2, .reusable = true, .depends_on_lookahead = false}, REDUCE(aux_sym_program_repeat1, 1), REDUCE(aux_sym_program_repeat1, 2), [329] = {.count = 2, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_program_repeat1, 1), REDUCE(aux_sym_program_repeat1, 2), [332] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(30), [334] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_program_repeat1, 1), REDUCE(aux_sym_program_repeat1, 2), [337] = {.count = 3, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_pipeline, 3, .fragile = true), REDUCE(sym_list, 3, .fragile = true), SHIFT(24), [341] = {.count = 3, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_pipeline, 3, .fragile = true), REDUCE(sym_list, 3, .fragile = true), SHIFT(25), [345] = {.count = 3, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_pipeline, 3, .fragile = true), REDUCE(sym_list, 3, .fragile = true), SHIFT(26), [349] = {.count = 2, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_command_repeat1, 1), REDUCE(aux_sym_command_repeat1, 2), [352] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_command_repeat1, 1), REDUCE(aux_sym_command_repeat1, 2), [355] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_command_repeat2, 1), REDUCE(aux_sym_command_repeat2, 2), [358] = {.count = 4, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_command_repeat2, 1), REDUCE(aux_sym_heredoc_repeat1, 1), REDUCE(aux_sym_command_repeat2, 2), REDUCE(aux_sym_heredoc_repeat1, 2), [363] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_command_repeat3, 1), REDUCE(aux_sym_command_repeat3, 2), [366] = {.count = 4, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_command_repeat1, 1), REDUCE(aux_sym_command_repeat3, 1), REDUCE(aux_sym_command_repeat1, 2), REDUCE(aux_sym_command_repeat3, 2), [371] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_command, 3, .rename_sequence_id = 7), REDUCE(sym_command, 4, .rename_sequence_id = 13), [374] = {.count = 6, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_command, 2, .rename_sequence_id = 3), REDUCE(sym_command, 3, .rename_sequence_id = 9), REDUCE(sym_command, 3, .rename_sequence_id = 7), REDUCE(sym_command, 4, .rename_sequence_id = 13), REDUCE(sym_command, 4, .rename_sequence_id = 12), REDUCE(sym_command, 5, .rename_sequence_id = 15), [381] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(110), [383] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(87), [385] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(87), [387] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(111), [389] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 2, .rename_sequence_id = 2), REDUCE(sym_file_redirect, 3, .rename_sequence_id = 5), [392] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(112), [394] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(113), [396] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_command, 4, .rename_sequence_id = 12), REDUCE(sym_command, 5, .rename_sequence_id = 15), }; void *tree_sitter_bash_external_scanner_create(); void tree_sitter_bash_external_scanner_destroy(); void tree_sitter_bash_external_scanner_reset(void *); bool tree_sitter_bash_external_scanner_scan(void *, TSLexer *, const bool *); bool tree_sitter_bash_external_scanner_serialize(void *, TSExternalTokenState); void tree_sitter_bash_external_scanner_deserialize(void *, const TSExternalTokenState); const TSLanguage *tree_sitter_bash() { GET_LANGUAGE( (const bool *)ts_external_scanner_states, ts_external_scanner_symbol_map, tree_sitter_bash_external_scanner_create, tree_sitter_bash_external_scanner_destroy, tree_sitter_bash_external_scanner_reset, tree_sitter_bash_external_scanner_scan, tree_sitter_bash_external_scanner_serialize, tree_sitter_bash_external_scanner_deserialize, ); }