diff --git a/corpus/programs.txt b/corpus/programs.txt new file mode 100644 index 0000000..fbc3f18 --- /dev/null +++ b/corpus/programs.txt @@ -0,0 +1,12 @@ +=============================== +Comments +=============================== + +#!/bin/bash +# hi + +--- + +(program + (comment) + (comment)) diff --git a/grammar.js b/grammar.js index f676ba0..bdcca1e 100644 --- a/grammar.js +++ b/grammar.js @@ -10,6 +10,11 @@ module.exports = grammar({ $._heredoc_end ], + extras: $ => [ + $.comment, + /\s/ + ], + rules: { program: $ => repeat($.command), @@ -111,13 +116,15 @@ module.exports = grammar({ file_descriptor: $ => token(prec(1, /\d+/)), - leading_word: $ => /[^\s=|;:{}]+/, + leading_word: $ => /[^\s#=|;:{}]+/, - word: $ => /[^\s$<>{}&]+/, + word: $ => /[^# \s$<>{}&]+/, control_operator: $ => choice( '\n', ';;' - ) + ), + + comment: $ => /#.*/, } }); diff --git a/src/grammar.json b/src/grammar.json index 568199a..684aaf2 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -435,11 +435,11 @@ }, "leading_word": { "type": "PATTERN", - "value": "[^\\s=|;:{}]+" + "value": "[^\\s#=|;:{}]+" }, "word": { "type": "PATTERN", - "value": "[^\\s$<>{}&]+" + "value": "[^# \\s$<>{}&]+" }, "control_operator": { "type": "CHOICE", @@ -453,9 +453,17 @@ "value": ";;" } ] + }, + "comment": { + "type": "PATTERN", + "value": "#.*" } }, "extras": [ + { + "type": "SYMBOL", + "name": "comment" + }, { "type": "PATTERN", "value": "\\s" diff --git a/src/parser.c b/src/parser.c index 466b593..5315e6b 100644 --- a/src/parser.c +++ b/src/parser.c @@ -5,8 +5,8 @@ #define LANGUAGE_VERSION 3 #define STATE_COUNT 108 -#define SYMBOL_COUNT 43 -#define TOKEN_COUNT 27 +#define SYMBOL_COUNT 44 +#define TOKEN_COUNT 28 #define EXTERNAL_TOKEN_COUNT 4 #define MAX_RENAME_SEQUENCE_LENGTH 5 @@ -37,27 +37,28 @@ enum { sym_word = 24, anon_sym_LF = 25, anon_sym_SEMI_SEMI = 26, - sym_program = 27, - sym_command = 28, - sym_simple_command = 29, - sym_pipeline = 30, - sym_list = 31, - sym_environment_variable_assignment = 32, - sym_expansion = 33, - sym_operator_expansion = 34, - sym_file_redirect = 35, - sym_heredoc_redirect = 36, - sym_heredoc = 37, - aux_sym_program_repeat1 = 38, - aux_sym_simple_command_repeat1 = 39, - aux_sym_simple_command_repeat2 = 40, - aux_sym_simple_command_repeat3 = 41, - aux_sym_heredoc_repeat1 = 42, - rename_sym_1 = 43, - rename_sym_argument = 44, - rename_sym_command_name = 45, - rename_sym_file_name = 46, - rename_sym_variable_name = 47, + 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[] = { @@ -88,6 +89,7 @@ static const char *ts_symbol_names[] = { [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", @@ -274,6 +276,12 @@ static const TSSymbolMetadata ts_symbol_metadata[SYMBOL_COUNT] = { .structural = true, .extra = false, }, + [sym_comment] = { + .visible = true, + .named = true, + .structural = false, + .extra = true, + }, [sym_program] = { .visible = true, .named = true, @@ -431,396 +439,430 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 0: if (lookahead == 0) ADVANCE(1); - if (lookahead == '$') + if (lookahead == '#') ADVANCE(2); + if (lookahead == '$') + ADVANCE(3); if (lookahead == '&') - ADVANCE(4); + ADVANCE(5); if (lookahead == ':') - ADVANCE(6); + ADVANCE(7); if (lookahead == ';') - ADVANCE(8); + ADVANCE(9); if (lookahead == '<') - ADVANCE(10); + ADVANCE(11); if (lookahead == '=') - ADVANCE(14); - if (lookahead == '>') ADVANCE(15); + if (lookahead == '>') + ADVANCE(16); if (lookahead == '|') - ADVANCE(17); - if (lookahead == '}') ADVANCE(18); + if (lookahead == '}') + ADVANCE(19); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') - ADVANCE(19); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(20); + if (('0' <= lookahead && lookahead <= '9')) + ADVANCE(21); END_STATE(); case 1: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 2: - ACCEPT_TOKEN(anon_sym_DOLLAR); - if (lookahead == '{') - ADVANCE(3); + ACCEPT_TOKEN(sym_comment); + if (lookahead != 0 && + lookahead != '\n') + ADVANCE(2); END_STATE(); case 3: - ACCEPT_TOKEN(anon_sym_DOLLAR_LBRACE); + ACCEPT_TOKEN(anon_sym_DOLLAR); + if (lookahead == '{') + ADVANCE(4); END_STATE(); case 4: - if (lookahead == '&') - ADVANCE(5); + ACCEPT_TOKEN(anon_sym_DOLLAR_LBRACE); END_STATE(); case 5: - ACCEPT_TOKEN(anon_sym_AMP_AMP); + if (lookahead == '&') + ADVANCE(6); END_STATE(); case 6: - ACCEPT_TOKEN(anon_sym_COLON); - if (lookahead == '?') - ADVANCE(7); + ACCEPT_TOKEN(anon_sym_AMP_AMP); END_STATE(); case 7: - ACCEPT_TOKEN(anon_sym_COLON_QMARK); + ACCEPT_TOKEN(anon_sym_COLON); + if (lookahead == '?') + ADVANCE(8); END_STATE(); case 8: - ACCEPT_TOKEN(anon_sym_SEMI); - if (lookahead == ';') - ADVANCE(9); + ACCEPT_TOKEN(anon_sym_COLON_QMARK); END_STATE(); case 9: - ACCEPT_TOKEN(anon_sym_SEMI_SEMI); + ACCEPT_TOKEN(anon_sym_SEMI); + if (lookahead == ';') + ADVANCE(10); END_STATE(); case 10: - ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '&') - ADVANCE(11); - if (lookahead == '<') - ADVANCE(12); + ACCEPT_TOKEN(anon_sym_SEMI_SEMI); END_STATE(); case 11: - ACCEPT_TOKEN(anon_sym_LT_AMP); - END_STATE(); - case 12: - ACCEPT_TOKEN(anon_sym_LT_LT); - if (lookahead == '-') + 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_DASH); + ACCEPT_TOKEN(anon_sym_LT_LT); + if (lookahead == '-') + ADVANCE(14); END_STATE(); case 14: - ACCEPT_TOKEN(anon_sym_EQ); + ACCEPT_TOKEN(anon_sym_LT_LT_DASH); END_STATE(); case 15: - ACCEPT_TOKEN(anon_sym_GT); - if (lookahead == '&') - ADVANCE(16); + ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); case 16: - ACCEPT_TOKEN(anon_sym_GT_AMP); + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '&') + ADVANCE(17); END_STATE(); case 17: - ACCEPT_TOKEN(anon_sym_PIPE); + ACCEPT_TOKEN(anon_sym_GT_AMP); END_STATE(); case 18: - ACCEPT_TOKEN(anon_sym_RBRACE); + ACCEPT_TOKEN(anon_sym_PIPE); END_STATE(); case 19: + ACCEPT_TOKEN(anon_sym_RBRACE); + END_STATE(); + case 20: ACCEPT_TOKEN(aux_sym_SLASH_BSLASHs_PLUS_SLASH); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') - ADVANCE(19); - END_STATE(); - case 20: - ACCEPT_TOKEN(sym_file_descriptor); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(20); 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(22); + ADVANCE(23); if (lookahead == '>') - ADVANCE(25); + ADVANCE(26); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') - SKIP(21); + SKIP(22); if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(27); + ADVANCE(28); if ((lookahead < '0' || lookahead > '>') && (lookahead < '{' || lookahead > '}')) - ADVANCE(24); + ADVANCE(25); END_STATE(); - case 22: + case 23: ACCEPT_TOKEN(anon_sym_LT); if (lookahead == '&') - ADVANCE(23); + ADVANCE(24); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && + lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && (lookahead < '{' || lookahead > '}')) - ADVANCE(24); + ADVANCE(25); END_STATE(); - case 23: + case 24: ACCEPT_TOKEN(anon_sym_LT_AMP); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && + lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && (lookahead < '{' || lookahead > '}')) - ADVANCE(24); + ADVANCE(25); END_STATE(); - case 24: + case 25: ACCEPT_TOKEN(sym_leading_word); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && + lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && (lookahead < '{' || lookahead > '}')) - ADVANCE(24); + ADVANCE(25); END_STATE(); - case 25: + case 26: ACCEPT_TOKEN(anon_sym_GT); if (lookahead == '&') - ADVANCE(26); + ADVANCE(27); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && + lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && (lookahead < '{' || lookahead > '}')) - ADVANCE(24); + ADVANCE(25); END_STATE(); - case 26: + case 27: ACCEPT_TOKEN(anon_sym_GT_AMP); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && + lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && (lookahead < '{' || lookahead > '}')) - ADVANCE(24); - END_STATE(); - case 27: - ACCEPT_TOKEN(sym_file_descriptor); - if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(27); + ADVANCE(25); END_STATE(); case 28: + ACCEPT_TOKEN(sym_file_descriptor); + if (('0' <= lookahead && lookahead <= '9')) + ADVANCE(28); + END_STATE(); + case 29: + if (lookahead == '#') + ADVANCE(2); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') - SKIP(28); + SKIP(29); if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(29); + ADVANCE(30); if (lookahead != 0 && + lookahead != '#' && lookahead != '$' && lookahead != '&' && lookahead != '<' && lookahead != '>' && lookahead != '{' && lookahead != '}') - ADVANCE(30); - END_STATE(); - case 29: - ACCEPT_TOKEN(sym_file_descriptor); - if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(29); + ADVANCE(31); END_STATE(); case 30: + ACCEPT_TOKEN(sym_file_descriptor); + if (('0' <= lookahead && lookahead <= '9')) + ADVANCE(30); + END_STATE(); + case 31: ACCEPT_TOKEN(sym_word); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && + lookahead != '#' && lookahead != '$' && lookahead != '&' && lookahead != '<' && lookahead != '>' && lookahead != '{' && lookahead != '}') - ADVANCE(30); - END_STATE(); - case 31: - if (lookahead == '<') - ADVANCE(32); - if (lookahead == '>') - ADVANCE(15); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') - SKIP(31); + ADVANCE(31); END_STATE(); case 32: - ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '&') - ADVANCE(11); - END_STATE(); - case 33: - if (lookahead == '\n') - ADVANCE(34); - if (lookahead == '&') - ADVANCE(4); - if (lookahead == ';') - ADVANCE(8); + if (lookahead == '#') + ADVANCE(2); if (lookahead == '<') - ADVANCE(10); - if (lookahead == '=') - ADVANCE(14); + ADVANCE(33); if (lookahead == '>') - ADVANCE(15); - if (lookahead == '|') - ADVANCE(36); - if (lookahead == '\t' || - lookahead == '\r' || - lookahead == ' ') - ADVANCE(35); - if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(20); - END_STATE(); - case 34: - ACCEPT_TOKEN(anon_sym_LF); - if (lookahead == '\n') - ADVANCE(34); - if (lookahead == '\t' || - lookahead == '\r' || - lookahead == ' ') - ADVANCE(35); - END_STATE(); - case 35: - ACCEPT_TOKEN(aux_sym_SLASH_BSLASHs_PLUS_SLASH); - if (lookahead == '\n') - ADVANCE(34); - if (lookahead == '\t' || - lookahead == '\r' || - lookahead == ' ') - ADVANCE(35); - END_STATE(); - case 36: - ACCEPT_TOKEN(anon_sym_PIPE); - if (lookahead == '&') - ADVANCE(37); - END_STATE(); - case 37: - ACCEPT_TOKEN(anon_sym_PIPE_AMP); - END_STATE(); - case 38: - if (lookahead == 0) - ADVANCE(1); + ADVANCE(16); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') - SKIP(38); + SKIP(32); + END_STATE(); + case 33: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '&') + ADVANCE(12); + END_STATE(); + case 34: + if (lookahead == '\n') + ADVANCE(35); + 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 == '|') + ADVANCE(37); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') + ADVANCE(36); + if (('0' <= lookahead && lookahead <= '9')) + ADVANCE(21); + END_STATE(); + case 35: + ACCEPT_TOKEN(anon_sym_LF); + if (lookahead == '\n') + ADVANCE(35); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') + ADVANCE(36); + END_STATE(); + case 36: + ACCEPT_TOKEN(aux_sym_SLASH_BSLASHs_PLUS_SLASH); + if (lookahead == '\n') + ADVANCE(35); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') + ADVANCE(36); + END_STATE(); + case 37: + ACCEPT_TOKEN(anon_sym_PIPE); + if (lookahead == '&') + ADVANCE(38); + END_STATE(); + case 38: + ACCEPT_TOKEN(anon_sym_PIPE_AMP); END_STATE(); case 39: - if (lookahead == '\n') - ADVANCE(40); - if (lookahead == '&') - ADVANCE(4); - if (lookahead == ';') - ADVANCE(8); - if (lookahead == '|') - ADVANCE(36); + if (lookahead == 0) + ADVANCE(1); + if (lookahead == '#') + ADVANCE(2); if (lookahead == '\t' || + lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(39); END_STATE(); case 40: - ACCEPT_TOKEN(anon_sym_LF); - END_STATE(); - case 41: if (lookahead == '\n') - ADVANCE(40); + ADVANCE(41); + if (lookahead == '#') + ADVANCE(2); if (lookahead == '&') - ADVANCE(4); + ADVANCE(5); if (lookahead == ';') - ADVANCE(8); + ADVANCE(9); + if (lookahead == '|') + ADVANCE(37); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') - SKIP(41); + SKIP(40); + END_STATE(); + case 41: + ACCEPT_TOKEN(anon_sym_LF); END_STATE(); case 42: + if (lookahead == '\n') + ADVANCE(41); + if (lookahead == '#') + ADVANCE(2); + if (lookahead == '&') + ADVANCE(5); + if (lookahead == ';') + ADVANCE(9); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') + SKIP(42); + END_STATE(); + case 43: + if (lookahead == '#') + ADVANCE(2); if (lookahead == '<') - ADVANCE(22); + ADVANCE(23); if (lookahead == '>') - ADVANCE(25); + ADVANCE(26); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') - SKIP(42); + SKIP(43); if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(27); + ADVANCE(28); if (lookahead != 0 && (lookahead < '0' || lookahead > '>') && (lookahead < '{' || lookahead > '}')) - ADVANCE(24); + ADVANCE(25); END_STATE(); - case 43: + case 44: if (lookahead == '\n') - ADVANCE(40); - if (lookahead == '$') + ADVANCE(41); + if (lookahead == '#') ADVANCE(2); + if (lookahead == '$') + ADVANCE(3); if (lookahead == '&') - ADVANCE(4); + ADVANCE(5); if (lookahead == ';') - ADVANCE(44); + ADVANCE(45); if (lookahead == '<') - ADVANCE(10); + ADVANCE(11); if (lookahead == '>') - ADVANCE(15); + ADVANCE(16); if (lookahead == '|') - ADVANCE(46); + ADVANCE(47); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') - SKIP(43); + SKIP(44); if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(29); + ADVANCE(30); if (lookahead != 0 && (lookahead < '{' || lookahead > '}')) - ADVANCE(30); + ADVANCE(31); END_STATE(); - case 44: + case 45: ACCEPT_TOKEN(anon_sym_SEMI); if (lookahead == ';') - ADVANCE(45); + ADVANCE(46); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && + lookahead != '#' && lookahead != '$' && lookahead != '&' && lookahead != ';' && @@ -828,105 +870,110 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead != '>' && lookahead != '{' && lookahead != '}') - ADVANCE(30); + ADVANCE(31); END_STATE(); - case 45: + case 46: ACCEPT_TOKEN(anon_sym_SEMI_SEMI); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && + lookahead != '#' && lookahead != '$' && lookahead != '&' && lookahead != '<' && lookahead != '>' && lookahead != '{' && lookahead != '}') - ADVANCE(30); + ADVANCE(31); END_STATE(); - case 46: + case 47: ACCEPT_TOKEN(anon_sym_PIPE); if (lookahead == '&') - ADVANCE(37); + ADVANCE(38); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && + lookahead != '#' && lookahead != '$' && lookahead != '<' && lookahead != '>' && lookahead != '{' && lookahead != '}') - ADVANCE(30); + ADVANCE(31); END_STATE(); - case 47: + case 48: + if (lookahead == '#') + ADVANCE(2); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') - SKIP(47); + SKIP(48); if (lookahead != 0 && + lookahead != '#' && lookahead != '$' && lookahead != '&' && lookahead != '<' && lookahead != '>' && lookahead != '{' && lookahead != '}') - ADVANCE(30); - END_STATE(); - case 48: + ADVANCE(31); END_STATE(); case 49: - if (lookahead == '\n') - ADVANCE(40); - if (lookahead == '&') - ADVANCE(4); - if (lookahead == ';') - ADVANCE(8); - if (lookahead == '<') - ADVANCE(10); - if (lookahead == '>') - ADVANCE(15); - if (lookahead == '|') - ADVANCE(36); - if (lookahead == '\t' || - lookahead == '\r' || - lookahead == ' ') - SKIP(49); - if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(20); - END_STATE(); - case 50: + if (lookahead == '#') + ADVANCE(2); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') + SKIP(49); + END_STATE(); + case 50: + if (lookahead == '\n') + ADVANCE(41); + if (lookahead == '#') + ADVANCE(2); + if (lookahead == '&') + ADVANCE(5); + if (lookahead == ';') + ADVANCE(9); + if (lookahead == '<') + ADVANCE(11); + if (lookahead == '>') + ADVANCE(16); + if (lookahead == '|') + ADVANCE(37); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') SKIP(50); - if (lookahead != 0 && - lookahead != ':' && - lookahead != ';' && - lookahead != '=' && - (lookahead < '{' || lookahead > '}')) - ADVANCE(24); + if (('0' <= lookahead && lookahead <= '9')) + ADVANCE(21); END_STATE(); case 51: - if (lookahead == '$') + if (lookahead == '#') ADVANCE(2); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(51); + if (lookahead != 0 && + lookahead != ':' && + lookahead != ';' && + lookahead != '=' && + (lookahead < '{' || lookahead > '}')) + ADVANCE(25); END_STATE(); case 52: - if (lookahead == ':') - ADVANCE(6); - if (lookahead == '=') - ADVANCE(14); - if (lookahead == '}') - ADVANCE(18); + if (lookahead == '#') + ADVANCE(2); + if (lookahead == '$') + ADVANCE(3); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || @@ -934,8 +981,14 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { SKIP(52); END_STATE(); case 53: + if (lookahead == '#') + ADVANCE(2); + if (lookahead == ':') + ADVANCE(7); + if (lookahead == '=') + ADVANCE(15); if (lookahead == '}') - ADVANCE(18); + ADVANCE(19); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || @@ -943,118 +996,138 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { SKIP(53); END_STATE(); case 54: - if (lookahead == '\n') - ADVANCE(40); - if (lookahead == '&') - ADVANCE(55); - if (lookahead == ';') - ADVANCE(8); - if (lookahead == '<') - ADVANCE(57); - if (lookahead == '>') - ADVANCE(25); - if (lookahead == '|') - ADVANCE(36); + if (lookahead == '#') + ADVANCE(2); + if (lookahead == '}') + ADVANCE(19); if (lookahead == '\t' || + lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(54); + END_STATE(); + case 55: + if (lookahead == '\n') + ADVANCE(41); + if (lookahead == '#') + ADVANCE(2); + if (lookahead == '&') + ADVANCE(56); + if (lookahead == ';') + ADVANCE(9); + if (lookahead == '<') + ADVANCE(58); + if (lookahead == '>') + ADVANCE(26); + if (lookahead == '|') + ADVANCE(37); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') + SKIP(55); if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(27); + ADVANCE(28); if (lookahead != 0 && (lookahead < '0' || lookahead > '>') && (lookahead < '{' || lookahead > '}')) - ADVANCE(24); + ADVANCE(25); END_STATE(); - case 55: + case 56: ACCEPT_TOKEN(sym_leading_word); if (lookahead == '&') - ADVANCE(56); + ADVANCE(57); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && + lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && (lookahead < '{' || lookahead > '}')) - ADVANCE(24); + ADVANCE(25); END_STATE(); - case 56: + case 57: ACCEPT_TOKEN(anon_sym_AMP_AMP); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && + lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && (lookahead < '{' || lookahead > '}')) - ADVANCE(24); - END_STATE(); - case 57: - ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '&') - ADVANCE(23); - if (lookahead == '<') - ADVANCE(58); - if (lookahead != 0 && - lookahead != '\t' && - lookahead != '\n' && - lookahead != '\r' && - lookahead != ' ' && - (lookahead < ':' || lookahead > '=') && - (lookahead < '{' || lookahead > '}')) - ADVANCE(24); + ADVANCE(25); END_STATE(); case 58: - ACCEPT_TOKEN(anon_sym_LT_LT); - if (lookahead == '-') + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '&') + ADVANCE(24); + if (lookahead == '<') ADVANCE(59); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && + lookahead != '#' && + (lookahead < ':' || lookahead > '=') && + (lookahead < '{' || lookahead > '}')) + ADVANCE(25); + END_STATE(); + case 59: + ACCEPT_TOKEN(anon_sym_LT_LT); + if (lookahead == '-') + ADVANCE(60); + if (lookahead != 0 && + lookahead != '\t' && + lookahead != '\n' && + lookahead != '\r' && + lookahead != ' ' && + lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && (lookahead < '{' || lookahead > '}')) - ADVANCE(24); + ADVANCE(25); END_STATE(); - case 59: + case 60: ACCEPT_TOKEN(anon_sym_LT_LT_DASH); if (lookahead != 0 && lookahead != '\t' && lookahead != '\n' && lookahead != '\r' && lookahead != ' ' && + lookahead != '#' && lookahead != ':' && lookahead != ';' && lookahead != '=' && (lookahead < '{' || lookahead > '}')) - ADVANCE(24); - END_STATE(); - case 60: - if (lookahead == '<') - ADVANCE(22); - if (lookahead == '>') ADVANCE(25); + END_STATE(); + case 61: + if (lookahead == '#') + ADVANCE(2); + if (lookahead == '<') + ADVANCE(23); + if (lookahead == '>') + ADVANCE(26); if (lookahead == '}') - ADVANCE(18); + ADVANCE(19); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') - SKIP(60); + SKIP(61); if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(27); + ADVANCE(28); if (lookahead != 0 && (lookahead < '0' || lookahead > '>') && (lookahead < '{' || lookahead > '}')) - ADVANCE(24); + ADVANCE(25); END_STATE(); default: return false; @@ -1063,113 +1136,113 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { static TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0, .external_lex_state = 1}, - [1] = {.lex_state = 21}, - [2] = {.lex_state = 28}, - [3] = {.lex_state = 31}, - [4] = {.lex_state = 33}, - [5] = {.lex_state = 38}, - [6] = {.lex_state = 21}, - [7] = {.lex_state = 39}, - [8] = {.lex_state = 41}, - [9] = {.lex_state = 42}, - [10] = {.lex_state = 21}, - [11] = {.lex_state = 42}, - [12] = {.lex_state = 42}, - [13] = {.lex_state = 42}, - [14] = {.lex_state = 28}, - [15] = {.lex_state = 43}, - [16] = {.lex_state = 47}, - [17] = {.lex_state = 28}, - [18] = {.lex_state = 48, .external_lex_state = 2}, - [19] = {.lex_state = 31}, - [20] = {.lex_state = 49}, - [21] = {.lex_state = 49}, - [22] = {.lex_state = 42}, - [23] = {.lex_state = 42}, - [24] = {.lex_state = 21}, - [25] = {.lex_state = 21}, - [26] = {.lex_state = 33}, - [27] = {.lex_state = 42}, - [28] = {.lex_state = 42}, - [29] = {.lex_state = 42}, - [30] = {.lex_state = 47}, - [31] = {.lex_state = 50}, - [32] = {.lex_state = 43}, - [33] = {.lex_state = 43}, - [34] = {.lex_state = 43}, - [35] = {.lex_state = 49}, - [36] = {.lex_state = 42}, - [37] = {.lex_state = 49}, - [38] = {.lex_state = 49}, - [39] = {.lex_state = 49}, - [40] = {.lex_state = 51, .external_lex_state = 3}, - [41] = {.lex_state = 49}, - [42] = {.lex_state = 28}, - [43] = {.lex_state = 49}, - [44] = {.lex_state = 41}, - [45] = {.lex_state = 39}, - [46] = {.lex_state = 41}, - [47] = {.lex_state = 43}, - [48] = {.lex_state = 49}, - [49] = {.lex_state = 43}, - [50] = {.lex_state = 52}, - [51] = {.lex_state = 43}, - [52] = {.lex_state = 43}, - [53] = {.lex_state = 49}, - [54] = {.lex_state = 51, .external_lex_state = 3}, - [55] = {.lex_state = 49}, - [56] = {.lex_state = 47}, - [57] = {.lex_state = 50}, - [58] = {.lex_state = 51, .external_lex_state = 3}, - [59] = {.lex_state = 49}, - [60] = {.lex_state = 49}, - [61] = {.lex_state = 43}, - [62] = {.lex_state = 49}, - [63] = {.lex_state = 47}, - [64] = {.lex_state = 43}, - [65] = {.lex_state = 51, .external_lex_state = 3}, - [66] = {.lex_state = 52}, - [67] = {.lex_state = 51, .external_lex_state = 3}, - [68] = {.lex_state = 49}, - [69] = {.lex_state = 49}, - [70] = {.lex_state = 53}, - [71] = {.lex_state = 47}, - [72] = {.lex_state = 51, .external_lex_state = 3}, - [73] = {.lex_state = 43}, - [74] = {.lex_state = 53}, - [75] = {.lex_state = 51, .external_lex_state = 3}, - [76] = {.lex_state = 43}, - [77] = {.lex_state = 47}, - [78] = {.lex_state = 47}, - [79] = {.lex_state = 50}, - [80] = {.lex_state = 47}, - [81] = {.lex_state = 43, .external_lex_state = 3}, - [82] = {.lex_state = 28}, - [83] = {.lex_state = 54}, - [84] = {.lex_state = 51, .external_lex_state = 3}, - [85] = {.lex_state = 49}, - [86] = {.lex_state = 21}, - [87] = {.lex_state = 39}, - [88] = {.lex_state = 41}, - [89] = {.lex_state = 42}, - [90] = {.lex_state = 43, .external_lex_state = 3}, - [91] = {.lex_state = 54}, - [92] = {.lex_state = 49}, - [93] = {.lex_state = 43}, - [94] = {.lex_state = 49}, - [95] = {.lex_state = 49}, - [96] = {.lex_state = 60}, - [97] = {.lex_state = 43, .external_lex_state = 3}, - [98] = {.lex_state = 52}, - [99] = {.lex_state = 53}, - [100] = {.lex_state = 54}, - [101] = {.lex_state = 54}, - [102] = {.lex_state = 28}, - [103] = {.lex_state = 49}, - [104] = {.lex_state = 43, .external_lex_state = 3}, - [105] = {.lex_state = 43, .external_lex_state = 3}, - [106] = {.lex_state = 54}, - [107] = {.lex_state = 54}, + [1] = {.lex_state = 22}, + [2] = {.lex_state = 29}, + [3] = {.lex_state = 32}, + [4] = {.lex_state = 34}, + [5] = {.lex_state = 39}, + [6] = {.lex_state = 22}, + [7] = {.lex_state = 40}, + [8] = {.lex_state = 42}, + [9] = {.lex_state = 43}, + [10] = {.lex_state = 22}, + [11] = {.lex_state = 43}, + [12] = {.lex_state = 43}, + [13] = {.lex_state = 43}, + [14] = {.lex_state = 29}, + [15] = {.lex_state = 44}, + [16] = {.lex_state = 48}, + [17] = {.lex_state = 29}, + [18] = {.lex_state = 49, .external_lex_state = 2}, + [19] = {.lex_state = 32}, + [20] = {.lex_state = 50}, + [21] = {.lex_state = 50}, + [22] = {.lex_state = 43}, + [23] = {.lex_state = 43}, + [24] = {.lex_state = 22}, + [25] = {.lex_state = 22}, + [26] = {.lex_state = 34}, + [27] = {.lex_state = 43}, + [28] = {.lex_state = 43}, + [29] = {.lex_state = 43}, + [30] = {.lex_state = 48}, + [31] = {.lex_state = 51}, + [32] = {.lex_state = 44}, + [33] = {.lex_state = 44}, + [34] = {.lex_state = 44}, + [35] = {.lex_state = 50}, + [36] = {.lex_state = 43}, + [37] = {.lex_state = 50}, + [38] = {.lex_state = 50}, + [39] = {.lex_state = 50}, + [40] = {.lex_state = 52, .external_lex_state = 3}, + [41] = {.lex_state = 50}, + [42] = {.lex_state = 29}, + [43] = {.lex_state = 50}, + [44] = {.lex_state = 42}, + [45] = {.lex_state = 40}, + [46] = {.lex_state = 42}, + [47] = {.lex_state = 44}, + [48] = {.lex_state = 50}, + [49] = {.lex_state = 44}, + [50] = {.lex_state = 53}, + [51] = {.lex_state = 44}, + [52] = {.lex_state = 44}, + [53] = {.lex_state = 50}, + [54] = {.lex_state = 52, .external_lex_state = 3}, + [55] = {.lex_state = 50}, + [56] = {.lex_state = 48}, + [57] = {.lex_state = 51}, + [58] = {.lex_state = 52, .external_lex_state = 3}, + [59] = {.lex_state = 50}, + [60] = {.lex_state = 50}, + [61] = {.lex_state = 44}, + [62] = {.lex_state = 50}, + [63] = {.lex_state = 48}, + [64] = {.lex_state = 44}, + [65] = {.lex_state = 52, .external_lex_state = 3}, + [66] = {.lex_state = 53}, + [67] = {.lex_state = 52, .external_lex_state = 3}, + [68] = {.lex_state = 50}, + [69] = {.lex_state = 50}, + [70] = {.lex_state = 54}, + [71] = {.lex_state = 48}, + [72] = {.lex_state = 52, .external_lex_state = 3}, + [73] = {.lex_state = 44}, + [74] = {.lex_state = 54}, + [75] = {.lex_state = 52, .external_lex_state = 3}, + [76] = {.lex_state = 44}, + [77] = {.lex_state = 48}, + [78] = {.lex_state = 48}, + [79] = {.lex_state = 51}, + [80] = {.lex_state = 48}, + [81] = {.lex_state = 44, .external_lex_state = 3}, + [82] = {.lex_state = 29}, + [83] = {.lex_state = 55}, + [84] = {.lex_state = 52, .external_lex_state = 3}, + [85] = {.lex_state = 50}, + [86] = {.lex_state = 22}, + [87] = {.lex_state = 40}, + [88] = {.lex_state = 42}, + [89] = {.lex_state = 43}, + [90] = {.lex_state = 44, .external_lex_state = 3}, + [91] = {.lex_state = 55}, + [92] = {.lex_state = 50}, + [93] = {.lex_state = 44}, + [94] = {.lex_state = 50}, + [95] = {.lex_state = 50}, + [96] = {.lex_state = 61}, + [97] = {.lex_state = 44, .external_lex_state = 3}, + [98] = {.lex_state = 53}, + [99] = {.lex_state = 54}, + [100] = {.lex_state = 55}, + [101] = {.lex_state = 55}, + [102] = {.lex_state = 29}, + [103] = {.lex_state = 50}, + [104] = {.lex_state = 44, .external_lex_state = 3}, + [105] = {.lex_state = 44, .external_lex_state = 3}, + [106] = {.lex_state = 55}, + [107] = {.lex_state = 55}, }; enum { @@ -1244,6 +1317,7 @@ static uint16_t ts_parse_table[STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LT_LT_DASH] = ACTIONS(29), [sym_file_descriptor] = ACTIONS(31), [anon_sym_SEMI_SEMI] = ACTIONS(33), + [sym_comment] = ACTIONS(35), }, [1] = { [sym_program] = STATE(5), @@ -1255,77 +1329,86 @@ static uint16_t ts_parse_table[STATE_COUNT][SYMBOL_COUNT] = { [sym_file_redirect] = STATE(9), [aux_sym_program_repeat1] = STATE(10), [aux_sym_simple_command_repeat1] = STATE(11), - [ts_builtin_sym_end] = ACTIONS(35), - [anon_sym_LT] = ACTIONS(37), - [anon_sym_GT] = ACTIONS(37), - [anon_sym_LT_AMP] = ACTIONS(37), - [anon_sym_GT_AMP] = ACTIONS(37), - [sym_file_descriptor] = ACTIONS(39), - [sym_leading_word] = ACTIONS(41), + [ts_builtin_sym_end] = ACTIONS(37), + [anon_sym_LT] = ACTIONS(39), + [anon_sym_GT] = ACTIONS(39), + [anon_sym_LT_AMP] = ACTIONS(39), + [anon_sym_GT_AMP] = ACTIONS(39), + [sym_file_descriptor] = ACTIONS(41), + [sym_leading_word] = ACTIONS(43), + [sym_comment] = ACTIONS(45), }, [2] = { - [sym_file_descriptor] = ACTIONS(43), - [sym_word] = ACTIONS(45), + [sym_file_descriptor] = ACTIONS(47), + [sym_word] = ACTIONS(49), + [sym_comment] = ACTIONS(45), }, [3] = { - [anon_sym_LT] = ACTIONS(47), - [anon_sym_GT] = ACTIONS(47), - [anon_sym_LT_AMP] = ACTIONS(49), - [anon_sym_GT_AMP] = ACTIONS(49), + [anon_sym_LT] = ACTIONS(51), + [anon_sym_GT] = ACTIONS(51), + [anon_sym_LT_AMP] = ACTIONS(53), + [anon_sym_GT_AMP] = ACTIONS(53), + [sym_comment] = ACTIONS(45), }, [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(51), - [anon_sym_PIPE] = ACTIONS(53), - [anon_sym_PIPE_AMP] = ACTIONS(53), - [anon_sym_AMP_AMP] = ACTIONS(53), - [anon_sym_SEMI] = ACTIONS(53), - [anon_sym_EQ] = ACTIONS(55), - [anon_sym_LT] = ACTIONS(57), - [anon_sym_GT] = ACTIONS(57), - [anon_sym_LT_AMP] = ACTIONS(57), - [anon_sym_GT_AMP] = ACTIONS(57), - [anon_sym_LT_LT] = ACTIONS(59), - [anon_sym_LT_LT_DASH] = ACTIONS(59), - [sym_file_descriptor] = ACTIONS(61), - [anon_sym_LF] = ACTIONS(53), - [anon_sym_SEMI_SEMI] = ACTIONS(53), + [aux_sym_SLASH_BSLASHs_PLUS_SLASH] = ACTIONS(55), + [anon_sym_PIPE] = ACTIONS(57), + [anon_sym_PIPE_AMP] = ACTIONS(57), + [anon_sym_AMP_AMP] = ACTIONS(57), + [anon_sym_SEMI] = ACTIONS(57), + [anon_sym_EQ] = ACTIONS(59), + [anon_sym_LT] = ACTIONS(61), + [anon_sym_GT] = ACTIONS(61), + [anon_sym_LT_AMP] = ACTIONS(61), + [anon_sym_GT_AMP] = ACTIONS(61), + [anon_sym_LT_LT] = ACTIONS(63), + [anon_sym_LT_LT_DASH] = ACTIONS(63), + [sym_file_descriptor] = ACTIONS(65), + [anon_sym_LF] = ACTIONS(57), + [anon_sym_SEMI_SEMI] = ACTIONS(57), + [sym_comment] = ACTIONS(35), }, [5] = { - [ts_builtin_sym_end] = ACTIONS(63), + [ts_builtin_sym_end] = ACTIONS(67), + [sym_comment] = ACTIONS(45), }, [6] = { - [ts_builtin_sym_end] = ACTIONS(65), - [anon_sym_LT] = ACTIONS(67), - [anon_sym_GT] = ACTIONS(67), - [anon_sym_LT_AMP] = ACTIONS(67), - [anon_sym_GT_AMP] = ACTIONS(67), - [sym_file_descriptor] = ACTIONS(67), - [sym_leading_word] = ACTIONS(69), + [ts_builtin_sym_end] = ACTIONS(69), + [anon_sym_LT] = ACTIONS(71), + [anon_sym_GT] = ACTIONS(71), + [anon_sym_LT_AMP] = ACTIONS(71), + [anon_sym_GT_AMP] = ACTIONS(71), + [sym_file_descriptor] = ACTIONS(71), + [sym_leading_word] = ACTIONS(73), + [sym_comment] = ACTIONS(45), }, [7] = { - [anon_sym_PIPE] = ACTIONS(71), - [anon_sym_PIPE_AMP] = ACTIONS(71), - [anon_sym_AMP_AMP] = ACTIONS(73), - [anon_sym_SEMI] = ACTIONS(73), - [anon_sym_LF] = ACTIONS(75), - [anon_sym_SEMI_SEMI] = ACTIONS(75), + [anon_sym_PIPE] = ACTIONS(75), + [anon_sym_PIPE_AMP] = ACTIONS(75), + [anon_sym_AMP_AMP] = ACTIONS(77), + [anon_sym_SEMI] = ACTIONS(77), + [anon_sym_LF] = ACTIONS(79), + [anon_sym_SEMI_SEMI] = ACTIONS(79), + [sym_comment] = ACTIONS(35), }, [8] = { - [anon_sym_AMP_AMP] = ACTIONS(73), - [anon_sym_SEMI] = ACTIONS(73), - [anon_sym_LF] = ACTIONS(75), - [anon_sym_SEMI_SEMI] = ACTIONS(75), + [anon_sym_AMP_AMP] = ACTIONS(77), + [anon_sym_SEMI] = ACTIONS(77), + [anon_sym_LF] = ACTIONS(79), + [anon_sym_SEMI_SEMI] = ACTIONS(79), + [sym_comment] = ACTIONS(35), }, [9] = { - [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), + [anon_sym_LT] = ACTIONS(81), + [anon_sym_GT] = ACTIONS(81), + [anon_sym_LT_AMP] = ACTIONS(81), + [anon_sym_GT_AMP] = ACTIONS(81), + [sym_file_descriptor] = ACTIONS(81), + [sym_leading_word] = ACTIONS(83), + [sym_comment] = ACTIONS(45), }, [10] = { [sym_command] = STATE(25), @@ -1335,43 +1418,48 @@ static uint16_t ts_parse_table[STATE_COUNT][SYMBOL_COUNT] = { [sym_environment_variable_assignment] = STATE(9), [sym_file_redirect] = STATE(9), [aux_sym_simple_command_repeat1] = STATE(11), - [ts_builtin_sym_end] = ACTIONS(81), - [anon_sym_LT] = ACTIONS(37), - [anon_sym_GT] = ACTIONS(37), - [anon_sym_LT_AMP] = ACTIONS(37), - [anon_sym_GT_AMP] = ACTIONS(37), - [sym_file_descriptor] = ACTIONS(39), - [sym_leading_word] = ACTIONS(41), + [ts_builtin_sym_end] = ACTIONS(85), + [anon_sym_LT] = ACTIONS(39), + [anon_sym_GT] = ACTIONS(39), + [anon_sym_LT_AMP] = ACTIONS(39), + [anon_sym_GT_AMP] = ACTIONS(39), + [sym_file_descriptor] = ACTIONS(41), + [sym_leading_word] = ACTIONS(43), + [sym_comment] = ACTIONS(45), }, [11] = { [sym_environment_variable_assignment] = STATE(27), [sym_file_redirect] = STATE(27), - [anon_sym_LT] = ACTIONS(37), - [anon_sym_GT] = ACTIONS(37), - [anon_sym_LT_AMP] = ACTIONS(37), - [anon_sym_GT_AMP] = ACTIONS(37), - [sym_file_descriptor] = ACTIONS(39), - [sym_leading_word] = ACTIONS(83), + [anon_sym_LT] = ACTIONS(39), + [anon_sym_GT] = ACTIONS(39), + [anon_sym_LT_AMP] = ACTIONS(39), + [anon_sym_GT_AMP] = ACTIONS(39), + [sym_file_descriptor] = ACTIONS(41), + [sym_leading_word] = ACTIONS(87), + [sym_comment] = ACTIONS(45), }, [12] = { - [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), - }, - [13] = { [anon_sym_LT] = ACTIONS(89), [anon_sym_GT] = ACTIONS(89), [anon_sym_LT_AMP] = ACTIONS(89), [anon_sym_GT_AMP] = ACTIONS(89), [sym_file_descriptor] = ACTIONS(89), [sym_leading_word] = ACTIONS(91), + [sym_comment] = ACTIONS(45), + }, + [13] = { + [anon_sym_LT] = ACTIONS(93), + [anon_sym_GT] = ACTIONS(93), + [anon_sym_LT_AMP] = ACTIONS(93), + [anon_sym_GT_AMP] = ACTIONS(93), + [sym_file_descriptor] = ACTIONS(93), + [sym_leading_word] = ACTIONS(95), + [sym_comment] = ACTIONS(45), }, [14] = { - [sym_file_descriptor] = ACTIONS(93), - [sym_word] = ACTIONS(95), + [sym_file_descriptor] = ACTIONS(97), + [sym_word] = ACTIONS(99), + [sym_comment] = ACTIONS(45), }, [15] = { [sym_expansion] = STATE(33), @@ -1380,84 +1468,92 @@ static uint16_t ts_parse_table[STATE_COUNT][SYMBOL_COUNT] = { [sym_heredoc_redirect] = STATE(20), [aux_sym_simple_command_repeat2] = STATE(34), [aux_sym_simple_command_repeat3] = STATE(35), - [anon_sym_PIPE] = ACTIONS(97), - [anon_sym_PIPE_AMP] = ACTIONS(97), - [anon_sym_AMP_AMP] = ACTIONS(97), - [anon_sym_SEMI] = ACTIONS(97), - [anon_sym_DOLLAR] = ACTIONS(99), - [anon_sym_DOLLAR_LBRACE] = ACTIONS(101), - [anon_sym_LT] = ACTIONS(57), - [anon_sym_GT] = ACTIONS(57), - [anon_sym_LT_AMP] = ACTIONS(57), - [anon_sym_GT_AMP] = ACTIONS(57), - [anon_sym_LT_LT] = ACTIONS(59), - [anon_sym_LT_LT_DASH] = ACTIONS(59), - [sym_file_descriptor] = ACTIONS(61), - [sym_word] = ACTIONS(103), - [anon_sym_LF] = ACTIONS(97), - [anon_sym_SEMI_SEMI] = ACTIONS(97), + [anon_sym_PIPE] = ACTIONS(101), + [anon_sym_PIPE_AMP] = ACTIONS(101), + [anon_sym_AMP_AMP] = ACTIONS(101), + [anon_sym_SEMI] = ACTIONS(101), + [anon_sym_DOLLAR] = ACTIONS(103), + [anon_sym_DOLLAR_LBRACE] = ACTIONS(105), + [anon_sym_LT] = ACTIONS(61), + [anon_sym_GT] = ACTIONS(61), + [anon_sym_LT_AMP] = ACTIONS(61), + [anon_sym_GT_AMP] = ACTIONS(61), + [anon_sym_LT_LT] = ACTIONS(63), + [anon_sym_LT_LT_DASH] = ACTIONS(63), + [sym_file_descriptor] = ACTIONS(65), + [sym_word] = ACTIONS(107), + [anon_sym_LF] = ACTIONS(101), + [anon_sym_SEMI_SEMI] = ACTIONS(101), + [sym_comment] = ACTIONS(35), }, [16] = { - [sym_word] = ACTIONS(105), + [sym_word] = ACTIONS(109), + [sym_comment] = ACTIONS(45), }, [17] = { - [sym_file_descriptor] = ACTIONS(107), - [sym_word] = ACTIONS(109), + [sym_file_descriptor] = ACTIONS(111), + [sym_word] = ACTIONS(113), + [sym_comment] = ACTIONS(45), }, [18] = { [sym_heredoc] = STATE(41), - [sym__simple_heredoc] = ACTIONS(111), - [sym__heredoc_beginning] = ACTIONS(113), + [sym__simple_heredoc] = ACTIONS(115), + [sym__heredoc_beginning] = ACTIONS(117), + [sym_comment] = ACTIONS(45), }, [19] = { - [anon_sym_LT] = ACTIONS(115), - [anon_sym_GT] = ACTIONS(115), - [anon_sym_LT_AMP] = ACTIONS(117), - [anon_sym_GT_AMP] = ACTIONS(117), - }, - [20] = { - [anon_sym_PIPE] = ACTIONS(119), - [anon_sym_PIPE_AMP] = ACTIONS(119), - [anon_sym_AMP_AMP] = ACTIONS(119), - [anon_sym_SEMI] = ACTIONS(119), [anon_sym_LT] = ACTIONS(119), [anon_sym_GT] = ACTIONS(119), - [anon_sym_LT_AMP] = ACTIONS(119), - [anon_sym_GT_AMP] = ACTIONS(119), - [anon_sym_LT_LT] = ACTIONS(119), - [anon_sym_LT_LT_DASH] = ACTIONS(119), - [sym_file_descriptor] = ACTIONS(119), - [anon_sym_LF] = ACTIONS(119), - [anon_sym_SEMI_SEMI] = ACTIONS(119), + [anon_sym_LT_AMP] = ACTIONS(121), + [anon_sym_GT_AMP] = ACTIONS(121), + [sym_comment] = ACTIONS(45), + }, + [20] = { + [anon_sym_PIPE] = ACTIONS(123), + [anon_sym_PIPE_AMP] = ACTIONS(123), + [anon_sym_AMP_AMP] = ACTIONS(123), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym_LT] = ACTIONS(123), + [anon_sym_GT] = ACTIONS(123), + [anon_sym_LT_AMP] = ACTIONS(123), + [anon_sym_GT_AMP] = ACTIONS(123), + [anon_sym_LT_LT] = ACTIONS(123), + [anon_sym_LT_LT_DASH] = ACTIONS(123), + [sym_file_descriptor] = ACTIONS(123), + [anon_sym_LF] = ACTIONS(123), + [anon_sym_SEMI_SEMI] = ACTIONS(123), + [sym_comment] = ACTIONS(35), }, [21] = { [sym_file_redirect] = STATE(43), [sym_heredoc_redirect] = STATE(43), - [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(57), - [anon_sym_GT] = ACTIONS(57), - [anon_sym_LT_AMP] = ACTIONS(57), - [anon_sym_GT_AMP] = ACTIONS(57), - [anon_sym_LT_LT] = ACTIONS(59), - [anon_sym_LT_LT_DASH] = ACTIONS(59), - [sym_file_descriptor] = ACTIONS(61), - [anon_sym_LF] = ACTIONS(97), - [anon_sym_SEMI_SEMI] = ACTIONS(97), + [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(61), + [anon_sym_GT] = ACTIONS(61), + [anon_sym_LT_AMP] = ACTIONS(61), + [anon_sym_GT_AMP] = ACTIONS(61), + [anon_sym_LT_LT] = ACTIONS(63), + [anon_sym_LT_LT_DASH] = ACTIONS(63), + [sym_file_descriptor] = ACTIONS(65), + [anon_sym_LF] = ACTIONS(101), + [anon_sym_SEMI_SEMI] = ACTIONS(101), + [sym_comment] = ACTIONS(35), }, [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(37), - [anon_sym_GT] = ACTIONS(37), - [anon_sym_LT_AMP] = ACTIONS(37), - [anon_sym_GT_AMP] = ACTIONS(37), - [sym_file_descriptor] = ACTIONS(39), - [sym_leading_word] = ACTIONS(41), + [anon_sym_LT] = ACTIONS(39), + [anon_sym_GT] = ACTIONS(39), + [anon_sym_LT_AMP] = ACTIONS(39), + [anon_sym_GT_AMP] = ACTIONS(39), + [sym_file_descriptor] = ACTIONS(41), + [sym_leading_word] = ACTIONS(43), + [sym_comment] = ACTIONS(45), }, [23] = { [sym_simple_command] = STATE(45), @@ -1465,116 +1561,127 @@ static uint16_t ts_parse_table[STATE_COUNT][SYMBOL_COUNT] = { [sym_environment_variable_assignment] = STATE(9), [sym_file_redirect] = STATE(9), [aux_sym_simple_command_repeat1] = STATE(11), - [anon_sym_LT] = ACTIONS(37), - [anon_sym_GT] = ACTIONS(37), - [anon_sym_LT_AMP] = ACTIONS(37), - [anon_sym_GT_AMP] = ACTIONS(37), - [sym_file_descriptor] = ACTIONS(39), - [sym_leading_word] = ACTIONS(41), + [anon_sym_LT] = ACTIONS(39), + [anon_sym_GT] = ACTIONS(39), + [anon_sym_LT_AMP] = ACTIONS(39), + [anon_sym_GT_AMP] = ACTIONS(39), + [sym_file_descriptor] = ACTIONS(41), + [sym_leading_word] = ACTIONS(43), + [sym_comment] = ACTIONS(45), }, [24] = { - [ts_builtin_sym_end] = ACTIONS(121), - [anon_sym_LT] = ACTIONS(123), - [anon_sym_GT] = ACTIONS(123), - [anon_sym_LT_AMP] = ACTIONS(123), - [anon_sym_GT_AMP] = ACTIONS(123), - [sym_file_descriptor] = ACTIONS(123), - [sym_leading_word] = ACTIONS(125), + [ts_builtin_sym_end] = ACTIONS(125), + [anon_sym_LT] = ACTIONS(127), + [anon_sym_GT] = ACTIONS(127), + [anon_sym_LT_AMP] = ACTIONS(127), + [anon_sym_GT_AMP] = ACTIONS(127), + [sym_file_descriptor] = ACTIONS(127), + [sym_leading_word] = ACTIONS(129), + [sym_comment] = ACTIONS(45), }, [25] = { - [ts_builtin_sym_end] = ACTIONS(127), - [anon_sym_LT] = ACTIONS(129), - [anon_sym_GT] = ACTIONS(129), - [anon_sym_LT_AMP] = ACTIONS(129), - [anon_sym_GT_AMP] = ACTIONS(129), - [sym_file_descriptor] = ACTIONS(129), - [sym_leading_word] = ACTIONS(131), + [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(45), }, [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(133), - [anon_sym_PIPE] = ACTIONS(135), - [anon_sym_PIPE_AMP] = ACTIONS(135), - [anon_sym_AMP_AMP] = ACTIONS(135), - [anon_sym_SEMI] = ACTIONS(135), - [anon_sym_EQ] = ACTIONS(55), - [anon_sym_LT] = ACTIONS(57), - [anon_sym_GT] = ACTIONS(57), - [anon_sym_LT_AMP] = ACTIONS(57), - [anon_sym_GT_AMP] = ACTIONS(57), - [anon_sym_LT_LT] = ACTIONS(59), - [anon_sym_LT_LT_DASH] = ACTIONS(59), - [sym_file_descriptor] = ACTIONS(61), - [anon_sym_LF] = ACTIONS(135), - [anon_sym_SEMI_SEMI] = ACTIONS(135), + [aux_sym_SLASH_BSLASHs_PLUS_SLASH] = ACTIONS(137), + [anon_sym_PIPE] = ACTIONS(139), + [anon_sym_PIPE_AMP] = ACTIONS(139), + [anon_sym_AMP_AMP] = ACTIONS(139), + [anon_sym_SEMI] = ACTIONS(139), + [anon_sym_EQ] = ACTIONS(59), + [anon_sym_LT] = ACTIONS(61), + [anon_sym_GT] = ACTIONS(61), + [anon_sym_LT_AMP] = ACTIONS(61), + [anon_sym_GT_AMP] = ACTIONS(61), + [anon_sym_LT_LT] = ACTIONS(63), + [anon_sym_LT_LT_DASH] = ACTIONS(63), + [sym_file_descriptor] = ACTIONS(65), + [anon_sym_LF] = ACTIONS(139), + [anon_sym_SEMI_SEMI] = ACTIONS(139), + [sym_comment] = ACTIONS(35), }, [27] = { - [anon_sym_LT] = ACTIONS(137), - [anon_sym_GT] = ACTIONS(137), - [anon_sym_LT_AMP] = ACTIONS(137), - [anon_sym_GT_AMP] = ACTIONS(137), - [sym_file_descriptor] = ACTIONS(137), - [sym_leading_word] = ACTIONS(139), - }, - [28] = { [anon_sym_LT] = ACTIONS(141), [anon_sym_GT] = ACTIONS(141), [anon_sym_LT_AMP] = ACTIONS(141), [anon_sym_GT_AMP] = ACTIONS(141), [sym_file_descriptor] = ACTIONS(141), [sym_leading_word] = ACTIONS(143), + [sym_comment] = ACTIONS(45), }, - [29] = { + [28] = { [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(45), + }, + [29] = { + [anon_sym_LT] = ACTIONS(149), + [anon_sym_GT] = ACTIONS(149), + [anon_sym_LT_AMP] = ACTIONS(149), + [anon_sym_GT_AMP] = ACTIONS(149), + [sym_file_descriptor] = ACTIONS(149), + [sym_leading_word] = ACTIONS(151), + [sym_comment] = ACTIONS(45), }, [30] = { - [sym_word] = ACTIONS(149), + [sym_word] = ACTIONS(153), + [sym_comment] = ACTIONS(45), }, [31] = { - [sym_leading_word] = ACTIONS(151), + [sym_leading_word] = ACTIONS(155), + [sym_comment] = ACTIONS(45), }, [32] = { - [anon_sym_PIPE] = ACTIONS(153), - [anon_sym_PIPE_AMP] = ACTIONS(153), - [anon_sym_AMP_AMP] = ACTIONS(153), - [anon_sym_SEMI] = ACTIONS(153), - [anon_sym_DOLLAR] = ACTIONS(153), - [anon_sym_DOLLAR_LBRACE] = 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_word] = ACTIONS(153), - [anon_sym_LF] = ACTIONS(153), - [anon_sym_SEMI_SEMI] = ACTIONS(153), + [anon_sym_PIPE] = ACTIONS(157), + [anon_sym_PIPE_AMP] = ACTIONS(157), + [anon_sym_AMP_AMP] = ACTIONS(157), + [anon_sym_SEMI] = ACTIONS(157), + [anon_sym_DOLLAR] = ACTIONS(157), + [anon_sym_DOLLAR_LBRACE] = 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_word] = ACTIONS(157), + [anon_sym_LF] = ACTIONS(157), + [anon_sym_SEMI_SEMI] = ACTIONS(157), + [sym_comment] = ACTIONS(35), }, [33] = { - [anon_sym_PIPE] = ACTIONS(155), - [anon_sym_PIPE_AMP] = ACTIONS(155), - [anon_sym_AMP_AMP] = ACTIONS(155), - [anon_sym_SEMI] = ACTIONS(155), - [anon_sym_DOLLAR] = ACTIONS(155), - [anon_sym_DOLLAR_LBRACE] = ACTIONS(155), - [anon_sym_LT] = ACTIONS(155), - [anon_sym_GT] = ACTIONS(155), - [anon_sym_LT_AMP] = ACTIONS(155), - [anon_sym_GT_AMP] = ACTIONS(155), - [anon_sym_LT_LT] = ACTIONS(155), - [anon_sym_LT_LT_DASH] = ACTIONS(155), - [sym_file_descriptor] = ACTIONS(155), - [sym_word] = ACTIONS(155), - [anon_sym_LF] = ACTIONS(155), - [anon_sym_SEMI_SEMI] = ACTIONS(155), + [anon_sym_PIPE] = ACTIONS(159), + [anon_sym_PIPE_AMP] = ACTIONS(159), + [anon_sym_AMP_AMP] = ACTIONS(159), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_DOLLAR] = ACTIONS(159), + [anon_sym_DOLLAR_LBRACE] = ACTIONS(159), + [anon_sym_LT] = ACTIONS(159), + [anon_sym_GT] = ACTIONS(159), + [anon_sym_LT_AMP] = ACTIONS(159), + [anon_sym_GT_AMP] = ACTIONS(159), + [anon_sym_LT_LT] = ACTIONS(159), + [anon_sym_LT_LT_DASH] = ACTIONS(159), + [sym_file_descriptor] = ACTIONS(159), + [sym_word] = ACTIONS(159), + [anon_sym_LF] = ACTIONS(159), + [anon_sym_SEMI_SEMI] = ACTIONS(159), + [sym_comment] = ACTIONS(35), }, [34] = { [sym_expansion] = STATE(52), @@ -1582,64 +1689,52 @@ static uint16_t ts_parse_table[STATE_COUNT][SYMBOL_COUNT] = { [sym_file_redirect] = STATE(20), [sym_heredoc_redirect] = STATE(20), [aux_sym_simple_command_repeat3] = STATE(53), - [anon_sym_PIPE] = ACTIONS(157), - [anon_sym_PIPE_AMP] = ACTIONS(157), - [anon_sym_AMP_AMP] = ACTIONS(157), - [anon_sym_SEMI] = ACTIONS(157), - [anon_sym_DOLLAR] = ACTIONS(99), - [anon_sym_DOLLAR_LBRACE] = ACTIONS(101), - [anon_sym_LT] = ACTIONS(57), - [anon_sym_GT] = ACTIONS(57), - [anon_sym_LT_AMP] = ACTIONS(57), - [anon_sym_GT_AMP] = ACTIONS(57), - [anon_sym_LT_LT] = ACTIONS(59), - [anon_sym_LT_LT_DASH] = ACTIONS(59), - [sym_file_descriptor] = ACTIONS(61), - [sym_word] = ACTIONS(159), - [anon_sym_LF] = ACTIONS(157), - [anon_sym_SEMI_SEMI] = ACTIONS(157), + [anon_sym_PIPE] = ACTIONS(161), + [anon_sym_PIPE_AMP] = ACTIONS(161), + [anon_sym_AMP_AMP] = ACTIONS(161), + [anon_sym_SEMI] = ACTIONS(161), + [anon_sym_DOLLAR] = ACTIONS(103), + [anon_sym_DOLLAR_LBRACE] = ACTIONS(105), + [anon_sym_LT] = ACTIONS(61), + [anon_sym_GT] = ACTIONS(61), + [anon_sym_LT_AMP] = ACTIONS(61), + [anon_sym_GT_AMP] = ACTIONS(61), + [anon_sym_LT_LT] = ACTIONS(63), + [anon_sym_LT_LT_DASH] = ACTIONS(63), + [sym_file_descriptor] = ACTIONS(65), + [sym_word] = ACTIONS(163), + [anon_sym_LF] = ACTIONS(161), + [anon_sym_SEMI_SEMI] = ACTIONS(161), + [sym_comment] = ACTIONS(35), }, [35] = { [sym_file_redirect] = STATE(43), [sym_heredoc_redirect] = STATE(43), - [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(57), - [anon_sym_GT] = ACTIONS(57), - [anon_sym_LT_AMP] = ACTIONS(57), - [anon_sym_GT_AMP] = ACTIONS(57), - [anon_sym_LT_LT] = ACTIONS(59), - [anon_sym_LT_LT_DASH] = ACTIONS(59), - [sym_file_descriptor] = ACTIONS(61), - [anon_sym_LF] = ACTIONS(157), - [anon_sym_SEMI_SEMI] = ACTIONS(157), + [anon_sym_PIPE] = ACTIONS(161), + [anon_sym_PIPE_AMP] = ACTIONS(161), + [anon_sym_AMP_AMP] = ACTIONS(161), + [anon_sym_SEMI] = ACTIONS(161), + [anon_sym_LT] = ACTIONS(61), + [anon_sym_GT] = ACTIONS(61), + [anon_sym_LT_AMP] = ACTIONS(61), + [anon_sym_GT_AMP] = ACTIONS(61), + [anon_sym_LT_LT] = ACTIONS(63), + [anon_sym_LT_LT_DASH] = ACTIONS(63), + [sym_file_descriptor] = ACTIONS(65), + [anon_sym_LF] = ACTIONS(161), + [anon_sym_SEMI_SEMI] = ACTIONS(161), + [sym_comment] = ACTIONS(35), }, [36] = { - [anon_sym_LT] = ACTIONS(161), - [anon_sym_GT] = ACTIONS(161), - [anon_sym_LT_AMP] = ACTIONS(161), - [anon_sym_GT_AMP] = ACTIONS(161), - [sym_file_descriptor] = ACTIONS(161), - [sym_leading_word] = ACTIONS(163), + [anon_sym_LT] = ACTIONS(165), + [anon_sym_GT] = ACTIONS(165), + [anon_sym_LT_AMP] = ACTIONS(165), + [anon_sym_GT_AMP] = ACTIONS(165), + [sym_file_descriptor] = ACTIONS(165), + [sym_leading_word] = ACTIONS(167), + [sym_comment] = ACTIONS(45), }, [37] = { - [anon_sym_PIPE] = ACTIONS(87), - [anon_sym_PIPE_AMP] = ACTIONS(87), - [anon_sym_AMP_AMP] = ACTIONS(87), - [anon_sym_SEMI] = ACTIONS(87), - [anon_sym_LT] = ACTIONS(87), - [anon_sym_GT] = ACTIONS(87), - [anon_sym_LT_AMP] = ACTIONS(87), - [anon_sym_GT_AMP] = ACTIONS(87), - [anon_sym_LT_LT] = ACTIONS(87), - [anon_sym_LT_LT_DASH] = ACTIONS(87), - [sym_file_descriptor] = ACTIONS(87), - [anon_sym_LF] = ACTIONS(87), - [anon_sym_SEMI_SEMI] = ACTIONS(87), - }, - [38] = { [anon_sym_PIPE] = ACTIONS(91), [anon_sym_PIPE_AMP] = ACTIONS(91), [anon_sym_AMP_AMP] = ACTIONS(91), @@ -1653,84 +1748,109 @@ static uint16_t ts_parse_table[STATE_COUNT][SYMBOL_COUNT] = { [sym_file_descriptor] = ACTIONS(91), [anon_sym_LF] = ACTIONS(91), [anon_sym_SEMI_SEMI] = ACTIONS(91), + [sym_comment] = ACTIONS(35), + }, + [38] = { + [anon_sym_PIPE] = ACTIONS(95), + [anon_sym_PIPE_AMP] = ACTIONS(95), + [anon_sym_AMP_AMP] = ACTIONS(95), + [anon_sym_SEMI] = ACTIONS(95), + [anon_sym_LT] = ACTIONS(95), + [anon_sym_GT] = ACTIONS(95), + [anon_sym_LT_AMP] = ACTIONS(95), + [anon_sym_GT_AMP] = ACTIONS(95), + [anon_sym_LT_LT] = ACTIONS(95), + [anon_sym_LT_LT_DASH] = ACTIONS(95), + [sym_file_descriptor] = ACTIONS(95), + [anon_sym_LF] = ACTIONS(95), + [anon_sym_SEMI_SEMI] = ACTIONS(95), + [sym_comment] = ACTIONS(35), }, [39] = { - [anon_sym_PIPE] = ACTIONS(165), - [anon_sym_PIPE_AMP] = ACTIONS(165), - [anon_sym_AMP_AMP] = ACTIONS(165), - [anon_sym_SEMI] = 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), - [anon_sym_LF] = ACTIONS(165), - [anon_sym_SEMI_SEMI] = ACTIONS(165), + [anon_sym_PIPE] = ACTIONS(169), + [anon_sym_PIPE_AMP] = ACTIONS(169), + [anon_sym_AMP_AMP] = ACTIONS(169), + [anon_sym_SEMI] = 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), + [anon_sym_LF] = ACTIONS(169), + [anon_sym_SEMI_SEMI] = ACTIONS(169), + [sym_comment] = ACTIONS(35), }, [40] = { [sym_expansion] = STATE(54), [sym_operator_expansion] = STATE(54), [aux_sym_heredoc_repeat1] = STATE(58), - [sym__heredoc_middle] = ACTIONS(167), - [sym__heredoc_end] = ACTIONS(169), - [anon_sym_DOLLAR] = ACTIONS(171), - [anon_sym_DOLLAR_LBRACE] = ACTIONS(173), + [sym__heredoc_middle] = ACTIONS(171), + [sym__heredoc_end] = ACTIONS(173), + [anon_sym_DOLLAR] = ACTIONS(175), + [anon_sym_DOLLAR_LBRACE] = ACTIONS(177), + [sym_comment] = ACTIONS(45), }, [41] = { - [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), + [anon_sym_PIPE] = ACTIONS(179), + [anon_sym_PIPE_AMP] = ACTIONS(179), + [anon_sym_AMP_AMP] = ACTIONS(179), + [anon_sym_SEMI] = 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), + [anon_sym_LF] = ACTIONS(179), + [anon_sym_SEMI_SEMI] = ACTIONS(179), + [sym_comment] = ACTIONS(35), }, [42] = { - [sym_file_descriptor] = ACTIONS(177), - [sym_word] = ACTIONS(179), + [sym_file_descriptor] = ACTIONS(181), + [sym_word] = ACTIONS(183), + [sym_comment] = ACTIONS(45), }, [43] = { - [anon_sym_PIPE] = ACTIONS(181), - [anon_sym_PIPE_AMP] = ACTIONS(181), - [anon_sym_AMP_AMP] = ACTIONS(181), - [anon_sym_SEMI] = 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), - [anon_sym_LF] = ACTIONS(181), - [anon_sym_SEMI_SEMI] = ACTIONS(181), + [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(35), }, [44] = { - [anon_sym_AMP_AMP] = ACTIONS(183), - [anon_sym_SEMI] = ACTIONS(183), - [anon_sym_LF] = ACTIONS(183), - [anon_sym_SEMI_SEMI] = ACTIONS(183), + [anon_sym_AMP_AMP] = ACTIONS(187), + [anon_sym_SEMI] = ACTIONS(187), + [anon_sym_LF] = ACTIONS(187), + [anon_sym_SEMI_SEMI] = ACTIONS(187), + [sym_comment] = ACTIONS(35), }, [45] = { - [anon_sym_PIPE] = ACTIONS(71), - [anon_sym_PIPE_AMP] = ACTIONS(71), - [anon_sym_AMP_AMP] = ACTIONS(185), - [anon_sym_SEMI] = ACTIONS(185), - [anon_sym_LF] = ACTIONS(185), - [anon_sym_SEMI_SEMI] = ACTIONS(185), + [anon_sym_PIPE] = ACTIONS(75), + [anon_sym_PIPE_AMP] = ACTIONS(75), + [anon_sym_AMP_AMP] = ACTIONS(189), + [anon_sym_SEMI] = ACTIONS(189), + [anon_sym_LF] = ACTIONS(189), + [anon_sym_SEMI_SEMI] = ACTIONS(189), + [sym_comment] = ACTIONS(35), }, [46] = { - [anon_sym_AMP_AMP] = ACTIONS(185), - [anon_sym_SEMI] = ACTIONS(185), - [anon_sym_LF] = ACTIONS(185), - [anon_sym_SEMI_SEMI] = ACTIONS(185), + [anon_sym_AMP_AMP] = ACTIONS(189), + [anon_sym_SEMI] = ACTIONS(189), + [anon_sym_LF] = ACTIONS(189), + [anon_sym_SEMI_SEMI] = ACTIONS(189), + [sym_comment] = ACTIONS(35), }, [47] = { [sym_expansion] = STATE(33), @@ -1739,168 +1859,165 @@ static uint16_t ts_parse_table[STATE_COUNT][SYMBOL_COUNT] = { [sym_heredoc_redirect] = STATE(20), [aux_sym_simple_command_repeat2] = STATE(61), [aux_sym_simple_command_repeat3] = STATE(62), - [anon_sym_PIPE] = ACTIONS(187), - [anon_sym_PIPE_AMP] = ACTIONS(187), - [anon_sym_AMP_AMP] = ACTIONS(187), - [anon_sym_SEMI] = ACTIONS(187), - [anon_sym_DOLLAR] = ACTIONS(99), - [anon_sym_DOLLAR_LBRACE] = ACTIONS(101), - [anon_sym_LT] = ACTIONS(57), - [anon_sym_GT] = ACTIONS(57), - [anon_sym_LT_AMP] = ACTIONS(57), - [anon_sym_GT_AMP] = ACTIONS(57), - [anon_sym_LT_LT] = ACTIONS(59), - [anon_sym_LT_LT_DASH] = ACTIONS(59), - [sym_file_descriptor] = ACTIONS(61), - [sym_word] = ACTIONS(103), - [anon_sym_LF] = ACTIONS(187), - [anon_sym_SEMI_SEMI] = ACTIONS(187), + [anon_sym_PIPE] = ACTIONS(191), + [anon_sym_PIPE_AMP] = ACTIONS(191), + [anon_sym_AMP_AMP] = ACTIONS(191), + [anon_sym_SEMI] = ACTIONS(191), + [anon_sym_DOLLAR] = ACTIONS(103), + [anon_sym_DOLLAR_LBRACE] = ACTIONS(105), + [anon_sym_LT] = ACTIONS(61), + [anon_sym_GT] = ACTIONS(61), + [anon_sym_LT_AMP] = ACTIONS(61), + [anon_sym_GT_AMP] = ACTIONS(61), + [anon_sym_LT_LT] = ACTIONS(63), + [anon_sym_LT_LT_DASH] = ACTIONS(63), + [sym_file_descriptor] = ACTIONS(65), + [sym_word] = ACTIONS(107), + [anon_sym_LF] = ACTIONS(191), + [anon_sym_SEMI_SEMI] = ACTIONS(191), + [sym_comment] = ACTIONS(35), }, [48] = { [sym_file_redirect] = STATE(43), [sym_heredoc_redirect] = STATE(43), - [anon_sym_PIPE] = ACTIONS(187), - [anon_sym_PIPE_AMP] = ACTIONS(187), - [anon_sym_AMP_AMP] = ACTIONS(187), - [anon_sym_SEMI] = ACTIONS(187), - [anon_sym_LT] = ACTIONS(57), - [anon_sym_GT] = ACTIONS(57), - [anon_sym_LT_AMP] = ACTIONS(57), - [anon_sym_GT_AMP] = ACTIONS(57), - [anon_sym_LT_LT] = ACTIONS(59), - [anon_sym_LT_LT_DASH] = ACTIONS(59), - [sym_file_descriptor] = ACTIONS(61), - [anon_sym_LF] = ACTIONS(187), - [anon_sym_SEMI_SEMI] = ACTIONS(187), + [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(61), + [anon_sym_GT] = ACTIONS(61), + [anon_sym_LT_AMP] = ACTIONS(61), + [anon_sym_GT_AMP] = ACTIONS(61), + [anon_sym_LT_LT] = ACTIONS(63), + [anon_sym_LT_LT_DASH] = ACTIONS(63), + [sym_file_descriptor] = ACTIONS(65), + [anon_sym_LF] = ACTIONS(191), + [anon_sym_SEMI_SEMI] = ACTIONS(191), + [sym_comment] = ACTIONS(35), }, [49] = { - [anon_sym_PIPE] = ACTIONS(189), - [anon_sym_PIPE_AMP] = ACTIONS(189), - [anon_sym_AMP_AMP] = ACTIONS(189), - [anon_sym_SEMI] = ACTIONS(189), - [anon_sym_DOLLAR] = ACTIONS(189), - [anon_sym_DOLLAR_LBRACE] = ACTIONS(189), - [anon_sym_LT] = ACTIONS(189), - [anon_sym_GT] = ACTIONS(189), - [anon_sym_LT_AMP] = ACTIONS(189), - [anon_sym_GT_AMP] = ACTIONS(189), - [anon_sym_LT_LT] = ACTIONS(189), - [anon_sym_LT_LT_DASH] = ACTIONS(189), - [sym_file_descriptor] = ACTIONS(189), - [sym_word] = ACTIONS(189), - [anon_sym_LF] = ACTIONS(189), - [anon_sym_SEMI_SEMI] = ACTIONS(189), + [anon_sym_PIPE] = ACTIONS(193), + [anon_sym_PIPE_AMP] = ACTIONS(193), + [anon_sym_AMP_AMP] = ACTIONS(193), + [anon_sym_SEMI] = ACTIONS(193), + [anon_sym_DOLLAR] = ACTIONS(193), + [anon_sym_DOLLAR_LBRACE] = ACTIONS(193), + [anon_sym_LT] = ACTIONS(193), + [anon_sym_GT] = ACTIONS(193), + [anon_sym_LT_AMP] = ACTIONS(193), + [anon_sym_GT_AMP] = ACTIONS(193), + [anon_sym_LT_LT] = ACTIONS(193), + [anon_sym_LT_LT_DASH] = ACTIONS(193), + [sym_file_descriptor] = ACTIONS(193), + [sym_word] = ACTIONS(193), + [anon_sym_LF] = ACTIONS(193), + [anon_sym_SEMI_SEMI] = ACTIONS(193), + [sym_comment] = ACTIONS(35), }, [50] = { - [anon_sym_EQ] = ACTIONS(191), - [anon_sym_COLON] = ACTIONS(193), - [anon_sym_COLON_QMARK] = ACTIONS(191), - [anon_sym_RBRACE] = ACTIONS(195), + [anon_sym_EQ] = ACTIONS(195), + [anon_sym_COLON] = ACTIONS(197), + [anon_sym_COLON_QMARK] = ACTIONS(195), + [anon_sym_RBRACE] = ACTIONS(199), + [sym_comment] = ACTIONS(45), }, [51] = { - [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(197), - [anon_sym_DOLLAR_LBRACE] = ACTIONS(197), - [anon_sym_LT] = ACTIONS(197), - [anon_sym_GT] = ACTIONS(197), - [anon_sym_LT_AMP] = ACTIONS(197), - [anon_sym_GT_AMP] = ACTIONS(197), - [anon_sym_LT_LT] = ACTIONS(197), - [anon_sym_LT_LT_DASH] = ACTIONS(197), - [sym_file_descriptor] = ACTIONS(197), - [sym_word] = ACTIONS(197), - [anon_sym_LF] = ACTIONS(197), - [anon_sym_SEMI_SEMI] = ACTIONS(197), - }, - [52] = { - [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), - }, - [53] = { - [sym_file_redirect] = STATE(43), - [sym_heredoc_redirect] = STATE(43), [anon_sym_PIPE] = ACTIONS(201), [anon_sym_PIPE_AMP] = ACTIONS(201), [anon_sym_AMP_AMP] = ACTIONS(201), [anon_sym_SEMI] = ACTIONS(201), - [anon_sym_LT] = ACTIONS(57), - [anon_sym_GT] = ACTIONS(57), - [anon_sym_LT_AMP] = ACTIONS(57), - [anon_sym_GT_AMP] = ACTIONS(57), - [anon_sym_LT_LT] = ACTIONS(59), - [anon_sym_LT_LT_DASH] = ACTIONS(59), - [sym_file_descriptor] = ACTIONS(61), + [anon_sym_DOLLAR] = ACTIONS(201), + [anon_sym_DOLLAR_LBRACE] = 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_word] = ACTIONS(201), [anon_sym_LF] = ACTIONS(201), [anon_sym_SEMI_SEMI] = ACTIONS(201), + [sym_comment] = ACTIONS(35), + }, + [52] = { + [anon_sym_PIPE] = ACTIONS(203), + [anon_sym_PIPE_AMP] = ACTIONS(203), + [anon_sym_AMP_AMP] = ACTIONS(203), + [anon_sym_SEMI] = ACTIONS(203), + [anon_sym_DOLLAR] = ACTIONS(203), + [anon_sym_DOLLAR_LBRACE] = ACTIONS(203), + [anon_sym_LT] = ACTIONS(203), + [anon_sym_GT] = ACTIONS(203), + [anon_sym_LT_AMP] = ACTIONS(203), + [anon_sym_GT_AMP] = ACTIONS(203), + [anon_sym_LT_LT] = ACTIONS(203), + [anon_sym_LT_LT_DASH] = ACTIONS(203), + [sym_file_descriptor] = ACTIONS(203), + [sym_word] = ACTIONS(203), + [anon_sym_LF] = ACTIONS(203), + [anon_sym_SEMI_SEMI] = ACTIONS(203), + [sym_comment] = ACTIONS(35), + }, + [53] = { + [sym_file_redirect] = STATE(43), + [sym_heredoc_redirect] = STATE(43), + [anon_sym_PIPE] = ACTIONS(205), + [anon_sym_PIPE_AMP] = ACTIONS(205), + [anon_sym_AMP_AMP] = ACTIONS(205), + [anon_sym_SEMI] = ACTIONS(205), + [anon_sym_LT] = ACTIONS(61), + [anon_sym_GT] = ACTIONS(61), + [anon_sym_LT_AMP] = ACTIONS(61), + [anon_sym_GT_AMP] = ACTIONS(61), + [anon_sym_LT_LT] = ACTIONS(63), + [anon_sym_LT_LT_DASH] = ACTIONS(63), + [sym_file_descriptor] = ACTIONS(65), + [anon_sym_LF] = ACTIONS(205), + [anon_sym_SEMI_SEMI] = ACTIONS(205), + [sym_comment] = ACTIONS(35), }, [54] = { - [sym__heredoc_middle] = ACTIONS(203), - [sym__heredoc_end] = ACTIONS(203), - [anon_sym_DOLLAR] = ACTIONS(205), - [anon_sym_DOLLAR_LBRACE] = ACTIONS(203), + [sym__heredoc_middle] = ACTIONS(207), + [sym__heredoc_end] = ACTIONS(207), + [anon_sym_DOLLAR] = ACTIONS(209), + [anon_sym_DOLLAR_LBRACE] = ACTIONS(207), + [sym_comment] = ACTIONS(45), }, [55] = { - [anon_sym_PIPE] = ACTIONS(207), - [anon_sym_PIPE_AMP] = ACTIONS(207), - [anon_sym_AMP_AMP] = ACTIONS(207), - [anon_sym_SEMI] = 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), - [anon_sym_LF] = ACTIONS(207), - [anon_sym_SEMI_SEMI] = ACTIONS(207), + [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(211), + [anon_sym_GT] = ACTIONS(211), + [anon_sym_LT_AMP] = ACTIONS(211), + [anon_sym_GT_AMP] = ACTIONS(211), + [anon_sym_LT_LT] = ACTIONS(211), + [anon_sym_LT_LT_DASH] = ACTIONS(211), + [sym_file_descriptor] = ACTIONS(211), + [anon_sym_LF] = ACTIONS(211), + [anon_sym_SEMI_SEMI] = ACTIONS(211), + [sym_comment] = ACTIONS(35), }, [56] = { - [sym_word] = ACTIONS(209), + [sym_word] = ACTIONS(213), + [sym_comment] = ACTIONS(45), }, [57] = { - [sym_leading_word] = ACTIONS(211), + [sym_leading_word] = ACTIONS(215), + [sym_comment] = ACTIONS(45), }, [58] = { [sym_expansion] = STATE(67), [sym_operator_expansion] = STATE(67), - [sym__heredoc_middle] = ACTIONS(213), - [sym__heredoc_end] = ACTIONS(215), - [anon_sym_DOLLAR] = ACTIONS(171), - [anon_sym_DOLLAR_LBRACE] = ACTIONS(173), + [sym__heredoc_middle] = ACTIONS(217), + [sym__heredoc_end] = ACTIONS(219), + [anon_sym_DOLLAR] = ACTIONS(175), + [anon_sym_DOLLAR_LBRACE] = ACTIONS(177), + [sym_comment] = ACTIONS(45), }, [59] = { - [anon_sym_PIPE] = ACTIONS(143), - [anon_sym_PIPE_AMP] = ACTIONS(143), - [anon_sym_AMP_AMP] = ACTIONS(143), - [anon_sym_SEMI] = ACTIONS(143), - [anon_sym_LT] = ACTIONS(143), - [anon_sym_GT] = ACTIONS(143), - [anon_sym_LT_AMP] = ACTIONS(143), - [anon_sym_GT_AMP] = ACTIONS(143), - [anon_sym_LT_LT] = ACTIONS(143), - [anon_sym_LT_LT_DASH] = ACTIONS(143), - [sym_file_descriptor] = ACTIONS(143), - [anon_sym_LF] = ACTIONS(143), - [anon_sym_SEMI_SEMI] = ACTIONS(143), - }, - [60] = { [anon_sym_PIPE] = ACTIONS(147), [anon_sym_PIPE_AMP] = ACTIONS(147), [anon_sym_AMP_AMP] = ACTIONS(147), @@ -1914,6 +2031,23 @@ static uint16_t ts_parse_table[STATE_COUNT][SYMBOL_COUNT] = { [sym_file_descriptor] = ACTIONS(147), [anon_sym_LF] = ACTIONS(147), [anon_sym_SEMI_SEMI] = ACTIONS(147), + [sym_comment] = ACTIONS(35), + }, + [60] = { + [anon_sym_PIPE] = ACTIONS(151), + [anon_sym_PIPE_AMP] = ACTIONS(151), + [anon_sym_AMP_AMP] = ACTIONS(151), + [anon_sym_SEMI] = ACTIONS(151), + [anon_sym_LT] = ACTIONS(151), + [anon_sym_GT] = ACTIONS(151), + [anon_sym_LT_AMP] = ACTIONS(151), + [anon_sym_GT_AMP] = ACTIONS(151), + [anon_sym_LT_LT] = ACTIONS(151), + [anon_sym_LT_LT_DASH] = ACTIONS(151), + [sym_file_descriptor] = ACTIONS(151), + [anon_sym_LF] = ACTIONS(151), + [anon_sym_SEMI_SEMI] = ACTIONS(151), + [sym_comment] = ACTIONS(35), }, [61] = { [sym_expansion] = STATE(52), @@ -1921,149 +2055,164 @@ static uint16_t ts_parse_table[STATE_COUNT][SYMBOL_COUNT] = { [sym_file_redirect] = STATE(20), [sym_heredoc_redirect] = STATE(20), [aux_sym_simple_command_repeat3] = STATE(69), - [anon_sym_PIPE] = ACTIONS(217), - [anon_sym_PIPE_AMP] = ACTIONS(217), - [anon_sym_AMP_AMP] = ACTIONS(217), - [anon_sym_SEMI] = ACTIONS(217), - [anon_sym_DOLLAR] = ACTIONS(99), - [anon_sym_DOLLAR_LBRACE] = ACTIONS(101), - [anon_sym_LT] = ACTIONS(57), - [anon_sym_GT] = ACTIONS(57), - [anon_sym_LT_AMP] = ACTIONS(57), - [anon_sym_GT_AMP] = ACTIONS(57), - [anon_sym_LT_LT] = ACTIONS(59), - [anon_sym_LT_LT_DASH] = ACTIONS(59), - [sym_file_descriptor] = ACTIONS(61), - [sym_word] = ACTIONS(159), - [anon_sym_LF] = ACTIONS(217), - [anon_sym_SEMI_SEMI] = ACTIONS(217), - }, - [62] = { - [sym_file_redirect] = STATE(43), - [sym_heredoc_redirect] = STATE(43), - [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(57), - [anon_sym_GT] = ACTIONS(57), - [anon_sym_LT_AMP] = ACTIONS(57), - [anon_sym_GT_AMP] = ACTIONS(57), - [anon_sym_LT_LT] = ACTIONS(59), - [anon_sym_LT_LT_DASH] = ACTIONS(59), - [sym_file_descriptor] = ACTIONS(61), - [anon_sym_LF] = ACTIONS(217), - [anon_sym_SEMI_SEMI] = ACTIONS(217), - }, - [63] = { - [sym_word] = ACTIONS(219), - }, - [64] = { [anon_sym_PIPE] = ACTIONS(221), [anon_sym_PIPE_AMP] = ACTIONS(221), [anon_sym_AMP_AMP] = ACTIONS(221), [anon_sym_SEMI] = ACTIONS(221), - [anon_sym_DOLLAR] = ACTIONS(221), - [anon_sym_DOLLAR_LBRACE] = ACTIONS(221), - [anon_sym_LT] = ACTIONS(221), - [anon_sym_GT] = ACTIONS(221), - [anon_sym_LT_AMP] = ACTIONS(221), - [anon_sym_GT_AMP] = ACTIONS(221), - [anon_sym_LT_LT] = ACTIONS(221), - [anon_sym_LT_LT_DASH] = ACTIONS(221), - [sym_file_descriptor] = ACTIONS(221), - [sym_word] = ACTIONS(221), + [anon_sym_DOLLAR] = ACTIONS(103), + [anon_sym_DOLLAR_LBRACE] = ACTIONS(105), + [anon_sym_LT] = ACTIONS(61), + [anon_sym_GT] = ACTIONS(61), + [anon_sym_LT_AMP] = ACTIONS(61), + [anon_sym_GT_AMP] = ACTIONS(61), + [anon_sym_LT_LT] = ACTIONS(63), + [anon_sym_LT_LT_DASH] = ACTIONS(63), + [sym_file_descriptor] = ACTIONS(65), + [sym_word] = ACTIONS(163), [anon_sym_LF] = ACTIONS(221), [anon_sym_SEMI_SEMI] = ACTIONS(221), + [sym_comment] = ACTIONS(35), + }, + [62] = { + [sym_file_redirect] = STATE(43), + [sym_heredoc_redirect] = STATE(43), + [anon_sym_PIPE] = ACTIONS(221), + [anon_sym_PIPE_AMP] = ACTIONS(221), + [anon_sym_AMP_AMP] = ACTIONS(221), + [anon_sym_SEMI] = ACTIONS(221), + [anon_sym_LT] = ACTIONS(61), + [anon_sym_GT] = ACTIONS(61), + [anon_sym_LT_AMP] = ACTIONS(61), + [anon_sym_GT_AMP] = ACTIONS(61), + [anon_sym_LT_LT] = ACTIONS(63), + [anon_sym_LT_LT_DASH] = ACTIONS(63), + [sym_file_descriptor] = ACTIONS(65), + [anon_sym_LF] = ACTIONS(221), + [anon_sym_SEMI_SEMI] = ACTIONS(221), + [sym_comment] = ACTIONS(35), + }, + [63] = { + [sym_word] = ACTIONS(223), + [sym_comment] = ACTIONS(45), + }, + [64] = { + [anon_sym_PIPE] = ACTIONS(225), + [anon_sym_PIPE_AMP] = ACTIONS(225), + [anon_sym_AMP_AMP] = ACTIONS(225), + [anon_sym_SEMI] = ACTIONS(225), + [anon_sym_DOLLAR] = ACTIONS(225), + [anon_sym_DOLLAR_LBRACE] = ACTIONS(225), + [anon_sym_LT] = ACTIONS(225), + [anon_sym_GT] = ACTIONS(225), + [anon_sym_LT_AMP] = ACTIONS(225), + [anon_sym_GT_AMP] = ACTIONS(225), + [anon_sym_LT_LT] = ACTIONS(225), + [anon_sym_LT_LT_DASH] = ACTIONS(225), + [sym_file_descriptor] = ACTIONS(225), + [sym_word] = ACTIONS(225), + [anon_sym_LF] = ACTIONS(225), + [anon_sym_SEMI_SEMI] = ACTIONS(225), + [sym_comment] = ACTIONS(35), }, [65] = { - [sym__heredoc_middle] = ACTIONS(223), - [sym__heredoc_end] = ACTIONS(223), - [anon_sym_DOLLAR] = ACTIONS(225), - [anon_sym_DOLLAR_LBRACE] = ACTIONS(223), + [sym__heredoc_middle] = ACTIONS(227), + [sym__heredoc_end] = ACTIONS(227), + [anon_sym_DOLLAR] = ACTIONS(229), + [anon_sym_DOLLAR_LBRACE] = ACTIONS(227), + [sym_comment] = ACTIONS(45), }, [66] = { - [anon_sym_EQ] = ACTIONS(227), - [anon_sym_COLON] = ACTIONS(229), - [anon_sym_COLON_QMARK] = ACTIONS(227), - [anon_sym_RBRACE] = ACTIONS(231), + [anon_sym_EQ] = ACTIONS(231), + [anon_sym_COLON] = ACTIONS(233), + [anon_sym_COLON_QMARK] = ACTIONS(231), + [anon_sym_RBRACE] = ACTIONS(235), + [sym_comment] = ACTIONS(45), }, [67] = { - [sym__heredoc_middle] = ACTIONS(233), - [sym__heredoc_end] = ACTIONS(233), - [anon_sym_DOLLAR] = ACTIONS(235), - [anon_sym_DOLLAR_LBRACE] = ACTIONS(233), + [sym__heredoc_middle] = ACTIONS(237), + [sym__heredoc_end] = ACTIONS(237), + [anon_sym_DOLLAR] = ACTIONS(239), + [anon_sym_DOLLAR_LBRACE] = ACTIONS(237), + [sym_comment] = ACTIONS(45), }, [68] = { - [anon_sym_PIPE] = ACTIONS(237), - [anon_sym_PIPE_AMP] = ACTIONS(237), - [anon_sym_AMP_AMP] = ACTIONS(237), - [anon_sym_SEMI] = 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), - [anon_sym_LF] = ACTIONS(237), - [anon_sym_SEMI_SEMI] = ACTIONS(237), + [anon_sym_PIPE] = ACTIONS(241), + [anon_sym_PIPE_AMP] = ACTIONS(241), + [anon_sym_AMP_AMP] = ACTIONS(241), + [anon_sym_SEMI] = ACTIONS(241), + [anon_sym_LT] = ACTIONS(241), + [anon_sym_GT] = ACTIONS(241), + [anon_sym_LT_AMP] = ACTIONS(241), + [anon_sym_GT_AMP] = ACTIONS(241), + [anon_sym_LT_LT] = ACTIONS(241), + [anon_sym_LT_LT_DASH] = ACTIONS(241), + [sym_file_descriptor] = ACTIONS(241), + [anon_sym_LF] = ACTIONS(241), + [anon_sym_SEMI_SEMI] = ACTIONS(241), + [sym_comment] = ACTIONS(35), }, [69] = { [sym_file_redirect] = STATE(43), [sym_heredoc_redirect] = STATE(43), - [anon_sym_PIPE] = ACTIONS(239), - [anon_sym_PIPE_AMP] = ACTIONS(239), - [anon_sym_AMP_AMP] = ACTIONS(239), - [anon_sym_SEMI] = ACTIONS(239), - [anon_sym_LT] = ACTIONS(57), - [anon_sym_GT] = ACTIONS(57), - [anon_sym_LT_AMP] = ACTIONS(57), - [anon_sym_GT_AMP] = ACTIONS(57), - [anon_sym_LT_LT] = ACTIONS(59), - [anon_sym_LT_LT_DASH] = ACTIONS(59), - [sym_file_descriptor] = ACTIONS(61), - [anon_sym_LF] = ACTIONS(239), - [anon_sym_SEMI_SEMI] = ACTIONS(239), + [anon_sym_PIPE] = ACTIONS(243), + [anon_sym_PIPE_AMP] = ACTIONS(243), + [anon_sym_AMP_AMP] = ACTIONS(243), + [anon_sym_SEMI] = ACTIONS(243), + [anon_sym_LT] = ACTIONS(61), + [anon_sym_GT] = ACTIONS(61), + [anon_sym_LT_AMP] = ACTIONS(61), + [anon_sym_GT_AMP] = ACTIONS(61), + [anon_sym_LT_LT] = ACTIONS(63), + [anon_sym_LT_LT_DASH] = ACTIONS(63), + [sym_file_descriptor] = ACTIONS(65), + [anon_sym_LF] = ACTIONS(243), + [anon_sym_SEMI_SEMI] = ACTIONS(243), + [sym_comment] = ACTIONS(35), }, [70] = { - [anon_sym_RBRACE] = ACTIONS(241), + [anon_sym_RBRACE] = ACTIONS(245), + [sym_comment] = ACTIONS(45), }, [71] = { - [sym_word] = ACTIONS(243), + [sym_word] = ACTIONS(247), + [sym_comment] = ACTIONS(45), }, [72] = { - [sym__heredoc_middle] = ACTIONS(245), - [sym__heredoc_end] = ACTIONS(245), - [anon_sym_DOLLAR] = ACTIONS(247), - [anon_sym_DOLLAR_LBRACE] = ACTIONS(245), + [sym__heredoc_middle] = ACTIONS(249), + [sym__heredoc_end] = ACTIONS(249), + [anon_sym_DOLLAR] = ACTIONS(251), + [anon_sym_DOLLAR_LBRACE] = ACTIONS(249), + [sym_comment] = ACTIONS(45), }, [73] = { - [anon_sym_PIPE] = ACTIONS(249), - [anon_sym_PIPE_AMP] = ACTIONS(249), - [anon_sym_AMP_AMP] = ACTIONS(249), - [anon_sym_SEMI] = ACTIONS(249), - [anon_sym_DOLLAR] = ACTIONS(249), - [anon_sym_DOLLAR_LBRACE] = ACTIONS(249), - [anon_sym_LT] = ACTIONS(249), - [anon_sym_GT] = ACTIONS(249), - [anon_sym_LT_AMP] = ACTIONS(249), - [anon_sym_GT_AMP] = ACTIONS(249), - [anon_sym_LT_LT] = ACTIONS(249), - [anon_sym_LT_LT_DASH] = ACTIONS(249), - [sym_file_descriptor] = ACTIONS(249), - [sym_word] = ACTIONS(249), - [anon_sym_LF] = ACTIONS(249), - [anon_sym_SEMI_SEMI] = ACTIONS(249), + [anon_sym_PIPE] = ACTIONS(253), + [anon_sym_PIPE_AMP] = ACTIONS(253), + [anon_sym_AMP_AMP] = ACTIONS(253), + [anon_sym_SEMI] = 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), + [anon_sym_LF] = ACTIONS(253), + [anon_sym_SEMI_SEMI] = ACTIONS(253), + [sym_comment] = ACTIONS(35), }, [74] = { - [anon_sym_RBRACE] = ACTIONS(251), + [anon_sym_RBRACE] = ACTIONS(255), + [sym_comment] = ACTIONS(45), }, [75] = { - [sym__heredoc_middle] = ACTIONS(253), - [sym__heredoc_end] = ACTIONS(253), - [anon_sym_DOLLAR] = ACTIONS(255), - [anon_sym_DOLLAR_LBRACE] = ACTIONS(253), + [sym__heredoc_middle] = ACTIONS(257), + [sym__heredoc_end] = ACTIONS(257), + [anon_sym_DOLLAR] = ACTIONS(259), + [anon_sym_DOLLAR_LBRACE] = ACTIONS(257), + [sym_comment] = ACTIONS(45), }, [76] = { [sym_expansion] = STATE(33), @@ -2072,177 +2221,194 @@ static uint16_t ts_parse_table[STATE_COUNT][SYMBOL_COUNT] = { [sym_heredoc_redirect] = STATE(20), [aux_sym_simple_command_repeat2] = STATE(93), [aux_sym_simple_command_repeat3] = STATE(95), - [anon_sym_PIPE] = ACTIONS(257), - [anon_sym_PIPE_AMP] = ACTIONS(257), - [anon_sym_AMP_AMP] = ACTIONS(257), - [anon_sym_SEMI] = ACTIONS(257), - [anon_sym_DOLLAR] = ACTIONS(99), - [anon_sym_DOLLAR_LBRACE] = ACTIONS(101), - [anon_sym_LT] = ACTIONS(57), - [anon_sym_GT] = ACTIONS(57), - [anon_sym_LT_AMP] = ACTIONS(57), - [anon_sym_GT_AMP] = ACTIONS(57), - [anon_sym_LT_LT] = ACTIONS(59), - [anon_sym_LT_LT_DASH] = ACTIONS(59), - [sym_file_descriptor] = ACTIONS(61), - [sym_word] = ACTIONS(103), - [anon_sym_LF] = ACTIONS(257), - [anon_sym_SEMI_SEMI] = ACTIONS(257), + [anon_sym_PIPE] = ACTIONS(261), + [anon_sym_PIPE_AMP] = ACTIONS(261), + [anon_sym_AMP_AMP] = ACTIONS(261), + [anon_sym_SEMI] = ACTIONS(261), + [anon_sym_DOLLAR] = ACTIONS(103), + [anon_sym_DOLLAR_LBRACE] = ACTIONS(105), + [anon_sym_LT] = ACTIONS(61), + [anon_sym_GT] = ACTIONS(61), + [anon_sym_LT_AMP] = ACTIONS(61), + [anon_sym_GT_AMP] = ACTIONS(61), + [anon_sym_LT_LT] = ACTIONS(63), + [anon_sym_LT_LT_DASH] = ACTIONS(63), + [sym_file_descriptor] = ACTIONS(65), + [sym_word] = ACTIONS(107), + [anon_sym_LF] = ACTIONS(261), + [anon_sym_SEMI_SEMI] = ACTIONS(261), + [sym_comment] = ACTIONS(35), }, [77] = { - [sym_word] = ACTIONS(260), + [sym_word] = ACTIONS(264), + [sym_comment] = ACTIONS(45), }, [78] = { - [sym_word] = ACTIONS(262), + [sym_word] = ACTIONS(266), + [sym_comment] = ACTIONS(45), }, [79] = { - [sym_leading_word] = ACTIONS(264), + [sym_leading_word] = ACTIONS(268), + [sym_comment] = ACTIONS(45), }, [80] = { - [sym_word] = ACTIONS(266), + [sym_word] = ACTIONS(270), + [sym_comment] = ACTIONS(45), }, [81] = { - [sym__heredoc_middle] = ACTIONS(268), - [sym__heredoc_end] = ACTIONS(268), - [anon_sym_PIPE] = ACTIONS(271), - [anon_sym_PIPE_AMP] = ACTIONS(271), - [anon_sym_AMP_AMP] = ACTIONS(271), - [anon_sym_SEMI] = ACTIONS(271), - [anon_sym_DOLLAR] = ACTIONS(271), - [anon_sym_DOLLAR_LBRACE] = ACTIONS(271), - [anon_sym_LT] = ACTIONS(271), - [anon_sym_GT] = ACTIONS(271), - [anon_sym_LT_AMP] = ACTIONS(271), - [anon_sym_GT_AMP] = ACTIONS(271), - [anon_sym_LT_LT] = ACTIONS(271), - [anon_sym_LT_LT_DASH] = ACTIONS(271), - [sym_file_descriptor] = ACTIONS(271), - [sym_word] = ACTIONS(271), - [anon_sym_LF] = ACTIONS(271), - [anon_sym_SEMI_SEMI] = ACTIONS(271), + [sym__heredoc_middle] = ACTIONS(272), + [sym__heredoc_end] = ACTIONS(272), + [anon_sym_PIPE] = ACTIONS(275), + [anon_sym_PIPE_AMP] = ACTIONS(275), + [anon_sym_AMP_AMP] = ACTIONS(275), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym_DOLLAR] = ACTIONS(275), + [anon_sym_DOLLAR_LBRACE] = ACTIONS(275), + [anon_sym_LT] = ACTIONS(275), + [anon_sym_GT] = ACTIONS(275), + [anon_sym_LT_AMP] = ACTIONS(275), + [anon_sym_GT_AMP] = ACTIONS(275), + [anon_sym_LT_LT] = ACTIONS(275), + [anon_sym_LT_LT_DASH] = ACTIONS(275), + [sym_file_descriptor] = ACTIONS(275), + [sym_word] = ACTIONS(275), + [anon_sym_LF] = ACTIONS(275), + [anon_sym_SEMI_SEMI] = ACTIONS(275), + [sym_comment] = ACTIONS(35), }, [82] = { - [sym_file_descriptor] = ACTIONS(274), - [sym_word] = ACTIONS(276), + [sym_file_descriptor] = ACTIONS(278), + [sym_word] = ACTIONS(280), + [sym_comment] = ACTIONS(45), }, [83] = { - [anon_sym_PIPE] = ACTIONS(278), - [anon_sym_PIPE_AMP] = ACTIONS(278), - [anon_sym_AMP_AMP] = ACTIONS(278), - [anon_sym_SEMI] = ACTIONS(278), - [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(278), - [anon_sym_LT_LT_DASH] = ACTIONS(278), - [sym_file_descriptor] = ACTIONS(278), - [sym_leading_word] = ACTIONS(278), - [anon_sym_LF] = ACTIONS(278), - [anon_sym_SEMI_SEMI] = ACTIONS(278), + [anon_sym_PIPE] = ACTIONS(282), + [anon_sym_PIPE_AMP] = ACTIONS(282), + [anon_sym_AMP_AMP] = ACTIONS(282), + [anon_sym_SEMI] = ACTIONS(282), + [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(282), + [anon_sym_LT_LT_DASH] = ACTIONS(282), + [sym_file_descriptor] = ACTIONS(282), + [sym_leading_word] = ACTIONS(282), + [anon_sym_LF] = ACTIONS(282), + [anon_sym_SEMI_SEMI] = ACTIONS(282), + [sym_comment] = ACTIONS(35), }, [84] = { - [sym__heredoc_middle] = ACTIONS(285), - [sym__heredoc_end] = ACTIONS(285), - [anon_sym_DOLLAR] = ACTIONS(288), - [anon_sym_DOLLAR_LBRACE] = ACTIONS(285), + [sym__heredoc_middle] = ACTIONS(289), + [sym__heredoc_end] = ACTIONS(289), + [anon_sym_DOLLAR] = ACTIONS(292), + [anon_sym_DOLLAR_LBRACE] = ACTIONS(289), + [sym_comment] = ACTIONS(45), }, [85] = { - [anon_sym_PIPE] = ACTIONS(291), - [anon_sym_PIPE_AMP] = ACTIONS(291), - [anon_sym_AMP_AMP] = ACTIONS(291), - [anon_sym_SEMI] = ACTIONS(291), - [anon_sym_LT] = ACTIONS(291), - [anon_sym_GT] = ACTIONS(291), - [anon_sym_LT_AMP] = ACTIONS(291), - [anon_sym_GT_AMP] = ACTIONS(291), - [anon_sym_LT_LT] = ACTIONS(291), - [anon_sym_LT_LT_DASH] = ACTIONS(291), - [sym_file_descriptor] = ACTIONS(291), - [anon_sym_LF] = ACTIONS(291), - [anon_sym_SEMI_SEMI] = ACTIONS(291), + [anon_sym_PIPE] = ACTIONS(295), + [anon_sym_PIPE_AMP] = ACTIONS(295), + [anon_sym_AMP_AMP] = ACTIONS(295), + [anon_sym_SEMI] = ACTIONS(295), + [anon_sym_LT] = ACTIONS(295), + [anon_sym_GT] = ACTIONS(295), + [anon_sym_LT_AMP] = ACTIONS(295), + [anon_sym_GT_AMP] = ACTIONS(295), + [anon_sym_LT_LT] = ACTIONS(295), + [anon_sym_LT_LT_DASH] = ACTIONS(295), + [sym_file_descriptor] = ACTIONS(295), + [anon_sym_LF] = ACTIONS(295), + [anon_sym_SEMI_SEMI] = ACTIONS(295), + [sym_comment] = ACTIONS(35), }, [86] = { - [ts_builtin_sym_end] = ACTIONS(294), - [anon_sym_LT] = ACTIONS(297), - [anon_sym_GT] = ACTIONS(297), - [anon_sym_LT_AMP] = ACTIONS(297), - [anon_sym_GT_AMP] = ACTIONS(297), - [sym_file_descriptor] = ACTIONS(297), - [sym_leading_word] = ACTIONS(300), + [ts_builtin_sym_end] = ACTIONS(298), + [anon_sym_LT] = ACTIONS(301), + [anon_sym_GT] = ACTIONS(301), + [anon_sym_LT_AMP] = ACTIONS(301), + [anon_sym_GT_AMP] = ACTIONS(301), + [sym_file_descriptor] = ACTIONS(301), + [sym_leading_word] = ACTIONS(304), + [sym_comment] = ACTIONS(45), }, [87] = { - [anon_sym_PIPE] = ACTIONS(71), - [anon_sym_PIPE_AMP] = ACTIONS(71), - [anon_sym_AMP_AMP] = ACTIONS(303), - [anon_sym_SEMI] = ACTIONS(303), - [anon_sym_LF] = ACTIONS(307), - [anon_sym_SEMI_SEMI] = ACTIONS(307), + [anon_sym_PIPE] = ACTIONS(75), + [anon_sym_PIPE_AMP] = ACTIONS(75), + [anon_sym_AMP_AMP] = ACTIONS(307), + [anon_sym_SEMI] = ACTIONS(307), + [anon_sym_LF] = ACTIONS(311), + [anon_sym_SEMI_SEMI] = ACTIONS(311), + [sym_comment] = ACTIONS(35), }, [88] = { - [anon_sym_AMP_AMP] = ACTIONS(311), - [anon_sym_SEMI] = ACTIONS(311), - [anon_sym_LF] = ACTIONS(314), - [anon_sym_SEMI_SEMI] = ACTIONS(314), + [anon_sym_AMP_AMP] = ACTIONS(315), + [anon_sym_SEMI] = ACTIONS(315), + [anon_sym_LF] = ACTIONS(318), + [anon_sym_SEMI_SEMI] = ACTIONS(318), + [sym_comment] = ACTIONS(35), }, [89] = { - [anon_sym_LT] = ACTIONS(317), - [anon_sym_GT] = ACTIONS(317), - [anon_sym_LT_AMP] = ACTIONS(317), - [anon_sym_GT_AMP] = ACTIONS(317), - [sym_file_descriptor] = ACTIONS(317), - [sym_leading_word] = ACTIONS(320), + [anon_sym_LT] = ACTIONS(321), + [anon_sym_GT] = ACTIONS(321), + [anon_sym_LT_AMP] = ACTIONS(321), + [anon_sym_GT_AMP] = ACTIONS(321), + [sym_file_descriptor] = ACTIONS(321), + [sym_leading_word] = ACTIONS(324), + [sym_comment] = ACTIONS(45), }, [90] = { - [sym__heredoc_middle] = ACTIONS(285), - [sym__heredoc_end] = ACTIONS(285), - [anon_sym_PIPE] = ACTIONS(323), - [anon_sym_PIPE_AMP] = ACTIONS(323), - [anon_sym_AMP_AMP] = ACTIONS(323), - [anon_sym_SEMI] = ACTIONS(323), - [anon_sym_DOLLAR] = ACTIONS(326), - [anon_sym_DOLLAR_LBRACE] = ACTIONS(326), - [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_word] = ACTIONS(323), - [anon_sym_LF] = ACTIONS(323), - [anon_sym_SEMI_SEMI] = ACTIONS(323), + [sym__heredoc_middle] = ACTIONS(289), + [sym__heredoc_end] = ACTIONS(289), + [anon_sym_PIPE] = ACTIONS(327), + [anon_sym_PIPE_AMP] = ACTIONS(327), + [anon_sym_AMP_AMP] = ACTIONS(327), + [anon_sym_SEMI] = ACTIONS(327), + [anon_sym_DOLLAR] = ACTIONS(330), + [anon_sym_DOLLAR_LBRACE] = ACTIONS(330), + [anon_sym_LT] = ACTIONS(327), + [anon_sym_GT] = ACTIONS(327), + [anon_sym_LT_AMP] = ACTIONS(327), + [anon_sym_GT_AMP] = ACTIONS(327), + [anon_sym_LT_LT] = ACTIONS(327), + [anon_sym_LT_LT_DASH] = ACTIONS(327), + [sym_file_descriptor] = ACTIONS(327), + [sym_word] = ACTIONS(327), + [anon_sym_LF] = ACTIONS(327), + [anon_sym_SEMI_SEMI] = ACTIONS(327), + [sym_comment] = ACTIONS(35), }, [91] = { - [anon_sym_PIPE] = ACTIONS(331), - [anon_sym_PIPE_AMP] = ACTIONS(331), - [anon_sym_AMP_AMP] = ACTIONS(331), - [anon_sym_SEMI] = ACTIONS(331), - [anon_sym_LT] = ACTIONS(334), - [anon_sym_GT] = ACTIONS(334), - [anon_sym_LT_AMP] = ACTIONS(334), - [anon_sym_GT_AMP] = ACTIONS(334), - [anon_sym_LT_LT] = ACTIONS(331), - [anon_sym_LT_LT_DASH] = ACTIONS(331), - [sym_file_descriptor] = ACTIONS(334), - [sym_leading_word] = ACTIONS(320), - [anon_sym_LF] = ACTIONS(331), - [anon_sym_SEMI_SEMI] = ACTIONS(331), + [anon_sym_PIPE] = ACTIONS(335), + [anon_sym_PIPE_AMP] = ACTIONS(335), + [anon_sym_AMP_AMP] = ACTIONS(335), + [anon_sym_SEMI] = ACTIONS(335), + [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(335), + [anon_sym_LT_LT_DASH] = ACTIONS(335), + [sym_file_descriptor] = ACTIONS(338), + [sym_leading_word] = ACTIONS(324), + [anon_sym_LF] = ACTIONS(335), + [anon_sym_SEMI_SEMI] = ACTIONS(335), + [sym_comment] = ACTIONS(35), }, [92] = { - [anon_sym_PIPE] = ACTIONS(331), - [anon_sym_PIPE_AMP] = ACTIONS(331), - [anon_sym_AMP_AMP] = ACTIONS(331), - [anon_sym_SEMI] = ACTIONS(331), - [anon_sym_LT] = ACTIONS(331), - [anon_sym_GT] = ACTIONS(331), - [anon_sym_LT_AMP] = ACTIONS(331), - [anon_sym_GT_AMP] = ACTIONS(331), - [anon_sym_LT_LT] = ACTIONS(331), - [anon_sym_LT_LT_DASH] = ACTIONS(331), - [sym_file_descriptor] = ACTIONS(331), - [anon_sym_LF] = ACTIONS(331), - [anon_sym_SEMI_SEMI] = ACTIONS(331), + [anon_sym_PIPE] = ACTIONS(335), + [anon_sym_PIPE_AMP] = ACTIONS(335), + [anon_sym_AMP_AMP] = ACTIONS(335), + [anon_sym_SEMI] = ACTIONS(335), + [anon_sym_LT] = ACTIONS(335), + [anon_sym_GT] = ACTIONS(335), + [anon_sym_LT_AMP] = ACTIONS(335), + [anon_sym_GT_AMP] = ACTIONS(335), + [anon_sym_LT_LT] = ACTIONS(335), + [anon_sym_LT_LT_DASH] = ACTIONS(335), + [sym_file_descriptor] = ACTIONS(335), + [anon_sym_LF] = ACTIONS(335), + [anon_sym_SEMI_SEMI] = ACTIONS(335), + [sym_comment] = ACTIONS(35), }, [93] = { [sym_expansion] = STATE(52), @@ -2250,205 +2416,202 @@ static uint16_t ts_parse_table[STATE_COUNT][SYMBOL_COUNT] = { [sym_file_redirect] = STATE(20), [sym_heredoc_redirect] = STATE(20), [aux_sym_simple_command_repeat3] = STATE(103), - [anon_sym_PIPE] = ACTIONS(339), - [anon_sym_PIPE_AMP] = ACTIONS(339), - [anon_sym_AMP_AMP] = ACTIONS(339), - [anon_sym_SEMI] = ACTIONS(339), - [anon_sym_DOLLAR] = ACTIONS(99), - [anon_sym_DOLLAR_LBRACE] = ACTIONS(101), - [anon_sym_LT] = ACTIONS(57), - [anon_sym_GT] = ACTIONS(57), - [anon_sym_LT_AMP] = ACTIONS(57), - [anon_sym_GT_AMP] = ACTIONS(57), - [anon_sym_LT_LT] = ACTIONS(59), - [anon_sym_LT_LT_DASH] = ACTIONS(59), - [sym_file_descriptor] = ACTIONS(61), - [sym_word] = ACTIONS(159), - [anon_sym_LF] = ACTIONS(339), - [anon_sym_SEMI_SEMI] = ACTIONS(339), + [anon_sym_PIPE] = ACTIONS(343), + [anon_sym_PIPE_AMP] = ACTIONS(343), + [anon_sym_AMP_AMP] = ACTIONS(343), + [anon_sym_SEMI] = ACTIONS(343), + [anon_sym_DOLLAR] = ACTIONS(103), + [anon_sym_DOLLAR_LBRACE] = ACTIONS(105), + [anon_sym_LT] = ACTIONS(61), + [anon_sym_GT] = ACTIONS(61), + [anon_sym_LT_AMP] = ACTIONS(61), + [anon_sym_GT_AMP] = ACTIONS(61), + [anon_sym_LT_LT] = ACTIONS(63), + [anon_sym_LT_LT_DASH] = ACTIONS(63), + [sym_file_descriptor] = ACTIONS(65), + [sym_word] = ACTIONS(163), + [anon_sym_LF] = ACTIONS(343), + [anon_sym_SEMI_SEMI] = ACTIONS(343), + [sym_comment] = ACTIONS(35), }, [94] = { [sym_file_redirect] = STATE(43), [sym_heredoc_redirect] = STATE(43), - [anon_sym_PIPE] = ACTIONS(342), - [anon_sym_PIPE_AMP] = ACTIONS(342), - [anon_sym_AMP_AMP] = ACTIONS(342), - [anon_sym_SEMI] = ACTIONS(342), - [anon_sym_LT] = ACTIONS(57), - [anon_sym_GT] = ACTIONS(57), - [anon_sym_LT_AMP] = ACTIONS(57), - [anon_sym_GT_AMP] = ACTIONS(57), - [anon_sym_LT_LT] = ACTIONS(59), - [anon_sym_LT_LT_DASH] = ACTIONS(59), - [sym_file_descriptor] = ACTIONS(61), - [anon_sym_LF] = ACTIONS(342), - [anon_sym_SEMI_SEMI] = ACTIONS(342), + [anon_sym_PIPE] = ACTIONS(346), + [anon_sym_PIPE_AMP] = ACTIONS(346), + [anon_sym_AMP_AMP] = ACTIONS(346), + [anon_sym_SEMI] = ACTIONS(346), + [anon_sym_LT] = ACTIONS(61), + [anon_sym_GT] = ACTIONS(61), + [anon_sym_LT_AMP] = ACTIONS(61), + [anon_sym_GT_AMP] = ACTIONS(61), + [anon_sym_LT_LT] = ACTIONS(63), + [anon_sym_LT_LT_DASH] = ACTIONS(63), + [sym_file_descriptor] = ACTIONS(65), + [anon_sym_LF] = ACTIONS(346), + [anon_sym_SEMI_SEMI] = ACTIONS(346), + [sym_comment] = ACTIONS(35), }, [95] = { [sym_file_redirect] = STATE(43), [sym_heredoc_redirect] = STATE(43), - [anon_sym_PIPE] = ACTIONS(339), - [anon_sym_PIPE_AMP] = ACTIONS(339), - [anon_sym_AMP_AMP] = ACTIONS(339), - [anon_sym_SEMI] = ACTIONS(339), - [anon_sym_LT] = ACTIONS(57), - [anon_sym_GT] = ACTIONS(57), - [anon_sym_LT_AMP] = ACTIONS(57), - [anon_sym_GT_AMP] = ACTIONS(57), - [anon_sym_LT_LT] = ACTIONS(59), - [anon_sym_LT_LT_DASH] = ACTIONS(59), - [sym_file_descriptor] = ACTIONS(61), - [anon_sym_LF] = ACTIONS(339), - [anon_sym_SEMI_SEMI] = ACTIONS(339), + [anon_sym_PIPE] = ACTIONS(343), + [anon_sym_PIPE_AMP] = ACTIONS(343), + [anon_sym_AMP_AMP] = ACTIONS(343), + [anon_sym_SEMI] = ACTIONS(343), + [anon_sym_LT] = ACTIONS(61), + [anon_sym_GT] = ACTIONS(61), + [anon_sym_LT_AMP] = ACTIONS(61), + [anon_sym_GT_AMP] = ACTIONS(61), + [anon_sym_LT_LT] = ACTIONS(63), + [anon_sym_LT_LT_DASH] = ACTIONS(63), + [sym_file_descriptor] = ACTIONS(65), + [anon_sym_LF] = ACTIONS(343), + [anon_sym_SEMI_SEMI] = ACTIONS(343), + [sym_comment] = ACTIONS(35), }, [96] = { - [anon_sym_RBRACE] = ACTIONS(349), - [anon_sym_LT] = ACTIONS(161), - [anon_sym_GT] = ACTIONS(161), - [anon_sym_LT_AMP] = ACTIONS(161), - [anon_sym_GT_AMP] = ACTIONS(161), - [sym_file_descriptor] = ACTIONS(161), - [sym_leading_word] = ACTIONS(163), + [anon_sym_RBRACE] = ACTIONS(353), + [anon_sym_LT] = ACTIONS(165), + [anon_sym_GT] = ACTIONS(165), + [anon_sym_LT_AMP] = ACTIONS(165), + [anon_sym_GT_AMP] = ACTIONS(165), + [sym_file_descriptor] = ACTIONS(165), + [sym_leading_word] = ACTIONS(167), + [sym_comment] = ACTIONS(45), }, [97] = { - [sym__heredoc_middle] = ACTIONS(223), - [sym__heredoc_end] = ACTIONS(223), - [anon_sym_PIPE] = ACTIONS(189), - [anon_sym_PIPE_AMP] = ACTIONS(189), - [anon_sym_AMP_AMP] = ACTIONS(189), - [anon_sym_SEMI] = ACTIONS(189), - [anon_sym_DOLLAR] = ACTIONS(189), - [anon_sym_DOLLAR_LBRACE] = ACTIONS(189), - [anon_sym_LT] = ACTIONS(189), - [anon_sym_GT] = ACTIONS(189), - [anon_sym_LT_AMP] = ACTIONS(189), - [anon_sym_GT_AMP] = ACTIONS(189), - [anon_sym_LT_LT] = ACTIONS(189), - [anon_sym_LT_LT_DASH] = ACTIONS(189), - [sym_file_descriptor] = ACTIONS(189), - [sym_word] = ACTIONS(189), - [anon_sym_LF] = ACTIONS(189), - [anon_sym_SEMI_SEMI] = ACTIONS(189), + [sym__heredoc_middle] = ACTIONS(227), + [sym__heredoc_end] = ACTIONS(227), + [anon_sym_PIPE] = ACTIONS(193), + [anon_sym_PIPE_AMP] = ACTIONS(193), + [anon_sym_AMP_AMP] = ACTIONS(193), + [anon_sym_SEMI] = ACTIONS(193), + [anon_sym_DOLLAR] = ACTIONS(193), + [anon_sym_DOLLAR_LBRACE] = ACTIONS(193), + [anon_sym_LT] = ACTIONS(193), + [anon_sym_GT] = ACTIONS(193), + [anon_sym_LT_AMP] = ACTIONS(193), + [anon_sym_GT_AMP] = ACTIONS(193), + [anon_sym_LT_LT] = ACTIONS(193), + [anon_sym_LT_LT_DASH] = ACTIONS(193), + [sym_file_descriptor] = ACTIONS(193), + [sym_word] = ACTIONS(193), + [anon_sym_LF] = ACTIONS(193), + [anon_sym_SEMI_SEMI] = ACTIONS(193), + [sym_comment] = ACTIONS(35), }, [98] = { - [anon_sym_EQ] = ACTIONS(351), - [anon_sym_COLON] = ACTIONS(353), - [anon_sym_COLON_QMARK] = ACTIONS(351), - [anon_sym_RBRACE] = ACTIONS(355), + [anon_sym_EQ] = ACTIONS(355), + [anon_sym_COLON] = ACTIONS(357), + [anon_sym_COLON_QMARK] = ACTIONS(355), + [anon_sym_RBRACE] = ACTIONS(359), + [sym_comment] = ACTIONS(45), }, [99] = { - [anon_sym_RBRACE] = ACTIONS(349), + [anon_sym_RBRACE] = ACTIONS(353), + [sym_comment] = ACTIONS(45), }, [100] = { - [anon_sym_PIPE] = ACTIONS(278), - [anon_sym_PIPE_AMP] = ACTIONS(278), - [anon_sym_AMP_AMP] = ACTIONS(278), - [anon_sym_SEMI] = 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_leading_word] = ACTIONS(278), - [anon_sym_LF] = ACTIONS(278), - [anon_sym_SEMI_SEMI] = ACTIONS(278), + [anon_sym_PIPE] = ACTIONS(282), + [anon_sym_PIPE_AMP] = ACTIONS(282), + [anon_sym_AMP_AMP] = ACTIONS(282), + [anon_sym_SEMI] = ACTIONS(282), + [anon_sym_LT] = ACTIONS(282), + [anon_sym_GT] = ACTIONS(282), + [anon_sym_LT_AMP] = ACTIONS(282), + [anon_sym_GT_AMP] = ACTIONS(282), + [anon_sym_LT_LT] = ACTIONS(282), + [anon_sym_LT_LT_DASH] = ACTIONS(282), + [sym_file_descriptor] = ACTIONS(282), + [sym_leading_word] = ACTIONS(282), + [anon_sym_LF] = ACTIONS(282), + [anon_sym_SEMI_SEMI] = ACTIONS(282), + [sym_comment] = ACTIONS(35), }, [101] = { - [anon_sym_PIPE] = ACTIONS(357), - [anon_sym_PIPE_AMP] = ACTIONS(357), - [anon_sym_AMP_AMP] = ACTIONS(357), - [anon_sym_SEMI] = ACTIONS(357), - [anon_sym_LT] = ACTIONS(357), - [anon_sym_GT] = ACTIONS(357), - [anon_sym_LT_AMP] = ACTIONS(357), - [anon_sym_GT_AMP] = ACTIONS(357), - [anon_sym_LT_LT] = ACTIONS(357), - [anon_sym_LT_LT_DASH] = ACTIONS(357), - [sym_file_descriptor] = ACTIONS(357), - [sym_leading_word] = ACTIONS(357), - [anon_sym_LF] = ACTIONS(357), - [anon_sym_SEMI_SEMI] = ACTIONS(357), + [anon_sym_PIPE] = ACTIONS(361), + [anon_sym_PIPE_AMP] = ACTIONS(361), + [anon_sym_AMP_AMP] = ACTIONS(361), + [anon_sym_SEMI] = ACTIONS(361), + [anon_sym_LT] = ACTIONS(361), + [anon_sym_GT] = ACTIONS(361), + [anon_sym_LT_AMP] = ACTIONS(361), + [anon_sym_GT_AMP] = ACTIONS(361), + [anon_sym_LT_LT] = ACTIONS(361), + [anon_sym_LT_LT_DASH] = ACTIONS(361), + [sym_file_descriptor] = ACTIONS(361), + [sym_leading_word] = ACTIONS(361), + [anon_sym_LF] = ACTIONS(361), + [anon_sym_SEMI_SEMI] = ACTIONS(361), + [sym_comment] = ACTIONS(35), }, [102] = { - [sym_file_descriptor] = ACTIONS(360), - [sym_word] = ACTIONS(362), + [sym_file_descriptor] = ACTIONS(364), + [sym_word] = ACTIONS(366), + [sym_comment] = ACTIONS(45), }, [103] = { [sym_file_redirect] = STATE(43), [sym_heredoc_redirect] = STATE(43), - [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(57), - [anon_sym_GT] = ACTIONS(57), - [anon_sym_LT_AMP] = ACTIONS(57), - [anon_sym_GT_AMP] = ACTIONS(57), - [anon_sym_LT_LT] = ACTIONS(59), - [anon_sym_LT_LT_DASH] = ACTIONS(59), - [sym_file_descriptor] = ACTIONS(61), - [anon_sym_LF] = ACTIONS(364), - [anon_sym_SEMI_SEMI] = ACTIONS(364), + [anon_sym_PIPE] = ACTIONS(368), + [anon_sym_PIPE_AMP] = ACTIONS(368), + [anon_sym_AMP_AMP] = ACTIONS(368), + [anon_sym_SEMI] = ACTIONS(368), + [anon_sym_LT] = ACTIONS(61), + [anon_sym_GT] = ACTIONS(61), + [anon_sym_LT_AMP] = ACTIONS(61), + [anon_sym_GT_AMP] = ACTIONS(61), + [anon_sym_LT_LT] = ACTIONS(63), + [anon_sym_LT_LT_DASH] = ACTIONS(63), + [sym_file_descriptor] = ACTIONS(65), + [anon_sym_LF] = ACTIONS(368), + [anon_sym_SEMI_SEMI] = ACTIONS(368), + [sym_comment] = ACTIONS(35), }, [104] = { - [sym__heredoc_middle] = ACTIONS(253), - [sym__heredoc_end] = ACTIONS(253), - [anon_sym_PIPE] = ACTIONS(249), - [anon_sym_PIPE_AMP] = ACTIONS(249), - [anon_sym_AMP_AMP] = ACTIONS(249), - [anon_sym_SEMI] = ACTIONS(249), - [anon_sym_DOLLAR] = ACTIONS(249), - [anon_sym_DOLLAR_LBRACE] = ACTIONS(249), - [anon_sym_LT] = ACTIONS(249), - [anon_sym_GT] = ACTIONS(249), - [anon_sym_LT_AMP] = ACTIONS(249), - [anon_sym_GT_AMP] = ACTIONS(249), - [anon_sym_LT_LT] = ACTIONS(249), - [anon_sym_LT_LT_DASH] = ACTIONS(249), - [sym_file_descriptor] = ACTIONS(249), - [sym_word] = ACTIONS(249), - [anon_sym_LF] = ACTIONS(249), - [anon_sym_SEMI_SEMI] = ACTIONS(249), + [sym__heredoc_middle] = ACTIONS(257), + [sym__heredoc_end] = ACTIONS(257), + [anon_sym_PIPE] = ACTIONS(253), + [anon_sym_PIPE_AMP] = ACTIONS(253), + [anon_sym_AMP_AMP] = ACTIONS(253), + [anon_sym_SEMI] = 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), + [anon_sym_LF] = ACTIONS(253), + [anon_sym_SEMI_SEMI] = ACTIONS(253), + [sym_comment] = ACTIONS(35), }, [105] = { - [sym__heredoc_middle] = ACTIONS(245), - [sym__heredoc_end] = ACTIONS(245), - [anon_sym_PIPE] = ACTIONS(221), - [anon_sym_PIPE_AMP] = ACTIONS(221), - [anon_sym_AMP_AMP] = ACTIONS(221), - [anon_sym_SEMI] = ACTIONS(221), - [anon_sym_DOLLAR] = ACTIONS(221), - [anon_sym_DOLLAR_LBRACE] = ACTIONS(221), - [anon_sym_LT] = ACTIONS(221), - [anon_sym_GT] = ACTIONS(221), - [anon_sym_LT_AMP] = ACTIONS(221), - [anon_sym_GT_AMP] = ACTIONS(221), - [anon_sym_LT_LT] = ACTIONS(221), - [anon_sym_LT_LT_DASH] = ACTIONS(221), - [sym_file_descriptor] = ACTIONS(221), - [sym_word] = ACTIONS(221), - [anon_sym_LF] = ACTIONS(221), - [anon_sym_SEMI_SEMI] = ACTIONS(221), + [sym__heredoc_middle] = ACTIONS(249), + [sym__heredoc_end] = ACTIONS(249), + [anon_sym_PIPE] = ACTIONS(225), + [anon_sym_PIPE_AMP] = ACTIONS(225), + [anon_sym_AMP_AMP] = ACTIONS(225), + [anon_sym_SEMI] = ACTIONS(225), + [anon_sym_DOLLAR] = ACTIONS(225), + [anon_sym_DOLLAR_LBRACE] = ACTIONS(225), + [anon_sym_LT] = ACTIONS(225), + [anon_sym_GT] = ACTIONS(225), + [anon_sym_LT_AMP] = ACTIONS(225), + [anon_sym_GT_AMP] = ACTIONS(225), + [anon_sym_LT_LT] = ACTIONS(225), + [anon_sym_LT_LT_DASH] = ACTIONS(225), + [sym_file_descriptor] = ACTIONS(225), + [sym_word] = ACTIONS(225), + [anon_sym_LF] = ACTIONS(225), + [anon_sym_SEMI_SEMI] = ACTIONS(225), + [sym_comment] = ACTIONS(35), }, [106] = { - [anon_sym_PIPE] = ACTIONS(143), - [anon_sym_PIPE_AMP] = ACTIONS(143), - [anon_sym_AMP_AMP] = ACTIONS(143), - [anon_sym_SEMI] = ACTIONS(143), - [anon_sym_LT] = ACTIONS(143), - [anon_sym_GT] = ACTIONS(143), - [anon_sym_LT_AMP] = ACTIONS(143), - [anon_sym_GT_AMP] = ACTIONS(143), - [anon_sym_LT_LT] = ACTIONS(143), - [anon_sym_LT_LT_DASH] = ACTIONS(143), - [sym_file_descriptor] = ACTIONS(143), - [sym_leading_word] = ACTIONS(143), - [anon_sym_LF] = ACTIONS(143), - [anon_sym_SEMI_SEMI] = ACTIONS(143), - }, - [107] = { [anon_sym_PIPE] = ACTIONS(147), [anon_sym_PIPE_AMP] = ACTIONS(147), [anon_sym_AMP_AMP] = ACTIONS(147), @@ -2463,6 +2626,24 @@ static uint16_t ts_parse_table[STATE_COUNT][SYMBOL_COUNT] = { [sym_leading_word] = ACTIONS(147), [anon_sym_LF] = ACTIONS(147), [anon_sym_SEMI_SEMI] = ACTIONS(147), + [sym_comment] = ACTIONS(35), + }, + [107] = { + [anon_sym_PIPE] = ACTIONS(151), + [anon_sym_PIPE_AMP] = ACTIONS(151), + [anon_sym_AMP_AMP] = ACTIONS(151), + [anon_sym_SEMI] = ACTIONS(151), + [anon_sym_LT] = ACTIONS(151), + [anon_sym_GT] = ACTIONS(151), + [anon_sym_LT_AMP] = ACTIONS(151), + [anon_sym_GT_AMP] = ACTIONS(151), + [anon_sym_LT_LT] = ACTIONS(151), + [anon_sym_LT_LT_DASH] = ACTIONS(151), + [sym_file_descriptor] = ACTIONS(151), + [sym_leading_word] = ACTIONS(151), + [anon_sym_LF] = ACTIONS(151), + [anon_sym_SEMI_SEMI] = ACTIONS(151), + [sym_comment] = ACTIONS(35), }, }; @@ -2485,154 +2666,156 @@ static TSParseActionEntry ts_parse_actions[] = { [29] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, RECOVER(18), [31] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, RECOVER(83), [33] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, RECOVER(24), - [35] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym_program, 0), - [37] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(2), - [39] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(3), - [41] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(4), - [43] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(12), - [45] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(13), - [47] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(14), - [49] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(14), - [51] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(15), - [53] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 1, .rename_sequence_id = 1), - [55] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(16), - [57] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(17), - [59] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(18), - [61] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(19), - [63] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, ACCEPT_INPUT(), - [65] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(aux_sym_program_repeat1, 1), - [67] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_program_repeat1, 1), - [69] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_program_repeat1, 1), - [71] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(22), - [73] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(23), - [75] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(24), - [77] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_simple_command_repeat1, 1), - [79] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat1, 1), - [81] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym_program, 1), - [83] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(26), - [85] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_file_redirect, 2), - [87] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 2), - [89] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_file_redirect, 2, .rename_sequence_id = 2), - [91] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 2, .rename_sequence_id = 2), - [93] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(28), - [95] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(29), - [97] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 2, .rename_sequence_id = 3), - [99] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(30), - [101] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(31), - [103] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(32), - [105] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(36), - [107] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(37), - [109] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(38), - [111] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(39), - [113] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(40), - [115] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(42), - [117] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(42), - [119] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat3, 1), - [121] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym_command, 2), - [123] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_command, 2), - [125] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_command, 2), - [127] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(aux_sym_program_repeat1, 2), - [129] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_program_repeat1, 2), - [131] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_program_repeat1, 2), - [133] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(47), - [135] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 2, .rename_sequence_id = 4), - [137] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_simple_command_repeat1, 2), - [139] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat1, 2), - [141] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_file_redirect, 3), - [143] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 3), - [145] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_file_redirect, 3, .rename_sequence_id = 5), - [147] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 3, .rename_sequence_id = 5), - [149] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(49), - [151] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(50), - [153] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat2, 1, .rename_sequence_id = 6), - [155] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat2, 1), - [157] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 3, .rename_sequence_id = 7), - [159] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(51), - [161] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_environment_variable_assignment, 3, .rename_sequence_id = 8), - [163] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_environment_variable_assignment, 3, .rename_sequence_id = 8), - [165] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_heredoc, 1), - [167] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(54), - [169] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(55), - [171] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(56), - [173] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(57), - [175] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_heredoc_redirect, 2), - [177] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(59), - [179] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(60), - [181] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat3, 2), - [183] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_pipeline, 3), - [185] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_list, 3), - [187] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 3, .rename_sequence_id = 9), - [189] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_expansion, 2, .rename_sequence_id = 10), - [191] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(63), - [193] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(63), - [195] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(64), - [197] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat2, 2, .rename_sequence_id = 11), - [199] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat2, 2), - [201] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 4, .rename_sequence_id = 12), - [203] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(aux_sym_heredoc_repeat1, 1), - [205] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_heredoc_repeat1, 1), - [207] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_heredoc, 2), - [209] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(65), - [211] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(66), - [213] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(67), - [215] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(68), - [217] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 4, .rename_sequence_id = 13), - [219] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(70), - [221] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_operator_expansion, 3, .rename_sequence_id = 14), - [223] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym_expansion, 2, .rename_sequence_id = 10), - [225] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_expansion, 2, .rename_sequence_id = 10), - [227] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(71), - [229] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(71), - [231] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(72), - [233] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(aux_sym_heredoc_repeat1, 2), - [235] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_heredoc_repeat1, 2), - [237] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_heredoc, 3), - [239] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 5, .rename_sequence_id = 15), - [241] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(73), - [243] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(74), - [245] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym_operator_expansion, 3, .rename_sequence_id = 14), - [247] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_operator_expansion, 3, .rename_sequence_id = 14), - [249] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_operator_expansion, 5, .rename_sequence_id = 16), - [251] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(75), - [253] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym_operator_expansion, 5, .rename_sequence_id = 16), - [255] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_operator_expansion, 5, .rename_sequence_id = 16), - [257] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 2, .rename_sequence_id = 3), REDUCE(sym_simple_command, 3, .rename_sequence_id = 9), - [260] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(96), - [262] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(97), - [264] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(98), - [266] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(99), - [268] = {.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), - [271] = {.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), - [274] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(100), - [276] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(101), - [278] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 2), REDUCE(sym_file_redirect, 3), - [281] = {.count = 3, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 2), REDUCE(sym_file_redirect, 3), SHIFT(102), - [285] = {.count = 2, .reusable = true, .depends_on_lookahead = false}, REDUCE(aux_sym_heredoc_repeat1, 1), REDUCE(aux_sym_heredoc_repeat1, 2), - [288] = {.count = 2, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_heredoc_repeat1, 1), REDUCE(aux_sym_heredoc_repeat1, 2), - [291] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_heredoc, 2), REDUCE(sym_heredoc, 3), - [294] = {.count = 2, .reusable = true, .depends_on_lookahead = false}, REDUCE(aux_sym_program_repeat1, 1), REDUCE(aux_sym_program_repeat1, 2), - [297] = {.count = 2, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_program_repeat1, 1), REDUCE(aux_sym_program_repeat1, 2), - [300] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_program_repeat1, 1), REDUCE(aux_sym_program_repeat1, 2), - [303] = {.count = 3, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_pipeline, 3), REDUCE(sym_list, 3), SHIFT(23), - [307] = {.count = 3, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_pipeline, 3), REDUCE(sym_list, 3), SHIFT(24), - [311] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_list, 3), SHIFT(23), - [314] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_list, 3), SHIFT(24), - [317] = {.count = 2, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_simple_command_repeat1, 1), REDUCE(aux_sym_simple_command_repeat1, 2), - [320] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat1, 1), REDUCE(aux_sym_simple_command_repeat1, 2), - [323] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat2, 1), REDUCE(aux_sym_simple_command_repeat2, 2), - [326] = {.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), - [331] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat3, 1), REDUCE(aux_sym_simple_command_repeat3, 2), - [334] = {.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), - [339] = {.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), - [342] = {.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), - [349] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(104), - [351] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(80), - [353] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(80), - [355] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(105), - [357] = {.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), - [360] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(106), - [362] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(107), - [364] = {.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), + [35] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT_EXTRA(), + [37] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym_program, 0), + [39] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(2), + [41] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(3), + [43] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(4), + [45] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT_EXTRA(), + [47] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(12), + [49] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(13), + [51] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(14), + [53] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(14), + [55] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(15), + [57] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 1, .rename_sequence_id = 1), + [59] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(16), + [61] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(17), + [63] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(18), + [65] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(19), + [67] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, ACCEPT_INPUT(), + [69] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(aux_sym_program_repeat1, 1), + [71] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_program_repeat1, 1), + [73] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_program_repeat1, 1), + [75] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(22), + [77] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(23), + [79] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(24), + [81] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_simple_command_repeat1, 1), + [83] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat1, 1), + [85] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym_program, 1), + [87] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(26), + [89] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_file_redirect, 2), + [91] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 2), + [93] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_file_redirect, 2, .rename_sequence_id = 2), + [95] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 2, .rename_sequence_id = 2), + [97] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(28), + [99] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(29), + [101] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 2, .rename_sequence_id = 3), + [103] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(30), + [105] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(31), + [107] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(32), + [109] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(36), + [111] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(37), + [113] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(38), + [115] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(39), + [117] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(40), + [119] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(42), + [121] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(42), + [123] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat3, 1), + [125] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym_command, 2), + [127] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_command, 2), + [129] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_command, 2), + [131] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(aux_sym_program_repeat1, 2), + [133] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_program_repeat1, 2), + [135] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_program_repeat1, 2), + [137] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(47), + [139] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 2, .rename_sequence_id = 4), + [141] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_simple_command_repeat1, 2), + [143] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat1, 2), + [145] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_file_redirect, 3), + [147] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 3), + [149] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_file_redirect, 3, .rename_sequence_id = 5), + [151] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 3, .rename_sequence_id = 5), + [153] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(49), + [155] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(50), + [157] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat2, 1, .rename_sequence_id = 6), + [159] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat2, 1), + [161] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 3, .rename_sequence_id = 7), + [163] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(51), + [165] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_environment_variable_assignment, 3, .rename_sequence_id = 8), + [167] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_environment_variable_assignment, 3, .rename_sequence_id = 8), + [169] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_heredoc, 1), + [171] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(54), + [173] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(55), + [175] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(56), + [177] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(57), + [179] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_heredoc_redirect, 2), + [181] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(59), + [183] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(60), + [185] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat3, 2), + [187] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_pipeline, 3), + [189] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_list, 3), + [191] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 3, .rename_sequence_id = 9), + [193] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_expansion, 2, .rename_sequence_id = 10), + [195] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(63), + [197] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(63), + [199] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(64), + [201] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat2, 2, .rename_sequence_id = 11), + [203] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat2, 2), + [205] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 4, .rename_sequence_id = 12), + [207] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(aux_sym_heredoc_repeat1, 1), + [209] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_heredoc_repeat1, 1), + [211] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_heredoc, 2), + [213] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(65), + [215] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(66), + [217] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(67), + [219] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(68), + [221] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 4, .rename_sequence_id = 13), + [223] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(70), + [225] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_operator_expansion, 3, .rename_sequence_id = 14), + [227] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym_expansion, 2, .rename_sequence_id = 10), + [229] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_expansion, 2, .rename_sequence_id = 10), + [231] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(71), + [233] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(71), + [235] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(72), + [237] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(aux_sym_heredoc_repeat1, 2), + [239] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_heredoc_repeat1, 2), + [241] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_heredoc, 3), + [243] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 5, .rename_sequence_id = 15), + [245] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(73), + [247] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(74), + [249] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym_operator_expansion, 3, .rename_sequence_id = 14), + [251] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_operator_expansion, 3, .rename_sequence_id = 14), + [253] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_operator_expansion, 5, .rename_sequence_id = 16), + [255] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(75), + [257] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, REDUCE(sym_operator_expansion, 5, .rename_sequence_id = 16), + [259] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, REDUCE(sym_operator_expansion, 5, .rename_sequence_id = 16), + [261] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_simple_command, 2, .rename_sequence_id = 3), REDUCE(sym_simple_command, 3, .rename_sequence_id = 9), + [264] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(96), + [266] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(97), + [268] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(98), + [270] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(99), + [272] = {.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), + [275] = {.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), + [278] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(100), + [280] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(101), + [282] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 2), REDUCE(sym_file_redirect, 3), + [285] = {.count = 3, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_file_redirect, 2), REDUCE(sym_file_redirect, 3), SHIFT(102), + [289] = {.count = 2, .reusable = true, .depends_on_lookahead = false}, REDUCE(aux_sym_heredoc_repeat1, 1), REDUCE(aux_sym_heredoc_repeat1, 2), + [292] = {.count = 2, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_heredoc_repeat1, 1), REDUCE(aux_sym_heredoc_repeat1, 2), + [295] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_heredoc, 2), REDUCE(sym_heredoc, 3), + [298] = {.count = 2, .reusable = true, .depends_on_lookahead = false}, REDUCE(aux_sym_program_repeat1, 1), REDUCE(aux_sym_program_repeat1, 2), + [301] = {.count = 2, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_program_repeat1, 1), REDUCE(aux_sym_program_repeat1, 2), + [304] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_program_repeat1, 1), REDUCE(aux_sym_program_repeat1, 2), + [307] = {.count = 3, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_pipeline, 3), REDUCE(sym_list, 3), SHIFT(23), + [311] = {.count = 3, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_pipeline, 3), REDUCE(sym_list, 3), SHIFT(24), + [315] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_list, 3), SHIFT(23), + [318] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(sym_list, 3), SHIFT(24), + [321] = {.count = 2, .reusable = true, .depends_on_lookahead = true}, REDUCE(aux_sym_simple_command_repeat1, 1), REDUCE(aux_sym_simple_command_repeat1, 2), + [324] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, 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_repeat2, 1), REDUCE(aux_sym_simple_command_repeat2, 2), + [330] = {.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), + [335] = {.count = 2, .reusable = false, .depends_on_lookahead = false}, REDUCE(aux_sym_simple_command_repeat3, 1), REDUCE(aux_sym_simple_command_repeat3, 2), + [338] = {.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), + [343] = {.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), + [346] = {.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), + [353] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(104), + [355] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(80), + [357] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(80), + [359] = {.count = 1, .reusable = true, .depends_on_lookahead = false}, SHIFT(105), + [361] = {.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), + [364] = {.count = 1, .reusable = true, .depends_on_lookahead = true}, SHIFT(106), + [366] = {.count = 1, .reusable = false, .depends_on_lookahead = false}, SHIFT(107), + [368] = {.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();