From 539e1dc77ef426ca91944d5d0e743b08197ff9d8 Mon Sep 17 00:00:00 2001 From: Uy Ha Date: Sun, 11 Apr 2021 17:27:20 +0200 Subject: [PATCH] Add quoted argument --- corpus/quoted_argument.txt | 49 ++ grammar.js | 8 + src/grammar.json | 50 ++ src/node-types.json | 31 + src/parser.c | 1545 +++++++++++++++++++++--------------- 5 files changed, 1026 insertions(+), 657 deletions(-) create mode 100644 corpus/quoted_argument.txt diff --git a/corpus/quoted_argument.txt b/corpus/quoted_argument.txt new file mode 100644 index 0000000..d020603 --- /dev/null +++ b/corpus/quoted_argument.txt @@ -0,0 +1,49 @@ +========================= +One empty quoted argument +========================= + +message("") + +--- +(source_file + (command_invocation + (identifier) + (arguments + (argument (quoted_argument)) + ) + ) +) + +=================== +One quoted argument +=================== + +message("An argument") + +--- +(source_file + (command_invocation + (identifier) + (arguments + (argument (quoted_argument)) + ) + ) +) + +==================== +Two quoted arguments +==================== + +message("First argument" "Second argument") + +--- +(source_file + (command_invocation + (identifier) + (arguments + (argument (quoted_argument)) + (seperation (space)) + (argument (quoted_argument)) + ) + ) +) diff --git a/grammar.js b/grammar.js index 0d61007..173a8ec 100644 --- a/grammar.js +++ b/grammar.js @@ -22,6 +22,7 @@ module.exports = grammar({ argument: $ => choice( $.bracket_argument, + $.quoted_argument, $.unquoted_argument, ), @@ -35,6 +36,13 @@ module.exports = grammar({ _bracket_content: $ => repeat1(/[^\]]/), _bracket_close: $ => seq(']', repeat('='), ']'), + quoted_argument: $ => seq('"', repeat($._quoted_element), '"'), + _quoted_element: $ => choice( + /[^\\"]/, + $.escape_sequence, + seq('\\', $.newline), + ), + unquoted_argument: $ => repeat1( choice( /[^ ()#\"\\]/, diff --git a/src/grammar.json b/src/grammar.json index cb4e8fd..b2fa91d 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -86,6 +86,10 @@ "type": "SYMBOL", "name": "bracket_argument" }, + { + "type": "SYMBOL", + "name": "quoted_argument" + }, { "type": "SYMBOL", "name": "unquoted_argument" @@ -164,6 +168,52 @@ } ] }, + "quoted_argument": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "\"" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_quoted_element" + } + }, + { + "type": "STRING", + "value": "\"" + } + ] + }, + "_quoted_element": { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "[^\\\\\"]" + }, + { + "type": "SYMBOL", + "name": "escape_sequence" + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "\\" + }, + { + "type": "SYMBOL", + "name": "newline" + } + ] + } + ] + }, "unquoted_argument": { "type": "REPEAT1", "content": { diff --git a/src/node-types.json b/src/node-types.json index 994c254..c964ff6 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -11,6 +11,10 @@ "type": "bracket_argument", "named": true }, + { + "type": "quoted_argument", + "named": true + }, { "type": "unquoted_argument", "named": true @@ -89,6 +93,25 @@ ] } }, + { + "type": "quoted_argument", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "escape_sequence", + "named": true + }, + { + "type": "newline", + "named": true + } + ] + } + }, { "type": "seperation", "named": true, @@ -138,6 +161,10 @@ ] } }, + { + "type": "\"", + "named": false + }, { "type": "(", "named": false @@ -154,6 +181,10 @@ "type": "[", "named": false }, + { + "type": "\\", + "named": false + }, { "type": "\\n", "named": false diff --git a/src/parser.c b/src/parser.c index c505347..612a418 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,11 +6,11 @@ #endif #define LANGUAGE_VERSION 13 -#define STATE_COUNT 55 +#define STATE_COUNT 63 #define LARGE_STATE_COUNT 9 -#define SYMBOL_COUNT 36 +#define SYMBOL_COUNT 42 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 16 +#define TOKEN_COUNT 19 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 0 #define MAX_ALIAS_SEQUENCE_LENGTH 7 @@ -29,29 +29,35 @@ enum { anon_sym_EQ = 10, aux_sym__bracket_content_token1 = 11, anon_sym_RBRACK = 12, - aux_sym_unquoted_argument_token1 = 13, - anon_sym_LPAREN = 14, - anon_sym_RPAREN = 15, - sym_source_file = 16, - sym_line_ending = 17, - sym_seperation = 18, - sym_escape_sequence = 19, - sym__escape_encoded = 20, - sym_argument = 21, - sym_bracket_argument = 22, - sym__bracket_open = 23, - aux_sym__bracket_content = 24, - sym__bracket_close = 25, - sym_unquoted_argument = 26, - sym_arguments = 27, - sym__seperated_arguments = 28, - sym_command_invocation = 29, - aux_sym_source_file_repeat1 = 30, - aux_sym__bracket_open_repeat1 = 31, - aux_sym_unquoted_argument_repeat1 = 32, - aux_sym_arguments_repeat1 = 33, - aux_sym__seperated_arguments_repeat1 = 34, - aux_sym_command_invocation_repeat1 = 35, + anon_sym_DQUOTE = 13, + aux_sym__quoted_element_token1 = 14, + anon_sym_BSLASH = 15, + aux_sym_unquoted_argument_token1 = 16, + anon_sym_LPAREN = 17, + anon_sym_RPAREN = 18, + sym_source_file = 19, + sym_line_ending = 20, + sym_seperation = 21, + sym_escape_sequence = 22, + sym__escape_encoded = 23, + sym_argument = 24, + sym_bracket_argument = 25, + sym__bracket_open = 26, + aux_sym__bracket_content = 27, + sym__bracket_close = 28, + sym_quoted_argument = 29, + sym__quoted_element = 30, + sym_unquoted_argument = 31, + sym_arguments = 32, + sym__seperated_arguments = 33, + sym_command_invocation = 34, + aux_sym_source_file_repeat1 = 35, + aux_sym__bracket_open_repeat1 = 36, + aux_sym_quoted_argument_repeat1 = 37, + aux_sym_unquoted_argument_repeat1 = 38, + aux_sym_arguments_repeat1 = 39, + aux_sym__seperated_arguments_repeat1 = 40, + aux_sym_command_invocation_repeat1 = 41, }; static const char *ts_symbol_names[] = { @@ -68,6 +74,9 @@ static const char *ts_symbol_names[] = { [anon_sym_EQ] = "=", [aux_sym__bracket_content_token1] = "_bracket_content_token1", [anon_sym_RBRACK] = "]", + [anon_sym_DQUOTE] = "\"", + [aux_sym__quoted_element_token1] = "_quoted_element_token1", + [anon_sym_BSLASH] = "\\", [aux_sym_unquoted_argument_token1] = "unquoted_argument_token1", [anon_sym_LPAREN] = "(", [anon_sym_RPAREN] = ")", @@ -81,12 +90,15 @@ static const char *ts_symbol_names[] = { [sym__bracket_open] = "_bracket_open", [aux_sym__bracket_content] = "_bracket_content", [sym__bracket_close] = "_bracket_close", + [sym_quoted_argument] = "quoted_argument", + [sym__quoted_element] = "_quoted_element", [sym_unquoted_argument] = "unquoted_argument", [sym_arguments] = "arguments", [sym__seperated_arguments] = "_seperated_arguments", [sym_command_invocation] = "command_invocation", [aux_sym_source_file_repeat1] = "source_file_repeat1", [aux_sym__bracket_open_repeat1] = "_bracket_open_repeat1", + [aux_sym_quoted_argument_repeat1] = "quoted_argument_repeat1", [aux_sym_unquoted_argument_repeat1] = "unquoted_argument_repeat1", [aux_sym_arguments_repeat1] = "arguments_repeat1", [aux_sym__seperated_arguments_repeat1] = "_seperated_arguments_repeat1", @@ -107,6 +119,9 @@ static TSSymbol ts_symbol_map[] = { [anon_sym_EQ] = anon_sym_EQ, [aux_sym__bracket_content_token1] = aux_sym__bracket_content_token1, [anon_sym_RBRACK] = anon_sym_RBRACK, + [anon_sym_DQUOTE] = anon_sym_DQUOTE, + [aux_sym__quoted_element_token1] = aux_sym__quoted_element_token1, + [anon_sym_BSLASH] = anon_sym_BSLASH, [aux_sym_unquoted_argument_token1] = aux_sym_unquoted_argument_token1, [anon_sym_LPAREN] = anon_sym_LPAREN, [anon_sym_RPAREN] = anon_sym_RPAREN, @@ -120,12 +135,15 @@ static TSSymbol ts_symbol_map[] = { [sym__bracket_open] = sym__bracket_open, [aux_sym__bracket_content] = aux_sym__bracket_content, [sym__bracket_close] = sym__bracket_close, + [sym_quoted_argument] = sym_quoted_argument, + [sym__quoted_element] = sym__quoted_element, [sym_unquoted_argument] = sym_unquoted_argument, [sym_arguments] = sym_arguments, [sym__seperated_arguments] = sym__seperated_arguments, [sym_command_invocation] = sym_command_invocation, [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1, [aux_sym__bracket_open_repeat1] = aux_sym__bracket_open_repeat1, + [aux_sym_quoted_argument_repeat1] = aux_sym_quoted_argument_repeat1, [aux_sym_unquoted_argument_repeat1] = aux_sym_unquoted_argument_repeat1, [aux_sym_arguments_repeat1] = aux_sym_arguments_repeat1, [aux_sym__seperated_arguments_repeat1] = aux_sym__seperated_arguments_repeat1, @@ -185,6 +203,18 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_DQUOTE] = { + .visible = true, + .named = false, + }, + [aux_sym__quoted_element_token1] = { + .visible = false, + .named = false, + }, + [anon_sym_BSLASH] = { + .visible = true, + .named = false, + }, [aux_sym_unquoted_argument_token1] = { .visible = false, .named = false, @@ -237,6 +267,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = true, }, + [sym_quoted_argument] = { + .visible = true, + .named = true, + }, + [sym__quoted_element] = { + .visible = false, + .named = true, + }, [sym_unquoted_argument] = { .visible = true, .named = true, @@ -261,6 +299,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym_quoted_argument_repeat1] = { + .visible = false, + .named = false, + }, [aux_sym_unquoted_argument_repeat1] = { .visible = false, .named = false, @@ -292,212 +334,261 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(7); - if (lookahead == '(') ADVANCE(29); - if (lookahead == ')') ADVANCE(30); - if (lookahead == ';') ADVANCE(20); - if (lookahead == '=') ADVANCE(22); - if (lookahead == '[') ADVANCE(21); - if (lookahead == '\\') ADVANCE(5); - if (lookahead == ']') ADVANCE(25); + if (eof) ADVANCE(9); + if (lookahead == '"') ADVANCE(29); + if (lookahead == '(') ADVANCE(36); + if (lookahead == ')') ADVANCE(37); + if (lookahead == ';') ADVANCE(23); + if (lookahead == '=') ADVANCE(25); + if (lookahead == '[') ADVANCE(24); + if (lookahead == '\\') ADVANCE(32); + if (lookahead == ']') ADVANCE(28); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(0) if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(15); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(18); END_STATE(); case 1: - if (lookahead == '\t') ADVANCE(8); - if (lookahead == '\n') ADVANCE(12); - if (lookahead == '\r') ADVANCE(27); - if (lookahead == ' ') ADVANCE(8); - if (lookahead == ')') ADVANCE(30); - if (lookahead == ';') ADVANCE(20); - if (lookahead == '[') ADVANCE(21); - if (lookahead == '\\') ADVANCE(5); + if (lookahead == '\t') ADVANCE(10); + if (lookahead == '\n') ADVANCE(14); + if (lookahead == '\r') ADVANCE(34); + if (lookahead == ' ') ADVANCE(10); + if (lookahead == '"') ADVANCE(29); + if (lookahead == ')') ADVANCE(37); + if (lookahead == ';') ADVANCE(23); + if (lookahead == '[') ADVANCE(24); + if (lookahead == '\\') ADVANCE(7); if (lookahead != 0 && - lookahead != '"' && lookahead != '#' && - lookahead != '(') ADVANCE(26); + lookahead != '(') ADVANCE(33); END_STATE(); case 2: - if (lookahead == '\t') ADVANCE(9); - if (lookahead == '\n') ADVANCE(13); - if (lookahead == '\r') ADVANCE(28); - if (lookahead == ' ') ADVANCE(9); - if (lookahead == ')') ADVANCE(30); - if (lookahead == ';') ADVANCE(20); - if (lookahead == '\\') ADVANCE(5); + if (lookahead == '\t') ADVANCE(11); + if (lookahead == '\n') ADVANCE(15); + if (lookahead == '\r') ADVANCE(35); + if (lookahead == ' ') ADVANCE(11); + if (lookahead == ')') ADVANCE(37); + if (lookahead == ';') ADVANCE(23); + if (lookahead == '\\') ADVANCE(7); if (lookahead != 0 && lookahead != '"' && lookahead != '#' && - lookahead != '(') ADVANCE(26); + lookahead != '(') ADVANCE(33); END_STATE(); case 3: - if (lookahead == '\n') ADVANCE(14); + if (lookahead == '\n') ADVANCE(16); if (lookahead == '\r') SKIP(3) - if (lookahead == '(') ADVANCE(29); - if (lookahead == ')') ADVANCE(30); + if (lookahead == '(') ADVANCE(36); + if (lookahead == ')') ADVANCE(37); if (lookahead == '\t' || - lookahead == ' ') ADVANCE(10); + lookahead == ' ') ADVANCE(12); END_STATE(); case 4: - if (lookahead == ']') ADVANCE(25); + if (lookahead == '\n') ADVANCE(17); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') SKIP(4) + END_STATE(); + case 5: + if (lookahead == '"') ADVANCE(29); + if (lookahead == ';') ADVANCE(23); + if (lookahead == '\\') ADVANCE(32); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(24); - if (lookahead != 0) ADVANCE(23); + lookahead == ' ') ADVANCE(31); + if (lookahead != 0) ADVANCE(30); END_STATE(); - case 5: - if (lookahead == 'n') ADVANCE(19); - if (lookahead == 'r') ADVANCE(18); - if (lookahead == 't') ADVANCE(17); + case 6: + if (lookahead == ']') ADVANCE(28); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(27); + if (lookahead != 0) ADVANCE(26); + END_STATE(); + case 7: + if (lookahead == 'n') ADVANCE(22); + if (lookahead == 'r') ADVANCE(21); + if (lookahead == 't') ADVANCE(20); if (lookahead != 0 && (lookahead < '0' || '9' < lookahead) && lookahead != ';' && (lookahead < 'A' || 'Z' < lookahead) && - (lookahead < 'a' || 'z' < lookahead)) ADVANCE(16); - END_STATE(); - case 6: - if (eof) ADVANCE(7); - if (lookahead == '\t' || - lookahead == ' ') ADVANCE(11); - if (lookahead == '\n' || - lookahead == '\r') SKIP(6) - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(15); - END_STATE(); - case 7: - ACCEPT_TOKEN(ts_builtin_sym_end); + (lookahead < 'a' || 'z' < lookahead)) ADVANCE(19); END_STATE(); case 8: - ACCEPT_TOKEN(sym_space); - if (lookahead == '\t') ADVANCE(8); - if (lookahead == '\n') ADVANCE(12); - if (lookahead == '\r') ADVANCE(27); - if (lookahead == ' ') ADVANCE(8); + if (eof) ADVANCE(9); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(13); + if (lookahead == '\n' || + lookahead == '\r') SKIP(8) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(18); END_STATE(); case 9: - ACCEPT_TOKEN(sym_space); - if (lookahead == '\t') ADVANCE(9); - if (lookahead == '\n') ADVANCE(13); - if (lookahead == '\r') ADVANCE(28); - if (lookahead == ' ') ADVANCE(9); + ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 10: ACCEPT_TOKEN(sym_space); + if (lookahead == '\t') ADVANCE(10); if (lookahead == '\n') ADVANCE(14); - if (lookahead == '\t' || - lookahead == ' ') ADVANCE(10); + if (lookahead == '\r') ADVANCE(34); + if (lookahead == ' ') ADVANCE(10); END_STATE(); case 11: ACCEPT_TOKEN(sym_space); - if (lookahead == '\t' || - lookahead == ' ') ADVANCE(11); + if (lookahead == '\t') ADVANCE(11); + if (lookahead == '\n') ADVANCE(15); + if (lookahead == '\r') ADVANCE(35); + if (lookahead == ' ') ADVANCE(11); END_STATE(); case 12: - ACCEPT_TOKEN(sym_newline); - if (lookahead == '\t') ADVANCE(8); - if (lookahead == '\n') ADVANCE(12); - if (lookahead == '\r') ADVANCE(27); - if (lookahead == ' ') ADVANCE(8); + ACCEPT_TOKEN(sym_space); + if (lookahead == '\n') ADVANCE(16); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(12); END_STATE(); case 13: - ACCEPT_TOKEN(sym_newline); - if (lookahead == '\t') ADVANCE(9); - if (lookahead == '\n') ADVANCE(13); - if (lookahead == '\r') ADVANCE(28); - if (lookahead == ' ') ADVANCE(9); + ACCEPT_TOKEN(sym_space); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(13); END_STATE(); case 14: ACCEPT_TOKEN(sym_newline); + if (lookahead == '\t') ADVANCE(10); if (lookahead == '\n') ADVANCE(14); - if (lookahead == '\t' || - lookahead == ' ') ADVANCE(10); + if (lookahead == '\r') ADVANCE(34); + if (lookahead == ' ') ADVANCE(10); END_STATE(); case 15: + ACCEPT_TOKEN(sym_newline); + if (lookahead == '\t') ADVANCE(11); + if (lookahead == '\n') ADVANCE(15); + if (lookahead == '\r') ADVANCE(35); + if (lookahead == ' ') ADVANCE(11); + END_STATE(); + case 16: + ACCEPT_TOKEN(sym_newline); + if (lookahead == '\n') ADVANCE(16); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(12); + END_STATE(); + case 17: + ACCEPT_TOKEN(sym_newline); + if (lookahead == '\n') ADVANCE(17); + END_STATE(); + case 18: ACCEPT_TOKEN(sym_identifier); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(15); - END_STATE(); - case 16: - ACCEPT_TOKEN(sym__escape_identity); - END_STATE(); - case 17: - ACCEPT_TOKEN(anon_sym_BSLASHt); - END_STATE(); - case 18: - ACCEPT_TOKEN(anon_sym_BSLASHr); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(18); END_STATE(); case 19: - ACCEPT_TOKEN(anon_sym_BSLASHn); + ACCEPT_TOKEN(sym__escape_identity); END_STATE(); case 20: - ACCEPT_TOKEN(sym__escape_semicolon); + ACCEPT_TOKEN(anon_sym_BSLASHt); END_STATE(); case 21: - ACCEPT_TOKEN(anon_sym_LBRACK); + ACCEPT_TOKEN(anon_sym_BSLASHr); END_STATE(); case 22: - ACCEPT_TOKEN(anon_sym_EQ); + ACCEPT_TOKEN(anon_sym_BSLASHn); END_STATE(); case 23: - ACCEPT_TOKEN(aux_sym__bracket_content_token1); + ACCEPT_TOKEN(sym__escape_semicolon); END_STATE(); case 24: + ACCEPT_TOKEN(anon_sym_LBRACK); + END_STATE(); + case 25: + ACCEPT_TOKEN(anon_sym_EQ); + END_STATE(); + case 26: + ACCEPT_TOKEN(aux_sym__bracket_content_token1); + END_STATE(); + case 27: ACCEPT_TOKEN(aux_sym__bracket_content_token1); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(24); + lookahead == ' ') ADVANCE(27); if (lookahead != 0 && - lookahead != ']') ADVANCE(23); - END_STATE(); - case 25: - ACCEPT_TOKEN(anon_sym_RBRACK); - END_STATE(); - case 26: - ACCEPT_TOKEN(aux_sym_unquoted_argument_token1); - END_STATE(); - case 27: - ACCEPT_TOKEN(aux_sym_unquoted_argument_token1); - if (lookahead == '\t') ADVANCE(8); - if (lookahead == '\n') ADVANCE(12); - if (lookahead == '\r') ADVANCE(27); - if (lookahead == ' ') ADVANCE(8); - if (lookahead == ';') ADVANCE(20); - if (lookahead == '[') ADVANCE(21); - if (lookahead != 0 && - lookahead != '"' && - lookahead != '#' && - lookahead != '(' && - lookahead != ')' && - lookahead != '\\') ADVANCE(26); + lookahead != ']') ADVANCE(26); END_STATE(); case 28: + ACCEPT_TOKEN(anon_sym_RBRACK); + END_STATE(); + case 29: + ACCEPT_TOKEN(anon_sym_DQUOTE); + END_STATE(); + case 30: + ACCEPT_TOKEN(aux_sym__quoted_element_token1); + END_STATE(); + case 31: + ACCEPT_TOKEN(aux_sym__quoted_element_token1); + if (lookahead == ';') ADVANCE(23); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(31); + if (lookahead != 0 && + lookahead != '"' && + lookahead != '\\') ADVANCE(30); + END_STATE(); + case 32: + ACCEPT_TOKEN(anon_sym_BSLASH); + if (lookahead == 'n') ADVANCE(22); + if (lookahead == 'r') ADVANCE(21); + if (lookahead == 't') ADVANCE(20); + if (lookahead != 0 && + (lookahead < '0' || '9' < lookahead) && + lookahead != ';' && + (lookahead < 'A' || 'Z' < lookahead) && + (lookahead < 'a' || 'z' < lookahead)) ADVANCE(19); + END_STATE(); + case 33: ACCEPT_TOKEN(aux_sym_unquoted_argument_token1); - if (lookahead == '\t') ADVANCE(9); - if (lookahead == '\n') ADVANCE(13); - if (lookahead == '\r') ADVANCE(28); - if (lookahead == ' ') ADVANCE(9); - if (lookahead == ';') ADVANCE(20); + END_STATE(); + case 34: + ACCEPT_TOKEN(aux_sym_unquoted_argument_token1); + if (lookahead == '\t') ADVANCE(10); + if (lookahead == '\n') ADVANCE(14); + if (lookahead == '\r') ADVANCE(34); + if (lookahead == ' ') ADVANCE(10); + if (lookahead == ';') ADVANCE(23); + if (lookahead == '[') ADVANCE(24); if (lookahead != 0 && lookahead != '"' && lookahead != '#' && lookahead != '(' && lookahead != ')' && - lookahead != '\\') ADVANCE(26); + lookahead != '\\') ADVANCE(33); END_STATE(); - case 29: + case 35: + ACCEPT_TOKEN(aux_sym_unquoted_argument_token1); + if (lookahead == '\t') ADVANCE(11); + if (lookahead == '\n') ADVANCE(15); + if (lookahead == '\r') ADVANCE(35); + if (lookahead == ' ') ADVANCE(11); + if (lookahead == ';') ADVANCE(23); + if (lookahead != 0 && + lookahead != '"' && + lookahead != '#' && + lookahead != '(' && + lookahead != ')' && + lookahead != '\\') ADVANCE(33); + END_STATE(); + case 36: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); - case 30: + case 37: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); default: @@ -507,7 +598,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { static TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, - [1] = {.lex_state = 6}, + [1] = {.lex_state = 8}, [2] = {.lex_state = 1}, [3] = {.lex_state = 1}, [4] = {.lex_state = 1}, @@ -516,51 +607,59 @@ static TSLexMode ts_lex_modes[STATE_COUNT] = { [7] = {.lex_state = 1}, [8] = {.lex_state = 1}, [9] = {.lex_state = 1}, - [10] = {.lex_state = 2}, + [10] = {.lex_state = 5}, [11] = {.lex_state = 2}, - [12] = {.lex_state = 1}, - [13] = {.lex_state = 1}, + [12] = {.lex_state = 5}, + [13] = {.lex_state = 5}, [14] = {.lex_state = 2}, - [15] = {.lex_state = 3}, - [16] = {.lex_state = 3}, - [17] = {.lex_state = 3}, + [15] = {.lex_state = 1}, + [16] = {.lex_state = 1}, + [17] = {.lex_state = 2}, [18] = {.lex_state = 3}, - [19] = {.lex_state = 6}, - [20] = {.lex_state = 6}, - [21] = {.lex_state = 3}, + [19] = {.lex_state = 3}, + [20] = {.lex_state = 5}, + [21] = {.lex_state = 5}, [22] = {.lex_state = 3}, [23] = {.lex_state = 3}, [24] = {.lex_state = 3}, - [25] = {.lex_state = 0}, - [26] = {.lex_state = 4}, - [27] = {.lex_state = 4}, - [28] = {.lex_state = 6}, - [29] = {.lex_state = 0}, + [25] = {.lex_state = 3}, + [26] = {.lex_state = 8}, + [27] = {.lex_state = 8}, + [28] = {.lex_state = 3}, + [29] = {.lex_state = 3}, [30] = {.lex_state = 6}, - [31] = {.lex_state = 3}, - [32] = {.lex_state = 6}, - [33] = {.lex_state = 0}, + [31] = {.lex_state = 6}, + [32] = {.lex_state = 0}, + [33] = {.lex_state = 8}, [34] = {.lex_state = 3}, [35] = {.lex_state = 3}, - [36] = {.lex_state = 6}, - [37] = {.lex_state = 6}, - [38] = {.lex_state = 3}, - [39] = {.lex_state = 6}, - [40] = {.lex_state = 3}, - [41] = {.lex_state = 3}, - [42] = {.lex_state = 0}, - [43] = {.lex_state = 4}, - [44] = {.lex_state = 3}, - [45] = {.lex_state = 6}, + [36] = {.lex_state = 8}, + [37] = {.lex_state = 8}, + [38] = {.lex_state = 8}, + [39] = {.lex_state = 8}, + [40] = {.lex_state = 8}, + [41] = {.lex_state = 0}, + [42] = {.lex_state = 3}, + [43] = {.lex_state = 0}, + [44] = {.lex_state = 0}, + [45] = {.lex_state = 3}, [46] = {.lex_state = 3}, - [47] = {.lex_state = 0}, - [48] = {.lex_state = 4}, - [49] = {.lex_state = 4}, - [50] = {.lex_state = 0}, - [51] = {.lex_state = 0}, - [52] = {.lex_state = 0}, - [53] = {.lex_state = 0}, - [54] = {.lex_state = 0}, + [47] = {.lex_state = 3}, + [48] = {.lex_state = 3}, + [49] = {.lex_state = 0}, + [50] = {.lex_state = 6}, + [51] = {.lex_state = 3}, + [52] = {.lex_state = 8}, + [53] = {.lex_state = 3}, + [54] = {.lex_state = 3}, + [55] = {.lex_state = 6}, + [56] = {.lex_state = 6}, + [57] = {.lex_state = 0}, + [58] = {.lex_state = 0}, + [59] = {.lex_state = 0}, + [60] = {.lex_state = 0}, + [61] = {.lex_state = 4}, + [62] = {.lex_state = 0}, }; static uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -575,29 +674,32 @@ static uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LBRACK] = ACTIONS(1), [anon_sym_EQ] = ACTIONS(1), [anon_sym_RBRACK] = ACTIONS(1), + [anon_sym_DQUOTE] = ACTIONS(1), + [anon_sym_BSLASH] = ACTIONS(1), [anon_sym_LPAREN] = ACTIONS(1), [anon_sym_RPAREN] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(54), - [sym_command_invocation] = STATE(20), - [aux_sym_source_file_repeat1] = STATE(20), - [aux_sym_command_invocation_repeat1] = STATE(30), + [sym_source_file] = STATE(62), + [sym_command_invocation] = STATE(26), + [aux_sym_source_file_repeat1] = STATE(26), + [aux_sym_command_invocation_repeat1] = STATE(40), [ts_builtin_sym_end] = ACTIONS(3), [sym_space] = ACTIONS(5), [sym_identifier] = ACTIONS(7), }, [2] = { - [sym_line_ending] = STATE(13), + [sym_line_ending] = STATE(16), [sym_seperation] = STATE(9), - [sym_escape_sequence] = STATE(11), - [sym__escape_encoded] = STATE(14), - [sym_argument] = STATE(16), - [sym_bracket_argument] = STATE(38), - [sym__bracket_open] = STATE(26), - [sym_unquoted_argument] = STATE(38), - [sym_arguments] = STATE(53), - [aux_sym_unquoted_argument_repeat1] = STATE(11), + [sym_escape_sequence] = STATE(14), + [sym__escape_encoded] = STATE(17), + [sym_argument] = STATE(19), + [sym_bracket_argument] = STATE(45), + [sym__bracket_open] = STATE(31), + [sym_quoted_argument] = STATE(45), + [sym_unquoted_argument] = STATE(45), + [sym_arguments] = STATE(60), + [aux_sym_unquoted_argument_repeat1] = STATE(14), [aux_sym__seperated_arguments_repeat1] = STATE(9), [sym_space] = ACTIONS(9), [sym_newline] = ACTIONS(11), @@ -607,43 +709,22 @@ static uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BSLASHn] = ACTIONS(13), [sym__escape_semicolon] = ACTIONS(13), [anon_sym_LBRACK] = ACTIONS(15), - [aux_sym_unquoted_argument_token1] = ACTIONS(17), - [anon_sym_RPAREN] = ACTIONS(19), - }, - [3] = { - [sym_line_ending] = STATE(13), - [sym_seperation] = STATE(9), - [sym_escape_sequence] = STATE(11), - [sym__escape_encoded] = STATE(14), - [sym_argument] = STATE(16), - [sym_bracket_argument] = STATE(38), - [sym__bracket_open] = STATE(26), - [sym_unquoted_argument] = STATE(38), - [sym_arguments] = STATE(50), - [aux_sym_unquoted_argument_repeat1] = STATE(11), - [aux_sym__seperated_arguments_repeat1] = STATE(9), - [sym_space] = ACTIONS(9), - [sym_newline] = ACTIONS(11), - [sym__escape_identity] = ACTIONS(13), - [anon_sym_BSLASHt] = ACTIONS(13), - [anon_sym_BSLASHr] = ACTIONS(13), - [anon_sym_BSLASHn] = ACTIONS(13), - [sym__escape_semicolon] = ACTIONS(13), - [anon_sym_LBRACK] = ACTIONS(15), - [aux_sym_unquoted_argument_token1] = ACTIONS(17), + [anon_sym_DQUOTE] = ACTIONS(17), + [aux_sym_unquoted_argument_token1] = ACTIONS(19), [anon_sym_RPAREN] = ACTIONS(21), }, - [4] = { - [sym_line_ending] = STATE(13), + [3] = { + [sym_line_ending] = STATE(16), [sym_seperation] = STATE(9), - [sym_escape_sequence] = STATE(11), - [sym__escape_encoded] = STATE(14), - [sym_argument] = STATE(16), - [sym_bracket_argument] = STATE(38), - [sym__bracket_open] = STATE(26), - [sym_unquoted_argument] = STATE(38), - [sym_arguments] = STATE(51), - [aux_sym_unquoted_argument_repeat1] = STATE(11), + [sym_escape_sequence] = STATE(14), + [sym__escape_encoded] = STATE(17), + [sym_argument] = STATE(19), + [sym_bracket_argument] = STATE(45), + [sym__bracket_open] = STATE(31), + [sym_quoted_argument] = STATE(45), + [sym_unquoted_argument] = STATE(45), + [sym_arguments] = STATE(58), + [aux_sym_unquoted_argument_repeat1] = STATE(14), [aux_sym__seperated_arguments_repeat1] = STATE(9), [sym_space] = ACTIONS(9), [sym_newline] = ACTIONS(11), @@ -653,20 +734,22 @@ static uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BSLASHn] = ACTIONS(13), [sym__escape_semicolon] = ACTIONS(13), [anon_sym_LBRACK] = ACTIONS(15), - [aux_sym_unquoted_argument_token1] = ACTIONS(17), + [anon_sym_DQUOTE] = ACTIONS(17), + [aux_sym_unquoted_argument_token1] = ACTIONS(19), [anon_sym_RPAREN] = ACTIONS(23), }, - [5] = { - [sym_line_ending] = STATE(13), + [4] = { + [sym_line_ending] = STATE(16), [sym_seperation] = STATE(2), - [sym_escape_sequence] = STATE(11), - [sym__escape_encoded] = STATE(14), - [sym_argument] = STATE(16), - [sym_bracket_argument] = STATE(38), - [sym__bracket_open] = STATE(26), - [sym_unquoted_argument] = STATE(38), - [sym_arguments] = STATE(52), - [aux_sym_unquoted_argument_repeat1] = STATE(11), + [sym_escape_sequence] = STATE(14), + [sym__escape_encoded] = STATE(17), + [sym_argument] = STATE(19), + [sym_bracket_argument] = STATE(45), + [sym__bracket_open] = STATE(31), + [sym_quoted_argument] = STATE(45), + [sym_unquoted_argument] = STATE(45), + [sym_arguments] = STATE(59), + [aux_sym_unquoted_argument_repeat1] = STATE(14), [aux_sym__seperated_arguments_repeat1] = STATE(2), [sym_space] = ACTIONS(9), [sym_newline] = ACTIONS(11), @@ -676,20 +759,22 @@ static uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BSLASHn] = ACTIONS(13), [sym__escape_semicolon] = ACTIONS(13), [anon_sym_LBRACK] = ACTIONS(15), - [aux_sym_unquoted_argument_token1] = ACTIONS(17), + [anon_sym_DQUOTE] = ACTIONS(17), + [aux_sym_unquoted_argument_token1] = ACTIONS(19), [anon_sym_RPAREN] = ACTIONS(25), }, - [6] = { - [sym_line_ending] = STATE(13), + [5] = { + [sym_line_ending] = STATE(16), [sym_seperation] = STATE(3), - [sym_escape_sequence] = STATE(11), - [sym__escape_encoded] = STATE(14), - [sym_argument] = STATE(16), - [sym_bracket_argument] = STATE(38), - [sym__bracket_open] = STATE(26), - [sym_unquoted_argument] = STATE(38), - [sym_arguments] = STATE(53), - [aux_sym_unquoted_argument_repeat1] = STATE(11), + [sym_escape_sequence] = STATE(14), + [sym__escape_encoded] = STATE(17), + [sym_argument] = STATE(19), + [sym_bracket_argument] = STATE(45), + [sym__bracket_open] = STATE(31), + [sym_quoted_argument] = STATE(45), + [sym_unquoted_argument] = STATE(45), + [sym_arguments] = STATE(57), + [aux_sym_unquoted_argument_repeat1] = STATE(14), [aux_sym__seperated_arguments_repeat1] = STATE(3), [sym_space] = ACTIONS(9), [sym_newline] = ACTIONS(11), @@ -699,21 +784,23 @@ static uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BSLASHn] = ACTIONS(13), [sym__escape_semicolon] = ACTIONS(13), [anon_sym_LBRACK] = ACTIONS(15), - [aux_sym_unquoted_argument_token1] = ACTIONS(17), - [anon_sym_RPAREN] = ACTIONS(19), + [anon_sym_DQUOTE] = ACTIONS(17), + [aux_sym_unquoted_argument_token1] = ACTIONS(19), + [anon_sym_RPAREN] = ACTIONS(27), }, - [7] = { - [sym_line_ending] = STATE(13), - [sym_seperation] = STATE(4), - [sym_escape_sequence] = STATE(11), - [sym__escape_encoded] = STATE(14), - [sym_argument] = STATE(16), - [sym_bracket_argument] = STATE(38), - [sym__bracket_open] = STATE(26), - [sym_unquoted_argument] = STATE(38), - [sym_arguments] = STATE(50), - [aux_sym_unquoted_argument_repeat1] = STATE(11), - [aux_sym__seperated_arguments_repeat1] = STATE(4), + [6] = { + [sym_line_ending] = STATE(16), + [sym_seperation] = STATE(9), + [sym_escape_sequence] = STATE(14), + [sym__escape_encoded] = STATE(17), + [sym_argument] = STATE(19), + [sym_bracket_argument] = STATE(45), + [sym__bracket_open] = STATE(31), + [sym_quoted_argument] = STATE(45), + [sym_unquoted_argument] = STATE(45), + [sym_arguments] = STATE(57), + [aux_sym_unquoted_argument_repeat1] = STATE(14), + [aux_sym__seperated_arguments_repeat1] = STATE(9), [sym_space] = ACTIONS(9), [sym_newline] = ACTIONS(11), [sym__escape_identity] = ACTIONS(13), @@ -722,80 +809,166 @@ static uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BSLASHn] = ACTIONS(13), [sym__escape_semicolon] = ACTIONS(13), [anon_sym_LBRACK] = ACTIONS(15), - [aux_sym_unquoted_argument_token1] = ACTIONS(17), - [anon_sym_RPAREN] = ACTIONS(21), + [anon_sym_DQUOTE] = ACTIONS(17), + [aux_sym_unquoted_argument_token1] = ACTIONS(19), + [anon_sym_RPAREN] = ACTIONS(27), }, - [8] = { - [sym_line_ending] = STATE(13), - [sym_seperation] = STATE(9), - [sym_escape_sequence] = STATE(11), - [sym__escape_encoded] = STATE(14), - [sym_argument] = STATE(40), - [sym_bracket_argument] = STATE(38), - [sym__bracket_open] = STATE(26), - [sym_unquoted_argument] = STATE(38), - [aux_sym_unquoted_argument_repeat1] = STATE(11), - [aux_sym__seperated_arguments_repeat1] = STATE(9), - [sym_space] = ACTIONS(27), - [sym_newline] = ACTIONS(27), + [7] = { + [sym_line_ending] = STATE(16), + [sym_seperation] = STATE(6), + [sym_escape_sequence] = STATE(14), + [sym__escape_encoded] = STATE(17), + [sym_argument] = STATE(19), + [sym_bracket_argument] = STATE(45), + [sym__bracket_open] = STATE(31), + [sym_quoted_argument] = STATE(45), + [sym_unquoted_argument] = STATE(45), + [sym_arguments] = STATE(60), + [aux_sym_unquoted_argument_repeat1] = STATE(14), + [aux_sym__seperated_arguments_repeat1] = STATE(6), + [sym_space] = ACTIONS(9), + [sym_newline] = ACTIONS(11), [sym__escape_identity] = ACTIONS(13), [anon_sym_BSLASHt] = ACTIONS(13), [anon_sym_BSLASHr] = ACTIONS(13), [anon_sym_BSLASHn] = ACTIONS(13), [sym__escape_semicolon] = ACTIONS(13), [anon_sym_LBRACK] = ACTIONS(15), - [aux_sym_unquoted_argument_token1] = ACTIONS(17), - [anon_sym_RPAREN] = ACTIONS(27), + [anon_sym_DQUOTE] = ACTIONS(17), + [aux_sym_unquoted_argument_token1] = ACTIONS(19), + [anon_sym_RPAREN] = ACTIONS(21), + }, + [8] = { + [sym_line_ending] = STATE(16), + [sym_seperation] = STATE(9), + [sym_escape_sequence] = STATE(14), + [sym__escape_encoded] = STATE(17), + [sym_argument] = STATE(47), + [sym_bracket_argument] = STATE(45), + [sym__bracket_open] = STATE(31), + [sym_quoted_argument] = STATE(45), + [sym_unquoted_argument] = STATE(45), + [aux_sym_unquoted_argument_repeat1] = STATE(14), + [aux_sym__seperated_arguments_repeat1] = STATE(9), + [sym_space] = ACTIONS(29), + [sym_newline] = ACTIONS(29), + [sym__escape_identity] = ACTIONS(13), + [anon_sym_BSLASHt] = ACTIONS(13), + [anon_sym_BSLASHr] = ACTIONS(13), + [anon_sym_BSLASHn] = ACTIONS(13), + [sym__escape_semicolon] = ACTIONS(13), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_DQUOTE] = ACTIONS(17), + [aux_sym_unquoted_argument_token1] = ACTIONS(19), + [anon_sym_RPAREN] = ACTIONS(29), }, }; static uint16_t ts_small_parse_table[] = { [0] = 5, - ACTIONS(29), 1, + ACTIONS(31), 1, sym_space, - ACTIONS(32), 1, + ACTIONS(34), 1, sym_newline, - STATE(13), 1, + STATE(16), 1, sym_line_ending, STATE(9), 2, sym_seperation, aux_sym__seperated_arguments_repeat1, - ACTIONS(35), 8, + ACTIONS(37), 9, sym__escape_identity, anon_sym_BSLASHt, anon_sym_BSLASHr, anon_sym_BSLASHn, sym__escape_semicolon, anon_sym_LBRACK, + anon_sym_DQUOTE, aux_sym_unquoted_argument_token1, anon_sym_RPAREN, - [24] = 5, + [25] = 6, ACTIONS(42), 1, - aux_sym_unquoted_argument_token1, - STATE(14), 1, + anon_sym_DQUOTE, + ACTIONS(44), 1, + aux_sym__quoted_element_token1, + ACTIONS(47), 1, + anon_sym_BSLASH, + STATE(21), 1, sym__escape_encoded, - STATE(10), 2, + STATE(10), 3, sym_escape_sequence, - aux_sym_unquoted_argument_repeat1, - ACTIONS(37), 3, - sym_space, - sym_newline, - anon_sym_RPAREN, + sym__quoted_element, + aux_sym_quoted_argument_repeat1, ACTIONS(39), 5, sym__escape_identity, anon_sym_BSLASHt, anon_sym_BSLASHr, anon_sym_BSLASHn, sym__escape_semicolon, - [47] = 5, - ACTIONS(47), 1, + [50] = 5, + ACTIONS(55), 1, aux_sym_unquoted_argument_token1, - STATE(14), 1, + STATE(17), 1, sym__escape_encoded, - STATE(10), 2, + STATE(11), 2, sym_escape_sequence, aux_sym_unquoted_argument_repeat1, - ACTIONS(45), 3, + ACTIONS(50), 3, + sym_space, + sym_newline, + anon_sym_RPAREN, + ACTIONS(52), 5, + sym__escape_identity, + anon_sym_BSLASHt, + anon_sym_BSLASHr, + anon_sym_BSLASHn, + sym__escape_semicolon, + [73] = 6, + ACTIONS(60), 1, + anon_sym_DQUOTE, + ACTIONS(62), 1, + aux_sym__quoted_element_token1, + ACTIONS(64), 1, + anon_sym_BSLASH, + STATE(21), 1, + sym__escape_encoded, + STATE(13), 3, + sym_escape_sequence, + sym__quoted_element, + aux_sym_quoted_argument_repeat1, + ACTIONS(58), 5, + sym__escape_identity, + anon_sym_BSLASHt, + anon_sym_BSLASHr, + anon_sym_BSLASHn, + sym__escape_semicolon, + [98] = 6, + ACTIONS(64), 1, + anon_sym_BSLASH, + ACTIONS(66), 1, + anon_sym_DQUOTE, + ACTIONS(68), 1, + aux_sym__quoted_element_token1, + STATE(21), 1, + sym__escape_encoded, + STATE(10), 3, + sym_escape_sequence, + sym__quoted_element, + aux_sym_quoted_argument_repeat1, + ACTIONS(58), 5, + sym__escape_identity, + anon_sym_BSLASHt, + anon_sym_BSLASHr, + anon_sym_BSLASHn, + sym__escape_semicolon, + [123] = 5, + ACTIONS(72), 1, + aux_sym_unquoted_argument_token1, + STATE(17), 1, + sym__escape_encoded, + STATE(11), 2, + sym_escape_sequence, + aux_sym_unquoted_argument_repeat1, + ACTIONS(70), 3, sym_space, sym_newline, anon_sym_RPAREN, @@ -805,8 +978,8 @@ static uint16_t ts_small_parse_table[] = { anon_sym_BSLASHr, anon_sym_BSLASHn, sym__escape_semicolon, - [70] = 1, - ACTIONS(49), 10, + [146] = 1, + ACTIONS(74), 11, sym_space, sym_newline, sym__escape_identity, @@ -815,10 +988,11 @@ static uint16_t ts_small_parse_table[] = { anon_sym_BSLASHn, sym__escape_semicolon, anon_sym_LBRACK, + anon_sym_DQUOTE, aux_sym_unquoted_argument_token1, anon_sym_RPAREN, - [83] = 1, - ACTIONS(51), 10, + [160] = 1, + ACTIONS(76), 11, sym_space, sym_newline, sym__escape_identity, @@ -827,10 +1001,11 @@ static uint16_t ts_small_parse_table[] = { anon_sym_BSLASHn, sym__escape_semicolon, anon_sym_LBRACK, + anon_sym_DQUOTE, aux_sym_unquoted_argument_token1, anon_sym_RPAREN, - [96] = 1, - ACTIONS(53), 9, + [174] = 1, + ACTIONS(78), 9, sym_space, sym_newline, sym__escape_identity, @@ -840,442 +1015,498 @@ static uint16_t ts_small_parse_table[] = { sym__escape_semicolon, aux_sym_unquoted_argument_token1, anon_sym_RPAREN, - [108] = 6, - ACTIONS(55), 1, + [186] = 6, + ACTIONS(80), 1, sym_space, - ACTIONS(58), 1, + ACTIONS(83), 1, sym_newline, - ACTIONS(61), 1, + ACTIONS(86), 1, anon_sym_RPAREN, - STATE(13), 1, + STATE(16), 1, sym_line_ending, STATE(8), 2, sym_seperation, aux_sym__seperated_arguments_repeat1, - STATE(15), 2, + STATE(18), 2, sym__seperated_arguments, aux_sym_arguments_repeat1, - [129] = 6, + [207] = 6, ACTIONS(9), 1, sym_space, ACTIONS(11), 1, sym_newline, - ACTIONS(63), 1, + ACTIONS(88), 1, anon_sym_RPAREN, - STATE(13), 1, + STATE(16), 1, sym_line_ending, STATE(8), 2, sym_seperation, aux_sym__seperated_arguments_repeat1, - STATE(17), 2, + STATE(22), 2, sym__seperated_arguments, aux_sym_arguments_repeat1, - [150] = 6, + [228] = 1, + ACTIONS(90), 8, + sym__escape_identity, + anon_sym_BSLASHt, + anon_sym_BSLASHr, + anon_sym_BSLASHn, + sym__escape_semicolon, + anon_sym_DQUOTE, + aux_sym__quoted_element_token1, + anon_sym_BSLASH, + [239] = 1, + ACTIONS(78), 8, + sym__escape_identity, + anon_sym_BSLASHt, + anon_sym_BSLASHr, + anon_sym_BSLASHn, + sym__escape_semicolon, + anon_sym_DQUOTE, + aux_sym__quoted_element_token1, + anon_sym_BSLASH, + [250] = 6, ACTIONS(9), 1, sym_space, ACTIONS(11), 1, sym_newline, - ACTIONS(65), 1, + ACTIONS(92), 1, anon_sym_RPAREN, - STATE(13), 1, + STATE(16), 1, sym_line_ending, STATE(8), 2, sym_seperation, aux_sym__seperated_arguments_repeat1, - STATE(15), 2, + STATE(18), 2, sym__seperated_arguments, aux_sym_arguments_repeat1, - [171] = 5, - ACTIONS(67), 1, + [271] = 5, + ACTIONS(94), 1, sym_space, - ACTIONS(69), 1, + ACTIONS(96), 1, sym_newline, - ACTIONS(71), 1, + ACTIONS(98), 1, anon_sym_LPAREN, - STATE(34), 1, + STATE(53), 1, sym_line_ending, - STATE(21), 2, + STATE(24), 2, sym_seperation, aux_sym__seperated_arguments_repeat1, - [188] = 5, - ACTIONS(73), 1, - ts_builtin_sym_end, - ACTIONS(75), 1, + [288] = 5, + ACTIONS(37), 1, + anon_sym_LPAREN, + ACTIONS(100), 1, sym_space, - ACTIONS(78), 1, - sym_identifier, - STATE(30), 1, - aux_sym_command_invocation_repeat1, - STATE(19), 2, - sym_command_invocation, - aux_sym_source_file_repeat1, - [205] = 5, + ACTIONS(103), 1, + sym_newline, + STATE(53), 1, + sym_line_ending, + STATE(24), 2, + sym_seperation, + aux_sym__seperated_arguments_repeat1, + [305] = 5, + ACTIONS(94), 1, + sym_space, + ACTIONS(96), 1, + sym_newline, + ACTIONS(106), 1, + anon_sym_LPAREN, + STATE(53), 1, + sym_line_ending, + STATE(24), 2, + sym_seperation, + aux_sym__seperated_arguments_repeat1, + [322] = 5, ACTIONS(5), 1, sym_space, ACTIONS(7), 1, sym_identifier, - ACTIONS(81), 1, + ACTIONS(108), 1, ts_builtin_sym_end, - STATE(30), 1, + STATE(40), 1, aux_sym_command_invocation_repeat1, - STATE(19), 2, + STATE(27), 2, sym_command_invocation, aux_sym_source_file_repeat1, - [222] = 5, - ACTIONS(35), 1, - anon_sym_LPAREN, - ACTIONS(83), 1, - sym_space, - ACTIONS(86), 1, - sym_newline, - STATE(34), 1, - sym_line_ending, - STATE(21), 2, - sym_seperation, - aux_sym__seperated_arguments_repeat1, - [239] = 5, - ACTIONS(67), 1, - sym_space, - ACTIONS(69), 1, - sym_newline, - ACTIONS(89), 1, - anon_sym_LPAREN, - STATE(34), 1, - sym_line_ending, - STATE(21), 2, - sym_seperation, - aux_sym__seperated_arguments_repeat1, - [256] = 5, - ACTIONS(67), 1, - sym_space, - ACTIONS(69), 1, - sym_newline, - ACTIONS(91), 1, - anon_sym_LPAREN, - STATE(34), 1, - sym_line_ending, - STATE(18), 2, - sym_seperation, - aux_sym__seperated_arguments_repeat1, - [273] = 5, - ACTIONS(67), 1, - sym_space, - ACTIONS(69), 1, - sym_newline, - ACTIONS(71), 1, - anon_sym_LPAREN, - STATE(34), 1, - sym_line_ending, - STATE(22), 2, - sym_seperation, - aux_sym__seperated_arguments_repeat1, - [290] = 3, - ACTIONS(95), 1, - anon_sym_EQ, - STATE(25), 1, - aux_sym__bracket_open_repeat1, - ACTIONS(93), 2, - anon_sym_LBRACK, - anon_sym_RBRACK, - [301] = 4, - ACTIONS(98), 1, - aux_sym__bracket_content_token1, - ACTIONS(100), 1, - anon_sym_RBRACK, - STATE(27), 1, - aux_sym__bracket_content, - STATE(31), 1, - sym__bracket_close, - [314] = 4, - ACTIONS(100), 1, - anon_sym_RBRACK, - ACTIONS(102), 1, - aux_sym__bracket_content_token1, - STATE(43), 1, - aux_sym__bracket_content, - STATE(44), 1, - sym__bracket_close, - [327] = 3, - ACTIONS(104), 1, - sym_space, - ACTIONS(107), 1, - sym_identifier, - STATE(28), 1, - aux_sym_command_invocation_repeat1, - [337] = 3, - ACTIONS(109), 1, - anon_sym_LBRACK, - ACTIONS(111), 1, - anon_sym_EQ, - STATE(33), 1, - aux_sym__bracket_open_repeat1, - [347] = 3, - ACTIONS(113), 1, + [339] = 5, + ACTIONS(110), 1, + ts_builtin_sym_end, + ACTIONS(112), 1, sym_space, ACTIONS(115), 1, sym_identifier, - STATE(28), 1, + STATE(40), 1, aux_sym_command_invocation_repeat1, - [357] = 1, - ACTIONS(117), 3, - sym_space, - sym_newline, - anon_sym_RPAREN, - [363] = 2, - ACTIONS(121), 1, - sym_identifier, - ACTIONS(119), 2, - ts_builtin_sym_end, - sym_space, - [371] = 3, - ACTIONS(123), 1, - anon_sym_LBRACK, - ACTIONS(125), 1, - anon_sym_EQ, - STATE(25), 1, - aux_sym__bracket_open_repeat1, - [381] = 1, - ACTIONS(51), 3, + STATE(27), 2, + sym_command_invocation, + aux_sym_source_file_repeat1, + [356] = 5, + ACTIONS(94), 1, sym_space, + ACTIONS(96), 1, sym_newline, + ACTIONS(98), 1, anon_sym_LPAREN, - [387] = 1, - ACTIONS(49), 3, + STATE(53), 1, + sym_line_ending, + STATE(25), 2, + sym_seperation, + aux_sym__seperated_arguments_repeat1, + [373] = 5, + ACTIONS(94), 1, sym_space, + ACTIONS(96), 1, sym_newline, + ACTIONS(118), 1, anon_sym_LPAREN, - [393] = 2, - ACTIONS(129), 1, - sym_identifier, - ACTIONS(127), 2, - ts_builtin_sym_end, - sym_space, - [401] = 2, - ACTIONS(133), 1, - sym_identifier, - ACTIONS(131), 2, - ts_builtin_sym_end, - sym_space, - [409] = 1, - ACTIONS(135), 3, - sym_space, - sym_newline, - anon_sym_RPAREN, - [415] = 2, - ACTIONS(139), 1, - sym_identifier, - ACTIONS(137), 2, - ts_builtin_sym_end, - sym_space, - [423] = 1, - ACTIONS(141), 3, - sym_space, - sym_newline, - anon_sym_RPAREN, - [429] = 1, - ACTIONS(143), 3, - sym_space, - sym_newline, - anon_sym_RPAREN, - [435] = 3, - ACTIONS(125), 1, - anon_sym_EQ, - ACTIONS(145), 1, - anon_sym_RBRACK, - STATE(25), 1, - aux_sym__bracket_open_repeat1, - [445] = 3, - ACTIONS(147), 1, + STATE(53), 1, + sym_line_ending, + STATE(23), 2, + sym_seperation, + aux_sym__seperated_arguments_repeat1, + [390] = 4, + ACTIONS(120), 1, aux_sym__bracket_content_token1, - ACTIONS(150), 1, + ACTIONS(122), 1, anon_sym_RBRACK, - STATE(43), 1, + STATE(50), 1, aux_sym__bracket_content, - [455] = 1, - ACTIONS(152), 3, + STATE(51), 1, + sym__bracket_close, + [403] = 4, + ACTIONS(122), 1, + anon_sym_RBRACK, + ACTIONS(124), 1, + aux_sym__bracket_content_token1, + STATE(30), 1, + aux_sym__bracket_content, + STATE(35), 1, + sym__bracket_close, + [416] = 3, + ACTIONS(128), 1, + anon_sym_EQ, + STATE(32), 1, + aux_sym__bracket_open_repeat1, + ACTIONS(126), 2, + anon_sym_LBRACK, + anon_sym_RBRACK, + [427] = 3, + ACTIONS(131), 1, + sym_space, + ACTIONS(134), 1, + sym_identifier, + STATE(33), 1, + aux_sym_command_invocation_repeat1, + [437] = 1, + ACTIONS(136), 3, sym_space, sym_newline, anon_sym_RPAREN, - [461] = 2, - ACTIONS(156), 1, + [443] = 1, + ACTIONS(138), 3, + sym_space, + sym_newline, + anon_sym_RPAREN, + [449] = 2, + ACTIONS(142), 1, sym_identifier, - ACTIONS(154), 2, + ACTIONS(140), 2, ts_builtin_sym_end, sym_space, - [469] = 1, - ACTIONS(158), 3, + [457] = 2, + ACTIONS(146), 1, + sym_identifier, + ACTIONS(144), 2, + ts_builtin_sym_end, + sym_space, + [465] = 2, + ACTIONS(150), 1, + sym_identifier, + ACTIONS(148), 2, + ts_builtin_sym_end, + sym_space, + [473] = 2, + ACTIONS(154), 1, + sym_identifier, + ACTIONS(152), 2, + ts_builtin_sym_end, + sym_space, + [481] = 3, + ACTIONS(156), 1, + sym_space, + ACTIONS(158), 1, + sym_identifier, + STATE(33), 1, + aux_sym_command_invocation_repeat1, + [491] = 3, + ACTIONS(160), 1, + anon_sym_LBRACK, + ACTIONS(162), 1, + anon_sym_EQ, + STATE(43), 1, + aux_sym__bracket_open_repeat1, + [501] = 1, + ACTIONS(164), 3, sym_space, sym_newline, anon_sym_RPAREN, - [475] = 3, - ACTIONS(160), 1, - anon_sym_EQ, - ACTIONS(162), 1, - anon_sym_RBRACK, - STATE(42), 1, - aux_sym__bracket_open_repeat1, - [485] = 2, - ACTIONS(164), 1, - aux_sym__bracket_content_token1, + [507] = 3, ACTIONS(166), 1, - anon_sym_RBRACK, - [492] = 2, + anon_sym_LBRACK, ACTIONS(168), 1, - aux_sym__bracket_content_token1, + anon_sym_EQ, + STATE(32), 1, + aux_sym__bracket_open_repeat1, + [517] = 3, ACTIONS(170), 1, - anon_sym_RBRACK, - [499] = 1, + anon_sym_EQ, ACTIONS(172), 1, + anon_sym_RBRACK, + STATE(49), 1, + aux_sym__bracket_open_repeat1, + [527] = 1, + ACTIONS(174), 3, + sym_space, + sym_newline, anon_sym_RPAREN, - [503] = 1, - ACTIONS(174), 1, + [533] = 1, + ACTIONS(74), 3, + sym_space, + sym_newline, + anon_sym_LPAREN, + [539] = 1, + ACTIONS(176), 3, + sym_space, + sym_newline, anon_sym_RPAREN, - [507] = 1, - ACTIONS(176), 1, + [545] = 1, + ACTIONS(178), 3, + sym_space, + sym_newline, anon_sym_RPAREN, - [511] = 1, - ACTIONS(178), 1, - anon_sym_RPAREN, - [515] = 1, + [551] = 3, + ACTIONS(168), 1, + anon_sym_EQ, ACTIONS(180), 1, + anon_sym_RBRACK, + STATE(32), 1, + aux_sym__bracket_open_repeat1, + [561] = 3, + ACTIONS(182), 1, + aux_sym__bracket_content_token1, + ACTIONS(185), 1, + anon_sym_RBRACK, + STATE(50), 1, + aux_sym__bracket_content, + [571] = 1, + ACTIONS(187), 3, + sym_space, + sym_newline, + anon_sym_RPAREN, + [577] = 2, + ACTIONS(191), 1, + sym_identifier, + ACTIONS(189), 2, + ts_builtin_sym_end, + sym_space, + [585] = 1, + ACTIONS(76), 3, + sym_space, + sym_newline, + anon_sym_LPAREN, + [591] = 1, + ACTIONS(193), 3, + sym_space, + sym_newline, + anon_sym_RPAREN, + [597] = 2, + ACTIONS(195), 1, + aux_sym__bracket_content_token1, + ACTIONS(197), 1, + anon_sym_RBRACK, + [604] = 2, + ACTIONS(199), 1, + aux_sym__bracket_content_token1, + ACTIONS(201), 1, + anon_sym_RBRACK, + [611] = 1, + ACTIONS(203), 1, + anon_sym_RPAREN, + [615] = 1, + ACTIONS(205), 1, + anon_sym_RPAREN, + [619] = 1, + ACTIONS(207), 1, + anon_sym_RPAREN, + [623] = 1, + ACTIONS(209), 1, + anon_sym_RPAREN, + [627] = 1, + ACTIONS(211), 1, + sym_newline, + [631] = 1, + ACTIONS(213), 1, ts_builtin_sym_end, }; static uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(9)] = 0, - [SMALL_STATE(10)] = 24, - [SMALL_STATE(11)] = 47, - [SMALL_STATE(12)] = 70, - [SMALL_STATE(13)] = 83, - [SMALL_STATE(14)] = 96, - [SMALL_STATE(15)] = 108, - [SMALL_STATE(16)] = 129, - [SMALL_STATE(17)] = 150, - [SMALL_STATE(18)] = 171, - [SMALL_STATE(19)] = 188, - [SMALL_STATE(20)] = 205, - [SMALL_STATE(21)] = 222, - [SMALL_STATE(22)] = 239, - [SMALL_STATE(23)] = 256, - [SMALL_STATE(24)] = 273, - [SMALL_STATE(25)] = 290, - [SMALL_STATE(26)] = 301, - [SMALL_STATE(27)] = 314, - [SMALL_STATE(28)] = 327, - [SMALL_STATE(29)] = 337, - [SMALL_STATE(30)] = 347, - [SMALL_STATE(31)] = 357, - [SMALL_STATE(32)] = 363, - [SMALL_STATE(33)] = 371, - [SMALL_STATE(34)] = 381, - [SMALL_STATE(35)] = 387, - [SMALL_STATE(36)] = 393, - [SMALL_STATE(37)] = 401, - [SMALL_STATE(38)] = 409, - [SMALL_STATE(39)] = 415, - [SMALL_STATE(40)] = 423, - [SMALL_STATE(41)] = 429, - [SMALL_STATE(42)] = 435, - [SMALL_STATE(43)] = 445, - [SMALL_STATE(44)] = 455, - [SMALL_STATE(45)] = 461, - [SMALL_STATE(46)] = 469, - [SMALL_STATE(47)] = 475, - [SMALL_STATE(48)] = 485, - [SMALL_STATE(49)] = 492, - [SMALL_STATE(50)] = 499, - [SMALL_STATE(51)] = 503, - [SMALL_STATE(52)] = 507, - [SMALL_STATE(53)] = 511, - [SMALL_STATE(54)] = 515, + [SMALL_STATE(10)] = 25, + [SMALL_STATE(11)] = 50, + [SMALL_STATE(12)] = 73, + [SMALL_STATE(13)] = 98, + [SMALL_STATE(14)] = 123, + [SMALL_STATE(15)] = 146, + [SMALL_STATE(16)] = 160, + [SMALL_STATE(17)] = 174, + [SMALL_STATE(18)] = 186, + [SMALL_STATE(19)] = 207, + [SMALL_STATE(20)] = 228, + [SMALL_STATE(21)] = 239, + [SMALL_STATE(22)] = 250, + [SMALL_STATE(23)] = 271, + [SMALL_STATE(24)] = 288, + [SMALL_STATE(25)] = 305, + [SMALL_STATE(26)] = 322, + [SMALL_STATE(27)] = 339, + [SMALL_STATE(28)] = 356, + [SMALL_STATE(29)] = 373, + [SMALL_STATE(30)] = 390, + [SMALL_STATE(31)] = 403, + [SMALL_STATE(32)] = 416, + [SMALL_STATE(33)] = 427, + [SMALL_STATE(34)] = 437, + [SMALL_STATE(35)] = 443, + [SMALL_STATE(36)] = 449, + [SMALL_STATE(37)] = 457, + [SMALL_STATE(38)] = 465, + [SMALL_STATE(39)] = 473, + [SMALL_STATE(40)] = 481, + [SMALL_STATE(41)] = 491, + [SMALL_STATE(42)] = 501, + [SMALL_STATE(43)] = 507, + [SMALL_STATE(44)] = 517, + [SMALL_STATE(45)] = 527, + [SMALL_STATE(46)] = 533, + [SMALL_STATE(47)] = 539, + [SMALL_STATE(48)] = 545, + [SMALL_STATE(49)] = 551, + [SMALL_STATE(50)] = 561, + [SMALL_STATE(51)] = 571, + [SMALL_STATE(52)] = 577, + [SMALL_STATE(53)] = 585, + [SMALL_STATE(54)] = 591, + [SMALL_STATE(55)] = 597, + [SMALL_STATE(56)] = 604, + [SMALL_STATE(57)] = 611, + [SMALL_STATE(58)] = 615, + [SMALL_STATE(59)] = 619, + [SMALL_STATE(60)] = 623, + [SMALL_STATE(61)] = 627, + [SMALL_STATE(62)] = 631, }; static TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), - [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(23), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13), - [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14), - [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), - [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), - [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), - [27] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__seperated_arguments, 1), - [29] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__seperated_arguments_repeat1, 2), SHIFT_REPEAT(13), - [32] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__seperated_arguments_repeat1, 2), SHIFT_REPEAT(12), - [35] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__seperated_arguments_repeat1, 2), - [37] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_unquoted_argument_repeat1, 2), - [39] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_unquoted_argument_repeat1, 2), SHIFT_REPEAT(14), - [42] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_unquoted_argument_repeat1, 2), SHIFT_REPEAT(10), - [45] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unquoted_argument, 1), - [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(10), - [49] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_line_ending, 1), - [51] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_seperation, 1), - [53] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_escape_sequence, 1), - [55] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_arguments_repeat1, 2), SHIFT_REPEAT(13), - [58] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_arguments_repeat1, 2), SHIFT_REPEAT(12), - [61] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_arguments_repeat1, 2), - [63] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 1), - [65] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 2), - [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), - [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), - [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6), - [73] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), - [75] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(30), - [78] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(23), - [81] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [83] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__seperated_arguments_repeat1, 2), SHIFT_REPEAT(34), - [86] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__seperated_arguments_repeat1, 2), SHIFT_REPEAT(35), - [89] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7), - [91] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5), - [93] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__bracket_open_repeat1, 2), - [95] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__bracket_open_repeat1, 2), SHIFT_REPEAT(25), - [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [100] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), - [102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [104] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_command_invocation_repeat1, 2), SHIFT_REPEAT(28), - [107] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_command_invocation_repeat1, 2), - [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [115] = {.entry = {.count = 1, .reusable = false}}, SHIFT(24), - [117] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bracket_argument, 2), - [119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_command_invocation, 4), - [121] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_command_invocation, 4), - [123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [127] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_command_invocation, 7), - [129] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_command_invocation, 7), - [131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_command_invocation, 6), - [133] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_command_invocation, 6), - [135] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument, 1), - [137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_command_invocation, 3), - [139] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_command_invocation, 3), - [141] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__seperated_arguments, 2), - [143] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__bracket_close, 2), - [145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [147] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__bracket_content, 2), SHIFT_REPEAT(43), - [150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__bracket_content, 2), - [152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bracket_argument, 3), - [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_command_invocation, 5), - [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_command_invocation, 5), - [158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__bracket_close, 3), - [160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__bracket_open, 3), - [166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__bracket_open, 3), - [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__bracket_open, 2), - [170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__bracket_open, 2), - [172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [180] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), + [29] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__seperated_arguments, 1), + [31] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__seperated_arguments_repeat1, 2), SHIFT_REPEAT(16), + [34] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__seperated_arguments_repeat1, 2), SHIFT_REPEAT(15), + [37] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__seperated_arguments_repeat1, 2), + [39] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_quoted_argument_repeat1, 2), SHIFT_REPEAT(21), + [42] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_quoted_argument_repeat1, 2), + [44] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_quoted_argument_repeat1, 2), SHIFT_REPEAT(10), + [47] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_quoted_argument_repeat1, 2), SHIFT_REPEAT(61), + [50] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_unquoted_argument_repeat1, 2), + [52] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_unquoted_argument_repeat1, 2), SHIFT_REPEAT(17), + [55] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_unquoted_argument_repeat1, 2), SHIFT_REPEAT(11), + [58] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21), + [60] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), + [62] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13), + [64] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61), + [66] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), + [68] = {.entry = {.count = 1, .reusable = false}}, SHIFT(10), + [70] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unquoted_argument, 1), + [72] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), + [74] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_line_ending, 1), + [76] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_seperation, 1), + [78] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_escape_sequence, 1), + [80] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_arguments_repeat1, 2), SHIFT_REPEAT(16), + [83] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_arguments_repeat1, 2), SHIFT_REPEAT(15), + [86] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_arguments_repeat1, 2), + [88] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 1), + [90] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__quoted_element, 2), + [92] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 2), + [94] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), + [96] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), + [98] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7), + [100] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__seperated_arguments_repeat1, 2), SHIFT_REPEAT(53), + [103] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__seperated_arguments_repeat1, 2), SHIFT_REPEAT(46), + [106] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5), + [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), + [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), + [112] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(40), + [115] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(29), + [118] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), + [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [122] = {.entry = {.count = 1, .reusable = false}}, SHIFT(44), + [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__bracket_open_repeat1, 2), + [128] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__bracket_open_repeat1, 2), SHIFT_REPEAT(32), + [131] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_command_invocation_repeat1, 2), SHIFT_REPEAT(33), + [134] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_command_invocation_repeat1, 2), + [136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quoted_argument, 3), + [138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bracket_argument, 2), + [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_command_invocation, 4), + [142] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_command_invocation, 4), + [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_command_invocation, 6), + [146] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_command_invocation, 6), + [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_command_invocation, 7), + [150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_command_invocation, 7), + [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_command_invocation, 3), + [154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_command_invocation, 3), + [156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [158] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), + [160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [164] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quoted_argument, 2), + [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument, 1), + [176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__seperated_arguments, 2), + [178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__bracket_close, 2), + [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [182] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__bracket_content, 2), SHIFT_REPEAT(50), + [185] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__bracket_content, 2), + [187] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bracket_argument, 3), + [189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_command_invocation, 5), + [191] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_command_invocation, 5), + [193] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__bracket_close, 3), + [195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__bracket_open, 3), + [197] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__bracket_open, 3), + [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__bracket_open, 2), + [201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__bracket_open, 2), + [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [213] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), }; #ifdef __cplusplus