From a959c706889c28320b1bd7a8d4d5676911e5245d Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Fri, 5 Jan 2024 03:54:08 -0600 Subject: [PATCH] tmp work --- grammar.js | 63 +- queries-src/highlights.scm | 7 +- queries/just/highlights.scm | 7 +- src/grammar.json | 196 +- src/node-types.json | 145 +- src/parser.c | 9280 +++++++++++++++++------------------ src/scanner.c | 153 +- test/corpus/recipes.txt | 4 +- test/corpus/statements.txt | 66 +- 9 files changed, 4929 insertions(+), 4992 deletions(-) diff --git a/grammar.js b/grammar.js index eac7d7a..74e7754 100644 --- a/grammar.js +++ b/grammar.js @@ -31,19 +31,17 @@ module.exports = grammar({ $._indent, $._dedent, $._newline, - $._string_start, - $._string_end, - $._raw_string_start, - $._raw_string_end, - $._command_start, - $._command_end, + $.string_start, + $.string_end, + $.string_body, + $.raw_string_start, + $.raw_string_end, + $.command_start, + $.command_end, ], inline: ( $, ) => [ - $._string, - $._string_indented, - $._raw_string_indented, $._expression_braced, $._expression_recurse, ], @@ -99,7 +97,7 @@ module.exports = grammar({ export: ($) => seq("export", $.assignment), // import : 'import' '?'? string? - import: ($) => seq("import", optional("?"), $.string), + import: ($) => seq("import", optional("?"), $._string), // module : 'mod' '?'? string? module: ($) => @@ -107,7 +105,7 @@ module.exports = grammar({ "mod", optional("?"), field("mod_name", $.identifier), - optional($.string), + optional($._string), ), // setting : 'set' 'dotenv-load' boolean? @@ -122,7 +120,7 @@ module.exports = grammar({ field( "right", optional( - seq(":=", choice($.boolean, $.string, array($.string))), + seq(":=", choice($.boolean, $._string, array($._string))), ), ), $.eol, @@ -133,7 +131,7 @@ module.exports = grammar({ ":=", field( "right", - array($.string), + array($._string), ), $.eol, ), @@ -195,7 +193,7 @@ module.exports = grammar({ $.function_call, $.external_command, $.identifier, - $.string, + $._string, seq("(", $.expression, ")"), ), ), @@ -208,9 +206,6 @@ module.exports = grammar({ ")", ), - external_command: ($) => - choice(seq($._backticked), seq($._indented_backticked)), - // sequence : expression ',' sequence // | expression ','? sequence: ($) => comma_sep1($.expression), @@ -302,9 +297,6 @@ module.exports = grammar({ // `# ...` comment comment: ($) => seq(/#.*/, $._newline), - // notinterpolation: ($) => /[^{][^{]\S*/, - notinterpolation: (_) => /[^\s{][^\s{]\S*/, - // interpolation : '{{' expression '}}' interpolation: ($) => seq("{{", $.expression, "}}"), @@ -314,23 +306,26 @@ module.exports = grammar({ // | INDENTED_STRING // | RAW_STRING // | INDENTED_RAW_STRING - string: ($) => - choice( - $._string_indented, - $._raw_string_indented, - $._string, - // _raw_string, can't be written as a separate inline for osm reason - /'[^']*'/, + _string: ($) => choice($.raw_string_literal, $.string_literal), + + string_literal: ($) => + seq( + $.string_start, + repeat(choice($.string_body, $.escape_sequence)), + $.string_end, ), - _raw_string_indented: (_) => seq("'''", repeat(/./), "'''"), - _string: ($) => seq('"', repeat(choice($.string_escape, /[^\\"]+/)), '"'), - _string_indented: ($) => - seq('"""', repeat(choice($.string_escape, /[^\\"]+/)), '"""'), - string_escape: (_) => ESCAPE_SEQUENCE, + raw_string_literal: ($) => + seq($.raw_string_start, repeat($.string_body), $.raw_string_end), + + external_command: ($) => + seq( + $.command_start, + repeat(choice($.string_body, $.interpolation)), + $.command_end, + ), - _backticked: (_) => seq("`", repeat(/./), "`"), - _indented_backticked: (_) => seq("```", repeat(/./), "```"), + escape_sequence: (_) => ESCAPE_SEQUENCE, text: (_) => /.+/, //recipe TEXT, only matches in a recipe body // text: (_) => /\S+/, //recipe TEXT, only matches in a recipe body diff --git a/queries-src/highlights.scm b/queries-src/highlights.scm index db21885..43384de 100644 --- a/queries-src/highlights.scm +++ b/queries-src/highlights.scm @@ -71,8 +71,11 @@ (dependency_expression recipe: (identifier) @function) ; handle escape sequences -(string (string_escape) @constant.character.escape) -(string) @string +(string_literal (escape_sequence) @constant.character.escape) +[ + (string_literal) + (raw_string_literal) +] @string (comment) @comment.line diff --git a/queries/just/highlights.scm b/queries/just/highlights.scm index 32f2e42..fe84eda 100644 --- a/queries/just/highlights.scm +++ b/queries/just/highlights.scm @@ -73,8 +73,11 @@ (dependency_expression recipe: (identifier) @function) ; handle escape sequences -(string (string_escape) @string.escape) -(string) @string +(string_literal (escape_sequence) @string.escape) +[ + (string_literal) + (raw_string_literal) +] @string (comment) @comment diff --git a/src/grammar.json b/src/grammar.json index a3d3fed..ca3132c 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -168,7 +168,7 @@ }, { "type": "SYMBOL", - "name": "string" + "name": "_string" } ] }, @@ -204,7 +204,7 @@ "members": [ { "type": "SYMBOL", - "name": "string" + "name": "_string" }, { "type": "BLANK" @@ -253,7 +253,7 @@ }, { "type": "SYMBOL", - "name": "string" + "name": "_string" }, { "type": "FIELD", @@ -282,7 +282,7 @@ "name": "array_item", "content": { "type": "SYMBOL", - "name": "string" + "name": "_string" } }, { @@ -299,7 +299,7 @@ "name": "array_item", "content": { "type": "SYMBOL", - "name": "string" + "name": "_string" } } ] @@ -315,7 +315,7 @@ "name": "array_item", "content": { "type": "SYMBOL", - "name": "string" + "name": "_string" } }, { @@ -399,7 +399,7 @@ "name": "array_item", "content": { "type": "SYMBOL", - "name": "string" + "name": "_string" } }, { @@ -416,7 +416,7 @@ "name": "array_item", "content": { "type": "SYMBOL", - "name": "string" + "name": "_string" } } ] @@ -432,7 +432,7 @@ "name": "array_item", "content": { "type": "SYMBOL", - "name": "string" + "name": "_string" } }, { @@ -725,7 +725,7 @@ }, { "type": "SYMBOL", - "name": "string" + "name": "_string" }, { "type": "SEQ", @@ -784,29 +784,6 @@ } ] }, - "external_command": { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "_backticked" - } - ] - }, - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "_indented_backticked" - } - ] - } - ] - }, "sequence": { "type": "SEQ", "members": [ @@ -1283,10 +1260,6 @@ } ] }, - "notinterpolation": { - "type": "PATTERN", - "value": "[^\\s{][^\\s{]\\S*" - }, "interpolation": { "type": "SEQ", "members": [ @@ -1308,82 +1281,74 @@ "type": "PATTERN", "value": "[a-zA-Z_][a-zA-Z0-9_-]*" }, - "string": { + "_string": { "type": "CHOICE", "members": [ { "type": "SYMBOL", - "name": "_string_indented" + "name": "raw_string_literal" }, { "type": "SYMBOL", - "name": "_raw_string_indented" - }, - { - "type": "SYMBOL", - "name": "_string" - }, - { - "type": "PATTERN", - "value": "'[^']*'" + "name": "string_literal" } ] }, - "_raw_string_indented": { + "string_literal": { "type": "SEQ", "members": [ { - "type": "STRING", - "value": "'''" + "type": "SYMBOL", + "name": "string_start" }, { "type": "REPEAT", "content": { - "type": "PATTERN", - "value": "." + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "string_body" + }, + { + "type": "SYMBOL", + "name": "escape_sequence" + } + ] } }, { - "type": "STRING", - "value": "'''" + "type": "SYMBOL", + "name": "string_end" } ] }, - "_string": { + "raw_string_literal": { "type": "SEQ", "members": [ { - "type": "STRING", - "value": "\"" + "type": "SYMBOL", + "name": "raw_string_start" }, { "type": "REPEAT", "content": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "string_escape" - }, - { - "type": "PATTERN", - "value": "[^\\\\\"]+" - } - ] + "type": "SYMBOL", + "name": "string_body" } }, { - "type": "STRING", - "value": "\"" + "type": "SYMBOL", + "name": "raw_string_end" } ] }, - "_string_indented": { + "external_command": { "type": "SEQ", "members": [ { - "type": "STRING", - "value": "\"\"\"" + "type": "SYMBOL", + "name": "command_start" }, { "type": "REPEAT", @@ -1392,68 +1357,28 @@ "members": [ { "type": "SYMBOL", - "name": "string_escape" + "name": "string_body" }, { - "type": "PATTERN", - "value": "[^\\\\\"]+" + "type": "SYMBOL", + "name": "interpolation" } ] } }, { - "type": "STRING", - "value": "\"\"\"" + "type": "SYMBOL", + "name": "command_end" } ] }, - "string_escape": { + "escape_sequence": { "type": "TOKEN", "content": { "type": "PATTERN", "value": "\\\\[nrt\"\\\\]" } }, - "_backticked": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "`" - }, - { - "type": "REPEAT", - "content": { - "type": "PATTERN", - "value": "." - } - }, - { - "type": "STRING", - "value": "`" - } - ] - }, - "_indented_backticked": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "```" - }, - { - "type": "REPEAT", - "content": { - "type": "PATTERN", - "value": "." - } - }, - { - "type": "STRING", - "value": "```" - } - ] - }, "text": { "type": "PATTERN", "value": ".+" @@ -1479,12 +1404,37 @@ { "type": "SYMBOL", "name": "_newline" + }, + { + "type": "SYMBOL", + "name": "string_start" + }, + { + "type": "SYMBOL", + "name": "string_end" + }, + { + "type": "SYMBOL", + "name": "string_body" + }, + { + "type": "SYMBOL", + "name": "raw_string_start" + }, + { + "type": "SYMBOL", + "name": "raw_string_end" + }, + { + "type": "SYMBOL", + "name": "command_start" + }, + { + "type": "SYMBOL", + "name": "command_end" } ], "inline": [ - "_string", - "_string_indented", - "_raw_string_indented", "ReferenceError", "_expression_recurse" ], diff --git a/src/node-types.json b/src/node-types.json index 0203385..158f00d 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -249,7 +249,29 @@ { "type": "external_command", "named": true, - "fields": {} + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "command_end", + "named": true + }, + { + "type": "command_start", + "named": true + }, + { + "type": "interpolation", + "named": true + }, + { + "type": "string_body", + "named": true + } + ] + } }, { "type": "function_call", @@ -312,7 +334,11 @@ "required": true, "types": [ { - "type": "string", + "type": "raw_string_literal", + "named": true + }, + { + "type": "string_literal", "named": true } ] @@ -396,7 +422,11 @@ "required": false, "types": [ { - "type": "string", + "type": "raw_string_literal", + "named": true + }, + { + "type": "string_literal", "named": true } ] @@ -447,6 +477,29 @@ ] } }, + { + "type": "raw_string_literal", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "raw_string_end", + "named": true + }, + { + "type": "raw_string_start", + "named": true + }, + { + "type": "string_body", + "named": true + } + ] + } + }, { "type": "recipe", "named": true, @@ -586,7 +639,11 @@ "required": false, "types": [ { - "type": "string", + "type": "raw_string_literal", + "named": true + }, + { + "type": "string_literal", "named": true } ] @@ -600,7 +657,11 @@ "named": false }, { - "type": "string", + "type": "raw_string_literal", + "named": true + }, + { + "type": "string_literal", "named": true } ] @@ -636,7 +697,11 @@ "named": true }, { - "type": "string", + "type": "raw_string_literal", + "named": true + }, + { + "type": "string_literal", "named": true } ] @@ -678,15 +743,27 @@ } }, { - "type": "string", + "type": "string_literal", "named": true, "fields": {}, "children": { "multiple": true, - "required": false, + "required": true, "types": [ { - "type": "string_escape", + "type": "escape_sequence", + "named": true + }, + { + "type": "string_body", + "named": true + }, + { + "type": "string_end", + "named": true + }, + { + "type": "string_start", "named": true } ] @@ -717,7 +794,11 @@ "named": true }, { - "type": "string", + "type": "raw_string_literal", + "named": true + }, + { + "type": "string_literal", "named": true } ] @@ -757,14 +838,6 @@ "type": "!=", "named": false }, - { - "type": "\"", - "named": false - }, - { - "type": "\"\"\"", - "named": false - }, { "type": "$", "named": false @@ -773,10 +846,6 @@ "type": "&&", "named": false }, - { - "type": "'''", - "named": false - }, { "type": "(", "named": false @@ -850,21 +919,25 @@ "named": false }, { - "type": "`", + "type": "alias", "named": false }, { - "type": "```", - "named": false + "type": "command_end", + "named": true }, { - "type": "alias", - "named": false + "type": "command_start", + "named": true }, { "type": "else", "named": false }, + { + "type": "escape_sequence", + "named": true + }, { "type": "export", "named": false @@ -889,6 +962,14 @@ "type": "mod", "named": false }, + { + "type": "raw_string_end", + "named": true + }, + { + "type": "raw_string_start", + "named": true + }, { "type": "set", "named": false @@ -898,7 +979,15 @@ "named": false }, { - "type": "string_escape", + "type": "string_body", + "named": true + }, + { + "type": "string_end", + "named": true + }, + { + "type": "string_start", "named": true }, { diff --git a/src/parser.c b/src/parser.c index dd00238..518d71c 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,12 +6,12 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 335 +#define STATE_COUNT 363 #define LARGE_STATE_COUNT 2 #define SYMBOL_COUNT 102 #define ALIAS_COUNT 1 -#define TOKEN_COUNT 52 -#define EXTERNAL_TOKEN_COUNT 3 +#define TOKEN_COUNT 51 +#define EXTERNAL_TOKEN_COUNT 10 #define FIELD_COUNT 16 #define MAX_ALIAS_SEQUENCE_LENGTH 9 #define PRODUCTION_ID_COUNT 46 @@ -55,69 +55,69 @@ enum { aux_sym_comment_token1 = 36, anon_sym_LBRACE_LBRACE = 37, anon_sym_RBRACE_RBRACE = 38, - aux_sym_string_token1 = 39, - anon_sym_SQUOTE_SQUOTE_SQUOTE = 40, - aux_sym__raw_string_indented_token1 = 41, - anon_sym_DQUOTE = 42, - aux_sym__string_token1 = 43, - anon_sym_DQUOTE_DQUOTE_DQUOTE = 44, - sym_string_escape = 45, - anon_sym_BQUOTE = 46, - anon_sym_BQUOTE_BQUOTE_BQUOTE = 47, - sym_text = 48, - sym__indent = 49, - sym__dedent = 50, - sym__newline = 51, - sym_source_file = 52, - sym_item = 53, - sym_eol = 54, - sym_alias = 55, - sym_assignment = 56, - sym_export = 57, - sym_import = 58, - sym_module = 59, - sym_setting = 60, - sym_boolean = 61, - sym_expression = 62, - sym__expression_inner = 63, - sym_if_expression = 64, - sym__braced_expr = 65, - sym_condition = 66, - sym_value = 67, - sym_function_call = 68, - sym_external_command = 69, - sym_sequence = 70, - sym_attribute = 71, - sym_recipe = 72, - sym_recipe_header = 73, - sym_parameters = 74, - sym_parameter = 75, - sym_variadic_parameter = 76, - sym_dependencies = 77, - sym_dependency = 78, - sym_dependency_expression = 79, - sym_recipe_body = 80, - sym_recipe_line = 81, - sym_recipe_line_prefix = 82, - sym_shebang = 83, - sym_comment = 84, - sym_interpolation = 85, - sym_string = 86, - sym__backticked = 87, - sym__indented_backticked = 88, - aux_sym_source_file_repeat1 = 89, - aux_sym_setting_repeat1 = 90, - aux_sym_if_expression_repeat1 = 91, - aux_sym_sequence_repeat1 = 92, - aux_sym_attribute_repeat1 = 93, - aux_sym_recipe_repeat1 = 94, - aux_sym_parameters_repeat1 = 95, - aux_sym_dependencies_repeat1 = 96, - aux_sym_dependency_expression_repeat1 = 97, - aux_sym_recipe_body_repeat1 = 98, - aux_sym_recipe_line_repeat1 = 99, - aux_sym__raw_string_indented_repeat1 = 100, - aux_sym__string_repeat1 = 101, + sym_escape_sequence = 39, + sym_text = 40, + sym__indent = 41, + sym__dedent = 42, + sym__newline = 43, + sym_string_start = 44, + sym_string_end = 45, + sym_string_body = 46, + sym_raw_string_start = 47, + sym_raw_string_end = 48, + sym_command_start = 49, + sym_command_end = 50, + sym_source_file = 51, + sym_item = 52, + sym_eol = 53, + sym_alias = 54, + sym_assignment = 55, + sym_export = 56, + sym_import = 57, + sym_module = 58, + sym_setting = 59, + sym_boolean = 60, + sym_expression = 61, + sym__expression_inner = 62, + sym_if_expression = 63, + sym__braced_expr = 64, + sym_condition = 65, + sym_value = 66, + sym_function_call = 67, + sym_sequence = 68, + sym_attribute = 69, + sym_recipe = 70, + sym_recipe_header = 71, + sym_parameters = 72, + sym_parameter = 73, + sym_variadic_parameter = 74, + sym_dependencies = 75, + sym_dependency = 76, + sym_dependency_expression = 77, + sym_recipe_body = 78, + sym_recipe_line = 79, + sym_recipe_line_prefix = 80, + sym_shebang = 81, + sym_comment = 82, + sym_interpolation = 83, + sym__string = 84, + sym_string_literal = 85, + sym_raw_string_literal = 86, + sym_external_command = 87, + aux_sym_source_file_repeat1 = 88, + aux_sym_setting_repeat1 = 89, + aux_sym_if_expression_repeat1 = 90, + aux_sym_sequence_repeat1 = 91, + aux_sym_attribute_repeat1 = 92, + aux_sym_recipe_repeat1 = 93, + aux_sym_parameters_repeat1 = 94, + aux_sym_dependencies_repeat1 = 95, + aux_sym_dependency_expression_repeat1 = 96, + aux_sym_recipe_body_repeat1 = 97, + aux_sym_recipe_line_repeat1 = 98, + aux_sym_string_literal_repeat1 = 99, + aux_sym_raw_string_literal_repeat1 = 100, + aux_sym_external_command_repeat1 = 101, anon_alias_sym_expression = 102, }; @@ -161,19 +161,18 @@ static const char * const ts_symbol_names[] = { [aux_sym_comment_token1] = "comment_token1", [anon_sym_LBRACE_LBRACE] = "{{", [anon_sym_RBRACE_RBRACE] = "}}", - [aux_sym_string_token1] = "string_token1", - [anon_sym_SQUOTE_SQUOTE_SQUOTE] = "'''", - [aux_sym__raw_string_indented_token1] = "_raw_string_indented_token1", - [anon_sym_DQUOTE] = "\"", - [aux_sym__string_token1] = "_string_token1", - [anon_sym_DQUOTE_DQUOTE_DQUOTE] = "\"\"\"", - [sym_string_escape] = "string_escape", - [anon_sym_BQUOTE] = "`", - [anon_sym_BQUOTE_BQUOTE_BQUOTE] = "```", + [sym_escape_sequence] = "escape_sequence", [sym_text] = "text", [sym__indent] = "_indent", [sym__dedent] = "_dedent", [sym__newline] = "_newline", + [sym_string_start] = "string_start", + [sym_string_end] = "string_end", + [sym_string_body] = "string_body", + [sym_raw_string_start] = "raw_string_start", + [sym_raw_string_end] = "raw_string_end", + [sym_command_start] = "command_start", + [sym_command_end] = "command_end", [sym_source_file] = "source_file", [sym_item] = "item", [sym_eol] = "eol", @@ -191,7 +190,6 @@ static const char * const ts_symbol_names[] = { [sym_condition] = "condition", [sym_value] = "value", [sym_function_call] = "function_call", - [sym_external_command] = "external_command", [sym_sequence] = "sequence", [sym_attribute] = "attribute", [sym_recipe] = "recipe", @@ -208,9 +206,10 @@ static const char * const ts_symbol_names[] = { [sym_shebang] = "shebang", [sym_comment] = "comment", [sym_interpolation] = "interpolation", - [sym_string] = "string", - [sym__backticked] = "_backticked", - [sym__indented_backticked] = "_indented_backticked", + [sym__string] = "_string", + [sym_string_literal] = "string_literal", + [sym_raw_string_literal] = "raw_string_literal", + [sym_external_command] = "external_command", [aux_sym_source_file_repeat1] = "source_file_repeat1", [aux_sym_setting_repeat1] = "setting_repeat1", [aux_sym_if_expression_repeat1] = "if_expression_repeat1", @@ -222,8 +221,9 @@ static const char * const ts_symbol_names[] = { [aux_sym_dependency_expression_repeat1] = "dependency_expression_repeat1", [aux_sym_recipe_body_repeat1] = "recipe_body_repeat1", [aux_sym_recipe_line_repeat1] = "recipe_line_repeat1", - [aux_sym__raw_string_indented_repeat1] = "_raw_string_indented_repeat1", - [aux_sym__string_repeat1] = "_string_repeat1", + [aux_sym_string_literal_repeat1] = "string_literal_repeat1", + [aux_sym_raw_string_literal_repeat1] = "raw_string_literal_repeat1", + [aux_sym_external_command_repeat1] = "external_command_repeat1", [anon_alias_sym_expression] = "expression", }; @@ -267,19 +267,18 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym_comment_token1] = aux_sym_comment_token1, [anon_sym_LBRACE_LBRACE] = anon_sym_LBRACE_LBRACE, [anon_sym_RBRACE_RBRACE] = anon_sym_RBRACE_RBRACE, - [aux_sym_string_token1] = aux_sym_string_token1, - [anon_sym_SQUOTE_SQUOTE_SQUOTE] = anon_sym_SQUOTE_SQUOTE_SQUOTE, - [aux_sym__raw_string_indented_token1] = aux_sym__raw_string_indented_token1, - [anon_sym_DQUOTE] = anon_sym_DQUOTE, - [aux_sym__string_token1] = aux_sym__string_token1, - [anon_sym_DQUOTE_DQUOTE_DQUOTE] = anon_sym_DQUOTE_DQUOTE_DQUOTE, - [sym_string_escape] = sym_string_escape, - [anon_sym_BQUOTE] = anon_sym_BQUOTE, - [anon_sym_BQUOTE_BQUOTE_BQUOTE] = anon_sym_BQUOTE_BQUOTE_BQUOTE, + [sym_escape_sequence] = sym_escape_sequence, [sym_text] = sym_text, [sym__indent] = sym__indent, [sym__dedent] = sym__dedent, [sym__newline] = sym__newline, + [sym_string_start] = sym_string_start, + [sym_string_end] = sym_string_end, + [sym_string_body] = sym_string_body, + [sym_raw_string_start] = sym_raw_string_start, + [sym_raw_string_end] = sym_raw_string_end, + [sym_command_start] = sym_command_start, + [sym_command_end] = sym_command_end, [sym_source_file] = sym_source_file, [sym_item] = sym_item, [sym_eol] = sym_eol, @@ -297,7 +296,6 @@ static const TSSymbol ts_symbol_map[] = { [sym_condition] = sym_condition, [sym_value] = sym_value, [sym_function_call] = sym_function_call, - [sym_external_command] = sym_external_command, [sym_sequence] = sym_sequence, [sym_attribute] = sym_attribute, [sym_recipe] = sym_recipe, @@ -314,9 +312,10 @@ static const TSSymbol ts_symbol_map[] = { [sym_shebang] = sym_shebang, [sym_comment] = sym_comment, [sym_interpolation] = sym_interpolation, - [sym_string] = sym_string, - [sym__backticked] = sym__backticked, - [sym__indented_backticked] = sym__indented_backticked, + [sym__string] = sym__string, + [sym_string_literal] = sym_string_literal, + [sym_raw_string_literal] = sym_raw_string_literal, + [sym_external_command] = sym_external_command, [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1, [aux_sym_setting_repeat1] = aux_sym_setting_repeat1, [aux_sym_if_expression_repeat1] = aux_sym_if_expression_repeat1, @@ -328,8 +327,9 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym_dependency_expression_repeat1] = aux_sym_dependency_expression_repeat1, [aux_sym_recipe_body_repeat1] = aux_sym_recipe_body_repeat1, [aux_sym_recipe_line_repeat1] = aux_sym_recipe_line_repeat1, - [aux_sym__raw_string_indented_repeat1] = aux_sym__raw_string_indented_repeat1, - [aux_sym__string_repeat1] = aux_sym__string_repeat1, + [aux_sym_string_literal_repeat1] = aux_sym_string_literal_repeat1, + [aux_sym_raw_string_literal_repeat1] = aux_sym_raw_string_literal_repeat1, + [aux_sym_external_command_repeat1] = aux_sym_external_command_repeat1, [anon_alias_sym_expression] = anon_alias_sym_expression, }; @@ -490,56 +490,52 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [aux_sym_string_token1] = { - .visible = false, - .named = false, + [sym_escape_sequence] = { + .visible = true, + .named = true, }, - [anon_sym_SQUOTE_SQUOTE_SQUOTE] = { + [sym_text] = { .visible = true, - .named = false, + .named = true, }, - [aux_sym__raw_string_indented_token1] = { + [sym__indent] = { .visible = false, - .named = false, - }, - [anon_sym_DQUOTE] = { - .visible = true, - .named = false, + .named = true, }, - [aux_sym__string_token1] = { + [sym__dedent] = { .visible = false, - .named = false, + .named = true, }, - [anon_sym_DQUOTE_DQUOTE_DQUOTE] = { - .visible = true, - .named = false, + [sym__newline] = { + .visible = false, + .named = true, }, - [sym_string_escape] = { + [sym_string_start] = { .visible = true, .named = true, }, - [anon_sym_BQUOTE] = { + [sym_string_end] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_BQUOTE_BQUOTE_BQUOTE] = { + [sym_string_body] = { .visible = true, - .named = false, + .named = true, }, - [sym_text] = { + [sym_raw_string_start] = { .visible = true, .named = true, }, - [sym__indent] = { - .visible = false, + [sym_raw_string_end] = { + .visible = true, .named = true, }, - [sym__dedent] = { - .visible = false, + [sym_command_start] = { + .visible = true, .named = true, }, - [sym__newline] = { - .visible = false, + [sym_command_end] = { + .visible = true, .named = true, }, [sym_source_file] = { @@ -610,10 +606,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym_external_command] = { - .visible = true, - .named = true, - }, [sym_sequence] = { .visible = true, .named = true, @@ -678,16 +670,20 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym_string] = { + [sym__string] = { + .visible = false, + .named = true, + }, + [sym_string_literal] = { .visible = true, .named = true, }, - [sym__backticked] = { - .visible = false, + [sym_raw_string_literal] = { + .visible = true, .named = true, }, - [sym__indented_backticked] = { - .visible = false, + [sym_external_command] = { + .visible = true, .named = true, }, [aux_sym_source_file_repeat1] = { @@ -734,11 +730,15 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, - [aux_sym__raw_string_indented_repeat1] = { + [aux_sym_string_literal_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_raw_string_literal_repeat1] = { .visible = false, .named = false, }, - [aux_sym__string_repeat1] = { + [aux_sym_external_command_repeat1] = { .visible = false, .named = false, }, @@ -1010,73 +1010,73 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [7] = 7, [8] = 8, [9] = 9, - [10] = 10, - [11] = 11, + [10] = 6, + [11] = 6, [12] = 12, - [13] = 13, + [13] = 12, [14] = 14, - [15] = 15, - [16] = 16, - [17] = 17, - [18] = 9, - [19] = 9, + [15] = 12, + [16] = 14, + [17] = 12, + [18] = 14, + [19] = 14, [20] = 20, [21] = 21, - [22] = 22, + [22] = 20, [23] = 23, [24] = 24, - [25] = 25, - [26] = 25, + [25] = 21, + [26] = 26, [27] = 27, - [28] = 27, - [29] = 27, - [30] = 30, - [31] = 31, - [32] = 25, + [28] = 28, + [29] = 21, + [30] = 20, + [31] = 21, + [32] = 20, [33] = 33, - [34] = 34, + [34] = 27, [35] = 35, - [36] = 35, + [36] = 36, [37] = 37, - [38] = 33, + [38] = 38, [39] = 39, [40] = 40, [41] = 41, - [42] = 33, - [43] = 43, - [44] = 35, - [45] = 45, + [42] = 42, + [43] = 39, + [44] = 39, + [45] = 37, [46] = 46, - [47] = 47, - [48] = 48, - [49] = 49, - [50] = 50, - [51] = 51, - [52] = 51, - [53] = 49, - [54] = 50, - [55] = 50, - [56] = 50, - [57] = 51, - [58] = 51, - [59] = 49, - [60] = 49, + [47] = 39, + [48] = 46, + [49] = 46, + [50] = 46, + [51] = 37, + [52] = 37, + [53] = 53, + [54] = 54, + [55] = 41, + [56] = 36, + [57] = 57, + [58] = 58, + [59] = 42, + [60] = 60, [61] = 61, [62] = 62, [63] = 63, [64] = 64, - [65] = 65, + [65] = 38, [66] = 66, [67] = 67, [68] = 68, - [69] = 6, + [69] = 69, [70] = 70, - [71] = 8, + [71] = 71, [72] = 72, [73] = 73, - [74] = 7, + [74] = 74, [75] = 75, - [76] = 66, + [76] = 76, [77] = 77, [78] = 78, [79] = 79, @@ -1093,7 +1093,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [90] = 90, [91] = 91, [92] = 92, - [93] = 93, + [93] = 70, [94] = 94, [95] = 95, [96] = 96, @@ -1103,238 +1103,266 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [100] = 100, [101] = 101, [102] = 102, - [103] = 103, - [104] = 104, + [103] = 74, + [104] = 100, [105] = 105, [106] = 106, - [107] = 107, - [108] = 108, + [107] = 105, + [108] = 106, [109] = 109, - [110] = 79, + [110] = 110, [111] = 111, - [112] = 78, - [113] = 113, - [114] = 77, + [112] = 54, + [113] = 42, + [114] = 114, [115] = 115, [116] = 116, - [117] = 117, - [118] = 118, - [119] = 119, + [117] = 53, + [118] = 41, + [119] = 114, [120] = 120, - [121] = 121, - [122] = 122, - [123] = 123, - [124] = 120, - [125] = 125, - [126] = 121, - [127] = 127, - [128] = 82, + [121] = 38, + [122] = 111, + [123] = 58, + [124] = 36, + [125] = 115, + [126] = 116, + [127] = 40, + [128] = 128, [129] = 129, - [130] = 130, + [130] = 66, [131] = 131, - [132] = 132, + [132] = 131, [133] = 133, - [134] = 31, - [135] = 135, - [136] = 136, - [137] = 137, + [134] = 129, + [135] = 61, + [136] = 68, + [137] = 110, [138] = 138, [139] = 139, [140] = 140, - [141] = 141, + [141] = 89, [142] = 142, - [143] = 30, - [144] = 24, + [143] = 143, + [144] = 143, [145] = 145, [146] = 146, [147] = 147, - [148] = 148, - [149] = 41, + [148] = 147, + [149] = 149, [150] = 150, [151] = 151, - [152] = 66, + [152] = 152, [153] = 153, - [154] = 154, - [155] = 37, - [156] = 24, - [157] = 31, + [154] = 100, + [155] = 155, + [156] = 156, + [157] = 157, [158] = 158, [159] = 159, [160] = 160, - [161] = 161, + [161] = 70, [162] = 162, - [163] = 163, - [164] = 30, - [165] = 41, + [163] = 74, + [164] = 164, + [165] = 165, [166] = 166, [167] = 167, [168] = 168, - [169] = 79, - [170] = 170, - [171] = 66, - [172] = 37, + [169] = 169, + [170] = 70, + [171] = 171, + [172] = 74, [173] = 173, [174] = 174, [175] = 175, - [176] = 167, - [177] = 12, - [178] = 178, + [176] = 176, + [177] = 177, + [178] = 100, [179] = 179, [180] = 180, - [181] = 16, + [181] = 181, [182] = 182, - [183] = 11, - [184] = 184, - [185] = 185, - [186] = 46, - [187] = 77, - [188] = 22, - [189] = 189, - [190] = 190, - [191] = 20, - [192] = 179, + [183] = 179, + [184] = 167, + [185] = 105, + [186] = 167, + [187] = 187, + [188] = 179, + [189] = 40, + [190] = 179, + [191] = 167, + [192] = 106, [193] = 193, [194] = 194, [195] = 195, - [196] = 180, - [197] = 15, - [198] = 166, - [199] = 48, + [196] = 58, + [197] = 38, + [198] = 198, + [199] = 199, [200] = 200, - [201] = 13, - [202] = 167, - [203] = 179, - [204] = 180, - [205] = 23, - [206] = 206, - [207] = 10, - [208] = 166, + [201] = 201, + [202] = 114, + [203] = 203, + [204] = 204, + [205] = 205, + [206] = 111, + [207] = 131, + [208] = 208, [209] = 209, - [210] = 47, - [211] = 45, - [212] = 78, - [213] = 213, - [214] = 214, + [210] = 200, + [211] = 203, + [212] = 212, + [213] = 110, + [214] = 68, [215] = 215, - [216] = 193, + [216] = 200, [217] = 217, - [218] = 218, - [219] = 45, - [220] = 220, - [221] = 221, + [218] = 203, + [219] = 219, + [220] = 54, + [221] = 203, [222] = 222, - [223] = 223, - [224] = 224, - [225] = 225, - [226] = 94, + [223] = 200, + [224] = 203, + [225] = 105, + [226] = 106, [227] = 227, - [228] = 92, + [228] = 228, [229] = 229, - [230] = 225, - [231] = 227, + [230] = 36, + [231] = 40, [232] = 232, [233] = 233, - [234] = 234, - [235] = 223, + [234] = 129, + [235] = 200, [236] = 236, - [237] = 221, - [238] = 232, - [239] = 233, - [240] = 240, - [241] = 221, - [242] = 222, - [243] = 223, - [244] = 224, - [245] = 225, - [246] = 227, - [247] = 224, - [248] = 248, + [237] = 237, + [238] = 238, + [239] = 115, + [240] = 116, + [241] = 241, + [242] = 42, + [243] = 41, + [244] = 61, + [245] = 53, + [246] = 246, + [247] = 66, + [248] = 66, [249] = 249, [250] = 250, - [251] = 8, - [252] = 7, - [253] = 233, - [254] = 240, - [255] = 78, - [256] = 47, - [257] = 10, - [258] = 23, - [259] = 6, - [260] = 232, - [261] = 79, - [262] = 12, - [263] = 11, - [264] = 77, + [251] = 251, + [252] = 252, + [253] = 253, + [254] = 250, + [255] = 252, + [256] = 256, + [257] = 257, + [258] = 250, + [259] = 251, + [260] = 260, + [261] = 261, + [262] = 262, + [263] = 260, + [264] = 252, [265] = 265, - [266] = 266, - [267] = 13, - [268] = 15, - [269] = 20, - [270] = 22, - [271] = 222, - [272] = 46, - [273] = 240, - [274] = 16, - [275] = 275, - [276] = 48, + [266] = 260, + [267] = 267, + [268] = 268, + [269] = 269, + [270] = 131, + [271] = 110, + [272] = 68, + [273] = 260, + [274] = 274, + [275] = 61, + [276] = 129, [277] = 277, - [278] = 278, - [279] = 279, - [280] = 280, - [281] = 281, - [282] = 282, - [283] = 282, - [284] = 284, - [285] = 282, - [286] = 284, - [287] = 284, - [288] = 288, - [289] = 289, - [290] = 290, - [291] = 291, - [292] = 292, - [293] = 293, - [294] = 294, - [295] = 295, - [296] = 292, - [297] = 297, + [278] = 251, + [279] = 250, + [280] = 58, + [281] = 53, + [282] = 116, + [283] = 115, + [284] = 250, + [285] = 54, + [286] = 253, + [287] = 114, + [288] = 95, + [289] = 111, + [290] = 251, + [291] = 42, + [292] = 41, + [293] = 38, + [294] = 36, + [295] = 88, + [296] = 252, + [297] = 251, [298] = 298, - [299] = 299, - [300] = 289, + [299] = 298, + [300] = 300, [301] = 301, [302] = 302, [303] = 303, [304] = 304, - [305] = 305, - [306] = 306, - [307] = 307, - [308] = 308, + [305] = 300, + [306] = 300, + [307] = 298, + [308] = 298, [309] = 309, [310] = 310, - [311] = 311, + [311] = 300, [312] = 312, [313] = 313, [314] = 314, [315] = 315, - [316] = 292, + [316] = 316, [317] = 317, [318] = 318, [319] = 319, - [320] = 289, - [321] = 301, - [322] = 322, - [323] = 323, - [324] = 324, - [325] = 312, - [326] = 319, - [327] = 327, + [320] = 320, + [321] = 321, + [322] = 321, + [323] = 315, + [324] = 317, + [325] = 325, + [326] = 326, + [327] = 317, [328] = 328, - [329] = 318, + [329] = 329, [330] = 330, - [331] = 301, + [331] = 331, [332] = 332, [333] = 333, - [334] = 318, + [334] = 334, + [335] = 335, + [336] = 321, + [337] = 337, + [338] = 315, + [339] = 317, + [340] = 340, + [341] = 341, + [342] = 321, + [343] = 343, + [344] = 344, + [345] = 345, + [346] = 346, + [347] = 347, + [348] = 313, + [349] = 349, + [350] = 350, + [351] = 328, + [352] = 334, + [353] = 329, + [354] = 354, + [355] = 355, + [356] = 315, + [357] = 334, + [358] = 358, + [359] = 359, + [360] = 360, + [361] = 361, + [362] = 334, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -1342,538 +1370,386 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(24); - if (lookahead == '!') ADVANCE(17); - if (lookahead == '"') ADVANCE(73); - if (lookahead == '#') ADVANCE(57); - if (lookahead == '$') ADVANCE(45); - if (lookahead == '&') ADVANCE(13); - if (lookahead == '\'') ADVANCE(14); - if (lookahead == '(') ADVANCE(38); - if (lookahead == ')') ADVANCE(39); - if (lookahead == '*') ADVANCE(48); - if (lookahead == '+') ADVANCE(31); - if (lookahead == ',') ADVANCE(28); - if (lookahead == '-') ADVANCE(54); - if (lookahead == '/') ADVANCE(30); - if (lookahead == ':') ADVANCE(44); - if (lookahead == '=') ADVANCE(47); - if (lookahead == '?') ADVANCE(26); - if (lookahead == '@') ADVANCE(41); - if (lookahead == '[') ADVANCE(27); - if (lookahead == '\\') ADVANCE(21); - if (lookahead == ']') ADVANCE(29); - if (lookahead == '`') ADVANCE(79); - if (lookahead == '{') ADVANCE(33); - if (lookahead == '}') ADVANCE(34); + if (eof) ADVANCE(14); + if (lookahead == '!') ADVANCE(7); + if (lookahead == '#') ADVANCE(47); + if (lookahead == '$') ADVANCE(35); + if (lookahead == '&') ADVANCE(6); + if (lookahead == '(') ADVANCE(28); + if (lookahead == ')') ADVANCE(29); + if (lookahead == '*') ADVANCE(38); + if (lookahead == '+') ADVANCE(21); + if (lookahead == ',') ADVANCE(18); + if (lookahead == '-') ADVANCE(44); + if (lookahead == '/') ADVANCE(20); + if (lookahead == ':') ADVANCE(34); + if (lookahead == '=') ADVANCE(37); + if (lookahead == '?') ADVANCE(16); + if (lookahead == '@') ADVANCE(31); + if (lookahead == '[') ADVANCE(17); + if (lookahead == '\\') ADVANCE(11); + if (lookahead == ']') ADVANCE(19); + if (lookahead == '{') ADVANCE(23); + if (lookahead == '}') ADVANCE(24); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(7); + lookahead == ' ') ADVANCE(4); if (('A' <= lookahead && lookahead <= 'Z') || - ('_' <= lookahead && lookahead <= 'z')) ADVANCE(62); + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(52); END_STATE(); case 1: if (lookahead == '\n') ADVANCE(1); - if (lookahead == '#') ADVANCE(82); - if (lookahead == '-') ADVANCE(55); - if (lookahead == '@') ADVANCE(42); - if (lookahead == '{') ADVANCE(85); + if (lookahead == '#') ADVANCE(55); + if (lookahead == '-') ADVANCE(45); + if (lookahead == '@') ADVANCE(32); + if (lookahead == '{') ADVANCE(58); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') ADVANCE(81); - if (lookahead != 0) ADVANCE(86); + lookahead == ' ') ADVANCE(54); + if (lookahead != 0) ADVANCE(59); END_STATE(); case 2: if (lookahead == '\n') SKIP(2) - if (lookahead == '-') ADVANCE(55); - if (lookahead == '@') ADVANCE(42); - if (lookahead == '{') ADVANCE(85); + if (lookahead == '-') ADVANCE(45); + if (lookahead == '@') ADVANCE(32); + if (lookahead == '{') ADVANCE(58); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') ADVANCE(83); - if (lookahead != 0) ADVANCE(86); + lookahead == ' ') ADVANCE(56); + if (lookahead != 0) ADVANCE(59); END_STATE(); case 3: if (lookahead == '\n') SKIP(3) - if (lookahead == '{') ADVANCE(85); + if (lookahead == '{') ADVANCE(58); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') ADVANCE(84); - if (lookahead != 0) ADVANCE(86); + lookahead == ' ') ADVANCE(57); + if (lookahead != 0) ADVANCE(59); END_STATE(); case 4: - if (lookahead == '\n') SKIP(4) - if (lookahead == '`') ADVANCE(69); + if (lookahead == '!') ADVANCE(7); + if (lookahead == '#') ADVANCE(47); + if (lookahead == '$') ADVANCE(35); + if (lookahead == '&') ADVANCE(6); + if (lookahead == '(') ADVANCE(28); + if (lookahead == ')') ADVANCE(29); + if (lookahead == '*') ADVANCE(38); + if (lookahead == '+') ADVANCE(21); + if (lookahead == ',') ADVANCE(18); + if (lookahead == '-') ADVANCE(44); + if (lookahead == '/') ADVANCE(20); + if (lookahead == ':') ADVANCE(34); + if (lookahead == '=') ADVANCE(37); + if (lookahead == '?') ADVANCE(16); + if (lookahead == '@') ADVANCE(31); + if (lookahead == '[') ADVANCE(17); + if (lookahead == '\\') ADVANCE(11); + if (lookahead == ']') ADVANCE(19); + if (lookahead == '{') ADVANCE(23); + if (lookahead == '}') ADVANCE(24); if (lookahead == '\t' || + lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(70); - if (lookahead != 0) ADVANCE(66); + lookahead == ' ') ADVANCE(4); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(52); END_STATE(); case 5: - if (lookahead == '\n') SKIP(5) - if (lookahead == '\'') ADVANCE(68); + if (lookahead == '!') ADVANCE(7); + if (lookahead == '#') ADVANCE(47); + if (lookahead == '$') ADVANCE(35); + if (lookahead == '(') ADVANCE(28); + if (lookahead == ')') ADVANCE(29); + if (lookahead == '*') ADVANCE(38); + if (lookahead == '+') ADVANCE(21); + if (lookahead == ',') ADVANCE(18); + if (lookahead == '/') ADVANCE(20); + if (lookahead == ':') ADVANCE(33); + if (lookahead == '=') ADVANCE(8); + if (lookahead == '@') ADVANCE(30); + if (lookahead == '[') ADVANCE(17); + if (lookahead == ']') ADVANCE(19); + if (lookahead == '{') ADVANCE(22); + if (lookahead == '}') ADVANCE(10); if (lookahead == '\t' || + lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(67); - if (lookahead != 0) ADVANCE(66); + lookahead == ' ') ADVANCE(5); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(52); END_STATE(); case 6: - if (lookahead == '\n') SKIP(6) - if (lookahead == '`') ADVANCE(78); - if (lookahead == '\t' || - lookahead == '\r' || - lookahead == ' ') ADVANCE(71); - if (lookahead != 0) ADVANCE(66); + if (lookahead == '&') ADVANCE(39); END_STATE(); case 7: - if (lookahead == '!') ADVANCE(17); - if (lookahead == '"') ADVANCE(73); - if (lookahead == '#') ADVANCE(57); - if (lookahead == '$') ADVANCE(45); - if (lookahead == '&') ADVANCE(13); - if (lookahead == '\'') ADVANCE(14); - if (lookahead == '(') ADVANCE(38); - if (lookahead == ')') ADVANCE(39); - if (lookahead == '*') ADVANCE(48); - if (lookahead == '+') ADVANCE(31); - if (lookahead == ',') ADVANCE(28); - if (lookahead == '-') ADVANCE(54); - if (lookahead == '/') ADVANCE(30); - if (lookahead == ':') ADVANCE(44); - if (lookahead == '=') ADVANCE(47); - if (lookahead == '?') ADVANCE(26); - if (lookahead == '@') ADVANCE(41); - if (lookahead == '[') ADVANCE(27); - if (lookahead == '\\') ADVANCE(21); - if (lookahead == ']') ADVANCE(29); - if (lookahead == '`') ADVANCE(79); - if (lookahead == '{') ADVANCE(33); - if (lookahead == '}') ADVANCE(34); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') ADVANCE(7); - if (('A' <= lookahead && lookahead <= 'Z') || - ('_' <= lookahead && lookahead <= 'z')) ADVANCE(62); + if (lookahead == '=') ADVANCE(26); END_STATE(); case 8: - if (lookahead == '!') ADVANCE(17); - if (lookahead == '"') ADVANCE(73); - if (lookahead == '#') ADVANCE(57); - if (lookahead == '$') ADVANCE(45); - if (lookahead == '\'') ADVANCE(14); - if (lookahead == '(') ADVANCE(38); - if (lookahead == ')') ADVANCE(39); - if (lookahead == '*') ADVANCE(48); - if (lookahead == '+') ADVANCE(31); - if (lookahead == ',') ADVANCE(28); - if (lookahead == '/') ADVANCE(30); - if (lookahead == ':') ADVANCE(43); - if (lookahead == '=') ADVANCE(18); - if (lookahead == '@') ADVANCE(40); - if (lookahead == '[') ADVANCE(27); - if (lookahead == ']') ADVANCE(29); - if (lookahead == '`') ADVANCE(79); - if (lookahead == '{') ADVANCE(32); - if (lookahead == '}') ADVANCE(20); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') ADVANCE(8); - if (('A' <= lookahead && lookahead <= 'Z') || - ('_' <= lookahead && lookahead <= 'z')) ADVANCE(62); + if (lookahead == '=') ADVANCE(25); + if (lookahead == '~') ADVANCE(27); END_STATE(); case 9: - if (lookahead == '"') ADVANCE(10); + if (lookahead == '{') ADVANCE(49); END_STATE(); case 10: - if (lookahead == '"') ADVANCE(76); + if (lookahead == '}') ADVANCE(51); END_STATE(); case 11: - if (lookahead == '"') ADVANCE(72); - if (lookahead == '\\') ADVANCE(21); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') ADVANCE(74); - if (lookahead != 0) ADVANCE(75); - END_STATE(); - case 12: - if (lookahead == '"') ADVANCE(9); - if (lookahead == '\\') ADVANCE(21); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') ADVANCE(74); - if (lookahead != 0) ADVANCE(75); - END_STATE(); - case 13: - if (lookahead == '&') ADVANCE(49); - END_STATE(); - case 14: - if (lookahead == '\'') ADVANCE(64); - if (lookahead != 0) ADVANCE(16); - END_STATE(); - case 15: - if (lookahead == '\'') ADVANCE(65); - END_STATE(); - case 16: - if (lookahead == '\'') ADVANCE(63); - if (lookahead != 0) ADVANCE(16); - END_STATE(); - case 17: - if (lookahead == '=') ADVANCE(36); - END_STATE(); - case 18: - if (lookahead == '=') ADVANCE(35); - if (lookahead == '~') ADVANCE(37); - END_STATE(); - case 19: - if (lookahead == '`') ADVANCE(80); - END_STATE(); - case 20: - if (lookahead == '}') ADVANCE(61); - END_STATE(); - case 21: if (lookahead == '"' || lookahead == '\\' || lookahead == 'n' || lookahead == 'r' || - lookahead == 't') ADVANCE(77); + lookahead == 't') ADVANCE(53); END_STATE(); - case 22: - if (eof) ADVANCE(24); - if (lookahead == '!') ADVANCE(17); - if (lookahead == '"') ADVANCE(73); - if (lookahead == '#') ADVANCE(57); - if (lookahead == '$') ADVANCE(45); - if (lookahead == '\'') ADVANCE(14); - if (lookahead == '(') ADVANCE(38); - if (lookahead == ')') ADVANCE(39); - if (lookahead == '*') ADVANCE(48); - if (lookahead == '+') ADVANCE(31); - if (lookahead == ',') ADVANCE(28); - if (lookahead == '/') ADVANCE(30); - if (lookahead == ':') ADVANCE(43); - if (lookahead == '=') ADVANCE(18); - if (lookahead == '@') ADVANCE(40); - if (lookahead == '[') ADVANCE(27); - if (lookahead == ']') ADVANCE(29); - if (lookahead == '`') ADVANCE(79); - if (lookahead == '{') ADVANCE(32); - if (lookahead == '}') ADVANCE(20); + case 12: + if (eof) ADVANCE(14); + if (lookahead == '!') ADVANCE(7); + if (lookahead == '#') ADVANCE(47); + if (lookahead == '$') ADVANCE(35); + if (lookahead == '(') ADVANCE(28); + if (lookahead == ')') ADVANCE(29); + if (lookahead == '*') ADVANCE(38); + if (lookahead == '+') ADVANCE(21); + if (lookahead == ',') ADVANCE(18); + if (lookahead == '/') ADVANCE(20); + if (lookahead == ':') ADVANCE(33); + if (lookahead == '=') ADVANCE(8); + if (lookahead == '@') ADVANCE(30); + if (lookahead == '[') ADVANCE(17); + if (lookahead == ']') ADVANCE(19); + if (lookahead == '{') ADVANCE(22); + if (lookahead == '}') ADVANCE(10); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(8); + lookahead == ' ') ADVANCE(5); if (('A' <= lookahead && lookahead <= 'Z') || - ('_' <= lookahead && lookahead <= 'z')) ADVANCE(62); + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(52); END_STATE(); - case 23: - if (eof) ADVANCE(24); - if (lookahead == '"') ADVANCE(73); - if (lookahead == '#') ADVANCE(58); - if (lookahead == '$') ADVANCE(45); - if (lookahead == '\'') ADVANCE(14); - if (lookahead == '(') ADVANCE(38); - if (lookahead == '*') ADVANCE(48); - if (lookahead == '+') ADVANCE(31); - if (lookahead == '/') ADVANCE(30); - if (lookahead == ':') ADVANCE(44); - if (lookahead == '=') ADVANCE(46); - if (lookahead == '@') ADVANCE(40); - if (lookahead == '[') ADVANCE(27); + case 13: + if (eof) ADVANCE(14); + if (lookahead == '#') ADVANCE(48); + if (lookahead == '$') ADVANCE(35); + if (lookahead == '(') ADVANCE(28); + if (lookahead == '*') ADVANCE(38); + if (lookahead == '+') ADVANCE(21); + if (lookahead == '/') ADVANCE(20); + if (lookahead == ':') ADVANCE(34); + if (lookahead == '=') ADVANCE(36); + if (lookahead == '@') ADVANCE(30); + if (lookahead == '[') ADVANCE(17); + if (lookahead == '{') ADVANCE(9); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(23) + lookahead == ' ') SKIP(13) if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(62); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(52); END_STATE(); - case 24: + case 14: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); - case 25: + case 15: ACCEPT_TOKEN(anon_sym_COLON_EQ); END_STATE(); - case 26: + case 16: ACCEPT_TOKEN(anon_sym_QMARK); END_STATE(); - case 27: + case 17: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); - case 28: + case 18: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 29: + case 19: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); - case 30: + case 20: ACCEPT_TOKEN(anon_sym_SLASH); END_STATE(); - case 31: + case 21: ACCEPT_TOKEN(anon_sym_PLUS); END_STATE(); - case 32: + case 22: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); - case 33: + case 23: ACCEPT_TOKEN(anon_sym_LBRACE); - if (lookahead == '{') ADVANCE(59); + if (lookahead == '{') ADVANCE(49); END_STATE(); - case 34: + case 24: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); - case 35: + case 25: ACCEPT_TOKEN(anon_sym_EQ_EQ); END_STATE(); - case 36: + case 26: ACCEPT_TOKEN(anon_sym_BANG_EQ); END_STATE(); - case 37: + case 27: ACCEPT_TOKEN(anon_sym_EQ_TILDE); END_STATE(); - case 38: + case 28: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); - case 39: + case 29: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); - case 40: + case 30: ACCEPT_TOKEN(anon_sym_AT); END_STATE(); - case 41: + case 31: ACCEPT_TOKEN(anon_sym_AT); - if (lookahead == '-') ADVANCE(50); + if (lookahead == '-') ADVANCE(40); END_STATE(); - case 42: + case 32: ACCEPT_TOKEN(anon_sym_AT); - if (lookahead == '-') ADVANCE(51); + if (lookahead == '-') ADVANCE(41); if (lookahead != 0 && - lookahead != '\n') ADVANCE(86); + lookahead != '\n') ADVANCE(59); END_STATE(); - case 43: + case 33: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); - case 44: + case 34: ACCEPT_TOKEN(anon_sym_COLON); - if (lookahead == '=') ADVANCE(25); + if (lookahead == '=') ADVANCE(15); END_STATE(); - case 45: + case 35: ACCEPT_TOKEN(anon_sym_DOLLAR); END_STATE(); - case 46: + case 36: ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); - case 47: + case 37: ACCEPT_TOKEN(anon_sym_EQ); - if (lookahead == '=') ADVANCE(35); - if (lookahead == '~') ADVANCE(37); + if (lookahead == '=') ADVANCE(25); + if (lookahead == '~') ADVANCE(27); END_STATE(); - case 48: + case 38: ACCEPT_TOKEN(anon_sym_STAR); END_STATE(); - case 49: + case 39: ACCEPT_TOKEN(anon_sym_AMP_AMP); END_STATE(); - case 50: + case 40: ACCEPT_TOKEN(anon_sym_AT_DASH); END_STATE(); - case 51: + case 41: ACCEPT_TOKEN(anon_sym_AT_DASH); if (lookahead != 0 && - lookahead != '\n') ADVANCE(86); + lookahead != '\n') ADVANCE(59); END_STATE(); - case 52: + case 42: ACCEPT_TOKEN(anon_sym_DASH_AT); END_STATE(); - case 53: + case 43: ACCEPT_TOKEN(anon_sym_DASH_AT); if (lookahead != 0 && - lookahead != '\n') ADVANCE(86); + lookahead != '\n') ADVANCE(59); END_STATE(); - case 54: + case 44: ACCEPT_TOKEN(anon_sym_DASH); - if (lookahead == '@') ADVANCE(52); + if (lookahead == '@') ADVANCE(42); END_STATE(); - case 55: + case 45: ACCEPT_TOKEN(anon_sym_DASH); - if (lookahead == '@') ADVANCE(53); + if (lookahead == '@') ADVANCE(43); if (lookahead != 0 && - lookahead != '\n') ADVANCE(86); + lookahead != '\n') ADVANCE(59); END_STATE(); - case 56: + case 46: ACCEPT_TOKEN(aux_sym_shebang_token1); if (lookahead != 0 && - lookahead != '\n') ADVANCE(56); + lookahead != '\n') ADVANCE(46); END_STATE(); - case 57: + case 47: ACCEPT_TOKEN(aux_sym_comment_token1); - if (lookahead == '!') ADVANCE(56); + if (lookahead == '!') ADVANCE(46); if (lookahead != 0 && - lookahead != '\n') ADVANCE(58); + lookahead != '\n') ADVANCE(48); END_STATE(); - case 58: + case 48: ACCEPT_TOKEN(aux_sym_comment_token1); if (lookahead != 0 && - lookahead != '\n') ADVANCE(58); + lookahead != '\n') ADVANCE(48); END_STATE(); - case 59: + case 49: ACCEPT_TOKEN(anon_sym_LBRACE_LBRACE); END_STATE(); - case 60: + case 50: ACCEPT_TOKEN(anon_sym_LBRACE_LBRACE); if (lookahead != 0 && - lookahead != '\n') ADVANCE(86); + lookahead != '\n') ADVANCE(59); END_STATE(); - case 61: + case 51: ACCEPT_TOKEN(anon_sym_RBRACE_RBRACE); END_STATE(); - case 62: + case 52: ACCEPT_TOKEN(sym_identifier); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(62); - END_STATE(); - case 63: - ACCEPT_TOKEN(aux_sym_string_token1); - END_STATE(); - case 64: - ACCEPT_TOKEN(aux_sym_string_token1); - if (lookahead == '\'') ADVANCE(65); - END_STATE(); - case 65: - ACCEPT_TOKEN(anon_sym_SQUOTE_SQUOTE_SQUOTE); - END_STATE(); - case 66: - ACCEPT_TOKEN(aux_sym__raw_string_indented_token1); - END_STATE(); - case 67: - ACCEPT_TOKEN(aux_sym__raw_string_indented_token1); - if (lookahead == '\'') ADVANCE(68); - if (lookahead == '\t' || - lookahead == '\r' || - lookahead == ' ') ADVANCE(67); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(66); - END_STATE(); - case 68: - ACCEPT_TOKEN(aux_sym__raw_string_indented_token1); - if (lookahead == '\'') ADVANCE(15); - END_STATE(); - case 69: - ACCEPT_TOKEN(aux_sym__raw_string_indented_token1); - if (lookahead == '`') ADVANCE(19); - END_STATE(); - case 70: - ACCEPT_TOKEN(aux_sym__raw_string_indented_token1); - if (lookahead == '`') ADVANCE(69); - if (lookahead == '\t' || - lookahead == '\r' || - lookahead == ' ') ADVANCE(70); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(66); - END_STATE(); - case 71: - ACCEPT_TOKEN(aux_sym__raw_string_indented_token1); - if (lookahead == '`') ADVANCE(78); - if (lookahead == '\t' || - lookahead == '\r' || - lookahead == ' ') ADVANCE(71); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(66); - END_STATE(); - case 72: - ACCEPT_TOKEN(anon_sym_DQUOTE); - END_STATE(); - case 73: - ACCEPT_TOKEN(anon_sym_DQUOTE); - if (lookahead == '"') ADVANCE(10); - END_STATE(); - case 74: - ACCEPT_TOKEN(aux_sym__string_token1); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') ADVANCE(74); - if (lookahead != 0 && - lookahead != '"' && - lookahead != '\\') ADVANCE(75); - END_STATE(); - case 75: - ACCEPT_TOKEN(aux_sym__string_token1); - if (lookahead != 0 && - lookahead != '"' && - lookahead != '\\') ADVANCE(75); - END_STATE(); - case 76: - ACCEPT_TOKEN(anon_sym_DQUOTE_DQUOTE_DQUOTE); - END_STATE(); - case 77: - ACCEPT_TOKEN(sym_string_escape); - END_STATE(); - case 78: - ACCEPT_TOKEN(anon_sym_BQUOTE); - END_STATE(); - case 79: - ACCEPT_TOKEN(anon_sym_BQUOTE); - if (lookahead == '`') ADVANCE(19); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(52); END_STATE(); - case 80: - ACCEPT_TOKEN(anon_sym_BQUOTE_BQUOTE_BQUOTE); + case 53: + ACCEPT_TOKEN(sym_escape_sequence); END_STATE(); - case 81: + case 54: ACCEPT_TOKEN(sym_text); if (lookahead == '\n') ADVANCE(1); - if (lookahead == '#') ADVANCE(82); - if (lookahead == '-') ADVANCE(55); - if (lookahead == '@') ADVANCE(42); - if (lookahead == '{') ADVANCE(85); + if (lookahead == '#') ADVANCE(55); + if (lookahead == '-') ADVANCE(45); + if (lookahead == '@') ADVANCE(32); + if (lookahead == '{') ADVANCE(58); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') ADVANCE(81); - if (lookahead != 0) ADVANCE(86); + lookahead == ' ') ADVANCE(54); + if (lookahead != 0) ADVANCE(59); END_STATE(); - case 82: + case 55: ACCEPT_TOKEN(sym_text); - if (lookahead == '!') ADVANCE(56); + if (lookahead == '!') ADVANCE(46); if (lookahead != 0 && - lookahead != '\n') ADVANCE(86); + lookahead != '\n') ADVANCE(59); END_STATE(); - case 83: + case 56: ACCEPT_TOKEN(sym_text); - if (lookahead == '-') ADVANCE(55); - if (lookahead == '@') ADVANCE(42); - if (lookahead == '{') ADVANCE(85); + if (lookahead == '-') ADVANCE(45); + if (lookahead == '@') ADVANCE(32); + if (lookahead == '{') ADVANCE(58); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') ADVANCE(83); + lookahead == ' ') ADVANCE(56); if (lookahead != 0 && - lookahead != '\n') ADVANCE(86); + lookahead != '\n') ADVANCE(59); END_STATE(); - case 84: + case 57: ACCEPT_TOKEN(sym_text); - if (lookahead == '{') ADVANCE(85); + if (lookahead == '{') ADVANCE(58); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') ADVANCE(84); + lookahead == ' ') ADVANCE(57); if (lookahead != 0 && - lookahead != '\n') ADVANCE(86); + lookahead != '\n') ADVANCE(59); END_STATE(); - case 85: + case 58: ACCEPT_TOKEN(sym_text); - if (lookahead == '{') ADVANCE(60); + if (lookahead == '{') ADVANCE(50); if (lookahead != 0 && - lookahead != '\n') ADVANCE(86); + lookahead != '\n') ADVANCE(59); END_STATE(); - case 86: + case 59: ACCEPT_TOKEN(sym_text); if (lookahead != 0 && - lookahead != '\n') ADVANCE(86); + lookahead != '\n') ADVANCE(59); END_STATE(); default: return false; @@ -2027,371 +1903,446 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0, .external_lex_state = 1}, - [1] = {.lex_state = 22, .external_lex_state = 2}, - [2] = {.lex_state = 23, .external_lex_state = 2}, - [3] = {.lex_state = 23, .external_lex_state = 2}, - [4] = {.lex_state = 23, .external_lex_state = 2}, - [5] = {.lex_state = 23, .external_lex_state = 2}, - [6] = {.lex_state = 22}, - [7] = {.lex_state = 22}, - [8] = {.lex_state = 22}, - [9] = {.lex_state = 0}, - [10] = {.lex_state = 22}, - [11] = {.lex_state = 22}, - [12] = {.lex_state = 22}, - [13] = {.lex_state = 22}, - [14] = {.lex_state = 0}, - [15] = {.lex_state = 22}, - [16] = {.lex_state = 22}, - [17] = {.lex_state = 0}, - [18] = {.lex_state = 0}, - [19] = {.lex_state = 0}, - [20] = {.lex_state = 22}, - [21] = {.lex_state = 0}, - [22] = {.lex_state = 22}, - [23] = {.lex_state = 22}, - [24] = {.lex_state = 22}, - [25] = {.lex_state = 0}, - [26] = {.lex_state = 0}, - [27] = {.lex_state = 0}, - [28] = {.lex_state = 0}, - [29] = {.lex_state = 0}, - [30] = {.lex_state = 22}, - [31] = {.lex_state = 22}, - [32] = {.lex_state = 0}, - [33] = {.lex_state = 0}, - [34] = {.lex_state = 0}, - [35] = {.lex_state = 0}, - [36] = {.lex_state = 0}, - [37] = {.lex_state = 22}, - [38] = {.lex_state = 0}, - [39] = {.lex_state = 0}, - [40] = {.lex_state = 0}, - [41] = {.lex_state = 22}, - [42] = {.lex_state = 0}, - [43] = {.lex_state = 0}, - [44] = {.lex_state = 0}, - [45] = {.lex_state = 22}, - [46] = {.lex_state = 22}, - [47] = {.lex_state = 22}, - [48] = {.lex_state = 22}, - [49] = {.lex_state = 0}, - [50] = {.lex_state = 0}, - [51] = {.lex_state = 0}, - [52] = {.lex_state = 0}, - [53] = {.lex_state = 0}, - [54] = {.lex_state = 0}, - [55] = {.lex_state = 0}, - [56] = {.lex_state = 0}, - [57] = {.lex_state = 0}, - [58] = {.lex_state = 0}, - [59] = {.lex_state = 0}, - [60] = {.lex_state = 0}, - [61] = {.lex_state = 23, .external_lex_state = 2}, - [62] = {.lex_state = 23, .external_lex_state = 2}, - [63] = {.lex_state = 1, .external_lex_state = 3}, - [64] = {.lex_state = 0}, - [65] = {.lex_state = 0}, - [66] = {.lex_state = 22}, - [67] = {.lex_state = 23, .external_lex_state = 4}, - [68] = {.lex_state = 23, .external_lex_state = 4}, - [69] = {.lex_state = 23, .external_lex_state = 2}, - [70] = {.lex_state = 2, .external_lex_state = 3}, - [71] = {.lex_state = 23, .external_lex_state = 2}, - [72] = {.lex_state = 2, .external_lex_state = 3}, - [73] = {.lex_state = 2, .external_lex_state = 3}, - [74] = {.lex_state = 23, .external_lex_state = 2}, - [75] = {.lex_state = 2, .external_lex_state = 3}, - [76] = {.lex_state = 0}, - [77] = {.lex_state = 0}, - [78] = {.lex_state = 0}, - [79] = {.lex_state = 0}, - [80] = {.lex_state = 23, .external_lex_state = 2}, - [81] = {.lex_state = 23, .external_lex_state = 2}, - [82] = {.lex_state = 23, .external_lex_state = 2}, - [83] = {.lex_state = 23, .external_lex_state = 2}, - [84] = {.lex_state = 23, .external_lex_state = 2}, - [85] = {.lex_state = 23, .external_lex_state = 2}, - [86] = {.lex_state = 23, .external_lex_state = 2}, - [87] = {.lex_state = 23, .external_lex_state = 2}, - [88] = {.lex_state = 23, .external_lex_state = 2}, - [89] = {.lex_state = 23, .external_lex_state = 2}, - [90] = {.lex_state = 23, .external_lex_state = 2}, - [91] = {.lex_state = 23, .external_lex_state = 2}, - [92] = {.lex_state = 23, .external_lex_state = 2}, - [93] = {.lex_state = 23, .external_lex_state = 2}, - [94] = {.lex_state = 23, .external_lex_state = 2}, - [95] = {.lex_state = 23, .external_lex_state = 2}, - [96] = {.lex_state = 23, .external_lex_state = 2}, - [97] = {.lex_state = 23, .external_lex_state = 2}, - [98] = {.lex_state = 23, .external_lex_state = 2}, - [99] = {.lex_state = 23, .external_lex_state = 2}, - [100] = {.lex_state = 23, .external_lex_state = 2}, - [101] = {.lex_state = 23, .external_lex_state = 2}, - [102] = {.lex_state = 23, .external_lex_state = 2}, - [103] = {.lex_state = 23, .external_lex_state = 2}, - [104] = {.lex_state = 23, .external_lex_state = 2}, - [105] = {.lex_state = 0}, - [106] = {.lex_state = 23, .external_lex_state = 2}, - [107] = {.lex_state = 23, .external_lex_state = 2}, - [108] = {.lex_state = 23, .external_lex_state = 2}, + [1] = {.lex_state = 12, .external_lex_state = 2}, + [2] = {.lex_state = 13, .external_lex_state = 2}, + [3] = {.lex_state = 13, .external_lex_state = 2}, + [4] = {.lex_state = 13, .external_lex_state = 2}, + [5] = {.lex_state = 13, .external_lex_state = 2}, + [6] = {.lex_state = 0, .external_lex_state = 3}, + [7] = {.lex_state = 0, .external_lex_state = 3}, + [8] = {.lex_state = 0, .external_lex_state = 3}, + [9] = {.lex_state = 0, .external_lex_state = 3}, + [10] = {.lex_state = 0, .external_lex_state = 3}, + [11] = {.lex_state = 0, .external_lex_state = 3}, + [12] = {.lex_state = 0, .external_lex_state = 3}, + [13] = {.lex_state = 0, .external_lex_state = 3}, + [14] = {.lex_state = 0, .external_lex_state = 3}, + [15] = {.lex_state = 0, .external_lex_state = 3}, + [16] = {.lex_state = 0, .external_lex_state = 3}, + [17] = {.lex_state = 0, .external_lex_state = 3}, + [18] = {.lex_state = 0, .external_lex_state = 3}, + [19] = {.lex_state = 0, .external_lex_state = 3}, + [20] = {.lex_state = 0, .external_lex_state = 3}, + [21] = {.lex_state = 0, .external_lex_state = 3}, + [22] = {.lex_state = 0, .external_lex_state = 3}, + [23] = {.lex_state = 13, .external_lex_state = 4}, + [24] = {.lex_state = 0, .external_lex_state = 3}, + [25] = {.lex_state = 0, .external_lex_state = 3}, + [26] = {.lex_state = 13, .external_lex_state = 4}, + [27] = {.lex_state = 0, .external_lex_state = 3}, + [28] = {.lex_state = 0, .external_lex_state = 3}, + [29] = {.lex_state = 0, .external_lex_state = 3}, + [30] = {.lex_state = 0, .external_lex_state = 3}, + [31] = {.lex_state = 0, .external_lex_state = 3}, + [32] = {.lex_state = 0, .external_lex_state = 3}, + [33] = {.lex_state = 0, .external_lex_state = 3}, + [34] = {.lex_state = 0, .external_lex_state = 3}, + [35] = {.lex_state = 1, .external_lex_state = 5}, + [36] = {.lex_state = 12}, + [37] = {.lex_state = 0, .external_lex_state = 3}, + [38] = {.lex_state = 12}, + [39] = {.lex_state = 0, .external_lex_state = 3}, + [40] = {.lex_state = 12}, + [41] = {.lex_state = 12}, + [42] = {.lex_state = 12}, + [43] = {.lex_state = 0, .external_lex_state = 3}, + [44] = {.lex_state = 0, .external_lex_state = 3}, + [45] = {.lex_state = 0, .external_lex_state = 3}, + [46] = {.lex_state = 0, .external_lex_state = 3}, + [47] = {.lex_state = 0, .external_lex_state = 3}, + [48] = {.lex_state = 0, .external_lex_state = 3}, + [49] = {.lex_state = 0, .external_lex_state = 3}, + [50] = {.lex_state = 0, .external_lex_state = 3}, + [51] = {.lex_state = 0, .external_lex_state = 3}, + [52] = {.lex_state = 0, .external_lex_state = 3}, + [53] = {.lex_state = 12}, + [54] = {.lex_state = 12}, + [55] = {.lex_state = 13, .external_lex_state = 2}, + [56] = {.lex_state = 13, .external_lex_state = 2}, + [57] = {.lex_state = 2, .external_lex_state = 5}, + [58] = {.lex_state = 12}, + [59] = {.lex_state = 13, .external_lex_state = 2}, + [60] = {.lex_state = 2, .external_lex_state = 5}, + [61] = {.lex_state = 12}, + [62] = {.lex_state = 2, .external_lex_state = 5}, + [63] = {.lex_state = 13, .external_lex_state = 6}, + [64] = {.lex_state = 2, .external_lex_state = 5}, + [65] = {.lex_state = 13, .external_lex_state = 2}, + [66] = {.lex_state = 12}, + [67] = {.lex_state = 13, .external_lex_state = 6}, + [68] = {.lex_state = 12}, + [69] = {.lex_state = 13, .external_lex_state = 2}, + [70] = {.lex_state = 0, .external_lex_state = 3}, + [71] = {.lex_state = 13, .external_lex_state = 2}, + [72] = {.lex_state = 13, .external_lex_state = 2}, + [73] = {.lex_state = 13, .external_lex_state = 2}, + [74] = {.lex_state = 0, .external_lex_state = 3}, + [75] = {.lex_state = 13, .external_lex_state = 2}, + [76] = {.lex_state = 13, .external_lex_state = 2}, + [77] = {.lex_state = 13, .external_lex_state = 2}, + [78] = {.lex_state = 13, .external_lex_state = 2}, + [79] = {.lex_state = 13, .external_lex_state = 2}, + [80] = {.lex_state = 13, .external_lex_state = 2}, + [81] = {.lex_state = 13, .external_lex_state = 2}, + [82] = {.lex_state = 13, .external_lex_state = 2}, + [83] = {.lex_state = 13, .external_lex_state = 2}, + [84] = {.lex_state = 13, .external_lex_state = 2}, + [85] = {.lex_state = 13, .external_lex_state = 2}, + [86] = {.lex_state = 13, .external_lex_state = 2}, + [87] = {.lex_state = 13, .external_lex_state = 2}, + [88] = {.lex_state = 13, .external_lex_state = 2}, + [89] = {.lex_state = 13, .external_lex_state = 2}, + [90] = {.lex_state = 13, .external_lex_state = 2}, + [91] = {.lex_state = 13, .external_lex_state = 2}, + [92] = {.lex_state = 0, .external_lex_state = 3}, + [93] = {.lex_state = 12}, + [94] = {.lex_state = 13, .external_lex_state = 2}, + [95] = {.lex_state = 13, .external_lex_state = 2}, + [96] = {.lex_state = 13, .external_lex_state = 2}, + [97] = {.lex_state = 13, .external_lex_state = 2}, + [98] = {.lex_state = 13, .external_lex_state = 2}, + [99] = {.lex_state = 0, .external_lex_state = 3}, + [100] = {.lex_state = 12}, + [101] = {.lex_state = 13, .external_lex_state = 2}, + [102] = {.lex_state = 13, .external_lex_state = 2}, + [103] = {.lex_state = 12}, + [104] = {.lex_state = 0, .external_lex_state = 3}, + [105] = {.lex_state = 0, .external_lex_state = 3}, + [106] = {.lex_state = 0, .external_lex_state = 3}, + [107] = {.lex_state = 12}, + [108] = {.lex_state = 12}, [109] = {.lex_state = 0}, - [110] = {.lex_state = 22}, - [111] = {.lex_state = 0}, - [112] = {.lex_state = 22}, - [113] = {.lex_state = 0}, - [114] = {.lex_state = 22}, - [115] = {.lex_state = 0}, - [116] = {.lex_state = 0}, - [117] = {.lex_state = 0}, - [118] = {.lex_state = 2, .external_lex_state = 3}, - [119] = {.lex_state = 2, .external_lex_state = 3}, - [120] = {.lex_state = 0, .external_lex_state = 2}, - [121] = {.lex_state = 0, .external_lex_state = 2}, - [122] = {.lex_state = 0}, - [123] = {.lex_state = 0}, - [124] = {.lex_state = 0, .external_lex_state = 2}, - [125] = {.lex_state = 2, .external_lex_state = 3}, - [126] = {.lex_state = 0, .external_lex_state = 2}, - [127] = {.lex_state = 0, .external_lex_state = 2}, - [128] = {.lex_state = 2, .external_lex_state = 3}, - [129] = {.lex_state = 0}, - [130] = {.lex_state = 0}, - [131] = {.lex_state = 23}, - [132] = {.lex_state = 0}, - [133] = {.lex_state = 0, .external_lex_state = 2}, - [134] = {.lex_state = 23, .external_lex_state = 2}, - [135] = {.lex_state = 0, .external_lex_state = 2}, - [136] = {.lex_state = 0}, - [137] = {.lex_state = 0, .external_lex_state = 2}, - [138] = {.lex_state = 0}, - [139] = {.lex_state = 23}, - [140] = {.lex_state = 0, .external_lex_state = 2}, - [141] = {.lex_state = 0}, - [142] = {.lex_state = 0}, - [143] = {.lex_state = 23, .external_lex_state = 2}, - [144] = {.lex_state = 23, .external_lex_state = 2}, - [145] = {.lex_state = 22}, - [146] = {.lex_state = 22}, - [147] = {.lex_state = 3, .external_lex_state = 2}, - [148] = {.lex_state = 3, .external_lex_state = 2}, - [149] = {.lex_state = 23, .external_lex_state = 2}, - [150] = {.lex_state = 0}, - [151] = {.lex_state = 0}, - [152] = {.lex_state = 23, .external_lex_state = 2}, - [153] = {.lex_state = 0}, - [154] = {.lex_state = 23, .external_lex_state = 2}, - [155] = {.lex_state = 23, .external_lex_state = 2}, - [156] = {.lex_state = 0}, - [157] = {.lex_state = 0}, - [158] = {.lex_state = 0}, - [159] = {.lex_state = 3, .external_lex_state = 2}, + [110] = {.lex_state = 12}, + [111] = {.lex_state = 0, .external_lex_state = 3}, + [112] = {.lex_state = 0, .external_lex_state = 3}, + [113] = {.lex_state = 0, .external_lex_state = 3}, + [114] = {.lex_state = 0, .external_lex_state = 3}, + [115] = {.lex_state = 0, .external_lex_state = 3}, + [116] = {.lex_state = 0, .external_lex_state = 3}, + [117] = {.lex_state = 0, .external_lex_state = 3}, + [118] = {.lex_state = 0, .external_lex_state = 3}, + [119] = {.lex_state = 12}, + [120] = {.lex_state = 0, .external_lex_state = 7}, + [121] = {.lex_state = 0, .external_lex_state = 3}, + [122] = {.lex_state = 12}, + [123] = {.lex_state = 0, .external_lex_state = 3}, + [124] = {.lex_state = 0, .external_lex_state = 3}, + [125] = {.lex_state = 12}, + [126] = {.lex_state = 12}, + [127] = {.lex_state = 0, .external_lex_state = 3}, + [128] = {.lex_state = 0}, + [129] = {.lex_state = 12}, + [130] = {.lex_state = 0, .external_lex_state = 3}, + [131] = {.lex_state = 0, .external_lex_state = 3}, + [132] = {.lex_state = 12}, + [133] = {.lex_state = 0}, + [134] = {.lex_state = 0, .external_lex_state = 3}, + [135] = {.lex_state = 0, .external_lex_state = 3}, + [136] = {.lex_state = 0, .external_lex_state = 3}, + [137] = {.lex_state = 0, .external_lex_state = 3}, + [138] = {.lex_state = 0, .external_lex_state = 7}, + [139] = {.lex_state = 0, .external_lex_state = 2}, + [140] = {.lex_state = 0, .external_lex_state = 7}, + [141] = {.lex_state = 2, .external_lex_state = 5}, + [142] = {.lex_state = 2, .external_lex_state = 5}, + [143] = {.lex_state = 0, .external_lex_state = 2}, + [144] = {.lex_state = 0, .external_lex_state = 2}, + [145] = {.lex_state = 2, .external_lex_state = 5}, + [146] = {.lex_state = 0, .external_lex_state = 7}, + [147] = {.lex_state = 0, .external_lex_state = 2}, + [148] = {.lex_state = 0, .external_lex_state = 2}, + [149] = {.lex_state = 0, .external_lex_state = 3}, + [150] = {.lex_state = 0, .external_lex_state = 7}, + [151] = {.lex_state = 2, .external_lex_state = 5}, + [152] = {.lex_state = 0}, + [153] = {.lex_state = 0, .external_lex_state = 2}, + [154] = {.lex_state = 13, .external_lex_state = 2}, + [155] = {.lex_state = 0, .external_lex_state = 2}, + [156] = {.lex_state = 12}, + [157] = {.lex_state = 0, .external_lex_state = 2}, + [158] = {.lex_state = 0, .external_lex_state = 7}, + [159] = {.lex_state = 0, .external_lex_state = 7}, [160] = {.lex_state = 0}, - [161] = {.lex_state = 3, .external_lex_state = 2}, - [162] = {.lex_state = 0}, - [163] = {.lex_state = 0}, - [164] = {.lex_state = 0}, - [165] = {.lex_state = 0}, - [166] = {.lex_state = 12}, - [167] = {.lex_state = 11}, - [168] = {.lex_state = 22}, - [169] = {.lex_state = 23, .external_lex_state = 2}, - [170] = {.lex_state = 23, .external_lex_state = 2}, - [171] = {.lex_state = 0}, + [161] = {.lex_state = 13, .external_lex_state = 2}, + [162] = {.lex_state = 13}, + [163] = {.lex_state = 13, .external_lex_state = 2}, + [164] = {.lex_state = 0, .external_lex_state = 2}, + [165] = {.lex_state = 0, .external_lex_state = 7}, + [166] = {.lex_state = 13}, + [167] = {.lex_state = 13, .external_lex_state = 8}, + [168] = {.lex_state = 3, .external_lex_state = 2}, + [169] = {.lex_state = 0}, + [170] = {.lex_state = 0}, + [171] = {.lex_state = 13, .external_lex_state = 8}, [172] = {.lex_state = 0}, - [173] = {.lex_state = 23, .external_lex_state = 2}, - [174] = {.lex_state = 23, .external_lex_state = 2}, - [175] = {.lex_state = 23, .external_lex_state = 2}, - [176] = {.lex_state = 11}, - [177] = {.lex_state = 23, .external_lex_state = 2}, - [178] = {.lex_state = 0, .external_lex_state = 2}, - [179] = {.lex_state = 12}, - [180] = {.lex_state = 11}, - [181] = {.lex_state = 23, .external_lex_state = 2}, - [182] = {.lex_state = 0, .external_lex_state = 2}, - [183] = {.lex_state = 23, .external_lex_state = 2}, - [184] = {.lex_state = 0, .external_lex_state = 2}, - [185] = {.lex_state = 23, .external_lex_state = 2}, - [186] = {.lex_state = 23, .external_lex_state = 2}, - [187] = {.lex_state = 23, .external_lex_state = 2}, - [188] = {.lex_state = 23, .external_lex_state = 2}, - [189] = {.lex_state = 23, .external_lex_state = 2}, - [190] = {.lex_state = 23, .external_lex_state = 2}, - [191] = {.lex_state = 23, .external_lex_state = 2}, - [192] = {.lex_state = 12}, - [193] = {.lex_state = 11}, - [194] = {.lex_state = 23, .external_lex_state = 2}, - [195] = {.lex_state = 23, .external_lex_state = 2}, - [196] = {.lex_state = 11}, - [197] = {.lex_state = 23, .external_lex_state = 2}, - [198] = {.lex_state = 12}, - [199] = {.lex_state = 23, .external_lex_state = 2}, - [200] = {.lex_state = 23, .external_lex_state = 2}, - [201] = {.lex_state = 23, .external_lex_state = 2}, - [202] = {.lex_state = 11}, - [203] = {.lex_state = 12}, - [204] = {.lex_state = 11}, - [205] = {.lex_state = 23, .external_lex_state = 2}, - [206] = {.lex_state = 23, .external_lex_state = 2}, - [207] = {.lex_state = 23, .external_lex_state = 2}, - [208] = {.lex_state = 12}, - [209] = {.lex_state = 23, .external_lex_state = 2}, - [210] = {.lex_state = 23, .external_lex_state = 2}, - [211] = {.lex_state = 23, .external_lex_state = 2}, - [212] = {.lex_state = 23, .external_lex_state = 2}, - [213] = {.lex_state = 0, .external_lex_state = 2}, - [214] = {.lex_state = 23, .external_lex_state = 2}, - [215] = {.lex_state = 23, .external_lex_state = 2}, - [216] = {.lex_state = 12}, - [217] = {.lex_state = 0, .external_lex_state = 2}, - [218] = {.lex_state = 0}, - [219] = {.lex_state = 0}, - [220] = {.lex_state = 0}, - [221] = {.lex_state = 22}, - [222] = {.lex_state = 22}, - [223] = {.lex_state = 4}, - [224] = {.lex_state = 6}, - [225] = {.lex_state = 4}, - [226] = {.lex_state = 22}, - [227] = {.lex_state = 6}, - [228] = {.lex_state = 22}, - [229] = {.lex_state = 22}, - [230] = {.lex_state = 4}, - [231] = {.lex_state = 6}, - [232] = {.lex_state = 6}, - [233] = {.lex_state = 5}, - [234] = {.lex_state = 3, .external_lex_state = 2}, - [235] = {.lex_state = 4}, - [236] = {.lex_state = 0}, - [237] = {.lex_state = 22}, - [238] = {.lex_state = 5}, - [239] = {.lex_state = 5}, - [240] = {.lex_state = 5}, - [241] = {.lex_state = 22}, - [242] = {.lex_state = 22}, - [243] = {.lex_state = 4}, - [244] = {.lex_state = 6}, - [245] = {.lex_state = 4}, - [246] = {.lex_state = 6}, - [247] = {.lex_state = 6}, - [248] = {.lex_state = 3, .external_lex_state = 2}, + [173] = {.lex_state = 13, .external_lex_state = 2}, + [174] = {.lex_state = 0, .external_lex_state = 7}, + [175] = {.lex_state = 12}, + [176] = {.lex_state = 3, .external_lex_state = 2}, + [177] = {.lex_state = 0, .external_lex_state = 7}, + [178] = {.lex_state = 0}, + [179] = {.lex_state = 13, .external_lex_state = 8}, + [180] = {.lex_state = 0}, + [181] = {.lex_state = 0}, + [182] = {.lex_state = 0}, + [183] = {.lex_state = 13, .external_lex_state = 8}, + [184] = {.lex_state = 13, .external_lex_state = 8}, + [185] = {.lex_state = 13, .external_lex_state = 2}, + [186] = {.lex_state = 13, .external_lex_state = 8}, + [187] = {.lex_state = 0, .external_lex_state = 7}, + [188] = {.lex_state = 13, .external_lex_state = 8}, + [189] = {.lex_state = 13, .external_lex_state = 2}, + [190] = {.lex_state = 13, .external_lex_state = 8}, + [191] = {.lex_state = 13, .external_lex_state = 8}, + [192] = {.lex_state = 13, .external_lex_state = 2}, + [193] = {.lex_state = 3, .external_lex_state = 2}, + [194] = {.lex_state = 3, .external_lex_state = 2}, + [195] = {.lex_state = 0}, + [196] = {.lex_state = 13, .external_lex_state = 2}, + [197] = {.lex_state = 0, .external_lex_state = 7}, + [198] = {.lex_state = 13, .external_lex_state = 2}, + [199] = {.lex_state = 13, .external_lex_state = 2}, + [200] = {.lex_state = 0, .external_lex_state = 9}, + [201] = {.lex_state = 13, .external_lex_state = 2}, + [202] = {.lex_state = 13, .external_lex_state = 2}, + [203] = {.lex_state = 0, .external_lex_state = 9}, + [204] = {.lex_state = 13, .external_lex_state = 2}, + [205] = {.lex_state = 13, .external_lex_state = 2}, + [206] = {.lex_state = 13, .external_lex_state = 2}, + [207] = {.lex_state = 13, .external_lex_state = 2}, + [208] = {.lex_state = 13, .external_lex_state = 2}, + [209] = {.lex_state = 13, .external_lex_state = 2}, + [210] = {.lex_state = 0, .external_lex_state = 9}, + [211] = {.lex_state = 0, .external_lex_state = 9}, + [212] = {.lex_state = 13, .external_lex_state = 2}, + [213] = {.lex_state = 13, .external_lex_state = 2}, + [214] = {.lex_state = 13, .external_lex_state = 2}, + [215] = {.lex_state = 13, .external_lex_state = 2}, + [216] = {.lex_state = 0, .external_lex_state = 9}, + [217] = {.lex_state = 0, .external_lex_state = 7}, + [218] = {.lex_state = 0, .external_lex_state = 9}, + [219] = {.lex_state = 0, .external_lex_state = 2}, + [220] = {.lex_state = 13, .external_lex_state = 2}, + [221] = {.lex_state = 0, .external_lex_state = 9}, + [222] = {.lex_state = 0, .external_lex_state = 2}, + [223] = {.lex_state = 0, .external_lex_state = 9}, + [224] = {.lex_state = 0, .external_lex_state = 9}, + [225] = {.lex_state = 0}, + [226] = {.lex_state = 0}, + [227] = {.lex_state = 0, .external_lex_state = 2}, + [228] = {.lex_state = 0, .external_lex_state = 9}, + [229] = {.lex_state = 13, .external_lex_state = 2}, + [230] = {.lex_state = 0, .external_lex_state = 7}, + [231] = {.lex_state = 0}, + [232] = {.lex_state = 13, .external_lex_state = 2}, + [233] = {.lex_state = 12}, + [234] = {.lex_state = 13, .external_lex_state = 2}, + [235] = {.lex_state = 0, .external_lex_state = 9}, + [236] = {.lex_state = 0, .external_lex_state = 2}, + [237] = {.lex_state = 13, .external_lex_state = 2}, + [238] = {.lex_state = 0, .external_lex_state = 2}, + [239] = {.lex_state = 13, .external_lex_state = 2}, + [240] = {.lex_state = 13, .external_lex_state = 2}, + [241] = {.lex_state = 13, .external_lex_state = 2}, + [242] = {.lex_state = 0, .external_lex_state = 7}, + [243] = {.lex_state = 0, .external_lex_state = 7}, + [244] = {.lex_state = 13, .external_lex_state = 2}, + [245] = {.lex_state = 13, .external_lex_state = 2}, + [246] = {.lex_state = 13, .external_lex_state = 2}, + [247] = {.lex_state = 13, .external_lex_state = 2}, + [248] = {.lex_state = 0}, [249] = {.lex_state = 0}, - [250] = {.lex_state = 0}, - [251] = {.lex_state = 0}, - [252] = {.lex_state = 0}, - [253] = {.lex_state = 5}, - [254] = {.lex_state = 5}, - [255] = {.lex_state = 0}, + [250] = {.lex_state = 0, .external_lex_state = 10}, + [251] = {.lex_state = 0, .external_lex_state = 10}, + [252] = {.lex_state = 12}, + [253] = {.lex_state = 3, .external_lex_state = 2}, + [254] = {.lex_state = 0, .external_lex_state = 10}, + [255] = {.lex_state = 12}, [256] = {.lex_state = 0}, [257] = {.lex_state = 0}, - [258] = {.lex_state = 0}, - [259] = {.lex_state = 0}, - [260] = {.lex_state = 4}, - [261] = {.lex_state = 0}, - [262] = {.lex_state = 0}, - [263] = {.lex_state = 0}, - [264] = {.lex_state = 0}, + [258] = {.lex_state = 0, .external_lex_state = 10}, + [259] = {.lex_state = 0, .external_lex_state = 10}, + [260] = {.lex_state = 12}, + [261] = {.lex_state = 12}, + [262] = {.lex_state = 3, .external_lex_state = 2}, + [263] = {.lex_state = 12}, + [264] = {.lex_state = 12}, [265] = {.lex_state = 0}, - [266] = {.lex_state = 22}, + [266] = {.lex_state = 12}, [267] = {.lex_state = 0}, - [268] = {.lex_state = 0}, + [268] = {.lex_state = 12}, [269] = {.lex_state = 0}, [270] = {.lex_state = 0}, - [271] = {.lex_state = 22}, + [271] = {.lex_state = 0}, [272] = {.lex_state = 0}, - [273] = {.lex_state = 5}, - [274] = {.lex_state = 0}, + [273] = {.lex_state = 12}, + [274] = {.lex_state = 0, .external_lex_state = 10}, [275] = {.lex_state = 0}, [276] = {.lex_state = 0}, [277] = {.lex_state = 0}, - [278] = {.lex_state = 0}, - [279] = {.lex_state = 0}, + [278] = {.lex_state = 0, .external_lex_state = 10}, + [279] = {.lex_state = 0, .external_lex_state = 10}, [280] = {.lex_state = 0}, [281] = {.lex_state = 0}, - [282] = {.lex_state = 22}, - [283] = {.lex_state = 22}, - [284] = {.lex_state = 22}, - [285] = {.lex_state = 22}, - [286] = {.lex_state = 22}, - [287] = {.lex_state = 22}, - [288] = {.lex_state = 23, .external_lex_state = 2}, + [282] = {.lex_state = 0}, + [283] = {.lex_state = 0}, + [284] = {.lex_state = 0, .external_lex_state = 10}, + [285] = {.lex_state = 0}, + [286] = {.lex_state = 13, .external_lex_state = 8}, + [287] = {.lex_state = 0}, + [288] = {.lex_state = 12}, [289] = {.lex_state = 0}, - [290] = {.lex_state = 0}, + [290] = {.lex_state = 0, .external_lex_state = 10}, [291] = {.lex_state = 0}, [292] = {.lex_state = 0}, - [293] = {.lex_state = 22}, + [293] = {.lex_state = 0}, [294] = {.lex_state = 0}, - [295] = {.lex_state = 0}, - [296] = {.lex_state = 0}, - [297] = {.lex_state = 0}, - [298] = {.lex_state = 0}, - [299] = {.lex_state = 0}, - [300] = {.lex_state = 0}, + [295] = {.lex_state = 12}, + [296] = {.lex_state = 12}, + [297] = {.lex_state = 0, .external_lex_state = 10}, + [298] = {.lex_state = 12}, + [299] = {.lex_state = 12}, + [300] = {.lex_state = 12}, [301] = {.lex_state = 0}, - [302] = {.lex_state = 0, .external_lex_state = 2}, - [303] = {.lex_state = 0}, + [302] = {.lex_state = 0}, + [303] = {.lex_state = 13, .external_lex_state = 2}, [304] = {.lex_state = 0}, - [305] = {.lex_state = 0}, - [306] = {.lex_state = 0, .external_lex_state = 2}, - [307] = {.lex_state = 0}, - [308] = {.lex_state = 0}, + [305] = {.lex_state = 12}, + [306] = {.lex_state = 12}, + [307] = {.lex_state = 12}, + [308] = {.lex_state = 12}, [309] = {.lex_state = 0}, [310] = {.lex_state = 0}, - [311] = {.lex_state = 0, .external_lex_state = 2}, - [312] = {.lex_state = 0, .external_lex_state = 2}, - [313] = {.lex_state = 0}, - [314] = {.lex_state = 0, .external_lex_state = 2}, - [315] = {.lex_state = 22}, - [316] = {.lex_state = 0}, + [311] = {.lex_state = 12}, + [312] = {.lex_state = 0}, + [313] = {.lex_state = 12}, + [314] = {.lex_state = 0}, + [315] = {.lex_state = 0}, + [316] = {.lex_state = 0, .external_lex_state = 2}, [317] = {.lex_state = 0}, [318] = {.lex_state = 0}, - [319] = {.lex_state = 0, .external_lex_state = 2}, + [319] = {.lex_state = 0}, [320] = {.lex_state = 0}, [321] = {.lex_state = 0}, [322] = {.lex_state = 0}, [323] = {.lex_state = 0}, [324] = {.lex_state = 0}, - [325] = {.lex_state = 0, .external_lex_state = 2}, - [326] = {.lex_state = 0, .external_lex_state = 2}, + [325] = {.lex_state = 0}, + [326] = {.lex_state = 0}, [327] = {.lex_state = 0}, - [328] = {.lex_state = 0}, - [329] = {.lex_state = 0}, - [330] = {.lex_state = 0}, - [331] = {.lex_state = 0}, - [332] = {.lex_state = 0, .external_lex_state = 2}, - [333] = {.lex_state = 0, .external_lex_state = 2}, + [328] = {.lex_state = 0, .external_lex_state = 2}, + [329] = {.lex_state = 0, .external_lex_state = 2}, + [330] = {.lex_state = 12}, + [331] = {.lex_state = 0, .external_lex_state = 2}, + [332] = {.lex_state = 0}, + [333] = {.lex_state = 0}, [334] = {.lex_state = 0}, + [335] = {.lex_state = 0}, + [336] = {.lex_state = 0}, + [337] = {.lex_state = 0}, + [338] = {.lex_state = 0}, + [339] = {.lex_state = 0}, + [340] = {.lex_state = 0}, + [341] = {.lex_state = 0, .external_lex_state = 2}, + [342] = {.lex_state = 0}, + [343] = {.lex_state = 0, .external_lex_state = 2}, + [344] = {.lex_state = 0}, + [345] = {.lex_state = 0}, + [346] = {.lex_state = 0, .external_lex_state = 2}, + [347] = {.lex_state = 0, .external_lex_state = 2}, + [348] = {.lex_state = 12}, + [349] = {.lex_state = 0}, + [350] = {.lex_state = 0}, + [351] = {.lex_state = 0, .external_lex_state = 2}, + [352] = {.lex_state = 0}, + [353] = {.lex_state = 0, .external_lex_state = 2}, + [354] = {.lex_state = 0}, + [355] = {.lex_state = 0}, + [356] = {.lex_state = 0}, + [357] = {.lex_state = 0}, + [358] = {.lex_state = 0}, + [359] = {.lex_state = 0}, + [360] = {.lex_state = 0}, + [361] = {.lex_state = 0}, + [362] = {.lex_state = 0}, }; enum { ts_external_token__indent = 0, ts_external_token__dedent = 1, ts_external_token__newline = 2, + ts_external_token_string_start = 3, + ts_external_token_string_end = 4, + ts_external_token_string_body = 5, + ts_external_token_raw_string_start = 6, + ts_external_token_raw_string_end = 7, + ts_external_token_command_start = 8, + ts_external_token_command_end = 9, }; static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = { [ts_external_token__indent] = sym__indent, [ts_external_token__dedent] = sym__dedent, [ts_external_token__newline] = sym__newline, + [ts_external_token_string_start] = sym_string_start, + [ts_external_token_string_end] = sym_string_end, + [ts_external_token_string_body] = sym_string_body, + [ts_external_token_raw_string_start] = sym_raw_string_start, + [ts_external_token_raw_string_end] = sym_raw_string_end, + [ts_external_token_command_start] = sym_command_start, + [ts_external_token_command_end] = sym_command_end, }; -static const bool ts_external_scanner_states[5][EXTERNAL_TOKEN_COUNT] = { +static const bool ts_external_scanner_states[11][EXTERNAL_TOKEN_COUNT] = { [1] = { [ts_external_token__indent] = true, [ts_external_token__dedent] = true, [ts_external_token__newline] = true, + [ts_external_token_string_start] = true, + [ts_external_token_string_end] = true, + [ts_external_token_string_body] = true, + [ts_external_token_raw_string_start] = true, + [ts_external_token_raw_string_end] = true, + [ts_external_token_command_start] = true, + [ts_external_token_command_end] = true, }, [2] = { [ts_external_token__newline] = true, }, [3] = { + [ts_external_token_string_start] = true, + [ts_external_token_raw_string_start] = true, + [ts_external_token_command_start] = true, + }, + [4] = { + [ts_external_token__newline] = true, + [ts_external_token_string_start] = true, + [ts_external_token_raw_string_start] = true, + }, + [5] = { [ts_external_token__dedent] = true, [ts_external_token__newline] = true, }, - [4] = { + [6] = { [ts_external_token__indent] = true, [ts_external_token__newline] = true, }, + [7] = { + [ts_external_token_string_start] = true, + [ts_external_token_raw_string_start] = true, + }, + [8] = { + [ts_external_token_string_body] = true, + [ts_external_token_command_end] = true, + }, + [9] = { + [ts_external_token_string_end] = true, + [ts_external_token_string_body] = true, + }, + [10] = { + [ts_external_token_string_body] = true, + [ts_external_token_raw_string_end] = true, + }, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -2434,34 +2385,35 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_shebang_token1] = ACTIONS(1), [aux_sym_comment_token1] = ACTIONS(1), [anon_sym_LBRACE_LBRACE] = ACTIONS(1), - [aux_sym_string_token1] = ACTIONS(1), - [anon_sym_SQUOTE_SQUOTE_SQUOTE] = ACTIONS(1), - [anon_sym_DQUOTE] = ACTIONS(1), - [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1), - [sym_string_escape] = ACTIONS(1), - [anon_sym_BQUOTE] = ACTIONS(1), - [anon_sym_BQUOTE_BQUOTE_BQUOTE] = ACTIONS(1), + [sym_escape_sequence] = ACTIONS(1), [sym__indent] = ACTIONS(1), [sym__dedent] = ACTIONS(1), [sym__newline] = ACTIONS(1), + [sym_string_start] = ACTIONS(1), + [sym_string_end] = ACTIONS(1), + [sym_string_body] = ACTIONS(1), + [sym_raw_string_start] = ACTIONS(1), + [sym_raw_string_end] = ACTIONS(1), + [sym_command_start] = ACTIONS(1), + [sym_command_end] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(317), - [sym_item] = STATE(2), - [sym_eol] = STATE(101), - [sym_alias] = STATE(101), - [sym_assignment] = STATE(101), - [sym_export] = STATE(101), - [sym_import] = STATE(101), - [sym_module] = STATE(101), - [sym_setting] = STATE(101), - [sym_attribute] = STATE(145), - [sym_recipe] = STATE(101), - [sym_recipe_header] = STATE(306), - [sym_shebang] = STATE(5), - [sym_comment] = STATE(94), - [aux_sym_source_file_repeat1] = STATE(2), - [aux_sym_recipe_repeat1] = STATE(145), + [sym_source_file] = STATE(349), + [sym_item] = STATE(5), + [sym_eol] = STATE(75), + [sym_alias] = STATE(75), + [sym_assignment] = STATE(75), + [sym_export] = STATE(75), + [sym_import] = STATE(75), + [sym_module] = STATE(75), + [sym_setting] = STATE(75), + [sym_attribute] = STATE(156), + [sym_recipe] = STATE(75), + [sym_recipe_header] = STATE(347), + [sym_shebang] = STATE(4), + [sym_comment] = STATE(95), + [aux_sym_source_file_repeat1] = STATE(5), + [aux_sym_recipe_repeat1] = STATE(156), [ts_builtin_sym_end] = ACTIONS(3), [sym_identifier] = ACTIONS(5), [anon_sym_alias] = ACTIONS(7), @@ -2501,17 +2453,17 @@ static const uint16_t ts_small_parse_table[] = { ts_builtin_sym_end, ACTIONS(29), 1, aux_sym_comment_token1, - STATE(94), 1, + STATE(95), 1, sym_comment, - STATE(306), 1, + STATE(347), 1, sym_recipe_header, STATE(3), 2, sym_item, aux_sym_source_file_repeat1, - STATE(145), 2, + STATE(156), 2, sym_attribute, aux_sym_recipe_repeat1, - STATE(101), 8, + STATE(75), 8, sym_eol, sym_alias, sym_assignment, @@ -2543,17 +2495,17 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_comment_token1, ACTIONS(60), 1, sym__newline, - STATE(94), 1, + STATE(95), 1, sym_comment, - STATE(306), 1, + STATE(347), 1, sym_recipe_header, STATE(3), 2, sym_item, aux_sym_source_file_repeat1, - STATE(145), 2, + STATE(156), 2, sym_attribute, aux_sym_recipe_repeat1, - STATE(101), 8, + STATE(75), 8, sym_eol, sym_alias, sym_assignment, @@ -2585,17 +2537,17 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_comment_token1, ACTIONS(63), 1, ts_builtin_sym_end, - STATE(94), 1, + STATE(95), 1, sym_comment, - STATE(306), 1, + STATE(347), 1, sym_recipe_header, - STATE(3), 2, + STATE(2), 2, sym_item, aux_sym_source_file_repeat1, - STATE(145), 2, + STATE(156), 2, sym_attribute, aux_sym_recipe_repeat1, - STATE(101), 8, + STATE(75), 8, sym_eol, sym_alias, sym_assignment, @@ -2623,21 +2575,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AT, ACTIONS(25), 1, sym__newline, - ACTIONS(27), 1, - ts_builtin_sym_end, ACTIONS(29), 1, aux_sym_comment_token1, - STATE(94), 1, + ACTIONS(63), 1, + ts_builtin_sym_end, + STATE(95), 1, sym_comment, - STATE(306), 1, + STATE(347), 1, sym_recipe_header, - STATE(4), 2, + STATE(3), 2, sym_item, aux_sym_source_file_repeat1, - STATE(145), 2, + STATE(156), 2, sym_attribute, aux_sym_recipe_repeat1, - STATE(101), 8, + STATE(75), 8, sym_eol, sym_alias, sym_assignment, @@ -2646,1808 +2598,1473 @@ static const uint16_t ts_small_parse_table[] = { sym_module, sym_setting, sym_recipe, - [232] = 2, - ACTIONS(65), 5, - anon_sym_if, + [232] = 13, + ACTIONS(65), 1, sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(67), 17, - anon_sym_COMMA, - anon_sym_RBRACK, + ACTIONS(67), 1, anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_LBRACE, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_EQ_TILDE, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_DOLLAR, - anon_sym_STAR, - anon_sym_RBRACE_RBRACE, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [259] = 2, - ACTIONS(69), 5, + ACTIONS(69), 1, anon_sym_if, - sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(71), 17, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_LBRACE, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_EQ_TILDE, + ACTIONS(71), 1, anon_sym_LPAREN, + ACTIONS(73), 1, anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_DOLLAR, - anon_sym_STAR, - anon_sym_RBRACE_RBRACE, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [286] = 2, - ACTIONS(73), 5, - anon_sym_if, - sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(75), 17, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_LBRACE, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_EQ_TILDE, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_DOLLAR, - anon_sym_STAR, - anon_sym_RBRACE_RBRACE, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [313] = 17, + ACTIONS(75), 1, + sym_string_start, ACTIONS(77), 1, - sym_identifier, + sym_raw_string_start, ACTIONS(79), 1, - anon_sym_SLASH, - ACTIONS(81), 1, - anon_sym_if, - ACTIONS(83), 1, - anon_sym_LPAREN, - ACTIONS(85), 1, - anon_sym_RPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(112), 1, + sym_command_start, + STATE(132), 1, sym__expression_inner, - STATE(236), 1, + STATE(256), 1, sym_expression, - STATE(320), 1, + STATE(315), 1, sym_sequence, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(47), 2, + STATE(110), 2, sym_if_expression, sym_value, - STATE(10), 3, + STATE(68), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [369] = 2, - ACTIONS(99), 5, - anon_sym_if, - sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(101), 16, - anon_sym_COMMA, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_LBRACE, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_EQ_TILDE, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_DOLLAR, - anon_sym_STAR, - anon_sym_RBRACE_RBRACE, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [395] = 2, - ACTIONS(103), 5, - anon_sym_if, + [277] = 13, + ACTIONS(81), 1, sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(105), 16, - anon_sym_COMMA, + ACTIONS(84), 1, anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_LBRACE, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_EQ_TILDE, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_DOLLAR, - anon_sym_STAR, - anon_sym_RBRACE_RBRACE, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [421] = 2, - ACTIONS(107), 5, + ACTIONS(87), 1, anon_sym_if, - sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(109), 16, - anon_sym_COMMA, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_LBRACE, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_EQ_TILDE, + ACTIONS(90), 1, anon_sym_LPAREN, + ACTIONS(93), 1, anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_DOLLAR, - anon_sym_STAR, - anon_sym_RBRACE_RBRACE, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [447] = 2, - ACTIONS(111), 5, - anon_sym_if, + ACTIONS(95), 1, + sym_string_start, + ACTIONS(98), 1, + sym_raw_string_start, + ACTIONS(101), 1, + sym_command_start, + STATE(7), 1, + aux_sym_dependency_expression_repeat1, + STATE(131), 1, + sym__expression_inner, + STATE(149), 1, + sym_expression, + STATE(137), 2, + sym_if_expression, + sym_value, + STATE(136), 5, + sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, + sym_external_command, + [322] = 13, + ACTIONS(104), 1, sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(113), 16, - anon_sym_COMMA, + ACTIONS(106), 1, anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_LBRACE, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_EQ_TILDE, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_DOLLAR, - anon_sym_STAR, - anon_sym_RBRACE_RBRACE, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [473] = 17, - ACTIONS(81), 1, + ACTIONS(108), 1, anon_sym_if, - ACTIONS(83), 1, + ACTIONS(110), 1, anon_sym_LPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - ACTIONS(115), 1, - sym_identifier, - ACTIONS(117), 1, - anon_sym_SLASH, - ACTIONS(119), 1, + ACTIONS(112), 1, anon_sym_RPAREN, - STATE(17), 1, + ACTIONS(114), 1, + sym_string_start, + ACTIONS(116), 1, + sym_raw_string_start, + ACTIONS(118), 1, + sym_command_start, + STATE(7), 1, aux_sym_dependency_expression_repeat1, - STATE(78), 1, + STATE(131), 1, sym__expression_inner, - STATE(105), 1, + STATE(149), 1, sym_expression, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(47), 2, + STATE(137), 2, sym_if_expression, sym_value, - STATE(10), 3, + STATE(136), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [529] = 2, - ACTIONS(121), 5, - anon_sym_if, + [367] = 13, + ACTIONS(104), 1, sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(123), 16, - anon_sym_COMMA, + ACTIONS(106), 1, anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_LBRACE, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_EQ_TILDE, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_DOLLAR, - anon_sym_STAR, - anon_sym_RBRACE_RBRACE, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [555] = 2, - ACTIONS(125), 5, + ACTIONS(108), 1, anon_sym_if, - sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(127), 16, - anon_sym_COMMA, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_LBRACE, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_EQ_TILDE, + ACTIONS(110), 1, anon_sym_LPAREN, + ACTIONS(114), 1, + sym_string_start, + ACTIONS(116), 1, + sym_raw_string_start, + ACTIONS(118), 1, + sym_command_start, + ACTIONS(120), 1, anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_DOLLAR, - anon_sym_STAR, - anon_sym_RBRACE_RBRACE, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [581] = 17, - ACTIONS(81), 1, - anon_sym_if, - ACTIONS(83), 1, - anon_sym_LPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - ACTIONS(115), 1, - sym_identifier, - ACTIONS(117), 1, - anon_sym_SLASH, - ACTIONS(129), 1, - anon_sym_RPAREN, - STATE(21), 1, + STATE(8), 1, aux_sym_dependency_expression_repeat1, - STATE(78), 1, + STATE(131), 1, sym__expression_inner, - STATE(105), 1, + STATE(149), 1, sym_expression, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(47), 2, + STATE(137), 2, sym_if_expression, sym_value, - STATE(10), 3, + STATE(136), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [637] = 17, - ACTIONS(77), 1, + [412] = 13, + ACTIONS(65), 1, sym_identifier, - ACTIONS(79), 1, + ACTIONS(67), 1, anon_sym_SLASH, - ACTIONS(81), 1, + ACTIONS(69), 1, anon_sym_if, - ACTIONS(83), 1, + ACTIONS(71), 1, anon_sym_LPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - ACTIONS(131), 1, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(79), 1, + sym_command_start, + ACTIONS(122), 1, anon_sym_RPAREN, - STATE(112), 1, + STATE(132), 1, sym__expression_inner, - STATE(236), 1, + STATE(256), 1, sym_expression, - STATE(289), 1, + STATE(356), 1, sym_sequence, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(47), 2, + STATE(110), 2, sym_if_expression, sym_value, - STATE(10), 3, + STATE(68), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [693] = 17, - ACTIONS(77), 1, + [457] = 13, + ACTIONS(65), 1, sym_identifier, - ACTIONS(79), 1, + ACTIONS(67), 1, anon_sym_SLASH, - ACTIONS(81), 1, + ACTIONS(69), 1, anon_sym_if, - ACTIONS(83), 1, + ACTIONS(71), 1, anon_sym_LPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - ACTIONS(133), 1, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(79), 1, + sym_command_start, + ACTIONS(124), 1, anon_sym_RPAREN, - STATE(112), 1, + STATE(132), 1, sym__expression_inner, - STATE(236), 1, + STATE(256), 1, sym_expression, - STATE(300), 1, + STATE(338), 1, sym_sequence, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(47), 2, + STATE(110), 2, sym_if_expression, sym_value, - STATE(10), 3, + STATE(68), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [749] = 2, - ACTIONS(135), 5, - anon_sym_if, + [502] = 12, + ACTIONS(65), 1, sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(137), 16, - anon_sym_COMMA, + ACTIONS(67), 1, anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_LBRACE, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_EQ_TILDE, + ACTIONS(69), 1, + anon_sym_if, + ACTIONS(71), 1, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_DOLLAR, - anon_sym_STAR, - anon_sym_RBRACE_RBRACE, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [775] = 17, - ACTIONS(139), 1, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(79), 1, + sym_command_start, + STATE(132), 1, + sym__expression_inner, + STATE(233), 1, + sym_expression, + STATE(298), 1, + sym_condition, + STATE(110), 2, + sym_if_expression, + sym_value, + STATE(68), 5, + sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, + sym_external_command, + [544] = 12, + ACTIONS(65), 1, sym_identifier, - ACTIONS(142), 1, + ACTIONS(67), 1, anon_sym_SLASH, - ACTIONS(145), 1, + ACTIONS(69), 1, anon_sym_if, - ACTIONS(148), 1, + ACTIONS(71), 1, anon_sym_LPAREN, - ACTIONS(151), 1, - anon_sym_RPAREN, - ACTIONS(153), 1, - aux_sym_string_token1, - ACTIONS(156), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(159), 1, - anon_sym_DQUOTE, - ACTIONS(162), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(165), 1, - anon_sym_BQUOTE, - ACTIONS(168), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(21), 1, - aux_sym_dependency_expression_repeat1, - STATE(78), 1, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(79), 1, + sym_command_start, + STATE(132), 1, sym__expression_inner, - STATE(105), 1, + STATE(233), 1, sym_expression, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(47), 2, + STATE(307), 1, + sym_condition, + STATE(110), 2, sym_if_expression, sym_value, - STATE(10), 3, + STATE(68), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [831] = 2, - ACTIONS(171), 5, - anon_sym_if, + [586] = 12, + ACTIONS(65), 1, sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(173), 16, - anon_sym_COMMA, + ACTIONS(67), 1, anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_LBRACE, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_EQ_TILDE, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_DOLLAR, - anon_sym_STAR, - anon_sym_RBRACE_RBRACE, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [857] = 2, - ACTIONS(175), 5, + ACTIONS(69), 1, anon_sym_if, + ACTIONS(71), 1, + anon_sym_LPAREN, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(79), 1, + sym_command_start, + STATE(132), 1, + sym__expression_inner, + STATE(233), 1, + sym_expression, + STATE(300), 1, + sym_condition, + STATE(110), 2, + sym_if_expression, + sym_value, + STATE(68), 5, + sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, + sym_external_command, + [628] = 12, + ACTIONS(65), 1, sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(177), 16, - anon_sym_COMMA, + ACTIONS(67), 1, anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_LBRACE, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_EQ_TILDE, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_DOLLAR, - anon_sym_STAR, - anon_sym_RBRACE_RBRACE, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [883] = 4, - ACTIONS(183), 1, - anon_sym_else, - STATE(31), 1, - aux_sym_if_expression_repeat1, - ACTIONS(179), 5, + ACTIONS(69), 1, anon_sym_if, + ACTIONS(71), 1, + anon_sym_LPAREN, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(79), 1, + sym_command_start, + STATE(132), 1, + sym__expression_inner, + STATE(233), 1, + sym_expression, + STATE(299), 1, + sym_condition, + STATE(110), 2, + sym_if_expression, + sym_value, + STATE(68), 5, + sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, + sym_external_command, + [670] = 12, + ACTIONS(65), 1, sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(181), 13, - anon_sym_COMMA, + ACTIONS(67), 1, anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_LBRACE, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_EQ_TILDE, + ACTIONS(69), 1, + anon_sym_if, + ACTIONS(71), 1, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_RBRACE_RBRACE, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [912] = 16, + ACTIONS(75), 1, + sym_string_start, ACTIONS(77), 1, - sym_identifier, + sym_raw_string_start, ACTIONS(79), 1, + sym_command_start, + STATE(132), 1, + sym__expression_inner, + STATE(233), 1, + sym_expression, + STATE(311), 1, + sym_condition, + STATE(110), 2, + sym_if_expression, + sym_value, + STATE(68), 5, + sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, + sym_external_command, + [712] = 12, + ACTIONS(65), 1, + sym_identifier, + ACTIONS(67), 1, anon_sym_SLASH, - ACTIONS(81), 1, + ACTIONS(69), 1, anon_sym_if, - ACTIONS(83), 1, + ACTIONS(71), 1, anon_sym_LPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(112), 1, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(79), 1, + sym_command_start, + STATE(132), 1, sym__expression_inner, - STATE(168), 1, + STATE(233), 1, sym_expression, - STATE(284), 1, + STATE(308), 1, sym_condition, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(47), 2, + STATE(110), 2, sym_if_expression, sym_value, - STATE(10), 3, + STATE(68), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [965] = 16, - ACTIONS(77), 1, + [754] = 12, + ACTIONS(65), 1, sym_identifier, - ACTIONS(79), 1, + ACTIONS(67), 1, anon_sym_SLASH, - ACTIONS(81), 1, + ACTIONS(69), 1, anon_sym_if, - ACTIONS(83), 1, + ACTIONS(71), 1, anon_sym_LPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(112), 1, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(79), 1, + sym_command_start, + STATE(132), 1, sym__expression_inner, - STATE(168), 1, + STATE(233), 1, sym_expression, - STATE(287), 1, + STATE(305), 1, sym_condition, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(47), 2, + STATE(110), 2, sym_if_expression, sym_value, - STATE(10), 3, + STATE(68), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [1018] = 16, - ACTIONS(77), 1, + [796] = 12, + ACTIONS(65), 1, sym_identifier, - ACTIONS(79), 1, + ACTIONS(67), 1, anon_sym_SLASH, - ACTIONS(81), 1, + ACTIONS(69), 1, anon_sym_if, - ACTIONS(83), 1, + ACTIONS(71), 1, anon_sym_LPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(112), 1, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(79), 1, + sym_command_start, + STATE(132), 1, sym__expression_inner, - STATE(168), 1, + STATE(233), 1, sym_expression, - STATE(282), 1, + STATE(306), 1, sym_condition, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(47), 2, + STATE(110), 2, sym_if_expression, sym_value, - STATE(10), 3, + STATE(68), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [1071] = 16, - ACTIONS(77), 1, + [838] = 11, + ACTIONS(65), 1, sym_identifier, - ACTIONS(79), 1, + ACTIONS(67), 1, anon_sym_SLASH, - ACTIONS(81), 1, + ACTIONS(69), 1, anon_sym_if, - ACTIONS(83), 1, + ACTIONS(71), 1, anon_sym_LPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(112), 1, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(79), 1, + sym_command_start, + STATE(132), 1, sym__expression_inner, - STATE(168), 1, + STATE(342), 1, sym_expression, - STATE(285), 1, - sym_condition, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(47), 2, + STATE(110), 2, sym_if_expression, sym_value, - STATE(10), 3, + STATE(68), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [1124] = 16, - ACTIONS(77), 1, + [877] = 11, + ACTIONS(126), 1, sym_identifier, - ACTIONS(79), 1, + ACTIONS(128), 1, anon_sym_SLASH, - ACTIONS(81), 1, + ACTIONS(130), 1, anon_sym_if, - ACTIONS(83), 1, + ACTIONS(132), 1, anon_sym_LPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(112), 1, + ACTIONS(134), 1, + sym_string_start, + ACTIONS(136), 1, + sym_raw_string_start, + ACTIONS(138), 1, + sym_command_start, + STATE(270), 1, sym__expression_inner, - STATE(168), 1, + STATE(339), 1, sym_expression, - STATE(283), 1, - sym_condition, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(47), 2, + STATE(271), 2, sym_if_expression, sym_value, - STATE(10), 3, + STATE(272), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [1177] = 4, - ACTIONS(189), 1, - anon_sym_else, - STATE(30), 1, - aux_sym_if_expression_repeat1, - ACTIONS(185), 5, - anon_sym_if, + [916] = 11, + ACTIONS(65), 1, sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(187), 13, - anon_sym_COMMA, + ACTIONS(67), 1, anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_LBRACE, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_EQ_TILDE, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_RBRACE_RBRACE, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [1206] = 4, - ACTIONS(196), 1, - anon_sym_else, - STATE(30), 1, - aux_sym_if_expression_repeat1, - ACTIONS(192), 5, + ACTIONS(69), 1, anon_sym_if, - sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(194), 13, - anon_sym_COMMA, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_LBRACE, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_EQ_TILDE, + ACTIONS(71), 1, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_RBRACE_RBRACE, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [1235] = 16, + ACTIONS(75), 1, + sym_string_start, ACTIONS(77), 1, - sym_identifier, + sym_raw_string_start, ACTIONS(79), 1, - anon_sym_SLASH, - ACTIONS(81), 1, - anon_sym_if, - ACTIONS(83), 1, - anon_sym_LPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(112), 1, + sym_command_start, + STATE(132), 1, sym__expression_inner, - STATE(168), 1, + STATE(321), 1, sym_expression, - STATE(286), 1, - sym_condition, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(47), 2, + STATE(110), 2, sym_if_expression, sym_value, - STATE(10), 3, + STATE(68), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [1288] = 15, - ACTIONS(198), 1, + [955] = 5, + ACTIONS(144), 1, + sym_string_start, + ACTIONS(146), 1, + sym_raw_string_start, + STATE(101), 3, + sym__string, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(140), 5, + sym__newline, + ts_builtin_sym_end, + anon_sym_LBRACK, + anon_sym_AT, + aux_sym_comment_token1, + ACTIONS(142), 6, + anon_sym_alias, + anon_sym_export, + anon_sym_import, + anon_sym_mod, + anon_sym_set, sym_identifier, - ACTIONS(200), 1, + [982] = 11, + ACTIONS(65), 1, + sym_identifier, + ACTIONS(67), 1, anon_sym_SLASH, - ACTIONS(202), 1, + ACTIONS(69), 1, anon_sym_if, - ACTIONS(204), 1, + ACTIONS(71), 1, anon_sym_LPAREN, - ACTIONS(206), 1, - aux_sym_string_token1, - ACTIONS(208), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(210), 1, - anon_sym_DQUOTE, - ACTIONS(212), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(214), 1, - anon_sym_BQUOTE, - ACTIONS(216), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(255), 1, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(79), 1, + sym_command_start, + STATE(132), 1, sym__expression_inner, - STATE(301), 1, + STATE(330), 1, sym_expression, - STATE(256), 2, + STATE(110), 2, sym_if_expression, sym_value, - STATE(258), 2, - sym__backticked, - sym__indented_backticked, - STATE(257), 3, + STATE(68), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [1338] = 15, - ACTIONS(77), 1, + [1021] = 11, + ACTIONS(126), 1, sym_identifier, - ACTIONS(79), 1, + ACTIONS(128), 1, anon_sym_SLASH, - ACTIONS(81), 1, + ACTIONS(130), 1, anon_sym_if, - ACTIONS(83), 1, + ACTIONS(132), 1, anon_sym_LPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(112), 1, + ACTIONS(134), 1, + sym_string_start, + ACTIONS(136), 1, + sym_raw_string_start, + ACTIONS(138), 1, + sym_command_start, + STATE(270), 1, sym__expression_inner, - STATE(293), 1, + STATE(327), 1, sym_expression, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(47), 2, + STATE(271), 2, sym_if_expression, sym_value, - STATE(10), 3, + STATE(272), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [1388] = 15, - ACTIONS(77), 1, + [1060] = 5, + ACTIONS(144), 1, + sym_string_start, + ACTIONS(146), 1, + sym_raw_string_start, + STATE(87), 3, + sym__string, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(148), 5, + sym__newline, + ts_builtin_sym_end, + anon_sym_LBRACK, + anon_sym_AT, + aux_sym_comment_token1, + ACTIONS(150), 6, + anon_sym_alias, + anon_sym_export, + anon_sym_import, + anon_sym_mod, + anon_sym_set, sym_identifier, - ACTIONS(79), 1, + [1087] = 11, + ACTIONS(65), 1, + sym_identifier, + ACTIONS(67), 1, anon_sym_SLASH, - ACTIONS(81), 1, + ACTIONS(69), 1, anon_sym_if, - ACTIONS(83), 1, + ACTIONS(71), 1, anon_sym_LPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(112), 1, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(79), 1, + sym_command_start, + STATE(132), 1, sym__expression_inner, - STATE(292), 1, + STATE(313), 1, sym_expression, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(47), 2, + STATE(110), 2, sym_if_expression, sym_value, - STATE(10), 3, + STATE(68), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [1438] = 15, - ACTIONS(77), 1, + [1126] = 11, + ACTIONS(65), 1, sym_identifier, - ACTIONS(79), 1, + ACTIONS(67), 1, anon_sym_SLASH, - ACTIONS(81), 1, + ACTIONS(69), 1, anon_sym_if, - ACTIONS(83), 1, + ACTIONS(71), 1, anon_sym_LPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(112), 1, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(79), 1, + sym_command_start, + STATE(132), 1, sym__expression_inner, - STATE(316), 1, + STATE(302), 1, sym_expression, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(47), 2, + STATE(110), 2, sym_if_expression, sym_value, - STATE(10), 3, + STATE(68), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [1488] = 2, - ACTIONS(218), 6, - anon_sym_if, - anon_sym_else, - sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(220), 13, - anon_sym_COMMA, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_LBRACE, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_EQ_TILDE, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_RBRACE_RBRACE, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [1512] = 15, - ACTIONS(198), 1, + [1165] = 11, + ACTIONS(126), 1, sym_identifier, - ACTIONS(200), 1, + ACTIONS(128), 1, anon_sym_SLASH, - ACTIONS(202), 1, + ACTIONS(130), 1, anon_sym_if, - ACTIONS(204), 1, + ACTIONS(132), 1, anon_sym_LPAREN, - ACTIONS(206), 1, - aux_sym_string_token1, - ACTIONS(208), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(210), 1, - anon_sym_DQUOTE, - ACTIONS(212), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(214), 1, - anon_sym_BQUOTE, - ACTIONS(216), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(255), 1, + ACTIONS(134), 1, + sym_string_start, + ACTIONS(136), 1, + sym_raw_string_start, + ACTIONS(138), 1, + sym_command_start, + STATE(270), 1, sym__expression_inner, - STATE(321), 1, + STATE(317), 1, sym_expression, - STATE(256), 2, + STATE(271), 2, sym_if_expression, sym_value, - STATE(258), 2, - sym__backticked, - sym__indented_backticked, - STATE(257), 3, + STATE(272), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [1562] = 15, - ACTIONS(222), 1, + [1204] = 11, + ACTIONS(65), 1, sym_identifier, - ACTIONS(224), 1, + ACTIONS(67), 1, anon_sym_SLASH, - ACTIONS(226), 1, + ACTIONS(69), 1, anon_sym_if, - ACTIONS(228), 1, + ACTIONS(71), 1, anon_sym_LPAREN, - ACTIONS(230), 1, - aux_sym_string_token1, - ACTIONS(232), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(234), 1, - anon_sym_DQUOTE, - ACTIONS(236), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(238), 1, - anon_sym_BQUOTE, - ACTIONS(240), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(212), 1, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(79), 1, + sym_command_start, + STATE(132), 1, sym__expression_inner, - STATE(214), 1, + STATE(322), 1, sym_expression, - STATE(205), 2, - sym__backticked, - sym__indented_backticked, - STATE(210), 2, + STATE(110), 2, sym_if_expression, sym_value, - STATE(207), 3, + STATE(68), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [1612] = 15, - ACTIONS(77), 1, + [1243] = 11, + ACTIONS(126), 1, sym_identifier, - ACTIONS(79), 1, + ACTIONS(128), 1, anon_sym_SLASH, - ACTIONS(81), 1, + ACTIONS(130), 1, anon_sym_if, - ACTIONS(83), 1, + ACTIONS(132), 1, anon_sym_LPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(112), 1, + ACTIONS(134), 1, + sym_string_start, + ACTIONS(136), 1, + sym_raw_string_start, + ACTIONS(138), 1, + sym_command_start, + STATE(270), 1, sym__expression_inner, - STATE(278), 1, + STATE(324), 1, sym_expression, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(47), 2, + STATE(271), 2, sym_if_expression, sym_value, - STATE(10), 3, + STATE(272), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [1662] = 2, - ACTIONS(242), 6, - anon_sym_if, - anon_sym_else, - sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(244), 13, - anon_sym_COMMA, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_LBRACE, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_EQ_TILDE, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_RBRACE_RBRACE, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [1686] = 15, - ACTIONS(198), 1, + [1282] = 11, + ACTIONS(65), 1, sym_identifier, - ACTIONS(200), 1, + ACTIONS(67), 1, anon_sym_SLASH, - ACTIONS(202), 1, + ACTIONS(69), 1, anon_sym_if, - ACTIONS(204), 1, + ACTIONS(71), 1, anon_sym_LPAREN, - ACTIONS(206), 1, - aux_sym_string_token1, - ACTIONS(208), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(210), 1, - anon_sym_DQUOTE, - ACTIONS(212), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(214), 1, - anon_sym_BQUOTE, - ACTIONS(216), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(255), 1, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(79), 1, + sym_command_start, + STATE(132), 1, sym__expression_inner, - STATE(331), 1, + STATE(336), 1, sym_expression, - STATE(256), 2, + STATE(110), 2, sym_if_expression, sym_value, - STATE(258), 2, - sym__backticked, - sym__indented_backticked, - STATE(257), 3, + STATE(68), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [1736] = 15, - ACTIONS(77), 1, - sym_identifier, - ACTIONS(79), 1, + [1321] = 11, + ACTIONS(144), 1, + sym_string_start, + ACTIONS(146), 1, + sym_raw_string_start, + ACTIONS(152), 1, + sym_identifier, + ACTIONS(154), 1, anon_sym_SLASH, - ACTIONS(81), 1, + ACTIONS(156), 1, anon_sym_if, - ACTIONS(83), 1, + ACTIONS(158), 1, anon_sym_LPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(112), 1, - sym__expression_inner, - STATE(315), 1, + ACTIONS(160), 1, + sym_command_start, + STATE(205), 1, sym_expression, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(47), 2, + STATE(207), 1, + sym__expression_inner, + STATE(213), 2, sym_if_expression, sym_value, - STATE(10), 3, + STATE(214), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [1786] = 15, - ACTIONS(77), 1, + [1360] = 11, + ACTIONS(65), 1, sym_identifier, - ACTIONS(79), 1, + ACTIONS(67), 1, anon_sym_SLASH, - ACTIONS(81), 1, + ACTIONS(69), 1, anon_sym_if, - ACTIONS(83), 1, + ACTIONS(71), 1, anon_sym_LPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(112), 1, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(79), 1, + sym_command_start, + STATE(132), 1, sym__expression_inner, - STATE(296), 1, + STATE(348), 1, sym_expression, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(47), 2, + STATE(110), 2, sym_if_expression, sym_value, - STATE(10), 3, + STATE(68), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [1836] = 2, - ACTIONS(246), 5, - anon_sym_if, - sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(248), 13, + [1399] = 10, + ACTIONS(164), 1, + aux_sym_shebang_token1, + ACTIONS(166), 1, + anon_sym_LBRACE_LBRACE, + ACTIONS(168), 1, + sym_text, + ACTIONS(170), 1, + sym__dedent, + ACTIONS(172), 1, + sym__newline, + STATE(57), 1, + sym_shebang, + STATE(176), 1, + sym_recipe_line_prefix, + STATE(62), 2, + sym_recipe_line, + aux_sym_recipe_body_repeat1, + STATE(168), 2, + sym_interpolation, + aux_sym_recipe_line_repeat1, + ACTIONS(162), 4, + anon_sym_AT, + anon_sym_AT_DASH, + anon_sym_DASH_AT, + anon_sym_DASH, + [1435] = 1, + ACTIONS(174), 14, anon_sym_COMMA, + anon_sym_RBRACK, anon_sym_SLASH, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_EQ_TILDE, - anon_sym_LPAREN, anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOLLAR, + anon_sym_STAR, anon_sym_RBRACE_RBRACE, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [1859] = 2, - ACTIONS(250), 5, - anon_sym_if, sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(252), 13, + [1452] = 9, + ACTIONS(126), 1, + sym_identifier, + ACTIONS(130), 1, + anon_sym_if, + ACTIONS(132), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + sym_string_start, + ACTIONS(136), 1, + sym_raw_string_start, + ACTIONS(138), 1, + sym_command_start, + STATE(282), 1, + sym__expression_inner, + STATE(271), 2, + sym_if_expression, + sym_value, + STATE(272), 5, + sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, + sym_external_command, + [1485] = 1, + ACTIONS(176), 14, anon_sym_COMMA, + anon_sym_RBRACK, anon_sym_SLASH, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_EQ_TILDE, - anon_sym_LPAREN, anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOLLAR, + anon_sym_STAR, anon_sym_RBRACE_RBRACE, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [1882] = 2, - ACTIONS(254), 5, + sym_identifier, + [1502] = 9, + ACTIONS(104), 1, + sym_identifier, + ACTIONS(108), 1, anon_sym_if, + ACTIONS(110), 1, + anon_sym_LPAREN, + ACTIONS(114), 1, + sym_string_start, + ACTIONS(116), 1, + sym_raw_string_start, + ACTIONS(118), 1, + sym_command_start, + STATE(134), 1, + sym__expression_inner, + STATE(137), 2, + sym_if_expression, + sym_value, + STATE(136), 5, + sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, + sym_external_command, + [1535] = 2, + ACTIONS(180), 1, + anon_sym_LPAREN, + ACTIONS(178), 13, + anon_sym_COMMA, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LBRACE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_EQ_TILDE, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOLLAR, + anon_sym_STAR, + anon_sym_RBRACE_RBRACE, sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(256), 13, + [1554] = 1, + ACTIONS(182), 14, anon_sym_COMMA, + anon_sym_RBRACK, anon_sym_SLASH, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_EQ_TILDE, - anon_sym_LPAREN, anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOLLAR, + anon_sym_STAR, anon_sym_RBRACE_RBRACE, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [1905] = 2, - ACTIONS(258), 5, - anon_sym_if, sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(260), 13, + [1571] = 1, + ACTIONS(184), 14, anon_sym_COMMA, + anon_sym_RBRACK, anon_sym_SLASH, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_EQ_TILDE, - anon_sym_LPAREN, anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOLLAR, + anon_sym_STAR, anon_sym_RBRACE_RBRACE, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [1928] = 13, - ACTIONS(81), 1, - anon_sym_if, - ACTIONS(83), 1, - anon_sym_LPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - ACTIONS(115), 1, sym_identifier, - STATE(79), 1, - sym__expression_inner, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(47), 2, - sym_if_expression, - sym_value, - STATE(10), 3, - sym_function_call, - sym_external_command, - sym_string, - [1972] = 13, - ACTIONS(222), 1, + [1588] = 9, + ACTIONS(65), 1, sym_identifier, - ACTIONS(226), 1, + ACTIONS(69), 1, anon_sym_if, - ACTIONS(228), 1, + ACTIONS(71), 1, anon_sym_LPAREN, - ACTIONS(230), 1, - aux_sym_string_token1, - ACTIONS(232), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(234), 1, - anon_sym_DQUOTE, - ACTIONS(236), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(238), 1, - anon_sym_BQUOTE, - ACTIONS(240), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(186), 1, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(79), 1, + sym_command_start, + STATE(129), 1, sym__expression_inner, - STATE(205), 2, - sym__backticked, - sym__indented_backticked, - STATE(210), 2, + STATE(110), 2, sym_if_expression, sym_value, - STATE(207), 3, + STATE(68), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [2016] = 13, - ACTIONS(222), 1, + [1621] = 9, + ACTIONS(126), 1, sym_identifier, - ACTIONS(226), 1, - anon_sym_if, - ACTIONS(228), 1, - anon_sym_LPAREN, - ACTIONS(230), 1, - aux_sym_string_token1, - ACTIONS(232), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(234), 1, - anon_sym_DQUOTE, - ACTIONS(236), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(238), 1, - anon_sym_BQUOTE, - ACTIONS(240), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(187), 1, - sym__expression_inner, - STATE(205), 2, - sym__backticked, - sym__indented_backticked, - STATE(210), 2, - sym_if_expression, - sym_value, - STATE(207), 3, - sym_function_call, - sym_external_command, - sym_string, - [2060] = 13, - ACTIONS(81), 1, + ACTIONS(130), 1, anon_sym_if, - ACTIONS(83), 1, + ACTIONS(132), 1, anon_sym_LPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - ACTIONS(115), 1, - sym_identifier, - STATE(77), 1, + ACTIONS(134), 1, + sym_string_start, + ACTIONS(136), 1, + sym_raw_string_start, + ACTIONS(138), 1, + sym_command_start, + STATE(276), 1, sym__expression_inner, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(47), 2, + STATE(271), 2, sym_if_expression, sym_value, - STATE(10), 3, + STATE(272), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [2104] = 13, - ACTIONS(77), 1, + [1654] = 9, + ACTIONS(65), 1, sym_identifier, - ACTIONS(81), 1, + ACTIONS(69), 1, anon_sym_if, - ACTIONS(83), 1, + ACTIONS(71), 1, anon_sym_LPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(110), 1, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(79), 1, + sym_command_start, + STATE(126), 1, sym__expression_inner, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(47), 2, + STATE(110), 2, sym_if_expression, sym_value, - STATE(10), 3, + STATE(68), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [2148] = 13, - ACTIONS(198), 1, + [1687] = 9, + ACTIONS(65), 1, sym_identifier, - ACTIONS(202), 1, + ACTIONS(69), 1, anon_sym_if, - ACTIONS(204), 1, + ACTIONS(71), 1, anon_sym_LPAREN, - ACTIONS(206), 1, - aux_sym_string_token1, - ACTIONS(208), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(210), 1, - anon_sym_DQUOTE, - ACTIONS(212), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(214), 1, - anon_sym_BQUOTE, - ACTIONS(216), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(272), 1, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(79), 1, + sym_command_start, + STATE(125), 1, sym__expression_inner, - STATE(256), 2, + STATE(110), 2, sym_if_expression, sym_value, - STATE(258), 2, - sym__backticked, - sym__indented_backticked, - STATE(257), 3, + STATE(68), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [2192] = 13, - ACTIONS(81), 1, + [1720] = 9, + ACTIONS(144), 1, + sym_string_start, + ACTIONS(146), 1, + sym_raw_string_start, + ACTIONS(152), 1, + sym_identifier, + ACTIONS(156), 1, anon_sym_if, - ACTIONS(83), 1, + ACTIONS(158), 1, anon_sym_LPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - ACTIONS(115), 1, - sym_identifier, - STATE(46), 1, + ACTIONS(160), 1, + sym_command_start, + STATE(234), 1, sym__expression_inner, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(47), 2, + STATE(213), 2, sym_if_expression, sym_value, - STATE(10), 3, + STATE(214), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [2236] = 13, - ACTIONS(77), 1, + [1753] = 9, + ACTIONS(126), 1, sym_identifier, - ACTIONS(81), 1, + ACTIONS(130), 1, anon_sym_if, - ACTIONS(83), 1, + ACTIONS(132), 1, anon_sym_LPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(46), 1, + ACTIONS(134), 1, + sym_string_start, + ACTIONS(136), 1, + sym_raw_string_start, + ACTIONS(138), 1, + sym_command_start, + STATE(283), 1, sym__expression_inner, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(47), 2, + STATE(271), 2, sym_if_expression, sym_value, - STATE(10), 3, + STATE(272), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [2280] = 13, - ACTIONS(198), 1, + [1786] = 9, + ACTIONS(104), 1, sym_identifier, - ACTIONS(202), 1, + ACTIONS(108), 1, anon_sym_if, - ACTIONS(204), 1, + ACTIONS(110), 1, anon_sym_LPAREN, - ACTIONS(206), 1, - aux_sym_string_token1, - ACTIONS(208), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(210), 1, - anon_sym_DQUOTE, - ACTIONS(212), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(214), 1, - anon_sym_BQUOTE, - ACTIONS(216), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(264), 1, + ACTIONS(114), 1, + sym_string_start, + ACTIONS(116), 1, + sym_raw_string_start, + ACTIONS(118), 1, + sym_command_start, + STATE(115), 1, sym__expression_inner, - STATE(256), 2, + STATE(137), 2, sym_if_expression, sym_value, - STATE(258), 2, - sym__backticked, - sym__indented_backticked, - STATE(257), 3, + STATE(136), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [2324] = 13, - ACTIONS(77), 1, + [1819] = 9, + ACTIONS(144), 1, + sym_string_start, + ACTIONS(146), 1, + sym_raw_string_start, + ACTIONS(152), 1, sym_identifier, - ACTIONS(81), 1, + ACTIONS(156), 1, anon_sym_if, - ACTIONS(83), 1, + ACTIONS(158), 1, anon_sym_LPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(114), 1, + ACTIONS(160), 1, + sym_command_start, + STATE(239), 1, sym__expression_inner, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(47), 2, + STATE(213), 2, sym_if_expression, sym_value, - STATE(10), 3, + STATE(214), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [2368] = 13, - ACTIONS(222), 1, + [1852] = 9, + ACTIONS(144), 1, + sym_string_start, + ACTIONS(146), 1, + sym_raw_string_start, + ACTIONS(152), 1, sym_identifier, - ACTIONS(226), 1, + ACTIONS(156), 1, anon_sym_if, - ACTIONS(228), 1, + ACTIONS(158), 1, anon_sym_LPAREN, - ACTIONS(230), 1, - aux_sym_string_token1, - ACTIONS(232), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(234), 1, - anon_sym_DQUOTE, - ACTIONS(236), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(238), 1, - anon_sym_BQUOTE, - ACTIONS(240), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(169), 1, + ACTIONS(160), 1, + sym_command_start, + STATE(240), 1, sym__expression_inner, - STATE(205), 2, - sym__backticked, - sym__indented_backticked, - STATE(210), 2, + STATE(213), 2, sym_if_expression, sym_value, - STATE(207), 3, + STATE(214), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [2412] = 13, - ACTIONS(198), 1, + [1885] = 9, + ACTIONS(104), 1, sym_identifier, - ACTIONS(202), 1, + ACTIONS(108), 1, anon_sym_if, - ACTIONS(204), 1, + ACTIONS(110), 1, anon_sym_LPAREN, - ACTIONS(206), 1, - aux_sym_string_token1, - ACTIONS(208), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(210), 1, - anon_sym_DQUOTE, - ACTIONS(212), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(214), 1, - anon_sym_BQUOTE, - ACTIONS(216), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(261), 1, + ACTIONS(114), 1, + sym_string_start, + ACTIONS(116), 1, + sym_raw_string_start, + ACTIONS(118), 1, + sym_command_start, + STATE(116), 1, sym__expression_inner, - STATE(256), 2, + STATE(137), 2, sym_if_expression, sym_value, - STATE(258), 2, - sym__backticked, - sym__indented_backticked, - STATE(257), 3, + STATE(136), 5, sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, sym_external_command, - sym_string, - [2456] = 7, - ACTIONS(230), 1, - aux_sym_string_token1, - ACTIONS(232), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(234), 1, - anon_sym_DQUOTE, - ACTIONS(236), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - STATE(106), 1, - sym_string, - ACTIONS(262), 5, + [1918] = 1, + ACTIONS(186), 13, + anon_sym_COMMA, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LBRACE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_EQ_TILDE, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOLLAR, + anon_sym_STAR, + anon_sym_RBRACE_RBRACE, + sym_identifier, + [1934] = 1, + ACTIONS(188), 13, + anon_sym_COMMA, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LBRACE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_EQ_TILDE, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOLLAR, + anon_sym_STAR, + anon_sym_RBRACE_RBRACE, + sym_identifier, + [1950] = 2, + ACTIONS(190), 6, + anon_sym_alias, + anon_sym_export, + anon_sym_import, + anon_sym_mod, + anon_sym_set, + sym_identifier, + ACTIONS(182), 7, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, + anon_sym_SLASH, + anon_sym_PLUS, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(264), 6, + [1968] = 2, + ACTIONS(192), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [2487] = 7, - ACTIONS(230), 1, - aux_sym_string_token1, - ACTIONS(232), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(234), 1, - anon_sym_DQUOTE, - ACTIONS(236), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - STATE(97), 1, - sym_string, - ACTIONS(266), 5, + ACTIONS(174), 7, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, + anon_sym_SLASH, + anon_sym_PLUS, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(268), 6, + [1986] = 8, + ACTIONS(166), 1, + anon_sym_LBRACE_LBRACE, + ACTIONS(168), 1, + sym_text, + ACTIONS(172), 1, + sym__newline, + ACTIONS(194), 1, + sym__dedent, + STATE(176), 1, + sym_recipe_line_prefix, + STATE(60), 2, + sym_recipe_line, + aux_sym_recipe_body_repeat1, + STATE(168), 2, + sym_interpolation, + aux_sym_recipe_line_repeat1, + ACTIONS(162), 4, + anon_sym_AT, + anon_sym_AT_DASH, + anon_sym_DASH_AT, + anon_sym_DASH, + [2016] = 1, + ACTIONS(196), 13, + anon_sym_COMMA, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LBRACE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_EQ_TILDE, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOLLAR, + anon_sym_STAR, + anon_sym_RBRACE_RBRACE, + sym_identifier, + [2032] = 2, + ACTIONS(198), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [2518] = 10, - ACTIONS(272), 1, - aux_sym_shebang_token1, - ACTIONS(274), 1, + ACTIONS(184), 7, + sym__newline, + ts_builtin_sym_end, + anon_sym_LBRACK, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_AT, + aux_sym_comment_token1, + [2050] = 8, + ACTIONS(166), 1, anon_sym_LBRACE_LBRACE, - ACTIONS(276), 1, + ACTIONS(168), 1, sym_text, - ACTIONS(278), 1, + ACTIONS(172), 1, + sym__newline, + ACTIONS(200), 1, sym__dedent, - ACTIONS(280), 1, + STATE(176), 1, + sym_recipe_line_prefix, + STATE(64), 2, + sym_recipe_line, + aux_sym_recipe_body_repeat1, + STATE(168), 2, + sym_interpolation, + aux_sym_recipe_line_repeat1, + ACTIONS(162), 4, + anon_sym_AT, + anon_sym_AT_DASH, + anon_sym_DASH_AT, + anon_sym_DASH, + [2080] = 1, + ACTIONS(202), 13, + anon_sym_COMMA, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LBRACE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_EQ_TILDE, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOLLAR, + anon_sym_STAR, + anon_sym_RBRACE_RBRACE, + sym_identifier, + [2096] = 8, + ACTIONS(166), 1, + anon_sym_LBRACE_LBRACE, + ACTIONS(168), 1, + sym_text, + ACTIONS(172), 1, sym__newline, - STATE(75), 1, - sym_shebang, - STATE(159), 1, + ACTIONS(194), 1, + sym__dedent, + STATE(176), 1, sym_recipe_line_prefix, - STATE(70), 2, + STATE(64), 2, sym_recipe_line, aux_sym_recipe_body_repeat1, - STATE(147), 2, + STATE(168), 2, sym_interpolation, aux_sym_recipe_line_repeat1, - ACTIONS(270), 4, + ACTIONS(162), 4, anon_sym_AT, anon_sym_AT_DASH, anon_sym_DASH_AT, anon_sym_DASH, - [2554] = 11, - ACTIONS(83), 1, - anon_sym_LPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - ACTIONS(282), 1, + [2126] = 4, + ACTIONS(208), 1, + sym__indent, + STATE(86), 1, + sym_recipe_body, + ACTIONS(204), 5, + sym__newline, + ts_builtin_sym_end, + anon_sym_LBRACK, + anon_sym_AT, + aux_sym_comment_token1, + ACTIONS(206), 6, + anon_sym_alias, + anon_sym_export, + anon_sym_import, + anon_sym_mod, + anon_sym_set, sym_identifier, - STATE(158), 1, - sym_value, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(10), 3, - sym_function_call, - sym_external_command, - sym_string, - [2591] = 11, - ACTIONS(83), 1, - anon_sym_LPAREN, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(95), 1, - anon_sym_BQUOTE, - ACTIONS(97), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - ACTIONS(282), 1, + [2148] = 8, + ACTIONS(213), 1, + anon_sym_LBRACE_LBRACE, + ACTIONS(216), 1, + sym_text, + ACTIONS(219), 1, + sym__dedent, + ACTIONS(221), 1, + sym__newline, + STATE(176), 1, + sym_recipe_line_prefix, + STATE(64), 2, + sym_recipe_line, + aux_sym_recipe_body_repeat1, + STATE(168), 2, + sym_interpolation, + aux_sym_recipe_line_repeat1, + ACTIONS(210), 4, + anon_sym_AT, + anon_sym_AT_DASH, + anon_sym_DASH_AT, + anon_sym_DASH, + [2178] = 2, + ACTIONS(224), 6, + anon_sym_alias, + anon_sym_export, + anon_sym_import, + anon_sym_mod, + anon_sym_set, sym_identifier, - STATE(153), 1, - sym_value, - STATE(23), 2, - sym__backticked, - sym__indented_backticked, - STATE(10), 3, - sym_function_call, - sym_external_command, - sym_string, - [2628] = 2, - ACTIONS(284), 1, - anon_sym_LPAREN, - ACTIONS(101), 13, + ACTIONS(176), 7, + sym__newline, + ts_builtin_sym_end, + anon_sym_LBRACK, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_AT, + aux_sym_comment_token1, + [2196] = 1, + ACTIONS(226), 13, anon_sym_COMMA, anon_sym_SLASH, anon_sym_PLUS, @@ -4461,706 +4078,872 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_RBRACE_RBRACE, sym_identifier, - [2647] = 4, - ACTIONS(290), 1, + [2212] = 4, + ACTIONS(208), 1, sym__indent, - STATE(91), 1, + STATE(97), 1, sym_recipe_body, - ACTIONS(286), 5, + ACTIONS(228), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(288), 6, + ACTIONS(230), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [2669] = 4, - ACTIONS(290), 1, - sym__indent, - STATE(85), 1, - sym_recipe_body, - ACTIONS(292), 5, + [2234] = 1, + ACTIONS(178), 13, + anon_sym_COMMA, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LBRACE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_EQ_TILDE, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOLLAR, + anon_sym_STAR, + anon_sym_RBRACE_RBRACE, + sym_identifier, + [2250] = 2, + ACTIONS(232), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(294), 6, + ACTIONS(234), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [2691] = 2, - ACTIONS(65), 6, - anon_sym_alias, - anon_sym_export, - anon_sym_import, - anon_sym_mod, - anon_sym_set, + [2266] = 4, + ACTIONS(240), 1, + anon_sym_else, + STATE(74), 1, + aux_sym_if_expression_repeat1, + ACTIONS(236), 2, + anon_sym_if, sym_identifier, - ACTIONS(67), 7, + ACTIONS(238), 7, + sym_string_start, + sym_raw_string_start, + sym_command_start, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LPAREN, + anon_sym_RPAREN, + [2286] = 2, + ACTIONS(242), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, - anon_sym_SLASH, - anon_sym_PLUS, anon_sym_AT, aux_sym_comment_token1, - [2709] = 8, - ACTIONS(274), 1, - anon_sym_LBRACE_LBRACE, - ACTIONS(276), 1, - sym_text, - ACTIONS(280), 1, - sym__newline, - ACTIONS(296), 1, - sym__dedent, - STATE(159), 1, - sym_recipe_line_prefix, - STATE(72), 2, - sym_recipe_line, - aux_sym_recipe_body_repeat1, - STATE(147), 2, - sym_interpolation, - aux_sym_recipe_line_repeat1, - ACTIONS(270), 4, - anon_sym_AT, - anon_sym_AT_DASH, - anon_sym_DASH_AT, - anon_sym_DASH, - [2739] = 2, - ACTIONS(73), 6, + ACTIONS(244), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - ACTIONS(75), 7, + [2302] = 2, + ACTIONS(246), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, - anon_sym_SLASH, - anon_sym_PLUS, anon_sym_AT, aux_sym_comment_token1, - [2757] = 8, - ACTIONS(301), 1, - anon_sym_LBRACE_LBRACE, - ACTIONS(304), 1, - sym_text, - ACTIONS(307), 1, - sym__dedent, - ACTIONS(309), 1, - sym__newline, - STATE(159), 1, - sym_recipe_line_prefix, - STATE(72), 2, - sym_recipe_line, - aux_sym_recipe_body_repeat1, - STATE(147), 2, - sym_interpolation, - aux_sym_recipe_line_repeat1, - ACTIONS(298), 4, - anon_sym_AT, - anon_sym_AT_DASH, - anon_sym_DASH_AT, - anon_sym_DASH, - [2787] = 8, - ACTIONS(274), 1, - anon_sym_LBRACE_LBRACE, - ACTIONS(276), 1, - sym_text, - ACTIONS(280), 1, - sym__newline, - ACTIONS(312), 1, - sym__dedent, - STATE(159), 1, - sym_recipe_line_prefix, - STATE(72), 2, - sym_recipe_line, - aux_sym_recipe_body_repeat1, - STATE(147), 2, - sym_interpolation, - aux_sym_recipe_line_repeat1, - ACTIONS(270), 4, - anon_sym_AT, - anon_sym_AT_DASH, - anon_sym_DASH_AT, - anon_sym_DASH, - [2817] = 2, - ACTIONS(69), 6, + ACTIONS(248), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - ACTIONS(71), 7, + [2318] = 2, + ACTIONS(250), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, - anon_sym_SLASH, - anon_sym_PLUS, anon_sym_AT, aux_sym_comment_token1, - [2835] = 8, - ACTIONS(274), 1, - anon_sym_LBRACE_LBRACE, - ACTIONS(276), 1, - sym_text, - ACTIONS(280), 1, - sym__newline, - ACTIONS(296), 1, - sym__dedent, - STATE(159), 1, - sym_recipe_line_prefix, - STATE(73), 2, - sym_recipe_line, - aux_sym_recipe_body_repeat1, - STATE(147), 2, - sym_interpolation, - aux_sym_recipe_line_repeat1, - ACTIONS(270), 4, - anon_sym_AT, - anon_sym_AT_DASH, - anon_sym_DASH_AT, - anon_sym_DASH, - [2865] = 2, - ACTIONS(99), 5, - anon_sym_if, + ACTIONS(252), 6, + anon_sym_alias, + anon_sym_export, + anon_sym_import, + anon_sym_mod, + anon_sym_set, sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(101), 7, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [2882] = 3, - ACTIONS(314), 1, - anon_sym_PLUS, - ACTIONS(250), 5, + [2334] = 4, + ACTIONS(258), 1, + anon_sym_else, + STATE(104), 1, + aux_sym_if_expression_repeat1, + ACTIONS(254), 2, anon_sym_if, sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(252), 6, + ACTIONS(256), 7, + sym_string_start, + sym_raw_string_start, + sym_command_start, anon_sym_SLASH, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [2901] = 4, - ACTIONS(314), 1, anon_sym_PLUS, - ACTIONS(318), 1, - anon_sym_SLASH, - ACTIONS(316), 5, - anon_sym_if, - sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(320), 5, anon_sym_LPAREN, anon_sym_RPAREN, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [2922] = 4, - ACTIONS(314), 1, - anon_sym_PLUS, - ACTIONS(318), 1, - anon_sym_SLASH, - ACTIONS(322), 5, - anon_sym_if, + [2354] = 2, + ACTIONS(260), 5, + sym__newline, + ts_builtin_sym_end, + anon_sym_LBRACK, + anon_sym_AT, + aux_sym_comment_token1, + ACTIONS(262), 6, + anon_sym_alias, + anon_sym_export, + anon_sym_import, + anon_sym_mod, + anon_sym_set, sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(324), 5, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [2943] = 2, - ACTIONS(326), 5, + [2370] = 2, + ACTIONS(264), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(328), 6, + ACTIONS(266), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [2959] = 2, - ACTIONS(330), 5, + [2386] = 2, + ACTIONS(268), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(332), 6, + ACTIONS(270), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [2975] = 2, - ACTIONS(334), 5, + [2402] = 2, + ACTIONS(272), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(336), 6, + ACTIONS(274), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [2991] = 2, - ACTIONS(338), 5, + [2418] = 2, + ACTIONS(276), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(340), 6, + ACTIONS(278), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [3007] = 2, - ACTIONS(342), 5, + [2434] = 2, + ACTIONS(280), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(344), 6, + ACTIONS(282), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [3023] = 2, - ACTIONS(346), 5, + [2450] = 2, + ACTIONS(284), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(348), 6, + ACTIONS(286), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [3039] = 2, - ACTIONS(350), 5, + [2466] = 2, + ACTIONS(288), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(352), 6, + ACTIONS(290), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [3055] = 2, - ACTIONS(354), 5, + [2482] = 2, + ACTIONS(292), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(356), 6, + ACTIONS(294), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [3071] = 2, - ACTIONS(358), 5, + [2498] = 2, + ACTIONS(296), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(360), 6, + ACTIONS(298), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [3087] = 2, - ACTIONS(362), 5, + [2514] = 2, + ACTIONS(300), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(364), 6, + ACTIONS(302), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [3103] = 2, - ACTIONS(366), 5, + [2530] = 2, + ACTIONS(304), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(368), 6, + ACTIONS(306), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [3119] = 2, - ACTIONS(292), 5, + [2546] = 2, + ACTIONS(308), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(294), 6, + ACTIONS(310), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [3135] = 2, - ACTIONS(370), 5, + [2562] = 2, + ACTIONS(312), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(372), 6, + ACTIONS(314), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [3151] = 2, - ACTIONS(374), 5, + [2578] = 2, + ACTIONS(316), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(376), 6, + ACTIONS(318), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [3167] = 2, - ACTIONS(378), 5, + [2594] = 2, + ACTIONS(320), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(380), 6, + ACTIONS(322), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [3183] = 2, - ACTIONS(382), 5, + [2610] = 2, + ACTIONS(324), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(384), 6, + ACTIONS(326), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [3199] = 2, - ACTIONS(386), 5, + [2626] = 7, + ACTIONS(71), 1, + anon_sym_LPAREN, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(79), 1, + sym_command_start, + ACTIONS(328), 1, + sym_identifier, + STATE(181), 1, + sym_value, + STATE(68), 5, + sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, + sym_external_command, + [2652] = 3, + ACTIONS(330), 1, + anon_sym_else, + STATE(103), 1, + aux_sym_if_expression_repeat1, + ACTIONS(238), 9, + anon_sym_COMMA, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LBRACE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_EQ_TILDE, + anon_sym_RPAREN, + anon_sym_RBRACE_RBRACE, + [2670] = 2, + ACTIONS(332), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(388), 6, + ACTIONS(334), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [3215] = 2, - ACTIONS(390), 5, + [2686] = 2, + ACTIONS(336), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(392), 6, + ACTIONS(338), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [3231] = 2, - ACTIONS(394), 5, + [2702] = 2, + ACTIONS(340), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(396), 6, + ACTIONS(342), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [3247] = 2, - ACTIONS(398), 5, + [2718] = 2, + ACTIONS(204), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(400), 6, + ACTIONS(206), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [3263] = 2, - ACTIONS(402), 5, + [2734] = 2, + ACTIONS(344), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(404), 6, + ACTIONS(346), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [3279] = 2, - ACTIONS(406), 5, + [2750] = 7, + ACTIONS(71), 1, + anon_sym_LPAREN, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(79), 1, + sym_command_start, + ACTIONS(328), 1, + sym_identifier, + STATE(195), 1, + sym_value, + STATE(68), 5, + sym_function_call, + sym__string, + sym_string_literal, + sym_raw_string_literal, + sym_external_command, + [2776] = 3, + ACTIONS(350), 1, + anon_sym_else, + STATE(100), 1, + aux_sym_if_expression_repeat1, + ACTIONS(348), 9, + anon_sym_COMMA, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LBRACE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_EQ_TILDE, + anon_sym_RPAREN, + anon_sym_RBRACE_RBRACE, + [2794] = 2, + ACTIONS(353), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(408), 6, + ACTIONS(355), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [3295] = 2, - ACTIONS(410), 5, + [2810] = 2, + ACTIONS(357), 5, sym__newline, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_AT, aux_sym_comment_token1, - ACTIONS(412), 6, + ACTIONS(359), 6, anon_sym_alias, anon_sym_export, anon_sym_import, anon_sym_mod, anon_sym_set, sym_identifier, - [3311] = 2, - ACTIONS(414), 5, - sym__newline, - ts_builtin_sym_end, - anon_sym_LBRACK, - anon_sym_AT, - aux_sym_comment_token1, - ACTIONS(416), 6, - anon_sym_alias, - anon_sym_export, - anon_sym_import, - anon_sym_mod, - anon_sym_set, + [2826] = 3, + ACTIONS(361), 1, + anon_sym_else, + STATE(100), 1, + aux_sym_if_expression_repeat1, + ACTIONS(256), 9, + anon_sym_COMMA, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LBRACE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_EQ_TILDE, + anon_sym_RPAREN, + anon_sym_RBRACE_RBRACE, + [2844] = 4, + ACTIONS(365), 1, + anon_sym_else, + STATE(104), 1, + aux_sym_if_expression_repeat1, + ACTIONS(363), 2, + anon_sym_if, + sym_identifier, + ACTIONS(348), 7, + sym_string_start, + sym_raw_string_start, + sym_command_start, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LPAREN, + anon_sym_RPAREN, + [2864] = 2, + ACTIONS(368), 3, + anon_sym_if, + anon_sym_else, + sym_identifier, + ACTIONS(370), 7, + sym_string_start, + sym_raw_string_start, + sym_command_start, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LPAREN, + anon_sym_RPAREN, + [2879] = 2, + ACTIONS(372), 3, + anon_sym_if, + anon_sym_else, + sym_identifier, + ACTIONS(374), 7, + sym_string_start, + sym_raw_string_start, + sym_command_start, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LPAREN, + anon_sym_RPAREN, + [2894] = 1, + ACTIONS(370), 10, + anon_sym_COMMA, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_else, + anon_sym_LBRACE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_EQ_TILDE, + anon_sym_RPAREN, + anon_sym_RBRACE_RBRACE, + [2907] = 1, + ACTIONS(374), 10, + anon_sym_COMMA, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_else, + anon_sym_LBRACE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_EQ_TILDE, + anon_sym_RPAREN, + anon_sym_RBRACE_RBRACE, + [2920] = 9, + ACTIONS(376), 1, + sym_identifier, + ACTIONS(378), 1, + anon_sym_COLON_EQ, + ACTIONS(382), 1, + anon_sym_COLON, + ACTIONS(384), 1, + anon_sym_DOLLAR, + STATE(152), 1, + aux_sym_parameters_repeat1, + STATE(180), 1, + sym_parameter, + STATE(318), 1, + sym_parameters, + STATE(320), 1, + sym_variadic_parameter, + ACTIONS(380), 2, + anon_sym_PLUS, + anon_sym_STAR, + [2949] = 1, + ACTIONS(386), 9, + anon_sym_COMMA, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LBRACE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_EQ_TILDE, + anon_sym_RPAREN, + anon_sym_RBRACE_RBRACE, + [2961] = 2, + ACTIONS(388), 2, + anon_sym_if, + sym_identifier, + ACTIONS(390), 7, + sym_string_start, + sym_raw_string_start, + sym_command_start, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LPAREN, + anon_sym_RPAREN, + [2975] = 2, + ACTIONS(392), 2, + anon_sym_if, + sym_identifier, + ACTIONS(188), 7, + sym_string_start, + sym_raw_string_start, + sym_command_start, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LPAREN, + anon_sym_RPAREN, + [2989] = 2, + ACTIONS(198), 2, + anon_sym_if, + sym_identifier, + ACTIONS(184), 7, + sym_string_start, + sym_raw_string_start, + sym_command_start, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LPAREN, + anon_sym_RPAREN, + [3003] = 2, + ACTIONS(394), 2, + anon_sym_if, sym_identifier, - [3327] = 2, - ACTIONS(418), 5, - sym__newline, - ts_builtin_sym_end, - anon_sym_LBRACK, - anon_sym_AT, - aux_sym_comment_token1, - ACTIONS(420), 6, - anon_sym_alias, - anon_sym_export, - anon_sym_import, - anon_sym_mod, - anon_sym_set, + ACTIONS(396), 7, + sym_string_start, + sym_raw_string_start, + sym_command_start, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LPAREN, + anon_sym_RPAREN, + [3017] = 2, + ACTIONS(398), 2, + anon_sym_if, sym_identifier, - [3343] = 2, - ACTIONS(422), 5, + ACTIONS(400), 7, + sym_string_start, + sym_raw_string_start, + sym_command_start, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LPAREN, + anon_sym_RPAREN, + [3031] = 3, + ACTIONS(402), 1, + anon_sym_PLUS, + ACTIONS(398), 2, anon_sym_if, sym_identifier, - aux_sym_string_token1, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - ACTIONS(424), 6, + ACTIONS(400), 6, + sym_string_start, + sym_raw_string_start, + sym_command_start, anon_sym_SLASH, anon_sym_LPAREN, anon_sym_RPAREN, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - [3359] = 2, - ACTIONS(426), 5, - sym__newline, - ts_builtin_sym_end, - anon_sym_LBRACK, - anon_sym_AT, - aux_sym_comment_token1, - ACTIONS(428), 6, - anon_sym_alias, - anon_sym_export, - anon_sym_import, - anon_sym_mod, - anon_sym_set, + [3047] = 2, + ACTIONS(404), 2, + anon_sym_if, sym_identifier, - [3375] = 2, - ACTIONS(430), 5, - sym__newline, - ts_builtin_sym_end, - anon_sym_LBRACK, - anon_sym_AT, - aux_sym_comment_token1, - ACTIONS(432), 6, - anon_sym_alias, - anon_sym_export, - anon_sym_import, - anon_sym_mod, - anon_sym_set, + ACTIONS(186), 7, + sym_string_start, + sym_raw_string_start, + sym_command_start, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LPAREN, + anon_sym_RPAREN, + [3061] = 2, + ACTIONS(190), 2, + anon_sym_if, sym_identifier, - [3391] = 2, - ACTIONS(434), 5, - sym__newline, - ts_builtin_sym_end, + ACTIONS(182), 7, + sym_string_start, + sym_raw_string_start, + sym_command_start, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LPAREN, + anon_sym_RPAREN, + [3075] = 1, + ACTIONS(396), 9, + anon_sym_COMMA, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LBRACE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_EQ_TILDE, + anon_sym_RPAREN, + anon_sym_RBRACE_RBRACE, + [3087] = 5, + ACTIONS(144), 1, + sym_string_start, + ACTIONS(146), 1, + sym_raw_string_start, + ACTIONS(406), 1, anon_sym_LBRACK, - anon_sym_AT, - aux_sym_comment_token1, - ACTIONS(436), 6, - anon_sym_alias, - anon_sym_export, - anon_sym_import, - anon_sym_mod, - anon_sym_set, + ACTIONS(408), 2, + anon_sym_true, + anon_sym_false, + STATE(246), 4, + sym_boolean, + sym__string, + sym_string_literal, + sym_raw_string_literal, + [3107] = 2, + ACTIONS(224), 2, + anon_sym_if, sym_identifier, - [3407] = 9, - ACTIONS(438), 1, + ACTIONS(176), 7, + sym_string_start, + sym_raw_string_start, + sym_command_start, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LPAREN, + anon_sym_RPAREN, + [3121] = 1, + ACTIONS(390), 9, + anon_sym_COMMA, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LBRACE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_EQ_TILDE, + anon_sym_RPAREN, + anon_sym_RBRACE_RBRACE, + [3133] = 2, + ACTIONS(410), 2, + anon_sym_if, sym_identifier, - ACTIONS(440), 1, - anon_sym_COLON_EQ, - ACTIONS(444), 1, - anon_sym_COLON, - ACTIONS(446), 1, - anon_sym_DOLLAR, - STATE(129), 1, - aux_sym_parameters_repeat1, - STATE(151), 1, - sym_parameter, - STATE(295), 1, - sym_parameters, - STATE(299), 1, - sym_variadic_parameter, - ACTIONS(442), 2, + ACTIONS(196), 7, + sym_string_start, + sym_raw_string_start, + sym_command_start, + anon_sym_SLASH, anon_sym_PLUS, - anon_sym_STAR, - [3436] = 3, - ACTIONS(448), 1, + anon_sym_LPAREN, + anon_sym_RPAREN, + [3147] = 2, + ACTIONS(192), 2, + anon_sym_if, + sym_identifier, + ACTIONS(174), 7, + sym_string_start, + sym_raw_string_start, + sym_command_start, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LPAREN, + anon_sym_RPAREN, + [3161] = 1, + ACTIONS(400), 9, + anon_sym_COMMA, anon_sym_SLASH, - ACTIONS(450), 1, anon_sym_PLUS, - ACTIONS(324), 7, + anon_sym_LBRACE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_EQ_TILDE, + anon_sym_RPAREN, + anon_sym_RBRACE_RBRACE, + [3173] = 2, + ACTIONS(412), 1, + anon_sym_PLUS, + ACTIONS(400), 8, anon_sym_COMMA, + anon_sym_SLASH, anon_sym_LBRACE, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_EQ_TILDE, anon_sym_RPAREN, anon_sym_RBRACE_RBRACE, - [3452] = 8, - ACTIONS(438), 1, + [3187] = 2, + ACTIONS(414), 2, + anon_sym_if, + sym_identifier, + ACTIONS(178), 7, + sym_string_start, + sym_raw_string_start, + sym_command_start, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LPAREN, + anon_sym_RPAREN, + [3201] = 8, + ACTIONS(376), 1, sym_identifier, - ACTIONS(446), 1, + ACTIONS(384), 1, anon_sym_DOLLAR, - ACTIONS(452), 1, + ACTIONS(416), 1, anon_sym_COLON, - STATE(129), 1, + STATE(152), 1, aux_sym_parameters_repeat1, - STATE(151), 1, + STATE(180), 1, sym_parameter, - STATE(299), 1, + STATE(320), 1, sym_variadic_parameter, - STATE(310), 1, + STATE(337), 1, sym_parameters, - ACTIONS(442), 2, + ACTIONS(380), 2, anon_sym_PLUS, anon_sym_STAR, - [3478] = 3, - ACTIONS(448), 1, - anon_sym_SLASH, - ACTIONS(450), 1, + [3227] = 3, + ACTIONS(412), 1, anon_sym_PLUS, - ACTIONS(320), 7, + ACTIONS(420), 1, + anon_sym_SLASH, + ACTIONS(418), 7, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_EQ_EQ, @@ -5168,1581 +4951,1650 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_TILDE, anon_sym_RPAREN, anon_sym_RBRACE_RBRACE, - [3494] = 7, - ACTIONS(230), 1, - aux_sym_string_token1, - ACTIONS(232), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(234), 1, - anon_sym_DQUOTE, - ACTIONS(236), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(454), 1, - anon_sym_LBRACK, - ACTIONS(456), 2, - anon_sym_true, - anon_sym_false, - STATE(185), 2, - sym_boolean, - sym_string, - [3518] = 2, - ACTIONS(450), 1, + [3243] = 2, + ACTIONS(422), 2, + anon_sym_if, + sym_identifier, + ACTIONS(226), 7, + sym_string_start, + sym_raw_string_start, + sym_command_start, + anon_sym_SLASH, anon_sym_PLUS, - ACTIONS(252), 8, - anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + [3257] = 4, + ACTIONS(402), 1, + anon_sym_PLUS, + ACTIONS(426), 1, + anon_sym_SLASH, + ACTIONS(424), 2, + anon_sym_if, + sym_identifier, + ACTIONS(428), 5, + sym_string_start, + sym_raw_string_start, + sym_command_start, + anon_sym_LPAREN, + anon_sym_RPAREN, + [3275] = 3, + ACTIONS(412), 1, + anon_sym_PLUS, + ACTIONS(420), 1, anon_sym_SLASH, + ACTIONS(428), 7, + anon_sym_COMMA, anon_sym_LBRACE, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_EQ_TILDE, anon_sym_RPAREN, anon_sym_RBRACE_RBRACE, - [3532] = 8, - ACTIONS(438), 1, + [3291] = 8, + ACTIONS(376), 1, sym_identifier, - ACTIONS(446), 1, + ACTIONS(384), 1, anon_sym_DOLLAR, - ACTIONS(458), 1, + ACTIONS(430), 1, anon_sym_COLON, - STATE(129), 1, + STATE(152), 1, aux_sym_parameters_repeat1, - STATE(151), 1, + STATE(180), 1, sym_parameter, - STATE(295), 1, + STATE(318), 1, sym_parameters, - STATE(299), 1, + STATE(320), 1, sym_variadic_parameter, - ACTIONS(442), 2, + ACTIONS(380), 2, anon_sym_PLUS, anon_sym_STAR, - [3558] = 8, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(460), 1, + [3317] = 4, + ACTIONS(402), 1, + anon_sym_PLUS, + ACTIONS(426), 1, + anon_sym_SLASH, + ACTIONS(432), 2, + anon_sym_if, + sym_identifier, + ACTIONS(418), 5, + sym_string_start, + sym_raw_string_start, + sym_command_start, + anon_sym_LPAREN, + anon_sym_RPAREN, + [3335] = 2, + ACTIONS(434), 2, + anon_sym_if, + sym_identifier, + ACTIONS(202), 7, + sym_string_start, + sym_raw_string_start, + sym_command_start, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LPAREN, + anon_sym_RPAREN, + [3349] = 2, + ACTIONS(414), 2, + anon_sym_if, + sym_identifier, + ACTIONS(178), 7, + sym_string_start, + sym_raw_string_start, + sym_command_start, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LPAREN, + anon_sym_RPAREN, + [3363] = 2, + ACTIONS(436), 2, + anon_sym_if, + sym_identifier, + ACTIONS(386), 7, + sym_string_start, + sym_raw_string_start, + sym_command_start, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_LPAREN, + anon_sym_RPAREN, + [3377] = 6, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(438), 1, anon_sym_COMMA, - ACTIONS(462), 1, + ACTIONS(440), 1, anon_sym_RBRACK, - STATE(117), 1, + STATE(150), 1, aux_sym_setting_repeat1, - STATE(305), 1, - sym_string, - [3583] = 8, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(460), 1, + STATE(326), 3, + sym__string, + sym_string_literal, + sym_raw_string_literal, + [3398] = 7, + ACTIONS(442), 1, + sym_identifier, + ACTIONS(445), 1, + anon_sym_LPAREN, + ACTIONS(448), 1, + anon_sym_AMP_AMP, + ACTIONS(451), 1, + sym__newline, + STATE(143), 1, + sym_dependency, + STATE(227), 1, + sym_dependency_expression, + STATE(139), 2, + sym_dependencies, + aux_sym_dependencies_repeat1, + [3421] = 6, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(438), 1, anon_sym_COMMA, - ACTIONS(464), 1, + ACTIONS(453), 1, anon_sym_RBRACK, - STATE(130), 1, + STATE(146), 1, aux_sym_setting_repeat1, - STATE(303), 1, - sym_string, - [3608] = 2, - ACTIONS(468), 2, + STATE(335), 3, + sym__string, + sym_string_literal, + sym_raw_string_literal, + [3442] = 2, + ACTIONS(316), 2, sym__dedent, sym__newline, - ACTIONS(466), 6, + ACTIONS(318), 6, anon_sym_AT, anon_sym_AT_DASH, anon_sym_DASH_AT, anon_sym_DASH, anon_sym_LBRACE_LBRACE, sym_text, - [3621] = 2, - ACTIONS(472), 2, + [3455] = 2, + ACTIONS(457), 2, sym__dedent, sym__newline, - ACTIONS(470), 6, + ACTIONS(455), 6, anon_sym_AT, anon_sym_AT_DASH, anon_sym_DASH_AT, anon_sym_DASH, anon_sym_LBRACE_LBRACE, sym_text, - [3634] = 7, - ACTIONS(474), 1, - sym_identifier, - ACTIONS(476), 1, - anon_sym_LPAREN, - ACTIONS(478), 1, - anon_sym_AMP_AMP, - ACTIONS(480), 1, - sym__newline, - STATE(121), 1, - sym_dependency, - STATE(213), 1, - sym_dependency_expression, - STATE(127), 2, - sym_dependencies, - aux_sym_dependencies_repeat1, - [3657] = 4, - STATE(121), 1, + [3468] = 4, + STATE(143), 1, sym_dependency, - STATE(213), 1, + STATE(227), 1, sym_dependency_expression, - STATE(124), 2, + STATE(148), 2, sym_dependencies, aux_sym_dependencies_repeat1, - ACTIONS(482), 4, + ACTIONS(459), 4, sym__newline, anon_sym_LPAREN, anon_sym_AMP_AMP, sym_identifier, - [3674] = 8, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(460), 1, - anon_sym_COMMA, - ACTIONS(484), 1, - anon_sym_RBRACK, - STATE(130), 1, - aux_sym_setting_repeat1, - STATE(298), 1, - sym_string, - [3699] = 8, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(460), 1, - anon_sym_COMMA, - ACTIONS(486), 1, - anon_sym_RBRACK, - STATE(122), 1, - aux_sym_setting_repeat1, - STATE(330), 1, - sym_string, - [3724] = 4, - STATE(121), 1, + [3485] = 7, + ACTIONS(459), 1, + sym__newline, + ACTIONS(461), 1, + sym_identifier, + ACTIONS(463), 1, + anon_sym_LPAREN, + ACTIONS(465), 1, + anon_sym_AMP_AMP, + STATE(143), 1, sym_dependency, - STATE(213), 1, + STATE(227), 1, sym_dependency_expression, - STATE(127), 2, + STATE(147), 2, sym_dependencies, aux_sym_dependencies_repeat1, - ACTIONS(480), 4, - sym__newline, - anon_sym_LPAREN, - anon_sym_AMP_AMP, - sym_identifier, - [3741] = 2, - ACTIONS(490), 2, + [3508] = 2, + ACTIONS(469), 2, sym__dedent, sym__newline, - ACTIONS(488), 6, + ACTIONS(467), 6, anon_sym_AT, anon_sym_AT_DASH, anon_sym_DASH_AT, anon_sym_DASH, anon_sym_LBRACE_LBRACE, sym_text, - [3754] = 7, - ACTIONS(474), 1, - sym_identifier, - ACTIONS(476), 1, + [3521] = 6, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(438), 1, + anon_sym_COMMA, + ACTIONS(471), 1, + anon_sym_RBRACK, + STATE(187), 1, + aux_sym_setting_repeat1, + STATE(345), 3, + sym__string, + sym_string_literal, + sym_raw_string_literal, + [3542] = 7, + ACTIONS(461), 1, + sym_identifier, + ACTIONS(463), 1, anon_sym_LPAREN, - ACTIONS(478), 1, + ACTIONS(465), 1, anon_sym_AMP_AMP, - ACTIONS(482), 1, + ACTIONS(473), 1, sym__newline, - STATE(121), 1, + STATE(143), 1, sym_dependency, - STATE(213), 1, + STATE(227), 1, sym_dependency_expression, - STATE(120), 2, + STATE(139), 2, sym_dependencies, aux_sym_dependencies_repeat1, - [3777] = 7, - ACTIONS(492), 1, - sym_identifier, - ACTIONS(495), 1, - anon_sym_LPAREN, - ACTIONS(498), 1, - anon_sym_AMP_AMP, - ACTIONS(501), 1, - sym__newline, - STATE(121), 1, + [3565] = 4, + STATE(143), 1, sym_dependency, - STATE(213), 1, + STATE(227), 1, sym_dependency_expression, - STATE(127), 2, + STATE(139), 2, sym_dependencies, aux_sym_dependencies_repeat1, - [3800] = 2, - ACTIONS(334), 2, + ACTIONS(473), 4, + sym__newline, + anon_sym_LPAREN, + anon_sym_AMP_AMP, + sym_identifier, + [3582] = 2, + ACTIONS(475), 2, + anon_sym_if, + sym_identifier, + ACTIONS(477), 6, + sym_string_start, + sym_raw_string_start, + sym_command_start, + anon_sym_SLASH, + anon_sym_LPAREN, + anon_sym_RPAREN, + [3595] = 6, + ACTIONS(75), 1, + sym_string_start, + ACTIONS(77), 1, + sym_raw_string_start, + ACTIONS(438), 1, + anon_sym_COMMA, + ACTIONS(479), 1, + anon_sym_RBRACK, + STATE(187), 1, + aux_sym_setting_repeat1, + STATE(332), 3, + sym__string, + sym_string_literal, + sym_raw_string_literal, + [3616] = 2, + ACTIONS(483), 2, sym__dedent, sym__newline, - ACTIONS(336), 6, + ACTIONS(481), 6, anon_sym_AT, anon_sym_AT_DASH, anon_sym_DASH_AT, anon_sym_DASH, anon_sym_LBRACE_LBRACE, sym_text, - [3813] = 6, - ACTIONS(438), 1, + [3629] = 6, + ACTIONS(376), 1, sym_identifier, - ACTIONS(446), 1, + ACTIONS(384), 1, anon_sym_DOLLAR, - STATE(138), 1, + STATE(160), 1, aux_sym_parameters_repeat1, - STATE(163), 1, + STATE(182), 1, sym_parameter, - STATE(323), 1, + STATE(340), 1, sym_variadic_parameter, - ACTIONS(442), 2, - anon_sym_PLUS, - anon_sym_STAR, - [3833] = 4, - ACTIONS(503), 1, - anon_sym_COMMA, - STATE(130), 1, - aux_sym_setting_repeat1, - ACTIONS(508), 2, - aux_sym_string_token1, - anon_sym_DQUOTE, - ACTIONS(506), 3, - anon_sym_RBRACK, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - [3849] = 2, - ACTIONS(512), 1, - anon_sym_EQ, - ACTIONS(510), 5, + ACTIONS(380), 2, anon_sym_PLUS, - anon_sym_COLON, - anon_sym_DOLLAR, anon_sym_STAR, + [3649] = 6, + ACTIONS(461), 1, sym_identifier, - [3860] = 6, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(514), 1, - anon_sym_RBRACK, - STATE(123), 1, - sym_string, - [3879] = 6, - ACTIONS(474), 1, - sym_identifier, - ACTIONS(476), 1, + ACTIONS(463), 1, anon_sym_LPAREN, - ACTIONS(516), 1, + ACTIONS(485), 1, sym__newline, - STATE(126), 1, + STATE(144), 1, sym_dependency, - STATE(213), 1, + STATE(227), 1, sym_dependency_expression, - STATE(311), 1, + STATE(343), 1, sym_dependencies, - [3898] = 3, - ACTIONS(518), 1, + [3668] = 3, + ACTIONS(487), 1, anon_sym_else, - STATE(143), 1, + STATE(154), 1, aux_sym_if_expression_repeat1, - ACTIONS(194), 4, + ACTIONS(348), 4, sym__newline, anon_sym_SLASH, anon_sym_PLUS, aux_sym_comment_token1, - [3911] = 6, - ACTIONS(474), 1, + [3681] = 6, + ACTIONS(461), 1, sym_identifier, - ACTIONS(476), 1, + ACTIONS(463), 1, anon_sym_LPAREN, - ACTIONS(520), 1, + ACTIONS(490), 1, sym__newline, - STATE(126), 1, + STATE(144), 1, sym_dependency, - STATE(213), 1, + STATE(227), 1, sym_dependency_expression, - STATE(314), 1, + STATE(346), 1, sym_dependencies, - [3930] = 6, - ACTIONS(230), 1, - aux_sym_string_token1, - ACTIONS(232), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(234), 1, - anon_sym_DQUOTE, - ACTIONS(236), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(522), 1, - anon_sym_QMARK, - STATE(90), 1, - sym_string, - [3949] = 6, - ACTIONS(474), 1, + [3700] = 5, + ACTIONS(17), 1, + anon_sym_LBRACK, + ACTIONS(19), 1, + anon_sym_AT, + ACTIONS(492), 1, + sym_identifier, + STATE(316), 1, + sym_recipe_header, + STATE(175), 2, + sym_attribute, + aux_sym_recipe_repeat1, + [3717] = 6, + ACTIONS(461), 1, sym_identifier, - ACTIONS(476), 1, + ACTIONS(463), 1, anon_sym_LPAREN, - ACTIONS(524), 1, + ACTIONS(494), 1, sym__newline, - STATE(126), 1, + STATE(144), 1, sym_dependency, - STATE(213), 1, + STATE(227), 1, sym_dependency_expression, - STATE(332), 1, + STATE(341), 1, sym_dependencies, - [3968] = 4, - ACTIONS(526), 1, - sym_identifier, - ACTIONS(531), 1, + [3736] = 4, + ACTIONS(496), 1, + anon_sym_RBRACK, + ACTIONS(498), 1, + sym_string_start, + ACTIONS(500), 1, + sym_raw_string_start, + STATE(140), 3, + sym__string, + sym_string_literal, + sym_raw_string_literal, + [3751] = 4, + ACTIONS(498), 1, + sym_string_start, + ACTIONS(500), 1, + sym_raw_string_start, + ACTIONS(502), 1, + anon_sym_RBRACK, + STATE(138), 3, + sym__string, + sym_string_literal, + sym_raw_string_literal, + [3766] = 4, + ACTIONS(504), 1, + sym_identifier, + ACTIONS(509), 1, anon_sym_DOLLAR, - ACTIONS(529), 2, + ACTIONS(507), 2, anon_sym_PLUS, anon_sym_STAR, - STATE(138), 2, + STATE(160), 2, sym_parameter, aux_sym_parameters_repeat1, - [3983] = 2, - ACTIONS(536), 1, + [3781] = 3, + ACTIONS(512), 1, + anon_sym_else, + STATE(163), 1, + aux_sym_if_expression_repeat1, + ACTIONS(238), 4, + sym__newline, + anon_sym_SLASH, + anon_sym_PLUS, + aux_sym_comment_token1, + [3794] = 2, + ACTIONS(516), 1, anon_sym_EQ, - ACTIONS(534), 5, + ACTIONS(514), 5, anon_sym_PLUS, anon_sym_COLON, anon_sym_DOLLAR, anon_sym_STAR, sym_identifier, - [3994] = 6, - ACTIONS(474), 1, + [3805] = 3, + ACTIONS(518), 1, + anon_sym_else, + STATE(154), 1, + aux_sym_if_expression_repeat1, + ACTIONS(256), 4, + sym__newline, + anon_sym_SLASH, + anon_sym_PLUS, + aux_sym_comment_token1, + [3818] = 6, + ACTIONS(461), 1, sym_identifier, - ACTIONS(476), 1, + ACTIONS(463), 1, anon_sym_LPAREN, - ACTIONS(538), 1, + ACTIONS(520), 1, sym__newline, - STATE(126), 1, + STATE(144), 1, sym_dependency, - STATE(213), 1, + STATE(227), 1, sym_dependency_expression, - STATE(333), 1, + STATE(331), 1, sym_dependencies, - [4013] = 2, - ACTIONS(542), 2, - aux_sym_string_token1, - anon_sym_DQUOTE, - ACTIONS(540), 4, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - [4024] = 6, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(544), 1, - anon_sym_RBRACK, - STATE(116), 1, - sym_string, - [4043] = 3, - ACTIONS(546), 1, - anon_sym_else, + [3837] = 4, + ACTIONS(144), 1, + sym_string_start, + ACTIONS(146), 1, + sym_raw_string_start, + ACTIONS(522), 1, + anon_sym_QMARK, + STATE(83), 3, + sym__string, + sym_string_literal, + sym_raw_string_literal, + [3852] = 2, + ACTIONS(526), 1, + anon_sym_EQ, + ACTIONS(524), 5, + anon_sym_PLUS, + anon_sym_COLON, + anon_sym_DOLLAR, + anon_sym_STAR, + sym_identifier, + [3863] = 4, + ACTIONS(528), 1, + anon_sym_LBRACE_LBRACE, + ACTIONS(530), 1, + sym_string_body, + ACTIONS(532), 1, + sym_command_end, + STATE(171), 2, + sym_interpolation, + aux_sym_external_command_repeat1, + [3877] = 4, + ACTIONS(166), 1, + anon_sym_LBRACE_LBRACE, + ACTIONS(534), 1, + sym_text, + ACTIONS(536), 1, + sym__newline, + STATE(193), 2, + sym_interpolation, + aux_sym_recipe_line_repeat1, + [3891] = 5, + ACTIONS(461), 1, + sym_identifier, + ACTIONS(463), 1, + anon_sym_LPAREN, STATE(143), 1, + sym_dependency, + STATE(227), 1, + sym_dependency_expression, + STATE(236), 1, + sym_dependencies, + [3907] = 3, + ACTIONS(538), 1, + anon_sym_else, + STATE(172), 1, aux_sym_if_expression_repeat1, - ACTIONS(187), 4, - sym__newline, + ACTIONS(238), 3, anon_sym_SLASH, anon_sym_PLUS, - aux_sym_comment_token1, - [4056] = 3, - ACTIONS(549), 1, + anon_sym_RBRACE, + [3919] = 4, + ACTIONS(540), 1, + anon_sym_LBRACE_LBRACE, + ACTIONS(543), 1, + sym_string_body, + ACTIONS(546), 1, + sym_command_end, + STATE(171), 2, + sym_interpolation, + aux_sym_external_command_repeat1, + [3933] = 3, + ACTIONS(548), 1, anon_sym_else, - STATE(134), 1, + STATE(178), 1, aux_sym_if_expression_repeat1, - ACTIONS(181), 4, - sym__newline, + ACTIONS(256), 3, anon_sym_SLASH, anon_sym_PLUS, + anon_sym_RBRACE, + [3945] = 5, + ACTIONS(25), 1, + sym__newline, + ACTIONS(29), 1, aux_sym_comment_token1, - [4069] = 5, - ACTIONS(17), 1, - anon_sym_LBRACK, - ACTIONS(19), 1, - anon_sym_AT, - ACTIONS(551), 1, - sym_identifier, - STATE(302), 1, - sym_recipe_header, - STATE(146), 2, - sym_attribute, - aux_sym_recipe_repeat1, - [4086] = 3, - ACTIONS(555), 1, + ACTIONS(550), 1, + anon_sym_COLON_EQ, + STATE(73), 1, + sym_eol, + STATE(95), 1, + sym_comment, + [3961] = 3, + ACTIONS(498), 1, + sym_string_start, + ACTIONS(500), 1, + sym_raw_string_start, + STATE(217), 3, + sym__string, + sym_string_literal, + sym_raw_string_literal, + [3973] = 3, + ACTIONS(554), 1, anon_sym_LBRACK, - ACTIONS(553), 2, + ACTIONS(552), 2, anon_sym_AT, sym_identifier, - STATE(146), 2, + STATE(175), 2, sym_attribute, aux_sym_recipe_repeat1, - [4098] = 4, - ACTIONS(274), 1, + [3985] = 4, + ACTIONS(166), 1, anon_sym_LBRACE_LBRACE, - ACTIONS(558), 1, - sym_text, - ACTIONS(560), 1, + ACTIONS(536), 1, sym__newline, - STATE(148), 2, - sym_interpolation, - aux_sym_recipe_line_repeat1, - [4112] = 4, - ACTIONS(562), 1, - anon_sym_LBRACE_LBRACE, - ACTIONS(565), 1, + ACTIONS(557), 1, sym_text, - ACTIONS(568), 1, - sym__newline, - STATE(148), 2, + STATE(194), 2, sym_interpolation, aux_sym_recipe_line_repeat1, - [4126] = 1, - ACTIONS(244), 5, - sym__newline, - anon_sym_SLASH, - anon_sym_PLUS, + [3999] = 3, + ACTIONS(144), 1, + sym_string_start, + ACTIONS(146), 1, + sym_raw_string_start, + STATE(85), 3, + sym__string, + sym_string_literal, + sym_raw_string_literal, + [4011] = 3, + ACTIONS(559), 1, anon_sym_else, - aux_sym_comment_token1, - [4134] = 5, - ACTIONS(474), 1, - sym_identifier, - ACTIONS(476), 1, - anon_sym_LPAREN, - STATE(121), 1, - sym_dependency, STATE(178), 1, - sym_dependencies, - STATE(213), 1, - sym_dependency_expression, - [4150] = 2, - ACTIONS(572), 1, + aux_sym_if_expression_repeat1, + ACTIONS(348), 3, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_RBRACE, + [4023] = 4, + ACTIONS(528), 1, + anon_sym_LBRACE_LBRACE, + ACTIONS(562), 1, + sym_string_body, + ACTIONS(564), 1, + sym_command_end, + STATE(167), 2, + sym_interpolation, + aux_sym_external_command_repeat1, + [4037] = 2, + ACTIONS(568), 1, anon_sym_COLON, - ACTIONS(570), 4, + ACTIONS(566), 4, anon_sym_PLUS, anon_sym_DOLLAR, anon_sym_STAR, sym_identifier, - [4160] = 2, - ACTIONS(574), 1, - anon_sym_LPAREN, - ACTIONS(101), 4, - sym__newline, - anon_sym_SLASH, - anon_sym_PLUS, - aux_sym_comment_token1, - [4170] = 1, - ACTIONS(576), 5, + [4047] = 1, + ACTIONS(570), 5, anon_sym_PLUS, anon_sym_COLON, anon_sym_DOLLAR, anon_sym_STAR, sym_identifier, - [4178] = 5, - ACTIONS(25), 1, - sym__newline, - ACTIONS(29), 1, - aux_sym_comment_token1, + [4055] = 2, + ACTIONS(572), 1, + anon_sym_COLON, + ACTIONS(566), 4, + anon_sym_PLUS, + anon_sym_DOLLAR, + anon_sym_STAR, + sym_identifier, + [4065] = 4, + ACTIONS(528), 1, + anon_sym_LBRACE_LBRACE, + ACTIONS(574), 1, + sym_string_body, + ACTIONS(576), 1, + sym_command_end, + STATE(186), 2, + sym_interpolation, + aux_sym_external_command_repeat1, + [4079] = 4, + ACTIONS(528), 1, + anon_sym_LBRACE_LBRACE, + ACTIONS(530), 1, + sym_string_body, ACTIONS(578), 1, - anon_sym_COLON_EQ, - STATE(94), 1, - sym_comment, - STATE(107), 1, - sym_eol, - [4194] = 1, - ACTIONS(220), 5, + sym_command_end, + STATE(171), 2, + sym_interpolation, + aux_sym_external_command_repeat1, + [4093] = 1, + ACTIONS(370), 5, sym__newline, anon_sym_SLASH, anon_sym_PLUS, anon_sym_else, aux_sym_comment_token1, - [4202] = 3, + [4101] = 4, + ACTIONS(528), 1, + anon_sym_LBRACE_LBRACE, + ACTIONS(530), 1, + sym_string_body, ACTIONS(580), 1, - anon_sym_else, - STATE(157), 1, - aux_sym_if_expression_repeat1, - ACTIONS(181), 3, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_RBRACE, - [4214] = 3, + sym_command_end, + STATE(171), 2, + sym_interpolation, + aux_sym_external_command_repeat1, + [4115] = 3, ACTIONS(582), 1, - anon_sym_else, - STATE(164), 1, - aux_sym_if_expression_repeat1, - ACTIONS(194), 3, + anon_sym_COMMA, + STATE(187), 1, + aux_sym_setting_repeat1, + ACTIONS(585), 3, + sym_string_start, + sym_raw_string_start, + anon_sym_RBRACK, + [4127] = 4, + ACTIONS(528), 1, + anon_sym_LBRACE_LBRACE, + ACTIONS(587), 1, + sym_string_body, + ACTIONS(589), 1, + sym_command_end, + STATE(191), 2, + sym_interpolation, + aux_sym_external_command_repeat1, + [4141] = 2, + ACTIONS(591), 1, + anon_sym_LPAREN, + ACTIONS(178), 4, + sym__newline, anon_sym_SLASH, anon_sym_PLUS, - anon_sym_RBRACE, - [4226] = 1, - ACTIONS(584), 5, - anon_sym_PLUS, - anon_sym_COLON, - anon_sym_DOLLAR, - anon_sym_STAR, - sym_identifier, - [4234] = 4, - ACTIONS(274), 1, + aux_sym_comment_token1, + [4151] = 4, + ACTIONS(528), 1, anon_sym_LBRACE_LBRACE, - ACTIONS(560), 1, + ACTIONS(593), 1, + sym_string_body, + ACTIONS(595), 1, + sym_command_end, + STATE(184), 2, + sym_interpolation, + aux_sym_external_command_repeat1, + [4165] = 4, + ACTIONS(528), 1, + anon_sym_LBRACE_LBRACE, + ACTIONS(530), 1, + sym_string_body, + ACTIONS(597), 1, + sym_command_end, + STATE(171), 2, + sym_interpolation, + aux_sym_external_command_repeat1, + [4179] = 1, + ACTIONS(374), 5, sym__newline, - ACTIONS(586), 1, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_else, + aux_sym_comment_token1, + [4187] = 4, + ACTIONS(599), 1, + anon_sym_LBRACE_LBRACE, + ACTIONS(602), 1, sym_text, - STATE(161), 2, + ACTIONS(605), 1, + sym__newline, + STATE(193), 2, sym_interpolation, aux_sym_recipe_line_repeat1, - [4248] = 5, - ACTIONS(87), 1, - aux_sym_string_token1, - ACTIONS(89), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(91), 1, - anon_sym_DQUOTE, - ACTIONS(93), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - STATE(141), 1, - sym_string, - [4264] = 4, - ACTIONS(274), 1, + [4201] = 4, + ACTIONS(166), 1, anon_sym_LBRACE_LBRACE, - ACTIONS(558), 1, + ACTIONS(534), 1, sym_text, - ACTIONS(588), 1, + ACTIONS(607), 1, sym__newline, - STATE(148), 2, + STATE(193), 2, sym_interpolation, aux_sym_recipe_line_repeat1, - [4278] = 5, - ACTIONS(230), 1, - aux_sym_string_token1, - ACTIONS(232), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(234), 1, - anon_sym_DQUOTE, - ACTIONS(236), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - STATE(103), 1, - sym_string, - [4294] = 2, - ACTIONS(590), 1, - anon_sym_COLON, - ACTIONS(570), 4, + [4215] = 1, + ACTIONS(609), 5, anon_sym_PLUS, + anon_sym_COLON, anon_sym_DOLLAR, anon_sym_STAR, sym_identifier, - [4304] = 3, - ACTIONS(592), 1, - anon_sym_else, - STATE(164), 1, - aux_sym_if_expression_repeat1, - ACTIONS(187), 3, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_RBRACE, - [4316] = 1, - ACTIONS(244), 4, + [4223] = 1, + ACTIONS(196), 4, + sym__newline, anon_sym_SLASH, anon_sym_PLUS, - anon_sym_else, - anon_sym_RBRACE, - [4323] = 4, - ACTIONS(595), 1, - aux_sym__string_token1, - ACTIONS(597), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(599), 1, - sym_string_escape, - STATE(216), 1, - aux_sym__string_repeat1, - [4336] = 4, - ACTIONS(601), 1, - anon_sym_DQUOTE, - ACTIONS(603), 1, - aux_sym__string_token1, - ACTIONS(605), 1, - sym_string_escape, - STATE(180), 1, - aux_sym__string_repeat1, - [4349] = 2, - ACTIONS(607), 1, - anon_sym_LBRACE, - ACTIONS(609), 3, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_EQ_TILDE, - [4358] = 3, + aux_sym_comment_token1, + [4230] = 1, + ACTIONS(176), 4, + sym_string_start, + sym_raw_string_start, + anon_sym_COMMA, + anon_sym_RBRACK, + [4237] = 4, ACTIONS(611), 1, - anon_sym_SLASH, - ACTIONS(613), 1, - anon_sym_PLUS, - ACTIONS(324), 2, - sym__newline, aux_sym_comment_token1, - [4369] = 4, - ACTIONS(25), 1, + ACTIONS(613), 1, sym__newline, - ACTIONS(29), 1, - aux_sym_comment_token1, - STATE(94), 1, - sym_comment, - STATE(98), 1, + STATE(268), 1, sym_eol, - [4382] = 2, - ACTIONS(615), 1, - anon_sym_LPAREN, - ACTIONS(101), 3, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_RBRACE, - [4391] = 1, - ACTIONS(220), 4, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_else, - anon_sym_RBRACE, - [4398] = 4, + STATE(288), 1, + sym_comment, + [4250] = 4, ACTIONS(25), 1, sym__newline, ACTIONS(29), 1, aux_sym_comment_token1, - STATE(94), 1, - sym_comment, - STATE(95), 1, + STATE(82), 1, sym_eol, - [4411] = 4, - ACTIONS(617), 1, - aux_sym_comment_token1, - ACTIONS(619), 1, - sym__newline, - STATE(226), 1, + STATE(95), 1, sym_comment, - STATE(229), 1, - sym_eol, - [4424] = 4, + [4263] = 3, + ACTIONS(617), 1, + sym_string_end, + STATE(228), 1, + aux_sym_string_literal_repeat1, + ACTIONS(615), 2, + sym_string_body, + sym_escape_sequence, + [4274] = 4, ACTIONS(25), 1, sym__newline, ACTIONS(29), 1, aux_sym_comment_token1, - STATE(81), 1, + STATE(79), 1, sym_eol, - STATE(94), 1, + STATE(95), 1, sym_comment, - [4437] = 4, - ACTIONS(621), 1, - anon_sym_DQUOTE, - ACTIONS(623), 1, - aux_sym__string_token1, - ACTIONS(625), 1, - sym_string_escape, - STATE(196), 1, - aux_sym__string_repeat1, - [4450] = 1, - ACTIONS(109), 4, + [4287] = 1, + ACTIONS(396), 4, sym__newline, anon_sym_SLASH, anon_sym_PLUS, aux_sym_comment_token1, - [4457] = 1, - ACTIONS(501), 4, - sym__newline, - anon_sym_LPAREN, - anon_sym_AMP_AMP, - sym_identifier, - [4464] = 4, + [4294] = 3, ACTIONS(621), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(627), 1, - aux_sym__string_token1, - ACTIONS(629), 1, - sym_string_escape, - STATE(198), 1, - aux_sym__string_repeat1, - [4477] = 4, - ACTIONS(597), 1, - anon_sym_DQUOTE, - ACTIONS(631), 1, - aux_sym__string_token1, - ACTIONS(633), 1, - sym_string_escape, - STATE(193), 1, - aux_sym__string_repeat1, - [4490] = 1, - ACTIONS(127), 4, - sym__newline, - anon_sym_SLASH, - anon_sym_PLUS, - aux_sym_comment_token1, - [4497] = 1, - ACTIONS(635), 4, - sym__newline, - anon_sym_LPAREN, - anon_sym_AMP_AMP, - sym_identifier, - [4504] = 1, - ACTIONS(105), 4, + sym_string_end, + STATE(200), 1, + aux_sym_string_literal_repeat1, + ACTIONS(619), 2, + sym_string_body, + sym_escape_sequence, + [4305] = 4, + ACTIONS(25), 1, sym__newline, - anon_sym_SLASH, - anon_sym_PLUS, + ACTIONS(29), 1, aux_sym_comment_token1, - [4511] = 1, - ACTIONS(637), 4, - sym__newline, - anon_sym_LPAREN, - anon_sym_AMP_AMP, - sym_identifier, - [4518] = 4, + STATE(81), 1, + sym_eol, + STATE(95), 1, + sym_comment, + [4318] = 4, ACTIONS(25), 1, sym__newline, ACTIONS(29), 1, aux_sym_comment_token1, - STATE(94), 1, - sym_comment, - STATE(96), 1, + STATE(90), 1, sym_eol, - [4531] = 1, - ACTIONS(252), 4, + STATE(95), 1, + sym_comment, + [4331] = 1, + ACTIONS(390), 4, sym__newline, anon_sym_SLASH, anon_sym_PLUS, aux_sym_comment_token1, - [4538] = 2, - ACTIONS(613), 1, + [4338] = 3, + ACTIONS(623), 1, + anon_sym_SLASH, + ACTIONS(625), 1, anon_sym_PLUS, - ACTIONS(252), 3, + ACTIONS(428), 2, sym__newline, - anon_sym_SLASH, aux_sym_comment_token1, - [4547] = 1, - ACTIONS(173), 4, + [4349] = 4, + ACTIONS(25), 1, sym__newline, - anon_sym_SLASH, - anon_sym_PLUS, + ACTIONS(29), 1, aux_sym_comment_token1, - [4554] = 4, + STATE(78), 1, + sym_eol, + STATE(95), 1, + sym_comment, + [4362] = 4, ACTIONS(25), 1, sym__newline, ACTIONS(29), 1, aux_sym_comment_token1, - STATE(88), 1, + STATE(77), 1, sym_eol, - STATE(94), 1, + STATE(95), 1, sym_comment, - [4567] = 4, + [4375] = 3, + ACTIONS(627), 1, + sym_string_end, + STATE(228), 1, + aux_sym_string_literal_repeat1, + ACTIONS(615), 2, + sym_string_body, + sym_escape_sequence, + [4386] = 3, + ACTIONS(631), 1, + sym_string_end, + STATE(210), 1, + aux_sym_string_literal_repeat1, + ACTIONS(629), 2, + sym_string_body, + sym_escape_sequence, + [4397] = 4, ACTIONS(25), 1, sym__newline, ACTIONS(29), 1, aux_sym_comment_token1, - STATE(80), 1, + STATE(76), 1, sym_eol, - STATE(94), 1, + STATE(95), 1, sym_comment, - [4580] = 1, - ACTIONS(137), 4, + [4410] = 1, + ACTIONS(386), 4, sym__newline, anon_sym_SLASH, anon_sym_PLUS, aux_sym_comment_token1, - [4587] = 4, - ACTIONS(601), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(639), 1, - aux_sym__string_token1, - ACTIONS(641), 1, - sym_string_escape, - STATE(166), 1, - aux_sym__string_repeat1, - [4600] = 4, - ACTIONS(643), 1, - anon_sym_DQUOTE, - ACTIONS(645), 1, - aux_sym__string_token1, - ACTIONS(648), 1, - sym_string_escape, - STATE(193), 1, - aux_sym__string_repeat1, - [4613] = 4, - ACTIONS(25), 1, + [4417] = 1, + ACTIONS(178), 4, sym__newline, - ACTIONS(29), 1, + anon_sym_SLASH, + anon_sym_PLUS, aux_sym_comment_token1, - STATE(87), 1, - sym_eol, - STATE(94), 1, - sym_comment, - [4626] = 4, + [4424] = 4, ACTIONS(25), 1, sym__newline, ACTIONS(29), 1, aux_sym_comment_token1, - STATE(86), 1, + STATE(71), 1, sym_eol, - STATE(94), 1, + STATE(95), 1, sym_comment, - [4639] = 4, - ACTIONS(631), 1, - aux_sym__string_token1, + [4437] = 3, ACTIONS(633), 1, - sym_string_escape, - ACTIONS(651), 1, - anon_sym_DQUOTE, - STATE(193), 1, - aux_sym__string_repeat1, - [4652] = 1, - ACTIONS(123), 4, + sym_string_end, + STATE(228), 1, + aux_sym_string_literal_repeat1, + ACTIONS(615), 2, + sym_string_body, + sym_escape_sequence, + [4448] = 1, + ACTIONS(635), 4, + sym_string_start, + sym_raw_string_start, + anon_sym_COMMA, + anon_sym_RBRACK, + [4455] = 3, + ACTIONS(639), 1, + sym_string_end, + STATE(216), 1, + aux_sym_string_literal_repeat1, + ACTIONS(637), 2, + sym_string_body, + sym_escape_sequence, + [4466] = 1, + ACTIONS(641), 4, + sym__newline, + anon_sym_LPAREN, + anon_sym_AMP_AMP, + sym_identifier, + [4473] = 1, + ACTIONS(188), 4, sym__newline, anon_sym_SLASH, anon_sym_PLUS, aux_sym_comment_token1, - [4659] = 4, - ACTIONS(595), 1, - aux_sym__string_token1, - ACTIONS(599), 1, - sym_string_escape, - ACTIONS(651), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - STATE(216), 1, - aux_sym__string_repeat1, - [4672] = 1, - ACTIONS(260), 4, + [4480] = 3, + ACTIONS(645), 1, + sym_string_end, + STATE(235), 1, + aux_sym_string_literal_repeat1, + ACTIONS(643), 2, + sym_string_body, + sym_escape_sequence, + [4491] = 1, + ACTIONS(647), 4, sym__newline, + anon_sym_LPAREN, + anon_sym_AMP_AMP, + sym_identifier, + [4498] = 3, + ACTIONS(649), 1, + sym_string_end, + STATE(228), 1, + aux_sym_string_literal_repeat1, + ACTIONS(615), 2, + sym_string_body, + sym_escape_sequence, + [4509] = 3, + ACTIONS(653), 1, + sym_string_end, + STATE(223), 1, + aux_sym_string_literal_repeat1, + ACTIONS(651), 2, + sym_string_body, + sym_escape_sequence, + [4520] = 1, + ACTIONS(370), 4, anon_sym_SLASH, anon_sym_PLUS, - aux_sym_comment_token1, - [4679] = 4, - ACTIONS(617), 1, - aux_sym_comment_token1, - ACTIONS(619), 1, + anon_sym_else, + anon_sym_RBRACE, + [4527] = 1, + ACTIONS(374), 4, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_else, + anon_sym_RBRACE, + [4534] = 1, + ACTIONS(655), 4, sym__newline, - STATE(226), 1, - sym_comment, - STATE(266), 1, - sym_eol, - [4692] = 1, - ACTIONS(113), 4, + anon_sym_LPAREN, + anon_sym_AMP_AMP, + sym_identifier, + [4541] = 3, + ACTIONS(660), 1, + sym_string_end, + STATE(228), 1, + aux_sym_string_literal_repeat1, + ACTIONS(657), 2, + sym_string_body, + sym_escape_sequence, + [4552] = 4, + ACTIONS(25), 1, sym__newline, + ACTIONS(29), 1, + aux_sym_comment_token1, + STATE(80), 1, + sym_eol, + STATE(95), 1, + sym_comment, + [4565] = 1, + ACTIONS(174), 4, + sym_string_start, + sym_raw_string_start, + anon_sym_COMMA, + anon_sym_RBRACK, + [4572] = 2, + ACTIONS(662), 1, + anon_sym_LPAREN, + ACTIONS(178), 3, anon_sym_SLASH, anon_sym_PLUS, + anon_sym_RBRACE, + [4581] = 4, + ACTIONS(611), 1, aux_sym_comment_token1, - [4699] = 4, - ACTIONS(653), 1, - anon_sym_DQUOTE, - ACTIONS(655), 1, - aux_sym__string_token1, - ACTIONS(657), 1, - sym_string_escape, - STATE(204), 1, - aux_sym__string_repeat1, - [4712] = 4, - ACTIONS(653), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(659), 1, - aux_sym__string_token1, - ACTIONS(661), 1, - sym_string_escape, - STATE(208), 1, - aux_sym__string_repeat1, - [4725] = 4, - ACTIONS(631), 1, - aux_sym__string_token1, - ACTIONS(633), 1, - sym_string_escape, - ACTIONS(663), 1, - anon_sym_DQUOTE, - STATE(193), 1, - aux_sym__string_repeat1, - [4738] = 1, - ACTIONS(177), 4, + ACTIONS(613), 1, sym__newline, + STATE(261), 1, + sym_eol, + STATE(288), 1, + sym_comment, + [4594] = 2, + ACTIONS(664), 1, + anon_sym_LBRACE, + ACTIONS(666), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_EQ_TILDE, + [4603] = 3, + ACTIONS(623), 1, anon_sym_SLASH, + ACTIONS(625), 1, anon_sym_PLUS, + ACTIONS(418), 2, + sym__newline, aux_sym_comment_token1, - [4745] = 4, + [4614] = 3, + ACTIONS(668), 1, + sym_string_end, + STATE(228), 1, + aux_sym_string_literal_repeat1, + ACTIONS(615), 2, + sym_string_body, + sym_escape_sequence, + [4625] = 1, + ACTIONS(451), 4, + sym__newline, + anon_sym_LPAREN, + anon_sym_AMP_AMP, + sym_identifier, + [4632] = 4, ACTIONS(25), 1, sym__newline, ACTIONS(29), 1, aux_sym_comment_token1, - STATE(84), 1, + STATE(91), 1, sym_eol, - STATE(94), 1, + STATE(95), 1, sym_comment, - [4758] = 1, - ACTIONS(101), 4, + [4645] = 1, + ACTIONS(670), 4, + sym__newline, + anon_sym_LPAREN, + anon_sym_AMP_AMP, + sym_identifier, + [4652] = 1, + ACTIONS(400), 4, sym__newline, anon_sym_SLASH, anon_sym_PLUS, aux_sym_comment_token1, - [4765] = 4, - ACTIONS(595), 1, - aux_sym__string_token1, - ACTIONS(599), 1, - sym_string_escape, - ACTIONS(663), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - STATE(216), 1, - aux_sym__string_repeat1, - [4778] = 4, + [4659] = 2, + ACTIONS(625), 1, + anon_sym_PLUS, + ACTIONS(400), 3, + sym__newline, + anon_sym_SLASH, + aux_sym_comment_token1, + [4668] = 4, ACTIONS(25), 1, sym__newline, ACTIONS(29), 1, aux_sym_comment_token1, - STATE(83), 1, - sym_eol, STATE(94), 1, + sym_eol, + STATE(95), 1, sym_comment, - [4791] = 1, - ACTIONS(256), 4, + [4681] = 1, + ACTIONS(184), 4, + sym_string_start, + sym_raw_string_start, + anon_sym_COMMA, + anon_sym_RBRACK, + [4688] = 1, + ACTIONS(182), 4, + sym_string_start, + sym_raw_string_start, + anon_sym_COMMA, + anon_sym_RBRACK, + [4695] = 1, + ACTIONS(202), 4, sym__newline, anon_sym_SLASH, anon_sym_PLUS, aux_sym_comment_token1, - [4798] = 1, - ACTIONS(248), 4, + [4702] = 1, + ACTIONS(186), 4, sym__newline, anon_sym_SLASH, anon_sym_PLUS, aux_sym_comment_token1, - [4805] = 3, - ACTIONS(611), 1, - anon_sym_SLASH, - ACTIONS(613), 1, - anon_sym_PLUS, - ACTIONS(320), 2, - sym__newline, - aux_sym_comment_token1, - [4816] = 1, - ACTIONS(665), 4, - sym__newline, - anon_sym_LPAREN, - anon_sym_AMP_AMP, - sym_identifier, - [4823] = 4, + [4709] = 4, ACTIONS(25), 1, sym__newline, ACTIONS(29), 1, aux_sym_comment_token1, - STATE(94), 1, - sym_comment, - STATE(100), 1, + STATE(72), 1, sym_eol, - [4836] = 4, - ACTIONS(25), 1, - sym__newline, - ACTIONS(29), 1, - aux_sym_comment_token1, - STATE(94), 1, + STATE(95), 1, sym_comment, - STATE(104), 1, - sym_eol, - [4849] = 4, - ACTIONS(643), 1, - anon_sym_DQUOTE_DQUOTE_DQUOTE, - ACTIONS(667), 1, - aux_sym__string_token1, - ACTIONS(670), 1, - sym_string_escape, - STATE(216), 1, - aux_sym__string_repeat1, - [4862] = 1, - ACTIONS(673), 4, + [4722] = 1, + ACTIONS(226), 4, sym__newline, - anon_sym_LPAREN, - anon_sym_AMP_AMP, - sym_identifier, - [4869] = 3, - ACTIONS(675), 1, - anon_sym_COMMA, - ACTIONS(677), 1, - anon_sym_RBRACK, - STATE(275), 1, - aux_sym_attribute_repeat1, - [4879] = 1, - ACTIONS(248), 3, + anon_sym_SLASH, + anon_sym_PLUS, + aux_sym_comment_token1, + [4729] = 1, + ACTIONS(226), 3, anon_sym_SLASH, anon_sym_PLUS, anon_sym_RBRACE, - [4885] = 3, - ACTIONS(679), 1, - anon_sym_COMMA, - ACTIONS(682), 1, - anon_sym_RPAREN, - STATE(220), 1, - aux_sym_sequence_repeat1, - [4895] = 3, - ACTIONS(684), 1, + [4735] = 3, + ACTIONS(376), 1, + sym_identifier, + ACTIONS(384), 1, + anon_sym_DOLLAR, + STATE(325), 1, + sym_parameter, + [4745] = 3, + ACTIONS(672), 1, + sym_string_body, + ACTIONS(674), 1, + sym_raw_string_end, + STATE(274), 1, + aux_sym_raw_string_literal_repeat1, + [4755] = 3, + ACTIONS(676), 1, + sym_string_body, + ACTIONS(678), 1, + sym_raw_string_end, + STATE(250), 1, + aux_sym_raw_string_literal_repeat1, + [4765] = 3, + ACTIONS(680), 1, anon_sym_if, - ACTIONS(686), 1, + ACTIONS(682), 1, anon_sym_LBRACE, - STATE(219), 1, + STATE(122), 1, sym__braced_expr, - [4905] = 3, - ACTIONS(684), 1, - anon_sym_if, + [4775] = 2, ACTIONS(686), 1, - anon_sym_LBRACE, - STATE(276), 1, - sym__braced_expr, - [4915] = 3, + sym__newline, + ACTIONS(684), 2, + anon_sym_LBRACE_LBRACE, + sym_text, + [4783] = 3, + ACTIONS(672), 1, + sym_string_body, ACTIONS(688), 1, - aux_sym__raw_string_indented_token1, + sym_raw_string_end, + STATE(274), 1, + aux_sym_raw_string_literal_repeat1, + [4793] = 3, ACTIONS(690), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(260), 1, - aux_sym__raw_string_indented_repeat1, - [4925] = 3, + anon_sym_if, ACTIONS(692), 1, - aux_sym__raw_string_indented_token1, + anon_sym_LBRACE, + STATE(206), 1, + sym__braced_expr, + [4803] = 3, ACTIONS(694), 1, - anon_sym_BQUOTE, - STATE(232), 1, - aux_sym__raw_string_indented_repeat1, - [4935] = 3, + anon_sym_COMMA, ACTIONS(696), 1, - aux_sym__raw_string_indented_token1, + anon_sym_RPAREN, + STATE(269), 1, + aux_sym_sequence_repeat1, + [4813] = 3, ACTIONS(698), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(223), 1, - aux_sym__raw_string_indented_repeat1, - [4945] = 1, - ACTIONS(378), 3, - anon_sym_LBRACK, - anon_sym_AT, - sym_identifier, - [4951] = 3, + anon_sym_COMMA, ACTIONS(700), 1, - aux_sym__raw_string_indented_token1, + anon_sym_RBRACK, + STATE(267), 1, + aux_sym_attribute_repeat1, + [4823] = 3, + ACTIONS(672), 1, + sym_string_body, ACTIONS(702), 1, - anon_sym_BQUOTE, - STATE(224), 1, - aux_sym__raw_string_indented_repeat1, - [4961] = 1, - ACTIONS(370), 3, - anon_sym_LBRACK, - anon_sym_AT, - sym_identifier, - [4967] = 1, - ACTIONS(704), 3, + sym_raw_string_end, + STATE(274), 1, + aux_sym_raw_string_literal_repeat1, + [4833] = 3, + ACTIONS(704), 1, + sym_string_body, + ACTIONS(706), 1, + sym_raw_string_end, + STATE(258), 1, + aux_sym_raw_string_literal_repeat1, + [4843] = 3, + ACTIONS(680), 1, + anon_sym_if, + ACTIONS(682), 1, + anon_sym_LBRACE, + STATE(119), 1, + sym__braced_expr, + [4853] = 1, + ACTIONS(708), 3, anon_sym_LBRACK, anon_sym_AT, sym_identifier, - [4973] = 3, - ACTIONS(706), 1, - aux_sym__raw_string_indented_token1, - ACTIONS(708), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(235), 1, - aux_sym__raw_string_indented_repeat1, - [4983] = 3, - ACTIONS(710), 1, - aux_sym__raw_string_indented_token1, + [4859] = 2, ACTIONS(712), 1, - anon_sym_BQUOTE, - STATE(247), 1, - aux_sym__raw_string_indented_repeat1, - [4993] = 3, - ACTIONS(714), 1, - aux_sym__raw_string_indented_token1, - ACTIONS(717), 1, - anon_sym_BQUOTE, - STATE(232), 1, - aux_sym__raw_string_indented_repeat1, - [5003] = 3, - ACTIONS(663), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(719), 1, - aux_sym__raw_string_indented_token1, - STATE(238), 1, - aux_sym__raw_string_indented_repeat1, - [5013] = 2, - ACTIONS(723), 1, sym__newline, - ACTIONS(721), 2, + ACTIONS(710), 2, anon_sym_LBRACE_LBRACE, sym_text, - [5021] = 3, - ACTIONS(688), 1, - aux_sym__raw_string_indented_token1, - ACTIONS(725), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(260), 1, - aux_sym__raw_string_indented_repeat1, - [5031] = 3, - ACTIONS(727), 1, - anon_sym_COMMA, - ACTIONS(729), 1, - anon_sym_RPAREN, - STATE(265), 1, - aux_sym_sequence_repeat1, - [5041] = 3, - ACTIONS(731), 1, + [4867] = 3, + ACTIONS(714), 1, anon_sym_if, - ACTIONS(733), 1, + ACTIONS(716), 1, anon_sym_LBRACE, - STATE(211), 1, + STATE(114), 1, sym__braced_expr, - [5051] = 3, - ACTIONS(717), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(735), 1, - aux_sym__raw_string_indented_token1, - STATE(238), 1, - aux_sym__raw_string_indented_repeat1, - [5061] = 3, - ACTIONS(651), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(719), 1, - aux_sym__raw_string_indented_token1, - STATE(238), 1, - aux_sym__raw_string_indented_repeat1, - [5071] = 3, - ACTIONS(653), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(738), 1, - aux_sym__raw_string_indented_token1, - STATE(233), 1, - aux_sym__raw_string_indented_repeat1, - [5081] = 3, - ACTIONS(740), 1, + [4877] = 3, + ACTIONS(718), 1, anon_sym_if, - ACTIONS(742), 1, + ACTIONS(720), 1, anon_sym_LBRACE, - STATE(45), 1, + STATE(289), 1, sym__braced_expr, - [5091] = 3, - ACTIONS(740), 1, + [4887] = 3, + ACTIONS(698), 1, + anon_sym_COMMA, + ACTIONS(722), 1, + anon_sym_RBRACK, + STATE(257), 1, + aux_sym_attribute_repeat1, + [4897] = 3, + ACTIONS(718), 1, anon_sym_if, - ACTIONS(742), 1, + ACTIONS(720), 1, anon_sym_LBRACE, - STATE(48), 1, + STATE(287), 1, sym__braced_expr, - [5101] = 3, - ACTIONS(688), 1, - aux_sym__raw_string_indented_token1, - ACTIONS(744), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(260), 1, - aux_sym__raw_string_indented_repeat1, - [5111] = 3, - ACTIONS(692), 1, - aux_sym__raw_string_indented_token1, - ACTIONS(746), 1, - anon_sym_BQUOTE, - STATE(232), 1, - aux_sym__raw_string_indented_repeat1, - [5121] = 3, - ACTIONS(748), 1, - aux_sym__raw_string_indented_token1, - ACTIONS(750), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - STATE(243), 1, - aux_sym__raw_string_indented_repeat1, - [5131] = 3, - ACTIONS(752), 1, - aux_sym__raw_string_indented_token1, - ACTIONS(754), 1, - anon_sym_BQUOTE, - STATE(244), 1, - aux_sym__raw_string_indented_repeat1, - [5141] = 3, - ACTIONS(692), 1, - aux_sym__raw_string_indented_token1, - ACTIONS(756), 1, - anon_sym_BQUOTE, - STATE(232), 1, - aux_sym__raw_string_indented_repeat1, - [5151] = 2, - ACTIONS(760), 1, - sym__newline, - ACTIONS(758), 2, - anon_sym_LBRACE_LBRACE, - sym_text, - [5159] = 3, - ACTIONS(438), 1, - sym_identifier, - ACTIONS(446), 1, - anon_sym_DOLLAR, - STATE(290), 1, - sym_parameter, - [5169] = 3, - ACTIONS(675), 1, + [4907] = 3, + ACTIONS(724), 1, anon_sym_COMMA, - ACTIONS(762), 1, + ACTIONS(727), 1, anon_sym_RBRACK, - STATE(218), 1, + STATE(267), 1, aux_sym_attribute_repeat1, - [5179] = 1, - ACTIONS(75), 3, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_RBRACE, - [5185] = 1, - ACTIONS(71), 3, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_RBRACE, - [5191] = 3, - ACTIONS(597), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(719), 1, - aux_sym__raw_string_indented_token1, - STATE(238), 1, - aux_sym__raw_string_indented_repeat1, - [5201] = 3, - ACTIONS(601), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(764), 1, - aux_sym__raw_string_indented_token1, - STATE(253), 1, - aux_sym__raw_string_indented_repeat1, - [5211] = 3, - ACTIONS(320), 1, + [4917] = 1, + ACTIONS(729), 3, + anon_sym_LBRACK, + anon_sym_AT, + sym_identifier, + [4923] = 3, + ACTIONS(694), 1, + anon_sym_COMMA, + ACTIONS(731), 1, + anon_sym_RPAREN, + STATE(277), 1, + aux_sym_sequence_repeat1, + [4933] = 3, + ACTIONS(428), 1, anon_sym_RBRACE, - ACTIONS(766), 1, - anon_sym_SLASH, - ACTIONS(768), 1, - anon_sym_PLUS, - [5221] = 1, - ACTIONS(256), 3, + ACTIONS(733), 1, anon_sym_SLASH, + ACTIONS(735), 1, anon_sym_PLUS, - anon_sym_RBRACE, - [5227] = 1, - ACTIONS(101), 3, + [4943] = 1, + ACTIONS(386), 3, anon_sym_SLASH, anon_sym_PLUS, anon_sym_RBRACE, - [5233] = 1, - ACTIONS(177), 3, + [4949] = 1, + ACTIONS(178), 3, anon_sym_SLASH, anon_sym_PLUS, anon_sym_RBRACE, - [5239] = 1, - ACTIONS(67), 3, + [4955] = 3, + ACTIONS(690), 1, + anon_sym_if, + ACTIONS(692), 1, + anon_sym_LBRACE, + STATE(202), 1, + sym__braced_expr, + [4965] = 3, + ACTIONS(737), 1, + sym_string_body, + ACTIONS(740), 1, + sym_raw_string_end, + STATE(274), 1, + aux_sym_raw_string_literal_repeat1, + [4975] = 1, + ACTIONS(202), 3, anon_sym_SLASH, anon_sym_PLUS, anon_sym_RBRACE, - [5245] = 3, - ACTIONS(717), 1, - anon_sym_BQUOTE_BQUOTE_BQUOTE, - ACTIONS(770), 1, - aux_sym__raw_string_indented_token1, - STATE(260), 1, - aux_sym__raw_string_indented_repeat1, - [5255] = 3, - ACTIONS(324), 1, + [4981] = 3, + ACTIONS(418), 1, anon_sym_RBRACE, - ACTIONS(766), 1, + ACTIONS(733), 1, anon_sym_SLASH, - ACTIONS(768), 1, + ACTIONS(735), 1, anon_sym_PLUS, - [5265] = 1, - ACTIONS(109), 3, + [4991] = 3, + ACTIONS(742), 1, + anon_sym_COMMA, + ACTIONS(745), 1, + anon_sym_RPAREN, + STATE(277), 1, + aux_sym_sequence_repeat1, + [5001] = 3, + ACTIONS(747), 1, + sym_string_body, + ACTIONS(749), 1, + sym_raw_string_end, + STATE(254), 1, + aux_sym_raw_string_literal_repeat1, + [5011] = 3, + ACTIONS(672), 1, + sym_string_body, + ACTIONS(751), 1, + sym_raw_string_end, + STATE(274), 1, + aux_sym_raw_string_literal_repeat1, + [5021] = 1, + ACTIONS(196), 3, anon_sym_SLASH, anon_sym_PLUS, anon_sym_RBRACE, - [5271] = 1, - ACTIONS(105), 3, + [5027] = 1, + ACTIONS(186), 3, anon_sym_SLASH, anon_sym_PLUS, anon_sym_RBRACE, - [5277] = 2, - ACTIONS(768), 1, + [5033] = 2, + ACTIONS(735), 1, anon_sym_PLUS, - ACTIONS(252), 2, + ACTIONS(400), 2, anon_sym_SLASH, anon_sym_RBRACE, - [5285] = 3, - ACTIONS(727), 1, - anon_sym_COMMA, - ACTIONS(773), 1, - anon_sym_RPAREN, - STATE(220), 1, - aux_sym_sequence_repeat1, - [5295] = 1, - ACTIONS(775), 3, - anon_sym_LBRACK, - anon_sym_AT, - sym_identifier, - [5301] = 1, - ACTIONS(113), 3, + [5041] = 1, + ACTIONS(400), 3, anon_sym_SLASH, anon_sym_PLUS, anon_sym_RBRACE, - [5307] = 1, - ACTIONS(123), 3, + [5047] = 3, + ACTIONS(672), 1, + sym_string_body, + ACTIONS(753), 1, + sym_raw_string_end, + STATE(274), 1, + aux_sym_raw_string_literal_repeat1, + [5057] = 1, + ACTIONS(188), 3, anon_sym_SLASH, anon_sym_PLUS, anon_sym_RBRACE, - [5313] = 1, - ACTIONS(137), 3, + [5063] = 1, + ACTIONS(686), 3, + sym_string_body, + sym_command_end, + anon_sym_LBRACE_LBRACE, + [5069] = 1, + ACTIONS(396), 3, anon_sym_SLASH, anon_sym_PLUS, anon_sym_RBRACE, - [5319] = 1, - ACTIONS(173), 3, + [5075] = 1, + ACTIONS(336), 3, + anon_sym_LBRACK, + anon_sym_AT, + sym_identifier, + [5081] = 1, + ACTIONS(390), 3, anon_sym_SLASH, anon_sym_PLUS, anon_sym_RBRACE, - [5325] = 3, - ACTIONS(731), 1, - anon_sym_if, - ACTIONS(733), 1, - anon_sym_LBRACE, - STATE(199), 1, - sym__braced_expr, - [5335] = 1, - ACTIONS(252), 3, + [5087] = 3, + ACTIONS(755), 1, + sym_string_body, + ACTIONS(757), 1, + sym_raw_string_end, + STATE(284), 1, + aux_sym_raw_string_literal_repeat1, + [5097] = 1, + ACTIONS(184), 3, anon_sym_SLASH, anon_sym_PLUS, anon_sym_RBRACE, - [5341] = 3, - ACTIONS(621), 1, - anon_sym_SQUOTE_SQUOTE_SQUOTE, - ACTIONS(777), 1, - aux_sym__raw_string_indented_token1, - STATE(239), 1, - aux_sym__raw_string_indented_repeat1, - [5351] = 1, - ACTIONS(127), 3, + [5103] = 1, + ACTIONS(182), 3, anon_sym_SLASH, anon_sym_PLUS, anon_sym_RBRACE, - [5357] = 3, - ACTIONS(779), 1, - anon_sym_COMMA, - ACTIONS(782), 1, - anon_sym_RBRACK, - STATE(275), 1, - aux_sym_attribute_repeat1, - [5367] = 1, - ACTIONS(260), 3, + [5109] = 1, + ACTIONS(176), 3, anon_sym_SLASH, anon_sym_PLUS, anon_sym_RBRACE, - [5373] = 1, - ACTIONS(784), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [5378] = 1, - ACTIONS(682), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [5383] = 2, - ACTIONS(786), 1, - sym_identifier, - STATE(102), 1, - sym_assignment, - [5390] = 2, - ACTIONS(788), 1, - sym_identifier, - ACTIONS(790), 1, - anon_sym_QMARK, - [5397] = 2, - ACTIONS(792), 1, + [5115] = 1, + ACTIONS(174), 3, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_RBRACE, + [5121] = 1, + ACTIONS(312), 3, + anon_sym_LBRACK, + anon_sym_AT, sym_identifier, - ACTIONS(794), 1, - anon_sym_shell, - [5404] = 2, - ACTIONS(686), 1, + [5127] = 3, + ACTIONS(714), 1, + anon_sym_if, + ACTIONS(716), 1, anon_sym_LBRACE, - STATE(172), 1, + STATE(111), 1, sym__braced_expr, - [5411] = 2, - ACTIONS(733), 1, + [5137] = 3, + ACTIONS(759), 1, + sym_string_body, + ACTIONS(761), 1, + sym_raw_string_end, + STATE(279), 1, + aux_sym_raw_string_literal_repeat1, + [5147] = 2, + ACTIONS(720), 1, anon_sym_LBRACE, - STATE(155), 1, + STATE(225), 1, sym__braced_expr, - [5418] = 2, - ACTIONS(686), 1, + [5154] = 2, + ACTIONS(716), 1, anon_sym_LBRACE, - STATE(156), 1, + STATE(105), 1, sym__braced_expr, - [5425] = 2, - ACTIONS(742), 1, + [5161] = 2, + ACTIONS(720), 1, anon_sym_LBRACE, - STATE(37), 1, + STATE(170), 1, sym__braced_expr, - [5432] = 2, - ACTIONS(742), 1, + [5168] = 2, + ACTIONS(763), 1, + sym_identifier, + STATE(84), 1, + sym_assignment, + [5175] = 1, + ACTIONS(745), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [5180] = 1, + ACTIONS(765), 2, + sym__newline, + aux_sym_comment_token1, + [5185] = 1, + ACTIONS(767), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [5190] = 2, + ACTIONS(682), 1, anon_sym_LBRACE, - STATE(24), 1, + STATE(93), 1, sym__braced_expr, - [5439] = 2, - ACTIONS(733), 1, + [5197] = 2, + ACTIONS(692), 1, anon_sym_LBRACE, - STATE(144), 1, + STATE(161), 1, sym__braced_expr, - [5446] = 1, - ACTIONS(796), 2, - sym__newline, - aux_sym_comment_token1, - [5451] = 1, - ACTIONS(798), 1, - anon_sym_RPAREN, - [5455] = 1, - ACTIONS(800), 1, - anon_sym_COLON, - [5459] = 1, - ACTIONS(802), 1, - anon_sym_COLON_EQ, - [5463] = 1, - ACTIONS(804), 1, - anon_sym_RPAREN, - [5467] = 1, - ACTIONS(806), 1, + [5204] = 2, + ACTIONS(692), 1, + anon_sym_LBRACE, + STATE(185), 1, + sym__braced_expr, + [5211] = 2, + ACTIONS(682), 1, + anon_sym_LBRACE, + STATE(107), 1, + sym__braced_expr, + [5218] = 2, + ACTIONS(769), 1, + sym_identifier, + ACTIONS(771), 1, + anon_sym_shell, + [5225] = 2, + ACTIONS(773), 1, + sym_identifier, + ACTIONS(775), 1, + anon_sym_QMARK, + [5232] = 2, + ACTIONS(716), 1, + anon_sym_LBRACE, + STATE(70), 1, + sym__braced_expr, + [5239] = 1, + ACTIONS(777), 1, + sym_identifier, + [5243] = 1, + ACTIONS(779), 1, anon_sym_RBRACE_RBRACE, - [5471] = 1, - ACTIONS(808), 1, + [5247] = 1, + ACTIONS(781), 1, sym_identifier, - [5475] = 1, - ACTIONS(810), 1, - anon_sym_COLON, - [5479] = 1, - ACTIONS(812), 1, + [5251] = 1, + ACTIONS(783), 1, anon_sym_RPAREN, - [5483] = 1, - ACTIONS(440), 1, + [5255] = 1, + ACTIONS(785), 1, + sym__newline, + [5259] = 1, + ACTIONS(787), 1, + anon_sym_RBRACE, + [5263] = 1, + ACTIONS(789), 1, + anon_sym_COLON, + [5267] = 1, + ACTIONS(378), 1, anon_sym_COLON_EQ, - [5487] = 1, - ACTIONS(814), 1, - anon_sym_RBRACK, - [5491] = 1, - ACTIONS(572), 1, + [5271] = 1, + ACTIONS(568), 1, anon_sym_COLON, - [5495] = 1, - ACTIONS(816), 1, + [5275] = 1, + ACTIONS(791), 1, + anon_sym_RPAREN, + [5279] = 1, + ACTIONS(793), 1, anon_sym_RPAREN, - [5499] = 1, - ACTIONS(818), 1, + [5283] = 1, + ACTIONS(795), 1, + anon_sym_RPAREN, + [5287] = 1, + ACTIONS(797), 1, + anon_sym_RBRACE, + [5291] = 1, + ACTIONS(799), 1, + anon_sym_COLON, + [5295] = 1, + ACTIONS(801), 1, + anon_sym_RBRACK, + [5299] = 1, + ACTIONS(803), 1, anon_sym_RBRACE, - [5503] = 1, - ACTIONS(820), 1, + [5303] = 1, + ACTIONS(805), 1, + sym__newline, + [5307] = 1, + ACTIONS(807), 1, + sym__newline, + [5311] = 1, + ACTIONS(809), 1, + anon_sym_LBRACE, + [5315] = 1, + ACTIONS(485), 1, sym__newline, - [5507] = 1, - ACTIONS(822), 1, + [5319] = 1, + ACTIONS(811), 1, anon_sym_RBRACK, - [5511] = 1, - ACTIONS(824), 1, + [5323] = 1, + ACTIONS(813), 1, anon_sym_COLON_EQ, - [5515] = 1, - ACTIONS(826), 1, + [5327] = 1, + ACTIONS(690), 1, + anon_sym_if, + [5331] = 1, + ACTIONS(815), 1, anon_sym_RBRACK, - [5519] = 1, - ACTIONS(828), 1, - sym__newline, - [5523] = 1, - ACTIONS(830), 1, - sym_identifier, - [5527] = 1, - ACTIONS(832), 1, - anon_sym_LBRACK, - [5531] = 1, - ACTIONS(834), 1, - sym_identifier, - [5535] = 1, - ACTIONS(836), 1, + [5335] = 1, + ACTIONS(817), 1, + anon_sym_RPAREN, + [5339] = 1, + ACTIONS(819), 1, anon_sym_COLON, - [5539] = 1, - ACTIONS(838), 1, + [5343] = 1, + ACTIONS(821), 1, + anon_sym_RPAREN, + [5347] = 1, + ACTIONS(823), 1, + anon_sym_RBRACE, + [5351] = 1, + ACTIONS(572), 1, + anon_sym_COLON, + [5355] = 1, + ACTIONS(490), 1, sym__newline, - [5543] = 1, - ACTIONS(840), 1, + [5359] = 1, + ACTIONS(825), 1, + anon_sym_RPAREN, + [5363] = 1, + ACTIONS(827), 1, sym__newline, - [5547] = 1, - ACTIONS(842), 1, + [5367] = 1, + ACTIONS(829), 1, sym_identifier, - [5551] = 1, - ACTIONS(524), 1, + [5371] = 1, + ACTIONS(831), 1, + anon_sym_RBRACK, + [5375] = 1, + ACTIONS(833), 1, sym__newline, - [5555] = 1, - ACTIONS(844), 1, - anon_sym_LBRACE, - [5559] = 1, - ACTIONS(846), 1, - anon_sym_RPAREN, - [5563] = 1, - ACTIONS(848), 1, + [5379] = 1, + ACTIONS(835), 1, + sym__newline, + [5383] = 1, + ACTIONS(837), 1, + anon_sym_RBRACE_RBRACE, + [5387] = 1, + ACTIONS(839), 1, ts_builtin_sym_end, - [5567] = 1, - ACTIONS(731), 1, + [5391] = 1, + ACTIONS(841), 1, + anon_sym_COLON_EQ, + [5395] = 1, + ACTIONS(843), 1, + sym__newline, + [5399] = 1, + ACTIONS(680), 1, anon_sym_if, - [5571] = 1, - ACTIONS(850), 1, + [5403] = 1, + ACTIONS(845), 1, sym__newline, - [5575] = 1, - ACTIONS(852), 1, - anon_sym_RPAREN, - [5579] = 1, - ACTIONS(854), 1, - anon_sym_RBRACE, - [5583] = 1, - ACTIONS(856), 1, + [5407] = 1, + ACTIONS(847), 1, sym_identifier, - [5587] = 1, - ACTIONS(590), 1, - anon_sym_COLON, - [5591] = 1, - ACTIONS(858), 1, + [5411] = 1, + ACTIONS(849), 1, sym_identifier, - [5595] = 1, - ACTIONS(860), 1, - sym__newline, - [5599] = 1, - ACTIONS(862), 1, - sym__newline, - [5603] = 1, - ACTIONS(864), 1, + [5415] = 1, + ACTIONS(851), 1, + anon_sym_RPAREN, + [5419] = 1, + ACTIONS(714), 1, + anon_sym_if, + [5423] = 1, + ACTIONS(853), 1, sym_identifier, - [5607] = 1, - ACTIONS(866), 1, + [5427] = 1, + ACTIONS(855), 1, sym_identifier, - [5611] = 1, - ACTIONS(740), 1, - anon_sym_if, - [5615] = 1, - ACTIONS(868), 1, - anon_sym_RBRACK, - [5619] = 1, - ACTIONS(870), 1, - anon_sym_RBRACE, - [5623] = 1, - ACTIONS(872), 1, - sym__newline, - [5627] = 1, - ACTIONS(516), 1, - sym__newline, - [5631] = 1, - ACTIONS(684), 1, + [5431] = 1, + ACTIONS(857), 1, + anon_sym_LBRACK, + [5435] = 1, + ACTIONS(859), 1, + sym_identifier, + [5439] = 1, + ACTIONS(718), 1, anon_sym_if, }; @@ -6752,334 +6604,362 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(4)] = 116, [SMALL_STATE(5)] = 174, [SMALL_STATE(6)] = 232, - [SMALL_STATE(7)] = 259, - [SMALL_STATE(8)] = 286, - [SMALL_STATE(9)] = 313, - [SMALL_STATE(10)] = 369, - [SMALL_STATE(11)] = 395, - [SMALL_STATE(12)] = 421, - [SMALL_STATE(13)] = 447, - [SMALL_STATE(14)] = 473, - [SMALL_STATE(15)] = 529, - [SMALL_STATE(16)] = 555, - [SMALL_STATE(17)] = 581, - [SMALL_STATE(18)] = 637, - [SMALL_STATE(19)] = 693, - [SMALL_STATE(20)] = 749, - [SMALL_STATE(21)] = 775, - [SMALL_STATE(22)] = 831, - [SMALL_STATE(23)] = 857, - [SMALL_STATE(24)] = 883, - [SMALL_STATE(25)] = 912, - [SMALL_STATE(26)] = 965, - [SMALL_STATE(27)] = 1018, - [SMALL_STATE(28)] = 1071, - [SMALL_STATE(29)] = 1124, - [SMALL_STATE(30)] = 1177, - [SMALL_STATE(31)] = 1206, - [SMALL_STATE(32)] = 1235, - [SMALL_STATE(33)] = 1288, - [SMALL_STATE(34)] = 1338, - [SMALL_STATE(35)] = 1388, - [SMALL_STATE(36)] = 1438, - [SMALL_STATE(37)] = 1488, - [SMALL_STATE(38)] = 1512, - [SMALL_STATE(39)] = 1562, - [SMALL_STATE(40)] = 1612, - [SMALL_STATE(41)] = 1662, - [SMALL_STATE(42)] = 1686, - [SMALL_STATE(43)] = 1736, - [SMALL_STATE(44)] = 1786, - [SMALL_STATE(45)] = 1836, - [SMALL_STATE(46)] = 1859, - [SMALL_STATE(47)] = 1882, - [SMALL_STATE(48)] = 1905, - [SMALL_STATE(49)] = 1928, - [SMALL_STATE(50)] = 1972, - [SMALL_STATE(51)] = 2016, - [SMALL_STATE(52)] = 2060, - [SMALL_STATE(53)] = 2104, - [SMALL_STATE(54)] = 2148, - [SMALL_STATE(55)] = 2192, - [SMALL_STATE(56)] = 2236, - [SMALL_STATE(57)] = 2280, - [SMALL_STATE(58)] = 2324, - [SMALL_STATE(59)] = 2368, - [SMALL_STATE(60)] = 2412, - [SMALL_STATE(61)] = 2456, - [SMALL_STATE(62)] = 2487, - [SMALL_STATE(63)] = 2518, - [SMALL_STATE(64)] = 2554, - [SMALL_STATE(65)] = 2591, - [SMALL_STATE(66)] = 2628, - [SMALL_STATE(67)] = 2647, - [SMALL_STATE(68)] = 2669, - [SMALL_STATE(69)] = 2691, - [SMALL_STATE(70)] = 2709, - [SMALL_STATE(71)] = 2739, - [SMALL_STATE(72)] = 2757, - [SMALL_STATE(73)] = 2787, - [SMALL_STATE(74)] = 2817, - [SMALL_STATE(75)] = 2835, - [SMALL_STATE(76)] = 2865, - [SMALL_STATE(77)] = 2882, - [SMALL_STATE(78)] = 2901, - [SMALL_STATE(79)] = 2922, - [SMALL_STATE(80)] = 2943, - [SMALL_STATE(81)] = 2959, - [SMALL_STATE(82)] = 2975, - [SMALL_STATE(83)] = 2991, - [SMALL_STATE(84)] = 3007, - [SMALL_STATE(85)] = 3023, - [SMALL_STATE(86)] = 3039, - [SMALL_STATE(87)] = 3055, - [SMALL_STATE(88)] = 3071, - [SMALL_STATE(89)] = 3087, - [SMALL_STATE(90)] = 3103, - [SMALL_STATE(91)] = 3119, - [SMALL_STATE(92)] = 3135, - [SMALL_STATE(93)] = 3151, - [SMALL_STATE(94)] = 3167, - [SMALL_STATE(95)] = 3183, - [SMALL_STATE(96)] = 3199, - [SMALL_STATE(97)] = 3215, - [SMALL_STATE(98)] = 3231, - [SMALL_STATE(99)] = 3247, - [SMALL_STATE(100)] = 3263, - [SMALL_STATE(101)] = 3279, - [SMALL_STATE(102)] = 3295, - [SMALL_STATE(103)] = 3311, - [SMALL_STATE(104)] = 3327, - [SMALL_STATE(105)] = 3343, - [SMALL_STATE(106)] = 3359, - [SMALL_STATE(107)] = 3375, - [SMALL_STATE(108)] = 3391, - [SMALL_STATE(109)] = 3407, - [SMALL_STATE(110)] = 3436, - [SMALL_STATE(111)] = 3452, - [SMALL_STATE(112)] = 3478, - [SMALL_STATE(113)] = 3494, - [SMALL_STATE(114)] = 3518, - [SMALL_STATE(115)] = 3532, - [SMALL_STATE(116)] = 3558, - [SMALL_STATE(117)] = 3583, - [SMALL_STATE(118)] = 3608, - [SMALL_STATE(119)] = 3621, - [SMALL_STATE(120)] = 3634, - [SMALL_STATE(121)] = 3657, - [SMALL_STATE(122)] = 3674, - [SMALL_STATE(123)] = 3699, - [SMALL_STATE(124)] = 3724, - [SMALL_STATE(125)] = 3741, - [SMALL_STATE(126)] = 3754, - [SMALL_STATE(127)] = 3777, - [SMALL_STATE(128)] = 3800, - [SMALL_STATE(129)] = 3813, - [SMALL_STATE(130)] = 3833, - [SMALL_STATE(131)] = 3849, - [SMALL_STATE(132)] = 3860, - [SMALL_STATE(133)] = 3879, - [SMALL_STATE(134)] = 3898, - [SMALL_STATE(135)] = 3911, - [SMALL_STATE(136)] = 3930, - [SMALL_STATE(137)] = 3949, - [SMALL_STATE(138)] = 3968, - [SMALL_STATE(139)] = 3983, - [SMALL_STATE(140)] = 3994, - [SMALL_STATE(141)] = 4013, - [SMALL_STATE(142)] = 4024, - [SMALL_STATE(143)] = 4043, - [SMALL_STATE(144)] = 4056, - [SMALL_STATE(145)] = 4069, - [SMALL_STATE(146)] = 4086, - [SMALL_STATE(147)] = 4098, - [SMALL_STATE(148)] = 4112, - [SMALL_STATE(149)] = 4126, - [SMALL_STATE(150)] = 4134, - [SMALL_STATE(151)] = 4150, - [SMALL_STATE(152)] = 4160, - [SMALL_STATE(153)] = 4170, - [SMALL_STATE(154)] = 4178, - [SMALL_STATE(155)] = 4194, - [SMALL_STATE(156)] = 4202, - [SMALL_STATE(157)] = 4214, - [SMALL_STATE(158)] = 4226, - [SMALL_STATE(159)] = 4234, - [SMALL_STATE(160)] = 4248, - [SMALL_STATE(161)] = 4264, - [SMALL_STATE(162)] = 4278, - [SMALL_STATE(163)] = 4294, - [SMALL_STATE(164)] = 4304, - [SMALL_STATE(165)] = 4316, - [SMALL_STATE(166)] = 4323, - [SMALL_STATE(167)] = 4336, - [SMALL_STATE(168)] = 4349, - [SMALL_STATE(169)] = 4358, - [SMALL_STATE(170)] = 4369, - [SMALL_STATE(171)] = 4382, - [SMALL_STATE(172)] = 4391, - [SMALL_STATE(173)] = 4398, - [SMALL_STATE(174)] = 4411, - [SMALL_STATE(175)] = 4424, - [SMALL_STATE(176)] = 4437, - [SMALL_STATE(177)] = 4450, - [SMALL_STATE(178)] = 4457, - [SMALL_STATE(179)] = 4464, - [SMALL_STATE(180)] = 4477, - [SMALL_STATE(181)] = 4490, - [SMALL_STATE(182)] = 4497, - [SMALL_STATE(183)] = 4504, - [SMALL_STATE(184)] = 4511, - [SMALL_STATE(185)] = 4518, - [SMALL_STATE(186)] = 4531, - [SMALL_STATE(187)] = 4538, - [SMALL_STATE(188)] = 4547, - [SMALL_STATE(189)] = 4554, - [SMALL_STATE(190)] = 4567, - [SMALL_STATE(191)] = 4580, - [SMALL_STATE(192)] = 4587, - [SMALL_STATE(193)] = 4600, - [SMALL_STATE(194)] = 4613, - [SMALL_STATE(195)] = 4626, - [SMALL_STATE(196)] = 4639, - [SMALL_STATE(197)] = 4652, - [SMALL_STATE(198)] = 4659, - [SMALL_STATE(199)] = 4672, - [SMALL_STATE(200)] = 4679, - [SMALL_STATE(201)] = 4692, - [SMALL_STATE(202)] = 4699, - [SMALL_STATE(203)] = 4712, - [SMALL_STATE(204)] = 4725, - [SMALL_STATE(205)] = 4738, - [SMALL_STATE(206)] = 4745, - [SMALL_STATE(207)] = 4758, - [SMALL_STATE(208)] = 4765, - [SMALL_STATE(209)] = 4778, - [SMALL_STATE(210)] = 4791, - [SMALL_STATE(211)] = 4798, - [SMALL_STATE(212)] = 4805, - [SMALL_STATE(213)] = 4816, - [SMALL_STATE(214)] = 4823, - [SMALL_STATE(215)] = 4836, - [SMALL_STATE(216)] = 4849, - [SMALL_STATE(217)] = 4862, - [SMALL_STATE(218)] = 4869, - [SMALL_STATE(219)] = 4879, - [SMALL_STATE(220)] = 4885, - [SMALL_STATE(221)] = 4895, - [SMALL_STATE(222)] = 4905, - [SMALL_STATE(223)] = 4915, - [SMALL_STATE(224)] = 4925, - [SMALL_STATE(225)] = 4935, - [SMALL_STATE(226)] = 4945, - [SMALL_STATE(227)] = 4951, - [SMALL_STATE(228)] = 4961, - [SMALL_STATE(229)] = 4967, - [SMALL_STATE(230)] = 4973, - [SMALL_STATE(231)] = 4983, - [SMALL_STATE(232)] = 4993, - [SMALL_STATE(233)] = 5003, - [SMALL_STATE(234)] = 5013, - [SMALL_STATE(235)] = 5021, - [SMALL_STATE(236)] = 5031, - [SMALL_STATE(237)] = 5041, - [SMALL_STATE(238)] = 5051, - [SMALL_STATE(239)] = 5061, - [SMALL_STATE(240)] = 5071, - [SMALL_STATE(241)] = 5081, - [SMALL_STATE(242)] = 5091, - [SMALL_STATE(243)] = 5101, - [SMALL_STATE(244)] = 5111, - [SMALL_STATE(245)] = 5121, - [SMALL_STATE(246)] = 5131, - [SMALL_STATE(247)] = 5141, - [SMALL_STATE(248)] = 5151, - [SMALL_STATE(249)] = 5159, - [SMALL_STATE(250)] = 5169, - [SMALL_STATE(251)] = 5179, - [SMALL_STATE(252)] = 5185, - [SMALL_STATE(253)] = 5191, - [SMALL_STATE(254)] = 5201, - [SMALL_STATE(255)] = 5211, - [SMALL_STATE(256)] = 5221, - [SMALL_STATE(257)] = 5227, - [SMALL_STATE(258)] = 5233, - [SMALL_STATE(259)] = 5239, - [SMALL_STATE(260)] = 5245, - [SMALL_STATE(261)] = 5255, - [SMALL_STATE(262)] = 5265, - [SMALL_STATE(263)] = 5271, - [SMALL_STATE(264)] = 5277, - [SMALL_STATE(265)] = 5285, - [SMALL_STATE(266)] = 5295, - [SMALL_STATE(267)] = 5301, - [SMALL_STATE(268)] = 5307, - [SMALL_STATE(269)] = 5313, - [SMALL_STATE(270)] = 5319, - [SMALL_STATE(271)] = 5325, - [SMALL_STATE(272)] = 5335, - [SMALL_STATE(273)] = 5341, - [SMALL_STATE(274)] = 5351, - [SMALL_STATE(275)] = 5357, - [SMALL_STATE(276)] = 5367, - [SMALL_STATE(277)] = 5373, - [SMALL_STATE(278)] = 5378, - [SMALL_STATE(279)] = 5383, - [SMALL_STATE(280)] = 5390, - [SMALL_STATE(281)] = 5397, - [SMALL_STATE(282)] = 5404, - [SMALL_STATE(283)] = 5411, - [SMALL_STATE(284)] = 5418, - [SMALL_STATE(285)] = 5425, - [SMALL_STATE(286)] = 5432, - [SMALL_STATE(287)] = 5439, - [SMALL_STATE(288)] = 5446, - [SMALL_STATE(289)] = 5451, - [SMALL_STATE(290)] = 5455, - [SMALL_STATE(291)] = 5459, - [SMALL_STATE(292)] = 5463, - [SMALL_STATE(293)] = 5467, - [SMALL_STATE(294)] = 5471, - [SMALL_STATE(295)] = 5475, - [SMALL_STATE(296)] = 5479, - [SMALL_STATE(297)] = 5483, - [SMALL_STATE(298)] = 5487, - [SMALL_STATE(299)] = 5491, - [SMALL_STATE(300)] = 5495, - [SMALL_STATE(301)] = 5499, - [SMALL_STATE(302)] = 5503, - [SMALL_STATE(303)] = 5507, - [SMALL_STATE(304)] = 5511, - [SMALL_STATE(305)] = 5515, - [SMALL_STATE(306)] = 5519, - [SMALL_STATE(307)] = 5523, - [SMALL_STATE(308)] = 5527, - [SMALL_STATE(309)] = 5531, - [SMALL_STATE(310)] = 5535, - [SMALL_STATE(311)] = 5539, - [SMALL_STATE(312)] = 5543, - [SMALL_STATE(313)] = 5547, - [SMALL_STATE(314)] = 5551, - [SMALL_STATE(315)] = 5555, - [SMALL_STATE(316)] = 5559, - [SMALL_STATE(317)] = 5563, - [SMALL_STATE(318)] = 5567, - [SMALL_STATE(319)] = 5571, - [SMALL_STATE(320)] = 5575, - [SMALL_STATE(321)] = 5579, - [SMALL_STATE(322)] = 5583, - [SMALL_STATE(323)] = 5587, - [SMALL_STATE(324)] = 5591, - [SMALL_STATE(325)] = 5595, - [SMALL_STATE(326)] = 5599, - [SMALL_STATE(327)] = 5603, - [SMALL_STATE(328)] = 5607, - [SMALL_STATE(329)] = 5611, - [SMALL_STATE(330)] = 5615, - [SMALL_STATE(331)] = 5619, - [SMALL_STATE(332)] = 5623, - [SMALL_STATE(333)] = 5627, - [SMALL_STATE(334)] = 5631, + [SMALL_STATE(7)] = 277, + [SMALL_STATE(8)] = 322, + [SMALL_STATE(9)] = 367, + [SMALL_STATE(10)] = 412, + [SMALL_STATE(11)] = 457, + [SMALL_STATE(12)] = 502, + [SMALL_STATE(13)] = 544, + [SMALL_STATE(14)] = 586, + [SMALL_STATE(15)] = 628, + [SMALL_STATE(16)] = 670, + [SMALL_STATE(17)] = 712, + [SMALL_STATE(18)] = 754, + [SMALL_STATE(19)] = 796, + [SMALL_STATE(20)] = 838, + [SMALL_STATE(21)] = 877, + [SMALL_STATE(22)] = 916, + [SMALL_STATE(23)] = 955, + [SMALL_STATE(24)] = 982, + [SMALL_STATE(25)] = 1021, + [SMALL_STATE(26)] = 1060, + [SMALL_STATE(27)] = 1087, + [SMALL_STATE(28)] = 1126, + [SMALL_STATE(29)] = 1165, + [SMALL_STATE(30)] = 1204, + [SMALL_STATE(31)] = 1243, + [SMALL_STATE(32)] = 1282, + [SMALL_STATE(33)] = 1321, + [SMALL_STATE(34)] = 1360, + [SMALL_STATE(35)] = 1399, + [SMALL_STATE(36)] = 1435, + [SMALL_STATE(37)] = 1452, + [SMALL_STATE(38)] = 1485, + [SMALL_STATE(39)] = 1502, + [SMALL_STATE(40)] = 1535, + [SMALL_STATE(41)] = 1554, + [SMALL_STATE(42)] = 1571, + [SMALL_STATE(43)] = 1588, + [SMALL_STATE(44)] = 1621, + [SMALL_STATE(45)] = 1654, + [SMALL_STATE(46)] = 1687, + [SMALL_STATE(47)] = 1720, + [SMALL_STATE(48)] = 1753, + [SMALL_STATE(49)] = 1786, + [SMALL_STATE(50)] = 1819, + [SMALL_STATE(51)] = 1852, + [SMALL_STATE(52)] = 1885, + [SMALL_STATE(53)] = 1918, + [SMALL_STATE(54)] = 1934, + [SMALL_STATE(55)] = 1950, + [SMALL_STATE(56)] = 1968, + [SMALL_STATE(57)] = 1986, + [SMALL_STATE(58)] = 2016, + [SMALL_STATE(59)] = 2032, + [SMALL_STATE(60)] = 2050, + [SMALL_STATE(61)] = 2080, + [SMALL_STATE(62)] = 2096, + [SMALL_STATE(63)] = 2126, + [SMALL_STATE(64)] = 2148, + [SMALL_STATE(65)] = 2178, + [SMALL_STATE(66)] = 2196, + [SMALL_STATE(67)] = 2212, + [SMALL_STATE(68)] = 2234, + [SMALL_STATE(69)] = 2250, + [SMALL_STATE(70)] = 2266, + [SMALL_STATE(71)] = 2286, + [SMALL_STATE(72)] = 2302, + [SMALL_STATE(73)] = 2318, + [SMALL_STATE(74)] = 2334, + [SMALL_STATE(75)] = 2354, + [SMALL_STATE(76)] = 2370, + [SMALL_STATE(77)] = 2386, + [SMALL_STATE(78)] = 2402, + [SMALL_STATE(79)] = 2418, + [SMALL_STATE(80)] = 2434, + [SMALL_STATE(81)] = 2450, + [SMALL_STATE(82)] = 2466, + [SMALL_STATE(83)] = 2482, + [SMALL_STATE(84)] = 2498, + [SMALL_STATE(85)] = 2514, + [SMALL_STATE(86)] = 2530, + [SMALL_STATE(87)] = 2546, + [SMALL_STATE(88)] = 2562, + [SMALL_STATE(89)] = 2578, + [SMALL_STATE(90)] = 2594, + [SMALL_STATE(91)] = 2610, + [SMALL_STATE(92)] = 2626, + [SMALL_STATE(93)] = 2652, + [SMALL_STATE(94)] = 2670, + [SMALL_STATE(95)] = 2686, + [SMALL_STATE(96)] = 2702, + [SMALL_STATE(97)] = 2718, + [SMALL_STATE(98)] = 2734, + [SMALL_STATE(99)] = 2750, + [SMALL_STATE(100)] = 2776, + [SMALL_STATE(101)] = 2794, + [SMALL_STATE(102)] = 2810, + [SMALL_STATE(103)] = 2826, + [SMALL_STATE(104)] = 2844, + [SMALL_STATE(105)] = 2864, + [SMALL_STATE(106)] = 2879, + [SMALL_STATE(107)] = 2894, + [SMALL_STATE(108)] = 2907, + [SMALL_STATE(109)] = 2920, + [SMALL_STATE(110)] = 2949, + [SMALL_STATE(111)] = 2961, + [SMALL_STATE(112)] = 2975, + [SMALL_STATE(113)] = 2989, + [SMALL_STATE(114)] = 3003, + [SMALL_STATE(115)] = 3017, + [SMALL_STATE(116)] = 3031, + [SMALL_STATE(117)] = 3047, + [SMALL_STATE(118)] = 3061, + [SMALL_STATE(119)] = 3075, + [SMALL_STATE(120)] = 3087, + [SMALL_STATE(121)] = 3107, + [SMALL_STATE(122)] = 3121, + [SMALL_STATE(123)] = 3133, + [SMALL_STATE(124)] = 3147, + [SMALL_STATE(125)] = 3161, + [SMALL_STATE(126)] = 3173, + [SMALL_STATE(127)] = 3187, + [SMALL_STATE(128)] = 3201, + [SMALL_STATE(129)] = 3227, + [SMALL_STATE(130)] = 3243, + [SMALL_STATE(131)] = 3257, + [SMALL_STATE(132)] = 3275, + [SMALL_STATE(133)] = 3291, + [SMALL_STATE(134)] = 3317, + [SMALL_STATE(135)] = 3335, + [SMALL_STATE(136)] = 3349, + [SMALL_STATE(137)] = 3363, + [SMALL_STATE(138)] = 3377, + [SMALL_STATE(139)] = 3398, + [SMALL_STATE(140)] = 3421, + [SMALL_STATE(141)] = 3442, + [SMALL_STATE(142)] = 3455, + [SMALL_STATE(143)] = 3468, + [SMALL_STATE(144)] = 3485, + [SMALL_STATE(145)] = 3508, + [SMALL_STATE(146)] = 3521, + [SMALL_STATE(147)] = 3542, + [SMALL_STATE(148)] = 3565, + [SMALL_STATE(149)] = 3582, + [SMALL_STATE(150)] = 3595, + [SMALL_STATE(151)] = 3616, + [SMALL_STATE(152)] = 3629, + [SMALL_STATE(153)] = 3649, + [SMALL_STATE(154)] = 3668, + [SMALL_STATE(155)] = 3681, + [SMALL_STATE(156)] = 3700, + [SMALL_STATE(157)] = 3717, + [SMALL_STATE(158)] = 3736, + [SMALL_STATE(159)] = 3751, + [SMALL_STATE(160)] = 3766, + [SMALL_STATE(161)] = 3781, + [SMALL_STATE(162)] = 3794, + [SMALL_STATE(163)] = 3805, + [SMALL_STATE(164)] = 3818, + [SMALL_STATE(165)] = 3837, + [SMALL_STATE(166)] = 3852, + [SMALL_STATE(167)] = 3863, + [SMALL_STATE(168)] = 3877, + [SMALL_STATE(169)] = 3891, + [SMALL_STATE(170)] = 3907, + [SMALL_STATE(171)] = 3919, + [SMALL_STATE(172)] = 3933, + [SMALL_STATE(173)] = 3945, + [SMALL_STATE(174)] = 3961, + [SMALL_STATE(175)] = 3973, + [SMALL_STATE(176)] = 3985, + [SMALL_STATE(177)] = 3999, + [SMALL_STATE(178)] = 4011, + [SMALL_STATE(179)] = 4023, + [SMALL_STATE(180)] = 4037, + [SMALL_STATE(181)] = 4047, + [SMALL_STATE(182)] = 4055, + [SMALL_STATE(183)] = 4065, + [SMALL_STATE(184)] = 4079, + [SMALL_STATE(185)] = 4093, + [SMALL_STATE(186)] = 4101, + [SMALL_STATE(187)] = 4115, + [SMALL_STATE(188)] = 4127, + [SMALL_STATE(189)] = 4141, + [SMALL_STATE(190)] = 4151, + [SMALL_STATE(191)] = 4165, + [SMALL_STATE(192)] = 4179, + [SMALL_STATE(193)] = 4187, + [SMALL_STATE(194)] = 4201, + [SMALL_STATE(195)] = 4215, + [SMALL_STATE(196)] = 4223, + [SMALL_STATE(197)] = 4230, + [SMALL_STATE(198)] = 4237, + [SMALL_STATE(199)] = 4250, + [SMALL_STATE(200)] = 4263, + [SMALL_STATE(201)] = 4274, + [SMALL_STATE(202)] = 4287, + [SMALL_STATE(203)] = 4294, + [SMALL_STATE(204)] = 4305, + [SMALL_STATE(205)] = 4318, + [SMALL_STATE(206)] = 4331, + [SMALL_STATE(207)] = 4338, + [SMALL_STATE(208)] = 4349, + [SMALL_STATE(209)] = 4362, + [SMALL_STATE(210)] = 4375, + [SMALL_STATE(211)] = 4386, + [SMALL_STATE(212)] = 4397, + [SMALL_STATE(213)] = 4410, + [SMALL_STATE(214)] = 4417, + [SMALL_STATE(215)] = 4424, + [SMALL_STATE(216)] = 4437, + [SMALL_STATE(217)] = 4448, + [SMALL_STATE(218)] = 4455, + [SMALL_STATE(219)] = 4466, + [SMALL_STATE(220)] = 4473, + [SMALL_STATE(221)] = 4480, + [SMALL_STATE(222)] = 4491, + [SMALL_STATE(223)] = 4498, + [SMALL_STATE(224)] = 4509, + [SMALL_STATE(225)] = 4520, + [SMALL_STATE(226)] = 4527, + [SMALL_STATE(227)] = 4534, + [SMALL_STATE(228)] = 4541, + [SMALL_STATE(229)] = 4552, + [SMALL_STATE(230)] = 4565, + [SMALL_STATE(231)] = 4572, + [SMALL_STATE(232)] = 4581, + [SMALL_STATE(233)] = 4594, + [SMALL_STATE(234)] = 4603, + [SMALL_STATE(235)] = 4614, + [SMALL_STATE(236)] = 4625, + [SMALL_STATE(237)] = 4632, + [SMALL_STATE(238)] = 4645, + [SMALL_STATE(239)] = 4652, + [SMALL_STATE(240)] = 4659, + [SMALL_STATE(241)] = 4668, + [SMALL_STATE(242)] = 4681, + [SMALL_STATE(243)] = 4688, + [SMALL_STATE(244)] = 4695, + [SMALL_STATE(245)] = 4702, + [SMALL_STATE(246)] = 4709, + [SMALL_STATE(247)] = 4722, + [SMALL_STATE(248)] = 4729, + [SMALL_STATE(249)] = 4735, + [SMALL_STATE(250)] = 4745, + [SMALL_STATE(251)] = 4755, + [SMALL_STATE(252)] = 4765, + [SMALL_STATE(253)] = 4775, + [SMALL_STATE(254)] = 4783, + [SMALL_STATE(255)] = 4793, + [SMALL_STATE(256)] = 4803, + [SMALL_STATE(257)] = 4813, + [SMALL_STATE(258)] = 4823, + [SMALL_STATE(259)] = 4833, + [SMALL_STATE(260)] = 4843, + [SMALL_STATE(261)] = 4853, + [SMALL_STATE(262)] = 4859, + [SMALL_STATE(263)] = 4867, + [SMALL_STATE(264)] = 4877, + [SMALL_STATE(265)] = 4887, + [SMALL_STATE(266)] = 4897, + [SMALL_STATE(267)] = 4907, + [SMALL_STATE(268)] = 4917, + [SMALL_STATE(269)] = 4923, + [SMALL_STATE(270)] = 4933, + [SMALL_STATE(271)] = 4943, + [SMALL_STATE(272)] = 4949, + [SMALL_STATE(273)] = 4955, + [SMALL_STATE(274)] = 4965, + [SMALL_STATE(275)] = 4975, + [SMALL_STATE(276)] = 4981, + [SMALL_STATE(277)] = 4991, + [SMALL_STATE(278)] = 5001, + [SMALL_STATE(279)] = 5011, + [SMALL_STATE(280)] = 5021, + [SMALL_STATE(281)] = 5027, + [SMALL_STATE(282)] = 5033, + [SMALL_STATE(283)] = 5041, + [SMALL_STATE(284)] = 5047, + [SMALL_STATE(285)] = 5057, + [SMALL_STATE(286)] = 5063, + [SMALL_STATE(287)] = 5069, + [SMALL_STATE(288)] = 5075, + [SMALL_STATE(289)] = 5081, + [SMALL_STATE(290)] = 5087, + [SMALL_STATE(291)] = 5097, + [SMALL_STATE(292)] = 5103, + [SMALL_STATE(293)] = 5109, + [SMALL_STATE(294)] = 5115, + [SMALL_STATE(295)] = 5121, + [SMALL_STATE(296)] = 5127, + [SMALL_STATE(297)] = 5137, + [SMALL_STATE(298)] = 5147, + [SMALL_STATE(299)] = 5154, + [SMALL_STATE(300)] = 5161, + [SMALL_STATE(301)] = 5168, + [SMALL_STATE(302)] = 5175, + [SMALL_STATE(303)] = 5180, + [SMALL_STATE(304)] = 5185, + [SMALL_STATE(305)] = 5190, + [SMALL_STATE(306)] = 5197, + [SMALL_STATE(307)] = 5204, + [SMALL_STATE(308)] = 5211, + [SMALL_STATE(309)] = 5218, + [SMALL_STATE(310)] = 5225, + [SMALL_STATE(311)] = 5232, + [SMALL_STATE(312)] = 5239, + [SMALL_STATE(313)] = 5243, + [SMALL_STATE(314)] = 5247, + [SMALL_STATE(315)] = 5251, + [SMALL_STATE(316)] = 5255, + [SMALL_STATE(317)] = 5259, + [SMALL_STATE(318)] = 5263, + [SMALL_STATE(319)] = 5267, + [SMALL_STATE(320)] = 5271, + [SMALL_STATE(321)] = 5275, + [SMALL_STATE(322)] = 5279, + [SMALL_STATE(323)] = 5283, + [SMALL_STATE(324)] = 5287, + [SMALL_STATE(325)] = 5291, + [SMALL_STATE(326)] = 5295, + [SMALL_STATE(327)] = 5299, + [SMALL_STATE(328)] = 5303, + [SMALL_STATE(329)] = 5307, + [SMALL_STATE(330)] = 5311, + [SMALL_STATE(331)] = 5315, + [SMALL_STATE(332)] = 5319, + [SMALL_STATE(333)] = 5323, + [SMALL_STATE(334)] = 5327, + [SMALL_STATE(335)] = 5331, + [SMALL_STATE(336)] = 5335, + [SMALL_STATE(337)] = 5339, + [SMALL_STATE(338)] = 5343, + [SMALL_STATE(339)] = 5347, + [SMALL_STATE(340)] = 5351, + [SMALL_STATE(341)] = 5355, + [SMALL_STATE(342)] = 5359, + [SMALL_STATE(343)] = 5363, + [SMALL_STATE(344)] = 5367, + [SMALL_STATE(345)] = 5371, + [SMALL_STATE(346)] = 5375, + [SMALL_STATE(347)] = 5379, + [SMALL_STATE(348)] = 5383, + [SMALL_STATE(349)] = 5387, + [SMALL_STATE(350)] = 5391, + [SMALL_STATE(351)] = 5395, + [SMALL_STATE(352)] = 5399, + [SMALL_STATE(353)] = 5403, + [SMALL_STATE(354)] = 5407, + [SMALL_STATE(355)] = 5411, + [SMALL_STATE(356)] = 5415, + [SMALL_STATE(357)] = 5419, + [SMALL_STATE(358)] = 5423, + [SMALL_STATE(359)] = 5427, + [SMALL_STATE(360)] = 5431, + [SMALL_STATE(361)] = 5435, + [SMALL_STATE(362)] = 5439, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -7087,417 +6967,413 @@ static const TSParseActionEntry ts_parse_actions[] = { [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(109), - [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(322), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(279), - [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(280), - [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(281), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(326), - [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(325), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [27] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(361), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(301), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(165), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(310), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(309), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(355), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(351), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [27] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351), [31] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), [33] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(109), - [36] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(322), - [39] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(279), - [42] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(136), - [45] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(280), - [48] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(281), - [51] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(328), - [54] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(327), - [57] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(325), - [60] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(94), - [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2), - [65] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 3), - [67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 3), - [69] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 2), - [71] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 2), - [73] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 1), - [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 1), - [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), - [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), - [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), - [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8), - [89] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), - [91] = {.entry = {.count = 1, .reusable = false}}, SHIFT(167), - [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), - [95] = {.entry = {.count = 1, .reusable = false}}, SHIFT(246), - [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), - [99] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1), - [101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1), - [103] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__indented_backticked, 2), - [105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__indented_backticked, 2), - [107] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__backticked, 2), - [109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__backticked, 2), - [111] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 3), - [113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 3), - [115] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), - [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), - [121] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, .production_id = 18), - [123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, .production_id = 18), - [125] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, .production_id = 27), - [127] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, .production_id = 27), - [129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), - [131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), - [133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [135] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__backticked, 3), - [137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__backticked, 3), - [139] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_dependency_expression_repeat1, 2, .production_id = 29), SHIFT_REPEAT(76), - [142] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dependency_expression_repeat1, 2, .production_id = 29), SHIFT_REPEAT(49), - [145] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_dependency_expression_repeat1, 2, .production_id = 29), SHIFT_REPEAT(32), - [148] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dependency_expression_repeat1, 2, .production_id = 29), SHIFT_REPEAT(44), - [151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_dependency_expression_repeat1, 2, .production_id = 29), - [153] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_dependency_expression_repeat1, 2, .production_id = 29), SHIFT_REPEAT(8), - [156] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dependency_expression_repeat1, 2, .production_id = 29), SHIFT_REPEAT(254), - [159] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_dependency_expression_repeat1, 2, .production_id = 29), SHIFT_REPEAT(167), - [162] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dependency_expression_repeat1, 2, .production_id = 29), SHIFT_REPEAT(192), - [165] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_dependency_expression_repeat1, 2, .production_id = 29), SHIFT_REPEAT(246), - [168] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dependency_expression_repeat1, 2, .production_id = 29), SHIFT_REPEAT(245), - [171] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__indented_backticked, 3), - [173] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__indented_backticked, 3), - [175] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_external_command, 1), - [177] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_external_command, 1), - [179] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 3, .production_id = 17), - [181] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 3, .production_id = 17), - [183] = {.entry = {.count = 1, .reusable = false}}, SHIFT(242), - [185] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_expression_repeat1, 2, .production_id = 37), - [187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_expression_repeat1, 2, .production_id = 37), - [189] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_if_expression_repeat1, 2, .production_id = 37), SHIFT_REPEAT(329), - [192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 4, .production_id = 26), - [194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 4, .production_id = 26), - [196] = {.entry = {.count = 1, .reusable = false}}, SHIFT(241), - [198] = {.entry = {.count = 1, .reusable = false}}, SHIFT(171), - [200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [202] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), - [204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [206] = {.entry = {.count = 1, .reusable = false}}, SHIFT(251), - [208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), - [210] = {.entry = {.count = 1, .reusable = false}}, SHIFT(202), - [212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), - [214] = {.entry = {.count = 1, .reusable = false}}, SHIFT(227), - [216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), - [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_expression_repeat1, 4, .production_id = 45), - [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_expression_repeat1, 4, .production_id = 45), - [222] = {.entry = {.count = 1, .reusable = false}}, SHIFT(152), - [224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [226] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), - [228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [230] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), - [232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), - [234] = {.entry = {.count = 1, .reusable = false}}, SHIFT(176), - [236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), - [238] = {.entry = {.count = 1, .reusable = false}}, SHIFT(231), - [240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), - [242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__braced_expr, 3, .production_id = 35), - [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__braced_expr, 3, .production_id = 35), - [246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 6, .production_id = 42), - [248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 6, .production_id = 42), - [250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_inner, 3, .production_id = 19), - [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_inner, 3, .production_id = 19), - [254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_inner, 1), - [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_inner, 1), - [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 5, .production_id = 36), - [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 5, .production_id = 36), - [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 2, .production_id = 1), - [264] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module, 2, .production_id = 1), - [266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 3, .production_id = 4), - [268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module, 3, .production_id = 4), - [270] = {.entry = {.count = 1, .reusable = false}}, SHIFT(234), - [272] = {.entry = {.count = 1, .reusable = false}}, SHIFT(319), - [274] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), - [276] = {.entry = {.count = 1, .reusable = false}}, SHIFT(147), - [278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe, 2), - [288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recipe, 2), - [290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe, 3), - [294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recipe, 3), - [296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), - [298] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_recipe_body_repeat1, 2), SHIFT_REPEAT(234), - [301] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_recipe_body_repeat1, 2), SHIFT_REPEAT(34), - [304] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_recipe_body_repeat1, 2), SHIFT_REPEAT(147), - [307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_recipe_body_repeat1, 2), - [309] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_recipe_body_repeat1, 2), SHIFT_REPEAT(125), - [312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [316] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), - [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), - [322] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 2), - [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 2), - [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 8, .production_id = 39), - [328] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setting, 8, .production_id = 39), - [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 6, .production_id = 24), - [332] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setting, 6, .production_id = 24), - [334] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shebang, 2), - [336] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_shebang, 2), - [338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 9, .production_id = 44), - [340] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setting, 9, .production_id = 44), - [342] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 9, .production_id = 43), - [344] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setting, 9, .production_id = 43), - [346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe, 4), - [348] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recipe, 4), - [350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 8, .production_id = 41), - [352] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setting, 8, .production_id = 41), - [354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 8, .production_id = 40), - [356] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setting, 8, .production_id = 40), - [358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 8, .production_id = 38), - [360] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setting, 8, .production_id = 38), - [362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_body, 2), - [364] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recipe_body, 2), - [366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 2), - [368] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 2), - [370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2), - [372] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comment, 2), - [374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias, 4, .production_id = 10), - [376] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias, 4, .production_id = 10), - [378] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_eol, 1), - [380] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_eol, 1), - [382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 7, .production_id = 34), - [384] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setting, 7, .production_id = 34), - [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 5, .production_id = 15), - [388] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setting, 5, .production_id = 15), - [390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 4, .production_id = 4), - [392] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module, 4, .production_id = 4), - [394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 7, .production_id = 32), - [396] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setting, 7, .production_id = 32), - [398] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_body, 4, .production_id = 30), - [400] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recipe_body, 4, .production_id = 30), - [402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 4, .production_id = 13), - [404] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 4, .production_id = 13), - [406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_item, 1), - [408] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_item, 1), - [410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_export, 2), - [412] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_export, 2), - [414] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 3), - [416] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 3), - [418] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 6, .production_id = 25), - [420] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setting, 6, .production_id = 25), - [422] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_dependency_expression_repeat1, 1, .production_id = 21), - [424] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_dependency_expression_repeat1, 1, .production_id = 21), - [426] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 3, .production_id = 1), - [428] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module, 3, .production_id = 1), - [430] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 3, .production_id = 5), - [432] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setting, 3, .production_id = 5), - [434] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_body, 3, .production_id = 23), - [436] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recipe_body, 3, .production_id = 23), - [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), - [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), - [444] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), - [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), - [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288), - [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), - [462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), - [464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), - [466] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recipe_line, 3), - [468] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_line, 3), - [470] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recipe_line, 2), - [472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_line, 2), - [474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), - [476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), - [478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), - [480] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dependencies, 2), - [482] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dependencies, 1), - [484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), - [486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), - [488] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recipe_line, 1), - [490] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_line, 1), - [492] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dependencies_repeat1, 2), SHIFT_REPEAT(217), - [495] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dependencies_repeat1, 2), SHIFT_REPEAT(313), - [498] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dependencies_repeat1, 2), SHIFT_REPEAT(150), - [501] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_dependencies_repeat1, 2), - [503] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_setting_repeat1, 2, .production_id = 33), SHIFT_REPEAT(160), - [506] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_setting_repeat1, 2, .production_id = 33), - [508] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_setting_repeat1, 2, .production_id = 33), - [510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 2, .production_id = 9), - [512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), - [516] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_header, 4, .production_id = 6), - [518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [36] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(361), + [39] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(301), + [42] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(165), + [45] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(310), + [48] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(309), + [51] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(355), + [54] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(354), + [57] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(351), + [60] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(95), + [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), + [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), + [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18), + [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), + [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297), + [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), + [81] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_dependency_expression_repeat1, 2, .production_id = 29), SHIFT_REPEAT(127), + [84] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dependency_expression_repeat1, 2, .production_id = 29), SHIFT_REPEAT(39), + [87] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_dependency_expression_repeat1, 2, .production_id = 29), SHIFT_REPEAT(16), + [90] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dependency_expression_repeat1, 2, .production_id = 29), SHIFT_REPEAT(30), + [93] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_dependency_expression_repeat1, 2, .production_id = 29), + [95] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dependency_expression_repeat1, 2, .production_id = 29), SHIFT_REPEAT(211), + [98] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dependency_expression_repeat1, 2, .production_id = 29), SHIFT_REPEAT(290), + [101] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dependency_expression_repeat1, 2, .production_id = 29), SHIFT_REPEAT(183), + [104] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127), + [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [108] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), + [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), + [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), + [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), + [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), + [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), + [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), + [126] = {.entry = {.count = 1, .reusable = false}}, SHIFT(231), + [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14), + [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), + [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), + [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 3, .production_id = 4), + [142] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module, 3, .production_id = 4), + [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), + [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 2, .production_id = 1), + [150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module, 2, .production_id = 1), + [152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(189), + [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [156] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19), + [158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), + [162] = {.entry = {.count = 1, .reusable = false}}, SHIFT(262), + [164] = {.entry = {.count = 1, .reusable = false}}, SHIFT(329), + [166] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), + [168] = {.entry = {.count = 1, .reusable = false}}, SHIFT(168), + [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_raw_string_literal, 3), + [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3), + [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1), + [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_raw_string_literal, 2), + [184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), + [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, .production_id = 18), + [188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, .production_id = 27), + [190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_raw_string_literal, 2), + [192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_raw_string_literal, 3), + [194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 3), + [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), + [200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_external_command, 2), + [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe, 3), + [206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recipe, 3), + [208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [210] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_recipe_body_repeat1, 2), SHIFT_REPEAT(262), + [213] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_recipe_body_repeat1, 2), SHIFT_REPEAT(27), + [216] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_recipe_body_repeat1, 2), SHIFT_REPEAT(168), + [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_recipe_body_repeat1, 2), + [221] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_recipe_body_repeat1, 2), SHIFT_REPEAT(145), + [224] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3), + [226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_external_command, 3), + [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe, 2), + [230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recipe, 2), + [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_body, 4, .production_id = 30), + [234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recipe_body, 4, .production_id = 30), + [236] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 3, .production_id = 17), + [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 3, .production_id = 17), + [240] = {.entry = {.count = 1, .reusable = false}}, SHIFT(263), + [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 8, .production_id = 38), + [244] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setting, 8, .production_id = 38), + [246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 5, .production_id = 15), + [248] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setting, 5, .production_id = 15), + [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 3, .production_id = 5), + [252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setting, 3, .production_id = 5), + [254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 4, .production_id = 26), + [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 4, .production_id = 26), + [258] = {.entry = {.count = 1, .reusable = false}}, SHIFT(296), + [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_item, 1), + [262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_item, 1), + [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 8, .production_id = 39), + [266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setting, 8, .production_id = 39), + [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 8, .production_id = 40), + [270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setting, 8, .production_id = 40), + [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 8, .production_id = 41), + [274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setting, 8, .production_id = 41), + [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 9, .production_id = 43), + [278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setting, 9, .production_id = 43), + [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 7, .production_id = 34), + [282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setting, 7, .production_id = 34), + [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 9, .production_id = 44), + [286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setting, 9, .production_id = 44), + [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 7, .production_id = 32), + [290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setting, 7, .production_id = 32), + [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 2), + [294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 2), + [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_export, 2), + [298] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_export, 2), + [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 3), + [302] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 3), + [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe, 4), + [306] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recipe, 4), + [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 3, .production_id = 1), + [310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module, 3, .production_id = 1), + [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2), + [314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comment, 2), + [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shebang, 2), + [318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_shebang, 2), + [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 4, .production_id = 13), + [322] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 4, .production_id = 13), + [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 6, .production_id = 25), + [326] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setting, 6, .production_id = 25), + [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), + [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 6, .production_id = 24), + [334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setting, 6, .production_id = 24), + [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_eol, 1), + [338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_eol, 1), + [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_body, 2), + [342] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recipe_body, 2), + [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias, 4, .production_id = 10), + [346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias, 4, .production_id = 10), + [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_expression_repeat1, 2, .production_id = 37), + [350] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_expression_repeat1, 2, .production_id = 37), SHIFT_REPEAT(352), + [353] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 4, .production_id = 4), + [355] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module, 4, .production_id = 4), + [357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_body, 3, .production_id = 23), + [359] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recipe_body, 3, .production_id = 23), + [361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), + [363] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_expression_repeat1, 2, .production_id = 37), + [365] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_if_expression_repeat1, 2, .production_id = 37), SHIFT_REPEAT(357), + [368] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_expression_repeat1, 4, .production_id = 45), + [370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_expression_repeat1, 4, .production_id = 45), + [372] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__braced_expr, 3, .production_id = 35), + [374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__braced_expr, 3, .production_id = 35), + [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), + [382] = {.entry = {.count = 1, .reusable = false}}, SHIFT(164), + [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), + [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_inner, 1), + [388] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 6, .production_id = 42), + [390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 6, .production_id = 42), + [392] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, .production_id = 27), + [394] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 5, .production_id = 36), + [396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 5, .production_id = 36), + [398] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_inner, 3, .production_id = 19), + [400] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_inner, 3, .production_id = 19), + [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [404] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, .production_id = 18), + [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), + [410] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 3), + [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [414] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1), + [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [418] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 2), + [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [422] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_external_command, 3), + [424] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), + [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [428] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), + [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [432] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 2), + [434] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_external_command, 2), + [436] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_inner, 1), + [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), + [442] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dependencies_repeat1, 2), SHIFT_REPEAT(222), + [445] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dependencies_repeat1, 2), SHIFT_REPEAT(312), + [448] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dependencies_repeat1, 2), SHIFT_REPEAT(169), + [451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_dependencies_repeat1, 2), + [453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), + [455] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recipe_line, 3), + [457] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_line, 3), + [459] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dependencies, 1), + [461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), + [463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), + [465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [467] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recipe_line, 1), + [469] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_line, 1), + [471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), + [473] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dependencies, 2), + [475] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_dependency_expression_repeat1, 1, .production_id = 21), + [477] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_dependency_expression_repeat1, 1, .production_id = 21), + [479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), + [481] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recipe_line, 2), + [483] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_line, 2), + [485] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_header, 3, .production_id = 2), + [487] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_expression_repeat1, 2, .production_id = 37), SHIFT_REPEAT(334), + [490] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_header, 4, .production_id = 6), + [492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [494] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_header, 3, .production_id = 6), + [496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), + [500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), + [502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), + [504] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2), SHIFT_REPEAT(162), + [507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2), + [509] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2), SHIFT_REPEAT(314), + [512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), + [514] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1, .production_id = 3), + [516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), [520] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_header, 2, .production_id = 2), - [522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), - [524] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_header, 3, .production_id = 2), - [526] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2), SHIFT_REPEAT(139), - [529] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2), - [531] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2), SHIFT_REPEAT(294), - [534] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1, .production_id = 3), - [536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [538] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_header, 3, .production_id = 6), - [540] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_setting_repeat1, 2, .production_id = 31), - [542] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_setting_repeat1, 2, .production_id = 31), - [544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), - [546] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_expression_repeat1, 2, .production_id = 37), SHIFT_REPEAT(318), - [549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), - [551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), - [553] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_recipe_repeat1, 2), - [555] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_recipe_repeat1, 2), SHIFT_REPEAT(328), - [558] = {.entry = {.count = 1, .reusable = false}}, SHIFT(148), - [560] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [562] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_recipe_line_repeat1, 2), SHIFT_REPEAT(34), - [565] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_recipe_line_repeat1, 2), SHIFT_REPEAT(148), - [568] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_recipe_line_repeat1, 2), - [570] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 1), - [572] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 1), - [574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [576] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, .production_id = 14), - [578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), - [582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), - [584] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 4, .production_id = 22), - [586] = {.entry = {.count = 1, .reusable = false}}, SHIFT(161), - [588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), - [590] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2), - [592] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_expression_repeat1, 2, .production_id = 37), SHIFT_REPEAT(334), - [595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), - [597] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6), - [599] = {.entry = {.count = 1, .reusable = false}}, SHIFT(216), - [601] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7), - [603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), - [605] = {.entry = {.count = 1, .reusable = false}}, SHIFT(180), - [607] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_condition, 1), - [609] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), - [619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), - [621] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), - [623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), - [625] = {.entry = {.count = 1, .reusable = false}}, SHIFT(196), - [627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), - [629] = {.entry = {.count = 1, .reusable = false}}, SHIFT(198), - [631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), - [633] = {.entry = {.count = 1, .reusable = false}}, SHIFT(193), - [635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dependency_expression, 4, .production_id = 28), - [637] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dependency_expression, 3, .production_id = 20), - [639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), - [641] = {.entry = {.count = 1, .reusable = false}}, SHIFT(166), - [643] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__string_repeat1, 2), - [645] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__string_repeat1, 2), SHIFT_REPEAT(193), - [648] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__string_repeat1, 2), SHIFT_REPEAT(193), - [651] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), - [653] = {.entry = {.count = 1, .reusable = false}}, SHIFT(252), - [655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), - [657] = {.entry = {.count = 1, .reusable = false}}, SHIFT(204), - [659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), - [661] = {.entry = {.count = 1, .reusable = false}}, SHIFT(208), - [663] = {.entry = {.count = 1, .reusable = false}}, SHIFT(259), - [665] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dependency, 1), - [667] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__string_repeat1, 2), SHIFT_REPEAT(216), - [670] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__string_repeat1, 2), SHIFT_REPEAT(216), - [673] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dependency, 1, .production_id = 8), - [675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(309), - [677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), - [679] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_sequence_repeat1, 2), SHIFT_REPEAT(40), - [682] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_sequence_repeat1, 2), - [684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [688] = {.entry = {.count = 1, .reusable = false}}, SHIFT(260), - [690] = {.entry = {.count = 1, .reusable = false}}, SHIFT(270), - [692] = {.entry = {.count = 1, .reusable = false}}, SHIFT(232), - [694] = {.entry = {.count = 1, .reusable = false}}, SHIFT(269), - [696] = {.entry = {.count = 1, .reusable = false}}, SHIFT(223), - [698] = {.entry = {.count = 1, .reusable = false}}, SHIFT(263), - [700] = {.entry = {.count = 1, .reusable = false}}, SHIFT(224), - [702] = {.entry = {.count = 1, .reusable = false}}, SHIFT(262), - [704] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 5, .production_id = 16), - [706] = {.entry = {.count = 1, .reusable = false}}, SHIFT(235), - [708] = {.entry = {.count = 1, .reusable = false}}, SHIFT(183), - [710] = {.entry = {.count = 1, .reusable = false}}, SHIFT(247), - [712] = {.entry = {.count = 1, .reusable = false}}, SHIFT(177), - [714] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__raw_string_indented_repeat1, 2), SHIFT_REPEAT(232), - [717] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__raw_string_indented_repeat1, 2), - [719] = {.entry = {.count = 1, .reusable = false}}, SHIFT(238), - [721] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recipe_line_prefix, 1), - [723] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_line_prefix, 1), - [725] = {.entry = {.count = 1, .reusable = false}}, SHIFT(188), - [727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [729] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence, 1), - [731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [735] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__raw_string_indented_repeat1, 2), SHIFT_REPEAT(238), - [738] = {.entry = {.count = 1, .reusable = false}}, SHIFT(233), - [740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [744] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22), - [746] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20), - [748] = {.entry = {.count = 1, .reusable = false}}, SHIFT(243), - [750] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), - [752] = {.entry = {.count = 1, .reusable = false}}, SHIFT(244), - [754] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12), - [756] = {.entry = {.count = 1, .reusable = false}}, SHIFT(191), - [758] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolation, 3), - [760] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolation, 3), - [762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), - [764] = {.entry = {.count = 1, .reusable = false}}, SHIFT(253), - [766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [770] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__raw_string_indented_repeat1, 2), SHIFT_REPEAT(260), - [773] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence, 2), - [775] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 4, .production_id = 11), - [777] = {.entry = {.count = 1, .reusable = false}}, SHIFT(239), - [779] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_repeat1, 2, .production_id = 12), SHIFT_REPEAT(309), - [782] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_repeat1, 2, .production_id = 12), - [784] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_repeat1, 2, .production_id = 11), - [786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297), - [788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), - [792] = {.entry = {.count = 1, .reusable = false}}, SHIFT(154), - [794] = {.entry = {.count = 1, .reusable = false}}, SHIFT(291), - [796] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1), - [798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), - [800] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variadic_parameter, 2, .production_id = 7), - [802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308), - [804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), - [806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), - [808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), - [810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), - [816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), - [824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), - [826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), - [828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), - [836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [838] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_header, 5, .production_id = 6), - [840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228), - [842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [844] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_condition, 3), - [846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), - [848] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), - [854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), - [856] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), - [858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), - [868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), - [870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), - [872] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_header, 4, .production_id = 2), + [522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), + [524] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 2, .production_id = 9), + [526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [534] = {.entry = {.count = 1, .reusable = false}}, SHIFT(193), + [536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), + [540] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_external_command_repeat1, 2), SHIFT_REPEAT(34), + [543] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_external_command_repeat1, 2), SHIFT_REPEAT(171), + [546] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_external_command_repeat1, 2), + [548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), + [550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [552] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_recipe_repeat1, 2), + [554] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_recipe_repeat1, 2), SHIFT_REPEAT(355), + [557] = {.entry = {.count = 1, .reusable = false}}, SHIFT(194), + [559] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_expression_repeat1, 2, .production_id = 37), SHIFT_REPEAT(362), + [562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [566] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 1), + [568] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 1), + [570] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, .production_id = 14), + [572] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2), + [574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), + [576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), + [580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [582] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_setting_repeat1, 2, .production_id = 33), SHIFT_REPEAT(174), + [585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_setting_repeat1, 2, .production_id = 33), + [587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), + [591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), + [595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), + [597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), + [599] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_recipe_line_repeat1, 2), SHIFT_REPEAT(27), + [602] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_recipe_line_repeat1, 2), SHIFT_REPEAT(193), + [605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_recipe_line_repeat1, 2), + [607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 4, .production_id = 22), + [611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328), + [613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288), + [615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228), + [617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), + [619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), + [621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), + [623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), + [631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), + [635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_setting_repeat1, 2, .production_id = 31), + [637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), + [639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dependency_expression, 4, .production_id = 28), + [643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), + [645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [647] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dependency, 1, .production_id = 8), + [649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), + [653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dependency, 1), + [657] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(228), + [660] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 2), + [662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [664] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_condition, 1), + [666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [670] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dependency_expression, 3, .production_id = 20), + [672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), + [674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), + [676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), + [678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), + [680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [684] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolation, 3), + [686] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolation, 3), + [688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [696] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence, 1), + [698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), + [700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), + [702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), + [704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), + [706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), + [708] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 5, .production_id = 16), + [710] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recipe_line_prefix, 1), + [712] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_line_prefix, 1), + [714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), + [724] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_repeat1, 2, .production_id = 12), SHIFT_REPEAT(359), + [727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_repeat1, 2, .production_id = 12), + [729] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 4, .production_id = 11), + [731] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence, 2), + [733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [737] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_raw_string_literal_repeat1, 2), SHIFT_REPEAT(274), + [740] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_raw_string_literal_repeat1, 2), + [742] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_sequence_repeat1, 2), SHIFT_REPEAT(28), + [745] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_sequence_repeat1, 2), + [747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), + [749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), + [757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), + [761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), + [765] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1), + [767] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_repeat1, 2, .production_id = 11), + [769] = {.entry = {.count = 1, .reusable = false}}, SHIFT(173), + [771] = {.entry = {.count = 1, .reusable = false}}, SHIFT(350), + [773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(344), + [777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), + [781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [799] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variadic_parameter, 2, .production_id = 7), + [801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), + [807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [809] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_condition, 3), + [811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), + [813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358), + [815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), + [817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), + [819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), + [823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), + [825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [827] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_header, 4, .production_id = 2), + [829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), + [833] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recipe_header, 5, .production_id = 6), + [835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), + [839] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), + [843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), + [851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), + [853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), + [857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333), }; #ifdef __cplusplus diff --git a/src/scanner.c b/src/scanner.c index 0dcabc6..229100e 100644 --- a/src/scanner.c +++ b/src/scanner.c @@ -14,11 +14,13 @@ // Make our array the rest of the allowed buffer size #define ARR_SIZE TREE_SITTER_SERIALIZATION_BUFFER_SIZE - SCAN_SIZE +#define IS_SINGLE false +#define IS_TRIPLE true + // Our scanner is always stored in a buffer of length // TREE_SITTER_SERIALIZATION_BUFFER_SIZE. We use the rest of the data as the // buffer for our dynamic array. #define ARR_PTR(state_ptr) ((uint8_t *)state_ptr + SCAN_SIZE) -#define ARR_ITEM(state_ptr, index) ARR_PTR(state_ptr)[index] enum TokenType { INDENT, // start of indentation @@ -29,18 +31,17 @@ enum TokenType { STRING_BODY, // contents of a string, excludes escapes RAW_STRING_START, // `'`, or its tripled version RAW_STRING_END, // same as the above - RAW_STRING_BODY, // contents of a raw string COMMAND_START, // `` ` `` or its triple` COMMAND_END, // same as the above - COMMAND_BODY, // contents of a command, excluding interpolations }; // A lot of this was taken from the Julia scanner, // https://github.com/tree-sitter/tree-sitter-julia/ -// Store the delimiter as itself if single, self*2 if triple -// We can compare to SCHAR_MAX +// Store the delimiter as itself if single, `self + SCHAR_MAX` if triple +// (since we never search for characters in extended ascii) typedef uint8_t Delimiter; +typedef bool IsTriple; typedef struct Scanner { size_t len; @@ -48,15 +49,34 @@ typedef struct Scanner { bool has_seen_eof; } Scanner; -void push(Scanner *state, char c, bool is_triple) { +char *arr_ptr(Scanner *state) { return ((char *)state + SCAN_SIZE); } + +void print_arr(Scanner *state, char *cmt) { + printf(" %s: ", cmt); + for (int i = 0; i < 20; ++i) { + printf("%02x ", ((char *)state)[i]); + } + printf(" \n"); +} + +void push(Scanner *state, char c, IsTriple is_triple) { + printf(" pushing %c triple %d len %zu ptr %p\n", c, is_triple, + state->len, ARR_PTR(state)); assert(c < SCHAR_MAX); assert(state->len <= ARR_SIZE); - ARR_ITEM(state, state->len++) = is_triple ? (c * 2) : c; + print_arr(state, "before push"); + arr_ptr(state)[state->len++] = is_triple ? (c + SCHAR_MAX) : c; + print_arr(state, "after push "); } Delimiter pop(Scanner *state) { assert(state->len > 0); - Delimiter item = ARR_ITEM(state, state->len--); + print_arr(state, "before pop "); + Delimiter popped = arr_ptr(state)[--state->len]; + printf(" popped %c triple %d len %zu ptr %p\n", popped, + popped > SCHAR_MAX, state->len, arr_ptr(state)); + print_arr(state, "after pop "); + return popped; } /// Initialize our struct. We allocate once and store the array after our @@ -114,81 +134,82 @@ bool eof(TSLexer *lexer) { return lexer->eof(lexer); } bool scan_string_start(TSLexer *lexer, Scanner *state, const char start_char) { if (lexer->lookahead != start_char) return false; + advance(lexer); mark_end(lexer); + for (unsigned count = 1; count < 3; ++count) { if (lexer->lookahead != start_char) { - // It's not a triple quoted delimiter. - push(state, start_char, false); + // It's not a triple quoted delimiter, return a single + push(state, start_char, IS_SINGLE); return true; } advance(lexer); } - mark_end(lexer); - push(state, start_char, true); + + // We found a single quote + push(state, start_char, IS_TRIPLE); return true; } bool scan_string_content(TSLexer *lexer, Scanner *state) { if (state->len == 0) return false; // Stack is empty. We're not in a string. - Delimiter end_char = ARR_ITEM(state, state->len - 1); // peek + Delimiter end_char = arr_ptr(state)[state->len - 1]; // peek bool is_triple = false; + printf(" end char %c\n", end_char); if (end_char > SCHAR_MAX) { is_triple = true; - end_char /= 2; + end_char -= SCHAR_MAX; } - bool is_str = false; - bool is_raw_str = false; - bool is_cmd = false; + bool backslash_escapes = false; + bool brace_escapees = false; TSSymbol end_symbol; - TSSymbol end_body; + TSSymbol end_body = STRING_BODY; switch (end_char) { case '"': end_symbol = STRING_END; - end_body = STRING_BODY; - is_str = true; + backslash_escapes = true; break; case '\'': end_symbol = RAW_STRING_END; - end_body = RAW_STRING_BODY; - is_raw_str = true; + brace_escapees = true; break; case '`': end_symbol = COMMAND_END; - end_body = COMMAND_BODY; - is_cmd = true; break; default: + printf(" end char: %c len: %zu\n", end_char, state->len); + assert(false); } bool has_content = false; - + while (!eof(lexer)) { - if (is_str && lexer->lookahead == '\\') { + if (backslash_escapes && lexer->lookahead == '\\') { // detected escape, stop parsing mark_end(lexer); - lexer -> result_symbol = end_body; + lexer->result_symbol = end_body; return has_content; } - if (is_cmd && lexer->lookahead == '{') { + if (brace_escapees && lexer->lookahead == '{') { mark_end(lexer); - lexer->result_symbol=end_body; + lexer->result_symbol = end_body; return has_content; } if (lexer->lookahead == end_char) { if (is_triple) { mark_end(lexer); - + for (unsigned count = 1; count < 3; ++count) { advance(lexer); - + if (lexer->lookahead != end_char) { mark_end(lexer); lexer->result_symbol = end_body; @@ -205,45 +226,12 @@ bool scan_string_content(TSLexer *lexer, Scanner *state) { mark_end(lexer); lexer->result_symbol = end_symbol; } - + return true; } advance(lexer); - has_content=true; - - // if (interp && lexer->lookahead == '$') { - // mark_end(lexer); - // lexer->result_symbol = end_body; - // return has_content; - // } else if (lexer->lookahead == '\\') { - // mark_end(lexer); - // lexer->result_symbol = end_body; - // return has_content; - // } else if (lexer->lookahead == end_char) { - // if (is_triple) { - // mark_end(lexer); - // for (unsigned count = 1; count < 3; count++) { - // advance(lexer); - // if (lexer->lookahead != end_char) { - // mark_end(lexer); - // lexer->result_symbol = end_body; - // return true; - // } - // } - // } - // if (has_content) { - // lexer->result_symbol = end_body; - // } else { - // pop(state); - // advance(lexer); - // mark_end(lexer); - // lexer->result_symbol = end_symbol; - // } - // return true; - // } - // advance(lexer); - // has_content = true; + has_content = true; } return false; } @@ -276,51 +264,81 @@ bool tree_sitter_just_external_scanner_scan(void *payload, TSLexer *lexer, const bool *valid_symbols) { Scanner *state = (Scanner *)(payload); int32_t *lookahead = &lexer->lookahead; + printf(" valid indent %d dedent %d newline %d str_start %d str_end %d \ + str_body %d raw_start %d raw_end %d cmd_start %d cmd_end %d \n", + valid_symbols[INDENT], valid_symbols[DEDENT], valid_symbols[NEWLINE], + valid_symbols[STRING_START], valid_symbols[STRING_END], + valid_symbols[STRING_BODY], valid_symbols[RAW_STRING_START], + valid_symbols[RAW_STRING_END], valid_symbols[COMMAND_START], + valid_symbols[COMMAND_END]); if (eof(lexer)) { return handle_eof(lexer, state, valid_symbols); } + if ((valid_symbols[STRING_END] || valid_symbols[STRING_BODY] || + valid_symbols[RAW_STRING_END] || valid_symbols[COMMAND_END]) && + scan_string_content(lexer, payload)) { + if (!valid_symbols[lexer->result_symbol]) { + printf(" valid %d %d %d %d result %d vals %d %d %d %d \n", + valid_symbols[STRING_END], valid_symbols[STRING_BODY], + valid_symbols[RAW_STRING_END], valid_symbols[COMMAND_END], + lexer->result_symbol, STRING_END, STRING_BODY, RAW_STRING_END, + COMMAND_END); + } + assert(valid_symbols[lexer->result_symbol]); + return true; + } + if (valid_symbols[STRING_START] && scan_string_start(lexer, state, '"')) { + printf(" scanned string start\n"); lexer->result_symbol = STRING_START; return true; } if (valid_symbols[RAW_STRING_START] && scan_string_start(lexer, state, '\'')) { + printf(" scanned raw start\n"); lexer->result_symbol = RAW_STRING_START; return true; } if (valid_symbols[COMMAND_START] && scan_string_start(lexer, state, '`')) { + printf(" scanned cmd start\n"); lexer->result_symbol = COMMAND_START; return true; } // Handle backslash escaping for newlines if (valid_symbols[NEWLINE]) { + printf(" newline valid\n"); bool escape = false; if (*lookahead == '\\') { escape = true; + printf(" skip backslash\n"); skip(lexer); } bool eol = false; while (*lookahead == '\n' || *lookahead == '\r') { eol = true; + printf(" skip newline\n"); skip(lexer); } if (eol && !escape) { + printf(" returning newline\n"); lexer->result_symbol = NEWLINE; return true; } } if (valid_symbols[INDENT] || valid_symbols[DEDENT]) { + printf(" indent dedent valid\n"); while (!eof(lexer) && isspace(*lookahead)) { switch (*lookahead) { case '\n': + printf(" return false\n"); return false; case '\t': @@ -339,14 +357,17 @@ bool tree_sitter_just_external_scanner_scan(void *payload, TSLexer *lexer, state->prev_indent == 0) { lexer->result_symbol = INDENT; state->prev_indent = indent; + printf(" return indent true\n"); return true; } else if (indent < state->prev_indent && valid_symbols[DEDENT] && indent == 0) { lexer->result_symbol = DEDENT; state->prev_indent = indent; + printf(" return dedent true\n"); return true; } } + printf(" returning false\n"); return false; } diff --git a/test/corpus/recipes.txt b/test/corpus/recipes.txt index 84b129a..f914c40 100644 --- a/test/corpus/recipes.txt +++ b/test/corpus/recipes.txt @@ -266,7 +266,7 @@ baz: foo && (bar "x") (parameter (identifier) (value - (string)))) + (string_literal)))) (dependencies (dependency (identifier)) @@ -292,7 +292,7 @@ baz: foo && (bar "x") (identifier) (expression (value - (string)))))))) + (string_literal)))))))) (recipe_body (recipe_line (text))))) diff --git a/test/corpus/statements.txt b/test/corpus/statements.txt index 7fcb0ee..240ae2f 100644 --- a/test/corpus/statements.txt +++ b/test/corpus/statements.txt @@ -24,7 +24,7 @@ foo := "abc" (identifier) (expression (value - (string))) + (string_literal))) (eol))) (item (eol))) @@ -45,9 +45,9 @@ foo := "abc" + 'def' (identifier) (expression (value - (string)) + (string_literal)) (value - (string))) + (raw_string_literal))) (eol))) (item (eol))) @@ -70,23 +70,23 @@ combined := "foo" / bar() / baz (identifier) (expression (value - (string)) + (string_literal)) (value - (string))) + (raw_string_literal))) (eol))) (item (assignment (identifier) (expression (value - (string))) + (string_literal))) (eol))) (item (assignment (identifier) (expression (value - (string)) + (string_literal)) (value (function_call (identifier))) @@ -116,14 +116,14 @@ baz := "a\"\t" (identifier) (expression (value - (string))) + (string_literal))) (eol))) (item (assignment (identifier) (expression (value - (string))) + (string_literal))) (eol))) (item (assignment @@ -160,14 +160,14 @@ def \" (identifier) (expression (value - (string))) + (string_literal))) (eol))) (item (assignment (identifier) (expression (value - (string))) + (string_literal))) (eol))) (item (assignment @@ -201,21 +201,21 @@ baz := 'a\"\t' (identifier) (expression (value - (string))) + (raw_string_literal))) (eol))) (item (assignment (identifier) (expression (value - (string))) + (raw_string_literal))) (eol))) (item (assignment (identifier) (expression (value - (string))) + (raw_string_literal))) (eol))) (item (eol))) @@ -243,21 +243,21 @@ bar:= '''b (identifier) (expression (value - (string))) + (raw_string_literal))) (eol))) (item (assignment (identifier) (expression (value - (string))) + (raw_string_literal))) (eol))) (item (assignment (identifier) (expression (value - (string))) + (raw_string_literal))) (eol))) (item (eol))) @@ -382,17 +382,17 @@ foo := if a == "x" { (identifier))) (expression (value - (string)))) + (string_literal)))) (expression (value - (string))) + (string_literal))) (condition (expression (value - (string))) + (string_literal))) (expression (value - (string)))) + (string_literal)))) (expression (value (function_call @@ -400,14 +400,14 @@ foo := if a == "x" { (sequence (expression (value - (string))))))) + (string_literal))))))) (condition (expression (value - (string))) + (string_literal))) (expression (value - (string)))) + (string_literal)))) (expression (if_expression (condition @@ -445,7 +445,7 @@ foo := some_fn("param1", param2) (sequence (expression (value - (string))) + (string_literal))) (expression (value (identifier))))))) @@ -470,7 +470,7 @@ export foo := "abc" (identifier) (expression (value - (string))) + (string_literal))) (eol)))) (item (eol))) @@ -489,12 +489,12 @@ import? 'baz.just' (eol)) (item (import - (string))) + (raw_string_literal))) (item (eol)) (item (import - (string))) + (raw_string_literal))) (item (eol)) (item @@ -522,7 +522,7 @@ mod? qux "PATH" (item (module (identifier) - (string))) + (raw_string_literal))) (item (eol)) (item @@ -533,7 +533,7 @@ mod? qux "PATH" (item (module (identifier) - (string))) + (string_literal))) (item (eol)) (item @@ -570,12 +570,12 @@ set shell := ["powershell.exe", "-c"] (item (setting (identifier) - (string) + (string_literal) (eol))) (item (setting - (string) - (string) + (string_literal) + (string_literal) (eol))) (item (eol)))