#include #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wmissing-field-initializers" #define LANGUAGE_VERSION 3 #define STATE_COUNT 106 #define SYMBOL_COUNT 44 #define TOKEN_COUNT 28 #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, aux_sym_SLASH_BSLASHs_PLUS_SLASH = 5, anon_sym_PIPE = 6, anon_sym_PIPE_AMP = 7, anon_sym_AMP_AMP = 8, anon_sym_SEMI = 9, anon_sym_EQ = 10, anon_sym_DOLLAR = 11, anon_sym_DOLLAR_LBRACE = 12, anon_sym_COLON = 13, anon_sym_COLON_QMARK = 14, anon_sym_RBRACE = 15, anon_sym_LT = 16, anon_sym_GT = 17, anon_sym_LT_AMP = 18, anon_sym_GT_AMP = 19, anon_sym_LT_LT = 20, anon_sym_LT_LT_DASH = 21, sym_file_descriptor = 22, sym_leading_word = 23, sym_word = 24, anon_sym_LF = 25, anon_sym_SEMI_SEMI = 26, sym_comment = 27, sym_program = 28, sym_command = 29, sym_simple_command = 30, sym_pipeline = 31, sym_list = 32, sym_environment_variable_assignment = 33, sym_expansion = 34, sym_operator_expansion = 35, sym_file_redirect = 36, sym_heredoc_redirect = 37, sym_heredoc = 38, aux_sym_program_repeat1 = 39, aux_sym_simple_command_repeat1 = 40, aux_sym_simple_command_repeat2 = 41, aux_sym_simple_command_repeat3 = 42, aux_sym_heredoc_repeat1 = 43, rename_sym_1 = 44, rename_sym_argument = 45, rename_sym_command_name = 46, rename_sym_file_name = 47, rename_sym_variable_name = 48, }; 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", [aux_sym_SLASH_BSLASHs_PLUS_SLASH] = "/\\s+/", [anon_sym_PIPE] = "|", [anon_sym_PIPE_AMP] = "|&", [anon_sym_AMP_AMP] = "&&", [anon_sym_SEMI] = ";", [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", [anon_sym_LF] = "\n", [anon_sym_SEMI_SEMI] = ";;", [sym_comment] = "comment", [sym_program] = "program", [sym_command] = "command", [sym_simple_command] = "simple_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_simple_command_repeat1] = "simple_command_repeat1", [aux_sym_simple_command_repeat2] = "simple_command_repeat2", [aux_sym_simple_command_repeat3] = "simple_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, }, [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_SEMI] = { .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, }, [anon_sym_LF] = { .visible = true, .named = false, .structural = true, .extra = false, }, [anon_sym_SEMI_SEMI] = { .visible = true, .named = false, .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_command] = { .visible = true, .named = true, .structural = true, .extra = false, }, [sym_simple_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_simple_command_repeat1] = { .visible = false, .named = false, .structural = true, .extra = false, }, [aux_sym_simple_command_repeat2] = { .visible = false, .named = false, .structural = true, .extra = false, }, [aux_sym_simple_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 == '|') ADVANCE(19); if (lookahead == '}') ADVANCE(20); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(0); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(21); 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: ACCEPT_TOKEN(anon_sym_PIPE); END_STATE(); case 20: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 21: ACCEPT_TOKEN(sym_file_descriptor); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(21); END_STATE(); case 22: if (lookahead == 0) ADVANCE(1); if (lookahead == '#') ADVANCE(2); if (lookahead == '<') ADVANCE(23); if (lookahead == '>') ADVANCE(26); if (lookahead == '\\') SKIP(28); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(22); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(29); if ((lookahead < '0' || lookahead > '>') && (lookahead < '{' || lookahead > '}')) ADVANCE(25); END_STATE(); case 23: ACCEPT_TOKEN(anon_sym_LT); if (lookahead == '&') ADVANCE(24); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(25); END_STATE(); case 24: ACCEPT_TOKEN(anon_sym_LT_AMP); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(25); END_STATE(); case 25: ACCEPT_TOKEN(sym_leading_word); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(25); END_STATE(); case 26: ACCEPT_TOKEN(anon_sym_GT); if (lookahead == '&') ADVANCE(27); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(25); END_STATE(); case 27: ACCEPT_TOKEN(anon_sym_GT_AMP); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(25); END_STATE(); case 28: if (lookahead == '\n') SKIP(22); END_STATE(); case 29: ACCEPT_TOKEN(sym_file_descriptor); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(29); END_STATE(); case 30: if (lookahead == '#') ADVANCE(2); if (lookahead == '\\') SKIP(31); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(30); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(32); if (lookahead != 0 && lookahead != '#' && lookahead != '$' && lookahead != '&' && lookahead != '<' && lookahead != '>' && lookahead != '{' && lookahead != '}') ADVANCE(33); END_STATE(); case 31: if (lookahead == '\n') SKIP(30); END_STATE(); case 32: ACCEPT_TOKEN(sym_file_descriptor); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(32); END_STATE(); case 33: ACCEPT_TOKEN(sym_word); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != '$' && lookahead != '&' && lookahead != '<' && lookahead != '>' && lookahead != '\\' && lookahead != '{' && lookahead != '}') ADVANCE(33); END_STATE(); case 34: if (lookahead == '#') ADVANCE(2); if (lookahead == '<') ADVANCE(35); if (lookahead == '>') ADVANCE(16); if (lookahead == '\\') SKIP(36); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(34); END_STATE(); case 35: ACCEPT_TOKEN(anon_sym_LT); if (lookahead == '&') ADVANCE(12); END_STATE(); case 36: if (lookahead == '\n') SKIP(34); END_STATE(); case 37: if (lookahead == '\n') ADVANCE(38); 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(40); if (lookahead == '|') ADVANCE(41); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') ADVANCE(39); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(21); END_STATE(); case 38: ACCEPT_TOKEN(anon_sym_LF); if (lookahead == '\n') ADVANCE(38); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') ADVANCE(39); END_STATE(); case 39: ACCEPT_TOKEN(aux_sym_SLASH_BSLASHs_PLUS_SLASH); if (lookahead == '\n') ADVANCE(38); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') ADVANCE(39); END_STATE(); case 40: if (lookahead == '\n') SKIP(37); END_STATE(); case 41: ACCEPT_TOKEN(anon_sym_PIPE); if (lookahead == '&') ADVANCE(42); END_STATE(); case 42: ACCEPT_TOKEN(anon_sym_PIPE_AMP); END_STATE(); case 43: if (lookahead == 0) ADVANCE(1); if (lookahead == '#') ADVANCE(2); if (lookahead == '\\') SKIP(44); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(43); END_STATE(); case 44: if (lookahead == '\n') SKIP(43); END_STATE(); case 45: if (lookahead == '\n') ADVANCE(46); if (lookahead == '#') ADVANCE(2); if (lookahead == '&') ADVANCE(5); if (lookahead == ';') ADVANCE(9); if (lookahead == '\\') SKIP(47); if (lookahead == '|') ADVANCE(41); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') SKIP(45); END_STATE(); case 46: ACCEPT_TOKEN(anon_sym_LF); END_STATE(); case 47: if (lookahead == '\n') SKIP(45); END_STATE(); case 48: if (lookahead == '\n') ADVANCE(46); if (lookahead == '#') ADVANCE(2); if (lookahead == '&') ADVANCE(5); if (lookahead == ';') ADVANCE(9); if (lookahead == '\\') SKIP(49); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') SKIP(48); END_STATE(); case 49: if (lookahead == '\n') SKIP(48); END_STATE(); case 50: if (lookahead == '#') ADVANCE(2); if (lookahead == '<') ADVANCE(23); if (lookahead == '>') ADVANCE(26); if (lookahead == '\\') SKIP(51); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(50); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(29); if (lookahead != 0 && (lookahead < '0' || lookahead > '>') && (lookahead < '{' || lookahead > '}')) ADVANCE(25); END_STATE(); case 51: if (lookahead == '\n') SKIP(50); END_STATE(); case 52: if (lookahead == '\n') ADVANCE(46); if (lookahead == '#') ADVANCE(2); if (lookahead == '$') ADVANCE(3); if (lookahead == '&') ADVANCE(5); if (lookahead == ';') ADVANCE(53); if (lookahead == '<') ADVANCE(11); if (lookahead == '>') ADVANCE(16); if (lookahead == '\\') SKIP(55); if (lookahead == '|') ADVANCE(56); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') SKIP(52); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(32); if (lookahead != 0 && (lookahead < '{' || lookahead > '}')) ADVANCE(33); END_STATE(); case 53: ACCEPT_TOKEN(anon_sym_SEMI); if (lookahead == ';') ADVANCE(54); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != '$' && lookahead != '&' && lookahead != ';' && lookahead != '<' && lookahead != '>' && lookahead != '\\' && lookahead != '{' && lookahead != '}') ADVANCE(33); END_STATE(); case 54: ACCEPT_TOKEN(anon_sym_SEMI_SEMI); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != '$' && lookahead != '&' && lookahead != '<' && lookahead != '>' && lookahead != '\\' && lookahead != '{' && lookahead != '}') ADVANCE(33); END_STATE(); case 55: if (lookahead == '\n') SKIP(52); END_STATE(); case 56: ACCEPT_TOKEN(anon_sym_PIPE); if (lookahead == '&') ADVANCE(42); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != '$' && lookahead != '<' && lookahead != '>' && lookahead != '\\' && lookahead != '{' && lookahead != '}') ADVANCE(33); END_STATE(); case 57: if (lookahead == '#') ADVANCE(2); if (lookahead == '\\') SKIP(58); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(57); if (lookahead != 0 && lookahead != '#' && lookahead != '$' && lookahead != '&' && lookahead != '<' && lookahead != '>' && lookahead != '{' && lookahead != '}') ADVANCE(33); END_STATE(); case 58: if (lookahead == '\n') SKIP(57); END_STATE(); case 59: if (lookahead == '#') ADVANCE(2); if (lookahead == '\\') SKIP(60); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(59); END_STATE(); case 60: if (lookahead == '\n') SKIP(59); END_STATE(); case 61: if (lookahead == '\n') ADVANCE(46); if (lookahead == '#') ADVANCE(2); if (lookahead == '&') ADVANCE(5); if (lookahead == ';') ADVANCE(9); if (lookahead == '<') ADVANCE(11); if (lookahead == '>') ADVANCE(16); if (lookahead == '\\') SKIP(62); if (lookahead == '|') ADVANCE(41); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') SKIP(61); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(21); END_STATE(); case 62: if (lookahead == '\n') SKIP(61); END_STATE(); case 63: if (lookahead == '#') ADVANCE(2); if (lookahead == '\\') SKIP(64); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(63); if (lookahead != 0 && lookahead != ':' && lookahead != ';' && lookahead != '=' && (lookahead < '{' || lookahead > '}')) ADVANCE(25); END_STATE(); case 64: if (lookahead == '\n') SKIP(63); END_STATE(); case 65: if (lookahead == '#') ADVANCE(2); if (lookahead == '$') ADVANCE(3); if (lookahead == '\\') SKIP(66); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(65); END_STATE(); case 66: if (lookahead == '\n') SKIP(65); END_STATE(); case 67: if (lookahead == '#') ADVANCE(2); if (lookahead == ':') ADVANCE(7); if (lookahead == '=') ADVANCE(15); if (lookahead == '\\') SKIP(68); if (lookahead == '}') ADVANCE(20); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(67); END_STATE(); case 68: if (lookahead == '\n') SKIP(67); END_STATE(); case 69: if (lookahead == '#') ADVANCE(2); if (lookahead == '\\') SKIP(70); if (lookahead == '}') ADVANCE(20); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(69); END_STATE(); case 70: if (lookahead == '\n') SKIP(69); END_STATE(); case 71: if (lookahead == '\n') ADVANCE(46); if (lookahead == '#') ADVANCE(2); if (lookahead == '&') ADVANCE(72); if (lookahead == ';') ADVANCE(9); if (lookahead == '<') ADVANCE(74); if (lookahead == '>') ADVANCE(26); if (lookahead == '\\') SKIP(77); if (lookahead == '|') ADVANCE(41); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') SKIP(71); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(29); if (lookahead != 0 && (lookahead < '0' || lookahead > '>') && (lookahead < '{' || lookahead > '}')) ADVANCE(25); END_STATE(); case 72: ACCEPT_TOKEN(sym_leading_word); if (lookahead == '&') ADVANCE(73); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(25); END_STATE(); case 73: ACCEPT_TOKEN(anon_sym_AMP_AMP); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(25); END_STATE(); case 74: ACCEPT_TOKEN(anon_sym_LT); if (lookahead == '&') ADVANCE(24); if (lookahead == '<') ADVANCE(75); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && (lookahead < ':' || lookahead > '=') && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(25); END_STATE(); case 75: ACCEPT_TOKEN(anon_sym_LT_LT); if (lookahead == '-') ADVANCE(76); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && lookahead != '\\' && (lookahead < '{' || lookahead > '}')) ADVANCE(25); END_STATE(); case 76: 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(25); END_STATE(); case 77: if (lookahead == '\n') SKIP(71); END_STATE(); case 78: if (lookahead == '#') ADVANCE(2); if (lookahead == '<') ADVANCE(23); if (lookahead == '>') ADVANCE(26); if (lookahead == '\\') SKIP(79); if (lookahead == '}') ADVANCE(20); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(78); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(29); if (lookahead != 0 && (lookahead < '0' || lookahead > '>') && (lookahead < '{' || lookahead > '}')) ADVANCE(25); END_STATE(); case 79: if (lookahead == '\n') SKIP(78); END_STATE(); default: return false; } } static TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0, .external_lex_state = 1}, [1] = {.lex_state = 22}, [2] = {.lex_state = 30}, [3] = {.lex_state = 34}, [4] = {.lex_state = 37}, [5] = {.lex_state = 43}, [6] = {.lex_state = 22}, [7] = {.lex_state = 45}, [8] = {.lex_state = 48}, [9] = {.lex_state = 50}, [10] = {.lex_state = 22}, [11] = {.lex_state = 50}, [12] = {.lex_state = 50}, [13] = {.lex_state = 50}, [14] = {.lex_state = 30}, [15] = {.lex_state = 52}, [16] = {.lex_state = 57}, [17] = {.lex_state = 30}, [18] = {.lex_state = 59, .external_lex_state = 2}, [19] = {.lex_state = 34}, [20] = {.lex_state = 61}, [21] = {.lex_state = 61}, [22] = {.lex_state = 50}, [23] = {.lex_state = 50}, [24] = {.lex_state = 22}, [25] = {.lex_state = 22}, [26] = {.lex_state = 37}, [27] = {.lex_state = 50}, [28] = {.lex_state = 50}, [29] = {.lex_state = 50}, [30] = {.lex_state = 57}, [31] = {.lex_state = 63}, [32] = {.lex_state = 52}, [33] = {.lex_state = 52}, [34] = {.lex_state = 52}, [35] = {.lex_state = 61}, [36] = {.lex_state = 50}, [37] = {.lex_state = 61}, [38] = {.lex_state = 61}, [39] = {.lex_state = 61}, [40] = {.lex_state = 65, .external_lex_state = 3}, [41] = {.lex_state = 61}, [42] = {.lex_state = 30}, [43] = {.lex_state = 61}, [44] = {.lex_state = 48}, [45] = {.lex_state = 45}, [46] = {.lex_state = 48}, [47] = {.lex_state = 52}, [48] = {.lex_state = 61}, [49] = {.lex_state = 52}, [50] = {.lex_state = 67}, [51] = {.lex_state = 52}, [52] = {.lex_state = 52}, [53] = {.lex_state = 61}, [54] = {.lex_state = 65, .external_lex_state = 3}, [55] = {.lex_state = 61}, [56] = {.lex_state = 57}, [57] = {.lex_state = 63}, [58] = {.lex_state = 65, .external_lex_state = 3}, [59] = {.lex_state = 61}, [60] = {.lex_state = 61}, [61] = {.lex_state = 52}, [62] = {.lex_state = 61}, [63] = {.lex_state = 57}, [64] = {.lex_state = 52}, [65] = {.lex_state = 65, .external_lex_state = 3}, [66] = {.lex_state = 67}, [67] = {.lex_state = 65, .external_lex_state = 3}, [68] = {.lex_state = 61}, [69] = {.lex_state = 61}, [70] = {.lex_state = 69}, [71] = {.lex_state = 57}, [72] = {.lex_state = 65, .external_lex_state = 3}, [73] = {.lex_state = 52}, [74] = {.lex_state = 69}, [75] = {.lex_state = 65, .external_lex_state = 3}, [76] = {.lex_state = 57}, [77] = {.lex_state = 57}, [78] = {.lex_state = 63}, [79] = {.lex_state = 57}, [80] = {.lex_state = 52, .external_lex_state = 3}, [81] = {.lex_state = 30}, [82] = {.lex_state = 71}, [83] = {.lex_state = 65, .external_lex_state = 3}, [84] = {.lex_state = 61}, [85] = {.lex_state = 22}, [86] = {.lex_state = 45}, [87] = {.lex_state = 48}, [88] = {.lex_state = 50}, [89] = {.lex_state = 52, .external_lex_state = 3}, [90] = {.lex_state = 71}, [91] = {.lex_state = 61}, [92] = {.lex_state = 52}, [93] = {.lex_state = 61}, [94] = {.lex_state = 78}, [95] = {.lex_state = 52, .external_lex_state = 3}, [96] = {.lex_state = 67}, [97] = {.lex_state = 69}, [98] = {.lex_state = 71}, [99] = {.lex_state = 71}, [100] = {.lex_state = 30}, [101] = {.lex_state = 61}, [102] = {.lex_state = 52, .external_lex_state = 3}, [103] = {.lex_state = 52, .external_lex_state = 3}, [104] = {.lex_state = 71}, [105] = {.lex_state = 71}, }; 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(5), [sym_command] = STATE(85), [sym_simple_command] = STATE(86), [sym_pipeline] = STATE(87), [sym_list] = STATE(8), [sym_environment_variable_assignment] = STATE(88), [sym_expansion] = STATE(89), [sym_operator_expansion] = STATE(89), [sym_file_redirect] = STATE(90), [sym_heredoc_redirect] = STATE(91), [sym_heredoc] = STATE(41), [aux_sym_program_repeat1] = STATE(10), [aux_sym_simple_command_repeat1] = STATE(11), [aux_sym_simple_command_repeat2] = STATE(92), [aux_sym_simple_command_repeat3] = STATE(93), [aux_sym_heredoc_repeat1] = STATE(58), [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_PIPE] = ACTIONS(11), [anon_sym_AMP_AMP] = ACTIONS(13), [anon_sym_SEMI] = ACTIONS(15), [anon_sym_EQ] = ACTIONS(17), [anon_sym_DOLLAR] = ACTIONS(19), [anon_sym_DOLLAR_LBRACE] = ACTIONS(21), [anon_sym_COLON] = ACTIONS(23), [anon_sym_COLON_QMARK] = ACTIONS(25), [anon_sym_RBRACE] = ACTIONS(27), [anon_sym_LT] = ACTIONS(29), [anon_sym_GT] = ACTIONS(29), [anon_sym_LT_AMP] = ACTIONS(31), [anon_sym_GT_AMP] = ACTIONS(31), [anon_sym_LT_LT] = ACTIONS(33), [anon_sym_LT_LT_DASH] = ACTIONS(35), [sym_file_descriptor] = ACTIONS(37), [anon_sym_SEMI_SEMI] = ACTIONS(39), [sym_comment] = ACTIONS(41), }, [1] = { [sym_program] = STATE(5), [sym_command] = STATE(6), [sym_simple_command] = STATE(7), [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_simple_command_repeat1] = STATE(11), [ts_builtin_sym_end] = ACTIONS(43), [anon_sym_LT] = ACTIONS(45), [anon_sym_GT] = ACTIONS(45), [anon_sym_LT_AMP] = ACTIONS(45), [anon_sym_GT_AMP] = ACTIONS(45), [sym_file_descriptor] = ACTIONS(47), [sym_leading_word] = ACTIONS(49), [sym_comment] = ACTIONS(41), }, [2] = { [sym_file_descriptor] = ACTIONS(51), [sym_word] = ACTIONS(53), [sym_comment] = ACTIONS(41), }, [3] = { [anon_sym_LT] = ACTIONS(55), [anon_sym_GT] = ACTIONS(55), [anon_sym_LT_AMP] = ACTIONS(57), [anon_sym_GT_AMP] = ACTIONS(57), [sym_comment] = ACTIONS(41), }, [4] = { [sym_file_redirect] = STATE(20), [sym_heredoc_redirect] = STATE(20), [aux_sym_simple_command_repeat3] = STATE(21), [aux_sym_SLASH_BSLASHs_PLUS_SLASH] = ACTIONS(59), [anon_sym_PIPE] = ACTIONS(61), [anon_sym_PIPE_AMP] = ACTIONS(61), [anon_sym_AMP_AMP] = ACTIONS(61), [anon_sym_SEMI] = ACTIONS(61), [anon_sym_EQ] = ACTIONS(63), [anon_sym_LT] = ACTIONS(65), [anon_sym_GT] = ACTIONS(65), [anon_sym_LT_AMP] = ACTIONS(65), [anon_sym_GT_AMP] = ACTIONS(65), [anon_sym_LT_LT] = ACTIONS(67), [anon_sym_LT_LT_DASH] = ACTIONS(67), [sym_file_descriptor] = ACTIONS(69), [anon_sym_LF] = ACTIONS(61), [anon_sym_SEMI_SEMI] = ACTIONS(61), [sym_comment] = ACTIONS(71), }, [5] = { [ts_builtin_sym_end] = ACTIONS(73), [sym_comment] = ACTIONS(41), }, [6] = { [ts_builtin_sym_end] = ACTIONS(75), [anon_sym_LT] = ACTIONS(77), [anon_sym_GT] = ACTIONS(77), [anon_sym_LT_AMP] = ACTIONS(77), [anon_sym_GT_AMP] = ACTIONS(77), [sym_file_descriptor] = ACTIONS(77), [sym_leading_word] = ACTIONS(79), [sym_comment] = ACTIONS(41), }, [7] = { [anon_sym_PIPE] = ACTIONS(81), [anon_sym_PIPE_AMP] = ACTIONS(81), [anon_sym_AMP_AMP] = ACTIONS(83), [anon_sym_SEMI] = ACTIONS(83), [anon_sym_LF] = ACTIONS(85), [anon_sym_SEMI_SEMI] = ACTIONS(85), [sym_comment] = ACTIONS(71), }, [8] = { [anon_sym_AMP_AMP] = ACTIONS(83), [anon_sym_SEMI] = ACTIONS(83), [anon_sym_LF] = ACTIONS(85), [anon_sym_SEMI_SEMI] = ACTIONS(85), [sym_comment] = ACTIONS(71), }, [9] = { [anon_sym_LT] = ACTIONS(87), [anon_sym_GT] = ACTIONS(87), [anon_sym_LT_AMP] = ACTIONS(87), [anon_sym_GT_AMP] = ACTIONS(87), [sym_file_descriptor] = ACTIONS(87), [sym_leading_word] = ACTIONS(89), [sym_comment] = ACTIONS(41), }, [10] = { [sym_command] = STATE(25), [sym_simple_command] = STATE(7), [sym_pipeline] = STATE(8), [sym_list] = STATE(8), [sym_environment_variable_assignment] = STATE(9), [sym_file_redirect] = STATE(9), [aux_sym_simple_command_repeat1] = STATE(11), [ts_builtin_sym_end] = ACTIONS(91), [anon_sym_LT] = ACTIONS(45), [anon_sym_GT] = ACTIONS(45), [anon_sym_LT_AMP] = ACTIONS(45), [anon_sym_GT_AMP] = ACTIONS(45), [sym_file_descriptor] = ACTIONS(47), [sym_leading_word] = ACTIONS(49), [sym_comment] = ACTIONS(41), }, [11] = { [sym_environment_variable_assignment] = STATE(27), [sym_file_redirect] = STATE(27), [anon_sym_LT] = ACTIONS(45), [anon_sym_GT] = ACTIONS(45), [anon_sym_LT_AMP] = ACTIONS(45), [anon_sym_GT_AMP] = ACTIONS(45), [sym_file_descriptor] = ACTIONS(47), [sym_leading_word] = ACTIONS(93), [sym_comment] = ACTIONS(41), }, [12] = { [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(41), }, [13] = { [anon_sym_LT] = ACTIONS(99), [anon_sym_GT] = ACTIONS(99), [anon_sym_LT_AMP] = ACTIONS(99), [anon_sym_GT_AMP] = ACTIONS(99), [sym_file_descriptor] = ACTIONS(99), [sym_leading_word] = ACTIONS(101), [sym_comment] = ACTIONS(41), }, [14] = { [sym_file_descriptor] = ACTIONS(103), [sym_word] = ACTIONS(105), [sym_comment] = ACTIONS(41), }, [15] = { [sym_expansion] = STATE(33), [sym_operator_expansion] = STATE(33), [sym_file_redirect] = STATE(20), [sym_heredoc_redirect] = STATE(20), [aux_sym_simple_command_repeat2] = STATE(34), [aux_sym_simple_command_repeat3] = STATE(35), [anon_sym_PIPE] = ACTIONS(107), [anon_sym_PIPE_AMP] = ACTIONS(107), [anon_sym_AMP_AMP] = ACTIONS(107), [anon_sym_SEMI] = ACTIONS(107), [anon_sym_DOLLAR] = ACTIONS(109), [anon_sym_DOLLAR_LBRACE] = ACTIONS(111), [anon_sym_LT] = ACTIONS(65), [anon_sym_GT] = ACTIONS(65), [anon_sym_LT_AMP] = ACTIONS(65), [anon_sym_GT_AMP] = ACTIONS(65), [anon_sym_LT_LT] = ACTIONS(67), [anon_sym_LT_LT_DASH] = ACTIONS(67), [sym_file_descriptor] = ACTIONS(69), [sym_word] = ACTIONS(113), [anon_sym_LF] = ACTIONS(107), [anon_sym_SEMI_SEMI] = ACTIONS(107), [sym_comment] = ACTIONS(71), }, [16] = { [sym_word] = ACTIONS(115), [sym_comment] = ACTIONS(41), }, [17] = { [sym_file_descriptor] = ACTIONS(117), [sym_word] = ACTIONS(119), [sym_comment] = ACTIONS(41), }, [18] = { [sym_heredoc] = STATE(41), [sym__simple_heredoc] = ACTIONS(121), [sym__heredoc_beginning] = ACTIONS(123), [sym_comment] = ACTIONS(41), }, [19] = { [anon_sym_LT] = ACTIONS(125), [anon_sym_GT] = ACTIONS(125), [anon_sym_LT_AMP] = ACTIONS(127), [anon_sym_GT_AMP] = ACTIONS(127), [sym_comment] = ACTIONS(41), }, [20] = { [anon_sym_PIPE] = ACTIONS(129), [anon_sym_PIPE_AMP] = ACTIONS(129), [anon_sym_AMP_AMP] = ACTIONS(129), [anon_sym_SEMI] = ACTIONS(129), [anon_sym_LT] = ACTIONS(129), [anon_sym_GT] = ACTIONS(129), [anon_sym_LT_AMP] = ACTIONS(129), [anon_sym_GT_AMP] = ACTIONS(129), [anon_sym_LT_LT] = ACTIONS(129), [anon_sym_LT_LT_DASH] = ACTIONS(129), [sym_file_descriptor] = ACTIONS(129), [anon_sym_LF] = ACTIONS(129), [anon_sym_SEMI_SEMI] = ACTIONS(129), [sym_comment] = ACTIONS(71), }, [21] = { [sym_file_redirect] = STATE(43), [sym_heredoc_redirect] = STATE(43), [anon_sym_PIPE] = ACTIONS(107), [anon_sym_PIPE_AMP] = ACTIONS(107), [anon_sym_AMP_AMP] = ACTIONS(107), [anon_sym_SEMI] = ACTIONS(107), [anon_sym_LT] = ACTIONS(65), [anon_sym_GT] = ACTIONS(65), [anon_sym_LT_AMP] = ACTIONS(65), [anon_sym_GT_AMP] = ACTIONS(65), [anon_sym_LT_LT] = ACTIONS(67), [anon_sym_LT_LT_DASH] = ACTIONS(67), [sym_file_descriptor] = ACTIONS(69), [anon_sym_LF] = ACTIONS(107), [anon_sym_SEMI_SEMI] = ACTIONS(107), [sym_comment] = ACTIONS(71), }, [22] = { [sym_simple_command] = STATE(44), [sym_environment_variable_assignment] = STATE(9), [sym_file_redirect] = STATE(9), [aux_sym_simple_command_repeat1] = STATE(11), [anon_sym_LT] = ACTIONS(45), [anon_sym_GT] = ACTIONS(45), [anon_sym_LT_AMP] = ACTIONS(45), [anon_sym_GT_AMP] = ACTIONS(45), [sym_file_descriptor] = ACTIONS(47), [sym_leading_word] = ACTIONS(49), [sym_comment] = ACTIONS(41), }, [23] = { [sym_simple_command] = STATE(45), [sym_pipeline] = STATE(46), [sym_environment_variable_assignment] = STATE(9), [sym_file_redirect] = STATE(9), [aux_sym_simple_command_repeat1] = STATE(11), [anon_sym_LT] = ACTIONS(45), [anon_sym_GT] = ACTIONS(45), [anon_sym_LT_AMP] = ACTIONS(45), [anon_sym_GT_AMP] = ACTIONS(45), [sym_file_descriptor] = ACTIONS(47), [sym_leading_word] = ACTIONS(49), [sym_comment] = ACTIONS(41), }, [24] = { [ts_builtin_sym_end] = ACTIONS(131), [anon_sym_LT] = ACTIONS(133), [anon_sym_GT] = ACTIONS(133), [anon_sym_LT_AMP] = ACTIONS(133), [anon_sym_GT_AMP] = ACTIONS(133), [sym_file_descriptor] = ACTIONS(133), [sym_leading_word] = ACTIONS(135), [sym_comment] = ACTIONS(41), }, [25] = { [ts_builtin_sym_end] = ACTIONS(137), [anon_sym_LT] = ACTIONS(139), [anon_sym_GT] = ACTIONS(139), [anon_sym_LT_AMP] = ACTIONS(139), [anon_sym_GT_AMP] = ACTIONS(139), [sym_file_descriptor] = ACTIONS(139), [sym_leading_word] = ACTIONS(141), [sym_comment] = ACTIONS(41), }, [26] = { [sym_file_redirect] = STATE(20), [sym_heredoc_redirect] = STATE(20), [aux_sym_simple_command_repeat3] = STATE(48), [aux_sym_SLASH_BSLASHs_PLUS_SLASH] = ACTIONS(143), [anon_sym_PIPE] = ACTIONS(145), [anon_sym_PIPE_AMP] = ACTIONS(145), [anon_sym_AMP_AMP] = ACTIONS(145), [anon_sym_SEMI] = ACTIONS(145), [anon_sym_EQ] = ACTIONS(63), [anon_sym_LT] = ACTIONS(65), [anon_sym_GT] = ACTIONS(65), [anon_sym_LT_AMP] = ACTIONS(65), [anon_sym_GT_AMP] = ACTIONS(65), [anon_sym_LT_LT] = ACTIONS(67), [anon_sym_LT_LT_DASH] = ACTIONS(67), [sym_file_descriptor] = ACTIONS(69), [anon_sym_LF] = ACTIONS(145), [anon_sym_SEMI_SEMI] = ACTIONS(145), [sym_comment] = ACTIONS(71), }, [27] = { [anon_sym_LT] = ACTIONS(147), [anon_sym_GT] = ACTIONS(147), [anon_sym_LT_AMP] = ACTIONS(147), [anon_sym_GT_AMP] = ACTIONS(147), [sym_file_descriptor] = ACTIONS(147), [sym_leading_word] = ACTIONS(149), [sym_comment] = ACTIONS(41), }, [28] = { [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(41), }, [29] = { [anon_sym_LT] = ACTIONS(155), [anon_sym_GT] = ACTIONS(155), [anon_sym_LT_AMP] = ACTIONS(155), [anon_sym_GT_AMP] = ACTIONS(155), [sym_file_descriptor] = ACTIONS(155), [sym_leading_word] = ACTIONS(157), [sym_comment] = ACTIONS(41), }, [30] = { [sym_word] = ACTIONS(159), [sym_comment] = ACTIONS(41), }, [31] = { [sym_leading_word] = ACTIONS(161), [sym_comment] = ACTIONS(41), }, [32] = { [anon_sym_PIPE] = ACTIONS(163), [anon_sym_PIPE_AMP] = ACTIONS(163), [anon_sym_AMP_AMP] = ACTIONS(163), [anon_sym_SEMI] = ACTIONS(163), [anon_sym_DOLLAR] = ACTIONS(163), [anon_sym_DOLLAR_LBRACE] = ACTIONS(163), [anon_sym_LT] = ACTIONS(163), [anon_sym_GT] = ACTIONS(163), [anon_sym_LT_AMP] = ACTIONS(163), [anon_sym_GT_AMP] = ACTIONS(163), [anon_sym_LT_LT] = ACTIONS(163), [anon_sym_LT_LT_DASH] = ACTIONS(163), [sym_file_descriptor] = ACTIONS(163), [sym_word] = ACTIONS(163), [anon_sym_LF] = ACTIONS(163), [anon_sym_SEMI_SEMI] = ACTIONS(163), [sym_comment] = ACTIONS(71), }, [33] = { [anon_sym_PIPE] = ACTIONS(165), [anon_sym_PIPE_AMP] = ACTIONS(165), [anon_sym_AMP_AMP] = ACTIONS(165), [anon_sym_SEMI] = ACTIONS(165), [anon_sym_DOLLAR] = ACTIONS(165), [anon_sym_DOLLAR_LBRACE] = ACTIONS(165), [anon_sym_LT] = ACTIONS(165), [anon_sym_GT] = ACTIONS(165), [anon_sym_LT_AMP] = ACTIONS(165), [anon_sym_GT_AMP] = ACTIONS(165), [anon_sym_LT_LT] = ACTIONS(165), [anon_sym_LT_LT_DASH] = ACTIONS(165), [sym_file_descriptor] = ACTIONS(165), [sym_word] = ACTIONS(165), [anon_sym_LF] = ACTIONS(165), [anon_sym_SEMI_SEMI] = ACTIONS(165), [sym_comment] = ACTIONS(71), }, [34] = { [sym_expansion] = STATE(52), [sym_operator_expansion] = STATE(52), [sym_file_redirect] = STATE(20), [sym_heredoc_redirect] = STATE(20), [aux_sym_simple_command_repeat3] = STATE(53), [anon_sym_PIPE] = ACTIONS(167), [anon_sym_PIPE_AMP] = ACTIONS(167), [anon_sym_AMP_AMP] = ACTIONS(167), [anon_sym_SEMI] = ACTIONS(167), [anon_sym_DOLLAR] = ACTIONS(109), [anon_sym_DOLLAR_LBRACE] = ACTIONS(111), [anon_sym_LT] = ACTIONS(65), [anon_sym_GT] = ACTIONS(65), [anon_sym_LT_AMP] = ACTIONS(65), [anon_sym_GT_AMP] = ACTIONS(65), [anon_sym_LT_LT] = ACTIONS(67), [anon_sym_LT_LT_DASH] = ACTIONS(67), [sym_file_descriptor] = ACTIONS(69), [sym_word] = ACTIONS(169), [anon_sym_LF] = ACTIONS(167), [anon_sym_SEMI_SEMI] = ACTIONS(167), [sym_comment] = ACTIONS(71), }, [35] = { [sym_file_redirect] = STATE(43), [sym_heredoc_redirect] = STATE(43), [anon_sym_PIPE] = ACTIONS(167), [anon_sym_PIPE_AMP] = ACTIONS(167), [anon_sym_AMP_AMP] = ACTIONS(167), [anon_sym_SEMI] = ACTIONS(167), [anon_sym_LT] = ACTIONS(65), [anon_sym_GT] = ACTIONS(65), [anon_sym_LT_AMP] = ACTIONS(65), [anon_sym_GT_AMP] = ACTIONS(65), [anon_sym_LT_LT] = ACTIONS(67), [anon_sym_LT_LT_DASH] = ACTIONS(67), [sym_file_descriptor] = ACTIONS(69), [anon_sym_LF] = ACTIONS(167), [anon_sym_SEMI_SEMI] = ACTIONS(167), [sym_comment] = ACTIONS(71), }, [36] = { [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(41), }, [37] = { [anon_sym_PIPE] = ACTIONS(97), [anon_sym_PIPE_AMP] = ACTIONS(97), [anon_sym_AMP_AMP] = ACTIONS(97), [anon_sym_SEMI] = ACTIONS(97), [anon_sym_LT] = ACTIONS(97), [anon_sym_GT] = ACTIONS(97), [anon_sym_LT_AMP] = ACTIONS(97), [anon_sym_GT_AMP] = ACTIONS(97), [anon_sym_LT_LT] = ACTIONS(97), [anon_sym_LT_LT_DASH] = ACTIONS(97), [sym_file_descriptor] = ACTIONS(97), [anon_sym_LF] = ACTIONS(97), [anon_sym_SEMI_SEMI] = ACTIONS(97), [sym_comment] = ACTIONS(71), }, [38] = { [anon_sym_PIPE] = ACTIONS(101), [anon_sym_PIPE_AMP] = ACTIONS(101), [anon_sym_AMP_AMP] = ACTIONS(101), [anon_sym_SEMI] = ACTIONS(101), [anon_sym_LT] = ACTIONS(101), [anon_sym_GT] = ACTIONS(101), [anon_sym_LT_AMP] = ACTIONS(101), [anon_sym_GT_AMP] = ACTIONS(101), [anon_sym_LT_LT] = ACTIONS(101), [anon_sym_LT_LT_DASH] = ACTIONS(101), [sym_file_descriptor] = ACTIONS(101), [anon_sym_LF] = ACTIONS(101), [anon_sym_SEMI_SEMI] = ACTIONS(101), [sym_comment] = ACTIONS(71), }, [39] = { [anon_sym_PIPE] = ACTIONS(175), [anon_sym_PIPE_AMP] = ACTIONS(175), [anon_sym_AMP_AMP] = ACTIONS(175), [anon_sym_SEMI] = ACTIONS(175), [anon_sym_LT] = ACTIONS(175), [anon_sym_GT] = ACTIONS(175), [anon_sym_LT_AMP] = ACTIONS(175), [anon_sym_GT_AMP] = ACTIONS(175), [anon_sym_LT_LT] = ACTIONS(175), [anon_sym_LT_LT_DASH] = ACTIONS(175), [sym_file_descriptor] = ACTIONS(175), [anon_sym_LF] = ACTIONS(175), [anon_sym_SEMI_SEMI] = ACTIONS(175), [sym_comment] = ACTIONS(71), }, [40] = { [sym_expansion] = STATE(54), [sym_operator_expansion] = STATE(54), [aux_sym_heredoc_repeat1] = STATE(58), [sym__heredoc_middle] = ACTIONS(177), [sym__heredoc_end] = ACTIONS(179), [anon_sym_DOLLAR] = ACTIONS(181), [anon_sym_DOLLAR_LBRACE] = ACTIONS(183), [sym_comment] = ACTIONS(41), }, [41] = { [anon_sym_PIPE] = ACTIONS(185), [anon_sym_PIPE_AMP] = ACTIONS(185), [anon_sym_AMP_AMP] = ACTIONS(185), [anon_sym_SEMI] = ACTIONS(185), [anon_sym_LT] = ACTIONS(185), [anon_sym_GT] = ACTIONS(185), [anon_sym_LT_AMP] = ACTIONS(185), [anon_sym_GT_AMP] = ACTIONS(185), [anon_sym_LT_LT] = ACTIONS(185), [anon_sym_LT_LT_DASH] = ACTIONS(185), [sym_file_descriptor] = ACTIONS(185), [anon_sym_LF] = ACTIONS(185), [anon_sym_SEMI_SEMI] = ACTIONS(185), [sym_comment] = ACTIONS(71), }, [42] = { [sym_file_descriptor] = ACTIONS(187), [sym_word] = ACTIONS(189), [sym_comment] = ACTIONS(41), }, [43] = { [anon_sym_PIPE] = ACTIONS(191), [anon_sym_PIPE_AMP] = ACTIONS(191), [anon_sym_AMP_AMP] = ACTIONS(191), [anon_sym_SEMI] = 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), [anon_sym_LF] = ACTIONS(191), [anon_sym_SEMI_SEMI] = ACTIONS(191), [sym_comment] = ACTIONS(71), }, [44] = { [anon_sym_AMP_AMP] = ACTIONS(193), [anon_sym_SEMI] = ACTIONS(193), [anon_sym_LF] = ACTIONS(193), [anon_sym_SEMI_SEMI] = ACTIONS(193), [sym_comment] = ACTIONS(71), }, [45] = { [anon_sym_PIPE] = ACTIONS(81), [anon_sym_PIPE_AMP] = ACTIONS(81), [anon_sym_AMP_AMP] = ACTIONS(195), [anon_sym_SEMI] = ACTIONS(195), [anon_sym_LF] = ACTIONS(195), [anon_sym_SEMI_SEMI] = ACTIONS(195), [sym_comment] = ACTIONS(71), }, [46] = { [anon_sym_AMP_AMP] = ACTIONS(195), [anon_sym_SEMI] = ACTIONS(195), [anon_sym_LF] = ACTIONS(195), [anon_sym_SEMI_SEMI] = ACTIONS(195), [sym_comment] = ACTIONS(71), }, [47] = { [sym_expansion] = STATE(33), [sym_operator_expansion] = STATE(33), [sym_file_redirect] = STATE(20), [sym_heredoc_redirect] = STATE(20), [aux_sym_simple_command_repeat2] = STATE(61), [aux_sym_simple_command_repeat3] = STATE(62), [anon_sym_PIPE] = ACTIONS(197), [anon_sym_PIPE_AMP] = ACTIONS(197), [anon_sym_AMP_AMP] = ACTIONS(197), [anon_sym_SEMI] = ACTIONS(197), [anon_sym_DOLLAR] = ACTIONS(109), [anon_sym_DOLLAR_LBRACE] = ACTIONS(111), [anon_sym_LT] = ACTIONS(65), [anon_sym_GT] = ACTIONS(65), [anon_sym_LT_AMP] = ACTIONS(65), [anon_sym_GT_AMP] = ACTIONS(65), [anon_sym_LT_LT] = ACTIONS(67), [anon_sym_LT_LT_DASH] = ACTIONS(67), [sym_file_descriptor] = ACTIONS(69), [sym_word] = ACTIONS(113), [anon_sym_LF] = ACTIONS(197), [anon_sym_SEMI_SEMI] = ACTIONS(197), [sym_comment] = ACTIONS(71), }, [48] = { [sym_file_redirect] = STATE(43), [sym_heredoc_redirect] = STATE(43), [anon_sym_PIPE] = ACTIONS(197), [anon_sym_PIPE_AMP] = ACTIONS(197), [anon_sym_AMP_AMP] = ACTIONS(197), [anon_sym_SEMI] = ACTIONS(197), [anon_sym_LT] = ACTIONS(65), [anon_sym_GT] = ACTIONS(65), [anon_sym_LT_AMP] = ACTIONS(65), [anon_sym_GT_AMP] = ACTIONS(65), [anon_sym_LT_LT] = ACTIONS(67), [anon_sym_LT_LT_DASH] = ACTIONS(67), [sym_file_descriptor] = ACTIONS(69), [anon_sym_LF] = ACTIONS(197), [anon_sym_SEMI_SEMI] = ACTIONS(197), [sym_comment] = ACTIONS(71), }, [49] = { [anon_sym_PIPE] = ACTIONS(199), [anon_sym_PIPE_AMP] = ACTIONS(199), [anon_sym_AMP_AMP] = ACTIONS(199), [anon_sym_SEMI] = ACTIONS(199), [anon_sym_DOLLAR] = ACTIONS(199), [anon_sym_DOLLAR_LBRACE] = ACTIONS(199), [anon_sym_LT] = ACTIONS(199), [anon_sym_GT] = ACTIONS(199), [anon_sym_LT_AMP] = ACTIONS(199), [anon_sym_GT_AMP] = ACTIONS(199), [anon_sym_LT_LT] = ACTIONS(199), [anon_sym_LT_LT_DASH] = ACTIONS(199), [sym_file_descriptor] = ACTIONS(199), [sym_word] = ACTIONS(199), [anon_sym_LF] = ACTIONS(199), [anon_sym_SEMI_SEMI] = ACTIONS(199), [sym_comment] = ACTIONS(71), }, [50] = { [anon_sym_EQ] = ACTIONS(201), [anon_sym_COLON] = ACTIONS(203), [anon_sym_COLON_QMARK] = ACTIONS(201), [anon_sym_RBRACE] = ACTIONS(205), [sym_comment] = ACTIONS(41), }, [51] = { [anon_sym_PIPE] = ACTIONS(207), [anon_sym_PIPE_AMP] = ACTIONS(207), [anon_sym_AMP_AMP] = ACTIONS(207), [anon_sym_SEMI] = ACTIONS(207), [anon_sym_DOLLAR] = ACTIONS(207), [anon_sym_DOLLAR_LBRACE] = 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_word] = ACTIONS(207), [anon_sym_LF] = ACTIONS(207), [anon_sym_SEMI_SEMI] = ACTIONS(207), [sym_comment] = ACTIONS(71), }, [52] = { [anon_sym_PIPE] = ACTIONS(209), [anon_sym_PIPE_AMP] = ACTIONS(209), [anon_sym_AMP_AMP] = ACTIONS(209), [anon_sym_SEMI] = ACTIONS(209), [anon_sym_DOLLAR] = ACTIONS(209), [anon_sym_DOLLAR_LBRACE] = ACTIONS(209), [anon_sym_LT] = ACTIONS(209), [anon_sym_GT] = ACTIONS(209), [anon_sym_LT_AMP] = ACTIONS(209), [anon_sym_GT_AMP] = ACTIONS(209), [anon_sym_LT_LT] = ACTIONS(209), [anon_sym_LT_LT_DASH] = ACTIONS(209), [sym_file_descriptor] = ACTIONS(209), [sym_word] = ACTIONS(209), [anon_sym_LF] = ACTIONS(209), [anon_sym_SEMI_SEMI] = ACTIONS(209), [sym_comment] = ACTIONS(71), }, [53] = { [sym_file_redirect] = STATE(43), [sym_heredoc_redirect] = STATE(43), [anon_sym_PIPE] = ACTIONS(211), [anon_sym_PIPE_AMP] = ACTIONS(211), [anon_sym_AMP_AMP] = ACTIONS(211), [anon_sym_SEMI] = ACTIONS(211), [anon_sym_LT] = ACTIONS(65), [anon_sym_GT] = ACTIONS(65), [anon_sym_LT_AMP] = ACTIONS(65), [anon_sym_GT_AMP] = ACTIONS(65), [anon_sym_LT_LT] = ACTIONS(67), [anon_sym_LT_LT_DASH] = ACTIONS(67), [sym_file_descriptor] = ACTIONS(69), [anon_sym_LF] = ACTIONS(211), [anon_sym_SEMI_SEMI] = ACTIONS(211), [sym_comment] = ACTIONS(71), }, [54] = { [sym__heredoc_middle] = ACTIONS(213), [sym__heredoc_end] = ACTIONS(213), [anon_sym_DOLLAR] = ACTIONS(215), [anon_sym_DOLLAR_LBRACE] = ACTIONS(213), [sym_comment] = ACTIONS(41), }, [55] = { [anon_sym_PIPE] = ACTIONS(217), [anon_sym_PIPE_AMP] = ACTIONS(217), [anon_sym_AMP_AMP] = ACTIONS(217), [anon_sym_SEMI] = ACTIONS(217), [anon_sym_LT] = ACTIONS(217), [anon_sym_GT] = ACTIONS(217), [anon_sym_LT_AMP] = ACTIONS(217), [anon_sym_GT_AMP] = ACTIONS(217), [anon_sym_LT_LT] = ACTIONS(217), [anon_sym_LT_LT_DASH] = ACTIONS(217), [sym_file_descriptor] = ACTIONS(217), [anon_sym_LF] = ACTIONS(217), [anon_sym_SEMI_SEMI] = ACTIONS(217), [sym_comment] = ACTIONS(71), }, [56] = { [sym_word] = ACTIONS(219), [sym_comment] = ACTIONS(41), }, [57] = { [sym_leading_word] = ACTIONS(221), [sym_comment] = ACTIONS(41), }, [58] = { [sym_expansion] = STATE(67), [sym_operator_expansion] = STATE(67), [sym__heredoc_middle] = ACTIONS(223), [sym__heredoc_end] = ACTIONS(225), [anon_sym_DOLLAR] = ACTIONS(181), [anon_sym_DOLLAR_LBRACE] = ACTIONS(183), [sym_comment] = ACTIONS(41), }, [59] = { [anon_sym_PIPE] = ACTIONS(153), [anon_sym_PIPE_AMP] = ACTIONS(153), [anon_sym_AMP_AMP] = ACTIONS(153), [anon_sym_SEMI] = ACTIONS(153), [anon_sym_LT] = ACTIONS(153), [anon_sym_GT] = ACTIONS(153), [anon_sym_LT_AMP] = ACTIONS(153), [anon_sym_GT_AMP] = ACTIONS(153), [anon_sym_LT_LT] = ACTIONS(153), [anon_sym_LT_LT_DASH] = ACTIONS(153), [sym_file_descriptor] = ACTIONS(153), [anon_sym_LF] = ACTIONS(153), [anon_sym_SEMI_SEMI] = ACTIONS(153), [sym_comment] = ACTIONS(71), }, [60] = { [anon_sym_PIPE] = ACTIONS(157), [anon_sym_PIPE_AMP] = ACTIONS(157), [anon_sym_AMP_AMP] = ACTIONS(157), [anon_sym_SEMI] = ACTIONS(157), [anon_sym_LT] = ACTIONS(157), [anon_sym_GT] = ACTIONS(157), [anon_sym_LT_AMP] = ACTIONS(157), [anon_sym_GT_AMP] = ACTIONS(157), [anon_sym_LT_LT] = ACTIONS(157), [anon_sym_LT_LT_DASH] = ACTIONS(157), [sym_file_descriptor] = ACTIONS(157), [anon_sym_LF] = ACTIONS(157), [anon_sym_SEMI_SEMI] = ACTIONS(157), [sym_comment] = ACTIONS(71), }, [61] = { [sym_expansion] = STATE(52), [sym_operator_expansion] = STATE(52), [sym_file_redirect] = STATE(20), [sym_heredoc_redirect] = STATE(20), [aux_sym_simple_command_repeat3] = STATE(69), [anon_sym_PIPE] = ACTIONS(227), [anon_sym_PIPE_AMP] = ACTIONS(227), [anon_sym_AMP_AMP] = ACTIONS(227), [anon_sym_SEMI] = ACTIONS(227), [anon_sym_DOLLAR] = ACTIONS(109), [anon_sym_DOLLAR_LBRACE] = ACTIONS(111), [anon_sym_LT] = ACTIONS(65), [anon_sym_GT] = ACTIONS(65), [anon_sym_LT_AMP] = ACTIONS(65), [anon_sym_GT_AMP] = ACTIONS(65), [anon_sym_LT_LT] = ACTIONS(67), [anon_sym_LT_LT_DASH] = ACTIONS(67), [sym_file_descriptor] = ACTIONS(69), [sym_word] = ACTIONS(169), [anon_sym_LF] = ACTIONS(227), [anon_sym_SEMI_SEMI] = ACTIONS(227), [sym_comment] = ACTIONS(71), }, [62] = { [sym_file_redirect] = STATE(43), [sym_heredoc_redirect] = STATE(43), [anon_sym_PIPE] = ACTIONS(227), [anon_sym_PIPE_AMP] = ACTIONS(227), [anon_sym_AMP_AMP] = ACTIONS(227), [anon_sym_SEMI] = ACTIONS(227), [anon_sym_LT] = ACTIONS(65), [anon_sym_GT] = ACTIONS(65), [anon_sym_LT_AMP] = ACTIONS(65), [anon_sym_GT_AMP] = ACTIONS(65), [anon_sym_LT_LT] = ACTIONS(67), [anon_sym_LT_LT_DASH] = ACTIONS(67), [sym_file_descriptor] = ACTIONS(69), [anon_sym_LF] = ACTIONS(227), [anon_sym_SEMI_SEMI] = ACTIONS(227), [sym_comment] = ACTIONS(71), }, [63] = { [sym_word] = ACTIONS(229), [sym_comment] = ACTIONS(41), }, [64] = { [anon_sym_PIPE] = ACTIONS(231), [anon_sym_PIPE_AMP] = ACTIONS(231), [anon_sym_AMP_AMP] = ACTIONS(231), [anon_sym_SEMI] = ACTIONS(231), [anon_sym_DOLLAR] = ACTIONS(231), [anon_sym_DOLLAR_LBRACE] = ACTIONS(231), [anon_sym_LT] = ACTIONS(231), [anon_sym_GT] = ACTIONS(231), [anon_sym_LT_AMP] = ACTIONS(231), [anon_sym_GT_AMP] = ACTIONS(231), [anon_sym_LT_LT] = ACTIONS(231), [anon_sym_LT_LT_DASH] = ACTIONS(231), [sym_file_descriptor] = ACTIONS(231), [sym_word] = ACTIONS(231), [anon_sym_LF] = ACTIONS(231), [anon_sym_SEMI_SEMI] = ACTIONS(231), [sym_comment] = ACTIONS(71), }, [65] = { [sym__heredoc_middle] = ACTIONS(233), [sym__heredoc_end] = ACTIONS(233), [anon_sym_DOLLAR] = ACTIONS(235), [anon_sym_DOLLAR_LBRACE] = ACTIONS(233), [sym_comment] = ACTIONS(41), }, [66] = { [anon_sym_EQ] = ACTIONS(237), [anon_sym_COLON] = ACTIONS(239), [anon_sym_COLON_QMARK] = ACTIONS(237), [anon_sym_RBRACE] = ACTIONS(241), [sym_comment] = ACTIONS(41), }, [67] = { [sym__heredoc_middle] = ACTIONS(243), [sym__heredoc_end] = ACTIONS(243), [anon_sym_DOLLAR] = ACTIONS(245), [anon_sym_DOLLAR_LBRACE] = ACTIONS(243), [sym_comment] = ACTIONS(41), }, [68] = { [anon_sym_PIPE] = ACTIONS(247), [anon_sym_PIPE_AMP] = ACTIONS(247), [anon_sym_AMP_AMP] = ACTIONS(247), [anon_sym_SEMI] = ACTIONS(247), [anon_sym_LT] = ACTIONS(247), [anon_sym_GT] = ACTIONS(247), [anon_sym_LT_AMP] = ACTIONS(247), [anon_sym_GT_AMP] = ACTIONS(247), [anon_sym_LT_LT] = ACTIONS(247), [anon_sym_LT_LT_DASH] = ACTIONS(247), [sym_file_descriptor] = ACTIONS(247), [anon_sym_LF] = ACTIONS(247), [anon_sym_SEMI_SEMI] = ACTIONS(247), [sym_comment] = ACTIONS(71), }, [69] = { [sym_file_redirect] = STATE(43), [sym_heredoc_redirect] = STATE(43), [anon_sym_PIPE] = ACTIONS(249), [anon_sym_PIPE_AMP] = ACTIONS(249), [anon_sym_AMP_AMP] = ACTIONS(249), [anon_sym_SEMI] = ACTIONS(249), [anon_sym_LT] = ACTIONS(65), [anon_sym_GT] = ACTIONS(65), [anon_sym_LT_AMP] = ACTIONS(65), [anon_sym_GT_AMP] = ACTIONS(65), [anon_sym_LT_LT] = ACTIONS(67), [anon_sym_LT_LT_DASH] = ACTIONS(67), [sym_file_descriptor] = ACTIONS(69), [anon_sym_LF] = ACTIONS(249), [anon_sym_SEMI_SEMI] = ACTIONS(249), [sym_comment] = ACTIONS(71), }, [70] = { [anon_sym_RBRACE] = ACTIONS(251), [sym_comment] = ACTIONS(41), }, [71] = { [sym_word] = ACTIONS(253), [sym_comment] = ACTIONS(41), }, [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(41), }, [73] = { [anon_sym_PIPE] = ACTIONS(259), [anon_sym_PIPE_AMP] = ACTIONS(259), [anon_sym_AMP_AMP] = ACTIONS(259), [anon_sym_SEMI] = ACTIONS(259), [anon_sym_DOLLAR] = ACTIONS(259), [anon_sym_DOLLAR_LBRACE] = ACTIONS(259), [anon_sym_LT] = ACTIONS(259), [anon_sym_GT] = ACTIONS(259), [anon_sym_LT_AMP] = ACTIONS(259), [anon_sym_GT_AMP] = ACTIONS(259), [anon_sym_LT_LT] = ACTIONS(259), [anon_sym_LT_LT_DASH] = ACTIONS(259), [sym_file_descriptor] = ACTIONS(259), [sym_word] = ACTIONS(259), [anon_sym_LF] = ACTIONS(259), [anon_sym_SEMI_SEMI] = ACTIONS(259), [sym_comment] = ACTIONS(71), }, [74] = { [anon_sym_RBRACE] = ACTIONS(261), [sym_comment] = ACTIONS(41), }, [75] = { [sym__heredoc_middle] = ACTIONS(263), [sym__heredoc_end] = ACTIONS(263), [anon_sym_DOLLAR] = ACTIONS(265), [anon_sym_DOLLAR_LBRACE] = ACTIONS(263), [sym_comment] = ACTIONS(41), }, [76] = { [sym_word] = ACTIONS(267), [sym_comment] = ACTIONS(41), }, [77] = { [sym_word] = ACTIONS(269), [sym_comment] = ACTIONS(41), }, [78] = { [sym_leading_word] = ACTIONS(271), [sym_comment] = ACTIONS(41), }, [79] = { [sym_word] = ACTIONS(273), [sym_comment] = ACTIONS(41), }, [80] = { [sym__heredoc_middle] = ACTIONS(275), [sym__heredoc_end] = ACTIONS(275), [anon_sym_PIPE] = ACTIONS(278), [anon_sym_PIPE_AMP] = ACTIONS(278), [anon_sym_AMP_AMP] = ACTIONS(278), [anon_sym_SEMI] = ACTIONS(278), [anon_sym_DOLLAR] = ACTIONS(278), [anon_sym_DOLLAR_LBRACE] = ACTIONS(278), [anon_sym_LT] = ACTIONS(278), [anon_sym_GT] = ACTIONS(278), [anon_sym_LT_AMP] = ACTIONS(278), [anon_sym_GT_AMP] = ACTIONS(278), [anon_sym_LT_LT] = ACTIONS(278), [anon_sym_LT_LT_DASH] = ACTIONS(278), [sym_file_descriptor] = ACTIONS(278), [sym_word] = ACTIONS(278), [anon_sym_LF] = ACTIONS(278), [anon_sym_SEMI_SEMI] = ACTIONS(278), [sym_comment] = ACTIONS(71), }, [81] = { [sym_file_descriptor] = ACTIONS(281), [sym_word] = ACTIONS(283), [sym_comment] = ACTIONS(41), }, [82] = { [anon_sym_PIPE] = ACTIONS(285), [anon_sym_PIPE_AMP] = ACTIONS(285), [anon_sym_AMP_AMP] = ACTIONS(285), [anon_sym_SEMI] = ACTIONS(285), [anon_sym_LT] = ACTIONS(288), [anon_sym_GT] = ACTIONS(288), [anon_sym_LT_AMP] = ACTIONS(288), [anon_sym_GT_AMP] = ACTIONS(288), [anon_sym_LT_LT] = ACTIONS(285), [anon_sym_LT_LT_DASH] = ACTIONS(285), [sym_file_descriptor] = ACTIONS(285), [sym_leading_word] = ACTIONS(285), [anon_sym_LF] = ACTIONS(285), [anon_sym_SEMI_SEMI] = ACTIONS(285), [sym_comment] = ACTIONS(71), }, [83] = { [sym__heredoc_middle] = ACTIONS(292), [sym__heredoc_end] = ACTIONS(292), [anon_sym_DOLLAR] = ACTIONS(295), [anon_sym_DOLLAR_LBRACE] = ACTIONS(292), [sym_comment] = ACTIONS(41), }, [84] = { [anon_sym_PIPE] = ACTIONS(298), [anon_sym_PIPE_AMP] = ACTIONS(298), [anon_sym_AMP_AMP] = ACTIONS(298), [anon_sym_SEMI] = ACTIONS(298), [anon_sym_LT] = ACTIONS(298), [anon_sym_GT] = ACTIONS(298), [anon_sym_LT_AMP] = ACTIONS(298), [anon_sym_GT_AMP] = ACTIONS(298), [anon_sym_LT_LT] = ACTIONS(298), [anon_sym_LT_LT_DASH] = ACTIONS(298), [sym_file_descriptor] = ACTIONS(298), [anon_sym_LF] = ACTIONS(298), [anon_sym_SEMI_SEMI] = ACTIONS(298), [sym_comment] = ACTIONS(71), }, [85] = { [ts_builtin_sym_end] = ACTIONS(301), [anon_sym_LT] = ACTIONS(304), [anon_sym_GT] = ACTIONS(304), [anon_sym_LT_AMP] = ACTIONS(304), [anon_sym_GT_AMP] = ACTIONS(304), [sym_file_descriptor] = ACTIONS(304), [sym_leading_word] = ACTIONS(307), [sym_comment] = ACTIONS(41), }, [86] = { [anon_sym_PIPE] = ACTIONS(81), [anon_sym_PIPE_AMP] = ACTIONS(81), [anon_sym_AMP_AMP] = ACTIONS(310), [anon_sym_SEMI] = ACTIONS(310), [anon_sym_LF] = ACTIONS(314), [anon_sym_SEMI_SEMI] = ACTIONS(314), [sym_comment] = ACTIONS(71), }, [87] = { [anon_sym_AMP_AMP] = ACTIONS(318), [anon_sym_SEMI] = ACTIONS(318), [anon_sym_LF] = ACTIONS(321), [anon_sym_SEMI_SEMI] = ACTIONS(321), [sym_comment] = ACTIONS(71), }, [88] = { [anon_sym_LT] = ACTIONS(324), [anon_sym_GT] = ACTIONS(324), [anon_sym_LT_AMP] = ACTIONS(324), [anon_sym_GT_AMP] = ACTIONS(324), [sym_file_descriptor] = ACTIONS(324), [sym_leading_word] = ACTIONS(327), [sym_comment] = ACTIONS(41), }, [89] = { [sym__heredoc_middle] = ACTIONS(292), [sym__heredoc_end] = ACTIONS(292), [anon_sym_PIPE] = ACTIONS(330), [anon_sym_PIPE_AMP] = ACTIONS(330), [anon_sym_AMP_AMP] = ACTIONS(330), [anon_sym_SEMI] = ACTIONS(330), [anon_sym_DOLLAR] = ACTIONS(333), [anon_sym_DOLLAR_LBRACE] = ACTIONS(333), [anon_sym_LT] = ACTIONS(330), [anon_sym_GT] = ACTIONS(330), [anon_sym_LT_AMP] = ACTIONS(330), [anon_sym_GT_AMP] = ACTIONS(330), [anon_sym_LT_LT] = ACTIONS(330), [anon_sym_LT_LT_DASH] = ACTIONS(330), [sym_file_descriptor] = ACTIONS(330), [sym_word] = ACTIONS(330), [anon_sym_LF] = ACTIONS(330), [anon_sym_SEMI_SEMI] = ACTIONS(330), [sym_comment] = ACTIONS(71), }, [90] = { [anon_sym_PIPE] = ACTIONS(338), [anon_sym_PIPE_AMP] = ACTIONS(338), [anon_sym_AMP_AMP] = ACTIONS(338), [anon_sym_SEMI] = ACTIONS(338), [anon_sym_LT] = ACTIONS(341), [anon_sym_GT] = ACTIONS(341), [anon_sym_LT_AMP] = ACTIONS(341), [anon_sym_GT_AMP] = ACTIONS(341), [anon_sym_LT_LT] = ACTIONS(338), [anon_sym_LT_LT_DASH] = ACTIONS(338), [sym_file_descriptor] = ACTIONS(341), [sym_leading_word] = ACTIONS(327), [anon_sym_LF] = ACTIONS(338), [anon_sym_SEMI_SEMI] = ACTIONS(338), [sym_comment] = ACTIONS(71), }, [91] = { [anon_sym_PIPE] = ACTIONS(338), [anon_sym_PIPE_AMP] = ACTIONS(338), [anon_sym_AMP_AMP] = ACTIONS(338), [anon_sym_SEMI] = ACTIONS(338), [anon_sym_LT] = ACTIONS(338), [anon_sym_GT] = ACTIONS(338), [anon_sym_LT_AMP] = ACTIONS(338), [anon_sym_GT_AMP] = ACTIONS(338), [anon_sym_LT_LT] = ACTIONS(338), [anon_sym_LT_LT_DASH] = ACTIONS(338), [sym_file_descriptor] = ACTIONS(338), [anon_sym_LF] = ACTIONS(338), [anon_sym_SEMI_SEMI] = ACTIONS(338), [sym_comment] = ACTIONS(71), }, [92] = { [sym_expansion] = STATE(52), [sym_operator_expansion] = STATE(52), [sym_file_redirect] = STATE(20), [sym_heredoc_redirect] = STATE(20), [aux_sym_simple_command_repeat3] = STATE(101), [anon_sym_PIPE] = ACTIONS(346), [anon_sym_PIPE_AMP] = ACTIONS(346), [anon_sym_AMP_AMP] = ACTIONS(346), [anon_sym_SEMI] = ACTIONS(346), [anon_sym_DOLLAR] = ACTIONS(109), [anon_sym_DOLLAR_LBRACE] = ACTIONS(111), [anon_sym_LT] = ACTIONS(65), [anon_sym_GT] = ACTIONS(65), [anon_sym_LT_AMP] = ACTIONS(65), [anon_sym_GT_AMP] = ACTIONS(65), [anon_sym_LT_LT] = ACTIONS(67), [anon_sym_LT_LT_DASH] = ACTIONS(67), [sym_file_descriptor] = ACTIONS(69), [sym_word] = ACTIONS(169), [anon_sym_LF] = ACTIONS(346), [anon_sym_SEMI_SEMI] = ACTIONS(346), [sym_comment] = ACTIONS(71), }, [93] = { [sym_file_redirect] = STATE(43), [sym_heredoc_redirect] = STATE(43), [anon_sym_PIPE] = ACTIONS(349), [anon_sym_PIPE_AMP] = ACTIONS(349), [anon_sym_AMP_AMP] = ACTIONS(349), [anon_sym_SEMI] = ACTIONS(349), [anon_sym_LT] = ACTIONS(65), [anon_sym_GT] = ACTIONS(65), [anon_sym_LT_AMP] = ACTIONS(65), [anon_sym_GT_AMP] = ACTIONS(65), [anon_sym_LT_LT] = ACTIONS(67), [anon_sym_LT_LT_DASH] = ACTIONS(67), [sym_file_descriptor] = ACTIONS(69), [anon_sym_LF] = ACTIONS(349), [anon_sym_SEMI_SEMI] = ACTIONS(349), [sym_comment] = ACTIONS(71), }, [94] = { [anon_sym_RBRACE] = ACTIONS(356), [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(41), }, [95] = { [sym__heredoc_middle] = ACTIONS(233), [sym__heredoc_end] = ACTIONS(233), [anon_sym_PIPE] = ACTIONS(199), [anon_sym_PIPE_AMP] = ACTIONS(199), [anon_sym_AMP_AMP] = ACTIONS(199), [anon_sym_SEMI] = ACTIONS(199), [anon_sym_DOLLAR] = ACTIONS(199), [anon_sym_DOLLAR_LBRACE] = ACTIONS(199), [anon_sym_LT] = ACTIONS(199), [anon_sym_GT] = ACTIONS(199), [anon_sym_LT_AMP] = ACTIONS(199), [anon_sym_GT_AMP] = ACTIONS(199), [anon_sym_LT_LT] = ACTIONS(199), [anon_sym_LT_LT_DASH] = ACTIONS(199), [sym_file_descriptor] = ACTIONS(199), [sym_word] = ACTIONS(199), [anon_sym_LF] = ACTIONS(199), [anon_sym_SEMI_SEMI] = ACTIONS(199), [sym_comment] = ACTIONS(71), }, [96] = { [anon_sym_EQ] = ACTIONS(358), [anon_sym_COLON] = ACTIONS(360), [anon_sym_COLON_QMARK] = ACTIONS(358), [anon_sym_RBRACE] = ACTIONS(362), [sym_comment] = ACTIONS(41), }, [97] = { [anon_sym_RBRACE] = ACTIONS(356), [sym_comment] = ACTIONS(41), }, [98] = { [anon_sym_PIPE] = ACTIONS(285), [anon_sym_PIPE_AMP] = ACTIONS(285), [anon_sym_AMP_AMP] = ACTIONS(285), [anon_sym_SEMI] = ACTIONS(285), [anon_sym_LT] = ACTIONS(285), [anon_sym_GT] = ACTIONS(285), [anon_sym_LT_AMP] = ACTIONS(285), [anon_sym_GT_AMP] = ACTIONS(285), [anon_sym_LT_LT] = ACTIONS(285), [anon_sym_LT_LT_DASH] = ACTIONS(285), [sym_file_descriptor] = ACTIONS(285), [sym_leading_word] = ACTIONS(285), [anon_sym_LF] = ACTIONS(285), [anon_sym_SEMI_SEMI] = ACTIONS(285), [sym_comment] = ACTIONS(71), }, [99] = { [anon_sym_PIPE] = ACTIONS(364), [anon_sym_PIPE_AMP] = ACTIONS(364), [anon_sym_AMP_AMP] = ACTIONS(364), [anon_sym_SEMI] = ACTIONS(364), [anon_sym_LT] = ACTIONS(364), [anon_sym_GT] = ACTIONS(364), [anon_sym_LT_AMP] = ACTIONS(364), [anon_sym_GT_AMP] = ACTIONS(364), [anon_sym_LT_LT] = ACTIONS(364), [anon_sym_LT_LT_DASH] = ACTIONS(364), [sym_file_descriptor] = ACTIONS(364), [sym_leading_word] = ACTIONS(364), [anon_sym_LF] = ACTIONS(364), [anon_sym_SEMI_SEMI] = ACTIONS(364), [sym_comment] = ACTIONS(71), }, [100] = { [sym_file_descriptor] = ACTIONS(367), [sym_word] = ACTIONS(369), [sym_comment] = ACTIONS(41), }, [101] = { [sym_file_redirect] = STATE(43), [sym_heredoc_redirect] = STATE(43), [anon_sym_PIPE] = ACTIONS(371), [anon_sym_PIPE_AMP] = ACTIONS(371), [anon_sym_AMP_AMP] = ACTIONS(371), [anon_sym_SEMI] = ACTIONS(371), [anon_sym_LT] = ACTIONS(65), [anon_sym_GT] = ACTIONS(65), [anon_sym_LT_AMP] = ACTIONS(65), [anon_sym_GT_AMP] = ACTIONS(65), [anon_sym_LT_LT] = ACTIONS(67), [anon_sym_LT_LT_DASH] = ACTIONS(67), [sym_file_descriptor] = ACTIONS(69), [anon_sym_LF] = ACTIONS(371), [anon_sym_SEMI_SEMI] = ACTIONS(371), [sym_comment] = ACTIONS(71), }, [102] = { [sym__heredoc_middle] = ACTIONS(263), [sym__heredoc_end] = ACTIONS(263), [anon_sym_PIPE] = ACTIONS(259), [anon_sym_PIPE_AMP] = ACTIONS(259), [anon_sym_AMP_AMP] = ACTIONS(259), [anon_sym_SEMI] = ACTIONS(259), [anon_sym_DOLLAR] = ACTIONS(259), [anon_sym_DOLLAR_LBRACE] = ACTIONS(259), [anon_sym_LT] = ACTIONS(259), [anon_sym_GT] = ACTIONS(259), [anon_sym_LT_AMP] = ACTIONS(259), [anon_sym_GT_AMP] = ACTIONS(259), [anon_sym_LT_LT] = ACTIONS(259), [anon_sym_LT_LT_DASH] = ACTIONS(259), [sym_file_descriptor] = ACTIONS(259), [sym_word] = ACTIONS(259), [anon_sym_LF] = ACTIONS(259), [anon_sym_SEMI_SEMI] = ACTIONS(259), [sym_comment] = ACTIONS(71), }, [103] = { [sym__heredoc_middle] = ACTIONS(255), [sym__heredoc_end] = ACTIONS(255), [anon_sym_PIPE] = ACTIONS(231), [anon_sym_PIPE_AMP] = ACTIONS(231), [anon_sym_AMP_AMP] = ACTIONS(231), [anon_sym_SEMI] = ACTIONS(231), [anon_sym_DOLLAR] = ACTIONS(231), [anon_sym_DOLLAR_LBRACE] = ACTIONS(231), [anon_sym_LT] = ACTIONS(231), [anon_sym_GT] = ACTIONS(231), [anon_sym_LT_AMP] = ACTIONS(231), [anon_sym_GT_AMP] = ACTIONS(231), [anon_sym_LT_LT] = ACTIONS(231), [anon_sym_LT_LT_DASH] = ACTIONS(231), [sym_file_descriptor] = ACTIONS(231), [sym_word] = ACTIONS(231), [anon_sym_LF] = ACTIONS(231), [anon_sym_SEMI_SEMI] = ACTIONS(231), [sym_comment] = ACTIONS(71), }, [104] = { [anon_sym_PIPE] = ACTIONS(153), [anon_sym_PIPE_AMP] = ACTIONS(153), [anon_sym_AMP_AMP] = ACTIONS(153), [anon_sym_SEMI] = ACTIONS(153), [anon_sym_LT] = ACTIONS(153), [anon_sym_GT] = ACTIONS(153), [anon_sym_LT_AMP] = ACTIONS(153), [anon_sym_GT_AMP] = ACTIONS(153), [anon_sym_LT_LT] = ACTIONS(153), [anon_sym_LT_LT_DASH] = ACTIONS(153), [sym_file_descriptor] = ACTIONS(153), [sym_leading_word] = ACTIONS(153), [anon_sym_LF] = ACTIONS(153), [anon_sym_SEMI_SEMI] = ACTIONS(153), [sym_comment] = ACTIONS(71), }, [105] = { [anon_sym_PIPE] = ACTIONS(157), [anon_sym_PIPE_AMP] = ACTIONS(157), [anon_sym_AMP_AMP] = ACTIONS(157), [anon_sym_SEMI] = ACTIONS(157), [anon_sym_LT] = ACTIONS(157), [anon_sym_GT] = ACTIONS(157), [anon_sym_LT_AMP] = ACTIONS(157), [anon_sym_GT_AMP] = ACTIONS(157), [anon_sym_LT_LT] = ACTIONS(157), [anon_sym_LT_LT_DASH] = ACTIONS(157), [sym_file_descriptor] = ACTIONS(157), [sym_leading_word] = ACTIONS(157), [anon_sym_LF] = ACTIONS(157), [anon_sym_SEMI_SEMI] = ACTIONS(157), [sym_comment] = ACTIONS(71), }, }; static TSParseActionEntry ts_parse_actions[] = { [0] = {.count = 0, .reusable = false, .depends_on_lookahead = false}, [1] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(39), [3] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(40), [5] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(83), [7] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(84), [9] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(0), [11] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(22), [13] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(23), [15] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, RECOVER(23), [17] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(76), [19] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, RECOVER(77), [21] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(78), [23] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, RECOVER(79), [25] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(79), [27] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(80), [29] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, RECOVER(81), [31] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(81), [33] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, RECOVER(18), [35] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(18), [37] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, RECOVER(82), [39] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, RECOVER(24), [41] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT_EXTRA(), [43] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym_program, 0), [45] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(2), [47] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(3), [49] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(4), [51] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(12), [53] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(13), [55] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(14), [57] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(14), [59] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(15), [61] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 1, .rename_sequence_id = 1), [63] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(16), [65] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(17), [67] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(18), [69] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(19), [71] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT_EXTRA(), [73] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, ACCEPT_INPUT(), [75] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(aux_sym_program_repeat1, 1), [77] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_program_repeat1, 1), [79] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_program_repeat1, 1), [81] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(22), [83] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(23), [85] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(24), [87] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_simple_command_repeat1, 1), [89] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat1, 1), [91] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym_program, 1), [93] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(26), [95] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_file_redirect, 2), [97] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 2), [99] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_file_redirect, 2, .rename_sequence_id = 2), [101] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 2, .rename_sequence_id = 2), [103] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(28), [105] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(29), [107] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 2, .rename_sequence_id = 3), [109] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(30), [111] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(31), [113] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(32), [115] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(36), [117] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(37), [119] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(38), [121] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(39), [123] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(40), [125] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(42), [127] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(42), [129] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat3, 1), [131] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym_command, 2), [133] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_command, 2), [135] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_command, 2), [137] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(aux_sym_program_repeat1, 2), [139] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_program_repeat1, 2), [141] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_program_repeat1, 2), [143] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(47), [145] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 2, .rename_sequence_id = 4), [147] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_simple_command_repeat1, 2), [149] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat1, 2), [151] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_file_redirect, 3), [153] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 3), [155] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_file_redirect, 3, .rename_sequence_id = 5), [157] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 3, .rename_sequence_id = 5), [159] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(49), [161] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(50), [163] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat2, 1, .rename_sequence_id = 6), [165] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat2, 1), [167] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 3, .rename_sequence_id = 7), [169] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(51), [171] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_environment_variable_assignment, 3, .rename_sequence_id = 8), [173] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_environment_variable_assignment, 3, .rename_sequence_id = 8), [175] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_heredoc, 1), [177] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(54), [179] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(55), [181] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(56), [183] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(57), [185] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_heredoc_redirect, 2), [187] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(59), [189] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(60), [191] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat3, 2), [193] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_pipeline, 3), [195] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_list, 3), [197] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 3, .rename_sequence_id = 9), [199] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_expansion, 2, .rename_sequence_id = 10), [201] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(63), [203] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(63), [205] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(64), [207] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat2, 2, .rename_sequence_id = 11), [209] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat2, 2), [211] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 4, .rename_sequence_id = 12), [213] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(aux_sym_heredoc_repeat1, 1), [215] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_heredoc_repeat1, 1), [217] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_heredoc, 2), [219] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(65), [221] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(66), [223] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(67), [225] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(68), [227] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 4, .rename_sequence_id = 13), [229] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(70), [231] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_operator_expansion, 3, .rename_sequence_id = 14), [233] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym_expansion, 2, .rename_sequence_id = 10), [235] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_expansion, 2, .rename_sequence_id = 10), [237] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(71), [239] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(71), [241] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(72), [243] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(aux_sym_heredoc_repeat1, 2), [245] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_heredoc_repeat1, 2), [247] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_heredoc, 3), [249] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 5, .rename_sequence_id = 15), [251] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(73), [253] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(74), [255] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym_operator_expansion, 3, .rename_sequence_id = 14), [257] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_operator_expansion, 3, .rename_sequence_id = 14), [259] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_operator_expansion, 5, .rename_sequence_id = 16), [261] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(75), [263] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym_operator_expansion, 5, .rename_sequence_id = 16), [265] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_operator_expansion, 5, .rename_sequence_id = 16), [267] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(94), [269] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(95), [271] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(96), [273] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(97), [275] = {.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), [278] = {.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), [281] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(98), [283] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(99), [285] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 2), REDUCE(sym_file_redirect, 3), [288] = {.count = 3, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 2), REDUCE(sym_file_redirect, 3), SHIFT(100), [292] = {.count = 2, .reusable = true, .depends_on_lookahead = false}, REDUCE(aux_sym_heredoc_repeat1, 1), REDUCE(aux_sym_heredoc_repeat1, 2), [295] = {.count = 2, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_heredoc_repeat1, 1), REDUCE(aux_sym_heredoc_repeat1, 2), [298] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_heredoc, 2), REDUCE(sym_heredoc, 3), [301] = {.count = 2, .reusable = true, .depends_on_lookahead = false}, REDUCE(aux_sym_program_repeat1, 1), REDUCE(aux_sym_program_repeat1, 2), [304] = {.count = 2, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_program_repeat1, 1), REDUCE(aux_sym_program_repeat1, 2), [307] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_program_repeat1, 1), REDUCE(aux_sym_program_repeat1, 2), [310] = {.count = 3, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_pipeline, 3), REDUCE(sym_list, 3), SHIFT(23), [314] = {.count = 3, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_pipeline, 3), REDUCE(sym_list, 3), SHIFT(24), [318] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_list, 3), SHIFT(23), [321] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_list, 3), SHIFT(24), [324] = {.count = 2, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_simple_command_repeat1, 1), REDUCE(aux_sym_simple_command_repeat1, 2), [327] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat1, 1), REDUCE(aux_sym_simple_command_repeat1, 2), [330] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat2, 1), REDUCE(aux_sym_simple_command_repeat2, 2), [333] = {.count = 4, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat2, 1), REDUCE(aux_sym_heredoc_repeat1, 1), REDUCE(aux_sym_simple_command_repeat2, 2), REDUCE(aux_sym_heredoc_repeat1, 2), [338] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat3, 1), REDUCE(aux_sym_simple_command_repeat3, 2), [341] = {.count = 4, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat1, 1), REDUCE(aux_sym_simple_command_repeat3, 1), REDUCE(aux_sym_simple_command_repeat1, 2), REDUCE(aux_sym_simple_command_repeat3, 2), [346] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 3, .rename_sequence_id = 7), REDUCE(sym_simple_command, 4, .rename_sequence_id = 13), [349] = {.count = 6, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 2, .rename_sequence_id = 3), REDUCE(sym_simple_command, 3, .rename_sequence_id = 9), REDUCE(sym_simple_command, 3, .rename_sequence_id = 7), REDUCE(sym_simple_command, 4, .rename_sequence_id = 13), REDUCE(sym_simple_command, 4, .rename_sequence_id = 12), REDUCE(sym_simple_command, 5, .rename_sequence_id = 15), [356] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(102), [358] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(79), [360] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(79), [362] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(103), [364] = {.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), [367] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(104), [369] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(105), [371] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 4, .rename_sequence_id = 12), REDUCE(sym_simple_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, ); }