From 6aefcee37c9b67ade7e911a68b96ab6eb60ce7e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20L=2E=20Charlier?= Date: Mon, 17 Aug 2026 17:37:01 +0200 Subject: [PATCH 1/7] bug: preserve leading map pipeline boundary --- .../SyntaxBindingTests.cs | 15 + grammar.js | 2 +- src/grammar.json | 9 +- src/parser.c | 1575 ++++++++--------- test/corpus/map-shorthand.txt | 8 +- 5 files changed, 810 insertions(+), 799 deletions(-) diff --git a/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs b/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs index d724bec..384194d 100644 --- a/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs +++ b/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs @@ -613,6 +613,21 @@ public void MapShorthandAcceptsAParenthesizedOperation() Assert.That(shorthand.Expression.Pipeline.Single(), Is.TypeOf()); } + [Test] + public void LeadingMapShorthandPreservesOuterPipelineBoundary() + { + var root = (OpenExpressionSyntax)ExpressifSyntax.Parse("|> add(1) | sum"); + var shorthand = (MapShorthandSyntax)root.Pipeline[0]; + + Assert.Multiple(() => + { + Assert.That(shorthand.Expression.Pipeline.Cast().Select(call => call.Name), + Is.EqualTo(new[] { "add" })); + Assert.That(root.Pipeline[1], + Is.TypeOf().With.Property(nameof(FunctionCallSyntax.Name)).EqualTo("sum")); + }); + } + [Test] public void ParenthesizedMapShorthandCannotFollowAnOrdinaryPipe() => Assert.That( diff --git a/grammar.js b/grammar.js index 7c539fd..724385d 100644 --- a/grammar.js +++ b/grammar.js @@ -46,7 +46,7 @@ export default grammar({ map_shorthand: ($) => seq( "|>", - field("expression", $.open_expression), + field("expression", alias($.expression, $.open_expression)), ), // In a closed-expression pipeline, the next ordinary `|` belongs to the diff --git a/src/grammar.json b/src/grammar.json index 95a2fd2..75256c2 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -98,8 +98,13 @@ "type": "FIELD", "name": "expression", "content": { - "type": "SYMBOL", - "name": "open_expression" + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "expression" + }, + "named": true, + "value": "open_expression" } } ] diff --git a/src/parser.c b/src/parser.c index 33e99d8..ed77ed2 100644 --- a/src/parser.c +++ b/src/parser.c @@ -745,9 +745,9 @@ static const TSMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [6] = {.index = 5, .length = 2}, [7] = {.index = 7, .length = 1}, [8] = {.index = 8, .length = 2}, - [9] = {.index = 10, .length = 2}, - [10] = {.index = 12, .length = 3}, - [11] = {.index = 2, .length = 1}, + [9] = {.index = 2, .length = 1}, + [10] = {.index = 10, .length = 2}, + [11] = {.index = 12, .length = 3}, [12] = {.index = 15, .length = 2}, [13] = {.index = 17, .length = 2}, [14] = {.index = 17, .length = 2}, @@ -798,15 +798,15 @@ static const TSFieldMapEntry ts_field_map_entries[] = { static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { [0] = {0}, + [3] = { + [1] = sym_open_expression, + }, [4] = { [0] = alias_sym_from_start, }, [5] = { [0] = sym_positional_record_field, }, - [11] = { - [1] = sym_open_expression, - }, [14] = { [0] = alias_sym_argument_name, }, @@ -1737,24 +1737,24 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [20] = {.lex_state = 72}, [21] = {.lex_state = 72}, [22] = {.lex_state = 72}, - [23] = {.lex_state = 72}, - [24] = {.lex_state = 71}, + [23] = {.lex_state = 71}, + [24] = {.lex_state = 72}, [25] = {.lex_state = 71}, [26] = {.lex_state = 71}, [27] = {.lex_state = 71}, - [28] = {.lex_state = 0}, - [29] = {.lex_state = 72}, + [28] = {.lex_state = 72}, + [29] = {.lex_state = 0}, [30] = {.lex_state = 72}, [31] = {.lex_state = 0}, [32] = {.lex_state = 0}, - [33] = {.lex_state = 0}, + [33] = {.lex_state = 72}, [34] = {.lex_state = 72}, [35] = {.lex_state = 72}, - [36] = {.lex_state = 72}, + [36] = {.lex_state = 0}, [37] = {.lex_state = 72}, [38] = {.lex_state = 72}, - [39] = {.lex_state = 71}, - [40] = {.lex_state = 72}, + [39] = {.lex_state = 72}, + [40] = {.lex_state = 71}, [41] = {.lex_state = 0}, [42] = {.lex_state = 0}, [43] = {.lex_state = 0}, @@ -1787,8 +1787,8 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [70] = {.lex_state = 0}, [71] = {.lex_state = 0}, [72] = {.lex_state = 0}, - [73] = {.lex_state = 3}, - [74] = {.lex_state = 3}, + [73] = {.lex_state = 0}, + [74] = {.lex_state = 71}, [75] = {.lex_state = 0}, [76] = {.lex_state = 0}, [77] = {.lex_state = 0}, @@ -1797,11 +1797,11 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [80] = {.lex_state = 0}, [81] = {.lex_state = 0}, [82] = {.lex_state = 0}, - [83] = {.lex_state = 0}, + [83] = {.lex_state = 3}, [84] = {.lex_state = 0}, - [85] = {.lex_state = 0}, + [85] = {.lex_state = 3}, [86] = {.lex_state = 0}, - [87] = {.lex_state = 71}, + [87] = {.lex_state = 0}, [88] = {.lex_state = 0}, [89] = {.lex_state = 0}, [90] = {.lex_state = 0}, @@ -1896,24 +1896,24 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_root_expression] = STATE(118), [sym_open_expression] = STATE(111), [sym_closed_expression] = STATE(111), - [sym_map_shorthand] = STATE(70), - [sym_expression] = STATE(44), - [sym_parenthesized_expression] = STATE(70), - [sym_tuple_projection] = STATE(70), - [sym_function_call] = STATE(70), - [sym_value] = STATE(46), - [sym_interval_literal] = STATE(48), - [sym_array_literal] = STATE(48), - [sym_tuple_literal] = STATE(48), - [sym_record_literal] = STATE(48), - [sym_incoming_value] = STATE(48), - [sym_record_access] = STATE(48), - [sym_record_field_selector] = STATE(19), - [sym_boolean_literal] = STATE(48), - [sym_quoted_literal] = STATE(48), - [sym_double_quoted_literal] = STATE(32), - [sym_backtick_quoted_literal] = STATE(32), - [sym_temporal_literal] = STATE(48), + [sym_map_shorthand] = STATE(67), + [sym_expression] = STATE(66), + [sym_parenthesized_expression] = STATE(67), + [sym_tuple_projection] = STATE(67), + [sym_function_call] = STATE(67), + [sym_value] = STATE(44), + [sym_interval_literal] = STATE(46), + [sym_array_literal] = STATE(46), + [sym_tuple_literal] = STATE(46), + [sym_record_literal] = STATE(46), + [sym_incoming_value] = STATE(46), + [sym_record_access] = STATE(46), + [sym_record_field_selector] = STATE(18), + [sym_boolean_literal] = STATE(46), + [sym_quoted_literal] = STATE(46), + [sym_double_quoted_literal] = STATE(36), + [sym_backtick_quoted_literal] = STATE(36), + [sym_temporal_literal] = STATE(46), [anon_sym_PIPE_GT] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(5), [anon_sym_DOLLAR] = ACTIONS(7), @@ -1961,9 +1961,9 @@ static const uint16_t ts_small_parse_table[] = { sym_function_name, ACTIONS(37), 1, anon_sym_LBRACE, - STATE(19), 1, + STATE(18), 1, sym_record_field_selector, - STATE(86), 1, + STATE(81), 1, sym_function_call, STATE(90), 1, sym_value, @@ -1978,7 +1978,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(32), 2, + STATE(36), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, STATE(104), 2, @@ -1995,7 +1995,7 @@ static const uint16_t ts_small_parse_table[] = { sym__nested_open_expression, sym__nested_closed_expression, sym_parameterized_expression, - STATE(48), 9, + STATE(46), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2026,9 +2026,9 @@ static const uint16_t ts_small_parse_table[] = { sym_function_name, ACTIONS(37), 1, anon_sym_LBRACE, - STATE(19), 1, + STATE(18), 1, sym_record_field_selector, - STATE(86), 1, + STATE(81), 1, sym_function_call, STATE(90), 1, sym_value, @@ -2041,7 +2041,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(32), 2, + STATE(36), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, STATE(109), 2, @@ -2058,7 +2058,7 @@ static const uint16_t ts_small_parse_table[] = { sym__nested_open_expression, sym__nested_closed_expression, sym_parameterized_expression, - STATE(48), 9, + STATE(46), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2091,12 +2091,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(29), 1, anon_sym_BQUOTE, - STATE(19), 1, + STATE(18), 1, sym_record_field_selector, STATE(44), 1, - sym_expression, - STATE(46), 1, sym_value, + STATE(66), 1, + sym_expression, STATE(121), 1, sym_root_expression, ACTIONS(19), 2, @@ -2108,7 +2108,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(32), 2, + STATE(36), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, STATE(111), 2, @@ -2118,12 +2118,12 @@ static const uint16_t ts_small_parse_table[] = { sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(70), 4, + STATE(67), 4, sym_map_shorthand, sym_parenthesized_expression, sym_tuple_projection, sym_function_call, - STATE(48), 9, + STATE(46), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2154,9 +2154,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BQUOTE, ACTIONS(37), 1, anon_sym_LBRACE, - STATE(19), 1, + STATE(18), 1, sym_record_field_selector, - STATE(86), 1, + STATE(81), 1, sym_function_call, STATE(90), 1, sym_value, @@ -2169,7 +2169,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(32), 2, + STATE(36), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, ACTIONS(31), 3, @@ -2183,7 +2183,7 @@ static const uint16_t ts_small_parse_table[] = { sym__nested_open_expression, sym__nested_closed_expression, sym_parameterized_expression, - STATE(48), 9, + STATE(46), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2216,9 +2216,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DOT_DOT_DOT, ACTIONS(45), 1, sym_unquoted_record_field_name, - STATE(19), 1, + STATE(18), 1, sym_record_field_selector, - STATE(72), 1, + STATE(75), 1, sym_value, STATE(115), 1, sym_record_field_name, @@ -2233,7 +2233,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(87), 2, + STATE(74), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, ACTIONS(31), 3, @@ -2244,7 +2244,7 @@ static const uint16_t ts_small_parse_table[] = { sym__record_entry, sym_record_field, sym_record_spread, - STATE(48), 9, + STATE(46), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2275,11 +2275,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BQUOTE, ACTIONS(47), 1, anon_sym_LPAREN, - STATE(19), 1, + STATE(18), 1, sym_record_field_selector, - STATE(46), 1, + STATE(44), 1, sym_value, - STATE(53), 1, + STATE(49), 1, sym__parenthesized_pipeline_expression, ACTIONS(19), 2, sym_numeric_literal, @@ -2290,7 +2290,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(32), 2, + STATE(36), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, STATE(119), 2, @@ -2304,7 +2304,7 @@ static const uint16_t ts_small_parse_table[] = { sym__pipeline_expression, sym_tuple_projection, sym_function_call, - STATE(48), 9, + STATE(46), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2335,7 +2335,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DOT_DOT_DOT, ACTIONS(45), 1, sym_unquoted_record_field_name, - STATE(19), 1, + STATE(18), 1, sym_record_field_selector, STATE(91), 1, sym_value, @@ -2350,7 +2350,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(87), 2, + STATE(74), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, ACTIONS(31), 3, @@ -2361,7 +2361,7 @@ static const uint16_t ts_small_parse_table[] = { sym__record_entry, sym_record_field, sym_record_spread, - STATE(48), 9, + STATE(46), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2386,7 +2386,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_I, ACTIONS(51), 1, anon_sym_T, - STATE(19), 1, + STATE(18), 1, sym_record_field_selector, STATE(96), 1, sym_value, @@ -2399,14 +2399,14 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(32), 2, + STATE(36), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(48), 9, + STATE(46), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2431,7 +2431,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_I, ACTIONS(51), 1, anon_sym_T, - STATE(19), 1, + STATE(18), 1, sym_record_field_selector, STATE(107), 1, sym_value, @@ -2444,14 +2444,14 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(32), 2, + STATE(36), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(48), 9, + STATE(46), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2476,7 +2476,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_I, ACTIONS(51), 1, anon_sym_T, - STATE(19), 1, + STATE(18), 1, sym_record_field_selector, STATE(117), 1, sym_value, @@ -2489,14 +2489,14 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(32), 2, + STATE(36), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(48), 9, + STATE(46), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2521,7 +2521,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_I, ACTIONS(51), 1, anon_sym_T, - STATE(19), 1, + STATE(18), 1, sym_record_field_selector, STATE(88), 1, sym_value, @@ -2534,14 +2534,14 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(32), 2, + STATE(36), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(48), 9, + STATE(46), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2566,14 +2566,14 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(53), 2, anon_sym_PLUSINF, anon_sym_DASHINF, - STATE(32), 2, + STATE(36), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(78), 4, + STATE(77), 4, sym_infinite_bound, sym_boolean_literal, sym_quoted_literal, @@ -2593,14 +2593,14 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(53), 2, anon_sym_PLUSINF, anon_sym_DASHINF, - STATE(32), 2, + STATE(36), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(78), 4, + STATE(77), 4, sym_infinite_bound, sym_boolean_literal, sym_quoted_literal, @@ -2614,42 +2614,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DOLLAR, ACTIONS(57), 1, sym_function_name, - STATE(82), 1, - sym_expression, - STATE(83), 1, - sym_parenthesized_expression, - STATE(85), 1, + STATE(71), 1, sym_parenthesized_open_expression, - STATE(70), 3, - sym_map_shorthand, - sym_tuple_projection, - sym_function_call, - [922] = 7, - ACTIONS(3), 1, - anon_sym_PIPE_GT, - ACTIONS(5), 1, - anon_sym_LPAREN, - ACTIONS(7), 1, - anon_sym_DOLLAR, - ACTIONS(57), 1, - sym_function_name, - STATE(44), 1, + STATE(72), 1, + sym_parenthesized_expression, + STATE(87), 1, sym_expression, - STATE(69), 1, - sym_open_expression, - STATE(70), 4, + STATE(67), 3, sym_map_shorthand, - sym_parenthesized_expression, sym_tuple_projection, sym_function_call, - [947] = 7, + [922] = 5, + ACTIONS(61), 1, + anon_sym_PIPE, + STATE(21), 1, + aux_sym_record_access_repeat1, + STATE(30), 1, + sym_immediate_record_field_selector, + ACTIONS(63), 2, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + ACTIONS(59), 5, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [943] = 7, ACTIONS(27), 1, anon_sym_DQUOTE, ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(59), 1, + ACTIONS(65), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(61), 1, + ACTIONS(67), 1, sym_unquoted_record_field_name, STATE(115), 1, sym_record_field_name, @@ -2660,30 +2658,14 @@ static const uint16_t ts_small_parse_table[] = { sym__record_entry, sym_record_field, sym_record_spread, - [972] = 5, - ACTIONS(65), 1, - anon_sym_PIPE, - STATE(22), 1, - aux_sym_record_access_repeat1, - STATE(29), 1, - sym_immediate_record_field_selector, - ACTIONS(67), 2, - aux_sym_immediate_record_field_selector_token1, - aux_sym_immediate_record_field_selector_token2, - ACTIONS(63), 5, - ts_builtin_sym_end, - anon_sym_PIPE_GT, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACE, - [993] = 5, + [968] = 5, ACTIONS(71), 1, anon_sym_PIPE, - STATE(18), 1, + STATE(16), 1, aux_sym_record_access_repeat1, - STATE(29), 1, + STATE(30), 1, sym_immediate_record_field_selector, - ACTIONS(67), 2, + ACTIONS(63), 2, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, ACTIONS(69), 5, @@ -2692,14 +2674,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1014] = 5, + [989] = 5, ACTIONS(75), 1, anon_sym_PIPE, - STATE(22), 1, + STATE(20), 1, aux_sym_record_access_repeat1, - STATE(29), 1, + STATE(30), 1, sym_immediate_record_field_selector, - ACTIONS(67), 2, + ACTIONS(63), 2, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, ACTIONS(73), 5, @@ -2708,14 +2690,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1035] = 5, + [1010] = 5, ACTIONS(79), 1, anon_sym_PIPE, - STATE(20), 1, + STATE(21), 1, aux_sym_record_access_repeat1, - STATE(29), 1, + STATE(30), 1, sym_immediate_record_field_selector, - ACTIONS(67), 2, + ACTIONS(63), 2, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, ACTIONS(77), 5, @@ -2724,12 +2706,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1056] = 5, + [1031] = 5, ACTIONS(83), 1, anon_sym_PIPE, - STATE(22), 1, + STATE(21), 1, aux_sym_record_access_repeat1, - STATE(29), 1, + STATE(30), 1, sym_immediate_record_field_selector, ACTIONS(85), 2, aux_sym_immediate_record_field_selector_token1, @@ -2740,7 +2722,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1077] = 7, + [1052] = 7, ACTIONS(3), 1, anon_sym_PIPE_GT, ACTIONS(5), 1, @@ -2749,16 +2731,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DOLLAR, ACTIONS(57), 1, sym_function_name, - STATE(44), 1, + STATE(66), 1, sym_expression, STATE(123), 1, sym_open_expression, - STATE(70), 4, + STATE(67), 4, sym_map_shorthand, sym_parenthesized_expression, sym_tuple_projection, sym_function_call, - [1102] = 2, + [1077] = 2, ACTIONS(90), 1, anon_sym_PIPE, ACTIONS(88), 8, @@ -2770,7 +2752,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1116] = 2, + [1091] = 6, + ACTIONS(3), 1, + anon_sym_PIPE_GT, + ACTIONS(5), 1, + anon_sym_LPAREN, + ACTIONS(7), 1, + anon_sym_DOLLAR, + ACTIONS(57), 1, + sym_function_name, + STATE(65), 1, + sym_expression, + STATE(67), 4, + sym_map_shorthand, + sym_parenthesized_expression, + sym_tuple_projection, + sym_function_call, + [1113] = 2, ACTIONS(94), 1, anon_sym_PIPE, ACTIONS(92), 8, @@ -2782,7 +2780,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1130] = 2, + [1127] = 2, ACTIONS(98), 1, anon_sym_PIPE, ACTIONS(96), 8, @@ -2794,7 +2792,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1144] = 2, + [1141] = 2, ACTIONS(102), 1, anon_sym_PIPE, ACTIONS(100), 8, @@ -2806,7 +2804,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1158] = 2, + [1155] = 2, ACTIONS(106), 1, anon_sym_PIPE, ACTIONS(104), 7, @@ -2815,9 +2813,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - [1171] = 2, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + [1168] = 2, ACTIONS(110), 1, anon_sym_PIPE, ACTIONS(108), 7, @@ -2826,9 +2824,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - aux_sym_immediate_record_field_selector_token1, - aux_sym_immediate_record_field_selector_token2, - [1184] = 2, + anon_sym_LBRACK, + anon_sym_RBRACK, + [1181] = 2, ACTIONS(114), 1, anon_sym_PIPE, ACTIONS(112), 7, @@ -2839,7 +2837,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - [1197] = 2, + [1194] = 2, ACTIONS(118), 1, anon_sym_PIPE, ACTIONS(116), 7, @@ -2850,31 +2848,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1210] = 2, - ACTIONS(122), 1, - anon_sym_PIPE, - ACTIONS(120), 7, - ts_builtin_sym_end, - anon_sym_PIPE_GT, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - [1223] = 4, - ACTIONS(124), 1, + [1207] = 4, + ACTIONS(120), 1, anon_sym_LPAREN, - STATE(61), 1, + STATE(58), 1, sym_interval_shorthand, - ACTIONS(126), 2, + ACTIONS(122), 2, anon_sym_LBRACK, anon_sym_RBRACK, - ACTIONS(128), 4, + ACTIONS(124), 4, anon_sym_LPAREN0_PLUS_RPAREN, anon_sym_LPAREN_PLUS_RPAREN, anon_sym_LPAREN0_DASH_RPAREN, anon_sym_LPAREN_DASH_RPAREN, - [1240] = 2, + [1224] = 2, + ACTIONS(128), 1, + anon_sym_PIPE, + ACTIONS(126), 7, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + [1237] = 2, ACTIONS(132), 1, anon_sym_PIPE, ACTIONS(130), 7, @@ -2885,7 +2883,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - [1253] = 2, + [1250] = 2, ACTIONS(136), 1, anon_sym_PIPE, ACTIONS(134), 7, @@ -2896,7 +2894,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - [1266] = 2, + [1263] = 2, ACTIONS(140), 1, anon_sym_PIPE, ACTIONS(138), 7, @@ -2905,665 +2903,660 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - aux_sym_immediate_record_field_selector_token1, - aux_sym_immediate_record_field_selector_token2, - [1279] = 5, + anon_sym_LBRACK, + anon_sym_RBRACK, + [1276] = 5, ACTIONS(7), 1, anon_sym_DOLLAR, ACTIONS(47), 1, anon_sym_LPAREN, ACTIONS(57), 1, sym_function_name, - STATE(53), 1, + STATE(49), 1, sym__parenthesized_pipeline_expression, - STATE(80), 3, + STATE(70), 3, sym__pipeline_expression, sym_tuple_projection, sym_function_call, - [1297] = 5, + [1294] = 5, ACTIONS(7), 1, anon_sym_DOLLAR, ACTIONS(47), 1, anon_sym_LPAREN, ACTIONS(57), 1, sym_function_name, - STATE(53), 1, + STATE(49), 1, sym__parenthesized_pipeline_expression, - STATE(52), 3, + STATE(86), 3, sym__pipeline_expression, sym_tuple_projection, sym_function_call, - [1315] = 3, - ACTIONS(144), 1, - anon_sym_PIPE, - ACTIONS(146), 1, - anon_sym_LPAREN, - ACTIONS(142), 5, - ts_builtin_sym_end, - anon_sym_PIPE_GT, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACE, - [1329] = 5, + [1312] = 5, ACTIONS(7), 1, anon_sym_DOLLAR, ACTIONS(47), 1, anon_sym_LPAREN, ACTIONS(57), 1, sym_function_name, - STATE(53), 1, + STATE(49), 1, sym__parenthesized_pipeline_expression, - STATE(81), 3, + STATE(82), 3, sym__pipeline_expression, sym_tuple_projection, sym_function_call, - [1347] = 3, - ACTIONS(150), 1, + [1330] = 3, + ACTIONS(144), 1, anon_sym_PIPE, - STATE(41), 1, - aux_sym_open_expression_repeat1, - ACTIONS(148), 5, + ACTIONS(146), 1, + anon_sym_LPAREN, + ACTIONS(142), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1361] = 2, - ACTIONS(155), 1, + [1344] = 2, + ACTIONS(150), 1, anon_sym_PIPE, - ACTIONS(153), 5, + ACTIONS(148), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1372] = 2, - ACTIONS(159), 1, + [1355] = 2, + ACTIONS(154), 1, anon_sym_PIPE, - ACTIONS(157), 5, + ACTIONS(152), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1383] = 3, - ACTIONS(163), 1, + [1366] = 2, + ACTIONS(158), 1, anon_sym_PIPE, - STATE(51), 1, - aux_sym_open_expression_repeat1, - ACTIONS(161), 4, - ts_builtin_sym_end, - anon_sym_PIPE_GT, - anon_sym_RPAREN, - anon_sym_RBRACE, - [1396] = 2, - ACTIONS(167), 1, - anon_sym_PIPE, - ACTIONS(165), 5, + ACTIONS(156), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1407] = 5, - ACTIONS(171), 1, + [1377] = 5, + ACTIONS(162), 1, anon_sym_PIPE, - ACTIONS(173), 1, + ACTIONS(164), 1, anon_sym_PIPE_GT, - STATE(57), 1, + STATE(54), 1, aux_sym_closed_expression_repeat1, - STATE(75), 1, + STATE(78), 1, sym__pipeline_map_shorthand, - ACTIONS(169), 2, + ACTIONS(160), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [1424] = 2, - ACTIONS(177), 1, + [1394] = 2, + ACTIONS(168), 1, anon_sym_PIPE, - ACTIONS(175), 5, + ACTIONS(166), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1435] = 2, - ACTIONS(181), 1, + [1405] = 2, + ACTIONS(172), 1, anon_sym_PIPE, - ACTIONS(179), 5, + ACTIONS(170), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1446] = 2, - ACTIONS(185), 1, + [1416] = 2, + ACTIONS(176), 1, anon_sym_PIPE, - ACTIONS(183), 5, + ACTIONS(174), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1457] = 2, - ACTIONS(189), 1, + [1427] = 2, + ACTIONS(180), 1, anon_sym_PIPE, - ACTIONS(187), 5, + ACTIONS(178), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1468] = 3, - ACTIONS(163), 1, + [1438] = 2, + ACTIONS(184), 1, anon_sym_PIPE, - STATE(41), 1, - aux_sym_open_expression_repeat1, - ACTIONS(191), 4, + ACTIONS(182), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, + anon_sym_COMMA, anon_sym_RBRACE, - [1481] = 2, - ACTIONS(193), 1, + [1449] = 2, + ACTIONS(188), 1, anon_sym_PIPE, - ACTIONS(148), 5, + ACTIONS(186), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1492] = 2, - ACTIONS(197), 1, + [1460] = 5, + ACTIONS(192), 1, anon_sym_PIPE, - ACTIONS(195), 5, + ACTIONS(195), 1, + anon_sym_PIPE_GT, + STATE(51), 1, + aux_sym_closed_expression_repeat1, + STATE(78), 1, + sym__pipeline_map_shorthand, + ACTIONS(190), 2, + ts_builtin_sym_end, + anon_sym_RPAREN, + [1477] = 2, + ACTIONS(200), 1, + anon_sym_PIPE, + ACTIONS(198), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1503] = 2, - ACTIONS(201), 1, + [1488] = 2, + ACTIONS(204), 1, anon_sym_PIPE, - ACTIONS(199), 5, + ACTIONS(202), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1514] = 5, - ACTIONS(205), 1, + [1499] = 5, + ACTIONS(162), 1, anon_sym_PIPE, - ACTIONS(208), 1, + ACTIONS(164), 1, anon_sym_PIPE_GT, - STATE(55), 1, + STATE(51), 1, aux_sym_closed_expression_repeat1, - STATE(75), 1, + STATE(78), 1, sym__pipeline_map_shorthand, - ACTIONS(203), 2, + ACTIONS(206), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [1531] = 2, - ACTIONS(213), 1, + [1516] = 2, + ACTIONS(210), 1, anon_sym_PIPE, - ACTIONS(211), 5, + ACTIONS(208), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1542] = 5, - ACTIONS(171), 1, + [1527] = 2, + ACTIONS(214), 1, anon_sym_PIPE, - ACTIONS(173), 1, - anon_sym_PIPE_GT, - STATE(55), 1, - aux_sym_closed_expression_repeat1, - STATE(75), 1, - sym__pipeline_map_shorthand, - ACTIONS(215), 2, + ACTIONS(212), 5, ts_builtin_sym_end, + anon_sym_PIPE_GT, anon_sym_RPAREN, - [1559] = 2, - ACTIONS(219), 1, + anon_sym_COMMA, + anon_sym_RBRACE, + [1538] = 2, + ACTIONS(218), 1, anon_sym_PIPE, - ACTIONS(217), 5, + ACTIONS(216), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1570] = 2, - ACTIONS(223), 1, + [1549] = 2, + ACTIONS(222), 1, anon_sym_PIPE, - ACTIONS(221), 5, + ACTIONS(220), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1581] = 2, - ACTIONS(227), 1, + [1560] = 2, + ACTIONS(226), 1, anon_sym_PIPE, - ACTIONS(225), 5, + ACTIONS(224), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1592] = 2, - ACTIONS(231), 1, + [1571] = 2, + ACTIONS(230), 1, anon_sym_PIPE, - ACTIONS(229), 5, + ACTIONS(228), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1603] = 2, - ACTIONS(235), 1, + [1582] = 2, + ACTIONS(234), 1, anon_sym_PIPE, - ACTIONS(233), 5, + ACTIONS(232), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1614] = 2, - ACTIONS(239), 1, + [1593] = 2, + ACTIONS(238), 1, anon_sym_PIPE, - ACTIONS(237), 5, + ACTIONS(236), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1625] = 2, - ACTIONS(243), 1, + [1604] = 2, + ACTIONS(242), 1, anon_sym_PIPE, - ACTIONS(241), 5, + ACTIONS(240), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1636] = 2, - ACTIONS(247), 1, + [1615] = 3, + ACTIONS(246), 1, anon_sym_PIPE, - ACTIONS(245), 5, + STATE(64), 1, + aux_sym_open_expression_repeat1, + ACTIONS(244), 4, ts_builtin_sym_end, - anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1647] = 2, + [1628] = 2, ACTIONS(251), 1, anon_sym_PIPE, - ACTIONS(249), 5, + ACTIONS(249), 4, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, - [1658] = 2, + [1638] = 3, ACTIONS(255), 1, anon_sym_PIPE, - ACTIONS(253), 5, + STATE(69), 1, + aux_sym_open_expression_repeat1, + ACTIONS(253), 3, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_RBRACE, + [1650] = 2, + ACTIONS(259), 1, + anon_sym_PIPE, + ACTIONS(257), 4, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, - [1669] = 3, + [1660] = 3, ACTIONS(146), 1, anon_sym_LPAREN, - ACTIONS(257), 1, + ACTIONS(261), 1, anon_sym_COLON_EQ, ACTIONS(142), 3, anon_sym_PIPE, anon_sym_RPAREN, anon_sym_COMMA, - [1681] = 2, - ACTIONS(261), 1, + [1672] = 3, + ACTIONS(255), 1, anon_sym_PIPE, - ACTIONS(259), 4, + STATE(64), 1, + aux_sym_open_expression_repeat1, + ACTIONS(263), 3, ts_builtin_sym_end, - anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_RBRACE, - [1691] = 2, - ACTIONS(265), 1, - anon_sym_PIPE, - ACTIONS(263), 4, + [1684] = 1, + ACTIONS(244), 5, ts_builtin_sym_end, - anon_sym_PIPE_GT, + anon_sym_PIPE, anon_sym_RPAREN, + anon_sym_COMMA, anon_sym_RBRACE, - [1701] = 3, + [1692] = 2, ACTIONS(267), 1, anon_sym_PIPE, - STATE(41), 1, - aux_sym_open_expression_repeat1, - ACTIONS(269), 2, + ACTIONS(265), 3, + ts_builtin_sym_end, + anon_sym_PIPE_GT, anon_sym_RPAREN, - anon_sym_COMMA, - [1712] = 4, + [1701] = 2, ACTIONS(271), 1, anon_sym_PIPE, - ACTIONS(273), 1, + ACTIONS(269), 3, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_RPAREN, + [1710] = 1, + ACTIONS(273), 4, + anon_sym_RPAREN, anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_RBRACK, + [1717] = 2, ACTIONS(275), 1, + anon_sym_COLON_EQ, + ACTIONS(138), 3, + anon_sym_PIPE, + anon_sym_COMMA, anon_sym_RBRACE, - STATE(92), 1, - aux_sym_array_literal_repeat1, - [1725] = 3, + [1726] = 4, ACTIONS(277), 1, - anon_sym_DQUOTE, - STATE(73), 1, - aux_sym_double_quoted_literal_repeat1, - ACTIONS(279), 2, - sym_double_quoted_content, - sym_escape_sequence, - [1736] = 3, - ACTIONS(282), 1, - anon_sym_DQUOTE, - STATE(79), 1, - aux_sym_double_quoted_literal_repeat1, - ACTIONS(284), 2, - sym_double_quoted_content, - sym_escape_sequence, - [1747] = 2, - ACTIONS(288), 1, anon_sym_PIPE, - ACTIONS(286), 3, - ts_builtin_sym_end, - anon_sym_PIPE_GT, - anon_sym_RPAREN, - [1756] = 3, - ACTIONS(292), 1, + ACTIONS(279), 1, anon_sym_COMMA, - STATE(76), 1, - aux_sym_array_literal_repeat1, - ACTIONS(290), 2, - anon_sym_RPAREN, + ACTIONS(281), 1, anon_sym_RBRACE, - [1767] = 1, - ACTIONS(295), 4, + STATE(92), 1, + aux_sym_array_literal_repeat1, + [1739] = 3, + ACTIONS(255), 1, + anon_sym_PIPE, + STATE(64), 1, + aux_sym_open_expression_repeat1, + ACTIONS(283), 2, anon_sym_RPAREN, anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_RBRACK, - [1774] = 1, - ACTIONS(297), 4, + [1750] = 1, + ACTIONS(285), 4, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACK, anon_sym_RBRACK, - [1781] = 3, - ACTIONS(299), 1, + [1757] = 2, + ACTIONS(289), 1, + anon_sym_PIPE, + ACTIONS(287), 3, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_RPAREN, + [1766] = 3, + ACTIONS(291), 1, anon_sym_DQUOTE, - STATE(73), 1, + STATE(83), 1, aux_sym_double_quoted_literal_repeat1, - ACTIONS(301), 2, + ACTIONS(293), 2, sym_double_quoted_content, sym_escape_sequence, - [1792] = 2, - ACTIONS(303), 1, - anon_sym_PIPE, - ACTIONS(203), 3, - ts_builtin_sym_end, - anon_sym_PIPE_GT, + [1777] = 3, + ACTIONS(297), 1, + anon_sym_COMMA, + STATE(80), 1, + aux_sym_array_literal_repeat1, + ACTIONS(295), 2, anon_sym_RPAREN, - [1801] = 3, - ACTIONS(267), 1, + anon_sym_RBRACE, + [1788] = 3, + ACTIONS(255), 1, anon_sym_PIPE, - STATE(84), 1, + STATE(76), 1, aux_sym_open_expression_repeat1, - ACTIONS(305), 2, + ACTIONS(300), 2, anon_sym_RPAREN, anon_sym_COMMA, - [1812] = 2, - ACTIONS(309), 1, - anon_sym_PIPE, - ACTIONS(307), 3, - ts_builtin_sym_end, - anon_sym_PIPE_GT, - anon_sym_RPAREN, - [1821] = 2, - ACTIONS(313), 1, + [1799] = 3, + ACTIONS(255), 1, anon_sym_PIPE, - ACTIONS(311), 3, - ts_builtin_sym_end, - anon_sym_PIPE_GT, + STATE(84), 1, + aux_sym_open_expression_repeat1, + ACTIONS(302), 2, anon_sym_RPAREN, - [1830] = 3, - ACTIONS(267), 1, + anon_sym_COMMA, + [1810] = 3, + ACTIONS(304), 1, + anon_sym_DQUOTE, + STATE(83), 1, + aux_sym_double_quoted_literal_repeat1, + ACTIONS(306), 2, + sym_double_quoted_content, + sym_escape_sequence, + [1821] = 3, + ACTIONS(255), 1, anon_sym_PIPE, - STATE(41), 1, + STATE(64), 1, aux_sym_open_expression_repeat1, - ACTIONS(315), 2, + ACTIONS(309), 2, anon_sym_RPAREN, anon_sym_COMMA, - [1841] = 2, - ACTIONS(309), 1, + [1832] = 3, + ACTIONS(311), 1, + anon_sym_DQUOTE, + STATE(79), 1, + aux_sym_double_quoted_literal_repeat1, + ACTIONS(313), 2, + sym_double_quoted_content, + sym_escape_sequence, + [1843] = 2, + ACTIONS(315), 1, anon_sym_PIPE, - ACTIONS(307), 3, + ACTIONS(190), 3, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [1850] = 3, + [1852] = 2, ACTIONS(267), 1, anon_sym_PIPE, - STATE(71), 1, - aux_sym_open_expression_repeat1, - ACTIONS(317), 2, + ACTIONS(265), 3, + ts_builtin_sym_end, + anon_sym_PIPE_GT, anon_sym_RPAREN, + [1861] = 3, + ACTIONS(279), 1, anon_sym_COMMA, - [1861] = 2, - ACTIONS(319), 1, - anon_sym_COLON_EQ, - ACTIONS(120), 3, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACE, - [1870] = 3, - ACTIONS(273), 1, - anon_sym_COMMA, - ACTIONS(321), 1, + ACTIONS(317), 1, anon_sym_RPAREN, STATE(89), 1, aux_sym_array_literal_repeat1, - [1880] = 3, - ACTIONS(273), 1, + [1871] = 3, + ACTIONS(279), 1, anon_sym_COMMA, - ACTIONS(323), 1, + ACTIONS(319), 1, anon_sym_RPAREN, - STATE(76), 1, + STATE(80), 1, aux_sym_array_literal_repeat1, - [1890] = 2, - ACTIONS(325), 1, + [1881] = 2, + ACTIONS(321), 1, anon_sym_PIPE, - ACTIONS(327), 2, + ACTIONS(323), 2, anon_sym_RPAREN, anon_sym_COMMA, - [1898] = 3, - ACTIONS(273), 1, + [1889] = 3, + ACTIONS(279), 1, anon_sym_COMMA, - ACTIONS(275), 1, + ACTIONS(281), 1, anon_sym_RBRACE, STATE(92), 1, aux_sym_array_literal_repeat1, - [1908] = 3, - ACTIONS(273), 1, + [1899] = 3, + ACTIONS(279), 1, anon_sym_COMMA, - ACTIONS(329), 1, + ACTIONS(325), 1, anon_sym_RBRACE, - STATE(76), 1, + STATE(80), 1, aux_sym_array_literal_repeat1, - [1918] = 3, - ACTIONS(331), 1, + [1909] = 3, + ACTIONS(327), 1, anon_sym_COMMA, - ACTIONS(333), 1, + ACTIONS(329), 1, anon_sym_RBRACE, STATE(94), 1, aux_sym_record_literal_repeat1, - [1928] = 3, - ACTIONS(331), 1, + [1919] = 3, + ACTIONS(327), 1, anon_sym_COMMA, - ACTIONS(335), 1, + ACTIONS(331), 1, anon_sym_RBRACE, STATE(97), 1, aux_sym_record_literal_repeat1, - [1938] = 3, - ACTIONS(337), 1, + [1929] = 3, + ACTIONS(333), 1, anon_sym_RPAREN, - ACTIONS(339), 1, + ACTIONS(335), 1, anon_sym_COMMA, STATE(99), 1, aux_sym_argument_list_repeat1, - [1948] = 1, - ACTIONS(290), 3, + [1939] = 1, + ACTIONS(295), 3, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1954] = 3, - ACTIONS(341), 1, + [1945] = 3, + ACTIONS(337), 1, anon_sym_COMMA, - ACTIONS(344), 1, + ACTIONS(340), 1, anon_sym_RBRACE, STATE(97), 1, aux_sym_record_literal_repeat1, - [1964] = 3, - ACTIONS(267), 1, + [1955] = 3, + ACTIONS(255), 1, anon_sym_PIPE, - ACTIONS(346), 1, + ACTIONS(342), 1, anon_sym_RPAREN, STATE(101), 1, aux_sym_open_expression_repeat1, - [1974] = 3, - ACTIONS(348), 1, + [1965] = 3, + ACTIONS(344), 1, anon_sym_RPAREN, - ACTIONS(350), 1, + ACTIONS(346), 1, anon_sym_COMMA, STATE(99), 1, aux_sym_argument_list_repeat1, - [1984] = 1, - ACTIONS(353), 3, + [1975] = 1, + ACTIONS(349), 3, anon_sym_RPAREN, anon_sym_LBRACK, anon_sym_RBRACK, - [1990] = 3, - ACTIONS(267), 1, + [1981] = 3, + ACTIONS(255), 1, anon_sym_PIPE, - ACTIONS(355), 1, + ACTIONS(351), 1, anon_sym_RPAREN, - STATE(41), 1, + STATE(64), 1, aux_sym_open_expression_repeat1, - [2000] = 3, - ACTIONS(357), 1, + [1991] = 3, + ACTIONS(353), 1, aux_sym_tuple_projection_token1, - ACTIONS(359), 1, + ACTIONS(355), 1, aux_sym_original_record_field_selector_token1, - STATE(21), 1, + STATE(19), 1, sym_original_record_field_selector, - [2010] = 2, - ACTIONS(187), 1, + [2001] = 2, + ACTIONS(178), 1, anon_sym_PIPE, - ACTIONS(361), 2, + ACTIONS(357), 2, anon_sym_COMMA, anon_sym_RBRACE, - [2018] = 3, - ACTIONS(339), 1, + [2009] = 3, + ACTIONS(335), 1, anon_sym_COMMA, - ACTIONS(364), 1, + ACTIONS(360), 1, anon_sym_RPAREN, STATE(95), 1, aux_sym_argument_list_repeat1, - [2028] = 1, - ACTIONS(366), 2, + [2019] = 1, + ACTIONS(362), 2, anon_sym_RPAREN, anon_sym_COMMA, - [2033] = 1, - ACTIONS(344), 2, + [2024] = 1, + ACTIONS(340), 2, anon_sym_COMMA, anon_sym_RBRACE, - [2038] = 1, - ACTIONS(368), 2, + [2029] = 1, + ACTIONS(364), 2, anon_sym_COMMA, anon_sym_RBRACE, - [2043] = 1, - ACTIONS(370), 2, + [2034] = 1, + ACTIONS(366), 2, anon_sym_RPAREN, anon_sym_COMMA, - [2048] = 1, - ACTIONS(348), 2, + [2039] = 1, + ACTIONS(344), 2, anon_sym_RPAREN, anon_sym_COMMA, - [2053] = 1, - ACTIONS(372), 2, + [2044] = 1, + ACTIONS(368), 2, anon_sym_RPAREN, anon_sym_COMMA, - [2058] = 1, - ACTIONS(374), 2, + [2049] = 1, + ACTIONS(370), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [2063] = 2, - ACTIONS(376), 1, + [2054] = 2, + ACTIONS(372), 1, anon_sym_BQUOTE, - ACTIONS(378), 1, + ACTIONS(374), 1, sym_backtick_quoted_content, - [2070] = 2, - ACTIONS(380), 1, + [2061] = 2, + ACTIONS(376), 1, aux_sym_tuple_projection_token1, - ACTIONS(382), 1, + ACTIONS(378), 1, anon_sym_CARET, - [2077] = 1, - ACTIONS(384), 2, + [2068] = 1, + ACTIONS(380), 2, anon_sym_COMMA, anon_sym_RBRACE, - [2082] = 1, - ACTIONS(386), 1, + [2073] = 1, + ACTIONS(382), 1, anon_sym_COLON_EQ, - [2086] = 1, - ACTIONS(388), 1, + [2077] = 1, + ACTIONS(384), 1, anon_sym_COMMA, - [2090] = 1, - ACTIONS(390), 1, + [2081] = 1, + ACTIONS(386), 1, anon_sym_COMMA, - [2094] = 1, - ACTIONS(392), 1, + [2085] = 1, + ACTIONS(388), 1, ts_builtin_sym_end, - [2098] = 1, - ACTIONS(394), 1, + [2089] = 1, + ACTIONS(390), 1, anon_sym_RPAREN, - [2102] = 1, - ACTIONS(271), 1, + [2093] = 1, + ACTIONS(277), 1, anon_sym_PIPE, - [2106] = 1, - ACTIONS(396), 1, + [2097] = 1, + ACTIONS(392), 1, anon_sym_RPAREN, - [2110] = 1, - ACTIONS(319), 1, + [2101] = 1, + ACTIONS(275), 1, anon_sym_COLON_EQ, - [2114] = 1, - ACTIONS(398), 1, + [2105] = 1, + ACTIONS(394), 1, anon_sym_RBRACE, - [2118] = 1, - ACTIONS(400), 1, + [2109] = 1, + ACTIONS(396), 1, anon_sym_LPAREN, - [2122] = 1, - ACTIONS(402), 1, + [2113] = 1, + ACTIONS(398), 1, aux_sym_tuple_projection_token1, - [2126] = 1, - ACTIONS(404), 1, + [2117] = 1, + ACTIONS(400), 1, ts_builtin_sym_end, - [2130] = 1, - ACTIONS(406), 1, + [2121] = 1, + ACTIONS(402), 1, anon_sym_RBRACE, - [2134] = 1, - ACTIONS(408), 1, + [2125] = 1, + ACTIONS(404), 1, anon_sym_BQUOTE, - [2138] = 1, - ACTIONS(410), 1, + [2129] = 1, + ACTIONS(406), 1, anon_sym_RPAREN, }; @@ -3583,324 +3576,322 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(14)] = 859, [SMALL_STATE(15)] = 895, [SMALL_STATE(16)] = 922, - [SMALL_STATE(17)] = 947, - [SMALL_STATE(18)] = 972, - [SMALL_STATE(19)] = 993, - [SMALL_STATE(20)] = 1014, - [SMALL_STATE(21)] = 1035, - [SMALL_STATE(22)] = 1056, + [SMALL_STATE(17)] = 943, + [SMALL_STATE(18)] = 968, + [SMALL_STATE(19)] = 989, + [SMALL_STATE(20)] = 1010, + [SMALL_STATE(21)] = 1031, + [SMALL_STATE(22)] = 1052, [SMALL_STATE(23)] = 1077, - [SMALL_STATE(24)] = 1102, - [SMALL_STATE(25)] = 1116, - [SMALL_STATE(26)] = 1130, - [SMALL_STATE(27)] = 1144, - [SMALL_STATE(28)] = 1158, - [SMALL_STATE(29)] = 1171, - [SMALL_STATE(30)] = 1184, - [SMALL_STATE(31)] = 1197, - [SMALL_STATE(32)] = 1210, - [SMALL_STATE(33)] = 1223, - [SMALL_STATE(34)] = 1240, - [SMALL_STATE(35)] = 1253, - [SMALL_STATE(36)] = 1266, - [SMALL_STATE(37)] = 1279, - [SMALL_STATE(38)] = 1297, - [SMALL_STATE(39)] = 1315, - [SMALL_STATE(40)] = 1329, - [SMALL_STATE(41)] = 1347, - [SMALL_STATE(42)] = 1361, - [SMALL_STATE(43)] = 1372, - [SMALL_STATE(44)] = 1383, - [SMALL_STATE(45)] = 1396, - [SMALL_STATE(46)] = 1407, - [SMALL_STATE(47)] = 1424, - [SMALL_STATE(48)] = 1435, - [SMALL_STATE(49)] = 1446, - [SMALL_STATE(50)] = 1457, - [SMALL_STATE(51)] = 1468, - [SMALL_STATE(52)] = 1481, - [SMALL_STATE(53)] = 1492, - [SMALL_STATE(54)] = 1503, - [SMALL_STATE(55)] = 1514, - [SMALL_STATE(56)] = 1531, - [SMALL_STATE(57)] = 1542, - [SMALL_STATE(58)] = 1559, - [SMALL_STATE(59)] = 1570, - [SMALL_STATE(60)] = 1581, - [SMALL_STATE(61)] = 1592, - [SMALL_STATE(62)] = 1603, - [SMALL_STATE(63)] = 1614, - [SMALL_STATE(64)] = 1625, - [SMALL_STATE(65)] = 1636, - [SMALL_STATE(66)] = 1647, - [SMALL_STATE(67)] = 1658, - [SMALL_STATE(68)] = 1669, - [SMALL_STATE(69)] = 1681, - [SMALL_STATE(70)] = 1691, - [SMALL_STATE(71)] = 1701, - [SMALL_STATE(72)] = 1712, - [SMALL_STATE(73)] = 1725, - [SMALL_STATE(74)] = 1736, - [SMALL_STATE(75)] = 1747, - [SMALL_STATE(76)] = 1756, - [SMALL_STATE(77)] = 1767, - [SMALL_STATE(78)] = 1774, - [SMALL_STATE(79)] = 1781, - [SMALL_STATE(80)] = 1792, - [SMALL_STATE(81)] = 1801, - [SMALL_STATE(82)] = 1812, - [SMALL_STATE(83)] = 1821, - [SMALL_STATE(84)] = 1830, - [SMALL_STATE(85)] = 1841, - [SMALL_STATE(86)] = 1850, - [SMALL_STATE(87)] = 1861, - [SMALL_STATE(88)] = 1870, - [SMALL_STATE(89)] = 1880, - [SMALL_STATE(90)] = 1890, - [SMALL_STATE(91)] = 1898, - [SMALL_STATE(92)] = 1908, - [SMALL_STATE(93)] = 1918, - [SMALL_STATE(94)] = 1928, - [SMALL_STATE(95)] = 1938, - [SMALL_STATE(96)] = 1948, - [SMALL_STATE(97)] = 1954, - [SMALL_STATE(98)] = 1964, - [SMALL_STATE(99)] = 1974, - [SMALL_STATE(100)] = 1984, - [SMALL_STATE(101)] = 1990, - [SMALL_STATE(102)] = 2000, - [SMALL_STATE(103)] = 2010, - [SMALL_STATE(104)] = 2018, - [SMALL_STATE(105)] = 2028, - [SMALL_STATE(106)] = 2033, - [SMALL_STATE(107)] = 2038, - [SMALL_STATE(108)] = 2043, - [SMALL_STATE(109)] = 2048, - [SMALL_STATE(110)] = 2053, - [SMALL_STATE(111)] = 2058, - [SMALL_STATE(112)] = 2063, - [SMALL_STATE(113)] = 2070, - [SMALL_STATE(114)] = 2077, - [SMALL_STATE(115)] = 2082, - [SMALL_STATE(116)] = 2086, - [SMALL_STATE(117)] = 2090, - [SMALL_STATE(118)] = 2094, - [SMALL_STATE(119)] = 2098, - [SMALL_STATE(120)] = 2102, - [SMALL_STATE(121)] = 2106, - [SMALL_STATE(122)] = 2110, - [SMALL_STATE(123)] = 2114, - [SMALL_STATE(124)] = 2118, - [SMALL_STATE(125)] = 2122, - [SMALL_STATE(126)] = 2126, - [SMALL_STATE(127)] = 2130, - [SMALL_STATE(128)] = 2134, - [SMALL_STATE(129)] = 2138, + [SMALL_STATE(24)] = 1091, + [SMALL_STATE(25)] = 1113, + [SMALL_STATE(26)] = 1127, + [SMALL_STATE(27)] = 1141, + [SMALL_STATE(28)] = 1155, + [SMALL_STATE(29)] = 1168, + [SMALL_STATE(30)] = 1181, + [SMALL_STATE(31)] = 1194, + [SMALL_STATE(32)] = 1207, + [SMALL_STATE(33)] = 1224, + [SMALL_STATE(34)] = 1237, + [SMALL_STATE(35)] = 1250, + [SMALL_STATE(36)] = 1263, + [SMALL_STATE(37)] = 1276, + [SMALL_STATE(38)] = 1294, + [SMALL_STATE(39)] = 1312, + [SMALL_STATE(40)] = 1330, + [SMALL_STATE(41)] = 1344, + [SMALL_STATE(42)] = 1355, + [SMALL_STATE(43)] = 1366, + [SMALL_STATE(44)] = 1377, + [SMALL_STATE(45)] = 1394, + [SMALL_STATE(46)] = 1405, + [SMALL_STATE(47)] = 1416, + [SMALL_STATE(48)] = 1427, + [SMALL_STATE(49)] = 1438, + [SMALL_STATE(50)] = 1449, + [SMALL_STATE(51)] = 1460, + [SMALL_STATE(52)] = 1477, + [SMALL_STATE(53)] = 1488, + [SMALL_STATE(54)] = 1499, + [SMALL_STATE(55)] = 1516, + [SMALL_STATE(56)] = 1527, + [SMALL_STATE(57)] = 1538, + [SMALL_STATE(58)] = 1549, + [SMALL_STATE(59)] = 1560, + [SMALL_STATE(60)] = 1571, + [SMALL_STATE(61)] = 1582, + [SMALL_STATE(62)] = 1593, + [SMALL_STATE(63)] = 1604, + [SMALL_STATE(64)] = 1615, + [SMALL_STATE(65)] = 1628, + [SMALL_STATE(66)] = 1638, + [SMALL_STATE(67)] = 1650, + [SMALL_STATE(68)] = 1660, + [SMALL_STATE(69)] = 1672, + [SMALL_STATE(70)] = 1684, + [SMALL_STATE(71)] = 1692, + [SMALL_STATE(72)] = 1701, + [SMALL_STATE(73)] = 1710, + [SMALL_STATE(74)] = 1717, + [SMALL_STATE(75)] = 1726, + [SMALL_STATE(76)] = 1739, + [SMALL_STATE(77)] = 1750, + [SMALL_STATE(78)] = 1757, + [SMALL_STATE(79)] = 1766, + [SMALL_STATE(80)] = 1777, + [SMALL_STATE(81)] = 1788, + [SMALL_STATE(82)] = 1799, + [SMALL_STATE(83)] = 1810, + [SMALL_STATE(84)] = 1821, + [SMALL_STATE(85)] = 1832, + [SMALL_STATE(86)] = 1843, + [SMALL_STATE(87)] = 1852, + [SMALL_STATE(88)] = 1861, + [SMALL_STATE(89)] = 1871, + [SMALL_STATE(90)] = 1881, + [SMALL_STATE(91)] = 1889, + [SMALL_STATE(92)] = 1899, + [SMALL_STATE(93)] = 1909, + [SMALL_STATE(94)] = 1919, + [SMALL_STATE(95)] = 1929, + [SMALL_STATE(96)] = 1939, + [SMALL_STATE(97)] = 1945, + [SMALL_STATE(98)] = 1955, + [SMALL_STATE(99)] = 1965, + [SMALL_STATE(100)] = 1975, + [SMALL_STATE(101)] = 1981, + [SMALL_STATE(102)] = 1991, + [SMALL_STATE(103)] = 2001, + [SMALL_STATE(104)] = 2009, + [SMALL_STATE(105)] = 2019, + [SMALL_STATE(106)] = 2024, + [SMALL_STATE(107)] = 2029, + [SMALL_STATE(108)] = 2034, + [SMALL_STATE(109)] = 2039, + [SMALL_STATE(110)] = 2044, + [SMALL_STATE(111)] = 2049, + [SMALL_STATE(112)] = 2054, + [SMALL_STATE(113)] = 2061, + [SMALL_STATE(114)] = 2068, + [SMALL_STATE(115)] = 2073, + [SMALL_STATE(116)] = 2077, + [SMALL_STATE(117)] = 2081, + [SMALL_STATE(118)] = 2085, + [SMALL_STATE(119)] = 2089, + [SMALL_STATE(120)] = 2093, + [SMALL_STATE(121)] = 2097, + [SMALL_STATE(122)] = 2101, + [SMALL_STATE(123)] = 2105, + [SMALL_STATE(124)] = 2109, + [SMALL_STATE(125)] = 2113, + [SMALL_STATE(126)] = 2117, + [SMALL_STATE(127)] = 2121, + [SMALL_STATE(128)] = 2125, + [SMALL_STATE(129)] = 2129, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), - [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122), [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), - [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 2, 0, 8), - [65] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 2, 0, 8), - [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 2, 0, 8), + [61] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 2, 0, 8), + [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), [69] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 1, 0, 2), [71] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 1, 0, 2), - [73] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 3, 0, 10), - [75] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 3, 0, 10), - [77] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 2, 0, 6), - [79] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 2, 0, 6), + [73] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 2, 0, 6), + [75] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 2, 0, 6), + [77] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 3, 0, 11), + [79] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 3, 0, 11), [81] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), [83] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), - [85] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), SHIFT_REPEAT(30), + [85] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), SHIFT_REPEAT(28), [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double_quoted_literal, 2, 0, 0), [90] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_double_quoted_literal, 2, 0, 0), [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backtick_quoted_literal, 2, 0, 0), [94] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_backtick_quoted_literal, 2, 0, 0), - [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double_quoted_literal, 3, 0, 0), - [98] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_double_quoted_literal, 3, 0, 0), - [100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backtick_quoted_literal, 3, 0, 0), - [102] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_backtick_quoted_literal, 3, 0, 0), - [104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_temporal_literal, 1, 0, 0), - [106] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_temporal_literal, 1, 0, 0), - [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 1, 0, 2), - [110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_record_access_repeat1, 1, 0, 2), - [112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_immediate_record_field_selector, 1, 0, 0), - [114] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_immediate_record_field_selector, 1, 0, 0), - [116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1, 0, 0), - [118] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_literal, 1, 0, 0), - [120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_literal, 1, 0, 0), - [122] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quoted_literal, 1, 0, 0), - [124] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13), - [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_original_record_field_selector, 1, 0, 5), - [132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_original_record_field_selector, 1, 0, 5), - [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field_selector, 1, 0, 0), - [136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_field_selector, 1, 0, 0), - [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_original_record_field_selector, 1, 0, 0), - [140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_original_record_field_selector, 1, 0, 0), + [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backtick_quoted_literal, 3, 0, 0), + [98] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_backtick_quoted_literal, 3, 0, 0), + [100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double_quoted_literal, 3, 0, 0), + [102] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_double_quoted_literal, 3, 0, 0), + [104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_immediate_record_field_selector, 1, 0, 0), + [106] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_immediate_record_field_selector, 1, 0, 0), + [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1, 0, 0), + [110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_literal, 1, 0, 0), + [112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 1, 0, 2), + [114] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_record_access_repeat1, 1, 0, 2), + [116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_temporal_literal, 1, 0, 0), + [118] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_temporal_literal, 1, 0, 0), + [120] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13), + [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field_selector, 1, 0, 0), + [128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_field_selector, 1, 0, 0), + [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_original_record_field_selector, 1, 0, 0), + [132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_original_record_field_selector, 1, 0, 0), + [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_original_record_field_selector, 1, 0, 5), + [136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_original_record_field_selector, 1, 0, 5), + [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_literal, 1, 0, 0), + [140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quoted_literal, 1, 0, 0), [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 1, 0, 1), [144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 1, 0, 1), [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_open_expression_repeat1, 2, 0, 0), - [150] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_open_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(38), - [153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 3, 1, 0), - [155] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 3, 1, 0), - [157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_literal, 7, 0, 0), - [159] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_literal, 7, 0, 0), - [161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_expression, 1, 0, 0), - [163] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), - [165] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 3, 0, 0), - [167] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 3, 0, 0), - [169] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closed_expression, 1, 0, 0), - [171] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), - [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3, 0, 0), - [177] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3, 0, 0), - [179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1, 0, 0), - [181] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1, 0, 0), - [183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_projection, 2, 0, 4), - [185] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_projection, 2, 0, 4), - [187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_incoming_value, 1, 0, 0), - [189] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_incoming_value, 1, 0, 0), - [191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_expression, 2, 0, 0), - [193] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_open_expression_repeat1, 2, 0, 0), - [195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_expression, 1, 0, 7), - [197] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pipeline_expression, 1, 0, 7), - [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2, 0, 0), - [201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 2, 0, 0), - [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), - [205] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(37), - [208] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(15), - [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, 0, 1), - [213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, 0, 1), - [215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closed_expression, 2, 0, 0), - [217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4, 0, 0), - [219] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4, 0, 0), - [221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 4, 1, 0), - [223] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 4, 1, 0), - [225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_shorthand, 1, 0, 0), - [227] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interval_shorthand, 1, 0, 0), - [229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_literal, 2, 0, 0), - [231] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interval_literal, 2, 0, 0), - [233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 3), - [235] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 3), - [237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_projection, 3, 0, 9), - [239] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_projection, 3, 0, 9), - [241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parenthesized_pipeline_expression, 3, 0, 3), - [243] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__parenthesized_pipeline_expression, 3, 0, 3), - [245] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_literal, 6, 0, 15), - [247] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interval_literal, 6, 0, 15), - [249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_literal, 6, 0, 0), - [251] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_literal, 6, 0, 0), - [253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, 0, 1), - [255] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, 0, 1), - [257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_shorthand, 2, 0, 3), - [261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_shorthand, 2, 0, 3), - [263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), - [265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), - [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_open_expression, 2, 0, 0), - [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [277] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_double_quoted_literal_repeat1, 2, 0, 0), - [279] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_double_quoted_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(73), - [282] = {.entry = {.count = 1, .reusable = false}}, SHIFT(24), - [284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 1, 0, 7), - [288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 1, 0, 7), - [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), - [292] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(9), - [295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_infinite_bound, 1, 0, 0), - [297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_bound, 1, 0, 0), - [299] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), - [301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [303] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), - [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_closed_expression, 3, 0, 0), - [307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_map_shorthand, 2, 0, 11), - [309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pipeline_map_shorthand, 2, 0, 11), - [311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_open_expression, 1, 0, 0), - [313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_open_expression, 1, 0, 0), - [315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_closed_expression, 4, 0, 0), - [317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_open_expression, 1, 0, 0), - [319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field_name, 1, 0, 0), - [321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__argument_value, 1, 0, 0), - [329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0), - [339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [341] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(17), - [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_literal_repeat1, 2, 0, 0), - [346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_open_expression, 1, 0, 0), - [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), - [350] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(3), - [353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_open_expression, 2, 0, 0), - [357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [361] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_record_spread, 1, 0, 0), REDUCE(sym_incoming_value, 1, 0, 0), - [364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 1, 0, 0), - [366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_positional_argument, 1, 0, 0), - [368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field, 3, 0, 13), - [370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_argument, 3, 0, 14), - [372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameterized_expression, 5, 0, 16), - [374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root_expression, 1, 0, 0), - [376] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), - [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_spread, 1, 0, 0), - [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), - [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [404] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 3, 1, 0), + [150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 3, 1, 0), + [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, 0, 1), + [154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, 0, 1), + [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 3, 0, 0), + [158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 3, 0, 0), + [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closed_expression, 1, 0, 0), + [162] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), + [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3, 0, 0), + [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3, 0, 0), + [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1, 0, 0), + [172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1, 0, 0), + [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_projection, 2, 0, 4), + [176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_projection, 2, 0, 4), + [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_incoming_value, 1, 0, 0), + [180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_incoming_value, 1, 0, 0), + [182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_expression, 1, 0, 7), + [184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pipeline_expression, 1, 0, 7), + [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_projection, 3, 0, 10), + [188] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_projection, 3, 0, 10), + [190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), + [192] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(38), + [195] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(15), + [198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2, 0, 0), + [200] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 2, 0, 0), + [202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, 0, 1), + [204] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, 0, 1), + [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closed_expression, 2, 0, 0), + [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4, 0, 0), + [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4, 0, 0), + [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 4, 1, 0), + [214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 4, 1, 0), + [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_shorthand, 1, 0, 0), + [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interval_shorthand, 1, 0, 0), + [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_literal, 2, 0, 0), + [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interval_literal, 2, 0, 0), + [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 9), + [226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 9), + [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parenthesized_pipeline_expression, 3, 0, 9), + [230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__parenthesized_pipeline_expression, 3, 0, 9), + [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_literal, 6, 0, 15), + [234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interval_literal, 6, 0, 15), + [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_literal, 6, 0, 0), + [238] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_literal, 6, 0, 0), + [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_literal, 7, 0, 0), + [242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_literal, 7, 0, 0), + [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_open_expression_repeat1, 2, 0, 0), + [246] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_open_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(37), + [249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_shorthand, 2, 0, 3), + [251] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_shorthand, 2, 0, 3), + [253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_expression, 1, 0, 0), + [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), + [259] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), + [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_expression, 2, 0, 0), + [265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_map_shorthand, 2, 0, 3), + [267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pipeline_map_shorthand, 2, 0, 3), + [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_open_expression, 1, 0, 0), + [271] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_open_expression, 1, 0, 0), + [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_infinite_bound, 1, 0, 0), + [275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field_name, 1, 0, 0), + [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_open_expression, 2, 0, 0), + [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_bound, 1, 0, 0), + [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 1, 0, 7), + [289] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 1, 0, 7), + [291] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), + [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), + [297] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(9), + [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_open_expression, 1, 0, 0), + [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_closed_expression, 3, 0, 0), + [304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_double_quoted_literal_repeat1, 2, 0, 0), + [306] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_double_quoted_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(83), + [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_closed_expression, 4, 0, 0), + [311] = {.entry = {.count = 1, .reusable = false}}, SHIFT(23), + [313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [315] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), + [317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__argument_value, 1, 0, 0), + [325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0), + [335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [337] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(17), + [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_literal_repeat1, 2, 0, 0), + [342] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_open_expression, 1, 0, 0), + [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), + [346] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(3), + [349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_open_expression, 2, 0, 0), + [353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [357] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_record_spread, 1, 0, 0), REDUCE(sym_incoming_value, 1, 0, 0), + [360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 1, 0, 0), + [362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_positional_argument, 1, 0, 0), + [364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field, 3, 0, 13), + [366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_argument, 3, 0, 14), + [368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameterized_expression, 5, 0, 16), + [370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root_expression, 1, 0, 0), + [372] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), + [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [380] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_spread, 1, 0, 0), + [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [400] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), }; #ifdef __cplusplus diff --git a/test/corpus/map-shorthand.txt b/test/corpus/map-shorthand.txt index 88f292a..94b7bf0 100644 --- a/test/corpus/map-shorthand.txt +++ b/test/corpus/map-shorthand.txt @@ -34,7 +34,7 @@ Mapped function with arguments (numeric_literal))))))))) ================== -Mapped multi-step open expression +Leading map shorthand preserves the outer pipeline boundary ================== |> lower | trim @@ -47,9 +47,9 @@ Mapped multi-step open expression (map_shorthand expression: (open_expression (function_call - name: (function_name)) - (function_call - name: (function_name))))))) + name: (function_name)))) + (function_call + name: (function_name))))) ================== Map shorthand after a closed-expression source From 98b5e3598955fd6df760f1c0c9a0af6e4cca8999 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20L=2E=20Charlier?= Date: Mon, 17 Aug 2026 17:38:10 +0200 Subject: [PATCH 2/7] bug: allow field shorthand pipelines --- .../SyntaxBindingTests.cs | 13 + grammar.js | 1 + src/grammar.json | 8 + src/node-types.json | 4 + src/parser.c | 1925 +++++++++-------- test/corpus/references.txt | 21 + 6 files changed, 1039 insertions(+), 933 deletions(-) diff --git a/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs b/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs index 384194d..edd201f 100644 --- a/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs +++ b/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs @@ -613,6 +613,19 @@ public void MapShorthandAcceptsAParenthesizedOperation() Assert.That(shorthand.Expression.Pipeline.Single(), Is.TypeOf()); } + [Test] + public void RecordFieldShorthandCanContinueAPipeline() + { + var root = (ClosedExpressionSyntax)ExpressifSyntax.Parse(".address | .city | .name"); + + Assert.Multiple(() => + { + Assert.That(((RecordAccessSyntax)root.Value).Fields.Single().Name, Is.EqualTo("address")); + Assert.That(root.Pipeline.Cast() + .Select(access => access.Fields.Single().Name), Is.EqualTo(new[] { "city", "name" })); + }); + } + [Test] public void LeadingMapShorthandPreservesOuterPipelineBoundary() { diff --git a/grammar.js b/grammar.js index 724385d..788c1aa 100644 --- a/grammar.js +++ b/grammar.js @@ -72,6 +72,7 @@ export default grammar({ _pipeline_expression: ($) => choice( $.function_call, + prec(1, $.record_access), $.tuple_projection, alias($._parenthesized_pipeline_expression, $.parenthesized_expression), ), diff --git a/src/grammar.json b/src/grammar.json index 75256c2..fe90c04 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -190,6 +190,14 @@ "type": "SYMBOL", "name": "function_call" }, + { + "type": "PREC", + "value": 1, + "content": { + "type": "SYMBOL", + "name": "record_access" + } + }, { "type": "SYMBOL", "name": "tuple_projection" diff --git a/src/node-types.json b/src/node-types.json index a78ad22..0561030 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -443,6 +443,10 @@ { "type": "expression", "named": true + }, + { + "type": "record_access", + "named": true } ] } diff --git a/src/parser.c b/src/parser.c index ed77ed2..da23a30 100644 --- a/src/parser.c +++ b/src/parser.c @@ -7,7 +7,7 @@ #endif #define LANGUAGE_VERSION 15 -#define STATE_COUNT 130 +#define STATE_COUNT 131 #define LARGE_STATE_COUNT 2 #define SYMBOL_COUNT 94 #define ALIAS_COUNT 2 @@ -950,6 +950,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [127] = 127, [128] = 128, [129] = 129, + [130] = 130, }; static const TSSymbol ts_supertype_symbols[SUPERTYPE_COUNT] = { @@ -998,289 +999,304 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(74); + if (eof) ADVANCE(76); ADVANCE_MAP( - '"', 123, - '#', 5, - '$', 80, - '(', 78, - ')', 79, - '+', 32, - ',', 87, - '-', 21, - '.', 17, - '0', 109, - ':', 106, - '@', 64, - 'I', 91, - 'T', 102, - '[', 94, - '\\', 44, - ']', 95, - '^', 84, - '`', 127, - '{', 89, - '|', 75, - '}', 90, + '"', 125, + '#', 4, + '$', 82, + '(', 80, + ')', 81, + '+', 34, + ',', 89, + '-', 22, + '.', 18, + '0', 111, + ':', 108, + '@', 66, + 'I', 93, + 'T', 104, + '[', 96, + '\\', 46, + ']', 97, + '^', 86, + '`', 129, + '{', 91, + '|', 77, + '}', 92, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(70); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(110); + lookahead == 0xfeff) SKIP(72); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(112); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(85); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(87); END_STATE(); case 1: ADVANCE_MAP( - '"', 123, - '#', 5, - '$', 80, - '-', 22, - '.', 18, - '0', 109, - ':', 105, - '@', 64, - 'I', 93, - 'T', 104, - '^', 19, - '`', 127, - '{', 89, - '}', 90, + '"', 125, + '#', 4, + '$', 82, + '-', 23, + '.', 19, + '0', 111, + ':', 107, + '@', 66, + 'I', 95, + 'T', 106, + '^', 20, + '`', 129, + '{', 91, + '}', 92, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || lookahead == 0xfeff) SKIP(1); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(110); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(112); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(108); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(110); END_STATE(); case 2: - if (lookahead == '"') ADVANCE(123); - if (lookahead == '.') ADVANCE(16); - if (lookahead == '`') ADVANCE(127); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ' || - lookahead == 0x200b || - lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(2); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(108); - END_STATE(); - case 3: - if (lookahead == '"') ADVANCE(123); - if (lookahead == '\\') ADVANCE(44); + if (lookahead == '"') ADVANCE(125); + if (lookahead == '\\') ADVANCE(46); if (lookahead == '\n' || - lookahead == '\r') SKIP(4); + lookahead == '\r') SKIP(3); if (('\t' <= lookahead && lookahead <= '\f') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(124); - if (lookahead != 0) ADVANCE(125); + lookahead == 0xfeff) ADVANCE(126); + if (lookahead != 0) ADVANCE(127); END_STATE(); - case 4: - if (lookahead == '"') ADVANCE(123); + case 3: + if (lookahead == '"') ADVANCE(125); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(4); + lookahead == 0xfeff) SKIP(3); + END_STATE(); + case 4: + if (lookahead == '"') ADVANCE(55); + if (lookahead == 'f') ADVANCE(39); + if (lookahead == 't') ADVANCE(43); END_STATE(); case 5: - if (lookahead == '"') ADVANCE(53); - if (lookahead == 'f') ADVANCE(37); - if (lookahead == 't') ADVANCE(41); + if (lookahead == '"') ADVANCE(134); END_STATE(); case 6: if (lookahead == '"') ADVANCE(132); + if (lookahead == ' ' || + lookahead == 'T') ADVANCE(63); END_STATE(); case 7: - if (lookahead == '"') ADVANCE(130); - if (lookahead == ' ' || - lookahead == 'T') ADVANCE(61); + if (lookahead == '"') ADVANCE(133); END_STATE(); case 8: - if (lookahead == '"') ADVANCE(131); + if (lookahead == '$') ADVANCE(82); + if (lookahead == '(') ADVANCE(79); + if (lookahead == '.') ADVANCE(24); + if (lookahead == '0') ADVANCE(83); + if (lookahead == '^') ADVANCE(20); + if (lookahead == '|') ADVANCE(31); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ' || + lookahead == 0x200b || + lookahead == 0x2060 || + lookahead == 0xfeff) SKIP(9); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(84); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(88); END_STATE(); case 9: - if (lookahead == ')') ADVANCE(99); + if (lookahead == '$') ADVANCE(82); + if (lookahead == '(') ADVANCE(79); + if (lookahead == '.') ADVANCE(24); + if (lookahead == '^') ADVANCE(20); + if (lookahead == '|') ADVANCE(31); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ' || + lookahead == 0x200b || + lookahead == 0x2060 || + lookahead == 0xfeff) SKIP(9); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(88); END_STATE(); case 10: if (lookahead == ')') ADVANCE(101); END_STATE(); case 11: - if (lookahead == ')') ADVANCE(98); + if (lookahead == ')') ADVANCE(103); END_STATE(); case 12: if (lookahead == ')') ADVANCE(100); END_STATE(); case 13: - if (lookahead == '+') ADVANCE(11); - if (lookahead == '-') ADVANCE(12); + if (lookahead == ')') ADVANCE(102); END_STATE(); case 14: - if (lookahead == '-') ADVANCE(60); + if (lookahead == '+') ADVANCE(12); + if (lookahead == '-') ADVANCE(13); END_STATE(); case 15: - if (lookahead == '-') ADVANCE(56); + if (lookahead == '-') ADVANCE(62); END_STATE(); case 16: - if (lookahead == '.') ADVANCE(20); + if (lookahead == '-') ADVANCE(58); END_STATE(); case 17: - if (lookahead == '.') ADVANCE(20); - if (lookahead == '0') ADVANCE(115); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(116); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(114); + if (lookahead == '.') ADVANCE(21); END_STATE(); case 18: - if (lookahead == '.') ADVANCE(20); - if (lookahead == '0') ADVANCE(119); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(120); + if (lookahead == '.') ADVANCE(21); + if (lookahead == '0') ADVANCE(117); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(118); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(118); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(116); END_STATE(); case 19: - if (lookahead == '.') ADVANCE(113); + if (lookahead == '.') ADVANCE(21); + if (lookahead == '0') ADVANCE(121); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(122); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(120); END_STATE(); case 20: - if (lookahead == '.') ADVANCE(107); + if (lookahead == '.') ADVANCE(115); END_STATE(); case 21: - if (lookahead == '0') ADVANCE(109); - if (lookahead == 'I') ADVANCE(34); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(110); + if (lookahead == '.') ADVANCE(109); END_STATE(); case 22: - if (lookahead == '0') ADVANCE(109); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(110); + if (lookahead == '0') ADVANCE(111); + if (lookahead == 'I') ADVANCE(36); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(112); END_STATE(); case 23: - if (lookahead == '0') ADVANCE(115); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(116); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(114); + if (lookahead == '0') ADVANCE(111); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(112); END_STATE(); case 24: - if (lookahead == '0') ADVANCE(81); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(82); + if (lookahead == '0') ADVANCE(121); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(122); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(117); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(120); END_STATE(); case 25: - if (lookahead == ':') ADVANCE(54); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(48); + if (lookahead == '0') ADVANCE(83); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(84); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(119); END_STATE(); case 26: - if (lookahead == ':') ADVANCE(55); + if (lookahead == ':') ADVANCE(56); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(50); END_STATE(); case 27: if (lookahead == ':') ADVANCE(57); END_STATE(); case 28: - if (lookahead == ':') ADVANCE(63); + if (lookahead == ':') ADVANCE(59); END_STATE(); case 29: - if (lookahead == '=') ADVANCE(88); + if (lookahead == ':') ADVANCE(65); END_STATE(); case 30: - if (lookahead == 'F') ADVANCE(96); + if (lookahead == '=') ADVANCE(90); END_STATE(); case 31: - if (lookahead == 'F') ADVANCE(97); + if (lookahead == '>') ADVANCE(78); END_STATE(); case 32: - if (lookahead == 'I') ADVANCE(33); + if (lookahead == 'F') ADVANCE(98); END_STATE(); case 33: - if (lookahead == 'N') ADVANCE(30); + if (lookahead == 'F') ADVANCE(99); END_STATE(); case 34: - if (lookahead == 'N') ADVANCE(31); + if (lookahead == 'I') ADVANCE(35); END_STATE(); case 35: - if (lookahead == '`') ADVANCE(127); + if (lookahead == 'N') ADVANCE(32); + END_STATE(); + case 36: + if (lookahead == 'N') ADVANCE(33); + END_STATE(); + case 37: + if (lookahead == '`') ADVANCE(129); if (lookahead == '\n' || - lookahead == '\r') SKIP(36); + lookahead == '\r') SKIP(38); if (('\t' <= lookahead && lookahead <= '\f') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(128); - if (lookahead != 0) ADVANCE(129); + lookahead == 0xfeff) ADVANCE(130); + if (lookahead != 0) ADVANCE(131); END_STATE(); - case 36: - if (lookahead == '`') ADVANCE(127); + case 38: + if (lookahead == '`') ADVANCE(129); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(36); - END_STATE(); - case 37: - if (lookahead == 'a') ADVANCE(40); - END_STATE(); - case 38: - if (lookahead == 'e') ADVANCE(121); + lookahead == 0xfeff) SKIP(38); END_STATE(); case 39: - if (lookahead == 'e') ADVANCE(122); + if (lookahead == 'a') ADVANCE(42); END_STATE(); case 40: - if (lookahead == 'l') ADVANCE(42); + if (lookahead == 'e') ADVANCE(123); END_STATE(); case 41: - if (lookahead == 'r') ADVANCE(43); + if (lookahead == 'e') ADVANCE(124); END_STATE(); case 42: - if (lookahead == 's') ADVANCE(39); + if (lookahead == 'l') ADVANCE(44); END_STATE(); case 43: - if (lookahead == 'u') ADVANCE(38); + if (lookahead == 'r') ADVANCE(45); END_STATE(); case 44: - if (lookahead == '"' || - lookahead == '\\') ADVANCE(126); + if (lookahead == 's') ADVANCE(41); END_STATE(); case 45: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(108); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(85); + if (lookahead == 'u') ADVANCE(40); END_STATE(); case 46: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(111); + if (lookahead == '"' || + lookahead == '\\') ADVANCE(128); END_STATE(); case 47: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(25); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(110); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(87); END_STATE(); case 48: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(14); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(113); END_STATE(); case 49: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(26); END_STATE(); case 50: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(6); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(15); END_STATE(); case 51: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(7); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(27); END_STATE(); case 52: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(8); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(5); END_STATE(); case 53: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(47); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(6); END_STATE(); case 54: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(49); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(7); END_STATE(); case 55: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(50); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(49); END_STATE(); case 56: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(51); @@ -1289,369 +1305,376 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (('0' <= lookahead && lookahead <= '9')) ADVANCE(52); END_STATE(); case 58: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(15); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(53); END_STATE(); case 59: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(28); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(54); END_STATE(); case 60: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(58); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(16); END_STATE(); case 61: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(59); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(29); END_STATE(); case 62: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(27); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(60); END_STATE(); case 63: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(62); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(61); END_STATE(); case 64: - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(112); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(28); END_STATE(); case 65: - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(86); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(64); END_STATE(); case 66: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || + if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(114); END_STATE(); case 67: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(108); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(88); END_STATE(); case 68: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(118); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(116); END_STATE(); case 69: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(117); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(110); END_STATE(); case 70: - if (eof) ADVANCE(74); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(120); + END_STATE(); + case 71: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(119); + END_STATE(); + case 72: + if (eof) ADVANCE(76); ADVANCE_MAP( - '"', 123, - '#', 5, - '$', 80, - '(', 78, - ')', 79, - '+', 32, - ',', 87, - '-', 21, - '.', 18, - '0', 109, - ':', 106, - '@', 64, - 'I', 91, - 'T', 102, - '[', 94, - ']', 95, - '^', 19, - '`', 127, - '{', 89, - '|', 75, - '}', 90, + '"', 125, + '#', 4, + '$', 82, + '(', 80, + ')', 81, + '+', 34, + ',', 89, + '-', 22, + '.', 19, + '0', 111, + ':', 108, + '@', 66, + 'I', 93, + 'T', 104, + '[', 96, + ']', 97, + '^', 20, + '`', 129, + '{', 91, + '|', 77, + '}', 92, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(70); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(110); + lookahead == 0xfeff) SKIP(72); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(112); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(85); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(87); END_STATE(); - case 71: - if (eof) ADVANCE(74); + case 73: + if (eof) ADVANCE(76); ADVANCE_MAP( - '"', 123, - '#', 5, - '$', 80, - '(', 77, - ')', 79, - '+', 32, - ',', 87, - '-', 21, - '.', 18, - '0', 109, - ':', 29, - '@', 64, - 'I', 92, - 'T', 103, - '[', 94, - ']', 95, - '^', 19, - '`', 127, - '{', 89, - '|', 75, - '}', 90, + '"', 125, + '#', 4, + '$', 82, + '(', 79, + ')', 81, + '+', 34, + ',', 89, + '-', 22, + '.', 19, + '0', 111, + ':', 30, + '@', 66, + 'I', 94, + 'T', 105, + '[', 96, + ']', 97, + '^', 20, + '`', 129, + '{', 91, + '|', 77, + '}', 92, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(71); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(110); + lookahead == 0xfeff) SKIP(73); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(112); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(86); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(88); END_STATE(); - case 72: - if (eof) ADVANCE(74); + case 74: + if (eof) ADVANCE(76); ADVANCE_MAP( - '$', 80, - '(', 77, - ')', 79, - ',', 87, - '.', 23, - '0', 81, - '^', 83, - '|', 75, - '}', 90, + '"', 125, + ')', 81, + ',', 89, + '.', 18, + '0', 83, + '^', 85, + '`', 129, + '|', 77, + '}', 92, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(73); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(82); + lookahead == 0xfeff) SKIP(75); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(84); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(86); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(110); END_STATE(); - case 73: - if (eof) ADVANCE(74); - if (lookahead == '$') ADVANCE(80); - if (lookahead == '(') ADVANCE(77); - if (lookahead == ')') ADVANCE(79); - if (lookahead == ',') ADVANCE(87); - if (lookahead == '|') ADVANCE(75); - if (lookahead == '}') ADVANCE(90); + case 75: + if (eof) ADVANCE(76); + if (lookahead == '"') ADVANCE(125); + if (lookahead == ')') ADVANCE(81); + if (lookahead == ',') ADVANCE(89); + if (lookahead == '.') ADVANCE(17); + if (lookahead == '`') ADVANCE(129); + if (lookahead == '|') ADVANCE(77); + if (lookahead == '}') ADVANCE(92); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(73); + lookahead == 0xfeff) SKIP(75); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(86); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(110); END_STATE(); - case 74: + case 76: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); - case 75: + case 77: ACCEPT_TOKEN(anon_sym_PIPE); - if (lookahead == '>') ADVANCE(76); + if (lookahead == '>') ADVANCE(78); END_STATE(); - case 76: + case 78: ACCEPT_TOKEN(anon_sym_PIPE_GT); END_STATE(); - case 77: + case 79: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); - case 78: + case 80: ACCEPT_TOKEN(anon_sym_LPAREN); - if (lookahead == '+') ADVANCE(9); - if (lookahead == '-') ADVANCE(10); - if (lookahead == '0') ADVANCE(13); + if (lookahead == '+') ADVANCE(10); + if (lookahead == '-') ADVANCE(11); + if (lookahead == '0') ADVANCE(14); END_STATE(); - case 79: + case 81: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); - case 80: + case 82: ACCEPT_TOKEN(anon_sym_DOLLAR); END_STATE(); - case 81: + case 83: ACCEPT_TOKEN(aux_sym_tuple_projection_token1); END_STATE(); - case 82: + case 84: ACCEPT_TOKEN(aux_sym_tuple_projection_token1); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(82); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(84); END_STATE(); - case 83: + case 85: ACCEPT_TOKEN(anon_sym_CARET); END_STATE(); - case 84: + case 86: ACCEPT_TOKEN(anon_sym_CARET); - if (lookahead == '.') ADVANCE(113); + if (lookahead == '.') ADVANCE(115); END_STATE(); - case 85: + case 87: ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(45); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(108); + if (lookahead == '-') ADVANCE(47); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(110); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(85); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(87); END_STATE(); - case 86: + case 88: ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(65); + if (lookahead == '-') ADVANCE(67); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(86); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(88); END_STATE(); - case 87: + case 89: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 88: + case 90: ACCEPT_TOKEN(anon_sym_COLON_EQ); END_STATE(); - case 89: + case 91: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); - case 90: + case 92: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); - case 91: + case 93: ACCEPT_TOKEN(anon_sym_I); - if (lookahead == '-') ADVANCE(45); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(108); + if (lookahead == '-') ADVANCE(47); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(110); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(85); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(87); END_STATE(); - case 92: + case 94: ACCEPT_TOKEN(anon_sym_I); - if (lookahead == '-') ADVANCE(65); + if (lookahead == '-') ADVANCE(67); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(86); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(88); END_STATE(); - case 93: + case 95: ACCEPT_TOKEN(anon_sym_I); - if (lookahead == '-') ADVANCE(67); + if (lookahead == '-') ADVANCE(69); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(108); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(110); END_STATE(); - case 94: + case 96: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); - case 95: + case 97: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); - case 96: + case 98: ACCEPT_TOKEN(anon_sym_PLUSINF); END_STATE(); - case 97: + case 99: ACCEPT_TOKEN(anon_sym_DASHINF); END_STATE(); - case 98: + case 100: ACCEPT_TOKEN(anon_sym_LPAREN0_PLUS_RPAREN); END_STATE(); - case 99: + case 101: ACCEPT_TOKEN(anon_sym_LPAREN_PLUS_RPAREN); END_STATE(); - case 100: + case 102: ACCEPT_TOKEN(anon_sym_LPAREN0_DASH_RPAREN); END_STATE(); - case 101: + case 103: ACCEPT_TOKEN(anon_sym_LPAREN_DASH_RPAREN); END_STATE(); - case 102: + case 104: ACCEPT_TOKEN(anon_sym_T); - if (lookahead == '-') ADVANCE(45); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(108); + if (lookahead == '-') ADVANCE(47); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(110); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(85); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(87); END_STATE(); - case 103: + case 105: ACCEPT_TOKEN(anon_sym_T); - if (lookahead == '-') ADVANCE(65); + if (lookahead == '-') ADVANCE(67); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(86); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(88); END_STATE(); - case 104: + case 106: ACCEPT_TOKEN(anon_sym_T); - if (lookahead == '-') ADVANCE(67); + if (lookahead == '-') ADVANCE(69); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(108); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(110); END_STATE(); - case 105: + case 107: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); - case 106: + case 108: ACCEPT_TOKEN(anon_sym_COLON); - if (lookahead == '=') ADVANCE(88); + if (lookahead == '=') ADVANCE(90); END_STATE(); - case 107: + case 109: ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); END_STATE(); - case 108: + case 110: ACCEPT_TOKEN(sym_unquoted_record_field_name); - if (lookahead == '-') ADVANCE(67); + if (lookahead == '-') ADVANCE(69); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(108); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(110); END_STATE(); - case 109: + case 111: ACCEPT_TOKEN(sym_numeric_literal); - if (lookahead == '.') ADVANCE(46); + if (lookahead == '.') ADVANCE(48); END_STATE(); - case 110: + case 112: ACCEPT_TOKEN(sym_numeric_literal); - if (lookahead == '.') ADVANCE(46); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(110); + if (lookahead == '.') ADVANCE(48); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(112); END_STATE(); - case 111: + case 113: ACCEPT_TOKEN(sym_numeric_literal); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(111); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(113); END_STATE(); - case 112: + case 114: ACCEPT_TOKEN(sym_variable); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(112); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(114); END_STATE(); - case 113: + case 115: ACCEPT_TOKEN(sym_original_input); END_STATE(); - case 114: + case 116: ACCEPT_TOKEN(aux_sym_immediate_record_field_selector_token1); - if (lookahead == '-') ADVANCE(66); + if (lookahead == '-') ADVANCE(68); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(114); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(116); END_STATE(); - case 115: + case 117: ACCEPT_TOKEN(aux_sym_immediate_record_field_selector_token2); END_STATE(); - case 116: + case 118: ACCEPT_TOKEN(aux_sym_immediate_record_field_selector_token2); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(118); END_STATE(); - case 117: + case 119: ACCEPT_TOKEN(aux_sym_original_record_field_selector_token1); - if (lookahead == '-') ADVANCE(69); + if (lookahead == '-') ADVANCE(71); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(117); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(119); END_STATE(); - case 118: + case 120: ACCEPT_TOKEN(sym_named_record_field); - if (lookahead == '-') ADVANCE(68); + if (lookahead == '-') ADVANCE(70); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(118); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(120); END_STATE(); - case 119: + case 121: ACCEPT_TOKEN(sym_positional_record_field); END_STATE(); - case 120: + case 122: ACCEPT_TOKEN(sym_positional_record_field); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(120); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(122); END_STATE(); - case 121: + case 123: ACCEPT_TOKEN(anon_sym_POUNDtrue); END_STATE(); - case 122: + case 124: ACCEPT_TOKEN(anon_sym_POUNDfalse); END_STATE(); - case 123: + case 125: ACCEPT_TOKEN(anon_sym_DQUOTE); END_STATE(); - case 124: + case 126: ACCEPT_TOKEN(sym_double_quoted_content); if (lookahead == '\t' || lookahead == 0x0b || @@ -1659,27 +1682,27 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(124); + lookahead == 0xfeff) ADVANCE(126); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && lookahead != '"' && - lookahead != '\\') ADVANCE(125); + lookahead != '\\') ADVANCE(127); END_STATE(); - case 125: + case 127: ACCEPT_TOKEN(sym_double_quoted_content); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r' && lookahead != '"' && - lookahead != '\\') ADVANCE(125); + lookahead != '\\') ADVANCE(127); END_STATE(); - case 126: + case 128: ACCEPT_TOKEN(sym_escape_sequence); END_STATE(); - case 127: + case 129: ACCEPT_TOKEN(anon_sym_BQUOTE); END_STATE(); - case 128: + case 130: ACCEPT_TOKEN(sym_backtick_quoted_content); if (lookahead == '\t' || lookahead == 0x0b || @@ -1687,25 +1710,25 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(128); + lookahead == 0xfeff) ADVANCE(130); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && - lookahead != '`') ADVANCE(129); + lookahead != '`') ADVANCE(131); END_STATE(); - case 129: + case 131: ACCEPT_TOKEN(sym_backtick_quoted_content); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r' && - lookahead != '`') ADVANCE(129); + lookahead != '`') ADVANCE(131); END_STATE(); - case 130: + case 132: ACCEPT_TOKEN(sym_date_literal); END_STATE(); - case 131: + case 133: ACCEPT_TOKEN(sym_date_time_literal); END_STATE(); - case 132: + case 134: ACCEPT_TOKEN(sym_time_literal); END_STATE(); default: @@ -1715,46 +1738,46 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, - [1] = {.lex_state = 71}, - [2] = {.lex_state = 71}, - [3] = {.lex_state = 71}, - [4] = {.lex_state = 71}, - [5] = {.lex_state = 71}, + [1] = {.lex_state = 73}, + [2] = {.lex_state = 73}, + [3] = {.lex_state = 73}, + [4] = {.lex_state = 73}, + [5] = {.lex_state = 73}, [6] = {.lex_state = 1}, - [7] = {.lex_state = 71}, + [7] = {.lex_state = 73}, [8] = {.lex_state = 1}, - [9] = {.lex_state = 71}, - [10] = {.lex_state = 71}, - [11] = {.lex_state = 71}, - [12] = {.lex_state = 71}, - [13] = {.lex_state = 71}, - [14] = {.lex_state = 71}, - [15] = {.lex_state = 72}, - [16] = {.lex_state = 72}, - [17] = {.lex_state = 2}, - [18] = {.lex_state = 72}, - [19] = {.lex_state = 72}, - [20] = {.lex_state = 72}, - [21] = {.lex_state = 72}, - [22] = {.lex_state = 72}, - [23] = {.lex_state = 71}, - [24] = {.lex_state = 72}, - [25] = {.lex_state = 71}, - [26] = {.lex_state = 71}, - [27] = {.lex_state = 71}, - [28] = {.lex_state = 72}, - [29] = {.lex_state = 0}, - [30] = {.lex_state = 72}, - [31] = {.lex_state = 0}, - [32] = {.lex_state = 0}, - [33] = {.lex_state = 72}, - [34] = {.lex_state = 72}, - [35] = {.lex_state = 72}, - [36] = {.lex_state = 0}, - [37] = {.lex_state = 72}, - [38] = {.lex_state = 72}, - [39] = {.lex_state = 72}, - [40] = {.lex_state = 71}, + [9] = {.lex_state = 73}, + [10] = {.lex_state = 73}, + [11] = {.lex_state = 73}, + [12] = {.lex_state = 73}, + [13] = {.lex_state = 73}, + [14] = {.lex_state = 73}, + [15] = {.lex_state = 8}, + [16] = {.lex_state = 8}, + [17] = {.lex_state = 8}, + [18] = {.lex_state = 8}, + [19] = {.lex_state = 74}, + [20] = {.lex_state = 74}, + [21] = {.lex_state = 74}, + [22] = {.lex_state = 74}, + [23] = {.lex_state = 74}, + [24] = {.lex_state = 74}, + [25] = {.lex_state = 8}, + [26] = {.lex_state = 8}, + [27] = {.lex_state = 73}, + [28] = {.lex_state = 73}, + [29] = {.lex_state = 73}, + [30] = {.lex_state = 73}, + [31] = {.lex_state = 74}, + [32] = {.lex_state = 74}, + [33] = {.lex_state = 0}, + [34] = {.lex_state = 0}, + [35] = {.lex_state = 0}, + [36] = {.lex_state = 74}, + [37] = {.lex_state = 74}, + [38] = {.lex_state = 74}, + [39] = {.lex_state = 0}, + [40] = {.lex_state = 73}, [41] = {.lex_state = 0}, [42] = {.lex_state = 0}, [43] = {.lex_state = 0}, @@ -1782,24 +1805,24 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [65] = {.lex_state = 0}, [66] = {.lex_state = 0}, [67] = {.lex_state = 0}, - [68] = {.lex_state = 71}, + [68] = {.lex_state = 73}, [69] = {.lex_state = 0}, [70] = {.lex_state = 0}, [71] = {.lex_state = 0}, [72] = {.lex_state = 0}, [73] = {.lex_state = 0}, - [74] = {.lex_state = 71}, + [74] = {.lex_state = 73}, [75] = {.lex_state = 0}, [76] = {.lex_state = 0}, [77] = {.lex_state = 0}, [78] = {.lex_state = 0}, - [79] = {.lex_state = 3}, + [79] = {.lex_state = 2}, [80] = {.lex_state = 0}, [81] = {.lex_state = 0}, [82] = {.lex_state = 0}, - [83] = {.lex_state = 3}, + [83] = {.lex_state = 2}, [84] = {.lex_state = 0}, - [85] = {.lex_state = 3}, + [85] = {.lex_state = 2}, [86] = {.lex_state = 0}, [87] = {.lex_state = 0}, [88] = {.lex_state = 0}, @@ -1816,34 +1839,35 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [99] = {.lex_state = 0}, [100] = {.lex_state = 0}, [101] = {.lex_state = 0}, - [102] = {.lex_state = 24}, + [102] = {.lex_state = 0}, [103] = {.lex_state = 0}, - [104] = {.lex_state = 0}, + [104] = {.lex_state = 25}, [105] = {.lex_state = 0}, [106] = {.lex_state = 0}, [107] = {.lex_state = 0}, - [108] = {.lex_state = 0}, + [108] = {.lex_state = 37}, [109] = {.lex_state = 0}, [110] = {.lex_state = 0}, [111] = {.lex_state = 0}, - [112] = {.lex_state = 35}, - [113] = {.lex_state = 72}, + [112] = {.lex_state = 0}, + [113] = {.lex_state = 74}, [114] = {.lex_state = 0}, - [115] = {.lex_state = 71}, + [115] = {.lex_state = 0}, [116] = {.lex_state = 0}, [117] = {.lex_state = 0}, [118] = {.lex_state = 0}, - [119] = {.lex_state = 0}, - [120] = {.lex_state = 0}, + [119] = {.lex_state = 73}, + [120] = {.lex_state = 73}, [121] = {.lex_state = 0}, - [122] = {.lex_state = 71}, + [122] = {.lex_state = 0}, [123] = {.lex_state = 0}, - [124] = {.lex_state = 71}, - [125] = {.lex_state = 72}, + [124] = {.lex_state = 8}, + [125] = {.lex_state = 73}, [126] = {.lex_state = 0}, [127] = {.lex_state = 0}, [128] = {.lex_state = 0}, [129] = {.lex_state = 0}, + [130] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -1892,8 +1916,8 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_time_literal] = ACTIONS(1), }, [STATE(1)] = { - [sym_source_file] = STATE(126), - [sym_root_expression] = STATE(118), + [sym_source_file] = STATE(128), + [sym_root_expression] = STATE(121), [sym_open_expression] = STATE(111), [sym_closed_expression] = STATE(111), [sym_map_shorthand] = STATE(67), @@ -1908,11 +1932,11 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_record_literal] = STATE(46), [sym_incoming_value] = STATE(46), [sym_record_access] = STATE(46), - [sym_record_field_selector] = STATE(18), + [sym_record_field_selector] = STATE(19), [sym_boolean_literal] = STATE(46), [sym_quoted_literal] = STATE(46), - [sym_double_quoted_literal] = STATE(36), - [sym_backtick_quoted_literal] = STATE(36), + [sym_double_quoted_literal] = STATE(33), + [sym_backtick_quoted_literal] = STATE(33), [sym_temporal_literal] = STATE(46), [anon_sym_PIPE_GT] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(5), @@ -1961,13 +1985,13 @@ static const uint16_t ts_small_parse_table[] = { sym_function_name, ACTIONS(37), 1, anon_sym_LBRACE, - STATE(18), 1, + STATE(19), 1, sym_record_field_selector, STATE(81), 1, sym_function_call, STATE(90), 1, sym_value, - STATE(129), 1, + STATE(130), 1, sym_argument_list, ACTIONS(19), 2, sym_numeric_literal, @@ -1978,17 +2002,17 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(36), 2, + STATE(33), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(104), 2, + STATE(98), 2, sym_positional_argument, sym_named_argument, ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(105), 6, + STATE(107), 6, sym_parenthesized_expression, sym_tuple_projection, sym__argument_value, @@ -2005,11 +2029,17 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [90] = 21, + [90] = 23, + ACTIONS(3), 1, + anon_sym_PIPE_GT, ACTIONS(5), 1, anon_sym_LPAREN, ACTIONS(7), 1, anon_sym_DOLLAR, + ACTIONS(9), 1, + sym_function_name, + ACTIONS(11), 1, + anon_sym_LBRACE, ACTIONS(13), 1, anon_sym_I, ACTIONS(15), 1, @@ -2022,16 +2052,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(35), 1, - sym_function_name, - ACTIONS(37), 1, - anon_sym_LBRACE, - STATE(18), 1, + STATE(19), 1, sym_record_field_selector, - STATE(81), 1, - sym_function_call, - STATE(90), 1, + STATE(44), 1, sym_value, + STATE(66), 1, + sym_expression, + STATE(122), 1, + sym_root_expression, ACTIONS(19), 2, sym_numeric_literal, sym_variable, @@ -2041,23 +2069,21 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(36), 2, + STATE(33), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(109), 2, - sym_positional_argument, - sym_named_argument, + STATE(111), 2, + sym_open_expression, + sym_closed_expression, ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(105), 6, + STATE(67), 4, + sym_map_shorthand, sym_parenthesized_expression, sym_tuple_projection, - sym__argument_value, - sym__nested_open_expression, - sym__nested_closed_expression, - sym_parameterized_expression, + sym_function_call, STATE(46), 9, sym_interval_literal, sym_array_literal, @@ -2068,17 +2094,11 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [174] = 23, - ACTIONS(3), 1, - anon_sym_PIPE_GT, + [178] = 21, ACTIONS(5), 1, anon_sym_LPAREN, ACTIONS(7), 1, anon_sym_DOLLAR, - ACTIONS(9), 1, - sym_function_name, - ACTIONS(11), 1, - anon_sym_LBRACE, ACTIONS(13), 1, anon_sym_I, ACTIONS(15), 1, @@ -2091,14 +2111,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(29), 1, anon_sym_BQUOTE, - STATE(18), 1, + ACTIONS(35), 1, + sym_function_name, + ACTIONS(37), 1, + anon_sym_LBRACE, + STATE(19), 1, sym_record_field_selector, - STATE(44), 1, + STATE(81), 1, + sym_function_call, + STATE(90), 1, sym_value, - STATE(66), 1, - sym_expression, - STATE(121), 1, - sym_root_expression, ACTIONS(19), 2, sym_numeric_literal, sym_variable, @@ -2108,21 +2130,23 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(36), 2, + STATE(33), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(111), 2, - sym_open_expression, - sym_closed_expression, + STATE(110), 2, + sym_positional_argument, + sym_named_argument, ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(67), 4, - sym_map_shorthand, + STATE(107), 6, sym_parenthesized_expression, sym_tuple_projection, - sym_function_call, + sym__argument_value, + sym__nested_open_expression, + sym__nested_closed_expression, + sym_parameterized_expression, STATE(46), 9, sym_interval_literal, sym_array_literal, @@ -2154,7 +2178,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BQUOTE, ACTIONS(37), 1, anon_sym_LBRACE, - STATE(18), 1, + STATE(19), 1, sym_record_field_selector, STATE(81), 1, sym_function_call, @@ -2169,14 +2193,14 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(36), 2, + STATE(33), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(108), 6, + STATE(109), 6, sym_parenthesized_expression, sym_tuple_projection, sym__argument_value, @@ -2216,14 +2240,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DOT_DOT_DOT, ACTIONS(45), 1, sym_unquoted_record_field_name, - STATE(18), 1, + STATE(19), 1, sym_record_field_selector, STATE(75), 1, sym_value, - STATE(115), 1, - sym_record_field_name, - STATE(120), 1, + STATE(117), 1, sym_tuple_projection, + STATE(120), 1, + sym_record_field_name, ACTIONS(19), 2, sym_numeric_literal, sym_variable, @@ -2254,7 +2278,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [425] = 21, + [425] = 22, ACTIONS(7), 1, anon_sym_DOLLAR, ACTIONS(9), 1, @@ -2275,12 +2299,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BQUOTE, ACTIONS(47), 1, anon_sym_LPAREN, - STATE(18), 1, + STATE(19), 1, sym_record_field_selector, STATE(44), 1, sym_value, STATE(49), 1, sym__parenthesized_pipeline_expression, + STATE(100), 1, + sym_record_access, ACTIONS(19), 2, sym_numeric_literal, sym_variable, @@ -2290,31 +2316,30 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(36), 2, + STATE(33), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(119), 2, + STATE(118), 2, sym_closed_expression, sym__pipeline_open_expression, ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(98), 3, + STATE(99), 3, sym__pipeline_expression, sym_tuple_projection, sym_function_call, - STATE(46), 9, + STATE(46), 8, sym_interval_literal, sym_array_literal, sym_tuple_literal, sym_record_literal, sym_incoming_value, - sym_record_access, sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [506] = 20, + [508] = 20, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(13), 1, @@ -2335,11 +2360,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DOT_DOT_DOT, ACTIONS(45), 1, sym_unquoted_record_field_name, - STATE(18), 1, + STATE(19), 1, sym_record_field_selector, STATE(91), 1, sym_value, - STATE(115), 1, + STATE(120), 1, sym_record_field_name, ACTIONS(19), 2, sym_numeric_literal, @@ -2371,7 +2396,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [583] = 15, + [585] = 15, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(17), 1, @@ -2386,9 +2411,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_I, ACTIONS(51), 1, anon_sym_T, - STATE(18), 1, + STATE(19), 1, sym_record_field_selector, - STATE(96), 1, + STATE(116), 1, sym_value, ACTIONS(19), 2, sym_numeric_literal, @@ -2399,7 +2424,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(36), 2, + STATE(33), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, ACTIONS(31), 3, @@ -2416,7 +2441,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [643] = 15, + [645] = 15, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(17), 1, @@ -2431,9 +2456,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_I, ACTIONS(51), 1, anon_sym_T, - STATE(18), 1, + STATE(19), 1, sym_record_field_selector, - STATE(107), 1, + STATE(96), 1, sym_value, ACTIONS(19), 2, sym_numeric_literal, @@ -2444,7 +2469,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(36), 2, + STATE(33), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, ACTIONS(31), 3, @@ -2461,7 +2486,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [703] = 15, + [705] = 15, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(17), 1, @@ -2476,9 +2501,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_I, ACTIONS(51), 1, anon_sym_T, - STATE(18), 1, + STATE(19), 1, sym_record_field_selector, - STATE(117), 1, + STATE(106), 1, sym_value, ACTIONS(19), 2, sym_numeric_literal, @@ -2489,7 +2514,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(36), 2, + STATE(33), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, ACTIONS(31), 3, @@ -2506,7 +2531,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [763] = 15, + [765] = 15, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(17), 1, @@ -2521,9 +2546,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_I, ACTIONS(51), 1, anon_sym_T, - STATE(18), 1, + STATE(19), 1, sym_record_field_selector, - STATE(88), 1, + STATE(102), 1, sym_value, ACTIONS(19), 2, sym_numeric_literal, @@ -2534,7 +2559,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(36), 2, + STATE(33), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, ACTIONS(31), 3, @@ -2551,14 +2576,14 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [823] = 9, + [825] = 9, ACTIONS(27), 1, anon_sym_DQUOTE, ACTIONS(29), 1, anon_sym_BQUOTE, ACTIONS(55), 1, sym_numeric_literal, - STATE(116), 1, + STATE(129), 1, sym_interval_bound, ACTIONS(25), 2, anon_sym_POUNDtrue, @@ -2566,7 +2591,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(53), 2, anon_sym_PLUSINF, anon_sym_DASHINF, - STATE(36), 2, + STATE(33), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, ACTIONS(31), 3, @@ -2578,14 +2603,14 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [859] = 9, + [861] = 9, ACTIONS(27), 1, anon_sym_DQUOTE, ACTIONS(29), 1, anon_sym_BQUOTE, ACTIONS(55), 1, sym_numeric_literal, - STATE(100), 1, + STATE(88), 1, sym_interval_bound, ACTIONS(25), 2, anon_sym_POUNDtrue, @@ -2593,7 +2618,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(53), 2, anon_sym_PLUSINF, anon_sym_DASHINF, - STATE(36), 2, + STATE(33), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, ACTIONS(31), 3, @@ -2605,7 +2630,70 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [895] = 8, + [897] = 8, + ACTIONS(7), 1, + anon_sym_DOLLAR, + ACTIONS(21), 1, + sym_original_input, + ACTIONS(47), 1, + anon_sym_LPAREN, + ACTIONS(57), 1, + sym_function_name, + STATE(19), 1, + sym_record_field_selector, + STATE(49), 1, + sym__parenthesized_pipeline_expression, + ACTIONS(23), 2, + sym_named_record_field, + sym_positional_record_field, + STATE(70), 4, + sym__pipeline_expression, + sym_tuple_projection, + sym_function_call, + sym_record_access, + [926] = 8, + ACTIONS(7), 1, + anon_sym_DOLLAR, + ACTIONS(21), 1, + sym_original_input, + ACTIONS(47), 1, + anon_sym_LPAREN, + ACTIONS(57), 1, + sym_function_name, + STATE(19), 1, + sym_record_field_selector, + STATE(49), 1, + sym__parenthesized_pipeline_expression, + ACTIONS(23), 2, + sym_named_record_field, + sym_positional_record_field, + STATE(86), 4, + sym__pipeline_expression, + sym_tuple_projection, + sym_function_call, + sym_record_access, + [955] = 8, + ACTIONS(7), 1, + anon_sym_DOLLAR, + ACTIONS(21), 1, + sym_original_input, + ACTIONS(47), 1, + anon_sym_LPAREN, + ACTIONS(57), 1, + sym_function_name, + STATE(19), 1, + sym_record_field_selector, + STATE(49), 1, + sym__parenthesized_pipeline_expression, + ACTIONS(23), 2, + sym_named_record_field, + sym_positional_record_field, + STATE(82), 4, + sym__pipeline_expression, + sym_tuple_projection, + sym_function_call, + sym_record_access, + [984] = 8, ACTIONS(3), 1, anon_sym_PIPE_GT, ACTIONS(5), 1, @@ -2624,12 +2712,12 @@ static const uint16_t ts_small_parse_table[] = { sym_map_shorthand, sym_tuple_projection, sym_function_call, - [922] = 5, + [1011] = 5, ACTIONS(61), 1, anon_sym_PIPE, STATE(21), 1, aux_sym_record_access_repeat1, - STATE(30), 1, + STATE(31), 1, sym_immediate_record_field_selector, ACTIONS(63), 2, aux_sym_immediate_record_field_selector_token1, @@ -2640,7 +2728,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [943] = 7, + [1032] = 7, ACTIONS(27), 1, anon_sym_DQUOTE, ACTIONS(29), 1, @@ -2649,21 +2737,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DOT_DOT_DOT, ACTIONS(67), 1, sym_unquoted_record_field_name, - STATE(115), 1, + STATE(120), 1, sym_record_field_name, - STATE(122), 2, + STATE(119), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(106), 3, + STATE(112), 3, sym__record_entry, sym_record_field, sym_record_spread, - [968] = 5, + [1057] = 5, ACTIONS(71), 1, anon_sym_PIPE, - STATE(16), 1, + STATE(23), 1, aux_sym_record_access_repeat1, - STATE(30), 1, + STATE(31), 1, sym_immediate_record_field_selector, ACTIONS(63), 2, aux_sym_immediate_record_field_selector_token1, @@ -2674,12 +2762,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [989] = 5, + [1078] = 5, ACTIONS(75), 1, anon_sym_PIPE, - STATE(20), 1, + STATE(23), 1, aux_sym_record_access_repeat1, - STATE(30), 1, + STATE(31), 1, sym_immediate_record_field_selector, ACTIONS(63), 2, aux_sym_immediate_record_field_selector_token1, @@ -2690,14 +2778,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1010] = 5, + [1099] = 5, ACTIONS(79), 1, anon_sym_PIPE, - STATE(21), 1, + STATE(23), 1, aux_sym_record_access_repeat1, - STATE(30), 1, + STATE(31), 1, sym_immediate_record_field_selector, - ACTIONS(63), 2, + ACTIONS(81), 2, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, ACTIONS(77), 5, @@ -2706,23 +2794,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1031] = 5, - ACTIONS(83), 1, + [1120] = 5, + ACTIONS(86), 1, anon_sym_PIPE, - STATE(21), 1, + STATE(22), 1, aux_sym_record_access_repeat1, - STATE(30), 1, + STATE(31), 1, sym_immediate_record_field_selector, - ACTIONS(85), 2, + ACTIONS(63), 2, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - ACTIONS(81), 5, + ACTIONS(84), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1052] = 7, + [1141] = 7, ACTIONS(3), 1, anon_sym_PIPE_GT, ACTIONS(5), 1, @@ -2733,26 +2821,14 @@ static const uint16_t ts_small_parse_table[] = { sym_function_name, STATE(66), 1, sym_expression, - STATE(123), 1, + STATE(126), 1, sym_open_expression, STATE(67), 4, sym_map_shorthand, sym_parenthesized_expression, sym_tuple_projection, sym_function_call, - [1077] = 2, - ACTIONS(90), 1, - anon_sym_PIPE, - ACTIONS(88), 8, - ts_builtin_sym_end, - anon_sym_PIPE_GT, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON_EQ, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - [1091] = 6, + [1166] = 6, ACTIONS(3), 1, anon_sym_PIPE_GT, ACTIONS(5), 1, @@ -2768,7 +2844,19 @@ static const uint16_t ts_small_parse_table[] = { sym_parenthesized_expression, sym_tuple_projection, sym_function_call, - [1113] = 2, + [1188] = 2, + ACTIONS(90), 1, + anon_sym_PIPE, + ACTIONS(88), 8, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON_EQ, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + [1202] = 2, ACTIONS(94), 1, anon_sym_PIPE, ACTIONS(92), 8, @@ -2780,7 +2868,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1127] = 2, + [1216] = 2, ACTIONS(98), 1, anon_sym_PIPE, ACTIONS(96), 8, @@ -2792,7 +2880,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1141] = 2, + [1230] = 2, ACTIONS(102), 1, anon_sym_PIPE, ACTIONS(100), 8, @@ -2804,7 +2892,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1155] = 2, + [1244] = 2, ACTIONS(106), 1, anon_sym_PIPE, ACTIONS(104), 7, @@ -2815,7 +2903,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - [1168] = 2, + [1257] = 2, ACTIONS(110), 1, anon_sym_PIPE, ACTIONS(108), 7, @@ -2824,9 +2912,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - [1181] = 2, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + [1270] = 2, ACTIONS(114), 1, anon_sym_PIPE, ACTIONS(112), 7, @@ -2835,9 +2923,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - aux_sym_immediate_record_field_selector_token1, - aux_sym_immediate_record_field_selector_token2, - [1194] = 2, + anon_sym_LBRACK, + anon_sym_RBRACK, + [1283] = 2, ACTIONS(118), 1, anon_sym_PIPE, ACTIONS(116), 7, @@ -2848,7 +2936,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1207] = 4, + [1296] = 4, ACTIONS(120), 1, anon_sym_LPAREN, STATE(58), 1, @@ -2861,7 +2949,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN_PLUS_RPAREN, anon_sym_LPAREN0_DASH_RPAREN, anon_sym_LPAREN_DASH_RPAREN, - [1224] = 2, + [1313] = 2, ACTIONS(128), 1, anon_sym_PIPE, ACTIONS(126), 7, @@ -2872,7 +2960,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - [1237] = 2, + [1326] = 2, ACTIONS(132), 1, anon_sym_PIPE, ACTIONS(130), 7, @@ -2883,7 +2971,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - [1250] = 2, + [1339] = 2, ACTIONS(136), 1, anon_sym_PIPE, ACTIONS(134), 7, @@ -2894,7 +2982,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - [1263] = 2, + [1352] = 2, ACTIONS(140), 1, anon_sym_PIPE, ACTIONS(138), 7, @@ -2905,46 +2993,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1276] = 5, - ACTIONS(7), 1, - anon_sym_DOLLAR, - ACTIONS(47), 1, - anon_sym_LPAREN, - ACTIONS(57), 1, - sym_function_name, - STATE(49), 1, - sym__parenthesized_pipeline_expression, - STATE(70), 3, - sym__pipeline_expression, - sym_tuple_projection, - sym_function_call, - [1294] = 5, - ACTIONS(7), 1, - anon_sym_DOLLAR, - ACTIONS(47), 1, - anon_sym_LPAREN, - ACTIONS(57), 1, - sym_function_name, - STATE(49), 1, - sym__parenthesized_pipeline_expression, - STATE(86), 3, - sym__pipeline_expression, - sym_tuple_projection, - sym_function_call, - [1312] = 5, - ACTIONS(7), 1, - anon_sym_DOLLAR, - ACTIONS(47), 1, - anon_sym_LPAREN, - ACTIONS(57), 1, - sym_function_name, - STATE(49), 1, - sym__parenthesized_pipeline_expression, - STATE(82), 3, - sym__pipeline_expression, - sym_tuple_projection, - sym_function_call, - [1330] = 3, + [1365] = 3, ACTIONS(144), 1, anon_sym_PIPE, ACTIONS(146), 1, @@ -2955,7 +3004,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1344] = 2, + [1379] = 2, ACTIONS(150), 1, anon_sym_PIPE, ACTIONS(148), 5, @@ -2964,7 +3013,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1355] = 2, + [1390] = 2, ACTIONS(154), 1, anon_sym_PIPE, ACTIONS(152), 5, @@ -2973,7 +3022,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1366] = 2, + [1401] = 2, ACTIONS(158), 1, anon_sym_PIPE, ACTIONS(156), 5, @@ -2982,7 +3031,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1377] = 5, + [1412] = 5, ACTIONS(162), 1, anon_sym_PIPE, ACTIONS(164), 1, @@ -2994,7 +3043,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(160), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [1394] = 2, + [1429] = 2, ACTIONS(168), 1, anon_sym_PIPE, ACTIONS(166), 5, @@ -3003,7 +3052,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1405] = 2, + [1440] = 2, ACTIONS(172), 1, anon_sym_PIPE, ACTIONS(170), 5, @@ -3012,7 +3061,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1416] = 2, + [1451] = 2, ACTIONS(176), 1, anon_sym_PIPE, ACTIONS(174), 5, @@ -3021,7 +3070,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1427] = 2, + [1462] = 2, ACTIONS(180), 1, anon_sym_PIPE, ACTIONS(178), 5, @@ -3030,7 +3079,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1438] = 2, + [1473] = 2, ACTIONS(184), 1, anon_sym_PIPE, ACTIONS(182), 5, @@ -3039,7 +3088,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1449] = 2, + [1484] = 2, ACTIONS(188), 1, anon_sym_PIPE, ACTIONS(186), 5, @@ -3048,7 +3097,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1460] = 5, + [1495] = 5, ACTIONS(192), 1, anon_sym_PIPE, ACTIONS(195), 1, @@ -3060,7 +3109,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(190), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [1477] = 2, + [1512] = 2, ACTIONS(200), 1, anon_sym_PIPE, ACTIONS(198), 5, @@ -3069,7 +3118,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1488] = 2, + [1523] = 2, ACTIONS(204), 1, anon_sym_PIPE, ACTIONS(202), 5, @@ -3078,7 +3127,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1499] = 5, + [1534] = 5, ACTIONS(162), 1, anon_sym_PIPE, ACTIONS(164), 1, @@ -3090,7 +3139,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(206), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [1516] = 2, + [1551] = 2, ACTIONS(210), 1, anon_sym_PIPE, ACTIONS(208), 5, @@ -3099,7 +3148,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1527] = 2, + [1562] = 2, ACTIONS(214), 1, anon_sym_PIPE, ACTIONS(212), 5, @@ -3108,7 +3157,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1538] = 2, + [1573] = 2, ACTIONS(218), 1, anon_sym_PIPE, ACTIONS(216), 5, @@ -3117,7 +3166,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1549] = 2, + [1584] = 2, ACTIONS(222), 1, anon_sym_PIPE, ACTIONS(220), 5, @@ -3126,7 +3175,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1560] = 2, + [1595] = 2, ACTIONS(226), 1, anon_sym_PIPE, ACTIONS(224), 5, @@ -3135,7 +3184,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1571] = 2, + [1606] = 2, ACTIONS(230), 1, anon_sym_PIPE, ACTIONS(228), 5, @@ -3144,7 +3193,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1582] = 2, + [1617] = 2, ACTIONS(234), 1, anon_sym_PIPE, ACTIONS(232), 5, @@ -3153,7 +3202,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1593] = 2, + [1628] = 2, ACTIONS(238), 1, anon_sym_PIPE, ACTIONS(236), 5, @@ -3162,7 +3211,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1604] = 2, + [1639] = 2, ACTIONS(242), 1, anon_sym_PIPE, ACTIONS(240), 5, @@ -3171,7 +3220,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1615] = 3, + [1650] = 3, ACTIONS(246), 1, anon_sym_PIPE, STATE(64), 1, @@ -3181,7 +3230,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1628] = 2, + [1663] = 2, ACTIONS(251), 1, anon_sym_PIPE, ACTIONS(249), 4, @@ -3189,7 +3238,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_RBRACE, - [1638] = 3, + [1673] = 3, ACTIONS(255), 1, anon_sym_PIPE, STATE(69), 1, @@ -3198,7 +3247,7 @@ static const uint16_t ts_small_parse_table[] = { ts_builtin_sym_end, anon_sym_RPAREN, anon_sym_RBRACE, - [1650] = 2, + [1685] = 2, ACTIONS(259), 1, anon_sym_PIPE, ACTIONS(257), 4, @@ -3206,7 +3255,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_RBRACE, - [1660] = 3, + [1695] = 3, ACTIONS(146), 1, anon_sym_LPAREN, ACTIONS(261), 1, @@ -3215,7 +3264,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_RPAREN, anon_sym_COMMA, - [1672] = 3, + [1707] = 3, ACTIONS(255), 1, anon_sym_PIPE, STATE(64), 1, @@ -3224,41 +3273,41 @@ static const uint16_t ts_small_parse_table[] = { ts_builtin_sym_end, anon_sym_RPAREN, anon_sym_RBRACE, - [1684] = 1, + [1719] = 1, ACTIONS(244), 5, ts_builtin_sym_end, anon_sym_PIPE, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1692] = 2, + [1727] = 2, ACTIONS(267), 1, anon_sym_PIPE, ACTIONS(265), 3, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [1701] = 2, + [1736] = 2, ACTIONS(271), 1, anon_sym_PIPE, ACTIONS(269), 3, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [1710] = 1, + [1745] = 1, ACTIONS(273), 4, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACK, anon_sym_RBRACK, - [1717] = 2, + [1752] = 2, ACTIONS(275), 1, anon_sym_COLON_EQ, - ACTIONS(138), 3, + ACTIONS(112), 3, anon_sym_PIPE, anon_sym_COMMA, anon_sym_RBRACE, - [1726] = 4, + [1761] = 4, ACTIONS(277), 1, anon_sym_PIPE, ACTIONS(279), 1, @@ -3267,7 +3316,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, STATE(92), 1, aux_sym_array_literal_repeat1, - [1739] = 3, + [1774] = 3, ACTIONS(255), 1, anon_sym_PIPE, STATE(64), 1, @@ -3275,20 +3324,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(283), 2, anon_sym_RPAREN, anon_sym_COMMA, - [1750] = 1, + [1785] = 1, ACTIONS(285), 4, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACK, anon_sym_RBRACK, - [1757] = 2, + [1792] = 2, ACTIONS(289), 1, anon_sym_PIPE, ACTIONS(287), 3, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [1766] = 3, + [1801] = 3, ACTIONS(291), 1, anon_sym_DQUOTE, STATE(83), 1, @@ -3296,7 +3345,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(293), 2, sym_double_quoted_content, sym_escape_sequence, - [1777] = 3, + [1812] = 3, ACTIONS(297), 1, anon_sym_COMMA, STATE(80), 1, @@ -3304,7 +3353,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(295), 2, anon_sym_RPAREN, anon_sym_RBRACE, - [1788] = 3, + [1823] = 3, ACTIONS(255), 1, anon_sym_PIPE, STATE(76), 1, @@ -3312,7 +3361,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(300), 2, anon_sym_RPAREN, anon_sym_COMMA, - [1799] = 3, + [1834] = 3, ACTIONS(255), 1, anon_sym_PIPE, STATE(84), 1, @@ -3320,7 +3369,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(302), 2, anon_sym_RPAREN, anon_sym_COMMA, - [1810] = 3, + [1845] = 3, ACTIONS(304), 1, anon_sym_DQUOTE, STATE(83), 1, @@ -3328,7 +3377,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(306), 2, sym_double_quoted_content, sym_escape_sequence, - [1821] = 3, + [1856] = 3, ACTIONS(255), 1, anon_sym_PIPE, STATE(64), 1, @@ -3336,7 +3385,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(309), 2, anon_sym_RPAREN, anon_sym_COMMA, - [1832] = 3, + [1867] = 3, ACTIONS(311), 1, anon_sym_DQUOTE, STATE(79), 1, @@ -3344,425 +3393,433 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(313), 2, sym_double_quoted_content, sym_escape_sequence, - [1843] = 2, + [1878] = 2, ACTIONS(315), 1, anon_sym_PIPE, ACTIONS(190), 3, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [1852] = 2, + [1887] = 2, ACTIONS(267), 1, anon_sym_PIPE, ACTIONS(265), 3, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [1861] = 3, - ACTIONS(279), 1, - anon_sym_COMMA, - ACTIONS(317), 1, + [1896] = 1, + ACTIONS(317), 3, anon_sym_RPAREN, - STATE(89), 1, - aux_sym_array_literal_repeat1, - [1871] = 3, + anon_sym_LBRACK, + anon_sym_RBRACK, + [1902] = 3, ACTIONS(279), 1, anon_sym_COMMA, ACTIONS(319), 1, anon_sym_RPAREN, STATE(80), 1, aux_sym_array_literal_repeat1, - [1881] = 2, + [1912] = 2, ACTIONS(321), 1, anon_sym_PIPE, ACTIONS(323), 2, anon_sym_RPAREN, anon_sym_COMMA, - [1889] = 3, + [1920] = 3, ACTIONS(279), 1, anon_sym_COMMA, ACTIONS(281), 1, anon_sym_RBRACE, STATE(92), 1, aux_sym_array_literal_repeat1, - [1899] = 3, + [1930] = 3, ACTIONS(279), 1, anon_sym_COMMA, ACTIONS(325), 1, anon_sym_RBRACE, STATE(80), 1, aux_sym_array_literal_repeat1, - [1909] = 3, + [1940] = 3, ACTIONS(327), 1, anon_sym_COMMA, ACTIONS(329), 1, anon_sym_RBRACE, STATE(94), 1, aux_sym_record_literal_repeat1, - [1919] = 3, + [1950] = 3, ACTIONS(327), 1, anon_sym_COMMA, ACTIONS(331), 1, anon_sym_RBRACE, STATE(97), 1, aux_sym_record_literal_repeat1, - [1929] = 3, + [1960] = 3, ACTIONS(333), 1, anon_sym_RPAREN, ACTIONS(335), 1, anon_sym_COMMA, - STATE(99), 1, + STATE(101), 1, aux_sym_argument_list_repeat1, - [1939] = 1, + [1970] = 1, ACTIONS(295), 3, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1945] = 3, + [1976] = 3, ACTIONS(337), 1, anon_sym_COMMA, ACTIONS(340), 1, anon_sym_RBRACE, STATE(97), 1, aux_sym_record_literal_repeat1, - [1955] = 3, - ACTIONS(255), 1, - anon_sym_PIPE, + [1986] = 3, + ACTIONS(335), 1, + anon_sym_COMMA, ACTIONS(342), 1, anon_sym_RPAREN, - STATE(101), 1, - aux_sym_open_expression_repeat1, - [1965] = 3, + STATE(95), 1, + aux_sym_argument_list_repeat1, + [1996] = 3, + ACTIONS(255), 1, + anon_sym_PIPE, ACTIONS(344), 1, anon_sym_RPAREN, + STATE(103), 1, + aux_sym_open_expression_repeat1, + [2006] = 3, + ACTIONS(170), 1, + anon_sym_PIPE_GT, ACTIONS(346), 1, + anon_sym_PIPE, + ACTIONS(348), 1, + anon_sym_RPAREN, + [2016] = 3, + ACTIONS(350), 1, + anon_sym_RPAREN, + ACTIONS(352), 1, anon_sym_COMMA, - STATE(99), 1, + STATE(101), 1, aux_sym_argument_list_repeat1, - [1975] = 1, - ACTIONS(349), 3, + [2026] = 3, + ACTIONS(279), 1, + anon_sym_COMMA, + ACTIONS(355), 1, anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_RBRACK, - [1981] = 3, + STATE(89), 1, + aux_sym_array_literal_repeat1, + [2036] = 3, ACTIONS(255), 1, anon_sym_PIPE, - ACTIONS(351), 1, + ACTIONS(357), 1, anon_sym_RPAREN, STATE(64), 1, aux_sym_open_expression_repeat1, - [1991] = 3, - ACTIONS(353), 1, + [2046] = 3, + ACTIONS(359), 1, aux_sym_tuple_projection_token1, - ACTIONS(355), 1, + ACTIONS(361), 1, aux_sym_original_record_field_selector_token1, - STATE(19), 1, + STATE(24), 1, sym_original_record_field_selector, - [2001] = 2, + [2056] = 2, ACTIONS(178), 1, anon_sym_PIPE, - ACTIONS(357), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [2009] = 3, - ACTIONS(335), 1, - anon_sym_COMMA, - ACTIONS(360), 1, - anon_sym_RPAREN, - STATE(95), 1, - aux_sym_argument_list_repeat1, - [2019] = 1, - ACTIONS(362), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [2024] = 1, - ACTIONS(340), 2, + ACTIONS(363), 2, anon_sym_COMMA, anon_sym_RBRACE, - [2029] = 1, - ACTIONS(364), 2, + [2064] = 1, + ACTIONS(366), 2, anon_sym_COMMA, anon_sym_RBRACE, - [2034] = 1, - ACTIONS(366), 2, + [2069] = 1, + ACTIONS(368), 2, anon_sym_RPAREN, anon_sym_COMMA, - [2039] = 1, - ACTIONS(344), 2, + [2074] = 2, + ACTIONS(370), 1, + anon_sym_BQUOTE, + ACTIONS(372), 1, + sym_backtick_quoted_content, + [2081] = 1, + ACTIONS(374), 2, anon_sym_RPAREN, anon_sym_COMMA, - [2044] = 1, - ACTIONS(368), 2, + [2086] = 1, + ACTIONS(350), 2, anon_sym_RPAREN, anon_sym_COMMA, - [2049] = 1, - ACTIONS(370), 2, + [2091] = 1, + ACTIONS(376), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [2054] = 2, - ACTIONS(372), 1, - anon_sym_BQUOTE, - ACTIONS(374), 1, - sym_backtick_quoted_content, - [2061] = 2, - ACTIONS(376), 1, - aux_sym_tuple_projection_token1, + [2096] = 1, + ACTIONS(340), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [2101] = 2, ACTIONS(378), 1, + aux_sym_tuple_projection_token1, + ACTIONS(380), 1, anon_sym_CARET, - [2068] = 1, - ACTIONS(380), 2, + [2108] = 1, + ACTIONS(382), 2, anon_sym_COMMA, anon_sym_RBRACE, - [2073] = 1, - ACTIONS(382), 1, - anon_sym_COLON_EQ, - [2077] = 1, - ACTIONS(384), 1, + [2113] = 1, + ACTIONS(384), 2, + anon_sym_RPAREN, anon_sym_COMMA, - [2081] = 1, + [2118] = 1, ACTIONS(386), 1, anon_sym_COMMA, - [2085] = 1, - ACTIONS(388), 1, - ts_builtin_sym_end, - [2089] = 1, - ACTIONS(390), 1, - anon_sym_RPAREN, - [2093] = 1, + [2122] = 1, ACTIONS(277), 1, anon_sym_PIPE, - [2097] = 1, - ACTIONS(392), 1, + [2126] = 1, + ACTIONS(388), 1, anon_sym_RPAREN, - [2101] = 1, + [2130] = 1, ACTIONS(275), 1, anon_sym_COLON_EQ, - [2105] = 1, + [2134] = 1, + ACTIONS(390), 1, + anon_sym_COLON_EQ, + [2138] = 1, + ACTIONS(392), 1, + ts_builtin_sym_end, + [2142] = 1, ACTIONS(394), 1, - anon_sym_RBRACE, - [2109] = 1, + anon_sym_RPAREN, + [2146] = 1, ACTIONS(396), 1, - anon_sym_LPAREN, - [2113] = 1, + anon_sym_BQUOTE, + [2150] = 1, ACTIONS(398), 1, aux_sym_tuple_projection_token1, - [2117] = 1, + [2154] = 1, ACTIONS(400), 1, - ts_builtin_sym_end, - [2121] = 1, + anon_sym_LPAREN, + [2158] = 1, ACTIONS(402), 1, anon_sym_RBRACE, - [2125] = 1, + [2162] = 1, ACTIONS(404), 1, - anon_sym_BQUOTE, - [2129] = 1, + anon_sym_RBRACE, + [2166] = 1, ACTIONS(406), 1, + ts_builtin_sym_end, + [2170] = 1, + ACTIONS(408), 1, + anon_sym_COMMA, + [2174] = 1, + ACTIONS(410), 1, anon_sym_RPAREN, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, [SMALL_STATE(3)] = 90, - [SMALL_STATE(4)] = 174, + [SMALL_STATE(4)] = 178, [SMALL_STATE(5)] = 262, [SMALL_STATE(6)] = 342, [SMALL_STATE(7)] = 425, - [SMALL_STATE(8)] = 506, - [SMALL_STATE(9)] = 583, - [SMALL_STATE(10)] = 643, - [SMALL_STATE(11)] = 703, - [SMALL_STATE(12)] = 763, - [SMALL_STATE(13)] = 823, - [SMALL_STATE(14)] = 859, - [SMALL_STATE(15)] = 895, - [SMALL_STATE(16)] = 922, - [SMALL_STATE(17)] = 943, - [SMALL_STATE(18)] = 968, - [SMALL_STATE(19)] = 989, - [SMALL_STATE(20)] = 1010, - [SMALL_STATE(21)] = 1031, - [SMALL_STATE(22)] = 1052, - [SMALL_STATE(23)] = 1077, - [SMALL_STATE(24)] = 1091, - [SMALL_STATE(25)] = 1113, - [SMALL_STATE(26)] = 1127, - [SMALL_STATE(27)] = 1141, - [SMALL_STATE(28)] = 1155, - [SMALL_STATE(29)] = 1168, - [SMALL_STATE(30)] = 1181, - [SMALL_STATE(31)] = 1194, - [SMALL_STATE(32)] = 1207, - [SMALL_STATE(33)] = 1224, - [SMALL_STATE(34)] = 1237, - [SMALL_STATE(35)] = 1250, - [SMALL_STATE(36)] = 1263, - [SMALL_STATE(37)] = 1276, - [SMALL_STATE(38)] = 1294, - [SMALL_STATE(39)] = 1312, - [SMALL_STATE(40)] = 1330, - [SMALL_STATE(41)] = 1344, - [SMALL_STATE(42)] = 1355, - [SMALL_STATE(43)] = 1366, - [SMALL_STATE(44)] = 1377, - [SMALL_STATE(45)] = 1394, - [SMALL_STATE(46)] = 1405, - [SMALL_STATE(47)] = 1416, - [SMALL_STATE(48)] = 1427, - [SMALL_STATE(49)] = 1438, - [SMALL_STATE(50)] = 1449, - [SMALL_STATE(51)] = 1460, - [SMALL_STATE(52)] = 1477, - [SMALL_STATE(53)] = 1488, - [SMALL_STATE(54)] = 1499, - [SMALL_STATE(55)] = 1516, - [SMALL_STATE(56)] = 1527, - [SMALL_STATE(57)] = 1538, - [SMALL_STATE(58)] = 1549, - [SMALL_STATE(59)] = 1560, - [SMALL_STATE(60)] = 1571, - [SMALL_STATE(61)] = 1582, - [SMALL_STATE(62)] = 1593, - [SMALL_STATE(63)] = 1604, - [SMALL_STATE(64)] = 1615, - [SMALL_STATE(65)] = 1628, - [SMALL_STATE(66)] = 1638, - [SMALL_STATE(67)] = 1650, - [SMALL_STATE(68)] = 1660, - [SMALL_STATE(69)] = 1672, - [SMALL_STATE(70)] = 1684, - [SMALL_STATE(71)] = 1692, - [SMALL_STATE(72)] = 1701, - [SMALL_STATE(73)] = 1710, - [SMALL_STATE(74)] = 1717, - [SMALL_STATE(75)] = 1726, - [SMALL_STATE(76)] = 1739, - [SMALL_STATE(77)] = 1750, - [SMALL_STATE(78)] = 1757, - [SMALL_STATE(79)] = 1766, - [SMALL_STATE(80)] = 1777, - [SMALL_STATE(81)] = 1788, - [SMALL_STATE(82)] = 1799, - [SMALL_STATE(83)] = 1810, - [SMALL_STATE(84)] = 1821, - [SMALL_STATE(85)] = 1832, - [SMALL_STATE(86)] = 1843, - [SMALL_STATE(87)] = 1852, - [SMALL_STATE(88)] = 1861, - [SMALL_STATE(89)] = 1871, - [SMALL_STATE(90)] = 1881, - [SMALL_STATE(91)] = 1889, - [SMALL_STATE(92)] = 1899, - [SMALL_STATE(93)] = 1909, - [SMALL_STATE(94)] = 1919, - [SMALL_STATE(95)] = 1929, - [SMALL_STATE(96)] = 1939, - [SMALL_STATE(97)] = 1945, - [SMALL_STATE(98)] = 1955, - [SMALL_STATE(99)] = 1965, - [SMALL_STATE(100)] = 1975, - [SMALL_STATE(101)] = 1981, - [SMALL_STATE(102)] = 1991, - [SMALL_STATE(103)] = 2001, - [SMALL_STATE(104)] = 2009, - [SMALL_STATE(105)] = 2019, - [SMALL_STATE(106)] = 2024, - [SMALL_STATE(107)] = 2029, - [SMALL_STATE(108)] = 2034, - [SMALL_STATE(109)] = 2039, - [SMALL_STATE(110)] = 2044, - [SMALL_STATE(111)] = 2049, - [SMALL_STATE(112)] = 2054, - [SMALL_STATE(113)] = 2061, - [SMALL_STATE(114)] = 2068, - [SMALL_STATE(115)] = 2073, - [SMALL_STATE(116)] = 2077, - [SMALL_STATE(117)] = 2081, - [SMALL_STATE(118)] = 2085, - [SMALL_STATE(119)] = 2089, - [SMALL_STATE(120)] = 2093, - [SMALL_STATE(121)] = 2097, - [SMALL_STATE(122)] = 2101, - [SMALL_STATE(123)] = 2105, - [SMALL_STATE(124)] = 2109, - [SMALL_STATE(125)] = 2113, - [SMALL_STATE(126)] = 2117, - [SMALL_STATE(127)] = 2121, - [SMALL_STATE(128)] = 2125, - [SMALL_STATE(129)] = 2129, + [SMALL_STATE(8)] = 508, + [SMALL_STATE(9)] = 585, + [SMALL_STATE(10)] = 645, + [SMALL_STATE(11)] = 705, + [SMALL_STATE(12)] = 765, + [SMALL_STATE(13)] = 825, + [SMALL_STATE(14)] = 861, + [SMALL_STATE(15)] = 897, + [SMALL_STATE(16)] = 926, + [SMALL_STATE(17)] = 955, + [SMALL_STATE(18)] = 984, + [SMALL_STATE(19)] = 1011, + [SMALL_STATE(20)] = 1032, + [SMALL_STATE(21)] = 1057, + [SMALL_STATE(22)] = 1078, + [SMALL_STATE(23)] = 1099, + [SMALL_STATE(24)] = 1120, + [SMALL_STATE(25)] = 1141, + [SMALL_STATE(26)] = 1166, + [SMALL_STATE(27)] = 1188, + [SMALL_STATE(28)] = 1202, + [SMALL_STATE(29)] = 1216, + [SMALL_STATE(30)] = 1230, + [SMALL_STATE(31)] = 1244, + [SMALL_STATE(32)] = 1257, + [SMALL_STATE(33)] = 1270, + [SMALL_STATE(34)] = 1283, + [SMALL_STATE(35)] = 1296, + [SMALL_STATE(36)] = 1313, + [SMALL_STATE(37)] = 1326, + [SMALL_STATE(38)] = 1339, + [SMALL_STATE(39)] = 1352, + [SMALL_STATE(40)] = 1365, + [SMALL_STATE(41)] = 1379, + [SMALL_STATE(42)] = 1390, + [SMALL_STATE(43)] = 1401, + [SMALL_STATE(44)] = 1412, + [SMALL_STATE(45)] = 1429, + [SMALL_STATE(46)] = 1440, + [SMALL_STATE(47)] = 1451, + [SMALL_STATE(48)] = 1462, + [SMALL_STATE(49)] = 1473, + [SMALL_STATE(50)] = 1484, + [SMALL_STATE(51)] = 1495, + [SMALL_STATE(52)] = 1512, + [SMALL_STATE(53)] = 1523, + [SMALL_STATE(54)] = 1534, + [SMALL_STATE(55)] = 1551, + [SMALL_STATE(56)] = 1562, + [SMALL_STATE(57)] = 1573, + [SMALL_STATE(58)] = 1584, + [SMALL_STATE(59)] = 1595, + [SMALL_STATE(60)] = 1606, + [SMALL_STATE(61)] = 1617, + [SMALL_STATE(62)] = 1628, + [SMALL_STATE(63)] = 1639, + [SMALL_STATE(64)] = 1650, + [SMALL_STATE(65)] = 1663, + [SMALL_STATE(66)] = 1673, + [SMALL_STATE(67)] = 1685, + [SMALL_STATE(68)] = 1695, + [SMALL_STATE(69)] = 1707, + [SMALL_STATE(70)] = 1719, + [SMALL_STATE(71)] = 1727, + [SMALL_STATE(72)] = 1736, + [SMALL_STATE(73)] = 1745, + [SMALL_STATE(74)] = 1752, + [SMALL_STATE(75)] = 1761, + [SMALL_STATE(76)] = 1774, + [SMALL_STATE(77)] = 1785, + [SMALL_STATE(78)] = 1792, + [SMALL_STATE(79)] = 1801, + [SMALL_STATE(80)] = 1812, + [SMALL_STATE(81)] = 1823, + [SMALL_STATE(82)] = 1834, + [SMALL_STATE(83)] = 1845, + [SMALL_STATE(84)] = 1856, + [SMALL_STATE(85)] = 1867, + [SMALL_STATE(86)] = 1878, + [SMALL_STATE(87)] = 1887, + [SMALL_STATE(88)] = 1896, + [SMALL_STATE(89)] = 1902, + [SMALL_STATE(90)] = 1912, + [SMALL_STATE(91)] = 1920, + [SMALL_STATE(92)] = 1930, + [SMALL_STATE(93)] = 1940, + [SMALL_STATE(94)] = 1950, + [SMALL_STATE(95)] = 1960, + [SMALL_STATE(96)] = 1970, + [SMALL_STATE(97)] = 1976, + [SMALL_STATE(98)] = 1986, + [SMALL_STATE(99)] = 1996, + [SMALL_STATE(100)] = 2006, + [SMALL_STATE(101)] = 2016, + [SMALL_STATE(102)] = 2026, + [SMALL_STATE(103)] = 2036, + [SMALL_STATE(104)] = 2046, + [SMALL_STATE(105)] = 2056, + [SMALL_STATE(106)] = 2064, + [SMALL_STATE(107)] = 2069, + [SMALL_STATE(108)] = 2074, + [SMALL_STATE(109)] = 2081, + [SMALL_STATE(110)] = 2086, + [SMALL_STATE(111)] = 2091, + [SMALL_STATE(112)] = 2096, + [SMALL_STATE(113)] = 2101, + [SMALL_STATE(114)] = 2108, + [SMALL_STATE(115)] = 2113, + [SMALL_STATE(116)] = 2118, + [SMALL_STATE(117)] = 2122, + [SMALL_STATE(118)] = 2126, + [SMALL_STATE(119)] = 2130, + [SMALL_STATE(120)] = 2134, + [SMALL_STATE(121)] = 2138, + [SMALL_STATE(122)] = 2142, + [SMALL_STATE(123)] = 2146, + [SMALL_STATE(124)] = 2150, + [SMALL_STATE(125)] = 2154, + [SMALL_STATE(126)] = 2158, + [SMALL_STATE(127)] = 2162, + [SMALL_STATE(128)] = 2166, + [SMALL_STATE(129)] = 2170, + [SMALL_STATE(130)] = 2174, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), - [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), - [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125), [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), - [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122), + [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(119), [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 2, 0, 8), - [61] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 2, 0, 8), - [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 1, 0, 2), + [61] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 1, 0, 2), + [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), - [69] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 1, 0, 2), - [71] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 1, 0, 2), - [73] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 2, 0, 6), - [75] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 2, 0, 6), - [77] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 3, 0, 11), - [79] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 3, 0, 11), - [81] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), - [83] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), - [85] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), SHIFT_REPEAT(28), - [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double_quoted_literal, 2, 0, 0), - [90] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_double_quoted_literal, 2, 0, 0), - [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backtick_quoted_literal, 2, 0, 0), - [94] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_backtick_quoted_literal, 2, 0, 0), + [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [69] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 2, 0, 8), + [71] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 2, 0, 8), + [73] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 3, 0, 11), + [75] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 3, 0, 11), + [77] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), + [79] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), + [81] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), SHIFT_REPEAT(32), + [84] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 2, 0, 6), + [86] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 2, 0, 6), + [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backtick_quoted_literal, 2, 0, 0), + [90] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_backtick_quoted_literal, 2, 0, 0), + [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double_quoted_literal, 3, 0, 0), + [94] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_double_quoted_literal, 3, 0, 0), [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backtick_quoted_literal, 3, 0, 0), [98] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_backtick_quoted_literal, 3, 0, 0), - [100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double_quoted_literal, 3, 0, 0), - [102] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_double_quoted_literal, 3, 0, 0), - [104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_immediate_record_field_selector, 1, 0, 0), - [106] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_immediate_record_field_selector, 1, 0, 0), - [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1, 0, 0), - [110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_literal, 1, 0, 0), - [112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 1, 0, 2), - [114] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_record_access_repeat1, 1, 0, 2), + [100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double_quoted_literal, 2, 0, 0), + [102] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_double_quoted_literal, 2, 0, 0), + [104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 1, 0, 2), + [106] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_record_access_repeat1, 1, 0, 2), + [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_immediate_record_field_selector, 1, 0, 0), + [110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_immediate_record_field_selector, 1, 0, 0), + [112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_literal, 1, 0, 0), + [114] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quoted_literal, 1, 0, 0), [116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_temporal_literal, 1, 0, 0), [118] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_temporal_literal, 1, 0, 0), [120] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13), [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field_selector, 1, 0, 0), - [128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_field_selector, 1, 0, 0), - [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_original_record_field_selector, 1, 0, 0), - [132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_original_record_field_selector, 1, 0, 0), + [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_original_record_field_selector, 1, 0, 0), + [128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_original_record_field_selector, 1, 0, 0), + [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field_selector, 1, 0, 0), + [132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_field_selector, 1, 0, 0), [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_original_record_field_selector, 1, 0, 5), [136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_original_record_field_selector, 1, 0, 5), - [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_literal, 1, 0, 0), - [140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quoted_literal, 1, 0, 0), + [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1, 0, 0), + [140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_literal, 1, 0, 0), [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 1, 0, 1), [144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 1, 0, 1), [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), @@ -3773,8 +3830,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 3, 0, 0), [158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 3, 0, 0), [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closed_expression, 1, 0, 0), - [162] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), - [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [162] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), + [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3, 0, 0), [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3, 0, 0), [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1, 0, 0), @@ -3788,8 +3845,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_projection, 3, 0, 10), [188] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_projection, 3, 0, 10), [190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), - [192] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(38), - [195] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(15), + [192] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(16), + [195] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(18), [198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2, 0, 0), [200] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 2, 0, 0), [202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, 0, 1), @@ -3814,11 +3871,11 @@ static const TSParseActionEntry ts_parse_actions[] = { [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_literal, 7, 0, 0), [242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_literal, 7, 0, 0), [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_open_expression_repeat1, 2, 0, 0), - [246] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_open_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(37), + [246] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_open_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(15), [249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_shorthand, 2, 0, 3), [251] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_shorthand, 2, 0, 3), [253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_expression, 1, 0, 0), - [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), [257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), [259] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), @@ -3829,69 +3886,71 @@ static const TSParseActionEntry ts_parse_actions[] = { [271] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_open_expression, 1, 0, 0), [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_infinite_bound, 1, 0, 0), [275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field_name, 1, 0, 0), - [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_open_expression, 2, 0, 0), [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_bound, 1, 0, 0), [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 1, 0, 7), [289] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 1, 0, 7), - [291] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), + [291] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), [295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), - [297] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(9), + [297] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(10), [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_open_expression, 1, 0, 0), [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_closed_expression, 3, 0, 0), [304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_double_quoted_literal_repeat1, 2, 0, 0), [306] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_double_quoted_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(83), [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_closed_expression, 4, 0, 0), - [311] = {.entry = {.count = 1, .reusable = false}}, SHIFT(23), + [311] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), [313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), [315] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), - [317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), [323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__argument_value, 1, 0, 0), [325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), [329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), [331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), [333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0), - [335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [337] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(17), + [335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [337] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(20), [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_literal_repeat1, 2, 0, 0), - [342] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_open_expression, 1, 0, 0), - [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), - [346] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(3), - [349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_open_expression, 2, 0, 0), - [353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [357] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_record_spread, 1, 0, 0), REDUCE(sym_incoming_value, 1, 0, 0), - [360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 1, 0, 0), - [362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_positional_argument, 1, 0, 0), - [364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field, 3, 0, 13), - [366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_argument, 3, 0, 14), - [368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameterized_expression, 5, 0, 16), - [370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root_expression, 1, 0, 0), - [372] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), - [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [380] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_spread, 1, 0, 0), - [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [342] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 1, 0, 0), + [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_open_expression, 1, 0, 0), + [346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pipeline_expression, 1, 0, 0), + [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_expression, 1, 0, 0), + [350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), + [352] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(4), + [355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_open_expression, 2, 0, 0), + [359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [363] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_record_spread, 1, 0, 0), REDUCE(sym_incoming_value, 1, 0, 0), + [366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field, 3, 0, 13), + [368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_positional_argument, 1, 0, 0), + [370] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), + [372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_argument, 3, 0, 14), + [376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root_expression, 1, 0, 0), + [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_spread, 1, 0, 0), + [384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameterized_expression, 5, 0, 16), [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), - [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [400] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [406] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), }; #ifdef __cplusplus diff --git a/test/corpus/references.txt b/test/corpus/references.txt index ac760d6..f234649 100644 --- a/test/corpus/references.txt +++ b/test/corpus/references.txt @@ -80,6 +80,27 @@ Variable pipeline (function_call name: (function_name))))) +================== +Record field shorthand pipeline +================== + +.address | .city | .name + +--- + +(source_file + (root_expression + (closed_expression + (record_access + field: (record_field_selector + (named_record_field))) + (record_access + field: (record_field_selector + (named_record_field))) + (record_access + field: (record_field_selector + (named_record_field)))))) + ================== Original input named field pipeline ================== From 27f103c8c1761b2f2c153901d9804bbe5a0c4f1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20L=2E=20Charlier?= Date: Mon, 17 Aug 2026 17:40:06 +0200 Subject: [PATCH 3/7] bug: support null literals --- .../SyntaxBindingTests.cs | 26 + .../Expressif.Syntax/ExpressifSyntax.cs | 3 +- .../csharp/Expressif.Syntax/SyntaxNodes.cs | 9 + grammar.js | 3 + src/grammar.json | 8 + src/node-types.json | 8 + src/parser.c | 1398 +++++++++-------- test/corpus/compound_values.txt | 17 + test/corpus/expressions.txt | 18 + 9 files changed, 807 insertions(+), 683 deletions(-) diff --git a/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs b/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs index edd201f..c7ef961 100644 --- a/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs +++ b/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs @@ -103,6 +103,32 @@ public void BooleanLiteralsExposeTypedValue(string source, bool expected) Assert.That(((BooleanLiteralSyntax)root.Value).Value, Is.EqualTo(expected)); } + [Test] + public void NullLiteralExposesNullSemanticValueAndPreservesText() + { + var literal = (NullLiteralSyntax)((ClosedExpressionSyntax)ExpressifSyntax.Parse("#null")).Value; + + Assert.Multiple(() => + { + Assert.That(literal.Kind, Is.EqualTo(SyntaxKind.NullLiteral)); + Assert.That(literal.Value, Is.Null); + Assert.That(literal.Text, Is.EqualTo("#null")); + }); + } + + [Test] + public void NullLiteralComposesAsAnArgumentAndCollectionValue() + { + var call = (FunctionCallSyntax)((OpenExpressionSyntax)ExpressifSyntax.Parse("coalesce(#null)")).Pipeline.Single(); + var array = (ArrayLiteralSyntax)((ClosedExpressionSyntax)ExpressifSyntax.Parse("{#null, #true}")).Value; + + Assert.Multiple(() => + { + Assert.That(call.Arguments.Single().Value, Is.TypeOf()); + Assert.That(array.Values[0], Is.TypeOf()); + }); + } + [TestCase("true")] [TestCase("false")] public void BareBooleanWordsRemainFunctionCalls(string source) diff --git a/bindings/csharp/Expressif.Syntax/ExpressifSyntax.cs b/bindings/csharp/Expressif.Syntax/ExpressifSyntax.cs index ca7bdaf..a23f329 100644 --- a/bindings/csharp/Expressif.Syntax/ExpressifSyntax.cs +++ b/bindings/csharp/Expressif.Syntax/ExpressifSyntax.cs @@ -7,7 +7,7 @@ public static class ExpressifSyntax { internal static IReadOnlySet SupportedValueNodeTypes { get; } = new HashSet { - "array_literal", "boolean_literal", "incoming_value", "numeric_literal", + "array_literal", "boolean_literal", "incoming_value", "null_literal", "numeric_literal", "interval_literal", "quoted_literal", "record_access", "record_literal", "temporal_literal", "tuple_literal", "variable", }; @@ -165,6 +165,7 @@ private static TupleProjectionSyntax BindTupleProjection(TsNode node) "record_access" => BindRecordAccess(node), "numeric_literal" => new NumericLiteralSyntax(Span(node), node.Text), "boolean_literal" => new BooleanLiteralSyntax(Span(node), node.Text), + "null_literal" => new NullLiteralSyntax(Span(node), node.Text), "double_quoted_literal" => new QuotedLiteralSyntax(Span(node), node.Text, QuotingStyle.DoubleQuote), "backtick_quoted_literal" => new QuotedLiteralSyntax(Span(node), node.Text, QuotingStyle.Backtick), "date_literal" => new DateLiteralSyntax(Span(node), node.Text), diff --git a/bindings/csharp/Expressif.Syntax/SyntaxNodes.cs b/bindings/csharp/Expressif.Syntax/SyntaxNodes.cs index 3bc5e95..d160b9b 100644 --- a/bindings/csharp/Expressif.Syntax/SyntaxNodes.cs +++ b/bindings/csharp/Expressif.Syntax/SyntaxNodes.cs @@ -12,6 +12,7 @@ public enum SyntaxKind NamedArgument, NumericLiteral, BooleanLiteral, + NullLiteral, QuotedLiteral, DateLiteral, DateTimeLiteral, @@ -304,6 +305,14 @@ internal BooleanLiteralSyntax(SourceSpan span, string text) public bool Value { get; } } +public sealed class NullLiteralSyntax : ValueSyntax +{ + internal NullLiteralSyntax(SourceSpan span, string text) + : base(SyntaxKind.NullLiteral, span, text) { } + + public object? Value => null; +} + public enum QuotingStyle { DoubleQuote, Backtick } public sealed class QuotedLiteralSyntax : ValueSyntax diff --git a/grammar.js b/grammar.js index 788c1aa..52a9bbb 100644 --- a/grammar.js +++ b/grammar.js @@ -174,6 +174,7 @@ export default grammar({ $.record_access, $.numeric_literal, $.boolean_literal, + $.null_literal, $.quoted_literal, $.temporal_literal, $.array_literal, @@ -295,6 +296,8 @@ export default grammar({ boolean_literal: (_) => choice("#true", "#false"), + null_literal: (_) => "#null", + quoted_literal: ($) => choice( $.double_quoted_literal, $.backtick_quoted_literal, diff --git a/src/grammar.json b/src/grammar.json index fe90c04..d2e5770 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -683,6 +683,10 @@ "type": "SYMBOL", "name": "boolean_literal" }, + { + "type": "SYMBOL", + "name": "null_literal" + }, { "type": "SYMBOL", "name": "quoted_literal" @@ -1232,6 +1236,10 @@ } ] }, + "null_literal": { + "type": "STRING", + "value": "#null" + }, "quoted_literal": { "type": "CHOICE", "members": [ diff --git a/src/node-types.json b/src/node-types.json index 0561030..2a7099e 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -73,6 +73,10 @@ "type": "interval_literal", "named": true }, + { + "type": "null_literal", + "named": true + }, { "type": "numeric_literal", "named": true @@ -889,6 +893,10 @@ "type": "named_record_field", "named": true }, + { + "type": "null_literal", + "named": true + }, { "type": "numeric_literal", "named": true diff --git a/src/parser.c b/src/parser.c index da23a30..689b2a5 100644 --- a/src/parser.c +++ b/src/parser.c @@ -9,9 +9,9 @@ #define LANGUAGE_VERSION 15 #define STATE_COUNT 131 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 94 +#define SYMBOL_COUNT 95 #define ALIAS_COUNT 2 -#define TOKEN_COUNT 44 +#define TOKEN_COUNT 45 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 12 #define MAX_ALIAS_SEQUENCE_LENGTH 7 @@ -55,66 +55,67 @@ enum ts_symbol_identifiers { sym_positional_record_field = 33, anon_sym_POUNDtrue = 34, anon_sym_POUNDfalse = 35, - anon_sym_DQUOTE = 36, - sym_double_quoted_content = 37, - sym_escape_sequence = 38, - anon_sym_BQUOTE = 39, - sym_backtick_quoted_content = 40, - sym_date_literal = 41, - sym_date_time_literal = 42, - sym_time_literal = 43, - sym_source_file = 44, - sym_root_expression = 45, - sym_open_expression = 46, - sym_closed_expression = 47, - sym_map_shorthand = 48, - sym__pipeline_map_shorthand = 49, - sym_expression = 50, - sym__pipeline_expression = 51, - sym__parenthesized_pipeline_expression = 52, - sym__pipeline_open_expression = 53, - sym_parenthesized_expression = 54, - sym_parenthesized_open_expression = 55, - sym_tuple_projection = 56, - sym_function_call = 57, - sym_argument_list = 58, - sym_positional_argument = 59, - sym_named_argument = 60, - sym__argument_value = 61, - sym__nested_open_expression = 62, - sym__nested_closed_expression = 63, - sym_parameterized_expression = 64, - sym_value = 65, - sym_interval_literal = 66, - sym_interval_bound = 67, - sym_infinite_bound = 68, - sym_interval_shorthand = 69, - sym_array_literal = 70, - sym_tuple_literal = 71, - sym_record_literal = 72, - sym__record_entry = 73, - sym_record_field = 74, - sym_record_spread = 75, - sym_incoming_value = 76, - sym_record_field_name = 77, - sym_record_access = 78, - sym_record_field_selector = 79, - sym_immediate_record_field_selector = 80, - sym_original_record_field_selector = 81, - sym_boolean_literal = 82, - sym_quoted_literal = 83, - sym_double_quoted_literal = 84, - sym_backtick_quoted_literal = 85, - sym_temporal_literal = 86, - aux_sym_open_expression_repeat1 = 87, - aux_sym_closed_expression_repeat1 = 88, - aux_sym_argument_list_repeat1 = 89, - aux_sym_array_literal_repeat1 = 90, - aux_sym_record_literal_repeat1 = 91, - aux_sym_record_access_repeat1 = 92, - aux_sym_double_quoted_literal_repeat1 = 93, - alias_sym_argument_name = 94, - alias_sym_from_start = 95, + sym_null_literal = 36, + anon_sym_DQUOTE = 37, + sym_double_quoted_content = 38, + sym_escape_sequence = 39, + anon_sym_BQUOTE = 40, + sym_backtick_quoted_content = 41, + sym_date_literal = 42, + sym_date_time_literal = 43, + sym_time_literal = 44, + sym_source_file = 45, + sym_root_expression = 46, + sym_open_expression = 47, + sym_closed_expression = 48, + sym_map_shorthand = 49, + sym__pipeline_map_shorthand = 50, + sym_expression = 51, + sym__pipeline_expression = 52, + sym__parenthesized_pipeline_expression = 53, + sym__pipeline_open_expression = 54, + sym_parenthesized_expression = 55, + sym_parenthesized_open_expression = 56, + sym_tuple_projection = 57, + sym_function_call = 58, + sym_argument_list = 59, + sym_positional_argument = 60, + sym_named_argument = 61, + sym__argument_value = 62, + sym__nested_open_expression = 63, + sym__nested_closed_expression = 64, + sym_parameterized_expression = 65, + sym_value = 66, + sym_interval_literal = 67, + sym_interval_bound = 68, + sym_infinite_bound = 69, + sym_interval_shorthand = 70, + sym_array_literal = 71, + sym_tuple_literal = 72, + sym_record_literal = 73, + sym__record_entry = 74, + sym_record_field = 75, + sym_record_spread = 76, + sym_incoming_value = 77, + sym_record_field_name = 78, + sym_record_access = 79, + sym_record_field_selector = 80, + sym_immediate_record_field_selector = 81, + sym_original_record_field_selector = 82, + sym_boolean_literal = 83, + sym_quoted_literal = 84, + sym_double_quoted_literal = 85, + sym_backtick_quoted_literal = 86, + sym_temporal_literal = 87, + aux_sym_open_expression_repeat1 = 88, + aux_sym_closed_expression_repeat1 = 89, + aux_sym_argument_list_repeat1 = 90, + aux_sym_array_literal_repeat1 = 91, + aux_sym_record_literal_repeat1 = 92, + aux_sym_record_access_repeat1 = 93, + aux_sym_double_quoted_literal_repeat1 = 94, + alias_sym_argument_name = 95, + alias_sym_from_start = 96, }; static const char * const ts_symbol_names[] = { @@ -154,6 +155,7 @@ static const char * const ts_symbol_names[] = { [sym_positional_record_field] = "positional_record_field", [anon_sym_POUNDtrue] = "#true", [anon_sym_POUNDfalse] = "#false", + [sym_null_literal] = "null_literal", [anon_sym_DQUOTE] = "\"", [sym_double_quoted_content] = "double_quoted_content", [sym_escape_sequence] = "escape_sequence", @@ -253,6 +255,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_positional_record_field] = sym_positional_record_field, [anon_sym_POUNDtrue] = anon_sym_POUNDtrue, [anon_sym_POUNDfalse] = anon_sym_POUNDfalse, + [sym_null_literal] = sym_null_literal, [anon_sym_DQUOTE] = anon_sym_DQUOTE, [sym_double_quoted_content] = sym_double_quoted_content, [sym_escape_sequence] = sym_escape_sequence, @@ -460,6 +463,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [sym_null_literal] = { + .visible = true, + .named = true, + }, [anon_sym_DQUOTE] = { .visible = true, .named = false, @@ -964,7 +971,7 @@ static const TSMapSlice ts_supertype_map_slices[] = { [sym_expression] = {.index = 0, .length = 4}, [sym_quoted_literal] = {.index = 4, .length = 2}, [sym_temporal_literal] = {.index = 6, .length = 3}, - [sym_value] = {.index = 9, .length = 11}, + [sym_value] = {.index = 9, .length = 12}, }; static const TSSymbol ts_supertype_map_entries[] = { @@ -985,6 +992,7 @@ static const TSSymbol ts_supertype_map_entries[] = { sym_boolean_literal, sym_incoming_value, sym_interval_literal, + sym_null_literal, sym_numeric_literal, sym_quoted_literal, sym_record_access, @@ -999,80 +1007,80 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(76); + if (eof) ADVANCE(79); ADVANCE_MAP( - '"', 125, + '"', 129, '#', 4, - '$', 82, - '(', 80, - ')', 81, + '$', 85, + '(', 83, + ')', 84, '+', 34, - ',', 89, + ',', 92, '-', 22, '.', 18, - '0', 111, - ':', 108, - '@', 66, - 'I', 93, - 'T', 104, - '[', 96, - '\\', 46, - ']', 97, - '^', 86, - '`', 129, - '{', 91, - '|', 77, - '}', 92, + '0', 114, + ':', 111, + '@', 69, + 'I', 96, + 'T', 107, + '[', 99, + '\\', 49, + ']', 100, + '^', 89, + '`', 133, + '{', 94, + '|', 80, + '}', 95, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(72); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(112); + lookahead == 0xfeff) SKIP(75); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(115); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(87); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); END_STATE(); case 1: ADVANCE_MAP( - '"', 125, + '"', 129, '#', 4, - '$', 82, + '$', 85, '-', 23, '.', 19, - '0', 111, - ':', 107, - '@', 66, - 'I', 95, - 'T', 106, + '0', 114, + ':', 110, + '@', 69, + 'I', 98, + 'T', 109, '^', 20, - '`', 129, - '{', 91, - '}', 92, + '`', 133, + '{', 94, + '}', 95, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || lookahead == 0xfeff) SKIP(1); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(112); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(115); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(110); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(113); END_STATE(); case 2: - if (lookahead == '"') ADVANCE(125); - if (lookahead == '\\') ADVANCE(46); + if (lookahead == '"') ADVANCE(129); + if (lookahead == '\\') ADVANCE(49); if (lookahead == '\n' || lookahead == '\r') SKIP(3); if (('\t' <= lookahead && lookahead <= '\f') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(126); - if (lookahead != 0) ADVANCE(127); + lookahead == 0xfeff) ADVANCE(130); + if (lookahead != 0) ADVANCE(131); END_STATE(); case 3: - if (lookahead == '"') ADVANCE(125); + if (lookahead == '"') ADVANCE(129); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || @@ -1080,26 +1088,27 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == 0xfeff) SKIP(3); END_STATE(); case 4: - if (lookahead == '"') ADVANCE(55); + if (lookahead == '"') ADVANCE(58); if (lookahead == 'f') ADVANCE(39); - if (lookahead == 't') ADVANCE(43); + if (lookahead == 'n') ADVANCE(48); + if (lookahead == 't') ADVANCE(45); END_STATE(); case 5: - if (lookahead == '"') ADVANCE(134); + if (lookahead == '"') ADVANCE(138); END_STATE(); case 6: - if (lookahead == '"') ADVANCE(132); + if (lookahead == '"') ADVANCE(136); if (lookahead == ' ' || - lookahead == 'T') ADVANCE(63); + lookahead == 'T') ADVANCE(66); END_STATE(); case 7: - if (lookahead == '"') ADVANCE(133); + if (lookahead == '"') ADVANCE(137); END_STATE(); case 8: - if (lookahead == '$') ADVANCE(82); - if (lookahead == '(') ADVANCE(79); + if (lookahead == '$') ADVANCE(85); + if (lookahead == '(') ADVANCE(82); if (lookahead == '.') ADVANCE(24); - if (lookahead == '0') ADVANCE(83); + if (lookahead == '0') ADVANCE(86); if (lookahead == '^') ADVANCE(20); if (lookahead == '|') ADVANCE(31); if (('\t' <= lookahead && lookahead <= '\r') || @@ -1107,13 +1116,13 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == 0x200b || lookahead == 0x2060 || lookahead == 0xfeff) SKIP(9); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(84); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(87); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(88); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); END_STATE(); case 9: - if (lookahead == '$') ADVANCE(82); - if (lookahead == '(') ADVANCE(79); + if (lookahead == '$') ADVANCE(85); + if (lookahead == '(') ADVANCE(82); if (lookahead == '.') ADVANCE(24); if (lookahead == '^') ADVANCE(20); if (lookahead == '|') ADVANCE(31); @@ -1123,98 +1132,98 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == 0x2060 || lookahead == 0xfeff) SKIP(9); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(88); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); END_STATE(); case 10: - if (lookahead == ')') ADVANCE(101); + if (lookahead == ')') ADVANCE(104); END_STATE(); case 11: - if (lookahead == ')') ADVANCE(103); + if (lookahead == ')') ADVANCE(106); END_STATE(); case 12: - if (lookahead == ')') ADVANCE(100); + if (lookahead == ')') ADVANCE(103); END_STATE(); case 13: - if (lookahead == ')') ADVANCE(102); + if (lookahead == ')') ADVANCE(105); END_STATE(); case 14: if (lookahead == '+') ADVANCE(12); if (lookahead == '-') ADVANCE(13); END_STATE(); case 15: - if (lookahead == '-') ADVANCE(62); + if (lookahead == '-') ADVANCE(65); END_STATE(); case 16: - if (lookahead == '-') ADVANCE(58); + if (lookahead == '-') ADVANCE(61); END_STATE(); case 17: if (lookahead == '.') ADVANCE(21); END_STATE(); case 18: if (lookahead == '.') ADVANCE(21); - if (lookahead == '0') ADVANCE(117); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(118); + if (lookahead == '0') ADVANCE(120); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(121); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(116); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(119); END_STATE(); case 19: if (lookahead == '.') ADVANCE(21); - if (lookahead == '0') ADVANCE(121); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(122); + if (lookahead == '0') ADVANCE(124); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(125); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(120); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(123); END_STATE(); case 20: - if (lookahead == '.') ADVANCE(115); + if (lookahead == '.') ADVANCE(118); END_STATE(); case 21: - if (lookahead == '.') ADVANCE(109); + if (lookahead == '.') ADVANCE(112); END_STATE(); case 22: - if (lookahead == '0') ADVANCE(111); + if (lookahead == '0') ADVANCE(114); if (lookahead == 'I') ADVANCE(36); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(112); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(115); END_STATE(); case 23: - if (lookahead == '0') ADVANCE(111); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(112); + if (lookahead == '0') ADVANCE(114); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(115); END_STATE(); case 24: - if (lookahead == '0') ADVANCE(121); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(122); + if (lookahead == '0') ADVANCE(124); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(125); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(120); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(123); END_STATE(); case 25: - if (lookahead == '0') ADVANCE(83); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(84); + if (lookahead == '0') ADVANCE(86); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(87); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(119); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(122); END_STATE(); case 26: - if (lookahead == ':') ADVANCE(56); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(50); + if (lookahead == ':') ADVANCE(59); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(53); END_STATE(); case 27: - if (lookahead == ':') ADVANCE(57); + if (lookahead == ':') ADVANCE(60); END_STATE(); case 28: - if (lookahead == ':') ADVANCE(59); + if (lookahead == ':') ADVANCE(62); END_STATE(); case 29: - if (lookahead == ':') ADVANCE(65); + if (lookahead == ':') ADVANCE(68); END_STATE(); case 30: - if (lookahead == '=') ADVANCE(90); + if (lookahead == '=') ADVANCE(93); END_STATE(); case 31: - if (lookahead == '>') ADVANCE(78); + if (lookahead == '>') ADVANCE(81); END_STATE(); case 32: - if (lookahead == 'F') ADVANCE(98); + if (lookahead == 'F') ADVANCE(101); END_STATE(); case 33: - if (lookahead == 'F') ADVANCE(99); + if (lookahead == 'F') ADVANCE(102); END_STATE(); case 34: if (lookahead == 'I') ADVANCE(35); @@ -1226,18 +1235,18 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'N') ADVANCE(33); END_STATE(); case 37: - if (lookahead == '`') ADVANCE(129); + if (lookahead == '`') ADVANCE(133); if (lookahead == '\n' || lookahead == '\r') SKIP(38); if (('\t' <= lookahead && lookahead <= '\f') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(130); - if (lookahead != 0) ADVANCE(131); + lookahead == 0xfeff) ADVANCE(134); + if (lookahead != 0) ADVANCE(135); END_STATE(); case 38: - if (lookahead == '`') ADVANCE(129); + if (lookahead == '`') ADVANCE(133); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || @@ -1248,433 +1257,445 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'a') ADVANCE(42); END_STATE(); case 40: - if (lookahead == 'e') ADVANCE(123); + if (lookahead == 'e') ADVANCE(126); END_STATE(); case 41: - if (lookahead == 'e') ADVANCE(124); + if (lookahead == 'e') ADVANCE(127); END_STATE(); case 42: - if (lookahead == 'l') ADVANCE(44); + if (lookahead == 'l') ADVANCE(46); END_STATE(); case 43: - if (lookahead == 'r') ADVANCE(45); + if (lookahead == 'l') ADVANCE(128); END_STATE(); case 44: - if (lookahead == 's') ADVANCE(41); + if (lookahead == 'l') ADVANCE(43); END_STATE(); case 45: - if (lookahead == 'u') ADVANCE(40); + if (lookahead == 'r') ADVANCE(47); END_STATE(); case 46: - if (lookahead == '"' || - lookahead == '\\') ADVANCE(128); + if (lookahead == 's') ADVANCE(41); END_STATE(); case 47: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(110); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(87); + if (lookahead == 'u') ADVANCE(40); END_STATE(); case 48: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(113); + if (lookahead == 'u') ADVANCE(44); END_STATE(); case 49: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(26); + if (lookahead == '"' || + lookahead == '\\') ADVANCE(132); END_STATE(); case 50: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(15); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(113); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); END_STATE(); case 51: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(27); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); END_STATE(); case 52: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(5); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(26); END_STATE(); case 53: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(6); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(15); END_STATE(); case 54: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(7); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(27); END_STATE(); case 55: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(49); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(5); END_STATE(); case 56: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(51); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(6); END_STATE(); case 57: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(52); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(7); END_STATE(); case 58: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(53); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(52); END_STATE(); case 59: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(54); END_STATE(); case 60: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(16); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(55); END_STATE(); case 61: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(29); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(56); END_STATE(); case 62: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(60); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(57); END_STATE(); case 63: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(61); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(16); END_STATE(); case 64: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(28); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(29); END_STATE(); case 65: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(64); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(63); END_STATE(); case 66: - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(114); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(64); END_STATE(); case 67: - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(88); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(28); END_STATE(); case 68: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(67); + END_STATE(); + case 69: + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(117); + END_STATE(); + case 70: + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); + END_STATE(); + case 71: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(116); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(119); END_STATE(); - case 69: + case 72: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(110); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(113); END_STATE(); - case 70: + case 73: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(120); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(123); END_STATE(); - case 71: + case 74: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(119); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(122); END_STATE(); - case 72: - if (eof) ADVANCE(76); + case 75: + if (eof) ADVANCE(79); ADVANCE_MAP( - '"', 125, + '"', 129, '#', 4, - '$', 82, - '(', 80, - ')', 81, + '$', 85, + '(', 83, + ')', 84, '+', 34, - ',', 89, + ',', 92, '-', 22, '.', 19, - '0', 111, - ':', 108, - '@', 66, - 'I', 93, - 'T', 104, - '[', 96, - ']', 97, + '0', 114, + ':', 111, + '@', 69, + 'I', 96, + 'T', 107, + '[', 99, + ']', 100, '^', 20, - '`', 129, - '{', 91, - '|', 77, - '}', 92, + '`', 133, + '{', 94, + '|', 80, + '}', 95, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(72); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(112); + lookahead == 0xfeff) SKIP(75); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(115); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(87); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); END_STATE(); - case 73: - if (eof) ADVANCE(76); + case 76: + if (eof) ADVANCE(79); ADVANCE_MAP( - '"', 125, + '"', 129, '#', 4, - '$', 82, - '(', 79, - ')', 81, + '$', 85, + '(', 82, + ')', 84, '+', 34, - ',', 89, + ',', 92, '-', 22, '.', 19, - '0', 111, + '0', 114, ':', 30, - '@', 66, - 'I', 94, - 'T', 105, - '[', 96, - ']', 97, + '@', 69, + 'I', 97, + 'T', 108, + '[', 99, + ']', 100, '^', 20, - '`', 129, - '{', 91, - '|', 77, - '}', 92, + '`', 133, + '{', 94, + '|', 80, + '}', 95, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(73); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(112); + lookahead == 0xfeff) SKIP(76); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(115); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(88); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); END_STATE(); - case 74: - if (eof) ADVANCE(76); + case 77: + if (eof) ADVANCE(79); ADVANCE_MAP( - '"', 125, - ')', 81, - ',', 89, + '"', 129, + ')', 84, + ',', 92, '.', 18, - '0', 83, - '^', 85, - '`', 129, - '|', 77, - '}', 92, + '0', 86, + '^', 88, + '`', 133, + '|', 80, + '}', 95, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(75); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(84); + lookahead == 0xfeff) SKIP(78); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(87); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(110); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(113); END_STATE(); - case 75: - if (eof) ADVANCE(76); - if (lookahead == '"') ADVANCE(125); - if (lookahead == ')') ADVANCE(81); - if (lookahead == ',') ADVANCE(89); + case 78: + if (eof) ADVANCE(79); + if (lookahead == '"') ADVANCE(129); + if (lookahead == ')') ADVANCE(84); + if (lookahead == ',') ADVANCE(92); if (lookahead == '.') ADVANCE(17); - if (lookahead == '`') ADVANCE(129); - if (lookahead == '|') ADVANCE(77); - if (lookahead == '}') ADVANCE(92); + if (lookahead == '`') ADVANCE(133); + if (lookahead == '|') ADVANCE(80); + if (lookahead == '}') ADVANCE(95); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(75); + lookahead == 0xfeff) SKIP(78); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(110); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(113); END_STATE(); - case 76: + case 79: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); - case 77: + case 80: ACCEPT_TOKEN(anon_sym_PIPE); - if (lookahead == '>') ADVANCE(78); + if (lookahead == '>') ADVANCE(81); END_STATE(); - case 78: + case 81: ACCEPT_TOKEN(anon_sym_PIPE_GT); END_STATE(); - case 79: + case 82: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); - case 80: + case 83: ACCEPT_TOKEN(anon_sym_LPAREN); if (lookahead == '+') ADVANCE(10); if (lookahead == '-') ADVANCE(11); if (lookahead == '0') ADVANCE(14); END_STATE(); - case 81: + case 84: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); - case 82: + case 85: ACCEPT_TOKEN(anon_sym_DOLLAR); END_STATE(); - case 83: + case 86: ACCEPT_TOKEN(aux_sym_tuple_projection_token1); END_STATE(); - case 84: + case 87: ACCEPT_TOKEN(aux_sym_tuple_projection_token1); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(84); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(87); END_STATE(); - case 85: + case 88: ACCEPT_TOKEN(anon_sym_CARET); END_STATE(); - case 86: + case 89: ACCEPT_TOKEN(anon_sym_CARET); - if (lookahead == '.') ADVANCE(115); + if (lookahead == '.') ADVANCE(118); END_STATE(); - case 87: + case 90: ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(47); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(110); + if (lookahead == '-') ADVANCE(50); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(113); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(87); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); END_STATE(); - case 88: + case 91: ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(67); + if (lookahead == '-') ADVANCE(70); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(88); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); END_STATE(); - case 89: + case 92: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 90: + case 93: ACCEPT_TOKEN(anon_sym_COLON_EQ); END_STATE(); - case 91: + case 94: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); - case 92: + case 95: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); - case 93: + case 96: ACCEPT_TOKEN(anon_sym_I); - if (lookahead == '-') ADVANCE(47); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(110); + if (lookahead == '-') ADVANCE(50); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(113); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(87); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); END_STATE(); - case 94: + case 97: ACCEPT_TOKEN(anon_sym_I); - if (lookahead == '-') ADVANCE(67); + if (lookahead == '-') ADVANCE(70); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(88); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); END_STATE(); - case 95: + case 98: ACCEPT_TOKEN(anon_sym_I); - if (lookahead == '-') ADVANCE(69); + if (lookahead == '-') ADVANCE(72); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(110); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(113); END_STATE(); - case 96: + case 99: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); - case 97: + case 100: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); - case 98: + case 101: ACCEPT_TOKEN(anon_sym_PLUSINF); END_STATE(); - case 99: + case 102: ACCEPT_TOKEN(anon_sym_DASHINF); END_STATE(); - case 100: + case 103: ACCEPT_TOKEN(anon_sym_LPAREN0_PLUS_RPAREN); END_STATE(); - case 101: + case 104: ACCEPT_TOKEN(anon_sym_LPAREN_PLUS_RPAREN); END_STATE(); - case 102: + case 105: ACCEPT_TOKEN(anon_sym_LPAREN0_DASH_RPAREN); END_STATE(); - case 103: + case 106: ACCEPT_TOKEN(anon_sym_LPAREN_DASH_RPAREN); END_STATE(); - case 104: + case 107: ACCEPT_TOKEN(anon_sym_T); - if (lookahead == '-') ADVANCE(47); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(110); + if (lookahead == '-') ADVANCE(50); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(113); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(87); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); END_STATE(); - case 105: + case 108: ACCEPT_TOKEN(anon_sym_T); - if (lookahead == '-') ADVANCE(67); + if (lookahead == '-') ADVANCE(70); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(88); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); END_STATE(); - case 106: + case 109: ACCEPT_TOKEN(anon_sym_T); - if (lookahead == '-') ADVANCE(69); + if (lookahead == '-') ADVANCE(72); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(110); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(113); END_STATE(); - case 107: + case 110: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); - case 108: + case 111: ACCEPT_TOKEN(anon_sym_COLON); - if (lookahead == '=') ADVANCE(90); + if (lookahead == '=') ADVANCE(93); END_STATE(); - case 109: + case 112: ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); END_STATE(); - case 110: + case 113: ACCEPT_TOKEN(sym_unquoted_record_field_name); - if (lookahead == '-') ADVANCE(69); + if (lookahead == '-') ADVANCE(72); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(110); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(113); END_STATE(); - case 111: + case 114: ACCEPT_TOKEN(sym_numeric_literal); - if (lookahead == '.') ADVANCE(48); + if (lookahead == '.') ADVANCE(51); END_STATE(); - case 112: + case 115: ACCEPT_TOKEN(sym_numeric_literal); - if (lookahead == '.') ADVANCE(48); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(112); + if (lookahead == '.') ADVANCE(51); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(115); END_STATE(); - case 113: + case 116: ACCEPT_TOKEN(sym_numeric_literal); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(113); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); END_STATE(); - case 114: + case 117: ACCEPT_TOKEN(sym_variable); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(114); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(117); END_STATE(); - case 115: + case 118: ACCEPT_TOKEN(sym_original_input); END_STATE(); - case 116: + case 119: ACCEPT_TOKEN(aux_sym_immediate_record_field_selector_token1); - if (lookahead == '-') ADVANCE(68); + if (lookahead == '-') ADVANCE(71); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(116); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(119); END_STATE(); - case 117: + case 120: ACCEPT_TOKEN(aux_sym_immediate_record_field_selector_token2); END_STATE(); - case 118: + case 121: ACCEPT_TOKEN(aux_sym_immediate_record_field_selector_token2); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(118); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(121); END_STATE(); - case 119: + case 122: ACCEPT_TOKEN(aux_sym_original_record_field_selector_token1); - if (lookahead == '-') ADVANCE(71); + if (lookahead == '-') ADVANCE(74); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(119); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(122); END_STATE(); - case 120: + case 123: ACCEPT_TOKEN(sym_named_record_field); - if (lookahead == '-') ADVANCE(70); + if (lookahead == '-') ADVANCE(73); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(120); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(123); END_STATE(); - case 121: + case 124: ACCEPT_TOKEN(sym_positional_record_field); END_STATE(); - case 122: + case 125: ACCEPT_TOKEN(sym_positional_record_field); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(122); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(125); END_STATE(); - case 123: + case 126: ACCEPT_TOKEN(anon_sym_POUNDtrue); END_STATE(); - case 124: + case 127: ACCEPT_TOKEN(anon_sym_POUNDfalse); END_STATE(); - case 125: + case 128: + ACCEPT_TOKEN(sym_null_literal); + END_STATE(); + case 129: ACCEPT_TOKEN(anon_sym_DQUOTE); END_STATE(); - case 126: + case 130: ACCEPT_TOKEN(sym_double_quoted_content); if (lookahead == '\t' || lookahead == 0x0b || @@ -1682,27 +1703,27 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(126); + lookahead == 0xfeff) ADVANCE(130); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && lookahead != '"' && - lookahead != '\\') ADVANCE(127); + lookahead != '\\') ADVANCE(131); END_STATE(); - case 127: + case 131: ACCEPT_TOKEN(sym_double_quoted_content); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r' && lookahead != '"' && - lookahead != '\\') ADVANCE(127); + lookahead != '\\') ADVANCE(131); END_STATE(); - case 128: + case 132: ACCEPT_TOKEN(sym_escape_sequence); END_STATE(); - case 129: + case 133: ACCEPT_TOKEN(anon_sym_BQUOTE); END_STATE(); - case 130: + case 134: ACCEPT_TOKEN(sym_backtick_quoted_content); if (lookahead == '\t' || lookahead == 0x0b || @@ -1710,25 +1731,25 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(130); + lookahead == 0xfeff) ADVANCE(134); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && - lookahead != '`') ADVANCE(131); + lookahead != '`') ADVANCE(135); END_STATE(); - case 131: + case 135: ACCEPT_TOKEN(sym_backtick_quoted_content); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r' && - lookahead != '`') ADVANCE(131); + lookahead != '`') ADVANCE(135); END_STATE(); - case 132: + case 136: ACCEPT_TOKEN(sym_date_literal); END_STATE(); - case 133: + case 137: ACCEPT_TOKEN(sym_date_time_literal); END_STATE(); - case 134: + case 138: ACCEPT_TOKEN(sym_time_literal); END_STATE(); default: @@ -1738,46 +1759,46 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, - [1] = {.lex_state = 73}, - [2] = {.lex_state = 73}, - [3] = {.lex_state = 73}, - [4] = {.lex_state = 73}, - [5] = {.lex_state = 73}, + [1] = {.lex_state = 76}, + [2] = {.lex_state = 76}, + [3] = {.lex_state = 76}, + [4] = {.lex_state = 76}, + [5] = {.lex_state = 76}, [6] = {.lex_state = 1}, - [7] = {.lex_state = 73}, + [7] = {.lex_state = 76}, [8] = {.lex_state = 1}, - [9] = {.lex_state = 73}, - [10] = {.lex_state = 73}, - [11] = {.lex_state = 73}, - [12] = {.lex_state = 73}, - [13] = {.lex_state = 73}, - [14] = {.lex_state = 73}, + [9] = {.lex_state = 76}, + [10] = {.lex_state = 76}, + [11] = {.lex_state = 76}, + [12] = {.lex_state = 76}, + [13] = {.lex_state = 76}, + [14] = {.lex_state = 76}, [15] = {.lex_state = 8}, [16] = {.lex_state = 8}, [17] = {.lex_state = 8}, [18] = {.lex_state = 8}, - [19] = {.lex_state = 74}, - [20] = {.lex_state = 74}, - [21] = {.lex_state = 74}, - [22] = {.lex_state = 74}, - [23] = {.lex_state = 74}, - [24] = {.lex_state = 74}, + [19] = {.lex_state = 77}, + [20] = {.lex_state = 77}, + [21] = {.lex_state = 77}, + [22] = {.lex_state = 77}, + [23] = {.lex_state = 77}, + [24] = {.lex_state = 77}, [25] = {.lex_state = 8}, [26] = {.lex_state = 8}, - [27] = {.lex_state = 73}, - [28] = {.lex_state = 73}, - [29] = {.lex_state = 73}, - [30] = {.lex_state = 73}, - [31] = {.lex_state = 74}, - [32] = {.lex_state = 74}, + [27] = {.lex_state = 76}, + [28] = {.lex_state = 76}, + [29] = {.lex_state = 76}, + [30] = {.lex_state = 76}, + [31] = {.lex_state = 77}, + [32] = {.lex_state = 77}, [33] = {.lex_state = 0}, [34] = {.lex_state = 0}, [35] = {.lex_state = 0}, - [36] = {.lex_state = 74}, - [37] = {.lex_state = 74}, - [38] = {.lex_state = 74}, + [36] = {.lex_state = 77}, + [37] = {.lex_state = 77}, + [38] = {.lex_state = 77}, [39] = {.lex_state = 0}, - [40] = {.lex_state = 73}, + [40] = {.lex_state = 76}, [41] = {.lex_state = 0}, [42] = {.lex_state = 0}, [43] = {.lex_state = 0}, @@ -1805,13 +1826,13 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [65] = {.lex_state = 0}, [66] = {.lex_state = 0}, [67] = {.lex_state = 0}, - [68] = {.lex_state = 73}, + [68] = {.lex_state = 76}, [69] = {.lex_state = 0}, [70] = {.lex_state = 0}, [71] = {.lex_state = 0}, [72] = {.lex_state = 0}, [73] = {.lex_state = 0}, - [74] = {.lex_state = 73}, + [74] = {.lex_state = 76}, [75] = {.lex_state = 0}, [76] = {.lex_state = 0}, [77] = {.lex_state = 0}, @@ -1850,19 +1871,19 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [110] = {.lex_state = 0}, [111] = {.lex_state = 0}, [112] = {.lex_state = 0}, - [113] = {.lex_state = 74}, + [113] = {.lex_state = 77}, [114] = {.lex_state = 0}, [115] = {.lex_state = 0}, [116] = {.lex_state = 0}, [117] = {.lex_state = 0}, [118] = {.lex_state = 0}, - [119] = {.lex_state = 73}, - [120] = {.lex_state = 73}, + [119] = {.lex_state = 76}, + [120] = {.lex_state = 76}, [121] = {.lex_state = 0}, [122] = {.lex_state = 0}, [123] = {.lex_state = 0}, [124] = {.lex_state = 8}, - [125] = {.lex_state = 73}, + [125] = {.lex_state = 76}, [126] = {.lex_state = 0}, [127] = {.lex_state = 0}, [128] = {.lex_state = 0}, @@ -1908,6 +1929,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_positional_record_field] = ACTIONS(1), [anon_sym_POUNDtrue] = ACTIONS(1), [anon_sym_POUNDfalse] = ACTIONS(1), + [sym_null_literal] = ACTIONS(1), [anon_sym_DQUOTE] = ACTIONS(1), [sym_escape_sequence] = ACTIONS(1), [anon_sym_BQUOTE] = ACTIONS(1), @@ -1953,6 +1975,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_positional_record_field] = ACTIONS(23), [anon_sym_POUNDtrue] = ACTIONS(25), [anon_sym_POUNDfalse] = ACTIONS(25), + [sym_null_literal] = ACTIONS(19), [anon_sym_DQUOTE] = ACTIONS(27), [anon_sym_BQUOTE] = ACTIONS(29), [sym_date_literal] = ACTIONS(31), @@ -1993,9 +2016,6 @@ static const uint16_t ts_small_parse_table[] = { sym_value, STATE(130), 1, sym_argument_list, - ACTIONS(19), 2, - sym_numeric_literal, - sym_variable, ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, @@ -2008,6 +2028,10 @@ static const uint16_t ts_small_parse_table[] = { STATE(98), 2, sym_positional_argument, sym_named_argument, + ACTIONS(19), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, @@ -2029,7 +2053,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [90] = 23, + [91] = 23, ACTIONS(3), 1, anon_sym_PIPE_GT, ACTIONS(5), 1, @@ -2060,9 +2084,6 @@ static const uint16_t ts_small_parse_table[] = { sym_expression, STATE(122), 1, sym_root_expression, - ACTIONS(19), 2, - sym_numeric_literal, - sym_variable, ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, @@ -2075,6 +2096,10 @@ static const uint16_t ts_small_parse_table[] = { STATE(111), 2, sym_open_expression, sym_closed_expression, + ACTIONS(19), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, @@ -2094,7 +2119,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [178] = 21, + [180] = 21, ACTIONS(5), 1, anon_sym_LPAREN, ACTIONS(7), 1, @@ -2121,9 +2146,6 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, STATE(90), 1, sym_value, - ACTIONS(19), 2, - sym_numeric_literal, - sym_variable, ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, @@ -2136,6 +2158,10 @@ static const uint16_t ts_small_parse_table[] = { STATE(110), 2, sym_positional_argument, sym_named_argument, + ACTIONS(19), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, @@ -2157,7 +2183,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [262] = 20, + [265] = 20, ACTIONS(5), 1, anon_sym_LPAREN, ACTIONS(7), 1, @@ -2184,9 +2210,6 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, STATE(90), 1, sym_value, - ACTIONS(19), 2, - sym_numeric_literal, - sym_variable, ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, @@ -2196,6 +2219,10 @@ static const uint16_t ts_small_parse_table[] = { STATE(33), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, + ACTIONS(19), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, @@ -2217,7 +2244,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [342] = 22, + [346] = 22, ACTIONS(7), 1, anon_sym_DOLLAR, ACTIONS(11), 1, @@ -2248,9 +2275,6 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple_projection, STATE(120), 1, sym_record_field_name, - ACTIONS(19), 2, - sym_numeric_literal, - sym_variable, ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, @@ -2260,6 +2284,10 @@ static const uint16_t ts_small_parse_table[] = { STATE(74), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, + ACTIONS(19), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, @@ -2278,7 +2306,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [425] = 22, + [430] = 22, ACTIONS(7), 1, anon_sym_DOLLAR, ACTIONS(9), 1, @@ -2307,9 +2335,6 @@ static const uint16_t ts_small_parse_table[] = { sym__parenthesized_pipeline_expression, STATE(100), 1, sym_record_access, - ACTIONS(19), 2, - sym_numeric_literal, - sym_variable, ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, @@ -2322,6 +2347,10 @@ static const uint16_t ts_small_parse_table[] = { STATE(118), 2, sym_closed_expression, sym__pipeline_open_expression, + ACTIONS(19), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, @@ -2339,7 +2368,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [508] = 20, + [514] = 20, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(13), 1, @@ -2366,9 +2395,6 @@ static const uint16_t ts_small_parse_table[] = { sym_value, STATE(120), 1, sym_record_field_name, - ACTIONS(19), 2, - sym_numeric_literal, - sym_variable, ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, @@ -2378,6 +2404,10 @@ static const uint16_t ts_small_parse_table[] = { STATE(74), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, + ACTIONS(19), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, @@ -2396,7 +2426,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [585] = 15, + [592] = 15, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(17), 1, @@ -2415,9 +2445,6 @@ static const uint16_t ts_small_parse_table[] = { sym_record_field_selector, STATE(116), 1, sym_value, - ACTIONS(19), 2, - sym_numeric_literal, - sym_variable, ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, @@ -2427,6 +2454,10 @@ static const uint16_t ts_small_parse_table[] = { STATE(33), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, + ACTIONS(19), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, @@ -2441,7 +2472,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [645] = 15, + [653] = 15, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(17), 1, @@ -2460,9 +2491,6 @@ static const uint16_t ts_small_parse_table[] = { sym_record_field_selector, STATE(96), 1, sym_value, - ACTIONS(19), 2, - sym_numeric_literal, - sym_variable, ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, @@ -2472,6 +2500,10 @@ static const uint16_t ts_small_parse_table[] = { STATE(33), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, + ACTIONS(19), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, @@ -2486,7 +2518,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [705] = 15, + [714] = 15, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(17), 1, @@ -2505,9 +2537,6 @@ static const uint16_t ts_small_parse_table[] = { sym_record_field_selector, STATE(106), 1, sym_value, - ACTIONS(19), 2, - sym_numeric_literal, - sym_variable, ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, @@ -2517,6 +2546,10 @@ static const uint16_t ts_small_parse_table[] = { STATE(33), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, + ACTIONS(19), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, @@ -2531,7 +2564,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [765] = 15, + [775] = 15, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(17), 1, @@ -2550,9 +2583,6 @@ static const uint16_t ts_small_parse_table[] = { sym_record_field_selector, STATE(102), 1, sym_value, - ACTIONS(19), 2, - sym_numeric_literal, - sym_variable, ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, @@ -2562,6 +2592,10 @@ static const uint16_t ts_small_parse_table[] = { STATE(33), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, + ACTIONS(19), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, @@ -2576,7 +2610,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [825] = 9, + [836] = 9, ACTIONS(27), 1, anon_sym_DQUOTE, ACTIONS(29), 1, @@ -2603,7 +2637,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [861] = 9, + [872] = 9, ACTIONS(27), 1, anon_sym_DQUOTE, ACTIONS(29), 1, @@ -2630,7 +2664,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [897] = 8, + [908] = 8, ACTIONS(7), 1, anon_sym_DOLLAR, ACTIONS(21), 1, @@ -2651,7 +2685,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple_projection, sym_function_call, sym_record_access, - [926] = 8, + [937] = 8, ACTIONS(7), 1, anon_sym_DOLLAR, ACTIONS(21), 1, @@ -2672,7 +2706,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple_projection, sym_function_call, sym_record_access, - [955] = 8, + [966] = 8, ACTIONS(7), 1, anon_sym_DOLLAR, ACTIONS(21), 1, @@ -2693,7 +2727,7 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple_projection, sym_function_call, sym_record_access, - [984] = 8, + [995] = 8, ACTIONS(3), 1, anon_sym_PIPE_GT, ACTIONS(5), 1, @@ -2712,7 +2746,7 @@ static const uint16_t ts_small_parse_table[] = { sym_map_shorthand, sym_tuple_projection, sym_function_call, - [1011] = 5, + [1022] = 5, ACTIONS(61), 1, anon_sym_PIPE, STATE(21), 1, @@ -2728,7 +2762,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1032] = 7, + [1043] = 7, ACTIONS(27), 1, anon_sym_DQUOTE, ACTIONS(29), 1, @@ -2746,7 +2780,7 @@ static const uint16_t ts_small_parse_table[] = { sym__record_entry, sym_record_field, sym_record_spread, - [1057] = 5, + [1068] = 5, ACTIONS(71), 1, anon_sym_PIPE, STATE(23), 1, @@ -2762,7 +2796,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1078] = 5, + [1089] = 5, ACTIONS(75), 1, anon_sym_PIPE, STATE(23), 1, @@ -2778,7 +2812,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1099] = 5, + [1110] = 5, ACTIONS(79), 1, anon_sym_PIPE, STATE(23), 1, @@ -2794,7 +2828,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1120] = 5, + [1131] = 5, ACTIONS(86), 1, anon_sym_PIPE, STATE(22), 1, @@ -2810,7 +2844,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1141] = 7, + [1152] = 7, ACTIONS(3), 1, anon_sym_PIPE_GT, ACTIONS(5), 1, @@ -2828,7 +2862,7 @@ static const uint16_t ts_small_parse_table[] = { sym_parenthesized_expression, sym_tuple_projection, sym_function_call, - [1166] = 6, + [1177] = 6, ACTIONS(3), 1, anon_sym_PIPE_GT, ACTIONS(5), 1, @@ -2844,7 +2878,7 @@ static const uint16_t ts_small_parse_table[] = { sym_parenthesized_expression, sym_tuple_projection, sym_function_call, - [1188] = 2, + [1199] = 2, ACTIONS(90), 1, anon_sym_PIPE, ACTIONS(88), 8, @@ -2856,7 +2890,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1202] = 2, + [1213] = 2, ACTIONS(94), 1, anon_sym_PIPE, ACTIONS(92), 8, @@ -2868,7 +2902,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1216] = 2, + [1227] = 2, ACTIONS(98), 1, anon_sym_PIPE, ACTIONS(96), 8, @@ -2880,7 +2914,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1230] = 2, + [1241] = 2, ACTIONS(102), 1, anon_sym_PIPE, ACTIONS(100), 8, @@ -2892,7 +2926,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1244] = 2, + [1255] = 2, ACTIONS(106), 1, anon_sym_PIPE, ACTIONS(104), 7, @@ -2903,7 +2937,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - [1257] = 2, + [1268] = 2, ACTIONS(110), 1, anon_sym_PIPE, ACTIONS(108), 7, @@ -2914,7 +2948,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - [1270] = 2, + [1281] = 2, ACTIONS(114), 1, anon_sym_PIPE, ACTIONS(112), 7, @@ -2925,7 +2959,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1283] = 2, + [1294] = 2, ACTIONS(118), 1, anon_sym_PIPE, ACTIONS(116), 7, @@ -2936,7 +2970,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1296] = 4, + [1307] = 4, ACTIONS(120), 1, anon_sym_LPAREN, STATE(58), 1, @@ -2949,7 +2983,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN_PLUS_RPAREN, anon_sym_LPAREN0_DASH_RPAREN, anon_sym_LPAREN_DASH_RPAREN, - [1313] = 2, + [1324] = 2, ACTIONS(128), 1, anon_sym_PIPE, ACTIONS(126), 7, @@ -2960,7 +2994,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - [1326] = 2, + [1337] = 2, ACTIONS(132), 1, anon_sym_PIPE, ACTIONS(130), 7, @@ -2971,7 +3005,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - [1339] = 2, + [1350] = 2, ACTIONS(136), 1, anon_sym_PIPE, ACTIONS(134), 7, @@ -2982,7 +3016,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - [1352] = 2, + [1363] = 2, ACTIONS(140), 1, anon_sym_PIPE, ACTIONS(138), 7, @@ -2993,7 +3027,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1365] = 3, + [1376] = 3, ACTIONS(144), 1, anon_sym_PIPE, ACTIONS(146), 1, @@ -3004,7 +3038,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1379] = 2, + [1390] = 2, ACTIONS(150), 1, anon_sym_PIPE, ACTIONS(148), 5, @@ -3013,7 +3047,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1390] = 2, + [1401] = 2, ACTIONS(154), 1, anon_sym_PIPE, ACTIONS(152), 5, @@ -3022,7 +3056,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1401] = 2, + [1412] = 2, ACTIONS(158), 1, anon_sym_PIPE, ACTIONS(156), 5, @@ -3031,7 +3065,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1412] = 5, + [1423] = 5, ACTIONS(162), 1, anon_sym_PIPE, ACTIONS(164), 1, @@ -3043,7 +3077,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(160), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [1429] = 2, + [1440] = 2, ACTIONS(168), 1, anon_sym_PIPE, ACTIONS(166), 5, @@ -3052,7 +3086,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1440] = 2, + [1451] = 2, ACTIONS(172), 1, anon_sym_PIPE, ACTIONS(170), 5, @@ -3061,7 +3095,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1451] = 2, + [1462] = 2, ACTIONS(176), 1, anon_sym_PIPE, ACTIONS(174), 5, @@ -3070,7 +3104,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1462] = 2, + [1473] = 2, ACTIONS(180), 1, anon_sym_PIPE, ACTIONS(178), 5, @@ -3079,7 +3113,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1473] = 2, + [1484] = 2, ACTIONS(184), 1, anon_sym_PIPE, ACTIONS(182), 5, @@ -3088,7 +3122,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1484] = 2, + [1495] = 2, ACTIONS(188), 1, anon_sym_PIPE, ACTIONS(186), 5, @@ -3097,7 +3131,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1495] = 5, + [1506] = 5, ACTIONS(192), 1, anon_sym_PIPE, ACTIONS(195), 1, @@ -3109,7 +3143,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(190), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [1512] = 2, + [1523] = 2, ACTIONS(200), 1, anon_sym_PIPE, ACTIONS(198), 5, @@ -3118,7 +3152,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1523] = 2, + [1534] = 2, ACTIONS(204), 1, anon_sym_PIPE, ACTIONS(202), 5, @@ -3127,7 +3161,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1534] = 5, + [1545] = 5, ACTIONS(162), 1, anon_sym_PIPE, ACTIONS(164), 1, @@ -3139,7 +3173,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(206), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [1551] = 2, + [1562] = 2, ACTIONS(210), 1, anon_sym_PIPE, ACTIONS(208), 5, @@ -3148,7 +3182,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1562] = 2, + [1573] = 2, ACTIONS(214), 1, anon_sym_PIPE, ACTIONS(212), 5, @@ -3157,7 +3191,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1573] = 2, + [1584] = 2, ACTIONS(218), 1, anon_sym_PIPE, ACTIONS(216), 5, @@ -3166,7 +3200,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1584] = 2, + [1595] = 2, ACTIONS(222), 1, anon_sym_PIPE, ACTIONS(220), 5, @@ -3175,7 +3209,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1595] = 2, + [1606] = 2, ACTIONS(226), 1, anon_sym_PIPE, ACTIONS(224), 5, @@ -3184,7 +3218,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1606] = 2, + [1617] = 2, ACTIONS(230), 1, anon_sym_PIPE, ACTIONS(228), 5, @@ -3193,7 +3227,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1617] = 2, + [1628] = 2, ACTIONS(234), 1, anon_sym_PIPE, ACTIONS(232), 5, @@ -3202,7 +3236,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1628] = 2, + [1639] = 2, ACTIONS(238), 1, anon_sym_PIPE, ACTIONS(236), 5, @@ -3211,7 +3245,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1639] = 2, + [1650] = 2, ACTIONS(242), 1, anon_sym_PIPE, ACTIONS(240), 5, @@ -3220,7 +3254,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1650] = 3, + [1661] = 3, ACTIONS(246), 1, anon_sym_PIPE, STATE(64), 1, @@ -3230,7 +3264,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1663] = 2, + [1674] = 2, ACTIONS(251), 1, anon_sym_PIPE, ACTIONS(249), 4, @@ -3238,7 +3272,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_RBRACE, - [1673] = 3, + [1684] = 3, ACTIONS(255), 1, anon_sym_PIPE, STATE(69), 1, @@ -3247,7 +3281,7 @@ static const uint16_t ts_small_parse_table[] = { ts_builtin_sym_end, anon_sym_RPAREN, anon_sym_RBRACE, - [1685] = 2, + [1696] = 2, ACTIONS(259), 1, anon_sym_PIPE, ACTIONS(257), 4, @@ -3255,7 +3289,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_RBRACE, - [1695] = 3, + [1706] = 3, ACTIONS(146), 1, anon_sym_LPAREN, ACTIONS(261), 1, @@ -3264,7 +3298,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_RPAREN, anon_sym_COMMA, - [1707] = 3, + [1718] = 3, ACTIONS(255), 1, anon_sym_PIPE, STATE(64), 1, @@ -3273,41 +3307,41 @@ static const uint16_t ts_small_parse_table[] = { ts_builtin_sym_end, anon_sym_RPAREN, anon_sym_RBRACE, - [1719] = 1, + [1730] = 1, ACTIONS(244), 5, ts_builtin_sym_end, anon_sym_PIPE, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1727] = 2, + [1738] = 2, ACTIONS(267), 1, anon_sym_PIPE, ACTIONS(265), 3, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [1736] = 2, + [1747] = 2, ACTIONS(271), 1, anon_sym_PIPE, ACTIONS(269), 3, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [1745] = 1, + [1756] = 1, ACTIONS(273), 4, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACK, anon_sym_RBRACK, - [1752] = 2, + [1763] = 2, ACTIONS(275), 1, anon_sym_COLON_EQ, ACTIONS(112), 3, anon_sym_PIPE, anon_sym_COMMA, anon_sym_RBRACE, - [1761] = 4, + [1772] = 4, ACTIONS(277), 1, anon_sym_PIPE, ACTIONS(279), 1, @@ -3316,7 +3350,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, STATE(92), 1, aux_sym_array_literal_repeat1, - [1774] = 3, + [1785] = 3, ACTIONS(255), 1, anon_sym_PIPE, STATE(64), 1, @@ -3324,20 +3358,20 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(283), 2, anon_sym_RPAREN, anon_sym_COMMA, - [1785] = 1, + [1796] = 1, ACTIONS(285), 4, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACK, anon_sym_RBRACK, - [1792] = 2, + [1803] = 2, ACTIONS(289), 1, anon_sym_PIPE, ACTIONS(287), 3, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [1801] = 3, + [1812] = 3, ACTIONS(291), 1, anon_sym_DQUOTE, STATE(83), 1, @@ -3345,7 +3379,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(293), 2, sym_double_quoted_content, sym_escape_sequence, - [1812] = 3, + [1823] = 3, ACTIONS(297), 1, anon_sym_COMMA, STATE(80), 1, @@ -3353,7 +3387,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(295), 2, anon_sym_RPAREN, anon_sym_RBRACE, - [1823] = 3, + [1834] = 3, ACTIONS(255), 1, anon_sym_PIPE, STATE(76), 1, @@ -3361,7 +3395,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(300), 2, anon_sym_RPAREN, anon_sym_COMMA, - [1834] = 3, + [1845] = 3, ACTIONS(255), 1, anon_sym_PIPE, STATE(84), 1, @@ -3369,7 +3403,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(302), 2, anon_sym_RPAREN, anon_sym_COMMA, - [1845] = 3, + [1856] = 3, ACTIONS(304), 1, anon_sym_DQUOTE, STATE(83), 1, @@ -3377,7 +3411,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(306), 2, sym_double_quoted_content, sym_escape_sequence, - [1856] = 3, + [1867] = 3, ACTIONS(255), 1, anon_sym_PIPE, STATE(64), 1, @@ -3385,7 +3419,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(309), 2, anon_sym_RPAREN, anon_sym_COMMA, - [1867] = 3, + [1878] = 3, ACTIONS(311), 1, anon_sym_DQUOTE, STATE(79), 1, @@ -3393,359 +3427,359 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(313), 2, sym_double_quoted_content, sym_escape_sequence, - [1878] = 2, + [1889] = 2, ACTIONS(315), 1, anon_sym_PIPE, ACTIONS(190), 3, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [1887] = 2, + [1898] = 2, ACTIONS(267), 1, anon_sym_PIPE, ACTIONS(265), 3, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [1896] = 1, + [1907] = 1, ACTIONS(317), 3, anon_sym_RPAREN, anon_sym_LBRACK, anon_sym_RBRACK, - [1902] = 3, + [1913] = 3, ACTIONS(279), 1, anon_sym_COMMA, ACTIONS(319), 1, anon_sym_RPAREN, STATE(80), 1, aux_sym_array_literal_repeat1, - [1912] = 2, + [1923] = 2, ACTIONS(321), 1, anon_sym_PIPE, ACTIONS(323), 2, anon_sym_RPAREN, anon_sym_COMMA, - [1920] = 3, + [1931] = 3, ACTIONS(279), 1, anon_sym_COMMA, ACTIONS(281), 1, anon_sym_RBRACE, STATE(92), 1, aux_sym_array_literal_repeat1, - [1930] = 3, + [1941] = 3, ACTIONS(279), 1, anon_sym_COMMA, ACTIONS(325), 1, anon_sym_RBRACE, STATE(80), 1, aux_sym_array_literal_repeat1, - [1940] = 3, + [1951] = 3, ACTIONS(327), 1, anon_sym_COMMA, ACTIONS(329), 1, anon_sym_RBRACE, STATE(94), 1, aux_sym_record_literal_repeat1, - [1950] = 3, + [1961] = 3, ACTIONS(327), 1, anon_sym_COMMA, ACTIONS(331), 1, anon_sym_RBRACE, STATE(97), 1, aux_sym_record_literal_repeat1, - [1960] = 3, + [1971] = 3, ACTIONS(333), 1, anon_sym_RPAREN, ACTIONS(335), 1, anon_sym_COMMA, STATE(101), 1, aux_sym_argument_list_repeat1, - [1970] = 1, + [1981] = 1, ACTIONS(295), 3, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1976] = 3, + [1987] = 3, ACTIONS(337), 1, anon_sym_COMMA, ACTIONS(340), 1, anon_sym_RBRACE, STATE(97), 1, aux_sym_record_literal_repeat1, - [1986] = 3, + [1997] = 3, ACTIONS(335), 1, anon_sym_COMMA, ACTIONS(342), 1, anon_sym_RPAREN, STATE(95), 1, aux_sym_argument_list_repeat1, - [1996] = 3, + [2007] = 3, ACTIONS(255), 1, anon_sym_PIPE, ACTIONS(344), 1, anon_sym_RPAREN, STATE(103), 1, aux_sym_open_expression_repeat1, - [2006] = 3, + [2017] = 3, ACTIONS(170), 1, anon_sym_PIPE_GT, ACTIONS(346), 1, anon_sym_PIPE, ACTIONS(348), 1, anon_sym_RPAREN, - [2016] = 3, + [2027] = 3, ACTIONS(350), 1, anon_sym_RPAREN, ACTIONS(352), 1, anon_sym_COMMA, STATE(101), 1, aux_sym_argument_list_repeat1, - [2026] = 3, + [2037] = 3, ACTIONS(279), 1, anon_sym_COMMA, ACTIONS(355), 1, anon_sym_RPAREN, STATE(89), 1, aux_sym_array_literal_repeat1, - [2036] = 3, + [2047] = 3, ACTIONS(255), 1, anon_sym_PIPE, ACTIONS(357), 1, anon_sym_RPAREN, STATE(64), 1, aux_sym_open_expression_repeat1, - [2046] = 3, + [2057] = 3, ACTIONS(359), 1, aux_sym_tuple_projection_token1, ACTIONS(361), 1, aux_sym_original_record_field_selector_token1, STATE(24), 1, sym_original_record_field_selector, - [2056] = 2, + [2067] = 2, ACTIONS(178), 1, anon_sym_PIPE, ACTIONS(363), 2, anon_sym_COMMA, anon_sym_RBRACE, - [2064] = 1, + [2075] = 1, ACTIONS(366), 2, anon_sym_COMMA, anon_sym_RBRACE, - [2069] = 1, + [2080] = 1, ACTIONS(368), 2, anon_sym_RPAREN, anon_sym_COMMA, - [2074] = 2, + [2085] = 2, ACTIONS(370), 1, anon_sym_BQUOTE, ACTIONS(372), 1, sym_backtick_quoted_content, - [2081] = 1, + [2092] = 1, ACTIONS(374), 2, anon_sym_RPAREN, anon_sym_COMMA, - [2086] = 1, + [2097] = 1, ACTIONS(350), 2, anon_sym_RPAREN, anon_sym_COMMA, - [2091] = 1, + [2102] = 1, ACTIONS(376), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [2096] = 1, + [2107] = 1, ACTIONS(340), 2, anon_sym_COMMA, anon_sym_RBRACE, - [2101] = 2, + [2112] = 2, ACTIONS(378), 1, aux_sym_tuple_projection_token1, ACTIONS(380), 1, anon_sym_CARET, - [2108] = 1, + [2119] = 1, ACTIONS(382), 2, anon_sym_COMMA, anon_sym_RBRACE, - [2113] = 1, + [2124] = 1, ACTIONS(384), 2, anon_sym_RPAREN, anon_sym_COMMA, - [2118] = 1, + [2129] = 1, ACTIONS(386), 1, anon_sym_COMMA, - [2122] = 1, + [2133] = 1, ACTIONS(277), 1, anon_sym_PIPE, - [2126] = 1, + [2137] = 1, ACTIONS(388), 1, anon_sym_RPAREN, - [2130] = 1, + [2141] = 1, ACTIONS(275), 1, anon_sym_COLON_EQ, - [2134] = 1, + [2145] = 1, ACTIONS(390), 1, anon_sym_COLON_EQ, - [2138] = 1, + [2149] = 1, ACTIONS(392), 1, ts_builtin_sym_end, - [2142] = 1, + [2153] = 1, ACTIONS(394), 1, anon_sym_RPAREN, - [2146] = 1, + [2157] = 1, ACTIONS(396), 1, anon_sym_BQUOTE, - [2150] = 1, + [2161] = 1, ACTIONS(398), 1, aux_sym_tuple_projection_token1, - [2154] = 1, + [2165] = 1, ACTIONS(400), 1, anon_sym_LPAREN, - [2158] = 1, + [2169] = 1, ACTIONS(402), 1, anon_sym_RBRACE, - [2162] = 1, + [2173] = 1, ACTIONS(404), 1, anon_sym_RBRACE, - [2166] = 1, + [2177] = 1, ACTIONS(406), 1, ts_builtin_sym_end, - [2170] = 1, + [2181] = 1, ACTIONS(408), 1, anon_sym_COMMA, - [2174] = 1, + [2185] = 1, ACTIONS(410), 1, anon_sym_RPAREN, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 90, - [SMALL_STATE(4)] = 178, - [SMALL_STATE(5)] = 262, - [SMALL_STATE(6)] = 342, - [SMALL_STATE(7)] = 425, - [SMALL_STATE(8)] = 508, - [SMALL_STATE(9)] = 585, - [SMALL_STATE(10)] = 645, - [SMALL_STATE(11)] = 705, - [SMALL_STATE(12)] = 765, - [SMALL_STATE(13)] = 825, - [SMALL_STATE(14)] = 861, - [SMALL_STATE(15)] = 897, - [SMALL_STATE(16)] = 926, - [SMALL_STATE(17)] = 955, - [SMALL_STATE(18)] = 984, - [SMALL_STATE(19)] = 1011, - [SMALL_STATE(20)] = 1032, - [SMALL_STATE(21)] = 1057, - [SMALL_STATE(22)] = 1078, - [SMALL_STATE(23)] = 1099, - [SMALL_STATE(24)] = 1120, - [SMALL_STATE(25)] = 1141, - [SMALL_STATE(26)] = 1166, - [SMALL_STATE(27)] = 1188, - [SMALL_STATE(28)] = 1202, - [SMALL_STATE(29)] = 1216, - [SMALL_STATE(30)] = 1230, - [SMALL_STATE(31)] = 1244, - [SMALL_STATE(32)] = 1257, - [SMALL_STATE(33)] = 1270, - [SMALL_STATE(34)] = 1283, - [SMALL_STATE(35)] = 1296, - [SMALL_STATE(36)] = 1313, - [SMALL_STATE(37)] = 1326, - [SMALL_STATE(38)] = 1339, - [SMALL_STATE(39)] = 1352, - [SMALL_STATE(40)] = 1365, - [SMALL_STATE(41)] = 1379, - [SMALL_STATE(42)] = 1390, - [SMALL_STATE(43)] = 1401, - [SMALL_STATE(44)] = 1412, - [SMALL_STATE(45)] = 1429, - [SMALL_STATE(46)] = 1440, - [SMALL_STATE(47)] = 1451, - [SMALL_STATE(48)] = 1462, - [SMALL_STATE(49)] = 1473, - [SMALL_STATE(50)] = 1484, - [SMALL_STATE(51)] = 1495, - [SMALL_STATE(52)] = 1512, - [SMALL_STATE(53)] = 1523, - [SMALL_STATE(54)] = 1534, - [SMALL_STATE(55)] = 1551, - [SMALL_STATE(56)] = 1562, - [SMALL_STATE(57)] = 1573, - [SMALL_STATE(58)] = 1584, - [SMALL_STATE(59)] = 1595, - [SMALL_STATE(60)] = 1606, - [SMALL_STATE(61)] = 1617, - [SMALL_STATE(62)] = 1628, - [SMALL_STATE(63)] = 1639, - [SMALL_STATE(64)] = 1650, - [SMALL_STATE(65)] = 1663, - [SMALL_STATE(66)] = 1673, - [SMALL_STATE(67)] = 1685, - [SMALL_STATE(68)] = 1695, - [SMALL_STATE(69)] = 1707, - [SMALL_STATE(70)] = 1719, - [SMALL_STATE(71)] = 1727, - [SMALL_STATE(72)] = 1736, - [SMALL_STATE(73)] = 1745, - [SMALL_STATE(74)] = 1752, - [SMALL_STATE(75)] = 1761, - [SMALL_STATE(76)] = 1774, - [SMALL_STATE(77)] = 1785, - [SMALL_STATE(78)] = 1792, - [SMALL_STATE(79)] = 1801, - [SMALL_STATE(80)] = 1812, - [SMALL_STATE(81)] = 1823, - [SMALL_STATE(82)] = 1834, - [SMALL_STATE(83)] = 1845, - [SMALL_STATE(84)] = 1856, - [SMALL_STATE(85)] = 1867, - [SMALL_STATE(86)] = 1878, - [SMALL_STATE(87)] = 1887, - [SMALL_STATE(88)] = 1896, - [SMALL_STATE(89)] = 1902, - [SMALL_STATE(90)] = 1912, - [SMALL_STATE(91)] = 1920, - [SMALL_STATE(92)] = 1930, - [SMALL_STATE(93)] = 1940, - [SMALL_STATE(94)] = 1950, - [SMALL_STATE(95)] = 1960, - [SMALL_STATE(96)] = 1970, - [SMALL_STATE(97)] = 1976, - [SMALL_STATE(98)] = 1986, - [SMALL_STATE(99)] = 1996, - [SMALL_STATE(100)] = 2006, - [SMALL_STATE(101)] = 2016, - [SMALL_STATE(102)] = 2026, - [SMALL_STATE(103)] = 2036, - [SMALL_STATE(104)] = 2046, - [SMALL_STATE(105)] = 2056, - [SMALL_STATE(106)] = 2064, - [SMALL_STATE(107)] = 2069, - [SMALL_STATE(108)] = 2074, - [SMALL_STATE(109)] = 2081, - [SMALL_STATE(110)] = 2086, - [SMALL_STATE(111)] = 2091, - [SMALL_STATE(112)] = 2096, - [SMALL_STATE(113)] = 2101, - [SMALL_STATE(114)] = 2108, - [SMALL_STATE(115)] = 2113, - [SMALL_STATE(116)] = 2118, - [SMALL_STATE(117)] = 2122, - [SMALL_STATE(118)] = 2126, - [SMALL_STATE(119)] = 2130, - [SMALL_STATE(120)] = 2134, - [SMALL_STATE(121)] = 2138, - [SMALL_STATE(122)] = 2142, - [SMALL_STATE(123)] = 2146, - [SMALL_STATE(124)] = 2150, - [SMALL_STATE(125)] = 2154, - [SMALL_STATE(126)] = 2158, - [SMALL_STATE(127)] = 2162, - [SMALL_STATE(128)] = 2166, - [SMALL_STATE(129)] = 2170, - [SMALL_STATE(130)] = 2174, + [SMALL_STATE(3)] = 91, + [SMALL_STATE(4)] = 180, + [SMALL_STATE(5)] = 265, + [SMALL_STATE(6)] = 346, + [SMALL_STATE(7)] = 430, + [SMALL_STATE(8)] = 514, + [SMALL_STATE(9)] = 592, + [SMALL_STATE(10)] = 653, + [SMALL_STATE(11)] = 714, + [SMALL_STATE(12)] = 775, + [SMALL_STATE(13)] = 836, + [SMALL_STATE(14)] = 872, + [SMALL_STATE(15)] = 908, + [SMALL_STATE(16)] = 937, + [SMALL_STATE(17)] = 966, + [SMALL_STATE(18)] = 995, + [SMALL_STATE(19)] = 1022, + [SMALL_STATE(20)] = 1043, + [SMALL_STATE(21)] = 1068, + [SMALL_STATE(22)] = 1089, + [SMALL_STATE(23)] = 1110, + [SMALL_STATE(24)] = 1131, + [SMALL_STATE(25)] = 1152, + [SMALL_STATE(26)] = 1177, + [SMALL_STATE(27)] = 1199, + [SMALL_STATE(28)] = 1213, + [SMALL_STATE(29)] = 1227, + [SMALL_STATE(30)] = 1241, + [SMALL_STATE(31)] = 1255, + [SMALL_STATE(32)] = 1268, + [SMALL_STATE(33)] = 1281, + [SMALL_STATE(34)] = 1294, + [SMALL_STATE(35)] = 1307, + [SMALL_STATE(36)] = 1324, + [SMALL_STATE(37)] = 1337, + [SMALL_STATE(38)] = 1350, + [SMALL_STATE(39)] = 1363, + [SMALL_STATE(40)] = 1376, + [SMALL_STATE(41)] = 1390, + [SMALL_STATE(42)] = 1401, + [SMALL_STATE(43)] = 1412, + [SMALL_STATE(44)] = 1423, + [SMALL_STATE(45)] = 1440, + [SMALL_STATE(46)] = 1451, + [SMALL_STATE(47)] = 1462, + [SMALL_STATE(48)] = 1473, + [SMALL_STATE(49)] = 1484, + [SMALL_STATE(50)] = 1495, + [SMALL_STATE(51)] = 1506, + [SMALL_STATE(52)] = 1523, + [SMALL_STATE(53)] = 1534, + [SMALL_STATE(54)] = 1545, + [SMALL_STATE(55)] = 1562, + [SMALL_STATE(56)] = 1573, + [SMALL_STATE(57)] = 1584, + [SMALL_STATE(58)] = 1595, + [SMALL_STATE(59)] = 1606, + [SMALL_STATE(60)] = 1617, + [SMALL_STATE(61)] = 1628, + [SMALL_STATE(62)] = 1639, + [SMALL_STATE(63)] = 1650, + [SMALL_STATE(64)] = 1661, + [SMALL_STATE(65)] = 1674, + [SMALL_STATE(66)] = 1684, + [SMALL_STATE(67)] = 1696, + [SMALL_STATE(68)] = 1706, + [SMALL_STATE(69)] = 1718, + [SMALL_STATE(70)] = 1730, + [SMALL_STATE(71)] = 1738, + [SMALL_STATE(72)] = 1747, + [SMALL_STATE(73)] = 1756, + [SMALL_STATE(74)] = 1763, + [SMALL_STATE(75)] = 1772, + [SMALL_STATE(76)] = 1785, + [SMALL_STATE(77)] = 1796, + [SMALL_STATE(78)] = 1803, + [SMALL_STATE(79)] = 1812, + [SMALL_STATE(80)] = 1823, + [SMALL_STATE(81)] = 1834, + [SMALL_STATE(82)] = 1845, + [SMALL_STATE(83)] = 1856, + [SMALL_STATE(84)] = 1867, + [SMALL_STATE(85)] = 1878, + [SMALL_STATE(86)] = 1889, + [SMALL_STATE(87)] = 1898, + [SMALL_STATE(88)] = 1907, + [SMALL_STATE(89)] = 1913, + [SMALL_STATE(90)] = 1923, + [SMALL_STATE(91)] = 1931, + [SMALL_STATE(92)] = 1941, + [SMALL_STATE(93)] = 1951, + [SMALL_STATE(94)] = 1961, + [SMALL_STATE(95)] = 1971, + [SMALL_STATE(96)] = 1981, + [SMALL_STATE(97)] = 1987, + [SMALL_STATE(98)] = 1997, + [SMALL_STATE(99)] = 2007, + [SMALL_STATE(100)] = 2017, + [SMALL_STATE(101)] = 2027, + [SMALL_STATE(102)] = 2037, + [SMALL_STATE(103)] = 2047, + [SMALL_STATE(104)] = 2057, + [SMALL_STATE(105)] = 2067, + [SMALL_STATE(106)] = 2075, + [SMALL_STATE(107)] = 2080, + [SMALL_STATE(108)] = 2085, + [SMALL_STATE(109)] = 2092, + [SMALL_STATE(110)] = 2097, + [SMALL_STATE(111)] = 2102, + [SMALL_STATE(112)] = 2107, + [SMALL_STATE(113)] = 2112, + [SMALL_STATE(114)] = 2119, + [SMALL_STATE(115)] = 2124, + [SMALL_STATE(116)] = 2129, + [SMALL_STATE(117)] = 2133, + [SMALL_STATE(118)] = 2137, + [SMALL_STATE(119)] = 2141, + [SMALL_STATE(120)] = 2145, + [SMALL_STATE(121)] = 2149, + [SMALL_STATE(122)] = 2153, + [SMALL_STATE(123)] = 2157, + [SMALL_STATE(124)] = 2161, + [SMALL_STATE(125)] = 2165, + [SMALL_STATE(126)] = 2169, + [SMALL_STATE(127)] = 2173, + [SMALL_STATE(128)] = 2177, + [SMALL_STATE(129)] = 2181, + [SMALL_STATE(130)] = 2185, }; static const TSParseActionEntry ts_parse_actions[] = { diff --git a/test/corpus/compound_values.txt b/test/corpus/compound_values.txt index 38467d9..dc3ec8a 100644 --- a/test/corpus/compound_values.txt +++ b/test/corpus/compound_values.txt @@ -11,6 +11,23 @@ Empty array (closed_expression (array_literal)))) +================== +Null literal in collections +================== + +{#null, T(#null, #true)} + +--- + +(source_file + (root_expression + (closed_expression + (array_literal + (null_literal) + (tuple_literal + (null_literal) + (boolean_literal)))))) + ================== Array values and whitespace ================== diff --git a/test/corpus/expressions.txt b/test/corpus/expressions.txt index 2e3fd50..c114a33 100644 --- a/test/corpus/expressions.txt +++ b/test/corpus/expressions.txt @@ -163,6 +163,24 @@ Boolean literals (positional_argument (boolean_literal))))))) +================== +Null literal and function argument +================== + +#null | coalesce(#null) + +--- + +(source_file + (root_expression + (closed_expression + (null_literal) + (function_call + name: (function_name) + (argument_list + (positional_argument + (null_literal))))))) + ================== Bare boolean words are function calls ================== From 5dfe20a67df19de3ca74b7608cfa3890cbbade20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20L=2E=20Charlier?= Date: Mon, 17 Aug 2026 17:43:26 +0200 Subject: [PATCH 4/7] bug: allow record trailing commas --- .../SyntaxBindingTests.cs | 16 + grammar.js | 27 +- src/grammar.json | 229 +- src/parser.c | 3224 +++++++++-------- test/corpus/expressions.txt | 22 + 5 files changed, 2048 insertions(+), 1470 deletions(-) diff --git a/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs b/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs index c7ef961..d5d74d8 100644 --- a/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs +++ b/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs @@ -639,6 +639,22 @@ public void MapShorthandAcceptsAParenthesizedOperation() Assert.That(shorthand.Expression.Pipeline.Single(), Is.TypeOf()); } + [TestCase("record(name := \"Alice\",")] + [TestCase("record(name := \"Alice\", age := 30,")] + public void RecordFunctionAcceptsATrailingComma(string prefix) + { + var withComma = (FunctionCallSyntax)((OpenExpressionSyntax)ExpressifSyntax.Parse(prefix + ")")).Pipeline.Single(); + var withoutComma = (FunctionCallSyntax)((OpenExpressionSyntax)ExpressifSyntax.Parse(prefix[..^1] + ")")).Pipeline.Single(); + + Assert.Multiple(() => + { + Assert.That(withComma.Arguments.Select(argument => argument.Kind), + Is.EqualTo(withoutComma.Arguments.Select(argument => argument.Kind))); + Assert.That(withComma.Arguments.OfType().Select(argument => argument.Name), + Is.EqualTo(withoutComma.Arguments.OfType().Select(argument => argument.Name))); + }); + } + [Test] public void RecordFieldShorthandCanContinueAPipeline() { diff --git a/grammar.js b/grammar.js index 52a9bbb..a1ec913 100644 --- a/grammar.js +++ b/grammar.js @@ -113,17 +113,34 @@ export default grammar({ ), ), - function_call: ($) => seq( - field("name", $.function_name), - optional(seq("(", optional($.argument_list), ")")), + function_call: ($) => choice( + prec(1, seq( + field("name", alias(token(prec(1, "record")), $.function_name)), + "(", + optional(choice( + $.argument_list, + alias($._record_argument_list, $.argument_list), + )), + ")", + )), + seq( + field("name", $.function_name), + optional(seq("(", optional($.argument_list), ")")), + ), ), function_name: (_) => /[A-Za-z]+(?:-[A-Za-z]+)*/, - argument_list: ($) => seq( + argument_list: ($) => prec.left(seq( choice($.positional_argument, $.named_argument), repeat(seq(",", choice($.positional_argument, $.named_argument))), - ), + )), + + _record_argument_list: ($) => prec.right(seq( + choice($.positional_argument, $.named_argument), + repeat(seq(",", choice($.positional_argument, $.named_argument))), + ",", + )), positional_argument: ($) => $._argument_value, diff --git a/src/grammar.json b/src/grammar.json index d2e5770..3be79a6 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -395,46 +395,114 @@ ] }, "function_call": { - "type": "SEQ", + "type": "CHOICE", "members": [ { - "type": "FIELD", - "name": "name", + "type": "PREC", + "value": 1, "content": { - "type": "SYMBOL", - "name": "function_name" + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "ALIAS", + "content": { + "type": "TOKEN", + "content": { + "type": "PREC", + "value": 1, + "content": { + "type": "STRING", + "value": "record" + } + } + }, + "named": true, + "value": "function_name" + } + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "argument_list" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_record_argument_list" + }, + "named": true, + "value": "argument_list" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] } }, { - "type": "CHOICE", + "type": "SEQ", "members": [ { - "type": "SEQ", + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "function_name" + } + }, + { + "type": "CHOICE", "members": [ { - "type": "STRING", - "value": "(" - }, - { - "type": "CHOICE", + "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "argument_list" + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "argument_list" + }, + { + "type": "BLANK" + } + ] }, { - "type": "BLANK" + "type": "STRING", + "value": ")" } ] }, { - "type": "STRING", - "value": ")" + "type": "BLANK" } ] - }, - { - "type": "BLANK" } ] } @@ -445,47 +513,102 @@ "value": "[A-Za-z]+(?:-[A-Za-z]+)*" }, "argument_list": { - "type": "SEQ", - "members": [ - { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "positional_argument" - }, - { - "type": "SYMBOL", - "name": "named_argument" + "type": "PREC_LEFT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "positional_argument" + }, + { + "type": "SYMBOL", + "name": "named_argument" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "positional_argument" + }, + { + "type": "SYMBOL", + "name": "named_argument" + } + ] + } + ] } - ] - }, - { - "type": "REPEAT", - "content": { - "type": "SEQ", + } + ] + } + }, + "_record_argument_list": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", "members": [ { - "type": "STRING", - "value": "," + "type": "SYMBOL", + "name": "positional_argument" }, { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "positional_argument" - }, - { - "type": "SYMBOL", - "name": "named_argument" - } - ] + "type": "SYMBOL", + "name": "named_argument" } ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "positional_argument" + }, + { + "type": "SYMBOL", + "name": "named_argument" + } + ] + } + ] + } + }, + { + "type": "STRING", + "value": "," } - } - ] + ] + } }, "positional_argument": { "type": "SYMBOL", diff --git a/src/parser.c b/src/parser.c index 689b2a5..126b7ac 100644 --- a/src/parser.c +++ b/src/parser.c @@ -7,11 +7,11 @@ #endif #define LANGUAGE_VERSION 15 -#define STATE_COUNT 131 +#define STATE_COUNT 140 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 95 +#define SYMBOL_COUNT 97 #define ALIAS_COUNT 2 -#define TOKEN_COUNT 45 +#define TOKEN_COUNT 46 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 12 #define MAX_ALIAS_SEQUENCE_LENGTH 7 @@ -27,95 +27,97 @@ enum ts_symbol_identifiers { anon_sym_DOLLAR = 5, aux_sym_tuple_projection_token1 = 6, anon_sym_CARET = 7, - sym_function_name = 8, - anon_sym_COMMA = 9, - anon_sym_COLON_EQ = 10, - anon_sym_LBRACE = 11, - anon_sym_RBRACE = 12, - anon_sym_I = 13, - anon_sym_LBRACK = 14, - anon_sym_RBRACK = 15, - anon_sym_PLUSINF = 16, - anon_sym_DASHINF = 17, - anon_sym_LPAREN0_PLUS_RPAREN = 18, - anon_sym_LPAREN_PLUS_RPAREN = 19, - anon_sym_LPAREN0_DASH_RPAREN = 20, - anon_sym_LPAREN_DASH_RPAREN = 21, - anon_sym_T = 22, - anon_sym_COLON = 23, - anon_sym_DOT_DOT_DOT = 24, - sym_unquoted_record_field_name = 25, - sym_numeric_literal = 26, - sym_variable = 27, - sym_original_input = 28, - aux_sym_immediate_record_field_selector_token1 = 29, - aux_sym_immediate_record_field_selector_token2 = 30, - aux_sym_original_record_field_selector_token1 = 31, - sym_named_record_field = 32, - sym_positional_record_field = 33, - anon_sym_POUNDtrue = 34, - anon_sym_POUNDfalse = 35, - sym_null_literal = 36, - anon_sym_DQUOTE = 37, - sym_double_quoted_content = 38, - sym_escape_sequence = 39, - anon_sym_BQUOTE = 40, - sym_backtick_quoted_content = 41, - sym_date_literal = 42, - sym_date_time_literal = 43, - sym_time_literal = 44, - sym_source_file = 45, - sym_root_expression = 46, - sym_open_expression = 47, - sym_closed_expression = 48, - sym_map_shorthand = 49, - sym__pipeline_map_shorthand = 50, - sym_expression = 51, - sym__pipeline_expression = 52, - sym__parenthesized_pipeline_expression = 53, - sym__pipeline_open_expression = 54, - sym_parenthesized_expression = 55, - sym_parenthesized_open_expression = 56, - sym_tuple_projection = 57, - sym_function_call = 58, - sym_argument_list = 59, - sym_positional_argument = 60, - sym_named_argument = 61, - sym__argument_value = 62, - sym__nested_open_expression = 63, - sym__nested_closed_expression = 64, - sym_parameterized_expression = 65, - sym_value = 66, - sym_interval_literal = 67, - sym_interval_bound = 68, - sym_infinite_bound = 69, - sym_interval_shorthand = 70, - sym_array_literal = 71, - sym_tuple_literal = 72, - sym_record_literal = 73, - sym__record_entry = 74, - sym_record_field = 75, - sym_record_spread = 76, - sym_incoming_value = 77, - sym_record_field_name = 78, - sym_record_access = 79, - sym_record_field_selector = 80, - sym_immediate_record_field_selector = 81, - sym_original_record_field_selector = 82, - sym_boolean_literal = 83, - sym_quoted_literal = 84, - sym_double_quoted_literal = 85, - sym_backtick_quoted_literal = 86, - sym_temporal_literal = 87, - aux_sym_open_expression_repeat1 = 88, - aux_sym_closed_expression_repeat1 = 89, - aux_sym_argument_list_repeat1 = 90, - aux_sym_array_literal_repeat1 = 91, - aux_sym_record_literal_repeat1 = 92, - aux_sym_record_access_repeat1 = 93, - aux_sym_double_quoted_literal_repeat1 = 94, - alias_sym_argument_name = 95, - alias_sym_from_start = 96, + anon_sym_record = 8, + sym_function_name = 9, + anon_sym_COMMA = 10, + anon_sym_COLON_EQ = 11, + anon_sym_LBRACE = 12, + anon_sym_RBRACE = 13, + anon_sym_I = 14, + anon_sym_LBRACK = 15, + anon_sym_RBRACK = 16, + anon_sym_PLUSINF = 17, + anon_sym_DASHINF = 18, + anon_sym_LPAREN0_PLUS_RPAREN = 19, + anon_sym_LPAREN_PLUS_RPAREN = 20, + anon_sym_LPAREN0_DASH_RPAREN = 21, + anon_sym_LPAREN_DASH_RPAREN = 22, + anon_sym_T = 23, + anon_sym_COLON = 24, + anon_sym_DOT_DOT_DOT = 25, + sym_unquoted_record_field_name = 26, + sym_numeric_literal = 27, + sym_variable = 28, + sym_original_input = 29, + aux_sym_immediate_record_field_selector_token1 = 30, + aux_sym_immediate_record_field_selector_token2 = 31, + aux_sym_original_record_field_selector_token1 = 32, + sym_named_record_field = 33, + sym_positional_record_field = 34, + anon_sym_POUNDtrue = 35, + anon_sym_POUNDfalse = 36, + sym_null_literal = 37, + anon_sym_DQUOTE = 38, + sym_double_quoted_content = 39, + sym_escape_sequence = 40, + anon_sym_BQUOTE = 41, + sym_backtick_quoted_content = 42, + sym_date_literal = 43, + sym_date_time_literal = 44, + sym_time_literal = 45, + sym_source_file = 46, + sym_root_expression = 47, + sym_open_expression = 48, + sym_closed_expression = 49, + sym_map_shorthand = 50, + sym__pipeline_map_shorthand = 51, + sym_expression = 52, + sym__pipeline_expression = 53, + sym__parenthesized_pipeline_expression = 54, + sym__pipeline_open_expression = 55, + sym_parenthesized_expression = 56, + sym_parenthesized_open_expression = 57, + sym_tuple_projection = 58, + sym_function_call = 59, + sym_argument_list = 60, + sym__record_argument_list = 61, + sym_positional_argument = 62, + sym_named_argument = 63, + sym__argument_value = 64, + sym__nested_open_expression = 65, + sym__nested_closed_expression = 66, + sym_parameterized_expression = 67, + sym_value = 68, + sym_interval_literal = 69, + sym_interval_bound = 70, + sym_infinite_bound = 71, + sym_interval_shorthand = 72, + sym_array_literal = 73, + sym_tuple_literal = 74, + sym_record_literal = 75, + sym__record_entry = 76, + sym_record_field = 77, + sym_record_spread = 78, + sym_incoming_value = 79, + sym_record_field_name = 80, + sym_record_access = 81, + sym_record_field_selector = 82, + sym_immediate_record_field_selector = 83, + sym_original_record_field_selector = 84, + sym_boolean_literal = 85, + sym_quoted_literal = 86, + sym_double_quoted_literal = 87, + sym_backtick_quoted_literal = 88, + sym_temporal_literal = 89, + aux_sym_open_expression_repeat1 = 90, + aux_sym_closed_expression_repeat1 = 91, + aux_sym_argument_list_repeat1 = 92, + aux_sym_array_literal_repeat1 = 93, + aux_sym_record_literal_repeat1 = 94, + aux_sym_record_access_repeat1 = 95, + aux_sym_double_quoted_literal_repeat1 = 96, + alias_sym_argument_name = 97, + alias_sym_from_start = 98, }; static const char * const ts_symbol_names[] = { @@ -127,6 +129,7 @@ static const char * const ts_symbol_names[] = { [anon_sym_DOLLAR] = "$", [aux_sym_tuple_projection_token1] = "tuple_index", [anon_sym_CARET] = "from_end", + [anon_sym_record] = "function_name", [sym_function_name] = "function_name", [anon_sym_COMMA] = ",", [anon_sym_COLON_EQ] = ":=", @@ -179,6 +182,7 @@ static const char * const ts_symbol_names[] = { [sym_tuple_projection] = "tuple_projection", [sym_function_call] = "function_call", [sym_argument_list] = "argument_list", + [sym__record_argument_list] = "argument_list", [sym_positional_argument] = "positional_argument", [sym_named_argument] = "named_argument", [sym__argument_value] = "_argument_value", @@ -227,6 +231,7 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_DOLLAR] = anon_sym_DOLLAR, [aux_sym_tuple_projection_token1] = aux_sym_tuple_projection_token1, [anon_sym_CARET] = anon_sym_CARET, + [anon_sym_record] = sym_function_name, [sym_function_name] = sym_function_name, [anon_sym_COMMA] = anon_sym_COMMA, [anon_sym_COLON_EQ] = anon_sym_COLON_EQ, @@ -279,6 +284,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_tuple_projection] = sym_tuple_projection, [sym_function_call] = sym_function_call, [sym_argument_list] = sym_argument_list, + [sym__record_argument_list] = sym_argument_list, [sym_positional_argument] = sym_positional_argument, [sym_named_argument] = sym_named_argument, [sym__argument_value] = sym__argument_value, @@ -351,6 +357,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [anon_sym_record] = { + .visible = true, + .named = true, + }, [sym_function_name] = { .visible = true, .named = true, @@ -560,6 +570,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym__record_argument_list] = { + .visible = true, + .named = true, + }, [sym_positional_argument] = { .visible = true, .named = true, @@ -958,6 +972,15 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [128] = 128, [129] = 129, [130] = 130, + [131] = 131, + [132] = 132, + [133] = 133, + [134] = 134, + [135] = 135, + [136] = 136, + [137] = 137, + [138] = 138, + [139] = 139, }; static const TSSymbol ts_supertype_symbols[SUPERTYPE_COUNT] = { @@ -1009,66 +1032,67 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 0: if (eof) ADVANCE(79); ADVANCE_MAP( - '"', 129, + '"', 140, '#', 4, '$', 85, '(', 83, ')', 84, '+', 34, - ',', 92, + ',', 103, '-', 22, '.', 18, - '0', 114, - ':', 111, + '0', 125, + ':', 122, '@', 69, - 'I', 96, - 'T', 107, - '[', 99, + 'I', 107, + 'T', 118, + '[', 110, '\\', 49, - ']', 100, + ']', 111, '^', 89, - '`', 133, - '{', 94, + '`', 144, + 'r', 93, + '{', 105, '|', 80, - '}', 95, + '}', 106, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || lookahead == 0xfeff) SKIP(75); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(115); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(126); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); END_STATE(); case 1: ADVANCE_MAP( - '"', 129, + '"', 140, '#', 4, '$', 85, '-', 23, '.', 19, - '0', 114, - ':', 110, + '0', 125, + ':', 121, '@', 69, - 'I', 98, - 'T', 109, + 'I', 109, + 'T', 120, '^', 20, - '`', 133, - '{', 94, - '}', 95, + '`', 144, + '{', 105, + '}', 106, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || lookahead == 0xfeff) SKIP(1); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(115); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(126); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(113); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(124); END_STATE(); case 2: - if (lookahead == '"') ADVANCE(129); + if (lookahead == '"') ADVANCE(140); if (lookahead == '\\') ADVANCE(49); if (lookahead == '\n' || lookahead == '\r') SKIP(3); @@ -1076,11 +1100,11 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(130); - if (lookahead != 0) ADVANCE(131); + lookahead == 0xfeff) ADVANCE(141); + if (lookahead != 0) ADVANCE(142); END_STATE(); case 3: - if (lookahead == '"') ADVANCE(129); + if (lookahead == '"') ADVANCE(140); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || @@ -1094,15 +1118,15 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 't') ADVANCE(45); END_STATE(); case 5: - if (lookahead == '"') ADVANCE(138); + if (lookahead == '"') ADVANCE(149); END_STATE(); case 6: - if (lookahead == '"') ADVANCE(136); + if (lookahead == '"') ADVANCE(147); if (lookahead == ' ' || lookahead == 'T') ADVANCE(66); END_STATE(); case 7: - if (lookahead == '"') ADVANCE(137); + if (lookahead == '"') ADVANCE(148); END_STATE(); case 8: if (lookahead == '$') ADVANCE(85); @@ -1110,6 +1134,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '.') ADVANCE(24); if (lookahead == '0') ADVANCE(86); if (lookahead == '^') ADVANCE(20); + if (lookahead == 'r') ADVANCE(99); if (lookahead == '|') ADVANCE(31); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || @@ -1118,13 +1143,14 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == 0xfeff) SKIP(9); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(87); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); END_STATE(); case 9: if (lookahead == '$') ADVANCE(85); if (lookahead == '(') ADVANCE(82); if (lookahead == '.') ADVANCE(24); if (lookahead == '^') ADVANCE(20); + if (lookahead == 'r') ADVANCE(99); if (lookahead == '|') ADVANCE(31); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || @@ -1132,19 +1158,19 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == 0x2060 || lookahead == 0xfeff) SKIP(9); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); END_STATE(); case 10: - if (lookahead == ')') ADVANCE(104); + if (lookahead == ')') ADVANCE(115); END_STATE(); case 11: - if (lookahead == ')') ADVANCE(106); + if (lookahead == ')') ADVANCE(117); END_STATE(); case 12: - if (lookahead == ')') ADVANCE(103); + if (lookahead == ')') ADVANCE(114); END_STATE(); case 13: - if (lookahead == ')') ADVANCE(105); + if (lookahead == ')') ADVANCE(116); END_STATE(); case 14: if (lookahead == '+') ADVANCE(12); @@ -1161,44 +1187,44 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 18: if (lookahead == '.') ADVANCE(21); - if (lookahead == '0') ADVANCE(120); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(121); + if (lookahead == '0') ADVANCE(131); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(132); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(119); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(130); END_STATE(); case 19: if (lookahead == '.') ADVANCE(21); - if (lookahead == '0') ADVANCE(124); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(125); + if (lookahead == '0') ADVANCE(135); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(136); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(123); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(134); END_STATE(); case 20: - if (lookahead == '.') ADVANCE(118); + if (lookahead == '.') ADVANCE(129); END_STATE(); case 21: - if (lookahead == '.') ADVANCE(112); + if (lookahead == '.') ADVANCE(123); END_STATE(); case 22: - if (lookahead == '0') ADVANCE(114); + if (lookahead == '0') ADVANCE(125); if (lookahead == 'I') ADVANCE(36); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(115); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(126); END_STATE(); case 23: - if (lookahead == '0') ADVANCE(114); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(115); + if (lookahead == '0') ADVANCE(125); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(126); END_STATE(); case 24: - if (lookahead == '0') ADVANCE(124); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(125); + if (lookahead == '0') ADVANCE(135); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(136); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(123); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(134); END_STATE(); case 25: if (lookahead == '0') ADVANCE(86); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(87); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(122); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133); END_STATE(); case 26: if (lookahead == ':') ADVANCE(59); @@ -1214,16 +1240,16 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == ':') ADVANCE(68); END_STATE(); case 30: - if (lookahead == '=') ADVANCE(93); + if (lookahead == '=') ADVANCE(104); END_STATE(); case 31: if (lookahead == '>') ADVANCE(81); END_STATE(); case 32: - if (lookahead == 'F') ADVANCE(101); + if (lookahead == 'F') ADVANCE(112); END_STATE(); case 33: - if (lookahead == 'F') ADVANCE(102); + if (lookahead == 'F') ADVANCE(113); END_STATE(); case 34: if (lookahead == 'I') ADVANCE(35); @@ -1235,18 +1261,18 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'N') ADVANCE(33); END_STATE(); case 37: - if (lookahead == '`') ADVANCE(133); + if (lookahead == '`') ADVANCE(144); if (lookahead == '\n' || lookahead == '\r') SKIP(38); if (('\t' <= lookahead && lookahead <= '\f') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(134); - if (lookahead != 0) ADVANCE(135); + lookahead == 0xfeff) ADVANCE(145); + if (lookahead != 0) ADVANCE(146); END_STATE(); case 38: - if (lookahead == '`') ADVANCE(133); + if (lookahead == '`') ADVANCE(144); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || @@ -1257,16 +1283,16 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'a') ADVANCE(42); END_STATE(); case 40: - if (lookahead == 'e') ADVANCE(126); + if (lookahead == 'e') ADVANCE(137); END_STATE(); case 41: - if (lookahead == 'e') ADVANCE(127); + if (lookahead == 'e') ADVANCE(138); END_STATE(); case 42: if (lookahead == 'l') ADVANCE(46); END_STATE(); case 43: - if (lookahead == 'l') ADVANCE(128); + if (lookahead == 'l') ADVANCE(139); END_STATE(); case 44: if (lookahead == 'l') ADVANCE(43); @@ -1285,15 +1311,15 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 49: if (lookahead == '"' || - lookahead == '\\') ADVANCE(132); + lookahead == '\\') ADVANCE(143); END_STATE(); case 50: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(113); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(124); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); END_STATE(); case 51: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(127); END_STATE(); case 52: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(26); @@ -1348,112 +1374,114 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 69: if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(117); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(128); END_STATE(); case 70: if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); END_STATE(); case 71: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(119); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(130); END_STATE(); case 72: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(113); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(124); END_STATE(); case 73: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(123); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(134); END_STATE(); case 74: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(122); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133); END_STATE(); case 75: if (eof) ADVANCE(79); ADVANCE_MAP( - '"', 129, + '"', 140, '#', 4, '$', 85, '(', 83, ')', 84, '+', 34, - ',', 92, + ',', 103, '-', 22, '.', 19, - '0', 114, - ':', 111, + '0', 125, + ':', 122, '@', 69, - 'I', 96, - 'T', 107, - '[', 99, - ']', 100, + 'I', 107, + 'T', 118, + '[', 110, + ']', 111, '^', 20, - '`', 133, - '{', 94, + '`', 144, + 'r', 93, + '{', 105, '|', 80, - '}', 95, + '}', 106, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || lookahead == 0xfeff) SKIP(75); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(115); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(126); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); END_STATE(); case 76: if (eof) ADVANCE(79); ADVANCE_MAP( - '"', 129, + '"', 140, '#', 4, '$', 85, '(', 82, ')', 84, '+', 34, - ',', 92, + ',', 103, '-', 22, '.', 19, - '0', 114, + '0', 125, ':', 30, '@', 69, - 'I', 97, - 'T', 108, - '[', 99, - ']', 100, + 'I', 108, + 'T', 119, + '[', 110, + ']', 111, '^', 20, - '`', 133, - '{', 94, + '`', 144, + 'r', 99, + '{', 105, '|', 80, - '}', 95, + '}', 106, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || lookahead == 0xfeff) SKIP(76); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(115); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(126); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); END_STATE(); case 77: if (eof) ADVANCE(79); ADVANCE_MAP( - '"', 129, + '"', 140, ')', 84, - ',', 92, + ',', 103, '.', 18, '0', 86, '^', 88, - '`', 133, + '`', 144, '|', 80, - '}', 95, + '}', 106, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || @@ -1462,24 +1490,24 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == 0xfeff) SKIP(78); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(87); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(113); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(124); END_STATE(); case 78: if (eof) ADVANCE(79); - if (lookahead == '"') ADVANCE(129); + if (lookahead == '"') ADVANCE(140); if (lookahead == ')') ADVANCE(84); - if (lookahead == ',') ADVANCE(92); + if (lookahead == ',') ADVANCE(103); if (lookahead == '.') ADVANCE(17); - if (lookahead == '`') ADVANCE(133); + if (lookahead == '`') ADVANCE(144); if (lookahead == '|') ADVANCE(80); - if (lookahead == '}') ADVANCE(95); + if (lookahead == '}') ADVANCE(106); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || lookahead == 0xfeff) SKIP(78); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(113); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(124); END_STATE(); case 79: ACCEPT_TOKEN(ts_builtin_sym_end); @@ -1518,184 +1546,262 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 89: ACCEPT_TOKEN(anon_sym_CARET); - if (lookahead == '.') ADVANCE(118); + if (lookahead == '.') ADVANCE(129); END_STATE(); case 90: + ACCEPT_TOKEN(anon_sym_record); + END_STATE(); + case 91: ACCEPT_TOKEN(sym_function_name); if (lookahead == '-') ADVANCE(50); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(113); + if (lookahead == 'c') ADVANCE(94); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(124); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); END_STATE(); - case 91: + case 92: + ACCEPT_TOKEN(sym_function_name); + if (lookahead == '-') ADVANCE(50); + if (lookahead == 'd') ADVANCE(90); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(124); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); + END_STATE(); + case 93: + ACCEPT_TOKEN(sym_function_name); + if (lookahead == '-') ADVANCE(50); + if (lookahead == 'e') ADVANCE(91); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(124); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); + END_STATE(); + case 94: + ACCEPT_TOKEN(sym_function_name); + if (lookahead == '-') ADVANCE(50); + if (lookahead == 'o') ADVANCE(95); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(124); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); + END_STATE(); + case 95: + ACCEPT_TOKEN(sym_function_name); + if (lookahead == '-') ADVANCE(50); + if (lookahead == 'r') ADVANCE(92); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(124); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); + END_STATE(); + case 96: + ACCEPT_TOKEN(sym_function_name); + if (lookahead == '-') ADVANCE(50); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(124); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); + END_STATE(); + case 97: ACCEPT_TOKEN(sym_function_name); if (lookahead == '-') ADVANCE(70); + if (lookahead == 'c') ADVANCE(100); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); END_STATE(); - case 92: + case 98: + ACCEPT_TOKEN(sym_function_name); + if (lookahead == '-') ADVANCE(70); + if (lookahead == 'd') ADVANCE(90); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); + END_STATE(); + case 99: + ACCEPT_TOKEN(sym_function_name); + if (lookahead == '-') ADVANCE(70); + if (lookahead == 'e') ADVANCE(97); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); + END_STATE(); + case 100: + ACCEPT_TOKEN(sym_function_name); + if (lookahead == '-') ADVANCE(70); + if (lookahead == 'o') ADVANCE(101); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); + END_STATE(); + case 101: + ACCEPT_TOKEN(sym_function_name); + if (lookahead == '-') ADVANCE(70); + if (lookahead == 'r') ADVANCE(98); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); + END_STATE(); + case 102: + ACCEPT_TOKEN(sym_function_name); + if (lookahead == '-') ADVANCE(70); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); + END_STATE(); + case 103: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 93: + case 104: ACCEPT_TOKEN(anon_sym_COLON_EQ); END_STATE(); - case 94: + case 105: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); - case 95: + case 106: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); - case 96: + case 107: ACCEPT_TOKEN(anon_sym_I); if (lookahead == '-') ADVANCE(50); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(113); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(124); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); END_STATE(); - case 97: + case 108: ACCEPT_TOKEN(anon_sym_I); if (lookahead == '-') ADVANCE(70); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); END_STATE(); - case 98: + case 109: ACCEPT_TOKEN(anon_sym_I); if (lookahead == '-') ADVANCE(72); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(113); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(124); END_STATE(); - case 99: + case 110: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); - case 100: + case 111: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); - case 101: + case 112: ACCEPT_TOKEN(anon_sym_PLUSINF); END_STATE(); - case 102: + case 113: ACCEPT_TOKEN(anon_sym_DASHINF); END_STATE(); - case 103: + case 114: ACCEPT_TOKEN(anon_sym_LPAREN0_PLUS_RPAREN); END_STATE(); - case 104: + case 115: ACCEPT_TOKEN(anon_sym_LPAREN_PLUS_RPAREN); END_STATE(); - case 105: + case 116: ACCEPT_TOKEN(anon_sym_LPAREN0_DASH_RPAREN); END_STATE(); - case 106: + case 117: ACCEPT_TOKEN(anon_sym_LPAREN_DASH_RPAREN); END_STATE(); - case 107: + case 118: ACCEPT_TOKEN(anon_sym_T); if (lookahead == '-') ADVANCE(50); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(113); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(124); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); END_STATE(); - case 108: + case 119: ACCEPT_TOKEN(anon_sym_T); if (lookahead == '-') ADVANCE(70); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); END_STATE(); - case 109: + case 120: ACCEPT_TOKEN(anon_sym_T); if (lookahead == '-') ADVANCE(72); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(113); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(124); END_STATE(); - case 110: + case 121: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); - case 111: + case 122: ACCEPT_TOKEN(anon_sym_COLON); - if (lookahead == '=') ADVANCE(93); + if (lookahead == '=') ADVANCE(104); END_STATE(); - case 112: + case 123: ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); END_STATE(); - case 113: + case 124: ACCEPT_TOKEN(sym_unquoted_record_field_name); if (lookahead == '-') ADVANCE(72); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(113); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(124); END_STATE(); - case 114: + case 125: ACCEPT_TOKEN(sym_numeric_literal); if (lookahead == '.') ADVANCE(51); END_STATE(); - case 115: + case 126: ACCEPT_TOKEN(sym_numeric_literal); if (lookahead == '.') ADVANCE(51); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(115); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(126); END_STATE(); - case 116: + case 127: ACCEPT_TOKEN(sym_numeric_literal); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(127); END_STATE(); - case 117: + case 128: ACCEPT_TOKEN(sym_variable); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(117); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(128); END_STATE(); - case 118: + case 129: ACCEPT_TOKEN(sym_original_input); END_STATE(); - case 119: + case 130: ACCEPT_TOKEN(aux_sym_immediate_record_field_selector_token1); if (lookahead == '-') ADVANCE(71); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(119); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(130); END_STATE(); - case 120: + case 131: ACCEPT_TOKEN(aux_sym_immediate_record_field_selector_token2); END_STATE(); - case 121: + case 132: ACCEPT_TOKEN(aux_sym_immediate_record_field_selector_token2); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(121); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(132); END_STATE(); - case 122: + case 133: ACCEPT_TOKEN(aux_sym_original_record_field_selector_token1); if (lookahead == '-') ADVANCE(74); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(122); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133); END_STATE(); - case 123: + case 134: ACCEPT_TOKEN(sym_named_record_field); if (lookahead == '-') ADVANCE(73); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(123); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(134); END_STATE(); - case 124: + case 135: ACCEPT_TOKEN(sym_positional_record_field); END_STATE(); - case 125: + case 136: ACCEPT_TOKEN(sym_positional_record_field); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(125); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(136); END_STATE(); - case 126: + case 137: ACCEPT_TOKEN(anon_sym_POUNDtrue); END_STATE(); - case 127: + case 138: ACCEPT_TOKEN(anon_sym_POUNDfalse); END_STATE(); - case 128: + case 139: ACCEPT_TOKEN(sym_null_literal); END_STATE(); - case 129: + case 140: ACCEPT_TOKEN(anon_sym_DQUOTE); END_STATE(); - case 130: + case 141: ACCEPT_TOKEN(sym_double_quoted_content); if (lookahead == '\t' || lookahead == 0x0b || @@ -1703,27 +1809,27 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(130); + lookahead == 0xfeff) ADVANCE(141); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && lookahead != '"' && - lookahead != '\\') ADVANCE(131); + lookahead != '\\') ADVANCE(142); END_STATE(); - case 131: + case 142: ACCEPT_TOKEN(sym_double_quoted_content); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r' && lookahead != '"' && - lookahead != '\\') ADVANCE(131); + lookahead != '\\') ADVANCE(142); END_STATE(); - case 132: + case 143: ACCEPT_TOKEN(sym_escape_sequence); END_STATE(); - case 133: + case 144: ACCEPT_TOKEN(anon_sym_BQUOTE); END_STATE(); - case 134: + case 145: ACCEPT_TOKEN(sym_backtick_quoted_content); if (lookahead == '\t' || lookahead == 0x0b || @@ -1731,25 +1837,25 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(134); + lookahead == 0xfeff) ADVANCE(145); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && - lookahead != '`') ADVANCE(135); + lookahead != '`') ADVANCE(146); END_STATE(); - case 135: + case 146: ACCEPT_TOKEN(sym_backtick_quoted_content); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r' && - lookahead != '`') ADVANCE(135); + lookahead != '`') ADVANCE(146); END_STATE(); - case 136: + case 147: ACCEPT_TOKEN(sym_date_literal); END_STATE(); - case 137: + case 148: ACCEPT_TOKEN(sym_date_time_literal); END_STATE(); - case 138: + case 149: ACCEPT_TOKEN(sym_time_literal); END_STATE(); default: @@ -1764,44 +1870,44 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [3] = {.lex_state = 76}, [4] = {.lex_state = 76}, [5] = {.lex_state = 76}, - [6] = {.lex_state = 1}, + [6] = {.lex_state = 76}, [7] = {.lex_state = 76}, - [8] = {.lex_state = 1}, + [8] = {.lex_state = 76}, [9] = {.lex_state = 76}, - [10] = {.lex_state = 76}, - [11] = {.lex_state = 76}, + [10] = {.lex_state = 1}, + [11] = {.lex_state = 1}, [12] = {.lex_state = 76}, [13] = {.lex_state = 76}, [14] = {.lex_state = 76}, - [15] = {.lex_state = 8}, - [16] = {.lex_state = 8}, - [17] = {.lex_state = 8}, + [15] = {.lex_state = 76}, + [16] = {.lex_state = 76}, + [17] = {.lex_state = 76}, [18] = {.lex_state = 8}, - [19] = {.lex_state = 77}, - [20] = {.lex_state = 77}, - [21] = {.lex_state = 77}, - [22] = {.lex_state = 77}, - [23] = {.lex_state = 77}, + [19] = {.lex_state = 8}, + [20] = {.lex_state = 8}, + [21] = {.lex_state = 8}, + [22] = {.lex_state = 8}, + [23] = {.lex_state = 8}, [24] = {.lex_state = 77}, - [25] = {.lex_state = 8}, - [26] = {.lex_state = 8}, - [27] = {.lex_state = 76}, - [28] = {.lex_state = 76}, - [29] = {.lex_state = 76}, + [25] = {.lex_state = 77}, + [26] = {.lex_state = 77}, + [27] = {.lex_state = 77}, + [28] = {.lex_state = 77}, + [29] = {.lex_state = 77}, [30] = {.lex_state = 76}, - [31] = {.lex_state = 77}, - [32] = {.lex_state = 77}, - [33] = {.lex_state = 0}, - [34] = {.lex_state = 0}, + [31] = {.lex_state = 76}, + [32] = {.lex_state = 76}, + [33] = {.lex_state = 76}, + [34] = {.lex_state = 77}, [35] = {.lex_state = 0}, [36] = {.lex_state = 77}, - [37] = {.lex_state = 77}, - [38] = {.lex_state = 77}, + [37] = {.lex_state = 0}, + [38] = {.lex_state = 0}, [39] = {.lex_state = 0}, - [40] = {.lex_state = 76}, - [41] = {.lex_state = 0}, - [42] = {.lex_state = 0}, - [43] = {.lex_state = 0}, + [40] = {.lex_state = 77}, + [41] = {.lex_state = 77}, + [42] = {.lex_state = 77}, + [43] = {.lex_state = 76}, [44] = {.lex_state = 0}, [45] = {.lex_state = 0}, [46] = {.lex_state = 0}, @@ -1826,24 +1932,24 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [65] = {.lex_state = 0}, [66] = {.lex_state = 0}, [67] = {.lex_state = 0}, - [68] = {.lex_state = 76}, + [68] = {.lex_state = 0}, [69] = {.lex_state = 0}, - [70] = {.lex_state = 0}, + [70] = {.lex_state = 76}, [71] = {.lex_state = 0}, [72] = {.lex_state = 0}, [73] = {.lex_state = 0}, - [74] = {.lex_state = 76}, + [74] = {.lex_state = 0}, [75] = {.lex_state = 0}, [76] = {.lex_state = 0}, - [77] = {.lex_state = 0}, - [78] = {.lex_state = 0}, - [79] = {.lex_state = 2}, + [77] = {.lex_state = 2}, + [78] = {.lex_state = 2}, + [79] = {.lex_state = 0}, [80] = {.lex_state = 0}, - [81] = {.lex_state = 0}, + [81] = {.lex_state = 2}, [82] = {.lex_state = 0}, - [83] = {.lex_state = 2}, + [83] = {.lex_state = 76}, [84] = {.lex_state = 0}, - [85] = {.lex_state = 2}, + [85] = {.lex_state = 0}, [86] = {.lex_state = 0}, [87] = {.lex_state = 0}, [88] = {.lex_state = 0}, @@ -1862,33 +1968,42 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [101] = {.lex_state = 0}, [102] = {.lex_state = 0}, [103] = {.lex_state = 0}, - [104] = {.lex_state = 25}, + [104] = {.lex_state = 0}, [105] = {.lex_state = 0}, [106] = {.lex_state = 0}, [107] = {.lex_state = 0}, - [108] = {.lex_state = 37}, + [108] = {.lex_state = 25}, [109] = {.lex_state = 0}, [110] = {.lex_state = 0}, [111] = {.lex_state = 0}, [112] = {.lex_state = 0}, - [113] = {.lex_state = 77}, + [113] = {.lex_state = 0}, [114] = {.lex_state = 0}, - [115] = {.lex_state = 0}, + [115] = {.lex_state = 37}, [116] = {.lex_state = 0}, [117] = {.lex_state = 0}, [118] = {.lex_state = 0}, - [119] = {.lex_state = 76}, - [120] = {.lex_state = 76}, + [119] = {.lex_state = 0}, + [120] = {.lex_state = 77}, [121] = {.lex_state = 0}, [122] = {.lex_state = 0}, [123] = {.lex_state = 0}, - [124] = {.lex_state = 8}, - [125] = {.lex_state = 76}, - [126] = {.lex_state = 0}, + [124] = {.lex_state = 0}, + [125] = {.lex_state = 0}, + [126] = {.lex_state = 76}, [127] = {.lex_state = 0}, [128] = {.lex_state = 0}, [129] = {.lex_state = 0}, [130] = {.lex_state = 0}, + [131] = {.lex_state = 0}, + [132] = {.lex_state = 0}, + [133] = {.lex_state = 76}, + [134] = {.lex_state = 0}, + [135] = {.lex_state = 76}, + [136] = {.lex_state = 76}, + [137] = {.lex_state = 8}, + [138] = {.lex_state = 0}, + [139] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -1901,6 +2016,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_DOLLAR] = ACTIONS(1), [aux_sym_tuple_projection_token1] = ACTIONS(1), [anon_sym_CARET] = ACTIONS(1), + [anon_sym_record] = ACTIONS(1), [sym_function_name] = ACTIONS(1), [anon_sym_COMMA] = ACTIONS(1), [anon_sym_COLON_EQ] = ACTIONS(1), @@ -1938,112 +2054,116 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_time_literal] = ACTIONS(1), }, [STATE(1)] = { - [sym_source_file] = STATE(128), - [sym_root_expression] = STATE(121), - [sym_open_expression] = STATE(111), - [sym_closed_expression] = STATE(111), - [sym_map_shorthand] = STATE(67), - [sym_expression] = STATE(66), - [sym_parenthesized_expression] = STATE(67), - [sym_tuple_projection] = STATE(67), - [sym_function_call] = STATE(67), - [sym_value] = STATE(44), - [sym_interval_literal] = STATE(46), - [sym_array_literal] = STATE(46), - [sym_tuple_literal] = STATE(46), - [sym_record_literal] = STATE(46), - [sym_incoming_value] = STATE(46), - [sym_record_access] = STATE(46), - [sym_record_field_selector] = STATE(19), - [sym_boolean_literal] = STATE(46), - [sym_quoted_literal] = STATE(46), - [sym_double_quoted_literal] = STATE(33), - [sym_backtick_quoted_literal] = STATE(33), - [sym_temporal_literal] = STATE(46), + [sym_source_file] = STATE(138), + [sym_root_expression] = STATE(131), + [sym_open_expression] = STATE(122), + [sym_closed_expression] = STATE(122), + [sym_map_shorthand] = STATE(71), + [sym_expression] = STATE(72), + [sym_parenthesized_expression] = STATE(71), + [sym_tuple_projection] = STATE(71), + [sym_function_call] = STATE(71), + [sym_value] = STATE(45), + [sym_interval_literal] = STATE(48), + [sym_array_literal] = STATE(48), + [sym_tuple_literal] = STATE(48), + [sym_record_literal] = STATE(48), + [sym_incoming_value] = STATE(48), + [sym_record_access] = STATE(48), + [sym_record_field_selector] = STATE(26), + [sym_boolean_literal] = STATE(48), + [sym_quoted_literal] = STATE(48), + [sym_double_quoted_literal] = STATE(37), + [sym_backtick_quoted_literal] = STATE(37), + [sym_temporal_literal] = STATE(48), [anon_sym_PIPE_GT] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(5), [anon_sym_DOLLAR] = ACTIONS(7), - [sym_function_name] = ACTIONS(9), - [anon_sym_LBRACE] = ACTIONS(11), - [anon_sym_I] = ACTIONS(13), - [anon_sym_T] = ACTIONS(15), - [anon_sym_DOT_DOT_DOT] = ACTIONS(17), - [sym_numeric_literal] = ACTIONS(19), - [sym_variable] = ACTIONS(19), - [sym_original_input] = ACTIONS(21), - [sym_named_record_field] = ACTIONS(23), - [sym_positional_record_field] = ACTIONS(23), - [anon_sym_POUNDtrue] = ACTIONS(25), - [anon_sym_POUNDfalse] = ACTIONS(25), - [sym_null_literal] = ACTIONS(19), - [anon_sym_DQUOTE] = ACTIONS(27), - [anon_sym_BQUOTE] = ACTIONS(29), - [sym_date_literal] = ACTIONS(31), - [sym_date_time_literal] = ACTIONS(31), - [sym_time_literal] = ACTIONS(31), + [anon_sym_record] = ACTIONS(9), + [sym_function_name] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_I] = ACTIONS(15), + [anon_sym_T] = ACTIONS(17), + [anon_sym_DOT_DOT_DOT] = ACTIONS(19), + [sym_numeric_literal] = ACTIONS(21), + [sym_variable] = ACTIONS(21), + [sym_original_input] = ACTIONS(23), + [sym_named_record_field] = ACTIONS(25), + [sym_positional_record_field] = ACTIONS(25), + [anon_sym_POUNDtrue] = ACTIONS(27), + [anon_sym_POUNDfalse] = ACTIONS(27), + [sym_null_literal] = ACTIONS(21), + [anon_sym_DQUOTE] = ACTIONS(29), + [anon_sym_BQUOTE] = ACTIONS(31), + [sym_date_literal] = ACTIONS(33), + [sym_date_time_literal] = ACTIONS(33), + [sym_time_literal] = ACTIONS(33), }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 23, + [0] = 24, ACTIONS(5), 1, anon_sym_LPAREN, ACTIONS(7), 1, anon_sym_DOLLAR, - ACTIONS(13), 1, - anon_sym_I, + ACTIONS(9), 1, + anon_sym_record, ACTIONS(15), 1, - anon_sym_T, + anon_sym_I, ACTIONS(17), 1, + anon_sym_T, + ACTIONS(19), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(21), 1, + ACTIONS(23), 1, sym_original_input, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, - ACTIONS(33), 1, - anon_sym_RPAREN, ACTIONS(35), 1, - sym_function_name, + anon_sym_RPAREN, ACTIONS(37), 1, + sym_function_name, + ACTIONS(39), 1, anon_sym_LBRACE, - STATE(19), 1, + STATE(26), 1, sym_record_field_selector, - STATE(81), 1, + STATE(82), 1, sym_function_call, - STATE(90), 1, + STATE(95), 1, sym_value, - STATE(130), 1, - sym_argument_list, - ACTIONS(23), 2, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(33), 2, + STATE(37), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(98), 2, + STATE(112), 2, sym_positional_argument, sym_named_argument, - ACTIONS(19), 3, + STATE(139), 2, + sym_argument_list, + sym__record_argument_list, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(107), 6, + STATE(113), 6, sym_parenthesized_expression, sym_tuple_projection, sym__argument_value, sym__nested_open_expression, sym__nested_closed_expression, sym_parameterized_expression, - STATE(46), 9, + STATE(48), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2053,63 +2173,67 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [91] = 23, - ACTIONS(3), 1, - anon_sym_PIPE_GT, + [95] = 24, ACTIONS(5), 1, anon_sym_LPAREN, ACTIONS(7), 1, anon_sym_DOLLAR, ACTIONS(9), 1, - sym_function_name, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_I, + anon_sym_record, ACTIONS(15), 1, - anon_sym_T, + anon_sym_I, ACTIONS(17), 1, + anon_sym_T, + ACTIONS(19), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(21), 1, + ACTIONS(23), 1, sym_original_input, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, - STATE(19), 1, + ACTIONS(37), 1, + sym_function_name, + ACTIONS(39), 1, + anon_sym_LBRACE, + ACTIONS(41), 1, + anon_sym_RPAREN, + STATE(26), 1, sym_record_field_selector, - STATE(44), 1, + STATE(82), 1, + sym_function_call, + STATE(95), 1, sym_value, - STATE(66), 1, - sym_expression, - STATE(122), 1, - sym_root_expression, - ACTIONS(23), 2, + STATE(127), 1, + sym_argument_list, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(33), 2, + STATE(37), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(111), 2, - sym_open_expression, - sym_closed_expression, - ACTIONS(19), 3, + STATE(96), 2, + sym_positional_argument, + sym_named_argument, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(67), 4, - sym_map_shorthand, + STATE(113), 6, sym_parenthesized_expression, sym_tuple_projection, - sym_function_call, - STATE(46), 9, + sym__argument_value, + sym__nested_open_expression, + sym__nested_closed_expression, + sym_parameterized_expression, + STATE(48), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2119,61 +2243,65 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [180] = 21, + [189] = 23, ACTIONS(5), 1, anon_sym_LPAREN, ACTIONS(7), 1, anon_sym_DOLLAR, - ACTIONS(13), 1, - anon_sym_I, + ACTIONS(9), 1, + anon_sym_record, ACTIONS(15), 1, - anon_sym_T, + anon_sym_I, ACTIONS(17), 1, + anon_sym_T, + ACTIONS(19), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(21), 1, + ACTIONS(23), 1, sym_original_input, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, - ACTIONS(35), 1, - sym_function_name, ACTIONS(37), 1, + sym_function_name, + ACTIONS(39), 1, anon_sym_LBRACE, - STATE(19), 1, + ACTIONS(43), 1, + anon_sym_RPAREN, + STATE(26), 1, sym_record_field_selector, - STATE(81), 1, + STATE(82), 1, sym_function_call, - STATE(90), 1, + STATE(95), 1, sym_value, - ACTIONS(23), 2, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(33), 2, + STATE(37), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(110), 2, + STATE(116), 2, sym_positional_argument, sym_named_argument, - ACTIONS(19), 3, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(107), 6, + STATE(113), 6, sym_parenthesized_expression, sym_tuple_projection, sym__argument_value, sym__nested_open_expression, sym__nested_closed_expression, sym_parameterized_expression, - STATE(46), 9, + STATE(48), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2183,58 +2311,65 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [265] = 20, + [280] = 23, ACTIONS(5), 1, anon_sym_LPAREN, ACTIONS(7), 1, anon_sym_DOLLAR, ACTIONS(9), 1, - sym_function_name, - ACTIONS(13), 1, - anon_sym_I, + anon_sym_record, ACTIONS(15), 1, - anon_sym_T, + anon_sym_I, ACTIONS(17), 1, + anon_sym_T, + ACTIONS(19), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(21), 1, + ACTIONS(23), 1, sym_original_input, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, ACTIONS(37), 1, + sym_function_name, + ACTIONS(39), 1, anon_sym_LBRACE, - STATE(19), 1, + ACTIONS(45), 1, + anon_sym_RPAREN, + STATE(26), 1, sym_record_field_selector, - STATE(81), 1, + STATE(82), 1, sym_function_call, - STATE(90), 1, + STATE(95), 1, sym_value, - ACTIONS(23), 2, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(33), 2, + STATE(37), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(19), 3, + STATE(116), 2, + sym_positional_argument, + sym_named_argument, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(109), 6, + STATE(113), 6, sym_parenthesized_expression, sym_tuple_projection, sym__argument_value, sym__nested_open_expression, sym__nested_closed_expression, sym_parameterized_expression, - STATE(46), 9, + STATE(48), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2244,59 +2379,65 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [346] = 22, + [371] = 24, + ACTIONS(3), 1, + anon_sym_PIPE_GT, + ACTIONS(5), 1, + anon_sym_LPAREN, ACTIONS(7), 1, anon_sym_DOLLAR, + ACTIONS(9), 1, + anon_sym_record, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_function_name, ACTIONS(13), 1, - anon_sym_I, + anon_sym_LBRACE, ACTIONS(15), 1, + anon_sym_I, + ACTIONS(17), 1, anon_sym_T, - ACTIONS(21), 1, + ACTIONS(19), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(23), 1, sym_original_input, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, - ACTIONS(39), 1, - anon_sym_RBRACE, - ACTIONS(41), 1, - anon_sym_COLON, - ACTIONS(43), 1, - anon_sym_DOT_DOT_DOT, - ACTIONS(45), 1, - sym_unquoted_record_field_name, - STATE(19), 1, + STATE(26), 1, sym_record_field_selector, - STATE(75), 1, + STATE(45), 1, sym_value, - STATE(117), 1, - sym_tuple_projection, - STATE(120), 1, - sym_record_field_name, - ACTIONS(23), 2, + STATE(72), 1, + sym_expression, + STATE(132), 1, + sym_root_expression, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(74), 2, + STATE(37), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(19), 3, + STATE(122), 2, + sym_open_expression, + sym_closed_expression, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(93), 3, - sym__record_entry, - sym_record_field, - sym_record_spread, - STATE(46), 9, + STATE(71), 4, + sym_map_shorthand, + sym_parenthesized_expression, + sym_tuple_projection, + sym_function_call, + STATE(48), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2306,60 +2447,191 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [430] = 22, + [463] = 22, + ACTIONS(5), 1, + anon_sym_LPAREN, ACTIONS(7), 1, anon_sym_DOLLAR, ACTIONS(9), 1, + anon_sym_record, + ACTIONS(15), 1, + anon_sym_I, + ACTIONS(17), 1, + anon_sym_T, + ACTIONS(19), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(23), 1, + sym_original_input, + ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, + anon_sym_BQUOTE, + ACTIONS(37), 1, sym_function_name, + ACTIONS(39), 1, + anon_sym_LBRACE, + STATE(26), 1, + sym_record_field_selector, + STATE(82), 1, + sym_function_call, + STATE(95), 1, + sym_value, + ACTIONS(25), 2, + sym_named_record_field, + sym_positional_record_field, + ACTIONS(27), 2, + anon_sym_POUNDtrue, + anon_sym_POUNDfalse, + STATE(37), 2, + sym_double_quoted_literal, + sym_backtick_quoted_literal, + STATE(116), 2, + sym_positional_argument, + sym_named_argument, + ACTIONS(21), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, + ACTIONS(33), 3, + sym_date_literal, + sym_date_time_literal, + sym_time_literal, + STATE(113), 6, + sym_parenthesized_expression, + sym_tuple_projection, + sym__argument_value, + sym__nested_open_expression, + sym__nested_closed_expression, + sym_parameterized_expression, + STATE(48), 9, + sym_interval_literal, + sym_array_literal, + sym_tuple_literal, + sym_record_literal, + sym_incoming_value, + sym_record_access, + sym_boolean_literal, + sym_quoted_literal, + sym_temporal_literal, + [551] = 21, + ACTIONS(5), 1, + anon_sym_LPAREN, + ACTIONS(7), 1, + anon_sym_DOLLAR, + ACTIONS(9), 1, + anon_sym_record, ACTIONS(11), 1, + sym_function_name, + ACTIONS(15), 1, + anon_sym_I, + ACTIONS(17), 1, + anon_sym_T, + ACTIONS(19), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(23), 1, + sym_original_input, + ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, + anon_sym_BQUOTE, + ACTIONS(39), 1, anon_sym_LBRACE, + STATE(26), 1, + sym_record_field_selector, + STATE(82), 1, + sym_function_call, + STATE(95), 1, + sym_value, + ACTIONS(25), 2, + sym_named_record_field, + sym_positional_record_field, + ACTIONS(27), 2, + anon_sym_POUNDtrue, + anon_sym_POUNDfalse, + STATE(37), 2, + sym_double_quoted_literal, + sym_backtick_quoted_literal, + ACTIONS(21), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, + ACTIONS(33), 3, + sym_date_literal, + sym_date_time_literal, + sym_time_literal, + STATE(118), 6, + sym_parenthesized_expression, + sym_tuple_projection, + sym__argument_value, + sym__nested_open_expression, + sym__nested_closed_expression, + sym_parameterized_expression, + STATE(48), 9, + sym_interval_literal, + sym_array_literal, + sym_tuple_literal, + sym_record_literal, + sym_incoming_value, + sym_record_access, + sym_boolean_literal, + sym_quoted_literal, + sym_temporal_literal, + [635] = 23, + ACTIONS(7), 1, + anon_sym_DOLLAR, + ACTIONS(9), 1, + anon_sym_record, + ACTIONS(11), 1, + sym_function_name, ACTIONS(13), 1, - anon_sym_I, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_T, + anon_sym_I, ACTIONS(17), 1, + anon_sym_T, + ACTIONS(19), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(21), 1, + ACTIONS(23), 1, sym_original_input, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, ACTIONS(47), 1, anon_sym_LPAREN, - STATE(19), 1, + STATE(26), 1, sym_record_field_selector, - STATE(44), 1, + STATE(45), 1, sym_value, - STATE(49), 1, + STATE(53), 1, sym__parenthesized_pipeline_expression, - STATE(100), 1, + STATE(107), 1, sym_record_access, - ACTIONS(23), 2, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(33), 2, + STATE(37), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(118), 2, + STATE(128), 2, sym_closed_expression, sym__pipeline_open_expression, - ACTIONS(19), 3, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(99), 3, + STATE(106), 3, sym__pipeline_expression, sym_tuple_projection, sym_function_call, - STATE(46), 8, + STATE(48), 8, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2368,55 +2640,59 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [514] = 20, - ACTIONS(11), 1, - anon_sym_LBRACE, + [722] = 22, + ACTIONS(7), 1, + anon_sym_DOLLAR, ACTIONS(13), 1, - anon_sym_I, + anon_sym_LBRACE, ACTIONS(15), 1, + anon_sym_I, + ACTIONS(17), 1, anon_sym_T, - ACTIONS(21), 1, + ACTIONS(23), 1, sym_original_input, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_RBRACE, - ACTIONS(41), 1, + ACTIONS(51), 1, anon_sym_COLON, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(45), 1, + ACTIONS(55), 1, sym_unquoted_record_field_name, - STATE(19), 1, + STATE(26), 1, sym_record_field_selector, - STATE(91), 1, + STATE(76), 1, sym_value, - STATE(120), 1, + STATE(130), 1, + sym_tuple_projection, + STATE(133), 1, sym_record_field_name, - ACTIONS(23), 2, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(74), 2, + STATE(83), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(19), 3, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(93), 3, + STATE(101), 3, sym__record_entry, sym_record_field, sym_record_spread, - STATE(46), 9, + STATE(48), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2426,43 +2702,55 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [592] = 15, - ACTIONS(11), 1, + [806] = 20, + ACTIONS(13), 1, anon_sym_LBRACE, + ACTIONS(15), 1, + anon_sym_I, ACTIONS(17), 1, - anon_sym_DOT_DOT_DOT, - ACTIONS(21), 1, + anon_sym_T, + ACTIONS(23), 1, sym_original_input, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, ACTIONS(49), 1, - anon_sym_I, + anon_sym_RBRACE, ACTIONS(51), 1, - anon_sym_T, - STATE(19), 1, + anon_sym_COLON, + ACTIONS(53), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(55), 1, + sym_unquoted_record_field_name, + STATE(26), 1, sym_record_field_selector, - STATE(116), 1, + STATE(100), 1, sym_value, - ACTIONS(23), 2, + STATE(133), 1, + sym_record_field_name, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(33), 2, + STATE(83), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(19), 3, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(46), 9, + STATE(101), 3, + sym__record_entry, + sym_record_field, + sym_record_spread, + STATE(48), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2472,43 +2760,43 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [653] = 15, - ACTIONS(11), 1, + [884] = 15, + ACTIONS(13), 1, anon_sym_LBRACE, - ACTIONS(17), 1, + ACTIONS(19), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(21), 1, + ACTIONS(23), 1, sym_original_input, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, - ACTIONS(49), 1, + ACTIONS(57), 1, anon_sym_I, - ACTIONS(51), 1, + ACTIONS(59), 1, anon_sym_T, - STATE(19), 1, + STATE(26), 1, sym_record_field_selector, - STATE(96), 1, + STATE(117), 1, sym_value, - ACTIONS(23), 2, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(33), 2, + STATE(37), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(19), 3, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(46), 9, + STATE(48), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2518,43 +2806,43 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [714] = 15, - ACTIONS(11), 1, + [945] = 15, + ACTIONS(13), 1, anon_sym_LBRACE, - ACTIONS(17), 1, + ACTIONS(19), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(21), 1, + ACTIONS(23), 1, sym_original_input, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, - ACTIONS(49), 1, + ACTIONS(57), 1, anon_sym_I, - ACTIONS(51), 1, + ACTIONS(59), 1, anon_sym_T, - STATE(19), 1, + STATE(26), 1, sym_record_field_selector, - STATE(106), 1, + STATE(123), 1, sym_value, - ACTIONS(23), 2, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(33), 2, + STATE(37), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(19), 3, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(46), 9, + STATE(48), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2564,43 +2852,43 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [775] = 15, - ACTIONS(11), 1, + [1006] = 15, + ACTIONS(13), 1, anon_sym_LBRACE, - ACTIONS(17), 1, + ACTIONS(19), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(21), 1, + ACTIONS(23), 1, sym_original_input, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, - ACTIONS(49), 1, + ACTIONS(57), 1, anon_sym_I, - ACTIONS(51), 1, + ACTIONS(59), 1, anon_sym_T, - STATE(19), 1, + STATE(26), 1, sym_record_field_selector, - STATE(102), 1, + STATE(104), 1, sym_value, - ACTIONS(23), 2, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(33), 2, + STATE(37), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(19), 3, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(46), 9, + STATE(48), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2610,278 +2898,336 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [836] = 9, - ACTIONS(27), 1, + [1067] = 15, + ACTIONS(13), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(23), 1, + sym_original_input, + ACTIONS(29), 1, anon_sym_DQUOTE, + ACTIONS(31), 1, + anon_sym_BQUOTE, + ACTIONS(57), 1, + anon_sym_I, + ACTIONS(59), 1, + anon_sym_T, + STATE(26), 1, + sym_record_field_selector, + STATE(110), 1, + sym_value, + ACTIONS(25), 2, + sym_named_record_field, + sym_positional_record_field, + ACTIONS(27), 2, + anon_sym_POUNDtrue, + anon_sym_POUNDfalse, + STATE(37), 2, + sym_double_quoted_literal, + sym_backtick_quoted_literal, + ACTIONS(21), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, + ACTIONS(33), 3, + sym_date_literal, + sym_date_time_literal, + sym_time_literal, + STATE(48), 9, + sym_interval_literal, + sym_array_literal, + sym_tuple_literal, + sym_record_literal, + sym_incoming_value, + sym_record_access, + sym_boolean_literal, + sym_quoted_literal, + sym_temporal_literal, + [1128] = 9, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, - ACTIONS(55), 1, + ACTIONS(63), 1, sym_numeric_literal, - STATE(129), 1, + STATE(124), 1, sym_interval_bound, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - ACTIONS(53), 2, + ACTIONS(61), 2, anon_sym_PLUSINF, anon_sym_DASHINF, - STATE(33), 2, + STATE(37), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(77), 4, + STATE(92), 4, sym_infinite_bound, sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [872] = 9, - ACTIONS(27), 1, - anon_sym_DQUOTE, + [1164] = 9, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, - ACTIONS(55), 1, + ACTIONS(63), 1, sym_numeric_literal, - STATE(88), 1, + STATE(109), 1, sym_interval_bound, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - ACTIONS(53), 2, + ACTIONS(61), 2, anon_sym_PLUSINF, anon_sym_DASHINF, - STATE(33), 2, + STATE(37), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(77), 4, + STATE(92), 4, sym_infinite_bound, sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [908] = 8, + [1200] = 9, ACTIONS(7), 1, anon_sym_DOLLAR, - ACTIONS(21), 1, + ACTIONS(9), 1, + anon_sym_record, + ACTIONS(11), 1, + sym_function_name, + ACTIONS(23), 1, sym_original_input, ACTIONS(47), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - sym_function_name, - STATE(19), 1, + STATE(26), 1, sym_record_field_selector, - STATE(49), 1, + STATE(53), 1, sym__parenthesized_pipeline_expression, - ACTIONS(23), 2, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - STATE(70), 4, + STATE(86), 4, sym__pipeline_expression, sym_tuple_projection, sym_function_call, sym_record_access, - [937] = 8, + [1232] = 9, ACTIONS(7), 1, anon_sym_DOLLAR, - ACTIONS(21), 1, + ACTIONS(9), 1, + anon_sym_record, + ACTIONS(11), 1, + sym_function_name, + ACTIONS(23), 1, sym_original_input, ACTIONS(47), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - sym_function_name, - STATE(19), 1, + STATE(26), 1, sym_record_field_selector, - STATE(49), 1, + STATE(53), 1, sym__parenthesized_pipeline_expression, - ACTIONS(23), 2, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - STATE(86), 4, + STATE(73), 4, sym__pipeline_expression, sym_tuple_projection, sym_function_call, sym_record_access, - [966] = 8, + [1264] = 9, ACTIONS(7), 1, anon_sym_DOLLAR, - ACTIONS(21), 1, + ACTIONS(9), 1, + anon_sym_record, + ACTIONS(11), 1, + sym_function_name, + ACTIONS(23), 1, sym_original_input, ACTIONS(47), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - sym_function_name, - STATE(19), 1, + STATE(26), 1, sym_record_field_selector, - STATE(49), 1, + STATE(53), 1, sym__parenthesized_pipeline_expression, - ACTIONS(23), 2, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - STATE(82), 4, + STATE(88), 4, sym__pipeline_expression, sym_tuple_projection, sym_function_call, sym_record_access, - [995] = 8, + [1296] = 9, ACTIONS(3), 1, anon_sym_PIPE_GT, ACTIONS(5), 1, anon_sym_LPAREN, ACTIONS(7), 1, anon_sym_DOLLAR, - ACTIONS(57), 1, + ACTIONS(9), 1, + anon_sym_record, + ACTIONS(11), 1, sym_function_name, - STATE(71), 1, + STATE(87), 1, + sym_expression, + STATE(89), 1, + sym_parenthesized_expression, + STATE(91), 1, sym_parenthesized_open_expression, + STATE(71), 3, + sym_map_shorthand, + sym_tuple_projection, + sym_function_call, + [1326] = 8, + ACTIONS(3), 1, + anon_sym_PIPE_GT, + ACTIONS(5), 1, + anon_sym_LPAREN, + ACTIONS(7), 1, + anon_sym_DOLLAR, + ACTIONS(9), 1, + anon_sym_record, + ACTIONS(11), 1, + sym_function_name, STATE(72), 1, + sym_expression, + STATE(134), 1, + sym_open_expression, + STATE(71), 4, + sym_map_shorthand, sym_parenthesized_expression, - STATE(87), 1, + sym_tuple_projection, + sym_function_call, + [1354] = 7, + ACTIONS(3), 1, + anon_sym_PIPE_GT, + ACTIONS(5), 1, + anon_sym_LPAREN, + ACTIONS(7), 1, + anon_sym_DOLLAR, + ACTIONS(9), 1, + anon_sym_record, + ACTIONS(11), 1, + sym_function_name, + STATE(74), 1, sym_expression, - STATE(67), 3, + STATE(71), 4, sym_map_shorthand, + sym_parenthesized_expression, sym_tuple_projection, sym_function_call, - [1022] = 5, - ACTIONS(61), 1, + [1379] = 5, + ACTIONS(67), 1, anon_sym_PIPE, - STATE(21), 1, + STATE(28), 1, aux_sym_record_access_repeat1, - STATE(31), 1, + STATE(36), 1, sym_immediate_record_field_selector, - ACTIONS(63), 2, + ACTIONS(69), 2, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - ACTIONS(59), 5, + ACTIONS(65), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1043] = 7, - ACTIONS(27), 1, - anon_sym_DQUOTE, + [1400] = 7, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, - ACTIONS(65), 1, + ACTIONS(71), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(67), 1, + ACTIONS(73), 1, sym_unquoted_record_field_name, - STATE(120), 1, + STATE(133), 1, sym_record_field_name, - STATE(119), 2, + STATE(126), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(112), 3, + STATE(114), 3, sym__record_entry, sym_record_field, sym_record_spread, - [1068] = 5, - ACTIONS(71), 1, + [1425] = 5, + ACTIONS(77), 1, anon_sym_PIPE, - STATE(23), 1, + STATE(24), 1, aux_sym_record_access_repeat1, - STATE(31), 1, + STATE(36), 1, sym_immediate_record_field_selector, - ACTIONS(63), 2, + ACTIONS(69), 2, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - ACTIONS(69), 5, + ACTIONS(75), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1089] = 5, - ACTIONS(75), 1, + [1446] = 5, + ACTIONS(81), 1, anon_sym_PIPE, - STATE(23), 1, + STATE(28), 1, aux_sym_record_access_repeat1, - STATE(31), 1, + STATE(36), 1, sym_immediate_record_field_selector, - ACTIONS(63), 2, + ACTIONS(69), 2, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - ACTIONS(73), 5, + ACTIONS(79), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1110] = 5, - ACTIONS(79), 1, + [1467] = 5, + ACTIONS(85), 1, anon_sym_PIPE, - STATE(23), 1, + STATE(28), 1, aux_sym_record_access_repeat1, - STATE(31), 1, + STATE(36), 1, sym_immediate_record_field_selector, - ACTIONS(81), 2, + ACTIONS(87), 2, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - ACTIONS(77), 5, + ACTIONS(83), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1131] = 5, - ACTIONS(86), 1, + [1488] = 5, + ACTIONS(92), 1, anon_sym_PIPE, - STATE(22), 1, + STATE(27), 1, aux_sym_record_access_repeat1, - STATE(31), 1, + STATE(36), 1, sym_immediate_record_field_selector, - ACTIONS(63), 2, + ACTIONS(69), 2, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - ACTIONS(84), 5, + ACTIONS(90), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1152] = 7, - ACTIONS(3), 1, - anon_sym_PIPE_GT, - ACTIONS(5), 1, - anon_sym_LPAREN, - ACTIONS(7), 1, - anon_sym_DOLLAR, - ACTIONS(57), 1, - sym_function_name, - STATE(66), 1, - sym_expression, - STATE(126), 1, - sym_open_expression, - STATE(67), 4, - sym_map_shorthand, - sym_parenthesized_expression, - sym_tuple_projection, - sym_function_call, - [1177] = 6, - ACTIONS(3), 1, - anon_sym_PIPE_GT, - ACTIONS(5), 1, - anon_sym_LPAREN, - ACTIONS(7), 1, - anon_sym_DOLLAR, - ACTIONS(57), 1, - sym_function_name, - STATE(65), 1, - sym_expression, - STATE(67), 4, - sym_map_shorthand, - sym_parenthesized_expression, - sym_tuple_projection, - sym_function_call, - [1199] = 2, - ACTIONS(90), 1, + [1509] = 2, + ACTIONS(96), 1, anon_sym_PIPE, - ACTIONS(88), 8, + ACTIONS(94), 8, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, @@ -2890,10 +3236,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1213] = 2, - ACTIONS(94), 1, + [1523] = 2, + ACTIONS(100), 1, anon_sym_PIPE, - ACTIONS(92), 8, + ACTIONS(98), 8, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, @@ -2902,10 +3248,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1227] = 2, - ACTIONS(98), 1, + [1537] = 2, + ACTIONS(104), 1, anon_sym_PIPE, - ACTIONS(96), 8, + ACTIONS(102), 8, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, @@ -2914,10 +3260,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1241] = 2, - ACTIONS(102), 1, + [1551] = 2, + ACTIONS(108), 1, anon_sym_PIPE, - ACTIONS(100), 8, + ACTIONS(106), 8, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, @@ -2926,10 +3272,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1255] = 2, - ACTIONS(106), 1, + [1565] = 2, + ACTIONS(112), 1, anon_sym_PIPE, - ACTIONS(104), 7, + ACTIONS(110), 7, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, @@ -2937,10 +3283,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - [1268] = 2, - ACTIONS(110), 1, + [1578] = 2, + ACTIONS(116), 1, anon_sym_PIPE, - ACTIONS(108), 7, + ACTIONS(114), 7, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + [1591] = 2, + ACTIONS(120), 1, + anon_sym_PIPE, + ACTIONS(118), 7, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, @@ -2948,10 +3305,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - [1281] = 2, - ACTIONS(114), 1, + [1604] = 2, + ACTIONS(124), 1, anon_sym_PIPE, - ACTIONS(112), 7, + ACTIONS(122), 7, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, @@ -2959,10 +3316,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1294] = 2, - ACTIONS(118), 1, + [1617] = 2, + ACTIONS(128), 1, anon_sym_PIPE, - ACTIONS(116), 7, + ACTIONS(126), 7, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, @@ -2970,23 +3327,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1307] = 4, - ACTIONS(120), 1, + [1630] = 4, + ACTIONS(130), 1, anon_sym_LPAREN, - STATE(58), 1, + STATE(62), 1, sym_interval_shorthand, - ACTIONS(122), 2, + ACTIONS(132), 2, anon_sym_LBRACK, anon_sym_RBRACK, - ACTIONS(124), 4, + ACTIONS(134), 4, anon_sym_LPAREN0_PLUS_RPAREN, anon_sym_LPAREN_PLUS_RPAREN, anon_sym_LPAREN0_DASH_RPAREN, anon_sym_LPAREN_DASH_RPAREN, - [1324] = 2, - ACTIONS(128), 1, + [1647] = 2, + ACTIONS(138), 1, anon_sym_PIPE, - ACTIONS(126), 7, + ACTIONS(136), 7, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, @@ -2994,10 +3351,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - [1337] = 2, - ACTIONS(132), 1, + [1660] = 2, + ACTIONS(142), 1, anon_sym_PIPE, - ACTIONS(130), 7, + ACTIONS(140), 7, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, @@ -3005,10 +3362,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - [1350] = 2, - ACTIONS(136), 1, + [1673] = 2, + ACTIONS(146), 1, anon_sym_PIPE, - ACTIONS(134), 7, + ACTIONS(144), 7, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, @@ -3016,975 +3373,1018 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - [1363] = 2, - ACTIONS(140), 1, - anon_sym_PIPE, - ACTIONS(138), 7, - ts_builtin_sym_end, - anon_sym_PIPE_GT, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - [1376] = 3, - ACTIONS(144), 1, - anon_sym_PIPE, - ACTIONS(146), 1, - anon_sym_LPAREN, - ACTIONS(142), 5, - ts_builtin_sym_end, - anon_sym_PIPE_GT, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACE, - [1390] = 2, + [1686] = 3, ACTIONS(150), 1, anon_sym_PIPE, + ACTIONS(152), 1, + anon_sym_LPAREN, ACTIONS(148), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1401] = 2, - ACTIONS(154), 1, + [1700] = 2, + ACTIONS(156), 1, anon_sym_PIPE, - ACTIONS(152), 5, + ACTIONS(154), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1412] = 2, - ACTIONS(158), 1, + [1711] = 5, + ACTIONS(160), 1, anon_sym_PIPE, - ACTIONS(156), 5, - ts_builtin_sym_end, - anon_sym_PIPE_GT, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACE, - [1423] = 5, ACTIONS(162), 1, - anon_sym_PIPE, - ACTIONS(164), 1, anon_sym_PIPE_GT, - STATE(54), 1, + STATE(59), 1, aux_sym_closed_expression_repeat1, - STATE(78), 1, + STATE(80), 1, sym__pipeline_map_shorthand, - ACTIONS(160), 2, + ACTIONS(158), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [1440] = 2, - ACTIONS(168), 1, + [1728] = 2, + ACTIONS(166), 1, anon_sym_PIPE, - ACTIONS(166), 5, + ACTIONS(164), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1451] = 2, - ACTIONS(172), 1, + [1739] = 2, + ACTIONS(170), 1, anon_sym_PIPE, - ACTIONS(170), 5, + ACTIONS(168), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1462] = 2, - ACTIONS(176), 1, + [1750] = 2, + ACTIONS(174), 1, anon_sym_PIPE, - ACTIONS(174), 5, + ACTIONS(172), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1473] = 2, - ACTIONS(180), 1, + [1761] = 2, + ACTIONS(178), 1, anon_sym_PIPE, - ACTIONS(178), 5, + ACTIONS(176), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1484] = 2, - ACTIONS(184), 1, + [1772] = 2, + ACTIONS(182), 1, anon_sym_PIPE, - ACTIONS(182), 5, + ACTIONS(180), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1495] = 2, - ACTIONS(188), 1, + [1783] = 2, + ACTIONS(186), 1, anon_sym_PIPE, - ACTIONS(186), 5, + ACTIONS(184), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1506] = 5, - ACTIONS(192), 1, + [1794] = 2, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(195), 1, - anon_sym_PIPE_GT, - STATE(51), 1, - aux_sym_closed_expression_repeat1, - STATE(78), 1, - sym__pipeline_map_shorthand, - ACTIONS(190), 2, + ACTIONS(188), 5, ts_builtin_sym_end, + anon_sym_PIPE_GT, anon_sym_RPAREN, - [1523] = 2, - ACTIONS(200), 1, + anon_sym_COMMA, + anon_sym_RBRACE, + [1805] = 2, + ACTIONS(194), 1, anon_sym_PIPE, - ACTIONS(198), 5, + ACTIONS(192), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1534] = 2, - ACTIONS(204), 1, + [1816] = 3, + ACTIONS(198), 1, anon_sym_PIPE, - ACTIONS(202), 5, + STATE(54), 1, + aux_sym_open_expression_repeat1, + ACTIONS(196), 4, ts_builtin_sym_end, - anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1545] = 5, - ACTIONS(162), 1, + [1829] = 5, + ACTIONS(203), 1, anon_sym_PIPE, - ACTIONS(164), 1, + ACTIONS(206), 1, anon_sym_PIPE_GT, - STATE(51), 1, + STATE(55), 1, aux_sym_closed_expression_repeat1, - STATE(78), 1, + STATE(80), 1, sym__pipeline_map_shorthand, - ACTIONS(206), 2, + ACTIONS(201), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [1562] = 2, - ACTIONS(210), 1, + [1846] = 2, + ACTIONS(211), 1, anon_sym_PIPE, - ACTIONS(208), 5, + ACTIONS(209), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1573] = 2, - ACTIONS(214), 1, + [1857] = 2, + ACTIONS(215), 1, anon_sym_PIPE, - ACTIONS(212), 5, + ACTIONS(213), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1584] = 2, - ACTIONS(218), 1, + [1868] = 2, + ACTIONS(215), 1, anon_sym_PIPE, - ACTIONS(216), 5, + ACTIONS(213), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1595] = 2, - ACTIONS(222), 1, + [1879] = 5, + ACTIONS(160), 1, + anon_sym_PIPE, + ACTIONS(162), 1, + anon_sym_PIPE_GT, + STATE(55), 1, + aux_sym_closed_expression_repeat1, + STATE(80), 1, + sym__pipeline_map_shorthand, + ACTIONS(217), 2, + ts_builtin_sym_end, + anon_sym_RPAREN, + [1896] = 2, + ACTIONS(221), 1, anon_sym_PIPE, - ACTIONS(220), 5, + ACTIONS(219), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1606] = 2, - ACTIONS(226), 1, + [1907] = 2, + ACTIONS(225), 1, anon_sym_PIPE, - ACTIONS(224), 5, + ACTIONS(223), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1617] = 2, - ACTIONS(230), 1, + [1918] = 2, + ACTIONS(229), 1, anon_sym_PIPE, - ACTIONS(228), 5, + ACTIONS(227), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1628] = 2, - ACTIONS(234), 1, + [1929] = 2, + ACTIONS(233), 1, anon_sym_PIPE, - ACTIONS(232), 5, + ACTIONS(231), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1639] = 2, - ACTIONS(238), 1, + [1940] = 2, + ACTIONS(237), 1, anon_sym_PIPE, - ACTIONS(236), 5, + ACTIONS(235), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1650] = 2, - ACTIONS(242), 1, + [1951] = 2, + ACTIONS(166), 1, anon_sym_PIPE, - ACTIONS(240), 5, + ACTIONS(164), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1661] = 3, - ACTIONS(246), 1, + [1962] = 2, + ACTIONS(241), 1, anon_sym_PIPE, - STATE(64), 1, - aux_sym_open_expression_repeat1, - ACTIONS(244), 4, + ACTIONS(239), 5, ts_builtin_sym_end, + anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1674] = 2, - ACTIONS(251), 1, + [1973] = 2, + ACTIONS(245), 1, anon_sym_PIPE, - ACTIONS(249), 4, + ACTIONS(243), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, + anon_sym_COMMA, anon_sym_RBRACE, - [1684] = 3, - ACTIONS(255), 1, + [1984] = 2, + ACTIONS(249), 1, anon_sym_PIPE, - STATE(69), 1, - aux_sym_open_expression_repeat1, - ACTIONS(253), 3, + ACTIONS(247), 5, ts_builtin_sym_end, + anon_sym_PIPE_GT, anon_sym_RPAREN, + anon_sym_COMMA, anon_sym_RBRACE, - [1696] = 2, - ACTIONS(259), 1, + [1995] = 2, + ACTIONS(253), 1, anon_sym_PIPE, - ACTIONS(257), 4, + ACTIONS(251), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, + anon_sym_COMMA, anon_sym_RBRACE, - [1706] = 3, - ACTIONS(146), 1, + [2006] = 3, + ACTIONS(152), 1, anon_sym_LPAREN, - ACTIONS(261), 1, + ACTIONS(255), 1, anon_sym_COLON_EQ, - ACTIONS(142), 3, + ACTIONS(148), 3, anon_sym_PIPE, anon_sym_RPAREN, anon_sym_COMMA, - [1718] = 3, - ACTIONS(255), 1, + [2018] = 2, + ACTIONS(259), 1, + anon_sym_PIPE, + ACTIONS(257), 4, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_RPAREN, + anon_sym_RBRACE, + [2028] = 3, + ACTIONS(263), 1, anon_sym_PIPE, - STATE(64), 1, + STATE(75), 1, aux_sym_open_expression_repeat1, - ACTIONS(263), 3, + ACTIONS(261), 3, ts_builtin_sym_end, anon_sym_RPAREN, anon_sym_RBRACE, - [1730] = 1, - ACTIONS(244), 5, + [2040] = 1, + ACTIONS(196), 5, ts_builtin_sym_end, anon_sym_PIPE, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1738] = 2, + [2048] = 2, ACTIONS(267), 1, anon_sym_PIPE, - ACTIONS(265), 3, + ACTIONS(265), 4, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [1747] = 2, - ACTIONS(271), 1, + anon_sym_RBRACE, + [2058] = 3, + ACTIONS(263), 1, anon_sym_PIPE, + STATE(54), 1, + aux_sym_open_expression_repeat1, ACTIONS(269), 3, ts_builtin_sym_end, - anon_sym_PIPE_GT, anon_sym_RPAREN, - [1756] = 1, - ACTIONS(273), 4, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_RBRACK, - [1763] = 2, - ACTIONS(275), 1, - anon_sym_COLON_EQ, - ACTIONS(112), 3, - anon_sym_PIPE, - anon_sym_COMMA, anon_sym_RBRACE, - [1772] = 4, - ACTIONS(277), 1, + [2070] = 4, + ACTIONS(271), 1, anon_sym_PIPE, - ACTIONS(279), 1, + ACTIONS(273), 1, anon_sym_COMMA, - ACTIONS(281), 1, + ACTIONS(275), 1, anon_sym_RBRACE, - STATE(92), 1, + STATE(98), 1, aux_sym_array_literal_repeat1, - [1785] = 3, - ACTIONS(255), 1, + [2083] = 3, + ACTIONS(277), 1, + anon_sym_DQUOTE, + STATE(78), 1, + aux_sym_double_quoted_literal_repeat1, + ACTIONS(279), 2, + sym_double_quoted_content, + sym_escape_sequence, + [2094] = 3, + ACTIONS(281), 1, + anon_sym_DQUOTE, + STATE(81), 1, + aux_sym_double_quoted_literal_repeat1, + ACTIONS(283), 2, + sym_double_quoted_content, + sym_escape_sequence, + [2105] = 3, + ACTIONS(263), 1, anon_sym_PIPE, - STATE(64), 1, + STATE(54), 1, aux_sym_open_expression_repeat1, - ACTIONS(283), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [1796] = 1, - ACTIONS(285), 4, + ACTIONS(285), 2, anon_sym_RPAREN, anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_RBRACK, - [1803] = 2, + [2116] = 2, ACTIONS(289), 1, anon_sym_PIPE, ACTIONS(287), 3, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [1812] = 3, + [2125] = 3, ACTIONS(291), 1, anon_sym_DQUOTE, - STATE(83), 1, + STATE(81), 1, aux_sym_double_quoted_literal_repeat1, ACTIONS(293), 2, sym_double_quoted_content, sym_escape_sequence, - [1823] = 3, - ACTIONS(297), 1, - anon_sym_COMMA, - STATE(80), 1, - aux_sym_array_literal_repeat1, - ACTIONS(295), 2, - anon_sym_RPAREN, - anon_sym_RBRACE, - [1834] = 3, - ACTIONS(255), 1, + [2136] = 3, + ACTIONS(263), 1, anon_sym_PIPE, - STATE(76), 1, + STATE(79), 1, aux_sym_open_expression_repeat1, - ACTIONS(300), 2, + ACTIONS(296), 2, anon_sym_RPAREN, anon_sym_COMMA, - [1845] = 3, - ACTIONS(255), 1, + [2147] = 2, + ACTIONS(298), 1, + anon_sym_COLON_EQ, + ACTIONS(122), 3, anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACE, + [2156] = 3, + ACTIONS(302), 1, + anon_sym_COMMA, STATE(84), 1, - aux_sym_open_expression_repeat1, - ACTIONS(302), 2, + aux_sym_array_literal_repeat1, + ACTIONS(300), 2, + anon_sym_RPAREN, + anon_sym_RBRACE, + [2167] = 1, + ACTIONS(305), 4, anon_sym_RPAREN, anon_sym_COMMA, - [1856] = 3, - ACTIONS(304), 1, - anon_sym_DQUOTE, - STATE(83), 1, - aux_sym_double_quoted_literal_repeat1, - ACTIONS(306), 2, - sym_double_quoted_content, - sym_escape_sequence, - [1867] = 3, - ACTIONS(255), 1, + anon_sym_LBRACK, + anon_sym_RBRACK, + [2174] = 2, + ACTIONS(307), 1, anon_sym_PIPE, - STATE(64), 1, - aux_sym_open_expression_repeat1, - ACTIONS(309), 2, + ACTIONS(201), 3, + ts_builtin_sym_end, + anon_sym_PIPE_GT, anon_sym_RPAREN, - anon_sym_COMMA, - [1878] = 3, + [2183] = 2, ACTIONS(311), 1, - anon_sym_DQUOTE, - STATE(79), 1, - aux_sym_double_quoted_literal_repeat1, + anon_sym_PIPE, + ACTIONS(309), 3, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_RPAREN, + [2192] = 3, + ACTIONS(263), 1, + anon_sym_PIPE, + STATE(90), 1, + aux_sym_open_expression_repeat1, ACTIONS(313), 2, - sym_double_quoted_content, - sym_escape_sequence, - [1889] = 2, - ACTIONS(315), 1, + anon_sym_RPAREN, + anon_sym_COMMA, + [2203] = 2, + ACTIONS(317), 1, anon_sym_PIPE, - ACTIONS(190), 3, + ACTIONS(315), 3, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [1898] = 2, - ACTIONS(267), 1, + [2212] = 3, + ACTIONS(263), 1, + anon_sym_PIPE, + STATE(54), 1, + aux_sym_open_expression_repeat1, + ACTIONS(319), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [2223] = 2, + ACTIONS(311), 1, anon_sym_PIPE, - ACTIONS(265), 3, + ACTIONS(309), 3, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [1907] = 1, - ACTIONS(317), 3, + [2232] = 1, + ACTIONS(321), 4, anon_sym_RPAREN, + anon_sym_COMMA, anon_sym_LBRACK, anon_sym_RBRACK, - [1913] = 3, - ACTIONS(279), 1, + [2239] = 3, + ACTIONS(323), 1, + anon_sym_RPAREN, + ACTIONS(325), 1, + anon_sym_COMMA, + STATE(93), 1, + aux_sym_argument_list_repeat1, + [2249] = 3, + ACTIONS(273), 1, anon_sym_COMMA, - ACTIONS(319), 1, + ACTIONS(328), 1, anon_sym_RPAREN, - STATE(80), 1, + STATE(84), 1, aux_sym_array_literal_repeat1, - [1923] = 2, - ACTIONS(321), 1, + [2259] = 2, + ACTIONS(330), 1, anon_sym_PIPE, - ACTIONS(323), 2, + ACTIONS(332), 2, anon_sym_RPAREN, anon_sym_COMMA, - [1931] = 3, - ACTIONS(279), 1, + [2267] = 3, + ACTIONS(334), 1, + anon_sym_RPAREN, + ACTIONS(336), 1, anon_sym_COMMA, - ACTIONS(281), 1, + STATE(103), 1, + aux_sym_argument_list_repeat1, + [2277] = 2, + ACTIONS(188), 1, + anon_sym_PIPE, + ACTIONS(338), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [2285] = 3, + ACTIONS(273), 1, + anon_sym_COMMA, + ACTIONS(341), 1, anon_sym_RBRACE, - STATE(92), 1, + STATE(84), 1, aux_sym_array_literal_repeat1, - [1941] = 3, - ACTIONS(279), 1, + [2295] = 3, + ACTIONS(343), 1, + anon_sym_RPAREN, + ACTIONS(345), 1, anon_sym_COMMA, - ACTIONS(325), 1, + STATE(93), 1, + aux_sym_argument_list_repeat1, + [2305] = 3, + ACTIONS(273), 1, + anon_sym_COMMA, + ACTIONS(275), 1, anon_sym_RBRACE, - STATE(80), 1, + STATE(98), 1, aux_sym_array_literal_repeat1, - [1951] = 3, - ACTIONS(327), 1, + [2315] = 3, + ACTIONS(347), 1, anon_sym_COMMA, - ACTIONS(329), 1, + ACTIONS(349), 1, anon_sym_RBRACE, - STATE(94), 1, + STATE(102), 1, aux_sym_record_literal_repeat1, - [1961] = 3, - ACTIONS(327), 1, + [2325] = 3, + ACTIONS(347), 1, anon_sym_COMMA, - ACTIONS(331), 1, + ACTIONS(351), 1, anon_sym_RBRACE, - STATE(97), 1, + STATE(105), 1, aux_sym_record_literal_repeat1, - [1971] = 3, - ACTIONS(333), 1, - anon_sym_RPAREN, - ACTIONS(335), 1, + [2335] = 3, + ACTIONS(336), 1, anon_sym_COMMA, - STATE(101), 1, + ACTIONS(343), 1, + anon_sym_RPAREN, + STATE(93), 1, aux_sym_argument_list_repeat1, - [1981] = 1, - ACTIONS(295), 3, + [2345] = 1, + ACTIONS(300), 3, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1987] = 3, - ACTIONS(337), 1, + [2351] = 3, + ACTIONS(353), 1, anon_sym_COMMA, - ACTIONS(340), 1, + ACTIONS(356), 1, anon_sym_RBRACE, - STATE(97), 1, + STATE(105), 1, aux_sym_record_literal_repeat1, - [1997] = 3, - ACTIONS(335), 1, - anon_sym_COMMA, - ACTIONS(342), 1, - anon_sym_RPAREN, - STATE(95), 1, - aux_sym_argument_list_repeat1, - [2007] = 3, - ACTIONS(255), 1, + [2361] = 3, + ACTIONS(263), 1, anon_sym_PIPE, - ACTIONS(344), 1, + ACTIONS(358), 1, anon_sym_RPAREN, - STATE(103), 1, + STATE(111), 1, aux_sym_open_expression_repeat1, - [2017] = 3, - ACTIONS(170), 1, + [2371] = 3, + ACTIONS(172), 1, anon_sym_PIPE_GT, - ACTIONS(346), 1, - anon_sym_PIPE, - ACTIONS(348), 1, - anon_sym_RPAREN, - [2027] = 3, - ACTIONS(350), 1, - anon_sym_RPAREN, - ACTIONS(352), 1, - anon_sym_COMMA, - STATE(101), 1, - aux_sym_argument_list_repeat1, - [2037] = 3, - ACTIONS(279), 1, - anon_sym_COMMA, - ACTIONS(355), 1, - anon_sym_RPAREN, - STATE(89), 1, - aux_sym_array_literal_repeat1, - [2047] = 3, - ACTIONS(255), 1, + ACTIONS(360), 1, anon_sym_PIPE, - ACTIONS(357), 1, + ACTIONS(362), 1, anon_sym_RPAREN, - STATE(64), 1, - aux_sym_open_expression_repeat1, - [2057] = 3, - ACTIONS(359), 1, + [2381] = 3, + ACTIONS(364), 1, aux_sym_tuple_projection_token1, - ACTIONS(361), 1, + ACTIONS(366), 1, aux_sym_original_record_field_selector_token1, - STATE(24), 1, + STATE(29), 1, sym_original_record_field_selector, - [2067] = 2, - ACTIONS(178), 1, - anon_sym_PIPE, - ACTIONS(363), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [2075] = 1, - ACTIONS(366), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [2080] = 1, - ACTIONS(368), 2, + [2391] = 1, + ACTIONS(368), 3, anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + [2397] = 3, + ACTIONS(273), 1, anon_sym_COMMA, - [2085] = 2, ACTIONS(370), 1, - anon_sym_BQUOTE, + anon_sym_RPAREN, + STATE(94), 1, + aux_sym_array_literal_repeat1, + [2407] = 3, + ACTIONS(263), 1, + anon_sym_PIPE, ACTIONS(372), 1, - sym_backtick_quoted_content, - [2092] = 1, - ACTIONS(374), 2, anon_sym_RPAREN, - anon_sym_COMMA, - [2097] = 1, - ACTIONS(350), 2, + STATE(54), 1, + aux_sym_open_expression_repeat1, + [2417] = 3, + ACTIONS(334), 1, anon_sym_RPAREN, + ACTIONS(374), 1, anon_sym_COMMA, - [2102] = 1, + STATE(99), 1, + aux_sym_argument_list_repeat1, + [2427] = 1, ACTIONS(376), 2, - ts_builtin_sym_end, anon_sym_RPAREN, - [2107] = 1, - ACTIONS(340), 2, + anon_sym_COMMA, + [2432] = 1, + ACTIONS(356), 2, anon_sym_COMMA, anon_sym_RBRACE, - [2112] = 2, + [2437] = 2, ACTIONS(378), 1, - aux_sym_tuple_projection_token1, + anon_sym_BQUOTE, ACTIONS(380), 1, - anon_sym_CARET, - [2119] = 1, + sym_backtick_quoted_content, + [2444] = 1, + ACTIONS(323), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [2449] = 1, ACTIONS(382), 2, anon_sym_COMMA, anon_sym_RBRACE, - [2124] = 1, + [2454] = 1, ACTIONS(384), 2, anon_sym_RPAREN, anon_sym_COMMA, - [2129] = 1, - ACTIONS(386), 1, + [2459] = 1, + ACTIONS(386), 2, + anon_sym_RPAREN, anon_sym_COMMA, - [2133] = 1, - ACTIONS(277), 1, - anon_sym_PIPE, - [2137] = 1, + [2464] = 2, ACTIONS(388), 1, - anon_sym_RPAREN, - [2141] = 1, - ACTIONS(275), 1, - anon_sym_COLON_EQ, - [2145] = 1, + aux_sym_tuple_projection_token1, ACTIONS(390), 1, - anon_sym_COLON_EQ, - [2149] = 1, - ACTIONS(392), 1, + anon_sym_CARET, + [2471] = 1, + ACTIONS(392), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [2476] = 1, + ACTIONS(394), 2, ts_builtin_sym_end, - [2153] = 1, - ACTIONS(394), 1, anon_sym_RPAREN, - [2157] = 1, + [2481] = 1, ACTIONS(396), 1, - anon_sym_BQUOTE, - [2161] = 1, + anon_sym_COMMA, + [2485] = 1, ACTIONS(398), 1, - aux_sym_tuple_projection_token1, - [2165] = 1, + anon_sym_COMMA, + [2489] = 1, ACTIONS(400), 1, - anon_sym_LPAREN, - [2169] = 1, + anon_sym_BQUOTE, + [2493] = 1, + ACTIONS(298), 1, + anon_sym_COLON_EQ, + [2497] = 1, ACTIONS(402), 1, - anon_sym_RBRACE, - [2173] = 1, + anon_sym_RPAREN, + [2501] = 1, ACTIONS(404), 1, - anon_sym_RBRACE, - [2177] = 1, + anon_sym_RPAREN, + [2505] = 1, ACTIONS(406), 1, - ts_builtin_sym_end, - [2181] = 1, + anon_sym_RBRACE, + [2509] = 1, + ACTIONS(271), 1, + anon_sym_PIPE, + [2513] = 1, ACTIONS(408), 1, - anon_sym_COMMA, - [2185] = 1, + ts_builtin_sym_end, + [2517] = 1, ACTIONS(410), 1, anon_sym_RPAREN, + [2521] = 1, + ACTIONS(412), 1, + anon_sym_COLON_EQ, + [2525] = 1, + ACTIONS(414), 1, + anon_sym_RBRACE, + [2529] = 1, + ACTIONS(416), 1, + anon_sym_LPAREN, + [2533] = 1, + ACTIONS(418), 1, + anon_sym_LPAREN, + [2537] = 1, + ACTIONS(420), 1, + aux_sym_tuple_projection_token1, + [2541] = 1, + ACTIONS(422), 1, + ts_builtin_sym_end, + [2545] = 1, + ACTIONS(424), 1, + anon_sym_RPAREN, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 91, - [SMALL_STATE(4)] = 180, - [SMALL_STATE(5)] = 265, - [SMALL_STATE(6)] = 346, - [SMALL_STATE(7)] = 430, - [SMALL_STATE(8)] = 514, - [SMALL_STATE(9)] = 592, - [SMALL_STATE(10)] = 653, - [SMALL_STATE(11)] = 714, - [SMALL_STATE(12)] = 775, - [SMALL_STATE(13)] = 836, - [SMALL_STATE(14)] = 872, - [SMALL_STATE(15)] = 908, - [SMALL_STATE(16)] = 937, - [SMALL_STATE(17)] = 966, - [SMALL_STATE(18)] = 995, - [SMALL_STATE(19)] = 1022, - [SMALL_STATE(20)] = 1043, - [SMALL_STATE(21)] = 1068, - [SMALL_STATE(22)] = 1089, - [SMALL_STATE(23)] = 1110, - [SMALL_STATE(24)] = 1131, - [SMALL_STATE(25)] = 1152, - [SMALL_STATE(26)] = 1177, - [SMALL_STATE(27)] = 1199, - [SMALL_STATE(28)] = 1213, - [SMALL_STATE(29)] = 1227, - [SMALL_STATE(30)] = 1241, - [SMALL_STATE(31)] = 1255, - [SMALL_STATE(32)] = 1268, - [SMALL_STATE(33)] = 1281, - [SMALL_STATE(34)] = 1294, - [SMALL_STATE(35)] = 1307, - [SMALL_STATE(36)] = 1324, - [SMALL_STATE(37)] = 1337, - [SMALL_STATE(38)] = 1350, - [SMALL_STATE(39)] = 1363, - [SMALL_STATE(40)] = 1376, - [SMALL_STATE(41)] = 1390, - [SMALL_STATE(42)] = 1401, - [SMALL_STATE(43)] = 1412, - [SMALL_STATE(44)] = 1423, - [SMALL_STATE(45)] = 1440, - [SMALL_STATE(46)] = 1451, - [SMALL_STATE(47)] = 1462, - [SMALL_STATE(48)] = 1473, - [SMALL_STATE(49)] = 1484, - [SMALL_STATE(50)] = 1495, - [SMALL_STATE(51)] = 1506, - [SMALL_STATE(52)] = 1523, - [SMALL_STATE(53)] = 1534, - [SMALL_STATE(54)] = 1545, - [SMALL_STATE(55)] = 1562, - [SMALL_STATE(56)] = 1573, - [SMALL_STATE(57)] = 1584, - [SMALL_STATE(58)] = 1595, - [SMALL_STATE(59)] = 1606, - [SMALL_STATE(60)] = 1617, - [SMALL_STATE(61)] = 1628, - [SMALL_STATE(62)] = 1639, - [SMALL_STATE(63)] = 1650, - [SMALL_STATE(64)] = 1661, - [SMALL_STATE(65)] = 1674, - [SMALL_STATE(66)] = 1684, - [SMALL_STATE(67)] = 1696, - [SMALL_STATE(68)] = 1706, - [SMALL_STATE(69)] = 1718, - [SMALL_STATE(70)] = 1730, - [SMALL_STATE(71)] = 1738, - [SMALL_STATE(72)] = 1747, - [SMALL_STATE(73)] = 1756, - [SMALL_STATE(74)] = 1763, - [SMALL_STATE(75)] = 1772, - [SMALL_STATE(76)] = 1785, - [SMALL_STATE(77)] = 1796, - [SMALL_STATE(78)] = 1803, - [SMALL_STATE(79)] = 1812, - [SMALL_STATE(80)] = 1823, - [SMALL_STATE(81)] = 1834, - [SMALL_STATE(82)] = 1845, - [SMALL_STATE(83)] = 1856, - [SMALL_STATE(84)] = 1867, - [SMALL_STATE(85)] = 1878, - [SMALL_STATE(86)] = 1889, - [SMALL_STATE(87)] = 1898, - [SMALL_STATE(88)] = 1907, - [SMALL_STATE(89)] = 1913, - [SMALL_STATE(90)] = 1923, - [SMALL_STATE(91)] = 1931, - [SMALL_STATE(92)] = 1941, - [SMALL_STATE(93)] = 1951, - [SMALL_STATE(94)] = 1961, - [SMALL_STATE(95)] = 1971, - [SMALL_STATE(96)] = 1981, - [SMALL_STATE(97)] = 1987, - [SMALL_STATE(98)] = 1997, - [SMALL_STATE(99)] = 2007, - [SMALL_STATE(100)] = 2017, - [SMALL_STATE(101)] = 2027, - [SMALL_STATE(102)] = 2037, - [SMALL_STATE(103)] = 2047, - [SMALL_STATE(104)] = 2057, - [SMALL_STATE(105)] = 2067, - [SMALL_STATE(106)] = 2075, - [SMALL_STATE(107)] = 2080, - [SMALL_STATE(108)] = 2085, - [SMALL_STATE(109)] = 2092, - [SMALL_STATE(110)] = 2097, - [SMALL_STATE(111)] = 2102, - [SMALL_STATE(112)] = 2107, - [SMALL_STATE(113)] = 2112, - [SMALL_STATE(114)] = 2119, - [SMALL_STATE(115)] = 2124, - [SMALL_STATE(116)] = 2129, - [SMALL_STATE(117)] = 2133, - [SMALL_STATE(118)] = 2137, - [SMALL_STATE(119)] = 2141, - [SMALL_STATE(120)] = 2145, - [SMALL_STATE(121)] = 2149, - [SMALL_STATE(122)] = 2153, - [SMALL_STATE(123)] = 2157, - [SMALL_STATE(124)] = 2161, - [SMALL_STATE(125)] = 2165, - [SMALL_STATE(126)] = 2169, - [SMALL_STATE(127)] = 2173, - [SMALL_STATE(128)] = 2177, - [SMALL_STATE(129)] = 2181, - [SMALL_STATE(130)] = 2185, + [SMALL_STATE(3)] = 95, + [SMALL_STATE(4)] = 189, + [SMALL_STATE(5)] = 280, + [SMALL_STATE(6)] = 371, + [SMALL_STATE(7)] = 463, + [SMALL_STATE(8)] = 551, + [SMALL_STATE(9)] = 635, + [SMALL_STATE(10)] = 722, + [SMALL_STATE(11)] = 806, + [SMALL_STATE(12)] = 884, + [SMALL_STATE(13)] = 945, + [SMALL_STATE(14)] = 1006, + [SMALL_STATE(15)] = 1067, + [SMALL_STATE(16)] = 1128, + [SMALL_STATE(17)] = 1164, + [SMALL_STATE(18)] = 1200, + [SMALL_STATE(19)] = 1232, + [SMALL_STATE(20)] = 1264, + [SMALL_STATE(21)] = 1296, + [SMALL_STATE(22)] = 1326, + [SMALL_STATE(23)] = 1354, + [SMALL_STATE(24)] = 1379, + [SMALL_STATE(25)] = 1400, + [SMALL_STATE(26)] = 1425, + [SMALL_STATE(27)] = 1446, + [SMALL_STATE(28)] = 1467, + [SMALL_STATE(29)] = 1488, + [SMALL_STATE(30)] = 1509, + [SMALL_STATE(31)] = 1523, + [SMALL_STATE(32)] = 1537, + [SMALL_STATE(33)] = 1551, + [SMALL_STATE(34)] = 1565, + [SMALL_STATE(35)] = 1578, + [SMALL_STATE(36)] = 1591, + [SMALL_STATE(37)] = 1604, + [SMALL_STATE(38)] = 1617, + [SMALL_STATE(39)] = 1630, + [SMALL_STATE(40)] = 1647, + [SMALL_STATE(41)] = 1660, + [SMALL_STATE(42)] = 1673, + [SMALL_STATE(43)] = 1686, + [SMALL_STATE(44)] = 1700, + [SMALL_STATE(45)] = 1711, + [SMALL_STATE(46)] = 1728, + [SMALL_STATE(47)] = 1739, + [SMALL_STATE(48)] = 1750, + [SMALL_STATE(49)] = 1761, + [SMALL_STATE(50)] = 1772, + [SMALL_STATE(51)] = 1783, + [SMALL_STATE(52)] = 1794, + [SMALL_STATE(53)] = 1805, + [SMALL_STATE(54)] = 1816, + [SMALL_STATE(55)] = 1829, + [SMALL_STATE(56)] = 1846, + [SMALL_STATE(57)] = 1857, + [SMALL_STATE(58)] = 1868, + [SMALL_STATE(59)] = 1879, + [SMALL_STATE(60)] = 1896, + [SMALL_STATE(61)] = 1907, + [SMALL_STATE(62)] = 1918, + [SMALL_STATE(63)] = 1929, + [SMALL_STATE(64)] = 1940, + [SMALL_STATE(65)] = 1951, + [SMALL_STATE(66)] = 1962, + [SMALL_STATE(67)] = 1973, + [SMALL_STATE(68)] = 1984, + [SMALL_STATE(69)] = 1995, + [SMALL_STATE(70)] = 2006, + [SMALL_STATE(71)] = 2018, + [SMALL_STATE(72)] = 2028, + [SMALL_STATE(73)] = 2040, + [SMALL_STATE(74)] = 2048, + [SMALL_STATE(75)] = 2058, + [SMALL_STATE(76)] = 2070, + [SMALL_STATE(77)] = 2083, + [SMALL_STATE(78)] = 2094, + [SMALL_STATE(79)] = 2105, + [SMALL_STATE(80)] = 2116, + [SMALL_STATE(81)] = 2125, + [SMALL_STATE(82)] = 2136, + [SMALL_STATE(83)] = 2147, + [SMALL_STATE(84)] = 2156, + [SMALL_STATE(85)] = 2167, + [SMALL_STATE(86)] = 2174, + [SMALL_STATE(87)] = 2183, + [SMALL_STATE(88)] = 2192, + [SMALL_STATE(89)] = 2203, + [SMALL_STATE(90)] = 2212, + [SMALL_STATE(91)] = 2223, + [SMALL_STATE(92)] = 2232, + [SMALL_STATE(93)] = 2239, + [SMALL_STATE(94)] = 2249, + [SMALL_STATE(95)] = 2259, + [SMALL_STATE(96)] = 2267, + [SMALL_STATE(97)] = 2277, + [SMALL_STATE(98)] = 2285, + [SMALL_STATE(99)] = 2295, + [SMALL_STATE(100)] = 2305, + [SMALL_STATE(101)] = 2315, + [SMALL_STATE(102)] = 2325, + [SMALL_STATE(103)] = 2335, + [SMALL_STATE(104)] = 2345, + [SMALL_STATE(105)] = 2351, + [SMALL_STATE(106)] = 2361, + [SMALL_STATE(107)] = 2371, + [SMALL_STATE(108)] = 2381, + [SMALL_STATE(109)] = 2391, + [SMALL_STATE(110)] = 2397, + [SMALL_STATE(111)] = 2407, + [SMALL_STATE(112)] = 2417, + [SMALL_STATE(113)] = 2427, + [SMALL_STATE(114)] = 2432, + [SMALL_STATE(115)] = 2437, + [SMALL_STATE(116)] = 2444, + [SMALL_STATE(117)] = 2449, + [SMALL_STATE(118)] = 2454, + [SMALL_STATE(119)] = 2459, + [SMALL_STATE(120)] = 2464, + [SMALL_STATE(121)] = 2471, + [SMALL_STATE(122)] = 2476, + [SMALL_STATE(123)] = 2481, + [SMALL_STATE(124)] = 2485, + [SMALL_STATE(125)] = 2489, + [SMALL_STATE(126)] = 2493, + [SMALL_STATE(127)] = 2497, + [SMALL_STATE(128)] = 2501, + [SMALL_STATE(129)] = 2505, + [SMALL_STATE(130)] = 2509, + [SMALL_STATE(131)] = 2513, + [SMALL_STATE(132)] = 2517, + [SMALL_STATE(133)] = 2521, + [SMALL_STATE(134)] = 2525, + [SMALL_STATE(135)] = 2529, + [SMALL_STATE(136)] = 2533, + [SMALL_STATE(137)] = 2537, + [SMALL_STATE(138)] = 2541, + [SMALL_STATE(139)] = 2545, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), - [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), - [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), - [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), - [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), - [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(119), - [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 1, 0, 2), - [61] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 1, 0, 2), - [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [69] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 2, 0, 8), - [71] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 2, 0, 8), - [73] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 3, 0, 11), - [75] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 3, 0, 11), - [77] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), - [79] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), - [81] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), SHIFT_REPEAT(32), - [84] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 2, 0, 6), - [86] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 2, 0, 6), - [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backtick_quoted_literal, 2, 0, 0), - [90] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_backtick_quoted_literal, 2, 0, 0), - [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double_quoted_literal, 3, 0, 0), - [94] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_double_quoted_literal, 3, 0, 0), - [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backtick_quoted_literal, 3, 0, 0), - [98] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_backtick_quoted_literal, 3, 0, 0), - [100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double_quoted_literal, 2, 0, 0), - [102] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_double_quoted_literal, 2, 0, 0), - [104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 1, 0, 2), - [106] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_record_access_repeat1, 1, 0, 2), - [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_immediate_record_field_selector, 1, 0, 0), - [110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_immediate_record_field_selector, 1, 0, 0), - [112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_literal, 1, 0, 0), - [114] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quoted_literal, 1, 0, 0), - [116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_temporal_literal, 1, 0, 0), - [118] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_temporal_literal, 1, 0, 0), - [120] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13), - [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_original_record_field_selector, 1, 0, 0), - [128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_original_record_field_selector, 1, 0, 0), - [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field_selector, 1, 0, 0), - [132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_field_selector, 1, 0, 0), - [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_original_record_field_selector, 1, 0, 5), - [136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_original_record_field_selector, 1, 0, 5), - [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1, 0, 0), - [140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_literal, 1, 0, 0), - [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 1, 0, 1), - [144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 1, 0, 1), - [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 3, 1, 0), - [150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 3, 1, 0), - [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, 0, 1), - [154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, 0, 1), - [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 3, 0, 0), - [158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 3, 0, 0), - [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closed_expression, 1, 0, 0), - [162] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), - [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3, 0, 0), - [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3, 0, 0), - [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1, 0, 0), - [172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1, 0, 0), - [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_projection, 2, 0, 4), - [176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_projection, 2, 0, 4), - [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_incoming_value, 1, 0, 0), - [180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_incoming_value, 1, 0, 0), - [182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_expression, 1, 0, 7), - [184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pipeline_expression, 1, 0, 7), - [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_projection, 3, 0, 10), - [188] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_projection, 3, 0, 10), - [190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), - [192] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(16), - [195] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(18), - [198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2, 0, 0), - [200] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 2, 0, 0), - [202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, 0, 1), - [204] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, 0, 1), - [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closed_expression, 2, 0, 0), - [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4, 0, 0), - [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4, 0, 0), - [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 4, 1, 0), - [214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 4, 1, 0), - [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_shorthand, 1, 0, 0), - [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interval_shorthand, 1, 0, 0), - [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_literal, 2, 0, 0), - [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interval_literal, 2, 0, 0), - [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 9), - [226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 9), - [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parenthesized_pipeline_expression, 3, 0, 9), - [230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__parenthesized_pipeline_expression, 3, 0, 9), - [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_literal, 6, 0, 15), - [234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interval_literal, 6, 0, 15), - [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_literal, 6, 0, 0), - [238] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_literal, 6, 0, 0), - [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_literal, 7, 0, 0), - [242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_literal, 7, 0, 0), - [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_open_expression_repeat1, 2, 0, 0), - [246] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_open_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(15), - [249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_shorthand, 2, 0, 3), - [251] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_shorthand, 2, 0, 3), - [253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_expression, 1, 0, 0), - [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(43), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [43] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_argument_list, 2, 0, 0), + [45] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_argument_list, 3, 0, 0), + [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126), + [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [65] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 2, 0, 8), + [67] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 2, 0, 8), + [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 1, 0, 2), + [77] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 1, 0, 2), + [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 3, 0, 11), + [81] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 3, 0, 11), + [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), + [85] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), + [87] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), SHIFT_REPEAT(34), + [90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 2, 0, 6), + [92] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 2, 0, 6), + [94] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double_quoted_literal, 3, 0, 0), + [96] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_double_quoted_literal, 3, 0, 0), + [98] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backtick_quoted_literal, 2, 0, 0), + [100] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_backtick_quoted_literal, 2, 0, 0), + [102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backtick_quoted_literal, 3, 0, 0), + [104] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_backtick_quoted_literal, 3, 0, 0), + [106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double_quoted_literal, 2, 0, 0), + [108] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_double_quoted_literal, 2, 0, 0), + [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_immediate_record_field_selector, 1, 0, 0), + [112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_immediate_record_field_selector, 1, 0, 0), + [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_temporal_literal, 1, 0, 0), + [116] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_temporal_literal, 1, 0, 0), + [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 1, 0, 2), + [120] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_record_access_repeat1, 1, 0, 2), + [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_literal, 1, 0, 0), + [124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quoted_literal, 1, 0, 0), + [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1, 0, 0), + [128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_literal, 1, 0, 0), + [130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), + [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_original_record_field_selector, 1, 0, 5), + [138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_original_record_field_selector, 1, 0, 5), + [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field_selector, 1, 0, 0), + [142] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_field_selector, 1, 0, 0), + [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_original_record_field_selector, 1, 0, 0), + [146] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_original_record_field_selector, 1, 0, 0), + [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 1, 0, 1), + [150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 1, 0, 1), + [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 4, 1, 0), + [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 4, 1, 0), + [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closed_expression, 1, 0, 0), + [160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18), + [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, 0, 1), + [166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, 0, 1), + [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 3, 0, 0), + [170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 3, 0, 0), + [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1, 0, 0), + [174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1, 0, 0), + [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3, 0, 0), + [178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3, 0, 0), + [180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 3, 1, 0), + [182] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 3, 1, 0), + [184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_projection, 2, 0, 4), + [186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_projection, 2, 0, 4), + [188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_incoming_value, 1, 0, 0), + [190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_incoming_value, 1, 0, 0), + [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_expression, 1, 0, 7), + [194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pipeline_expression, 1, 0, 7), + [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_open_expression_repeat1, 2, 0, 0), + [198] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_open_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(19), + [201] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), + [203] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(18), + [206] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(21), + [209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2, 0, 0), + [211] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 2, 0, 0), + [213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, 0, 1), + [215] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, 0, 1), + [217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closed_expression, 2, 0, 0), + [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4, 0, 0), + [221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4, 0, 0), + [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_shorthand, 1, 0, 0), + [225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interval_shorthand, 1, 0, 0), + [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_literal, 2, 0, 0), + [229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interval_literal, 2, 0, 0), + [231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 9), + [233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 9), + [235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_projection, 3, 0, 10), + [237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_projection, 3, 0, 10), + [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parenthesized_pipeline_expression, 3, 0, 9), + [241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__parenthesized_pipeline_expression, 3, 0, 9), + [243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_literal, 6, 0, 15), + [245] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interval_literal, 6, 0, 15), + [247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_literal, 6, 0, 0), + [249] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_literal, 6, 0, 0), + [251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_literal, 7, 0, 0), + [253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_literal, 7, 0, 0), + [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), [257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), [259] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), - [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_expression, 2, 0, 0), - [265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_map_shorthand, 2, 0, 3), - [267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pipeline_map_shorthand, 2, 0, 3), - [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_open_expression, 1, 0, 0), - [271] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_open_expression, 1, 0, 0), - [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_infinite_bound, 1, 0, 0), - [275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field_name, 1, 0, 0), - [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_open_expression, 2, 0, 0), - [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_bound, 1, 0, 0), + [261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_expression, 1, 0, 0), + [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_shorthand, 2, 0, 3), + [267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_shorthand, 2, 0, 3), + [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_expression, 2, 0, 0), + [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [277] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), + [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [281] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), + [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_open_expression, 2, 0, 0), [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 1, 0, 7), [289] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 1, 0, 7), - [291] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), - [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), - [297] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(10), - [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_open_expression, 1, 0, 0), - [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_closed_expression, 3, 0, 0), - [304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_double_quoted_literal_repeat1, 2, 0, 0), - [306] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_double_quoted_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(83), - [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_closed_expression, 4, 0, 0), - [311] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), - [313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [315] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), - [317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__argument_value, 1, 0, 0), - [325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0), - [335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [337] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(20), - [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_literal_repeat1, 2, 0, 0), - [342] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 1, 0, 0), - [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_open_expression, 1, 0, 0), - [346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pipeline_expression, 1, 0, 0), - [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_expression, 1, 0, 0), - [350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), - [352] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(4), - [355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_open_expression, 2, 0, 0), - [359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [363] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_record_spread, 1, 0, 0), REDUCE(sym_incoming_value, 1, 0, 0), - [366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field, 3, 0, 13), - [368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_positional_argument, 1, 0, 0), - [370] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), - [372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_argument, 3, 0, 14), - [376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root_expression, 1, 0, 0), - [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_spread, 1, 0, 0), - [384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameterized_expression, 5, 0, 16), - [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), - [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), - [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [406] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [291] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_double_quoted_literal_repeat1, 2, 0, 0), + [293] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_double_quoted_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(81), + [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_open_expression, 1, 0, 0), + [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field_name, 1, 0, 0), + [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), + [302] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(14), + [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_infinite_bound, 1, 0, 0), + [307] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), + [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_map_shorthand, 2, 0, 3), + [311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pipeline_map_shorthand, 2, 0, 3), + [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_closed_expression, 3, 0, 0), + [315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_open_expression, 1, 0, 0), + [317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_open_expression, 1, 0, 0), + [319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_closed_expression, 4, 0, 0), + [321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_bound, 1, 0, 0), + [323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), + [325] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(7), + [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__argument_value, 1, 0, 0), + [334] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 1, 0, 0), + [336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [338] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_record_spread, 1, 0, 0), REDUCE(sym_incoming_value, 1, 0, 0), + [341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0), + [345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [353] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(25), + [356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_literal_repeat1, 2, 0, 0), + [358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_open_expression, 1, 0, 0), + [360] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pipeline_expression, 1, 0, 0), + [362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_expression, 1, 0, 0), + [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_open_expression, 2, 0, 0), + [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_positional_argument, 1, 0, 0), + [378] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), + [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field, 3, 0, 13), + [384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_argument, 3, 0, 14), + [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameterized_expression, 5, 0, 16), + [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_spread, 1, 0, 0), + [394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root_expression, 1, 0, 0), + [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [408] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [422] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), }; #ifdef __cplusplus diff --git a/test/corpus/expressions.txt b/test/corpus/expressions.txt index c114a33..8a7f046 100644 --- a/test/corpus/expressions.txt +++ b/test/corpus/expressions.txt @@ -82,6 +82,28 @@ record(customer-name := .name) field: (record_field_selector (named_record_field))))))))) +================== +Record function accepts trailing commas +================== + +record(name := "Alice", age := 30,) + +--- + +(source_file + (root_expression + (open_expression + (function_call + name: (function_name) + (argument_list + (named_argument + name: (argument_name) + value: (double_quoted_literal + (double_quoted_content))) + (named_argument + name: (argument_name) + value: (numeric_literal))))))) + ================== Function call with mixed arguments ================== From 1a6cd83e8e024cb096916afbef7b2788aa46db76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20L=2E=20Charlier?= Date: Mon, 17 Aug 2026 17:44:23 +0200 Subject: [PATCH 5/7] bug: allow underscores in field shorthand --- .../SyntaxBindingTests.cs | 14 ++ grammar.js | 8 +- src/grammar.json | 8 +- src/parser.c | 166 ++++++++++-------- test/corpus/references.txt | 21 +++ 5 files changed, 138 insertions(+), 79 deletions(-) diff --git a/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs b/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs index d5d74d8..5bdec71 100644 --- a/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs +++ b/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs @@ -668,6 +668,20 @@ public void RecordFieldShorthandCanContinueAPipeline() }); } + [Test] + public void RecordFieldShorthandAcceptsUnderscores() + { + var root = (ClosedExpressionSyntax)ExpressifSyntax.Parse(".first_name._display_name"); + var access = (RecordAccessSyntax)root.Value; + + Assert.That(access.Fields.Select(field => field.Name), + Is.EqualTo(new[] { "first_name", "_display_name" })); + } + + [Test] + public void RecordFieldShorthandRejectsOperators() + => Assert.Throws(() => ExpressifSyntax.Parse(".+")); + [Test] public void LeadingMapShorthandPreservesOuterPipelineBoundary() { diff --git a/grammar.js b/grammar.js index a1ec913..fdb31a3 100644 --- a/grammar.js +++ b/grammar.js @@ -273,7 +273,7 @@ export default grammar({ $.backtick_quoted_literal, ), - unquoted_record_field_name: (_) => /[A-Za-z][A-Za-z0-9]*(?:-[A-Za-z0-9]+)*/, + unquoted_record_field_name: (_) => /[A-Za-z_][A-Za-z0-9_]*(?:-[A-Za-z0-9_]+)*/, numeric_literal: (_) => /-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?/, @@ -298,16 +298,16 @@ export default grammar({ ), immediate_record_field_selector: ($) => choice( - alias(token.immediate(/\.[A-Za-z][A-Za-z0-9]*(?:-[A-Za-z0-9]+)*/), $.named_record_field), + alias(token.immediate(/\.[A-Za-z_][A-Za-z0-9_]*(?:-[A-Za-z0-9_]+)*/), $.named_record_field), alias(token.immediate(/\.(?:0|[1-9][0-9]*)/), $.positional_record_field), ), original_record_field_selector: ($) => choice( - alias(token.immediate(prec(-1, /[A-Za-z][A-Za-z0-9]*(?:-[A-Za-z0-9]+)*/)), $.named_record_field), + alias(token.immediate(prec(-1, /[A-Za-z_][A-Za-z0-9_]*(?:-[A-Za-z0-9_]+)*/)), $.named_record_field), alias(token.immediate(prec(-1, /(?:0|[1-9][0-9]*)/)), $.positional_record_field), ), - named_record_field: (_) => /\.[A-Za-z][A-Za-z0-9]*(?:-[A-Za-z0-9]+)*/, + named_record_field: (_) => /\.[A-Za-z_][A-Za-z0-9_]*(?:-[A-Za-z0-9_]+)*/, positional_record_field: (_) => /\.(?:0|[1-9][0-9]*)/, diff --git a/src/grammar.json b/src/grammar.json index 3be79a6..5adb7b8 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -1195,7 +1195,7 @@ }, "unquoted_record_field_name": { "type": "PATTERN", - "value": "[A-Za-z][A-Za-z0-9]*(?:-[A-Za-z0-9]+)*" + "value": "[A-Za-z_][A-Za-z0-9_]*(?:-[A-Za-z0-9_]+)*" }, "numeric_literal": { "type": "PATTERN", @@ -1281,7 +1281,7 @@ "type": "IMMEDIATE_TOKEN", "content": { "type": "PATTERN", - "value": "\\.[A-Za-z][A-Za-z0-9]*(?:-[A-Za-z0-9]+)*" + "value": "\\.[A-Za-z_][A-Za-z0-9_]*(?:-[A-Za-z0-9_]+)*" } }, "named": true, @@ -1313,7 +1313,7 @@ "value": -1, "content": { "type": "PATTERN", - "value": "[A-Za-z][A-Za-z0-9]*(?:-[A-Za-z0-9]+)*" + "value": "[A-Za-z_][A-Za-z0-9_]*(?:-[A-Za-z0-9_]+)*" } } }, @@ -1340,7 +1340,7 @@ }, "named_record_field": { "type": "PATTERN", - "value": "\\.[A-Za-z][A-Za-z0-9]*(?:-[A-Za-z0-9]+)*" + "value": "\\.[A-Za-z_][A-Za-z0-9_]*(?:-[A-Za-z0-9_]+)*" }, "positional_record_field": { "type": "PATTERN", diff --git a/src/parser.c b/src/parser.c index 126b7ac..34fc7f1 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1050,6 +1050,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { '\\', 49, ']', 111, '^', 89, + '_', 124, '`', 144, 'r', 93, '{', 105, @@ -1062,8 +1063,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == 0x2060 || lookahead == 0xfeff) SKIP(75); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(126); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); + if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(96); END_STATE(); case 1: ADVANCE_MAP( @@ -1075,8 +1075,8 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { '0', 125, ':', 121, '@', 69, - 'I', 109, - 'T', 120, + 'I', 108, + 'T', 119, '^', 20, '`', 144, '{', 105, @@ -1089,7 +1089,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == 0xfeff) SKIP(1); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(126); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(124); + ('_' <= lookahead && lookahead <= 'z')) ADVANCE(124); END_STATE(); case 2: if (lookahead == '"') ADVANCE(140); @@ -1112,7 +1112,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == 0xfeff) SKIP(3); END_STATE(); case 4: - if (lookahead == '"') ADVANCE(58); + if (lookahead == '"') ADVANCE(57); if (lookahead == 'f') ADVANCE(39); if (lookahead == 'n') ADVANCE(48); if (lookahead == 't') ADVANCE(45); @@ -1123,7 +1123,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 6: if (lookahead == '"') ADVANCE(147); if (lookahead == ' ' || - lookahead == 'T') ADVANCE(66); + lookahead == 'T') ADVANCE(65); END_STATE(); case 7: if (lookahead == '"') ADVANCE(148); @@ -1177,10 +1177,10 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '-') ADVANCE(13); END_STATE(); case 15: - if (lookahead == '-') ADVANCE(65); + if (lookahead == '-') ADVANCE(64); END_STATE(); case 16: - if (lookahead == '-') ADVANCE(61); + if (lookahead == '-') ADVANCE(60); END_STATE(); case 17: if (lookahead == '.') ADVANCE(21); @@ -1190,6 +1190,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '0') ADVANCE(131); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(132); if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(130); END_STATE(); case 19: @@ -1197,6 +1198,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '0') ADVANCE(135); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(136); if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(134); END_STATE(); case 20: @@ -1218,26 +1220,28 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '0') ADVANCE(135); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(136); if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(134); END_STATE(); case 25: if (lookahead == '0') ADVANCE(86); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(87); if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133); END_STATE(); case 26: - if (lookahead == ':') ADVANCE(59); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(53); + if (lookahead == ':') ADVANCE(58); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(52); END_STATE(); case 27: - if (lookahead == ':') ADVANCE(60); + if (lookahead == ':') ADVANCE(59); END_STATE(); case 28: - if (lookahead == ':') ADVANCE(62); + if (lookahead == ':') ADVANCE(61); END_STATE(); case 29: - if (lookahead == ':') ADVANCE(68); + if (lookahead == ':') ADVANCE(67); END_STATE(); case 30: if (lookahead == '=') ADVANCE(104); @@ -1314,33 +1318,31 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == '\\') ADVANCE(143); END_STATE(); case 50: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(124); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(127); END_STATE(); case 51: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(127); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(26); END_STATE(); case 52: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(26); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(15); END_STATE(); case 53: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(15); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(27); END_STATE(); case 54: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(27); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(5); END_STATE(); case 55: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(5); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(6); END_STATE(); case 56: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(6); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(7); END_STATE(); case 57: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(7); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(51); END_STATE(); case 58: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(52); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(53); END_STATE(); case 59: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(54); @@ -1352,25 +1354,28 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (('0' <= lookahead && lookahead <= '9')) ADVANCE(56); END_STATE(); case 62: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(57); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(16); END_STATE(); case 63: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(16); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(29); END_STATE(); case 64: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(29); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(62); END_STATE(); case 65: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(63); END_STATE(); case 66: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(64); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(28); END_STATE(); case 67: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(28); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(66); END_STATE(); case 68: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(67); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(124); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); END_STATE(); case 69: if (('A' <= lookahead && lookahead <= 'Z') || @@ -1383,21 +1388,25 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 71: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(130); + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(124); END_STATE(); case 72: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(124); + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(130); END_STATE(); case 73: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(134); END_STATE(); case 74: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133); END_STATE(); case 75: @@ -1420,6 +1429,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { '[', 110, ']', 111, '^', 20, + '_', 124, '`', 144, 'r', 93, '{', 105, @@ -1450,8 +1460,8 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { '0', 125, ':', 30, '@', 69, - 'I', 108, - 'T', 119, + 'I', 109, + 'T', 120, '[', 110, ']', 111, '^', 20, @@ -1490,7 +1500,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == 0xfeff) SKIP(78); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(87); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(124); + ('_' <= lookahead && lookahead <= 'z')) ADVANCE(124); END_STATE(); case 78: if (eof) ADVANCE(79); @@ -1507,7 +1517,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == 0x2060 || lookahead == 0xfeff) SKIP(78); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(124); + ('_' <= lookahead && lookahead <= 'z')) ADVANCE(124); END_STATE(); case 79: ACCEPT_TOKEN(ts_builtin_sym_end); @@ -1553,48 +1563,54 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 91: ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(50); + if (lookahead == '-') ADVANCE(68); if (lookahead == 'c') ADVANCE(94); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(124); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(124); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); END_STATE(); case 92: ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(50); + if (lookahead == '-') ADVANCE(68); if (lookahead == 'd') ADVANCE(90); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(124); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(124); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); END_STATE(); case 93: ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(50); + if (lookahead == '-') ADVANCE(68); if (lookahead == 'e') ADVANCE(91); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(124); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(124); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); END_STATE(); case 94: ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(50); + if (lookahead == '-') ADVANCE(68); if (lookahead == 'o') ADVANCE(95); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(124); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(124); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); END_STATE(); case 95: ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(50); + if (lookahead == '-') ADVANCE(68); if (lookahead == 'r') ADVANCE(92); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(124); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(124); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); END_STATE(); case 96: ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(50); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(124); + if (lookahead == '-') ADVANCE(68); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(124); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); END_STATE(); @@ -1653,24 +1669,26 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 107: ACCEPT_TOKEN(anon_sym_I); - if (lookahead == '-') ADVANCE(50); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(124); + if (lookahead == '-') ADVANCE(68); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(124); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); END_STATE(); case 108: ACCEPT_TOKEN(anon_sym_I); - if (lookahead == '-') ADVANCE(70); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); - END_STATE(); - case 109: - ACCEPT_TOKEN(anon_sym_I); - if (lookahead == '-') ADVANCE(72); + if (lookahead == '-') ADVANCE(71); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(124); END_STATE(); + case 109: + ACCEPT_TOKEN(anon_sym_I); + if (lookahead == '-') ADVANCE(70); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); + END_STATE(); case 110: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); @@ -1697,24 +1715,26 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 118: ACCEPT_TOKEN(anon_sym_T); - if (lookahead == '-') ADVANCE(50); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(124); + if (lookahead == '-') ADVANCE(68); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(124); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); END_STATE(); case 119: ACCEPT_TOKEN(anon_sym_T); - if (lookahead == '-') ADVANCE(70); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); - END_STATE(); - case 120: - ACCEPT_TOKEN(anon_sym_T); - if (lookahead == '-') ADVANCE(72); + if (lookahead == '-') ADVANCE(71); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(124); END_STATE(); + case 120: + ACCEPT_TOKEN(anon_sym_T); + if (lookahead == '-') ADVANCE(70); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); + END_STATE(); case 121: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); @@ -1727,18 +1747,19 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 124: ACCEPT_TOKEN(sym_unquoted_record_field_name); - if (lookahead == '-') ADVANCE(72); + if (lookahead == '-') ADVANCE(71); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(124); END_STATE(); case 125: ACCEPT_TOKEN(sym_numeric_literal); - if (lookahead == '.') ADVANCE(51); + if (lookahead == '.') ADVANCE(50); END_STATE(); case 126: ACCEPT_TOKEN(sym_numeric_literal); - if (lookahead == '.') ADVANCE(51); + if (lookahead == '.') ADVANCE(50); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(126); END_STATE(); case 127: @@ -1756,9 +1777,10 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 130: ACCEPT_TOKEN(aux_sym_immediate_record_field_selector_token1); - if (lookahead == '-') ADVANCE(71); + if (lookahead == '-') ADVANCE(72); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(130); END_STATE(); case 131: @@ -1773,6 +1795,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '-') ADVANCE(74); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133); END_STATE(); case 134: @@ -1780,6 +1803,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '-') ADVANCE(73); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(134); END_STATE(); case 135: diff --git a/test/corpus/references.txt b/test/corpus/references.txt index f234649..c7bfaa9 100644 --- a/test/corpus/references.txt +++ b/test/corpus/references.txt @@ -65,6 +65,27 @@ example(.name, .birth-date, .0, .10) field: (record_field_selector (positional_record_field))))))))) +================== +Field shorthand names support underscores +================== + +.first_name._display_name | ^._original_name + +--- + +(source_file + (root_expression + (closed_expression + (record_access + field: (record_field_selector + (named_record_field)) + field: (immediate_record_field_selector + (named_record_field))) + (record_access + root: (original_input) + field: (original_record_field_selector + (named_record_field)))))) + ================== Variable pipeline ================== From 827da27dc1cd831d95b50f3bef9f5b91cdb65613 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20L=2E=20Charlier?= Date: Mon, 17 Aug 2026 17:59:42 +0200 Subject: [PATCH 6/7] bug: preserve record-prefixed function names --- grammar.js | 2 +- src/grammar.json | 11 +- src/parser.c | 445 ++++++++++++++++++------------------ test/corpus/expressions.txt | 16 ++ 4 files changed, 247 insertions(+), 227 deletions(-) diff --git a/grammar.js b/grammar.js index fdb31a3..a0cd3a7 100644 --- a/grammar.js +++ b/grammar.js @@ -115,7 +115,7 @@ export default grammar({ function_call: ($) => choice( prec(1, seq( - field("name", alias(token(prec(1, "record")), $.function_name)), + field("name", alias("record", $.function_name)), "(", optional(choice( $.argument_list, diff --git a/src/grammar.json b/src/grammar.json index 5adb7b8..4aeed24 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -409,15 +409,8 @@ "content": { "type": "ALIAS", "content": { - "type": "TOKEN", - "content": { - "type": "PREC", - "value": 1, - "content": { - "type": "STRING", - "value": "record" - } - } + "type": "STRING", + "value": "record" }, "named": true, "value": "function_name" diff --git a/src/parser.c b/src/parser.c index 34fc7f1..4446460 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1032,67 +1032,67 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 0: if (eof) ADVANCE(79); ADVANCE_MAP( - '"', 140, + '"', 141, '#', 4, '$', 85, '(', 83, ')', 84, '+', 34, - ',', 103, + ',', 104, '-', 22, '.', 18, - '0', 125, - ':', 122, + '0', 126, + ':', 123, '@', 69, - 'I', 107, - 'T', 118, - '[', 110, + 'I', 108, + 'T', 119, + '[', 111, '\\', 49, - ']', 111, + ']', 112, '^', 89, - '_', 124, - '`', 144, - 'r', 93, - '{', 105, + '_', 125, + '`', 145, + 'r', 94, + '{', 106, '|', 80, - '}', 106, + '}', 107, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || lookahead == 0xfeff) SKIP(75); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(126); - if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(96); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(127); + if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(97); END_STATE(); case 1: ADVANCE_MAP( - '"', 140, + '"', 141, '#', 4, '$', 85, '-', 23, '.', 19, - '0', 125, - ':', 121, + '0', 126, + ':', 122, '@', 69, - 'I', 108, - 'T', 119, + 'I', 109, + 'T', 120, '^', 20, - '`', 144, - '{', 105, - '}', 106, + '`', 145, + '{', 106, + '}', 107, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || lookahead == 0xfeff) SKIP(1); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(126); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(127); if (('A' <= lookahead && lookahead <= 'Z') || - ('_' <= lookahead && lookahead <= 'z')) ADVANCE(124); + ('_' <= lookahead && lookahead <= 'z')) ADVANCE(125); END_STATE(); case 2: - if (lookahead == '"') ADVANCE(140); + if (lookahead == '"') ADVANCE(141); if (lookahead == '\\') ADVANCE(49); if (lookahead == '\n' || lookahead == '\r') SKIP(3); @@ -1100,11 +1100,11 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(141); - if (lookahead != 0) ADVANCE(142); + lookahead == 0xfeff) ADVANCE(142); + if (lookahead != 0) ADVANCE(143); END_STATE(); case 3: - if (lookahead == '"') ADVANCE(140); + if (lookahead == '"') ADVANCE(141); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || @@ -1118,15 +1118,15 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 't') ADVANCE(45); END_STATE(); case 5: - if (lookahead == '"') ADVANCE(149); + if (lookahead == '"') ADVANCE(150); END_STATE(); case 6: - if (lookahead == '"') ADVANCE(147); + if (lookahead == '"') ADVANCE(148); if (lookahead == ' ' || lookahead == 'T') ADVANCE(65); END_STATE(); case 7: - if (lookahead == '"') ADVANCE(148); + if (lookahead == '"') ADVANCE(149); END_STATE(); case 8: if (lookahead == '$') ADVANCE(85); @@ -1134,7 +1134,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '.') ADVANCE(24); if (lookahead == '0') ADVANCE(86); if (lookahead == '^') ADVANCE(20); - if (lookahead == 'r') ADVANCE(99); + if (lookahead == 'r') ADVANCE(100); if (lookahead == '|') ADVANCE(31); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || @@ -1143,14 +1143,14 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == 0xfeff) SKIP(9); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(87); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); END_STATE(); case 9: if (lookahead == '$') ADVANCE(85); if (lookahead == '(') ADVANCE(82); if (lookahead == '.') ADVANCE(24); if (lookahead == '^') ADVANCE(20); - if (lookahead == 'r') ADVANCE(99); + if (lookahead == 'r') ADVANCE(100); if (lookahead == '|') ADVANCE(31); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || @@ -1158,19 +1158,19 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == 0x2060 || lookahead == 0xfeff) SKIP(9); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); END_STATE(); case 10: - if (lookahead == ')') ADVANCE(115); + if (lookahead == ')') ADVANCE(116); END_STATE(); case 11: - if (lookahead == ')') ADVANCE(117); + if (lookahead == ')') ADVANCE(118); END_STATE(); case 12: - if (lookahead == ')') ADVANCE(114); + if (lookahead == ')') ADVANCE(115); END_STATE(); case 13: - if (lookahead == ')') ADVANCE(116); + if (lookahead == ')') ADVANCE(117); END_STATE(); case 14: if (lookahead == '+') ADVANCE(12); @@ -1187,48 +1187,48 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 18: if (lookahead == '.') ADVANCE(21); - if (lookahead == '0') ADVANCE(131); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(132); + if (lookahead == '0') ADVANCE(132); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(133); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(131); END_STATE(); case 19: if (lookahead == '.') ADVANCE(21); - if (lookahead == '0') ADVANCE(135); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(136); + if (lookahead == '0') ADVANCE(136); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(137); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(134); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(135); END_STATE(); case 20: - if (lookahead == '.') ADVANCE(129); + if (lookahead == '.') ADVANCE(130); END_STATE(); case 21: - if (lookahead == '.') ADVANCE(123); + if (lookahead == '.') ADVANCE(124); END_STATE(); case 22: - if (lookahead == '0') ADVANCE(125); + if (lookahead == '0') ADVANCE(126); if (lookahead == 'I') ADVANCE(36); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(126); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(127); END_STATE(); case 23: - if (lookahead == '0') ADVANCE(125); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(126); + if (lookahead == '0') ADVANCE(126); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(127); END_STATE(); case 24: - if (lookahead == '0') ADVANCE(135); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(136); + if (lookahead == '0') ADVANCE(136); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(137); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(134); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(135); END_STATE(); case 25: if (lookahead == '0') ADVANCE(86); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(87); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(134); END_STATE(); case 26: if (lookahead == ':') ADVANCE(58); @@ -1244,16 +1244,16 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == ':') ADVANCE(67); END_STATE(); case 30: - if (lookahead == '=') ADVANCE(104); + if (lookahead == '=') ADVANCE(105); END_STATE(); case 31: if (lookahead == '>') ADVANCE(81); END_STATE(); case 32: - if (lookahead == 'F') ADVANCE(112); + if (lookahead == 'F') ADVANCE(113); END_STATE(); case 33: - if (lookahead == 'F') ADVANCE(113); + if (lookahead == 'F') ADVANCE(114); END_STATE(); case 34: if (lookahead == 'I') ADVANCE(35); @@ -1265,18 +1265,18 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'N') ADVANCE(33); END_STATE(); case 37: - if (lookahead == '`') ADVANCE(144); + if (lookahead == '`') ADVANCE(145); if (lookahead == '\n' || lookahead == '\r') SKIP(38); if (('\t' <= lookahead && lookahead <= '\f') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(145); - if (lookahead != 0) ADVANCE(146); + lookahead == 0xfeff) ADVANCE(146); + if (lookahead != 0) ADVANCE(147); END_STATE(); case 38: - if (lookahead == '`') ADVANCE(144); + if (lookahead == '`') ADVANCE(145); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || @@ -1287,16 +1287,16 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'a') ADVANCE(42); END_STATE(); case 40: - if (lookahead == 'e') ADVANCE(137); + if (lookahead == 'e') ADVANCE(138); END_STATE(); case 41: - if (lookahead == 'e') ADVANCE(138); + if (lookahead == 'e') ADVANCE(139); END_STATE(); case 42: if (lookahead == 'l') ADVANCE(46); END_STATE(); case 43: - if (lookahead == 'l') ADVANCE(139); + if (lookahead == 'l') ADVANCE(140); END_STATE(); case 44: if (lookahead == 'l') ADVANCE(43); @@ -1315,10 +1315,10 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 49: if (lookahead == '"' || - lookahead == '\\') ADVANCE(143); + lookahead == '\\') ADVANCE(144); END_STATE(); case 50: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(127); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(128); END_STATE(); case 51: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(26); @@ -1373,125 +1373,125 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 68: if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(124); + lookahead == '_') ADVANCE(125); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(97); END_STATE(); case 69: if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(128); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(129); END_STATE(); case 70: if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); END_STATE(); case 71: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(124); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); END_STATE(); case 72: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(130); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(131); END_STATE(); case 73: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(134); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(135); END_STATE(); case 74: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(134); END_STATE(); case 75: if (eof) ADVANCE(79); ADVANCE_MAP( - '"', 140, + '"', 141, '#', 4, '$', 85, '(', 83, ')', 84, '+', 34, - ',', 103, + ',', 104, '-', 22, '.', 19, - '0', 125, - ':', 122, + '0', 126, + ':', 123, '@', 69, - 'I', 107, - 'T', 118, - '[', 110, - ']', 111, + 'I', 108, + 'T', 119, + '[', 111, + ']', 112, '^', 20, - '_', 124, - '`', 144, - 'r', 93, - '{', 105, + '_', 125, + '`', 145, + 'r', 94, + '{', 106, '|', 80, - '}', 106, + '}', 107, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || lookahead == 0xfeff) SKIP(75); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(126); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(127); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(97); END_STATE(); case 76: if (eof) ADVANCE(79); ADVANCE_MAP( - '"', 140, + '"', 141, '#', 4, '$', 85, '(', 82, ')', 84, '+', 34, - ',', 103, + ',', 104, '-', 22, '.', 19, - '0', 125, + '0', 126, ':', 30, '@', 69, - 'I', 109, - 'T', 120, - '[', 110, - ']', 111, + 'I', 110, + 'T', 121, + '[', 111, + ']', 112, '^', 20, - '`', 144, - 'r', 99, - '{', 105, + '`', 145, + 'r', 100, + '{', 106, '|', 80, - '}', 106, + '}', 107, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || lookahead == 0xfeff) SKIP(76); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(126); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(127); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); END_STATE(); case 77: if (eof) ADVANCE(79); ADVANCE_MAP( - '"', 140, + '"', 141, ')', 84, - ',', 103, + ',', 104, '.', 18, '0', 86, '^', 88, - '`', 144, + '`', 145, '|', 80, - '}', 106, + '}', 107, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || @@ -1500,24 +1500,24 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == 0xfeff) SKIP(78); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(87); if (('A' <= lookahead && lookahead <= 'Z') || - ('_' <= lookahead && lookahead <= 'z')) ADVANCE(124); + ('_' <= lookahead && lookahead <= 'z')) ADVANCE(125); END_STATE(); case 78: if (eof) ADVANCE(79); - if (lookahead == '"') ADVANCE(140); + if (lookahead == '"') ADVANCE(141); if (lookahead == ')') ADVANCE(84); - if (lookahead == ',') ADVANCE(103); + if (lookahead == ',') ADVANCE(104); if (lookahead == '.') ADVANCE(17); - if (lookahead == '`') ADVANCE(144); + if (lookahead == '`') ADVANCE(145); if (lookahead == '|') ADVANCE(80); - if (lookahead == '}') ADVANCE(106); + if (lookahead == '}') ADVANCE(107); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || lookahead == 0xfeff) SKIP(78); if (('A' <= lookahead && lookahead <= 'Z') || - ('_' <= lookahead && lookahead <= 'z')) ADVANCE(124); + ('_' <= lookahead && lookahead <= 'z')) ADVANCE(125); END_STATE(); case 79: ACCEPT_TOKEN(ts_builtin_sym_end); @@ -1556,276 +1556,287 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 89: ACCEPT_TOKEN(anon_sym_CARET); - if (lookahead == '.') ADVANCE(129); + if (lookahead == '.') ADVANCE(130); END_STATE(); case 90: ACCEPT_TOKEN(anon_sym_record); - END_STATE(); - case 91: - ACCEPT_TOKEN(sym_function_name); if (lookahead == '-') ADVANCE(68); - if (lookahead == 'c') ADVANCE(94); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(124); + lookahead == '_') ADVANCE(125); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(97); + END_STATE(); + case 91: + ACCEPT_TOKEN(anon_sym_record); + if (lookahead == '-') ADVANCE(70); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); END_STATE(); case 92: ACCEPT_TOKEN(sym_function_name); if (lookahead == '-') ADVANCE(68); - if (lookahead == 'd') ADVANCE(90); + if (lookahead == 'c') ADVANCE(95); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(124); + lookahead == '_') ADVANCE(125); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(97); END_STATE(); case 93: ACCEPT_TOKEN(sym_function_name); if (lookahead == '-') ADVANCE(68); - if (lookahead == 'e') ADVANCE(91); + if (lookahead == 'd') ADVANCE(90); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(124); + lookahead == '_') ADVANCE(125); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(97); END_STATE(); case 94: ACCEPT_TOKEN(sym_function_name); if (lookahead == '-') ADVANCE(68); - if (lookahead == 'o') ADVANCE(95); + if (lookahead == 'e') ADVANCE(92); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(124); + lookahead == '_') ADVANCE(125); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(97); END_STATE(); case 95: ACCEPT_TOKEN(sym_function_name); if (lookahead == '-') ADVANCE(68); - if (lookahead == 'r') ADVANCE(92); + if (lookahead == 'o') ADVANCE(96); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(124); + lookahead == '_') ADVANCE(125); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(97); END_STATE(); case 96: ACCEPT_TOKEN(sym_function_name); if (lookahead == '-') ADVANCE(68); + if (lookahead == 'r') ADVANCE(93); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(124); + lookahead == '_') ADVANCE(125); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(97); END_STATE(); case 97: ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(70); - if (lookahead == 'c') ADVANCE(100); + if (lookahead == '-') ADVANCE(68); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(125); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(97); END_STATE(); case 98: ACCEPT_TOKEN(sym_function_name); if (lookahead == '-') ADVANCE(70); - if (lookahead == 'd') ADVANCE(90); + if (lookahead == 'c') ADVANCE(101); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); END_STATE(); case 99: ACCEPT_TOKEN(sym_function_name); if (lookahead == '-') ADVANCE(70); - if (lookahead == 'e') ADVANCE(97); + if (lookahead == 'd') ADVANCE(91); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); END_STATE(); case 100: ACCEPT_TOKEN(sym_function_name); if (lookahead == '-') ADVANCE(70); - if (lookahead == 'o') ADVANCE(101); + if (lookahead == 'e') ADVANCE(98); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); END_STATE(); case 101: ACCEPT_TOKEN(sym_function_name); if (lookahead == '-') ADVANCE(70); - if (lookahead == 'r') ADVANCE(98); + if (lookahead == 'o') ADVANCE(102); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); END_STATE(); case 102: ACCEPT_TOKEN(sym_function_name); if (lookahead == '-') ADVANCE(70); + if (lookahead == 'r') ADVANCE(99); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); END_STATE(); case 103: - ACCEPT_TOKEN(anon_sym_COMMA); + ACCEPT_TOKEN(sym_function_name); + if (lookahead == '-') ADVANCE(70); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); END_STATE(); case 104: - ACCEPT_TOKEN(anon_sym_COLON_EQ); + ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); case 105: - ACCEPT_TOKEN(anon_sym_LBRACE); + ACCEPT_TOKEN(anon_sym_COLON_EQ); END_STATE(); case 106: - ACCEPT_TOKEN(anon_sym_RBRACE); + ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 107: + ACCEPT_TOKEN(anon_sym_RBRACE); + END_STATE(); + case 108: ACCEPT_TOKEN(anon_sym_I); if (lookahead == '-') ADVANCE(68); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(124); + lookahead == '_') ADVANCE(125); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(97); END_STATE(); - case 108: + case 109: ACCEPT_TOKEN(anon_sym_I); if (lookahead == '-') ADVANCE(71); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(124); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); END_STATE(); - case 109: + case 110: ACCEPT_TOKEN(anon_sym_I); if (lookahead == '-') ADVANCE(70); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); END_STATE(); - case 110: + case 111: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); - case 111: + case 112: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); - case 112: + case 113: ACCEPT_TOKEN(anon_sym_PLUSINF); END_STATE(); - case 113: + case 114: ACCEPT_TOKEN(anon_sym_DASHINF); END_STATE(); - case 114: + case 115: ACCEPT_TOKEN(anon_sym_LPAREN0_PLUS_RPAREN); END_STATE(); - case 115: + case 116: ACCEPT_TOKEN(anon_sym_LPAREN_PLUS_RPAREN); END_STATE(); - case 116: + case 117: ACCEPT_TOKEN(anon_sym_LPAREN0_DASH_RPAREN); END_STATE(); - case 117: + case 118: ACCEPT_TOKEN(anon_sym_LPAREN_DASH_RPAREN); END_STATE(); - case 118: + case 119: ACCEPT_TOKEN(anon_sym_T); if (lookahead == '-') ADVANCE(68); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(124); + lookahead == '_') ADVANCE(125); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(96); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(97); END_STATE(); - case 119: + case 120: ACCEPT_TOKEN(anon_sym_T); if (lookahead == '-') ADVANCE(71); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(124); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); END_STATE(); - case 120: + case 121: ACCEPT_TOKEN(anon_sym_T); if (lookahead == '-') ADVANCE(70); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(102); - END_STATE(); - case 121: - ACCEPT_TOKEN(anon_sym_COLON); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); END_STATE(); case 122: ACCEPT_TOKEN(anon_sym_COLON); - if (lookahead == '=') ADVANCE(104); END_STATE(); case 123: - ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); + ACCEPT_TOKEN(anon_sym_COLON); + if (lookahead == '=') ADVANCE(105); END_STATE(); case 124: + ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); + END_STATE(); + case 125: ACCEPT_TOKEN(sym_unquoted_record_field_name); if (lookahead == '-') ADVANCE(71); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(124); - END_STATE(); - case 125: - ACCEPT_TOKEN(sym_numeric_literal); - if (lookahead == '.') ADVANCE(50); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); END_STATE(); case 126: ACCEPT_TOKEN(sym_numeric_literal); if (lookahead == '.') ADVANCE(50); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(126); END_STATE(); case 127: ACCEPT_TOKEN(sym_numeric_literal); + if (lookahead == '.') ADVANCE(50); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(127); END_STATE(); case 128: + ACCEPT_TOKEN(sym_numeric_literal); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(128); + END_STATE(); + case 129: ACCEPT_TOKEN(sym_variable); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(128); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(129); END_STATE(); - case 129: + case 130: ACCEPT_TOKEN(sym_original_input); END_STATE(); - case 130: + case 131: ACCEPT_TOKEN(aux_sym_immediate_record_field_selector_token1); if (lookahead == '-') ADVANCE(72); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(130); - END_STATE(); - case 131: - ACCEPT_TOKEN(aux_sym_immediate_record_field_selector_token2); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(131); END_STATE(); case 132: ACCEPT_TOKEN(aux_sym_immediate_record_field_selector_token2); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(132); END_STATE(); case 133: + ACCEPT_TOKEN(aux_sym_immediate_record_field_selector_token2); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(133); + END_STATE(); + case 134: ACCEPT_TOKEN(aux_sym_original_record_field_selector_token1); if (lookahead == '-') ADVANCE(74); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(134); END_STATE(); - case 134: + case 135: ACCEPT_TOKEN(sym_named_record_field); if (lookahead == '-') ADVANCE(73); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(134); - END_STATE(); - case 135: - ACCEPT_TOKEN(sym_positional_record_field); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(135); END_STATE(); case 136: ACCEPT_TOKEN(sym_positional_record_field); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(136); END_STATE(); case 137: - ACCEPT_TOKEN(anon_sym_POUNDtrue); + ACCEPT_TOKEN(sym_positional_record_field); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(137); END_STATE(); case 138: - ACCEPT_TOKEN(anon_sym_POUNDfalse); + ACCEPT_TOKEN(anon_sym_POUNDtrue); END_STATE(); case 139: - ACCEPT_TOKEN(sym_null_literal); + ACCEPT_TOKEN(anon_sym_POUNDfalse); END_STATE(); case 140: - ACCEPT_TOKEN(anon_sym_DQUOTE); + ACCEPT_TOKEN(sym_null_literal); END_STATE(); case 141: + ACCEPT_TOKEN(anon_sym_DQUOTE); + END_STATE(); + case 142: ACCEPT_TOKEN(sym_double_quoted_content); if (lookahead == '\t' || lookahead == 0x0b || @@ -1833,27 +1844,27 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(141); + lookahead == 0xfeff) ADVANCE(142); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && lookahead != '"' && - lookahead != '\\') ADVANCE(142); + lookahead != '\\') ADVANCE(143); END_STATE(); - case 142: + case 143: ACCEPT_TOKEN(sym_double_quoted_content); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r' && lookahead != '"' && - lookahead != '\\') ADVANCE(142); + lookahead != '\\') ADVANCE(143); END_STATE(); - case 143: + case 144: ACCEPT_TOKEN(sym_escape_sequence); END_STATE(); - case 144: + case 145: ACCEPT_TOKEN(anon_sym_BQUOTE); END_STATE(); - case 145: + case 146: ACCEPT_TOKEN(sym_backtick_quoted_content); if (lookahead == '\t' || lookahead == 0x0b || @@ -1861,25 +1872,25 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(145); + lookahead == 0xfeff) ADVANCE(146); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && - lookahead != '`') ADVANCE(146); + lookahead != '`') ADVANCE(147); END_STATE(); - case 146: + case 147: ACCEPT_TOKEN(sym_backtick_quoted_content); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r' && - lookahead != '`') ADVANCE(146); + lookahead != '`') ADVANCE(147); END_STATE(); - case 147: + case 148: ACCEPT_TOKEN(sym_date_literal); END_STATE(); - case 148: + case 149: ACCEPT_TOKEN(sym_date_time_literal); END_STATE(); - case 149: + case 150: ACCEPT_TOKEN(sym_time_literal); END_STATE(); default: @@ -4205,7 +4216,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136), [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(43), [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), diff --git a/test/corpus/expressions.txt b/test/corpus/expressions.txt index 8a7f046..1d75d75 100644 --- a/test/corpus/expressions.txt +++ b/test/corpus/expressions.txt @@ -43,6 +43,22 @@ foo-BAr-foo (function_call name: (function_name))))) +================== +Function names can start with record +================== + +recording() | record-value() + +--- + +(source_file + (root_expression + (open_expression + (function_call + name: (function_name)) + (function_call + name: (function_name))))) + ================== Function call with positional arguments ================== From df1478a144dd08097efac681a34b1b1852c28195 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20L=2E=20Charlier?= Date: Mon, 17 Aug 2026 20:20:27 +0200 Subject: [PATCH 7/7] bug: allow trailing commas for all functions +semver: minor --- .../SyntaxBindingTests.cs | 13 +- grammar.js | 14 +- src/grammar.json | 99 +- src/parser.c | 3227 ++++++++--------- test/corpus/expressions.txt | 9 +- test/corpus/invalid.txt | 10 +- 6 files changed, 1532 insertions(+), 1840 deletions(-) diff --git a/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs b/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs index 5bdec71..776bddd 100644 --- a/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs +++ b/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs @@ -639,12 +639,13 @@ public void MapShorthandAcceptsAParenthesizedOperation() Assert.That(shorthand.Expression.Pipeline.Single(), Is.TypeOf()); } - [TestCase("record(name := \"Alice\",")] - [TestCase("record(name := \"Alice\", age := 30,")] - public void RecordFunctionAcceptsATrailingComma(string prefix) + [TestCase("foo(5,)", "foo(5)")] + [TestCase("record(name := \"Alice\",)", "record(name := \"Alice\")")] + [TestCase("record(name := \"Alice\", age := 30,)", "record(name := \"Alice\", age := 30)")] + public void FunctionCallsAcceptATrailingComma(string source, string equivalentSource) { - var withComma = (FunctionCallSyntax)((OpenExpressionSyntax)ExpressifSyntax.Parse(prefix + ")")).Pipeline.Single(); - var withoutComma = (FunctionCallSyntax)((OpenExpressionSyntax)ExpressifSyntax.Parse(prefix[..^1] + ")")).Pipeline.Single(); + var withComma = (FunctionCallSyntax)((OpenExpressionSyntax)ExpressifSyntax.Parse(source)).Pipeline.Single(); + var withoutComma = (FunctionCallSyntax)((OpenExpressionSyntax)ExpressifSyntax.Parse(equivalentSource)).Pipeline.Single(); Assert.Multiple(() => { @@ -806,6 +807,8 @@ public void BareDateLookingIntervalBoundsAreRejected() [TestCase("foo({| lower})", false)] [TestCase("append(.firstName |)", false)] [TestCase("foo(name :=)", false)] + [TestCase("foo(, 5)", false)] + [TestCase("foo(5,,6)", false)] [TestCase("....", false)] [TestCase("{ ..., }", false)] public void MalformedInputExposesTreeSitterErrors(string source, bool hasMissingError) diff --git a/grammar.js b/grammar.js index a0cd3a7..4fc0a85 100644 --- a/grammar.js +++ b/grammar.js @@ -113,20 +113,16 @@ export default grammar({ ), ), - function_call: ($) => choice( - prec(1, seq( - field("name", alias("record", $.function_name)), + function_call: ($) => seq( + field("name", $.function_name), + optional(seq( "(", optional(choice( $.argument_list, - alias($._record_argument_list, $.argument_list), + alias($._trailing_argument_list, $.argument_list), )), ")", )), - seq( - field("name", $.function_name), - optional(seq("(", optional($.argument_list), ")")), - ), ), function_name: (_) => /[A-Za-z]+(?:-[A-Za-z]+)*/, @@ -136,7 +132,7 @@ export default grammar({ repeat(seq(",", choice($.positional_argument, $.named_argument))), )), - _record_argument_list: ($) => prec.right(seq( + _trailing_argument_list: ($) => prec.right(seq( choice($.positional_argument, $.named_argument), repeat(seq(",", choice($.positional_argument, $.named_argument))), ",", diff --git a/src/grammar.json b/src/grammar.json index 4aeed24..f03ce65 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -395,85 +395,29 @@ ] }, "function_call": { - "type": "CHOICE", + "type": "SEQ", "members": [ { - "type": "PREC", - "value": 1, + "type": "FIELD", + "name": "name", "content": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "name", - "content": { - "type": "ALIAS", - "content": { - "type": "STRING", - "value": "record" - }, - "named": true, - "value": "function_name" - } - }, - { - "type": "STRING", - "value": "(" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "argument_list" - }, - { - "type": "ALIAS", - "content": { - "type": "SYMBOL", - "name": "_record_argument_list" - }, - "named": true, - "value": "argument_list" - } - ] - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "STRING", - "value": ")" - } - ] + "type": "SYMBOL", + "name": "function_name" } }, { - "type": "SEQ", + "type": "CHOICE", "members": [ { - "type": "FIELD", - "name": "name", - "content": { - "type": "SYMBOL", - "name": "function_name" - } - }, - { - "type": "CHOICE", + "type": "SEQ", "members": [ { - "type": "SEQ", + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", "members": [ - { - "type": "STRING", - "value": "(" - }, { "type": "CHOICE", "members": [ @@ -482,20 +426,29 @@ "name": "argument_list" }, { - "type": "BLANK" + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_trailing_argument_list" + }, + "named": true, + "value": "argument_list" } ] }, { - "type": "STRING", - "value": ")" + "type": "BLANK" } ] }, { - "type": "BLANK" + "type": "STRING", + "value": ")" } ] + }, + { + "type": "BLANK" } ] } @@ -552,7 +505,7 @@ ] } }, - "_record_argument_list": { + "_trailing_argument_list": { "type": "PREC_RIGHT", "value": 0, "content": { diff --git a/src/parser.c b/src/parser.c index 4446460..0193feb 100644 --- a/src/parser.c +++ b/src/parser.c @@ -7,11 +7,11 @@ #endif #define LANGUAGE_VERSION 15 -#define STATE_COUNT 140 +#define STATE_COUNT 133 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 97 +#define SYMBOL_COUNT 96 #define ALIAS_COUNT 2 -#define TOKEN_COUNT 46 +#define TOKEN_COUNT 45 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 12 #define MAX_ALIAS_SEQUENCE_LENGTH 7 @@ -27,97 +27,96 @@ enum ts_symbol_identifiers { anon_sym_DOLLAR = 5, aux_sym_tuple_projection_token1 = 6, anon_sym_CARET = 7, - anon_sym_record = 8, - sym_function_name = 9, - anon_sym_COMMA = 10, - anon_sym_COLON_EQ = 11, - anon_sym_LBRACE = 12, - anon_sym_RBRACE = 13, - anon_sym_I = 14, - anon_sym_LBRACK = 15, - anon_sym_RBRACK = 16, - anon_sym_PLUSINF = 17, - anon_sym_DASHINF = 18, - anon_sym_LPAREN0_PLUS_RPAREN = 19, - anon_sym_LPAREN_PLUS_RPAREN = 20, - anon_sym_LPAREN0_DASH_RPAREN = 21, - anon_sym_LPAREN_DASH_RPAREN = 22, - anon_sym_T = 23, - anon_sym_COLON = 24, - anon_sym_DOT_DOT_DOT = 25, - sym_unquoted_record_field_name = 26, - sym_numeric_literal = 27, - sym_variable = 28, - sym_original_input = 29, - aux_sym_immediate_record_field_selector_token1 = 30, - aux_sym_immediate_record_field_selector_token2 = 31, - aux_sym_original_record_field_selector_token1 = 32, - sym_named_record_field = 33, - sym_positional_record_field = 34, - anon_sym_POUNDtrue = 35, - anon_sym_POUNDfalse = 36, - sym_null_literal = 37, - anon_sym_DQUOTE = 38, - sym_double_quoted_content = 39, - sym_escape_sequence = 40, - anon_sym_BQUOTE = 41, - sym_backtick_quoted_content = 42, - sym_date_literal = 43, - sym_date_time_literal = 44, - sym_time_literal = 45, - sym_source_file = 46, - sym_root_expression = 47, - sym_open_expression = 48, - sym_closed_expression = 49, - sym_map_shorthand = 50, - sym__pipeline_map_shorthand = 51, - sym_expression = 52, - sym__pipeline_expression = 53, - sym__parenthesized_pipeline_expression = 54, - sym__pipeline_open_expression = 55, - sym_parenthesized_expression = 56, - sym_parenthesized_open_expression = 57, - sym_tuple_projection = 58, - sym_function_call = 59, - sym_argument_list = 60, - sym__record_argument_list = 61, - sym_positional_argument = 62, - sym_named_argument = 63, - sym__argument_value = 64, - sym__nested_open_expression = 65, - sym__nested_closed_expression = 66, - sym_parameterized_expression = 67, - sym_value = 68, - sym_interval_literal = 69, - sym_interval_bound = 70, - sym_infinite_bound = 71, - sym_interval_shorthand = 72, - sym_array_literal = 73, - sym_tuple_literal = 74, - sym_record_literal = 75, - sym__record_entry = 76, - sym_record_field = 77, - sym_record_spread = 78, - sym_incoming_value = 79, - sym_record_field_name = 80, - sym_record_access = 81, - sym_record_field_selector = 82, - sym_immediate_record_field_selector = 83, - sym_original_record_field_selector = 84, - sym_boolean_literal = 85, - sym_quoted_literal = 86, - sym_double_quoted_literal = 87, - sym_backtick_quoted_literal = 88, - sym_temporal_literal = 89, - aux_sym_open_expression_repeat1 = 90, - aux_sym_closed_expression_repeat1 = 91, - aux_sym_argument_list_repeat1 = 92, - aux_sym_array_literal_repeat1 = 93, - aux_sym_record_literal_repeat1 = 94, - aux_sym_record_access_repeat1 = 95, - aux_sym_double_quoted_literal_repeat1 = 96, - alias_sym_argument_name = 97, - alias_sym_from_start = 98, + sym_function_name = 8, + anon_sym_COMMA = 9, + anon_sym_COLON_EQ = 10, + anon_sym_LBRACE = 11, + anon_sym_RBRACE = 12, + anon_sym_I = 13, + anon_sym_LBRACK = 14, + anon_sym_RBRACK = 15, + anon_sym_PLUSINF = 16, + anon_sym_DASHINF = 17, + anon_sym_LPAREN0_PLUS_RPAREN = 18, + anon_sym_LPAREN_PLUS_RPAREN = 19, + anon_sym_LPAREN0_DASH_RPAREN = 20, + anon_sym_LPAREN_DASH_RPAREN = 21, + anon_sym_T = 22, + anon_sym_COLON = 23, + anon_sym_DOT_DOT_DOT = 24, + sym_unquoted_record_field_name = 25, + sym_numeric_literal = 26, + sym_variable = 27, + sym_original_input = 28, + aux_sym_immediate_record_field_selector_token1 = 29, + aux_sym_immediate_record_field_selector_token2 = 30, + aux_sym_original_record_field_selector_token1 = 31, + sym_named_record_field = 32, + sym_positional_record_field = 33, + anon_sym_POUNDtrue = 34, + anon_sym_POUNDfalse = 35, + sym_null_literal = 36, + anon_sym_DQUOTE = 37, + sym_double_quoted_content = 38, + sym_escape_sequence = 39, + anon_sym_BQUOTE = 40, + sym_backtick_quoted_content = 41, + sym_date_literal = 42, + sym_date_time_literal = 43, + sym_time_literal = 44, + sym_source_file = 45, + sym_root_expression = 46, + sym_open_expression = 47, + sym_closed_expression = 48, + sym_map_shorthand = 49, + sym__pipeline_map_shorthand = 50, + sym_expression = 51, + sym__pipeline_expression = 52, + sym__parenthesized_pipeline_expression = 53, + sym__pipeline_open_expression = 54, + sym_parenthesized_expression = 55, + sym_parenthesized_open_expression = 56, + sym_tuple_projection = 57, + sym_function_call = 58, + sym_argument_list = 59, + sym__trailing_argument_list = 60, + sym_positional_argument = 61, + sym_named_argument = 62, + sym__argument_value = 63, + sym__nested_open_expression = 64, + sym__nested_closed_expression = 65, + sym_parameterized_expression = 66, + sym_value = 67, + sym_interval_literal = 68, + sym_interval_bound = 69, + sym_infinite_bound = 70, + sym_interval_shorthand = 71, + sym_array_literal = 72, + sym_tuple_literal = 73, + sym_record_literal = 74, + sym__record_entry = 75, + sym_record_field = 76, + sym_record_spread = 77, + sym_incoming_value = 78, + sym_record_field_name = 79, + sym_record_access = 80, + sym_record_field_selector = 81, + sym_immediate_record_field_selector = 82, + sym_original_record_field_selector = 83, + sym_boolean_literal = 84, + sym_quoted_literal = 85, + sym_double_quoted_literal = 86, + sym_backtick_quoted_literal = 87, + sym_temporal_literal = 88, + aux_sym_open_expression_repeat1 = 89, + aux_sym_closed_expression_repeat1 = 90, + aux_sym_argument_list_repeat1 = 91, + aux_sym_array_literal_repeat1 = 92, + aux_sym_record_literal_repeat1 = 93, + aux_sym_record_access_repeat1 = 94, + aux_sym_double_quoted_literal_repeat1 = 95, + alias_sym_argument_name = 96, + alias_sym_from_start = 97, }; static const char * const ts_symbol_names[] = { @@ -129,7 +128,6 @@ static const char * const ts_symbol_names[] = { [anon_sym_DOLLAR] = "$", [aux_sym_tuple_projection_token1] = "tuple_index", [anon_sym_CARET] = "from_end", - [anon_sym_record] = "function_name", [sym_function_name] = "function_name", [anon_sym_COMMA] = ",", [anon_sym_COLON_EQ] = ":=", @@ -182,7 +180,7 @@ static const char * const ts_symbol_names[] = { [sym_tuple_projection] = "tuple_projection", [sym_function_call] = "function_call", [sym_argument_list] = "argument_list", - [sym__record_argument_list] = "argument_list", + [sym__trailing_argument_list] = "argument_list", [sym_positional_argument] = "positional_argument", [sym_named_argument] = "named_argument", [sym__argument_value] = "_argument_value", @@ -231,7 +229,6 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_DOLLAR] = anon_sym_DOLLAR, [aux_sym_tuple_projection_token1] = aux_sym_tuple_projection_token1, [anon_sym_CARET] = anon_sym_CARET, - [anon_sym_record] = sym_function_name, [sym_function_name] = sym_function_name, [anon_sym_COMMA] = anon_sym_COMMA, [anon_sym_COLON_EQ] = anon_sym_COLON_EQ, @@ -284,7 +281,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_tuple_projection] = sym_tuple_projection, [sym_function_call] = sym_function_call, [sym_argument_list] = sym_argument_list, - [sym__record_argument_list] = sym_argument_list, + [sym__trailing_argument_list] = sym_argument_list, [sym_positional_argument] = sym_positional_argument, [sym_named_argument] = sym_named_argument, [sym__argument_value] = sym__argument_value, @@ -357,10 +354,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [anon_sym_record] = { - .visible = true, - .named = true, - }, [sym_function_name] = { .visible = true, .named = true, @@ -570,7 +563,7 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym__record_argument_list] = { + [sym__trailing_argument_list] = { .visible = true, .named = true, }, @@ -974,13 +967,6 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [130] = 130, [131] = 131, [132] = 132, - [133] = 133, - [134] = 134, - [135] = 135, - [136] = 136, - [137] = 137, - [138] = 138, - [139] = 139, }; static const TSSymbol ts_supertype_symbols[SUPERTYPE_COUNT] = { @@ -1032,67 +1018,66 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 0: if (eof) ADVANCE(79); ADVANCE_MAP( - '"', 141, + '"', 129, '#', 4, '$', 85, '(', 83, ')', 84, '+', 34, - ',', 104, + ',', 92, '-', 22, '.', 18, - '0', 126, - ':', 123, + '0', 114, + ':', 111, '@', 69, - 'I', 108, - 'T', 119, - '[', 111, + 'I', 96, + 'T', 107, + '[', 99, '\\', 49, - ']', 112, + ']', 100, '^', 89, - '_', 125, - '`', 145, - 'r', 94, - '{', 106, + '_', 113, + '`', 133, + '{', 94, '|', 80, - '}', 107, + '}', 95, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || lookahead == 0xfeff) SKIP(75); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(127); - if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(97); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(115); + if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(90); END_STATE(); case 1: ADVANCE_MAP( - '"', 141, + '"', 129, '#', 4, '$', 85, '-', 23, '.', 19, - '0', 126, - ':', 122, + '0', 114, + ':', 110, '@', 69, - 'I', 109, - 'T', 120, + 'I', 97, + 'T', 108, '^', 20, - '`', 145, - '{', 106, - '}', 107, + '`', 133, + '{', 94, + '}', 95, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || lookahead == 0xfeff) SKIP(1); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(127); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(115); if (('A' <= lookahead && lookahead <= 'Z') || - ('_' <= lookahead && lookahead <= 'z')) ADVANCE(125); + ('_' <= lookahead && lookahead <= 'z')) ADVANCE(113); END_STATE(); case 2: - if (lookahead == '"') ADVANCE(141); + if (lookahead == '"') ADVANCE(129); if (lookahead == '\\') ADVANCE(49); if (lookahead == '\n' || lookahead == '\r') SKIP(3); @@ -1100,11 +1085,11 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(142); - if (lookahead != 0) ADVANCE(143); + lookahead == 0xfeff) ADVANCE(130); + if (lookahead != 0) ADVANCE(131); END_STATE(); case 3: - if (lookahead == '"') ADVANCE(141); + if (lookahead == '"') ADVANCE(129); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || @@ -1118,15 +1103,15 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 't') ADVANCE(45); END_STATE(); case 5: - if (lookahead == '"') ADVANCE(150); + if (lookahead == '"') ADVANCE(138); END_STATE(); case 6: - if (lookahead == '"') ADVANCE(148); + if (lookahead == '"') ADVANCE(136); if (lookahead == ' ' || lookahead == 'T') ADVANCE(65); END_STATE(); case 7: - if (lookahead == '"') ADVANCE(149); + if (lookahead == '"') ADVANCE(137); END_STATE(); case 8: if (lookahead == '$') ADVANCE(85); @@ -1134,7 +1119,6 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '.') ADVANCE(24); if (lookahead == '0') ADVANCE(86); if (lookahead == '^') ADVANCE(20); - if (lookahead == 'r') ADVANCE(100); if (lookahead == '|') ADVANCE(31); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || @@ -1143,14 +1127,13 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == 0xfeff) SKIP(9); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(87); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); END_STATE(); case 9: if (lookahead == '$') ADVANCE(85); if (lookahead == '(') ADVANCE(82); if (lookahead == '.') ADVANCE(24); if (lookahead == '^') ADVANCE(20); - if (lookahead == 'r') ADVANCE(100); if (lookahead == '|') ADVANCE(31); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || @@ -1158,19 +1141,19 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == 0x2060 || lookahead == 0xfeff) SKIP(9); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); END_STATE(); case 10: - if (lookahead == ')') ADVANCE(116); + if (lookahead == ')') ADVANCE(104); END_STATE(); case 11: - if (lookahead == ')') ADVANCE(118); + if (lookahead == ')') ADVANCE(106); END_STATE(); case 12: - if (lookahead == ')') ADVANCE(115); + if (lookahead == ')') ADVANCE(103); END_STATE(); case 13: - if (lookahead == ')') ADVANCE(117); + if (lookahead == ')') ADVANCE(105); END_STATE(); case 14: if (lookahead == '+') ADVANCE(12); @@ -1187,48 +1170,48 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 18: if (lookahead == '.') ADVANCE(21); - if (lookahead == '0') ADVANCE(132); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(133); + if (lookahead == '0') ADVANCE(120); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(121); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(131); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(119); END_STATE(); case 19: if (lookahead == '.') ADVANCE(21); - if (lookahead == '0') ADVANCE(136); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(137); + if (lookahead == '0') ADVANCE(124); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(125); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(135); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(123); END_STATE(); case 20: - if (lookahead == '.') ADVANCE(130); + if (lookahead == '.') ADVANCE(118); END_STATE(); case 21: - if (lookahead == '.') ADVANCE(124); + if (lookahead == '.') ADVANCE(112); END_STATE(); case 22: - if (lookahead == '0') ADVANCE(126); + if (lookahead == '0') ADVANCE(114); if (lookahead == 'I') ADVANCE(36); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(127); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(115); END_STATE(); case 23: - if (lookahead == '0') ADVANCE(126); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(127); + if (lookahead == '0') ADVANCE(114); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(115); END_STATE(); case 24: - if (lookahead == '0') ADVANCE(136); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(137); + if (lookahead == '0') ADVANCE(124); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(125); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(135); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(123); END_STATE(); case 25: if (lookahead == '0') ADVANCE(86); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(87); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(134); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(122); END_STATE(); case 26: if (lookahead == ':') ADVANCE(58); @@ -1244,16 +1227,16 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == ':') ADVANCE(67); END_STATE(); case 30: - if (lookahead == '=') ADVANCE(105); + if (lookahead == '=') ADVANCE(93); END_STATE(); case 31: if (lookahead == '>') ADVANCE(81); END_STATE(); case 32: - if (lookahead == 'F') ADVANCE(113); + if (lookahead == 'F') ADVANCE(101); END_STATE(); case 33: - if (lookahead == 'F') ADVANCE(114); + if (lookahead == 'F') ADVANCE(102); END_STATE(); case 34: if (lookahead == 'I') ADVANCE(35); @@ -1265,18 +1248,18 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'N') ADVANCE(33); END_STATE(); case 37: - if (lookahead == '`') ADVANCE(145); + if (lookahead == '`') ADVANCE(133); if (lookahead == '\n' || lookahead == '\r') SKIP(38); if (('\t' <= lookahead && lookahead <= '\f') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(146); - if (lookahead != 0) ADVANCE(147); + lookahead == 0xfeff) ADVANCE(134); + if (lookahead != 0) ADVANCE(135); END_STATE(); case 38: - if (lookahead == '`') ADVANCE(145); + if (lookahead == '`') ADVANCE(133); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || @@ -1287,16 +1270,16 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'a') ADVANCE(42); END_STATE(); case 40: - if (lookahead == 'e') ADVANCE(138); + if (lookahead == 'e') ADVANCE(126); END_STATE(); case 41: - if (lookahead == 'e') ADVANCE(139); + if (lookahead == 'e') ADVANCE(127); END_STATE(); case 42: if (lookahead == 'l') ADVANCE(46); END_STATE(); case 43: - if (lookahead == 'l') ADVANCE(140); + if (lookahead == 'l') ADVANCE(128); END_STATE(); case 44: if (lookahead == 'l') ADVANCE(43); @@ -1315,10 +1298,10 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 49: if (lookahead == '"' || - lookahead == '\\') ADVANCE(144); + lookahead == '\\') ADVANCE(132); END_STATE(); case 50: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(128); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); END_STATE(); case 51: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(26); @@ -1373,125 +1356,123 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 68: if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(125); + lookahead == '_') ADVANCE(113); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(97); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); END_STATE(); case 69: if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(129); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(117); END_STATE(); case 70: if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); END_STATE(); case 71: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(113); END_STATE(); case 72: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(131); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(119); END_STATE(); case 73: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(135); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(123); END_STATE(); case 74: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(134); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(122); END_STATE(); case 75: if (eof) ADVANCE(79); ADVANCE_MAP( - '"', 141, + '"', 129, '#', 4, '$', 85, '(', 83, ')', 84, '+', 34, - ',', 104, + ',', 92, '-', 22, '.', 19, - '0', 126, - ':', 123, + '0', 114, + ':', 111, '@', 69, - 'I', 108, - 'T', 119, - '[', 111, - ']', 112, + 'I', 96, + 'T', 107, + '[', 99, + ']', 100, '^', 20, - '_', 125, - '`', 145, - 'r', 94, - '{', 106, + '_', 113, + '`', 133, + '{', 94, '|', 80, - '}', 107, + '}', 95, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || lookahead == 0xfeff) SKIP(75); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(127); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(115); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(97); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); END_STATE(); case 76: if (eof) ADVANCE(79); ADVANCE_MAP( - '"', 141, + '"', 129, '#', 4, '$', 85, '(', 82, ')', 84, '+', 34, - ',', 104, + ',', 92, '-', 22, '.', 19, - '0', 126, + '0', 114, ':', 30, '@', 69, - 'I', 110, - 'T', 121, - '[', 111, - ']', 112, + 'I', 98, + 'T', 109, + '[', 99, + ']', 100, '^', 20, - '`', 145, - 'r', 100, - '{', 106, + '`', 133, + '{', 94, '|', 80, - '}', 107, + '}', 95, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || lookahead == 0xfeff) SKIP(76); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(127); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(115); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); END_STATE(); case 77: if (eof) ADVANCE(79); ADVANCE_MAP( - '"', 141, + '"', 129, ')', 84, - ',', 104, + ',', 92, '.', 18, '0', 86, '^', 88, - '`', 145, + '`', 133, '|', 80, - '}', 107, + '}', 95, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || @@ -1500,24 +1481,24 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == 0xfeff) SKIP(78); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(87); if (('A' <= lookahead && lookahead <= 'Z') || - ('_' <= lookahead && lookahead <= 'z')) ADVANCE(125); + ('_' <= lookahead && lookahead <= 'z')) ADVANCE(113); END_STATE(); case 78: if (eof) ADVANCE(79); - if (lookahead == '"') ADVANCE(141); + if (lookahead == '"') ADVANCE(129); if (lookahead == ')') ADVANCE(84); - if (lookahead == ',') ADVANCE(104); + if (lookahead == ',') ADVANCE(92); if (lookahead == '.') ADVANCE(17); - if (lookahead == '`') ADVANCE(145); + if (lookahead == '`') ADVANCE(133); if (lookahead == '|') ADVANCE(80); - if (lookahead == '}') ADVANCE(107); + if (lookahead == '}') ADVANCE(95); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || lookahead == 0xfeff) SKIP(78); if (('A' <= lookahead && lookahead <= 'Z') || - ('_' <= lookahead && lookahead <= 'z')) ADVANCE(125); + ('_' <= lookahead && lookahead <= 'z')) ADVANCE(113); END_STATE(); case 79: ACCEPT_TOKEN(ts_builtin_sym_end); @@ -1556,287 +1537,193 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 89: ACCEPT_TOKEN(anon_sym_CARET); - if (lookahead == '.') ADVANCE(130); + if (lookahead == '.') ADVANCE(118); END_STATE(); case 90: - ACCEPT_TOKEN(anon_sym_record); - if (lookahead == '-') ADVANCE(68); - if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(125); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(97); - END_STATE(); - case 91: - ACCEPT_TOKEN(anon_sym_record); - if (lookahead == '-') ADVANCE(70); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); - END_STATE(); - case 92: - ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(68); - if (lookahead == 'c') ADVANCE(95); - if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(125); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(97); - END_STATE(); - case 93: - ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(68); - if (lookahead == 'd') ADVANCE(90); - if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(125); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(97); - END_STATE(); - case 94: - ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(68); - if (lookahead == 'e') ADVANCE(92); - if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(125); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(97); - END_STATE(); - case 95: - ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(68); - if (lookahead == 'o') ADVANCE(96); - if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(125); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(97); - END_STATE(); - case 96: - ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(68); - if (lookahead == 'r') ADVANCE(93); - if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(125); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(97); - END_STATE(); - case 97: ACCEPT_TOKEN(sym_function_name); if (lookahead == '-') ADVANCE(68); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(125); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(97); - END_STATE(); - case 98: - ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(70); - if (lookahead == 'c') ADVANCE(101); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); - END_STATE(); - case 99: - ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(70); - if (lookahead == 'd') ADVANCE(91); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); - END_STATE(); - case 100: - ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(70); - if (lookahead == 'e') ADVANCE(98); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); - END_STATE(); - case 101: - ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(70); - if (lookahead == 'o') ADVANCE(102); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); - END_STATE(); - case 102: - ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(70); - if (lookahead == 'r') ADVANCE(99); + lookahead == '_') ADVANCE(113); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); END_STATE(); - case 103: + case 91: ACCEPT_TOKEN(sym_function_name); if (lookahead == '-') ADVANCE(70); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); END_STATE(); - case 104: + case 92: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 105: + case 93: ACCEPT_TOKEN(anon_sym_COLON_EQ); END_STATE(); - case 106: + case 94: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); - case 107: + case 95: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); - case 108: + case 96: ACCEPT_TOKEN(anon_sym_I); if (lookahead == '-') ADVANCE(68); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(125); + lookahead == '_') ADVANCE(113); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(97); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); END_STATE(); - case 109: + case 97: ACCEPT_TOKEN(anon_sym_I); if (lookahead == '-') ADVANCE(71); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(113); END_STATE(); - case 110: + case 98: ACCEPT_TOKEN(anon_sym_I); if (lookahead == '-') ADVANCE(70); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); END_STATE(); - case 111: + case 99: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); - case 112: + case 100: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); - case 113: + case 101: ACCEPT_TOKEN(anon_sym_PLUSINF); END_STATE(); - case 114: + case 102: ACCEPT_TOKEN(anon_sym_DASHINF); END_STATE(); - case 115: + case 103: ACCEPT_TOKEN(anon_sym_LPAREN0_PLUS_RPAREN); END_STATE(); - case 116: + case 104: ACCEPT_TOKEN(anon_sym_LPAREN_PLUS_RPAREN); END_STATE(); - case 117: + case 105: ACCEPT_TOKEN(anon_sym_LPAREN0_DASH_RPAREN); END_STATE(); - case 118: + case 106: ACCEPT_TOKEN(anon_sym_LPAREN_DASH_RPAREN); END_STATE(); - case 119: + case 107: ACCEPT_TOKEN(anon_sym_T); if (lookahead == '-') ADVANCE(68); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(125); + lookahead == '_') ADVANCE(113); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(97); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); END_STATE(); - case 120: + case 108: ACCEPT_TOKEN(anon_sym_T); if (lookahead == '-') ADVANCE(71); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(113); END_STATE(); - case 121: + case 109: ACCEPT_TOKEN(anon_sym_T); if (lookahead == '-') ADVANCE(70); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(103); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); END_STATE(); - case 122: + case 110: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); - case 123: + case 111: ACCEPT_TOKEN(anon_sym_COLON); - if (lookahead == '=') ADVANCE(105); + if (lookahead == '=') ADVANCE(93); END_STATE(); - case 124: + case 112: ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); END_STATE(); - case 125: + case 113: ACCEPT_TOKEN(sym_unquoted_record_field_name); if (lookahead == '-') ADVANCE(71); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(113); END_STATE(); - case 126: + case 114: ACCEPT_TOKEN(sym_numeric_literal); if (lookahead == '.') ADVANCE(50); END_STATE(); - case 127: + case 115: ACCEPT_TOKEN(sym_numeric_literal); if (lookahead == '.') ADVANCE(50); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(127); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(115); END_STATE(); - case 128: + case 116: ACCEPT_TOKEN(sym_numeric_literal); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(128); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); END_STATE(); - case 129: + case 117: ACCEPT_TOKEN(sym_variable); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(129); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(117); END_STATE(); - case 130: + case 118: ACCEPT_TOKEN(sym_original_input); END_STATE(); - case 131: + case 119: ACCEPT_TOKEN(aux_sym_immediate_record_field_selector_token1); if (lookahead == '-') ADVANCE(72); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(131); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(119); END_STATE(); - case 132: + case 120: ACCEPT_TOKEN(aux_sym_immediate_record_field_selector_token2); END_STATE(); - case 133: + case 121: ACCEPT_TOKEN(aux_sym_immediate_record_field_selector_token2); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(133); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(121); END_STATE(); - case 134: + case 122: ACCEPT_TOKEN(aux_sym_original_record_field_selector_token1); if (lookahead == '-') ADVANCE(74); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(134); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(122); END_STATE(); - case 135: + case 123: ACCEPT_TOKEN(sym_named_record_field); if (lookahead == '-') ADVANCE(73); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(135); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(123); END_STATE(); - case 136: + case 124: ACCEPT_TOKEN(sym_positional_record_field); END_STATE(); - case 137: + case 125: ACCEPT_TOKEN(sym_positional_record_field); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(137); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(125); END_STATE(); - case 138: + case 126: ACCEPT_TOKEN(anon_sym_POUNDtrue); END_STATE(); - case 139: + case 127: ACCEPT_TOKEN(anon_sym_POUNDfalse); END_STATE(); - case 140: + case 128: ACCEPT_TOKEN(sym_null_literal); END_STATE(); - case 141: + case 129: ACCEPT_TOKEN(anon_sym_DQUOTE); END_STATE(); - case 142: + case 130: ACCEPT_TOKEN(sym_double_quoted_content); if (lookahead == '\t' || lookahead == 0x0b || @@ -1844,27 +1731,27 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(142); + lookahead == 0xfeff) ADVANCE(130); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && lookahead != '"' && - lookahead != '\\') ADVANCE(143); + lookahead != '\\') ADVANCE(131); END_STATE(); - case 143: + case 131: ACCEPT_TOKEN(sym_double_quoted_content); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r' && lookahead != '"' && - lookahead != '\\') ADVANCE(143); + lookahead != '\\') ADVANCE(131); END_STATE(); - case 144: + case 132: ACCEPT_TOKEN(sym_escape_sequence); END_STATE(); - case 145: + case 133: ACCEPT_TOKEN(anon_sym_BQUOTE); END_STATE(); - case 146: + case 134: ACCEPT_TOKEN(sym_backtick_quoted_content); if (lookahead == '\t' || lookahead == 0x0b || @@ -1872,25 +1759,25 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(146); + lookahead == 0xfeff) ADVANCE(134); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && - lookahead != '`') ADVANCE(147); + lookahead != '`') ADVANCE(135); END_STATE(); - case 147: + case 135: ACCEPT_TOKEN(sym_backtick_quoted_content); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r' && - lookahead != '`') ADVANCE(147); + lookahead != '`') ADVANCE(135); END_STATE(); - case 148: + case 136: ACCEPT_TOKEN(sym_date_literal); END_STATE(); - case 149: + case 137: ACCEPT_TOKEN(sym_date_time_literal); END_STATE(); - case 150: + case 138: ACCEPT_TOKEN(sym_time_literal); END_STATE(); default: @@ -1907,42 +1794,42 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [5] = {.lex_state = 76}, [6] = {.lex_state = 76}, [7] = {.lex_state = 76}, - [8] = {.lex_state = 76}, + [8] = {.lex_state = 1}, [9] = {.lex_state = 76}, [10] = {.lex_state = 1}, - [11] = {.lex_state = 1}, + [11] = {.lex_state = 76}, [12] = {.lex_state = 76}, [13] = {.lex_state = 76}, [14] = {.lex_state = 76}, [15] = {.lex_state = 76}, [16] = {.lex_state = 76}, - [17] = {.lex_state = 76}, + [17] = {.lex_state = 8}, [18] = {.lex_state = 8}, [19] = {.lex_state = 8}, [20] = {.lex_state = 8}, - [21] = {.lex_state = 8}, - [22] = {.lex_state = 8}, - [23] = {.lex_state = 8}, + [21] = {.lex_state = 77}, + [22] = {.lex_state = 77}, + [23] = {.lex_state = 77}, [24] = {.lex_state = 77}, [25] = {.lex_state = 77}, - [26] = {.lex_state = 77}, + [26] = {.lex_state = 8}, [27] = {.lex_state = 77}, - [28] = {.lex_state = 77}, - [29] = {.lex_state = 77}, + [28] = {.lex_state = 76}, + [29] = {.lex_state = 8}, [30] = {.lex_state = 76}, [31] = {.lex_state = 76}, [32] = {.lex_state = 76}, - [33] = {.lex_state = 76}, + [33] = {.lex_state = 77}, [34] = {.lex_state = 77}, [35] = {.lex_state = 0}, - [36] = {.lex_state = 77}, + [36] = {.lex_state = 0}, [37] = {.lex_state = 0}, [38] = {.lex_state = 0}, - [39] = {.lex_state = 0}, + [39] = {.lex_state = 77}, [40] = {.lex_state = 77}, [41] = {.lex_state = 77}, - [42] = {.lex_state = 77}, - [43] = {.lex_state = 76}, + [42] = {.lex_state = 76}, + [43] = {.lex_state = 0}, [44] = {.lex_state = 0}, [45] = {.lex_state = 0}, [46] = {.lex_state = 0}, @@ -1969,26 +1856,26 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [67] = {.lex_state = 0}, [68] = {.lex_state = 0}, [69] = {.lex_state = 0}, - [70] = {.lex_state = 76}, + [70] = {.lex_state = 0}, [71] = {.lex_state = 0}, - [72] = {.lex_state = 0}, - [73] = {.lex_state = 0}, + [72] = {.lex_state = 76}, + [73] = {.lex_state = 2}, [74] = {.lex_state = 0}, [75] = {.lex_state = 0}, [76] = {.lex_state = 0}, [77] = {.lex_state = 2}, - [78] = {.lex_state = 2}, - [79] = {.lex_state = 0}, + [78] = {.lex_state = 0}, + [79] = {.lex_state = 76}, [80] = {.lex_state = 0}, - [81] = {.lex_state = 2}, + [81] = {.lex_state = 0}, [82] = {.lex_state = 0}, - [83] = {.lex_state = 76}, + [83] = {.lex_state = 0}, [84] = {.lex_state = 0}, [85] = {.lex_state = 0}, [86] = {.lex_state = 0}, [87] = {.lex_state = 0}, [88] = {.lex_state = 0}, - [89] = {.lex_state = 0}, + [89] = {.lex_state = 2}, [90] = {.lex_state = 0}, [91] = {.lex_state = 0}, [92] = {.lex_state = 0}, @@ -2006,39 +1893,32 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [104] = {.lex_state = 0}, [105] = {.lex_state = 0}, [106] = {.lex_state = 0}, - [107] = {.lex_state = 0}, - [108] = {.lex_state = 25}, - [109] = {.lex_state = 0}, + [107] = {.lex_state = 25}, + [108] = {.lex_state = 0}, + [109] = {.lex_state = 37}, [110] = {.lex_state = 0}, [111] = {.lex_state = 0}, [112] = {.lex_state = 0}, - [113] = {.lex_state = 0}, + [113] = {.lex_state = 77}, [114] = {.lex_state = 0}, - [115] = {.lex_state = 37}, + [115] = {.lex_state = 0}, [116] = {.lex_state = 0}, [117] = {.lex_state = 0}, [118] = {.lex_state = 0}, [119] = {.lex_state = 0}, - [120] = {.lex_state = 77}, + [120] = {.lex_state = 0}, [121] = {.lex_state = 0}, [122] = {.lex_state = 0}, - [123] = {.lex_state = 0}, + [123] = {.lex_state = 8}, [124] = {.lex_state = 0}, [125] = {.lex_state = 0}, [126] = {.lex_state = 76}, [127] = {.lex_state = 0}, - [128] = {.lex_state = 0}, + [128] = {.lex_state = 76}, [129] = {.lex_state = 0}, [130] = {.lex_state = 0}, - [131] = {.lex_state = 0}, + [131] = {.lex_state = 76}, [132] = {.lex_state = 0}, - [133] = {.lex_state = 76}, - [134] = {.lex_state = 0}, - [135] = {.lex_state = 76}, - [136] = {.lex_state = 76}, - [137] = {.lex_state = 8}, - [138] = {.lex_state = 0}, - [139] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -2051,7 +1931,6 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_DOLLAR] = ACTIONS(1), [aux_sym_tuple_projection_token1] = ACTIONS(1), [anon_sym_CARET] = ACTIONS(1), - [anon_sym_record] = ACTIONS(1), [sym_function_name] = ACTIONS(1), [anon_sym_COMMA] = ACTIONS(1), [anon_sym_COLON_EQ] = ACTIONS(1), @@ -2089,116 +1968,113 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_time_literal] = ACTIONS(1), }, [STATE(1)] = { - [sym_source_file] = STATE(138), - [sym_root_expression] = STATE(131), - [sym_open_expression] = STATE(122), - [sym_closed_expression] = STATE(122), - [sym_map_shorthand] = STATE(71), - [sym_expression] = STATE(72), - [sym_parenthesized_expression] = STATE(71), - [sym_tuple_projection] = STATE(71), - [sym_function_call] = STATE(71), - [sym_value] = STATE(45), - [sym_interval_literal] = STATE(48), - [sym_array_literal] = STATE(48), - [sym_tuple_literal] = STATE(48), - [sym_record_literal] = STATE(48), - [sym_incoming_value] = STATE(48), - [sym_record_access] = STATE(48), - [sym_record_field_selector] = STATE(26), - [sym_boolean_literal] = STATE(48), - [sym_quoted_literal] = STATE(48), - [sym_double_quoted_literal] = STATE(37), - [sym_backtick_quoted_literal] = STATE(37), - [sym_temporal_literal] = STATE(48), + [sym_source_file] = STATE(120), + [sym_root_expression] = STATE(121), + [sym_open_expression] = STATE(110), + [sym_closed_expression] = STATE(110), + [sym_map_shorthand] = STATE(70), + [sym_expression] = STATE(67), + [sym_parenthesized_expression] = STATE(70), + [sym_tuple_projection] = STATE(70), + [sym_function_call] = STATE(70), + [sym_value] = STATE(55), + [sym_interval_literal] = STATE(64), + [sym_array_literal] = STATE(64), + [sym_tuple_literal] = STATE(64), + [sym_record_literal] = STATE(64), + [sym_incoming_value] = STATE(64), + [sym_record_access] = STATE(64), + [sym_record_field_selector] = STATE(23), + [sym_boolean_literal] = STATE(64), + [sym_quoted_literal] = STATE(64), + [sym_double_quoted_literal] = STATE(38), + [sym_backtick_quoted_literal] = STATE(38), + [sym_temporal_literal] = STATE(64), [anon_sym_PIPE_GT] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(5), [anon_sym_DOLLAR] = ACTIONS(7), - [anon_sym_record] = ACTIONS(9), - [sym_function_name] = ACTIONS(11), - [anon_sym_LBRACE] = ACTIONS(13), - [anon_sym_I] = ACTIONS(15), - [anon_sym_T] = ACTIONS(17), - [anon_sym_DOT_DOT_DOT] = ACTIONS(19), - [sym_numeric_literal] = ACTIONS(21), - [sym_variable] = ACTIONS(21), - [sym_original_input] = ACTIONS(23), - [sym_named_record_field] = ACTIONS(25), - [sym_positional_record_field] = ACTIONS(25), - [anon_sym_POUNDtrue] = ACTIONS(27), - [anon_sym_POUNDfalse] = ACTIONS(27), - [sym_null_literal] = ACTIONS(21), - [anon_sym_DQUOTE] = ACTIONS(29), - [anon_sym_BQUOTE] = ACTIONS(31), - [sym_date_literal] = ACTIONS(33), - [sym_date_time_literal] = ACTIONS(33), - [sym_time_literal] = ACTIONS(33), + [sym_function_name] = ACTIONS(9), + [anon_sym_LBRACE] = ACTIONS(11), + [anon_sym_I] = ACTIONS(13), + [anon_sym_T] = ACTIONS(15), + [anon_sym_DOT_DOT_DOT] = ACTIONS(17), + [sym_numeric_literal] = ACTIONS(19), + [sym_variable] = ACTIONS(19), + [sym_original_input] = ACTIONS(21), + [sym_named_record_field] = ACTIONS(23), + [sym_positional_record_field] = ACTIONS(23), + [anon_sym_POUNDtrue] = ACTIONS(25), + [anon_sym_POUNDfalse] = ACTIONS(25), + [sym_null_literal] = ACTIONS(19), + [anon_sym_DQUOTE] = ACTIONS(27), + [anon_sym_BQUOTE] = ACTIONS(29), + [sym_date_literal] = ACTIONS(31), + [sym_date_time_literal] = ACTIONS(31), + [sym_time_literal] = ACTIONS(31), }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 24, + [0] = 23, ACTIONS(5), 1, anon_sym_LPAREN, ACTIONS(7), 1, anon_sym_DOLLAR, - ACTIONS(9), 1, - anon_sym_record, - ACTIONS(15), 1, + ACTIONS(13), 1, anon_sym_I, - ACTIONS(17), 1, + ACTIONS(15), 1, anon_sym_T, - ACTIONS(19), 1, + ACTIONS(17), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(23), 1, + ACTIONS(21), 1, sym_original_input, - ACTIONS(29), 1, + ACTIONS(27), 1, anon_sym_DQUOTE, - ACTIONS(31), 1, + ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(35), 1, + ACTIONS(33), 1, anon_sym_RPAREN, - ACTIONS(37), 1, + ACTIONS(35), 1, sym_function_name, - ACTIONS(39), 1, + ACTIONS(37), 1, anon_sym_LBRACE, - STATE(26), 1, + STATE(23), 1, sym_record_field_selector, - STATE(82), 1, + STATE(86), 1, sym_function_call, - STATE(95), 1, + STATE(100), 1, sym_value, - ACTIONS(25), 2, + ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(27), 2, + ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(37), 2, + STATE(38), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(112), 2, + STATE(97), 2, sym_positional_argument, sym_named_argument, - STATE(139), 2, + STATE(130), 2, sym_argument_list, - sym__record_argument_list, - ACTIONS(21), 3, + sym__trailing_argument_list, + ACTIONS(19), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(33), 3, + ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(113), 6, + STATE(108), 6, sym_parenthesized_expression, sym_tuple_projection, sym__argument_value, sym__nested_open_expression, sym__nested_closed_expression, sym_parameterized_expression, - STATE(48), 9, + STATE(64), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2208,67 +2084,63 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [95] = 24, + [92] = 22, ACTIONS(5), 1, anon_sym_LPAREN, ACTIONS(7), 1, anon_sym_DOLLAR, - ACTIONS(9), 1, - anon_sym_record, - ACTIONS(15), 1, + ACTIONS(13), 1, anon_sym_I, - ACTIONS(17), 1, + ACTIONS(15), 1, anon_sym_T, - ACTIONS(19), 1, + ACTIONS(17), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(23), 1, + ACTIONS(21), 1, sym_original_input, - ACTIONS(29), 1, + ACTIONS(27), 1, anon_sym_DQUOTE, - ACTIONS(31), 1, + ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(37), 1, + ACTIONS(35), 1, sym_function_name, - ACTIONS(39), 1, + ACTIONS(37), 1, anon_sym_LBRACE, - ACTIONS(41), 1, + ACTIONS(39), 1, anon_sym_RPAREN, - STATE(26), 1, + STATE(23), 1, sym_record_field_selector, - STATE(82), 1, + STATE(86), 1, sym_function_call, - STATE(95), 1, + STATE(100), 1, sym_value, - STATE(127), 1, - sym_argument_list, - ACTIONS(25), 2, + ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(27), 2, + ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(37), 2, + STATE(38), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(96), 2, + STATE(111), 2, sym_positional_argument, sym_named_argument, - ACTIONS(21), 3, + ACTIONS(19), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(33), 3, + ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(113), 6, + STATE(108), 6, sym_parenthesized_expression, sym_tuple_projection, sym__argument_value, sym__nested_open_expression, sym__nested_closed_expression, sym_parameterized_expression, - STATE(48), 9, + STATE(64), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2278,65 +2150,63 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [189] = 23, + [180] = 22, ACTIONS(5), 1, anon_sym_LPAREN, ACTIONS(7), 1, anon_sym_DOLLAR, - ACTIONS(9), 1, - anon_sym_record, - ACTIONS(15), 1, + ACTIONS(13), 1, anon_sym_I, - ACTIONS(17), 1, + ACTIONS(15), 1, anon_sym_T, - ACTIONS(19), 1, + ACTIONS(17), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(23), 1, + ACTIONS(21), 1, sym_original_input, - ACTIONS(29), 1, + ACTIONS(27), 1, anon_sym_DQUOTE, - ACTIONS(31), 1, + ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(37), 1, + ACTIONS(35), 1, sym_function_name, - ACTIONS(39), 1, + ACTIONS(37), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(41), 1, anon_sym_RPAREN, - STATE(26), 1, + STATE(23), 1, sym_record_field_selector, - STATE(82), 1, + STATE(86), 1, sym_function_call, - STATE(95), 1, + STATE(100), 1, sym_value, - ACTIONS(25), 2, + ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(27), 2, + ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(37), 2, + STATE(38), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(116), 2, + STATE(111), 2, sym_positional_argument, sym_named_argument, - ACTIONS(21), 3, + ACTIONS(19), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(33), 3, + ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(113), 6, + STATE(108), 6, sym_parenthesized_expression, sym_tuple_projection, sym__argument_value, sym__nested_open_expression, sym__nested_closed_expression, sym_parameterized_expression, - STATE(48), 9, + STATE(64), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2346,65 +2216,63 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [280] = 23, + [268] = 23, + ACTIONS(3), 1, + anon_sym_PIPE_GT, ACTIONS(5), 1, anon_sym_LPAREN, ACTIONS(7), 1, anon_sym_DOLLAR, ACTIONS(9), 1, - anon_sym_record, - ACTIONS(15), 1, + sym_function_name, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, anon_sym_I, - ACTIONS(17), 1, + ACTIONS(15), 1, anon_sym_T, - ACTIONS(19), 1, + ACTIONS(17), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(23), 1, + ACTIONS(21), 1, sym_original_input, - ACTIONS(29), 1, + ACTIONS(27), 1, anon_sym_DQUOTE, - ACTIONS(31), 1, + ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(37), 1, - sym_function_name, - ACTIONS(39), 1, - anon_sym_LBRACE, - ACTIONS(45), 1, - anon_sym_RPAREN, - STATE(26), 1, + STATE(23), 1, sym_record_field_selector, - STATE(82), 1, - sym_function_call, - STATE(95), 1, + STATE(55), 1, sym_value, - ACTIONS(25), 2, + STATE(67), 1, + sym_expression, + STATE(122), 1, + sym_root_expression, + ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(27), 2, + ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(37), 2, + STATE(38), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(116), 2, - sym_positional_argument, - sym_named_argument, - ACTIONS(21), 3, + STATE(110), 2, + sym_open_expression, + sym_closed_expression, + ACTIONS(19), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(33), 3, + ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(113), 6, + STATE(70), 4, + sym_map_shorthand, sym_parenthesized_expression, sym_tuple_projection, - sym__argument_value, - sym__nested_open_expression, - sym__nested_closed_expression, - sym_parameterized_expression, - STATE(48), 9, + sym_function_call, + STATE(64), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2414,131 +2282,61 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [371] = 24, - ACTIONS(3), 1, - anon_sym_PIPE_GT, + [357] = 21, ACTIONS(5), 1, anon_sym_LPAREN, ACTIONS(7), 1, anon_sym_DOLLAR, - ACTIONS(9), 1, - anon_sym_record, - ACTIONS(11), 1, - sym_function_name, ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, anon_sym_I, - ACTIONS(17), 1, + ACTIONS(15), 1, anon_sym_T, - ACTIONS(19), 1, + ACTIONS(17), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(23), 1, + ACTIONS(21), 1, sym_original_input, - ACTIONS(29), 1, + ACTIONS(27), 1, anon_sym_DQUOTE, - ACTIONS(31), 1, + ACTIONS(29), 1, anon_sym_BQUOTE, - STATE(26), 1, - sym_record_field_selector, - STATE(45), 1, - sym_value, - STATE(72), 1, - sym_expression, - STATE(132), 1, - sym_root_expression, - ACTIONS(25), 2, - sym_named_record_field, - sym_positional_record_field, - ACTIONS(27), 2, - anon_sym_POUNDtrue, - anon_sym_POUNDfalse, - STATE(37), 2, - sym_double_quoted_literal, - sym_backtick_quoted_literal, - STATE(122), 2, - sym_open_expression, - sym_closed_expression, - ACTIONS(21), 3, - sym_numeric_literal, - sym_variable, - sym_null_literal, - ACTIONS(33), 3, - sym_date_literal, - sym_date_time_literal, - sym_time_literal, - STATE(71), 4, - sym_map_shorthand, - sym_parenthesized_expression, - sym_tuple_projection, - sym_function_call, - STATE(48), 9, - sym_interval_literal, - sym_array_literal, - sym_tuple_literal, - sym_record_literal, - sym_incoming_value, - sym_record_access, - sym_boolean_literal, - sym_quoted_literal, - sym_temporal_literal, - [463] = 22, - ACTIONS(5), 1, - anon_sym_LPAREN, - ACTIONS(7), 1, - anon_sym_DOLLAR, - ACTIONS(9), 1, - anon_sym_record, - ACTIONS(15), 1, - anon_sym_I, - ACTIONS(17), 1, - anon_sym_T, - ACTIONS(19), 1, - anon_sym_DOT_DOT_DOT, - ACTIONS(23), 1, - sym_original_input, - ACTIONS(29), 1, - anon_sym_DQUOTE, - ACTIONS(31), 1, - anon_sym_BQUOTE, - ACTIONS(37), 1, + ACTIONS(35), 1, sym_function_name, - ACTIONS(39), 1, + ACTIONS(37), 1, anon_sym_LBRACE, - STATE(26), 1, + STATE(23), 1, sym_record_field_selector, - STATE(82), 1, + STATE(86), 1, sym_function_call, - STATE(95), 1, + STATE(100), 1, sym_value, - ACTIONS(25), 2, + ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(27), 2, + ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(37), 2, + STATE(38), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(116), 2, + STATE(111), 2, sym_positional_argument, sym_named_argument, - ACTIONS(21), 3, + ACTIONS(19), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(33), 3, + ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(113), 6, + STATE(108), 6, sym_parenthesized_expression, sym_tuple_projection, sym__argument_value, sym__nested_open_expression, sym__nested_closed_expression, sym_parameterized_expression, - STATE(48), 9, + STATE(64), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2548,60 +2346,58 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [551] = 21, + [442] = 20, ACTIONS(5), 1, anon_sym_LPAREN, ACTIONS(7), 1, anon_sym_DOLLAR, ACTIONS(9), 1, - anon_sym_record, - ACTIONS(11), 1, sym_function_name, - ACTIONS(15), 1, + ACTIONS(13), 1, anon_sym_I, - ACTIONS(17), 1, + ACTIONS(15), 1, anon_sym_T, - ACTIONS(19), 1, + ACTIONS(17), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(23), 1, + ACTIONS(21), 1, sym_original_input, - ACTIONS(29), 1, + ACTIONS(27), 1, anon_sym_DQUOTE, - ACTIONS(31), 1, + ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(39), 1, + ACTIONS(37), 1, anon_sym_LBRACE, - STATE(26), 1, + STATE(23), 1, sym_record_field_selector, - STATE(82), 1, + STATE(86), 1, sym_function_call, - STATE(95), 1, + STATE(100), 1, sym_value, - ACTIONS(25), 2, + ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(27), 2, + ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(37), 2, + STATE(38), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(21), 3, + ACTIONS(19), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(33), 3, + ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(118), 6, + STATE(112), 6, sym_parenthesized_expression, sym_tuple_projection, sym__argument_value, sym__nested_open_expression, sym__nested_closed_expression, sym_parameterized_expression, - STATE(48), 9, + STATE(64), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2611,181 +2407,179 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [635] = 23, + [523] = 22, ACTIONS(7), 1, anon_sym_DOLLAR, - ACTIONS(9), 1, - anon_sym_record, ACTIONS(11), 1, - sym_function_name, - ACTIONS(13), 1, anon_sym_LBRACE, - ACTIONS(15), 1, + ACTIONS(13), 1, anon_sym_I, - ACTIONS(17), 1, + ACTIONS(15), 1, anon_sym_T, - ACTIONS(19), 1, - anon_sym_DOT_DOT_DOT, - ACTIONS(23), 1, + ACTIONS(21), 1, sym_original_input, - ACTIONS(29), 1, + ACTIONS(27), 1, anon_sym_DQUOTE, - ACTIONS(31), 1, + ACTIONS(29), 1, anon_sym_BQUOTE, + ACTIONS(43), 1, + anon_sym_RBRACE, + ACTIONS(45), 1, + anon_sym_COLON, ACTIONS(47), 1, - anon_sym_LPAREN, - STATE(26), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(49), 1, + sym_unquoted_record_field_name, + STATE(23), 1, sym_record_field_selector, - STATE(45), 1, + STATE(84), 1, sym_value, - STATE(53), 1, - sym__parenthesized_pipeline_expression, - STATE(107), 1, - sym_record_access, - ACTIONS(25), 2, + STATE(124), 1, + sym_tuple_projection, + STATE(131), 1, + sym_record_field_name, + ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(27), 2, + ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(37), 2, + STATE(79), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(128), 2, - sym_closed_expression, - sym__pipeline_open_expression, - ACTIONS(21), 3, + ACTIONS(19), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(33), 3, + ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(106), 3, - sym__pipeline_expression, - sym_tuple_projection, - sym_function_call, - STATE(48), 8, + STATE(92), 3, + sym__record_entry, + sym_record_field, + sym_record_spread, + STATE(64), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, sym_record_literal, sym_incoming_value, + sym_record_access, sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [722] = 22, + [607] = 22, ACTIONS(7), 1, anon_sym_DOLLAR, - ACTIONS(13), 1, + ACTIONS(9), 1, + sym_function_name, + ACTIONS(11), 1, anon_sym_LBRACE, - ACTIONS(15), 1, + ACTIONS(13), 1, anon_sym_I, - ACTIONS(17), 1, + ACTIONS(15), 1, anon_sym_T, - ACTIONS(23), 1, + ACTIONS(17), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(21), 1, sym_original_input, - ACTIONS(29), 1, + ACTIONS(27), 1, anon_sym_DQUOTE, - ACTIONS(31), 1, + ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(49), 1, - anon_sym_RBRACE, ACTIONS(51), 1, - anon_sym_COLON, - ACTIONS(53), 1, - anon_sym_DOT_DOT_DOT, - ACTIONS(55), 1, - sym_unquoted_record_field_name, - STATE(26), 1, + anon_sym_LPAREN, + STATE(23), 1, sym_record_field_selector, - STATE(76), 1, + STATE(51), 1, + sym__parenthesized_pipeline_expression, + STATE(55), 1, sym_value, - STATE(130), 1, - sym_tuple_projection, - STATE(133), 1, - sym_record_field_name, - ACTIONS(25), 2, + STATE(99), 1, + sym_record_access, + ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(27), 2, + ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(83), 2, + STATE(38), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(21), 3, + STATE(118), 2, + sym_closed_expression, + sym__pipeline_open_expression, + ACTIONS(19), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(33), 3, + ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(101), 3, - sym__record_entry, - sym_record_field, - sym_record_spread, - STATE(48), 9, + STATE(98), 3, + sym__pipeline_expression, + sym_tuple_projection, + sym_function_call, + STATE(64), 8, sym_interval_literal, sym_array_literal, sym_tuple_literal, sym_record_literal, sym_incoming_value, - sym_record_access, sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [806] = 20, - ACTIONS(13), 1, + [691] = 20, + ACTIONS(11), 1, anon_sym_LBRACE, - ACTIONS(15), 1, + ACTIONS(13), 1, anon_sym_I, - ACTIONS(17), 1, + ACTIONS(15), 1, anon_sym_T, - ACTIONS(23), 1, + ACTIONS(21), 1, sym_original_input, - ACTIONS(29), 1, + ACTIONS(27), 1, anon_sym_DQUOTE, - ACTIONS(31), 1, + ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(49), 1, + ACTIONS(43), 1, anon_sym_RBRACE, - ACTIONS(51), 1, + ACTIONS(45), 1, anon_sym_COLON, - ACTIONS(53), 1, + ACTIONS(47), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(55), 1, + ACTIONS(49), 1, sym_unquoted_record_field_name, - STATE(26), 1, + STATE(23), 1, sym_record_field_selector, - STATE(100), 1, + STATE(105), 1, sym_value, - STATE(133), 1, + STATE(131), 1, sym_record_field_name, - ACTIONS(25), 2, + ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(27), 2, + ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(83), 2, + STATE(79), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(21), 3, + ACTIONS(19), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(33), 3, + ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(101), 3, + STATE(92), 3, sym__record_entry, sym_record_field, sym_record_spread, - STATE(48), 9, + STATE(64), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2795,43 +2589,43 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [884] = 15, - ACTIONS(13), 1, + [769] = 15, + ACTIONS(11), 1, anon_sym_LBRACE, - ACTIONS(19), 1, + ACTIONS(17), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(23), 1, + ACTIONS(21), 1, sym_original_input, - ACTIONS(29), 1, + ACTIONS(27), 1, anon_sym_DQUOTE, - ACTIONS(31), 1, + ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(57), 1, + ACTIONS(53), 1, anon_sym_I, - ACTIONS(59), 1, + ACTIONS(55), 1, anon_sym_T, - STATE(26), 1, + STATE(23), 1, sym_record_field_selector, - STATE(117), 1, + STATE(129), 1, sym_value, - ACTIONS(25), 2, + ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(27), 2, + ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(37), 2, + STATE(38), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(21), 3, + ACTIONS(19), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(33), 3, + ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(48), 9, + STATE(64), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2841,43 +2635,43 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [945] = 15, - ACTIONS(13), 1, + [830] = 15, + ACTIONS(11), 1, anon_sym_LBRACE, - ACTIONS(19), 1, + ACTIONS(17), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(23), 1, + ACTIONS(21), 1, sym_original_input, - ACTIONS(29), 1, + ACTIONS(27), 1, anon_sym_DQUOTE, - ACTIONS(31), 1, + ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(57), 1, + ACTIONS(53), 1, anon_sym_I, - ACTIONS(59), 1, + ACTIONS(55), 1, anon_sym_T, - STATE(26), 1, + STATE(23), 1, sym_record_field_selector, - STATE(123), 1, + STATE(94), 1, sym_value, - ACTIONS(25), 2, + ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(27), 2, + ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(37), 2, + STATE(38), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(21), 3, + ACTIONS(19), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(33), 3, + ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(48), 9, + STATE(64), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2887,43 +2681,43 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [1006] = 15, - ACTIONS(13), 1, + [891] = 15, + ACTIONS(11), 1, anon_sym_LBRACE, - ACTIONS(19), 1, + ACTIONS(17), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(23), 1, + ACTIONS(21), 1, sym_original_input, - ACTIONS(29), 1, + ACTIONS(27), 1, anon_sym_DQUOTE, - ACTIONS(31), 1, + ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(57), 1, + ACTIONS(53), 1, anon_sym_I, - ACTIONS(59), 1, + ACTIONS(55), 1, anon_sym_T, - STATE(26), 1, + STATE(23), 1, sym_record_field_selector, - STATE(104), 1, + STATE(116), 1, sym_value, - ACTIONS(25), 2, + ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(27), 2, + ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(37), 2, + STATE(38), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(21), 3, + ACTIONS(19), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(33), 3, + ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(48), 9, + STATE(64), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2933,43 +2727,43 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [1067] = 15, - ACTIONS(13), 1, + [952] = 15, + ACTIONS(11), 1, anon_sym_LBRACE, - ACTIONS(19), 1, + ACTIONS(17), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(23), 1, + ACTIONS(21), 1, sym_original_input, - ACTIONS(29), 1, + ACTIONS(27), 1, anon_sym_DQUOTE, - ACTIONS(31), 1, + ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(57), 1, + ACTIONS(53), 1, anon_sym_I, - ACTIONS(59), 1, + ACTIONS(55), 1, anon_sym_T, - STATE(26), 1, + STATE(23), 1, sym_record_field_selector, - STATE(110), 1, + STATE(103), 1, sym_value, - ACTIONS(25), 2, + ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(27), 2, + ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(37), 2, + STATE(38), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(21), 3, + ACTIONS(19), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(33), 3, + ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(48), 9, + STATE(64), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2979,122 +2773,116 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [1128] = 9, - ACTIONS(29), 1, + [1013] = 9, + ACTIONS(27), 1, anon_sym_DQUOTE, - ACTIONS(31), 1, + ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(63), 1, + ACTIONS(59), 1, sym_numeric_literal, - STATE(124), 1, + STATE(125), 1, sym_interval_bound, - ACTIONS(27), 2, + ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - ACTIONS(61), 2, + ACTIONS(57), 2, anon_sym_PLUSINF, anon_sym_DASHINF, - STATE(37), 2, + STATE(38), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(33), 3, + ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(92), 4, + STATE(76), 4, sym_infinite_bound, sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [1164] = 9, - ACTIONS(29), 1, + [1049] = 9, + ACTIONS(27), 1, anon_sym_DQUOTE, - ACTIONS(31), 1, + ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(63), 1, + ACTIONS(59), 1, sym_numeric_literal, - STATE(109), 1, + STATE(102), 1, sym_interval_bound, - ACTIONS(27), 2, + ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - ACTIONS(61), 2, + ACTIONS(57), 2, anon_sym_PLUSINF, anon_sym_DASHINF, - STATE(37), 2, + STATE(38), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(33), 3, + ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(92), 4, + STATE(76), 4, sym_infinite_bound, sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [1200] = 9, + [1085] = 8, ACTIONS(7), 1, anon_sym_DOLLAR, - ACTIONS(9), 1, - anon_sym_record, - ACTIONS(11), 1, - sym_function_name, - ACTIONS(23), 1, + ACTIONS(21), 1, sym_original_input, - ACTIONS(47), 1, + ACTIONS(51), 1, anon_sym_LPAREN, - STATE(26), 1, + ACTIONS(61), 1, + sym_function_name, + STATE(23), 1, sym_record_field_selector, - STATE(53), 1, + STATE(51), 1, sym__parenthesized_pipeline_expression, - ACTIONS(25), 2, + ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, - STATE(86), 4, + STATE(80), 4, sym__pipeline_expression, sym_tuple_projection, sym_function_call, sym_record_access, - [1232] = 9, + [1114] = 8, ACTIONS(7), 1, anon_sym_DOLLAR, - ACTIONS(9), 1, - anon_sym_record, - ACTIONS(11), 1, - sym_function_name, - ACTIONS(23), 1, + ACTIONS(21), 1, sym_original_input, - ACTIONS(47), 1, + ACTIONS(51), 1, anon_sym_LPAREN, - STATE(26), 1, + ACTIONS(61), 1, + sym_function_name, + STATE(23), 1, sym_record_field_selector, - STATE(53), 1, + STATE(51), 1, sym__parenthesized_pipeline_expression, - ACTIONS(25), 2, + ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, - STATE(73), 4, + STATE(68), 4, sym__pipeline_expression, sym_tuple_projection, sym_function_call, sym_record_access, - [1264] = 9, + [1143] = 8, ACTIONS(7), 1, anon_sym_DOLLAR, - ACTIONS(9), 1, - anon_sym_record, - ACTIONS(11), 1, - sym_function_name, - ACTIONS(23), 1, + ACTIONS(21), 1, sym_original_input, - ACTIONS(47), 1, + ACTIONS(51), 1, anon_sym_LPAREN, - STATE(26), 1, + ACTIONS(61), 1, + sym_function_name, + STATE(23), 1, sym_record_field_selector, - STATE(53), 1, + STATE(51), 1, sym__parenthesized_pipeline_expression, - ACTIONS(25), 2, + ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, STATE(88), 4, @@ -3102,167 +2890,145 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple_projection, sym_function_call, sym_record_access, - [1296] = 9, + [1172] = 8, ACTIONS(3), 1, anon_sym_PIPE_GT, ACTIONS(5), 1, anon_sym_LPAREN, ACTIONS(7), 1, anon_sym_DOLLAR, - ACTIONS(9), 1, - anon_sym_record, - ACTIONS(11), 1, + ACTIONS(61), 1, sym_function_name, - STATE(87), 1, + STATE(81), 1, sym_expression, - STATE(89), 1, + STATE(82), 1, sym_parenthesized_expression, - STATE(91), 1, + STATE(83), 1, sym_parenthesized_open_expression, - STATE(71), 3, + STATE(70), 3, sym_map_shorthand, sym_tuple_projection, sym_function_call, - [1326] = 8, - ACTIONS(3), 1, - anon_sym_PIPE_GT, - ACTIONS(5), 1, - anon_sym_LPAREN, - ACTIONS(7), 1, - anon_sym_DOLLAR, - ACTIONS(9), 1, - anon_sym_record, - ACTIONS(11), 1, - sym_function_name, - STATE(72), 1, - sym_expression, - STATE(134), 1, - sym_open_expression, - STATE(71), 4, - sym_map_shorthand, - sym_parenthesized_expression, - sym_tuple_projection, - sym_function_call, - [1354] = 7, - ACTIONS(3), 1, - anon_sym_PIPE_GT, - ACTIONS(5), 1, - anon_sym_LPAREN, - ACTIONS(7), 1, - anon_sym_DOLLAR, - ACTIONS(9), 1, - anon_sym_record, - ACTIONS(11), 1, - sym_function_name, - STATE(74), 1, - sym_expression, - STATE(71), 4, - sym_map_shorthand, - sym_parenthesized_expression, - sym_tuple_projection, - sym_function_call, - [1379] = 5, - ACTIONS(67), 1, - anon_sym_PIPE, - STATE(28), 1, - aux_sym_record_access_repeat1, - STATE(36), 1, - sym_immediate_record_field_selector, - ACTIONS(69), 2, - aux_sym_immediate_record_field_selector_token1, - aux_sym_immediate_record_field_selector_token2, - ACTIONS(65), 5, - ts_builtin_sym_end, + [1199] = 5, + ACTIONS(65), 1, + anon_sym_PIPE, + STATE(27), 1, + aux_sym_record_access_repeat1, + STATE(34), 1, + sym_immediate_record_field_selector, + ACTIONS(67), 2, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + ACTIONS(63), 5, + ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1400] = 7, - ACTIONS(29), 1, + [1220] = 7, + ACTIONS(27), 1, anon_sym_DQUOTE, - ACTIONS(31), 1, + ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(71), 1, + ACTIONS(69), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(73), 1, + ACTIONS(71), 1, sym_unquoted_record_field_name, - STATE(133), 1, + STATE(131), 1, sym_record_field_name, STATE(126), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(114), 3, + STATE(115), 3, sym__record_entry, sym_record_field, sym_record_spread, - [1425] = 5, - ACTIONS(77), 1, + [1245] = 5, + ACTIONS(75), 1, anon_sym_PIPE, - STATE(24), 1, + STATE(21), 1, aux_sym_record_access_repeat1, - STATE(36), 1, + STATE(34), 1, sym_immediate_record_field_selector, - ACTIONS(69), 2, + ACTIONS(67), 2, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - ACTIONS(75), 5, + ACTIONS(73), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1446] = 5, - ACTIONS(81), 1, + [1266] = 5, + ACTIONS(79), 1, anon_sym_PIPE, - STATE(28), 1, + STATE(27), 1, aux_sym_record_access_repeat1, - STATE(36), 1, + STATE(34), 1, sym_immediate_record_field_selector, - ACTIONS(69), 2, + ACTIONS(67), 2, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - ACTIONS(79), 5, + ACTIONS(77), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1467] = 5, - ACTIONS(85), 1, + [1287] = 5, + ACTIONS(83), 1, anon_sym_PIPE, - STATE(28), 1, + STATE(24), 1, aux_sym_record_access_repeat1, - STATE(36), 1, + STATE(34), 1, sym_immediate_record_field_selector, - ACTIONS(87), 2, + ACTIONS(67), 2, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - ACTIONS(83), 5, + ACTIONS(81), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1488] = 5, - ACTIONS(92), 1, + [1308] = 7, + ACTIONS(3), 1, + anon_sym_PIPE_GT, + ACTIONS(5), 1, + anon_sym_LPAREN, + ACTIONS(7), 1, + anon_sym_DOLLAR, + ACTIONS(61), 1, + sym_function_name, + STATE(67), 1, + sym_expression, + STATE(127), 1, + sym_open_expression, + STATE(70), 4, + sym_map_shorthand, + sym_parenthesized_expression, + sym_tuple_projection, + sym_function_call, + [1333] = 5, + ACTIONS(87), 1, anon_sym_PIPE, STATE(27), 1, aux_sym_record_access_repeat1, - STATE(36), 1, + STATE(34), 1, sym_immediate_record_field_selector, - ACTIONS(69), 2, + ACTIONS(89), 2, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - ACTIONS(90), 5, + ACTIONS(85), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1509] = 2, - ACTIONS(96), 1, + [1354] = 2, + ACTIONS(94), 1, anon_sym_PIPE, - ACTIONS(94), 8, + ACTIONS(92), 8, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, @@ -3271,10 +3037,26 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1523] = 2, - ACTIONS(100), 1, + [1368] = 6, + ACTIONS(3), 1, + anon_sym_PIPE_GT, + ACTIONS(5), 1, + anon_sym_LPAREN, + ACTIONS(7), 1, + anon_sym_DOLLAR, + ACTIONS(61), 1, + sym_function_name, + STATE(71), 1, + sym_expression, + STATE(70), 4, + sym_map_shorthand, + sym_parenthesized_expression, + sym_tuple_projection, + sym_function_call, + [1390] = 2, + ACTIONS(98), 1, anon_sym_PIPE, - ACTIONS(98), 8, + ACTIONS(96), 8, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, @@ -3283,10 +3065,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1537] = 2, - ACTIONS(104), 1, + [1404] = 2, + ACTIONS(102), 1, anon_sym_PIPE, - ACTIONS(102), 8, + ACTIONS(100), 8, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, @@ -3295,10 +3077,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1551] = 2, - ACTIONS(108), 1, + [1418] = 2, + ACTIONS(106), 1, anon_sym_PIPE, - ACTIONS(106), 8, + ACTIONS(104), 8, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, @@ -3307,10 +3089,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1565] = 2, - ACTIONS(112), 1, + [1432] = 2, + ACTIONS(110), 1, anon_sym_PIPE, - ACTIONS(110), 7, + ACTIONS(108), 7, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, @@ -3318,21 +3100,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - [1578] = 2, - ACTIONS(116), 1, - anon_sym_PIPE, - ACTIONS(114), 7, - ts_builtin_sym_end, - anon_sym_PIPE_GT, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - [1591] = 2, - ACTIONS(120), 1, + [1445] = 2, + ACTIONS(114), 1, anon_sym_PIPE, - ACTIONS(118), 7, + ACTIONS(112), 7, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, @@ -3340,10 +3111,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - [1604] = 2, - ACTIONS(124), 1, + [1458] = 2, + ACTIONS(118), 1, anon_sym_PIPE, - ACTIONS(122), 7, + ACTIONS(116), 7, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, @@ -3351,7 +3122,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1617] = 2, + [1471] = 4, + ACTIONS(120), 1, + anon_sym_LPAREN, + STATE(53), 1, + sym_interval_shorthand, + ACTIONS(122), 2, + anon_sym_LBRACK, + anon_sym_RBRACK, + ACTIONS(124), 4, + anon_sym_LPAREN0_PLUS_RPAREN, + anon_sym_LPAREN_PLUS_RPAREN, + anon_sym_LPAREN0_DASH_RPAREN, + anon_sym_LPAREN_DASH_RPAREN, + [1488] = 2, ACTIONS(128), 1, anon_sym_PIPE, ACTIONS(126), 7, @@ -3362,23 +3146,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1630] = 4, - ACTIONS(130), 1, - anon_sym_LPAREN, - STATE(62), 1, - sym_interval_shorthand, - ACTIONS(132), 2, + [1501] = 2, + ACTIONS(132), 1, + anon_sym_PIPE, + ACTIONS(130), 7, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - ACTIONS(134), 4, - anon_sym_LPAREN0_PLUS_RPAREN, - anon_sym_LPAREN_PLUS_RPAREN, - anon_sym_LPAREN0_DASH_RPAREN, - anon_sym_LPAREN_DASH_RPAREN, - [1647] = 2, - ACTIONS(138), 1, + [1514] = 2, + ACTIONS(136), 1, anon_sym_PIPE, - ACTIONS(136), 7, + ACTIONS(134), 7, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, @@ -3386,10 +3168,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - [1660] = 2, - ACTIONS(142), 1, + [1527] = 2, + ACTIONS(140), 1, anon_sym_PIPE, - ACTIONS(140), 7, + ACTIONS(138), 7, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, @@ -3397,10 +3179,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - [1673] = 2, - ACTIONS(146), 1, + [1540] = 2, + ACTIONS(144), 1, anon_sym_PIPE, - ACTIONS(144), 7, + ACTIONS(142), 7, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, @@ -3408,39 +3190,39 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, - [1686] = 3, - ACTIONS(150), 1, + [1553] = 3, + ACTIONS(148), 1, anon_sym_PIPE, - ACTIONS(152), 1, + ACTIONS(150), 1, anon_sym_LPAREN, - ACTIONS(148), 5, + ACTIONS(146), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1700] = 2, - ACTIONS(156), 1, + [1567] = 2, + ACTIONS(154), 1, anon_sym_PIPE, - ACTIONS(154), 5, + ACTIONS(152), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1711] = 5, - ACTIONS(160), 1, + [1578] = 5, + ACTIONS(158), 1, anon_sym_PIPE, - ACTIONS(162), 1, + ACTIONS(161), 1, anon_sym_PIPE_GT, - STATE(59), 1, + STATE(44), 1, aux_sym_closed_expression_repeat1, - STATE(80), 1, + STATE(78), 1, sym__pipeline_map_shorthand, - ACTIONS(158), 2, + ACTIONS(156), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [1728] = 2, + [1595] = 2, ACTIONS(166), 1, anon_sym_PIPE, ACTIONS(164), 5, @@ -3449,7 +3231,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1739] = 2, + [1606] = 2, ACTIONS(170), 1, anon_sym_PIPE, ACTIONS(168), 5, @@ -3458,7 +3240,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1750] = 2, + [1617] = 2, ACTIONS(174), 1, anon_sym_PIPE, ACTIONS(172), 5, @@ -3467,74 +3249,86 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1761] = 2, + [1628] = 3, ACTIONS(178), 1, anon_sym_PIPE, - ACTIONS(176), 5, + STATE(48), 1, + aux_sym_open_expression_repeat1, + ACTIONS(176), 4, ts_builtin_sym_end, - anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1772] = 2, - ACTIONS(182), 1, + [1641] = 2, + ACTIONS(183), 1, anon_sym_PIPE, - ACTIONS(180), 5, + ACTIONS(181), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1783] = 2, - ACTIONS(186), 1, + [1652] = 2, + ACTIONS(187), 1, anon_sym_PIPE, - ACTIONS(184), 5, + ACTIONS(185), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1794] = 2, - ACTIONS(190), 1, + [1663] = 2, + ACTIONS(191), 1, anon_sym_PIPE, - ACTIONS(188), 5, + ACTIONS(189), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1805] = 2, - ACTIONS(194), 1, + [1674] = 5, + ACTIONS(195), 1, + anon_sym_PIPE, + ACTIONS(197), 1, + anon_sym_PIPE_GT, + STATE(44), 1, + aux_sym_closed_expression_repeat1, + STATE(78), 1, + sym__pipeline_map_shorthand, + ACTIONS(193), 2, + ts_builtin_sym_end, + anon_sym_RPAREN, + [1691] = 2, + ACTIONS(201), 1, anon_sym_PIPE, - ACTIONS(192), 5, + ACTIONS(199), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1816] = 3, - ACTIONS(198), 1, + [1702] = 2, + ACTIONS(205), 1, anon_sym_PIPE, - STATE(54), 1, - aux_sym_open_expression_repeat1, - ACTIONS(196), 4, + ACTIONS(203), 5, ts_builtin_sym_end, + anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1829] = 5, - ACTIONS(203), 1, + [1713] = 5, + ACTIONS(195), 1, anon_sym_PIPE, - ACTIONS(206), 1, + ACTIONS(197), 1, anon_sym_PIPE_GT, - STATE(55), 1, + STATE(52), 1, aux_sym_closed_expression_repeat1, - STATE(80), 1, + STATE(78), 1, sym__pipeline_map_shorthand, - ACTIONS(201), 2, + ACTIONS(207), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [1846] = 2, + [1730] = 2, ACTIONS(211), 1, anon_sym_PIPE, ACTIONS(209), 5, @@ -3543,7 +3337,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1857] = 2, + [1741] = 2, ACTIONS(215), 1, anon_sym_PIPE, ACTIONS(213), 5, @@ -3552,874 +3346,813 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1868] = 2, - ACTIONS(215), 1, + [1752] = 2, + ACTIONS(219), 1, anon_sym_PIPE, - ACTIONS(213), 5, + ACTIONS(217), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1879] = 5, - ACTIONS(160), 1, + [1763] = 2, + ACTIONS(223), 1, anon_sym_PIPE, - ACTIONS(162), 1, - anon_sym_PIPE_GT, - STATE(55), 1, - aux_sym_closed_expression_repeat1, - STATE(80), 1, - sym__pipeline_map_shorthand, - ACTIONS(217), 2, - ts_builtin_sym_end, - anon_sym_RPAREN, - [1896] = 2, - ACTIONS(221), 1, - anon_sym_PIPE, - ACTIONS(219), 5, + ACTIONS(221), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1907] = 2, - ACTIONS(225), 1, + [1774] = 2, + ACTIONS(227), 1, anon_sym_PIPE, - ACTIONS(223), 5, + ACTIONS(225), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1918] = 2, - ACTIONS(229), 1, + [1785] = 2, + ACTIONS(231), 1, anon_sym_PIPE, - ACTIONS(227), 5, + ACTIONS(229), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1929] = 2, - ACTIONS(233), 1, + [1796] = 2, + ACTIONS(235), 1, anon_sym_PIPE, - ACTIONS(231), 5, + ACTIONS(233), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1940] = 2, - ACTIONS(237), 1, + [1807] = 2, + ACTIONS(239), 1, anon_sym_PIPE, - ACTIONS(235), 5, + ACTIONS(237), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1951] = 2, - ACTIONS(166), 1, + [1818] = 2, + ACTIONS(243), 1, anon_sym_PIPE, - ACTIONS(164), 5, + ACTIONS(241), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1962] = 2, - ACTIONS(241), 1, + [1829] = 2, + ACTIONS(247), 1, anon_sym_PIPE, - ACTIONS(239), 5, + ACTIONS(245), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1973] = 2, - ACTIONS(245), 1, + [1840] = 2, + ACTIONS(251), 1, anon_sym_PIPE, - ACTIONS(243), 5, + ACTIONS(249), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1984] = 2, - ACTIONS(249), 1, + [1851] = 3, + ACTIONS(255), 1, anon_sym_PIPE, - ACTIONS(247), 5, + STATE(69), 1, + aux_sym_open_expression_repeat1, + ACTIONS(253), 3, ts_builtin_sym_end, - anon_sym_PIPE_GT, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, - [1995] = 2, - ACTIONS(253), 1, - anon_sym_PIPE, - ACTIONS(251), 5, + [1863] = 1, + ACTIONS(176), 5, ts_builtin_sym_end, - anon_sym_PIPE_GT, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACE, - [2006] = 3, - ACTIONS(152), 1, - anon_sym_LPAREN, - ACTIONS(255), 1, - anon_sym_COLON_EQ, - ACTIONS(148), 3, anon_sym_PIPE, anon_sym_RPAREN, anon_sym_COMMA, - [2018] = 2, - ACTIONS(259), 1, - anon_sym_PIPE, - ACTIONS(257), 4, - ts_builtin_sym_end, - anon_sym_PIPE_GT, - anon_sym_RPAREN, anon_sym_RBRACE, - [2028] = 3, - ACTIONS(263), 1, + [1871] = 3, + ACTIONS(255), 1, anon_sym_PIPE, - STATE(75), 1, + STATE(48), 1, aux_sym_open_expression_repeat1, - ACTIONS(261), 3, - ts_builtin_sym_end, - anon_sym_RPAREN, - anon_sym_RBRACE, - [2040] = 1, - ACTIONS(196), 5, + ACTIONS(257), 3, ts_builtin_sym_end, - anon_sym_PIPE, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, - [2048] = 2, - ACTIONS(267), 1, + [1883] = 2, + ACTIONS(261), 1, anon_sym_PIPE, - ACTIONS(265), 4, + ACTIONS(259), 4, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_RBRACE, - [2058] = 3, - ACTIONS(263), 1, + [1893] = 2, + ACTIONS(265), 1, anon_sym_PIPE, - STATE(54), 1, - aux_sym_open_expression_repeat1, - ACTIONS(269), 3, + ACTIONS(263), 4, ts_builtin_sym_end, + anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_RBRACE, - [2070] = 4, - ACTIONS(271), 1, + [1903] = 3, + ACTIONS(150), 1, + anon_sym_LPAREN, + ACTIONS(267), 1, + anon_sym_COLON_EQ, + ACTIONS(146), 3, anon_sym_PIPE, - ACTIONS(273), 1, + anon_sym_RPAREN, anon_sym_COMMA, - ACTIONS(275), 1, - anon_sym_RBRACE, - STATE(98), 1, - aux_sym_array_literal_repeat1, - [2083] = 3, - ACTIONS(277), 1, - anon_sym_DQUOTE, - STATE(78), 1, - aux_sym_double_quoted_literal_repeat1, - ACTIONS(279), 2, - sym_double_quoted_content, - sym_escape_sequence, - [2094] = 3, - ACTIONS(281), 1, + [1915] = 3, + ACTIONS(269), 1, anon_sym_DQUOTE, - STATE(81), 1, + STATE(89), 1, aux_sym_double_quoted_literal_repeat1, - ACTIONS(283), 2, + ACTIONS(271), 2, sym_double_quoted_content, sym_escape_sequence, - [2105] = 3, - ACTIONS(263), 1, + [1926] = 3, + ACTIONS(255), 1, anon_sym_PIPE, - STATE(54), 1, + STATE(48), 1, aux_sym_open_expression_repeat1, - ACTIONS(285), 2, + ACTIONS(273), 2, anon_sym_RPAREN, anon_sym_COMMA, - [2116] = 2, - ACTIONS(289), 1, - anon_sym_PIPE, - ACTIONS(287), 3, - ts_builtin_sym_end, - anon_sym_PIPE_GT, + [1937] = 1, + ACTIONS(275), 4, anon_sym_RPAREN, - [2125] = 3, - ACTIONS(291), 1, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_RBRACK, + [1944] = 1, + ACTIONS(277), 4, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_RBRACK, + [1951] = 3, + ACTIONS(279), 1, anon_sym_DQUOTE, - STATE(81), 1, + STATE(77), 1, aux_sym_double_quoted_literal_repeat1, - ACTIONS(293), 2, + ACTIONS(281), 2, sym_double_quoted_content, sym_escape_sequence, - [2136] = 3, - ACTIONS(263), 1, + [1962] = 2, + ACTIONS(286), 1, anon_sym_PIPE, - STATE(79), 1, - aux_sym_open_expression_repeat1, - ACTIONS(296), 2, + ACTIONS(284), 3, + ts_builtin_sym_end, + anon_sym_PIPE_GT, anon_sym_RPAREN, - anon_sym_COMMA, - [2147] = 2, - ACTIONS(298), 1, + [1971] = 2, + ACTIONS(288), 1, anon_sym_COLON_EQ, - ACTIONS(122), 3, + ACTIONS(130), 3, anon_sym_PIPE, anon_sym_COMMA, anon_sym_RBRACE, - [2156] = 3, - ACTIONS(302), 1, - anon_sym_COMMA, - STATE(84), 1, - aux_sym_array_literal_repeat1, - ACTIONS(300), 2, - anon_sym_RPAREN, - anon_sym_RBRACE, - [2167] = 1, - ACTIONS(305), 4, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_RBRACK, - [2174] = 2, - ACTIONS(307), 1, + [1980] = 2, + ACTIONS(290), 1, anon_sym_PIPE, - ACTIONS(201), 3, + ACTIONS(156), 3, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [2183] = 2, - ACTIONS(311), 1, + [1989] = 2, + ACTIONS(294), 1, anon_sym_PIPE, - ACTIONS(309), 3, + ACTIONS(292), 3, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [2192] = 3, - ACTIONS(263), 1, + [1998] = 2, + ACTIONS(298), 1, anon_sym_PIPE, - STATE(90), 1, - aux_sym_open_expression_repeat1, - ACTIONS(313), 2, + ACTIONS(296), 3, + ts_builtin_sym_end, + anon_sym_PIPE_GT, anon_sym_RPAREN, - anon_sym_COMMA, - [2203] = 2, - ACTIONS(317), 1, + [2007] = 2, + ACTIONS(294), 1, anon_sym_PIPE, - ACTIONS(315), 3, + ACTIONS(292), 3, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [2212] = 3, - ACTIONS(263), 1, + [2016] = 4, + ACTIONS(300), 1, anon_sym_PIPE, - STATE(54), 1, - aux_sym_open_expression_repeat1, - ACTIONS(319), 2, - anon_sym_RPAREN, + ACTIONS(302), 1, anon_sym_COMMA, - [2223] = 2, - ACTIONS(311), 1, + ACTIONS(304), 1, + anon_sym_RBRACE, + STATE(106), 1, + aux_sym_array_literal_repeat1, + [2029] = 3, + ACTIONS(255), 1, anon_sym_PIPE, - ACTIONS(309), 3, - ts_builtin_sym_end, - anon_sym_PIPE_GT, - anon_sym_RPAREN, - [2232] = 1, - ACTIONS(321), 4, + STATE(48), 1, + aux_sym_open_expression_repeat1, + ACTIONS(306), 2, anon_sym_RPAREN, anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_RBRACK, - [2239] = 3, - ACTIONS(323), 1, + [2040] = 3, + ACTIONS(255), 1, + anon_sym_PIPE, + STATE(85), 1, + aux_sym_open_expression_repeat1, + ACTIONS(308), 2, anon_sym_RPAREN, - ACTIONS(325), 1, anon_sym_COMMA, - STATE(93), 1, - aux_sym_argument_list_repeat1, - [2249] = 3, - ACTIONS(273), 1, + [2051] = 3, + ACTIONS(312), 1, anon_sym_COMMA, - ACTIONS(328), 1, - anon_sym_RPAREN, - STATE(84), 1, + STATE(87), 1, aux_sym_array_literal_repeat1, - [2259] = 2, - ACTIONS(330), 1, - anon_sym_PIPE, - ACTIONS(332), 2, + ACTIONS(310), 2, anon_sym_RPAREN, - anon_sym_COMMA, - [2267] = 3, - ACTIONS(334), 1, + anon_sym_RBRACE, + [2062] = 3, + ACTIONS(255), 1, + anon_sym_PIPE, + STATE(74), 1, + aux_sym_open_expression_repeat1, + ACTIONS(315), 2, anon_sym_RPAREN, - ACTIONS(336), 1, anon_sym_COMMA, - STATE(103), 1, - aux_sym_argument_list_repeat1, - [2277] = 2, - ACTIONS(188), 1, - anon_sym_PIPE, - ACTIONS(338), 2, + [2073] = 3, + ACTIONS(317), 1, + anon_sym_DQUOTE, + STATE(77), 1, + aux_sym_double_quoted_literal_repeat1, + ACTIONS(319), 2, + sym_double_quoted_content, + sym_escape_sequence, + [2084] = 3, + ACTIONS(321), 1, anon_sym_COMMA, + ACTIONS(323), 1, anon_sym_RBRACE, - [2285] = 3, - ACTIONS(273), 1, + STATE(96), 1, + aux_sym_record_literal_repeat1, + [2094] = 3, + ACTIONS(302), 1, anon_sym_COMMA, - ACTIONS(341), 1, - anon_sym_RBRACE, - STATE(84), 1, + ACTIONS(325), 1, + anon_sym_RPAREN, + STATE(87), 1, aux_sym_array_literal_repeat1, - [2295] = 3, - ACTIONS(343), 1, + [2104] = 3, + ACTIONS(321), 1, + anon_sym_COMMA, + ACTIONS(327), 1, + anon_sym_RBRACE, + STATE(90), 1, + aux_sym_record_literal_repeat1, + [2114] = 3, + ACTIONS(329), 1, anon_sym_RPAREN, - ACTIONS(345), 1, + ACTIONS(331), 1, anon_sym_COMMA, - STATE(93), 1, + STATE(101), 1, aux_sym_argument_list_repeat1, - [2305] = 3, - ACTIONS(273), 1, + [2124] = 1, + ACTIONS(310), 3, + anon_sym_RPAREN, anon_sym_COMMA, - ACTIONS(275), 1, anon_sym_RBRACE, - STATE(98), 1, - aux_sym_array_literal_repeat1, - [2315] = 3, - ACTIONS(347), 1, + [2130] = 2, + ACTIONS(209), 1, + anon_sym_PIPE, + ACTIONS(333), 2, anon_sym_COMMA, - ACTIONS(349), 1, anon_sym_RBRACE, - STATE(102), 1, - aux_sym_record_literal_repeat1, - [2325] = 3, - ACTIONS(347), 1, + [2138] = 3, + ACTIONS(336), 1, anon_sym_COMMA, - ACTIONS(351), 1, + ACTIONS(339), 1, anon_sym_RBRACE, - STATE(105), 1, + STATE(96), 1, aux_sym_record_literal_repeat1, - [2335] = 3, - ACTIONS(336), 1, - anon_sym_COMMA, - ACTIONS(343), 1, + [2148] = 3, + ACTIONS(341), 1, anon_sym_RPAREN, + ACTIONS(343), 1, + anon_sym_COMMA, STATE(93), 1, aux_sym_argument_list_repeat1, - [2345] = 1, - ACTIONS(300), 3, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACE, - [2351] = 3, - ACTIONS(353), 1, - anon_sym_COMMA, - ACTIONS(356), 1, - anon_sym_RBRACE, - STATE(105), 1, - aux_sym_record_literal_repeat1, - [2361] = 3, - ACTIONS(263), 1, + [2158] = 3, + ACTIONS(255), 1, anon_sym_PIPE, - ACTIONS(358), 1, + ACTIONS(345), 1, anon_sym_RPAREN, - STATE(111), 1, + STATE(104), 1, aux_sym_open_expression_repeat1, - [2371] = 3, - ACTIONS(172), 1, + [2168] = 3, + ACTIONS(241), 1, anon_sym_PIPE_GT, - ACTIONS(360), 1, + ACTIONS(347), 1, anon_sym_PIPE, - ACTIONS(362), 1, + ACTIONS(349), 1, anon_sym_RPAREN, - [2381] = 3, - ACTIONS(364), 1, - aux_sym_tuple_projection_token1, - ACTIONS(366), 1, - aux_sym_original_record_field_selector_token1, - STATE(29), 1, - sym_original_record_field_selector, - [2391] = 1, - ACTIONS(368), 3, + [2178] = 2, + ACTIONS(351), 1, + anon_sym_PIPE, + ACTIONS(353), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [2186] = 3, + ACTIONS(355), 1, + anon_sym_RPAREN, + ACTIONS(357), 1, + anon_sym_COMMA, + STATE(101), 1, + aux_sym_argument_list_repeat1, + [2196] = 1, + ACTIONS(360), 3, anon_sym_RPAREN, anon_sym_LBRACK, anon_sym_RBRACK, - [2397] = 3, - ACTIONS(273), 1, + [2202] = 3, + ACTIONS(302), 1, anon_sym_COMMA, - ACTIONS(370), 1, + ACTIONS(362), 1, anon_sym_RPAREN, - STATE(94), 1, + STATE(91), 1, aux_sym_array_literal_repeat1, - [2407] = 3, - ACTIONS(263), 1, + [2212] = 3, + ACTIONS(255), 1, anon_sym_PIPE, - ACTIONS(372), 1, + ACTIONS(364), 1, anon_sym_RPAREN, - STATE(54), 1, + STATE(48), 1, aux_sym_open_expression_repeat1, - [2417] = 3, - ACTIONS(334), 1, - anon_sym_RPAREN, - ACTIONS(374), 1, - anon_sym_COMMA, - STATE(99), 1, - aux_sym_argument_list_repeat1, - [2427] = 1, - ACTIONS(376), 2, - anon_sym_RPAREN, + [2222] = 3, + ACTIONS(302), 1, anon_sym_COMMA, - [2432] = 1, - ACTIONS(356), 2, + ACTIONS(304), 1, + anon_sym_RBRACE, + STATE(106), 1, + aux_sym_array_literal_repeat1, + [2232] = 3, + ACTIONS(302), 1, anon_sym_COMMA, + ACTIONS(366), 1, anon_sym_RBRACE, - [2437] = 2, - ACTIONS(378), 1, + STATE(87), 1, + aux_sym_array_literal_repeat1, + [2242] = 3, + ACTIONS(368), 1, + aux_sym_tuple_projection_token1, + ACTIONS(370), 1, + aux_sym_original_record_field_selector_token1, + STATE(25), 1, + sym_original_record_field_selector, + [2252] = 1, + ACTIONS(372), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [2257] = 2, + ACTIONS(374), 1, anon_sym_BQUOTE, - ACTIONS(380), 1, + ACTIONS(376), 1, sym_backtick_quoted_content, - [2444] = 1, - ACTIONS(323), 2, + [2264] = 1, + ACTIONS(378), 2, + ts_builtin_sym_end, anon_sym_RPAREN, - anon_sym_COMMA, - [2449] = 1, - ACTIONS(382), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [2454] = 1, - ACTIONS(384), 2, + [2269] = 1, + ACTIONS(355), 2, anon_sym_RPAREN, anon_sym_COMMA, - [2459] = 1, - ACTIONS(386), 2, + [2274] = 1, + ACTIONS(380), 2, anon_sym_RPAREN, anon_sym_COMMA, - [2464] = 2, - ACTIONS(388), 1, + [2279] = 2, + ACTIONS(382), 1, aux_sym_tuple_projection_token1, - ACTIONS(390), 1, + ACTIONS(384), 1, anon_sym_CARET, - [2471] = 1, - ACTIONS(392), 2, + [2286] = 1, + ACTIONS(386), 2, anon_sym_COMMA, anon_sym_RBRACE, - [2476] = 1, - ACTIONS(394), 2, - ts_builtin_sym_end, + [2291] = 1, + ACTIONS(339), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [2296] = 1, + ACTIONS(388), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [2301] = 1, + ACTIONS(390), 2, anon_sym_RPAREN, - [2481] = 1, - ACTIONS(396), 1, anon_sym_COMMA, - [2485] = 1, + [2306] = 1, + ACTIONS(392), 1, + anon_sym_RPAREN, + [2310] = 1, + ACTIONS(394), 1, + anon_sym_RBRACE, + [2314] = 1, + ACTIONS(396), 1, + ts_builtin_sym_end, + [2318] = 1, ACTIONS(398), 1, - anon_sym_COMMA, - [2489] = 1, + ts_builtin_sym_end, + [2322] = 1, ACTIONS(400), 1, - anon_sym_BQUOTE, - [2493] = 1, - ACTIONS(298), 1, - anon_sym_COLON_EQ, - [2497] = 1, - ACTIONS(402), 1, anon_sym_RPAREN, - [2501] = 1, + [2326] = 1, + ACTIONS(402), 1, + aux_sym_tuple_projection_token1, + [2330] = 1, + ACTIONS(300), 1, + anon_sym_PIPE, + [2334] = 1, ACTIONS(404), 1, - anon_sym_RPAREN, - [2505] = 1, + anon_sym_COMMA, + [2338] = 1, + ACTIONS(288), 1, + anon_sym_COLON_EQ, + [2342] = 1, ACTIONS(406), 1, anon_sym_RBRACE, - [2509] = 1, - ACTIONS(271), 1, - anon_sym_PIPE, - [2513] = 1, + [2346] = 1, ACTIONS(408), 1, - ts_builtin_sym_end, - [2517] = 1, + anon_sym_LPAREN, + [2350] = 1, ACTIONS(410), 1, - anon_sym_RPAREN, - [2521] = 1, + anon_sym_COMMA, + [2354] = 1, ACTIONS(412), 1, - anon_sym_COLON_EQ, - [2525] = 1, + anon_sym_RPAREN, + [2358] = 1, ACTIONS(414), 1, - anon_sym_RBRACE, - [2529] = 1, + anon_sym_COLON_EQ, + [2362] = 1, ACTIONS(416), 1, - anon_sym_LPAREN, - [2533] = 1, - ACTIONS(418), 1, - anon_sym_LPAREN, - [2537] = 1, - ACTIONS(420), 1, - aux_sym_tuple_projection_token1, - [2541] = 1, - ACTIONS(422), 1, - ts_builtin_sym_end, - [2545] = 1, - ACTIONS(424), 1, - anon_sym_RPAREN, + anon_sym_BQUOTE, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 95, - [SMALL_STATE(4)] = 189, - [SMALL_STATE(5)] = 280, - [SMALL_STATE(6)] = 371, - [SMALL_STATE(7)] = 463, - [SMALL_STATE(8)] = 551, - [SMALL_STATE(9)] = 635, - [SMALL_STATE(10)] = 722, - [SMALL_STATE(11)] = 806, - [SMALL_STATE(12)] = 884, - [SMALL_STATE(13)] = 945, - [SMALL_STATE(14)] = 1006, - [SMALL_STATE(15)] = 1067, - [SMALL_STATE(16)] = 1128, - [SMALL_STATE(17)] = 1164, - [SMALL_STATE(18)] = 1200, - [SMALL_STATE(19)] = 1232, - [SMALL_STATE(20)] = 1264, - [SMALL_STATE(21)] = 1296, - [SMALL_STATE(22)] = 1326, - [SMALL_STATE(23)] = 1354, - [SMALL_STATE(24)] = 1379, - [SMALL_STATE(25)] = 1400, - [SMALL_STATE(26)] = 1425, - [SMALL_STATE(27)] = 1446, - [SMALL_STATE(28)] = 1467, - [SMALL_STATE(29)] = 1488, - [SMALL_STATE(30)] = 1509, - [SMALL_STATE(31)] = 1523, - [SMALL_STATE(32)] = 1537, - [SMALL_STATE(33)] = 1551, - [SMALL_STATE(34)] = 1565, - [SMALL_STATE(35)] = 1578, - [SMALL_STATE(36)] = 1591, - [SMALL_STATE(37)] = 1604, - [SMALL_STATE(38)] = 1617, - [SMALL_STATE(39)] = 1630, - [SMALL_STATE(40)] = 1647, - [SMALL_STATE(41)] = 1660, - [SMALL_STATE(42)] = 1673, - [SMALL_STATE(43)] = 1686, - [SMALL_STATE(44)] = 1700, - [SMALL_STATE(45)] = 1711, - [SMALL_STATE(46)] = 1728, - [SMALL_STATE(47)] = 1739, - [SMALL_STATE(48)] = 1750, - [SMALL_STATE(49)] = 1761, - [SMALL_STATE(50)] = 1772, - [SMALL_STATE(51)] = 1783, - [SMALL_STATE(52)] = 1794, - [SMALL_STATE(53)] = 1805, - [SMALL_STATE(54)] = 1816, - [SMALL_STATE(55)] = 1829, - [SMALL_STATE(56)] = 1846, - [SMALL_STATE(57)] = 1857, - [SMALL_STATE(58)] = 1868, - [SMALL_STATE(59)] = 1879, - [SMALL_STATE(60)] = 1896, - [SMALL_STATE(61)] = 1907, - [SMALL_STATE(62)] = 1918, - [SMALL_STATE(63)] = 1929, - [SMALL_STATE(64)] = 1940, - [SMALL_STATE(65)] = 1951, - [SMALL_STATE(66)] = 1962, - [SMALL_STATE(67)] = 1973, - [SMALL_STATE(68)] = 1984, - [SMALL_STATE(69)] = 1995, - [SMALL_STATE(70)] = 2006, - [SMALL_STATE(71)] = 2018, - [SMALL_STATE(72)] = 2028, - [SMALL_STATE(73)] = 2040, - [SMALL_STATE(74)] = 2048, - [SMALL_STATE(75)] = 2058, - [SMALL_STATE(76)] = 2070, - [SMALL_STATE(77)] = 2083, - [SMALL_STATE(78)] = 2094, - [SMALL_STATE(79)] = 2105, - [SMALL_STATE(80)] = 2116, - [SMALL_STATE(81)] = 2125, - [SMALL_STATE(82)] = 2136, - [SMALL_STATE(83)] = 2147, - [SMALL_STATE(84)] = 2156, - [SMALL_STATE(85)] = 2167, - [SMALL_STATE(86)] = 2174, - [SMALL_STATE(87)] = 2183, - [SMALL_STATE(88)] = 2192, - [SMALL_STATE(89)] = 2203, - [SMALL_STATE(90)] = 2212, - [SMALL_STATE(91)] = 2223, - [SMALL_STATE(92)] = 2232, - [SMALL_STATE(93)] = 2239, - [SMALL_STATE(94)] = 2249, - [SMALL_STATE(95)] = 2259, - [SMALL_STATE(96)] = 2267, - [SMALL_STATE(97)] = 2277, - [SMALL_STATE(98)] = 2285, - [SMALL_STATE(99)] = 2295, - [SMALL_STATE(100)] = 2305, - [SMALL_STATE(101)] = 2315, - [SMALL_STATE(102)] = 2325, - [SMALL_STATE(103)] = 2335, - [SMALL_STATE(104)] = 2345, - [SMALL_STATE(105)] = 2351, - [SMALL_STATE(106)] = 2361, - [SMALL_STATE(107)] = 2371, - [SMALL_STATE(108)] = 2381, - [SMALL_STATE(109)] = 2391, - [SMALL_STATE(110)] = 2397, - [SMALL_STATE(111)] = 2407, - [SMALL_STATE(112)] = 2417, - [SMALL_STATE(113)] = 2427, - [SMALL_STATE(114)] = 2432, - [SMALL_STATE(115)] = 2437, - [SMALL_STATE(116)] = 2444, - [SMALL_STATE(117)] = 2449, - [SMALL_STATE(118)] = 2454, - [SMALL_STATE(119)] = 2459, - [SMALL_STATE(120)] = 2464, - [SMALL_STATE(121)] = 2471, - [SMALL_STATE(122)] = 2476, - [SMALL_STATE(123)] = 2481, - [SMALL_STATE(124)] = 2485, - [SMALL_STATE(125)] = 2489, - [SMALL_STATE(126)] = 2493, - [SMALL_STATE(127)] = 2497, - [SMALL_STATE(128)] = 2501, - [SMALL_STATE(129)] = 2505, - [SMALL_STATE(130)] = 2509, - [SMALL_STATE(131)] = 2513, - [SMALL_STATE(132)] = 2517, - [SMALL_STATE(133)] = 2521, - [SMALL_STATE(134)] = 2525, - [SMALL_STATE(135)] = 2529, - [SMALL_STATE(136)] = 2533, - [SMALL_STATE(137)] = 2537, - [SMALL_STATE(138)] = 2541, - [SMALL_STATE(139)] = 2545, + [SMALL_STATE(3)] = 92, + [SMALL_STATE(4)] = 180, + [SMALL_STATE(5)] = 268, + [SMALL_STATE(6)] = 357, + [SMALL_STATE(7)] = 442, + [SMALL_STATE(8)] = 523, + [SMALL_STATE(9)] = 607, + [SMALL_STATE(10)] = 691, + [SMALL_STATE(11)] = 769, + [SMALL_STATE(12)] = 830, + [SMALL_STATE(13)] = 891, + [SMALL_STATE(14)] = 952, + [SMALL_STATE(15)] = 1013, + [SMALL_STATE(16)] = 1049, + [SMALL_STATE(17)] = 1085, + [SMALL_STATE(18)] = 1114, + [SMALL_STATE(19)] = 1143, + [SMALL_STATE(20)] = 1172, + [SMALL_STATE(21)] = 1199, + [SMALL_STATE(22)] = 1220, + [SMALL_STATE(23)] = 1245, + [SMALL_STATE(24)] = 1266, + [SMALL_STATE(25)] = 1287, + [SMALL_STATE(26)] = 1308, + [SMALL_STATE(27)] = 1333, + [SMALL_STATE(28)] = 1354, + [SMALL_STATE(29)] = 1368, + [SMALL_STATE(30)] = 1390, + [SMALL_STATE(31)] = 1404, + [SMALL_STATE(32)] = 1418, + [SMALL_STATE(33)] = 1432, + [SMALL_STATE(34)] = 1445, + [SMALL_STATE(35)] = 1458, + [SMALL_STATE(36)] = 1471, + [SMALL_STATE(37)] = 1488, + [SMALL_STATE(38)] = 1501, + [SMALL_STATE(39)] = 1514, + [SMALL_STATE(40)] = 1527, + [SMALL_STATE(41)] = 1540, + [SMALL_STATE(42)] = 1553, + [SMALL_STATE(43)] = 1567, + [SMALL_STATE(44)] = 1578, + [SMALL_STATE(45)] = 1595, + [SMALL_STATE(46)] = 1606, + [SMALL_STATE(47)] = 1617, + [SMALL_STATE(48)] = 1628, + [SMALL_STATE(49)] = 1641, + [SMALL_STATE(50)] = 1652, + [SMALL_STATE(51)] = 1663, + [SMALL_STATE(52)] = 1674, + [SMALL_STATE(53)] = 1691, + [SMALL_STATE(54)] = 1702, + [SMALL_STATE(55)] = 1713, + [SMALL_STATE(56)] = 1730, + [SMALL_STATE(57)] = 1741, + [SMALL_STATE(58)] = 1752, + [SMALL_STATE(59)] = 1763, + [SMALL_STATE(60)] = 1774, + [SMALL_STATE(61)] = 1785, + [SMALL_STATE(62)] = 1796, + [SMALL_STATE(63)] = 1807, + [SMALL_STATE(64)] = 1818, + [SMALL_STATE(65)] = 1829, + [SMALL_STATE(66)] = 1840, + [SMALL_STATE(67)] = 1851, + [SMALL_STATE(68)] = 1863, + [SMALL_STATE(69)] = 1871, + [SMALL_STATE(70)] = 1883, + [SMALL_STATE(71)] = 1893, + [SMALL_STATE(72)] = 1903, + [SMALL_STATE(73)] = 1915, + [SMALL_STATE(74)] = 1926, + [SMALL_STATE(75)] = 1937, + [SMALL_STATE(76)] = 1944, + [SMALL_STATE(77)] = 1951, + [SMALL_STATE(78)] = 1962, + [SMALL_STATE(79)] = 1971, + [SMALL_STATE(80)] = 1980, + [SMALL_STATE(81)] = 1989, + [SMALL_STATE(82)] = 1998, + [SMALL_STATE(83)] = 2007, + [SMALL_STATE(84)] = 2016, + [SMALL_STATE(85)] = 2029, + [SMALL_STATE(86)] = 2040, + [SMALL_STATE(87)] = 2051, + [SMALL_STATE(88)] = 2062, + [SMALL_STATE(89)] = 2073, + [SMALL_STATE(90)] = 2084, + [SMALL_STATE(91)] = 2094, + [SMALL_STATE(92)] = 2104, + [SMALL_STATE(93)] = 2114, + [SMALL_STATE(94)] = 2124, + [SMALL_STATE(95)] = 2130, + [SMALL_STATE(96)] = 2138, + [SMALL_STATE(97)] = 2148, + [SMALL_STATE(98)] = 2158, + [SMALL_STATE(99)] = 2168, + [SMALL_STATE(100)] = 2178, + [SMALL_STATE(101)] = 2186, + [SMALL_STATE(102)] = 2196, + [SMALL_STATE(103)] = 2202, + [SMALL_STATE(104)] = 2212, + [SMALL_STATE(105)] = 2222, + [SMALL_STATE(106)] = 2232, + [SMALL_STATE(107)] = 2242, + [SMALL_STATE(108)] = 2252, + [SMALL_STATE(109)] = 2257, + [SMALL_STATE(110)] = 2264, + [SMALL_STATE(111)] = 2269, + [SMALL_STATE(112)] = 2274, + [SMALL_STATE(113)] = 2279, + [SMALL_STATE(114)] = 2286, + [SMALL_STATE(115)] = 2291, + [SMALL_STATE(116)] = 2296, + [SMALL_STATE(117)] = 2301, + [SMALL_STATE(118)] = 2306, + [SMALL_STATE(119)] = 2310, + [SMALL_STATE(120)] = 2314, + [SMALL_STATE(121)] = 2318, + [SMALL_STATE(122)] = 2322, + [SMALL_STATE(123)] = 2326, + [SMALL_STATE(124)] = 2330, + [SMALL_STATE(125)] = 2334, + [SMALL_STATE(126)] = 2338, + [SMALL_STATE(127)] = 2342, + [SMALL_STATE(128)] = 2346, + [SMALL_STATE(129)] = 2350, + [SMALL_STATE(130)] = 2354, + [SMALL_STATE(131)] = 2358, + [SMALL_STATE(132)] = 2362, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), - [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136), - [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(43), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), - [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [43] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_argument_list, 2, 0, 0), - [45] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_argument_list, 3, 0, 0), - [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126), - [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [65] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 2, 0, 8), - [67] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 2, 0, 8), - [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), - [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 1, 0, 2), - [77] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 1, 0, 2), - [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 3, 0, 11), - [81] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 3, 0, 11), - [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), - [85] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), - [87] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), SHIFT_REPEAT(34), - [90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 2, 0, 6), - [92] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 2, 0, 6), - [94] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double_quoted_literal, 3, 0, 0), - [96] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_double_quoted_literal, 3, 0, 0), - [98] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backtick_quoted_literal, 2, 0, 0), - [100] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_backtick_quoted_literal, 2, 0, 0), - [102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backtick_quoted_literal, 3, 0, 0), - [104] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_backtick_quoted_literal, 3, 0, 0), - [106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double_quoted_literal, 2, 0, 0), - [108] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_double_quoted_literal, 2, 0, 0), - [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_immediate_record_field_selector, 1, 0, 0), - [112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_immediate_record_field_selector, 1, 0, 0), - [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_temporal_literal, 1, 0, 0), - [116] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_temporal_literal, 1, 0, 0), - [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 1, 0, 2), - [120] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_record_access_repeat1, 1, 0, 2), - [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_literal, 1, 0, 0), - [124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quoted_literal, 1, 0, 0), + [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [39] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__trailing_argument_list, 2, 0, 0), + [41] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__trailing_argument_list, 3, 0, 0), + [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126), + [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 2, 0, 8), + [65] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 2, 0, 8), + [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [73] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 1, 0, 2), + [75] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 1, 0, 2), + [77] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 3, 0, 11), + [79] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 3, 0, 11), + [81] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 2, 0, 6), + [83] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 2, 0, 6), + [85] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), + [87] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), + [89] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), SHIFT_REPEAT(33), + [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backtick_quoted_literal, 2, 0, 0), + [94] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_backtick_quoted_literal, 2, 0, 0), + [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backtick_quoted_literal, 3, 0, 0), + [98] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_backtick_quoted_literal, 3, 0, 0), + [100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double_quoted_literal, 3, 0, 0), + [102] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_double_quoted_literal, 3, 0, 0), + [104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double_quoted_literal, 2, 0, 0), + [106] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_double_quoted_literal, 2, 0, 0), + [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_immediate_record_field_selector, 1, 0, 0), + [110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_immediate_record_field_selector, 1, 0, 0), + [112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 1, 0, 2), + [114] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_record_access_repeat1, 1, 0, 2), + [116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_temporal_literal, 1, 0, 0), + [118] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_temporal_literal, 1, 0, 0), + [120] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), + [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1, 0, 0), [128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_literal, 1, 0, 0), - [130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), - [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_original_record_field_selector, 1, 0, 5), - [138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_original_record_field_selector, 1, 0, 5), - [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field_selector, 1, 0, 0), - [142] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_field_selector, 1, 0, 0), - [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_original_record_field_selector, 1, 0, 0), - [146] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_original_record_field_selector, 1, 0, 0), - [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 1, 0, 1), - [150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 1, 0, 1), - [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 4, 1, 0), - [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 4, 1, 0), - [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closed_expression, 1, 0, 0), - [160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18), - [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, 0, 1), - [166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, 0, 1), - [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 3, 0, 0), - [170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 3, 0, 0), - [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1, 0, 0), - [174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1, 0, 0), - [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3, 0, 0), - [178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3, 0, 0), - [180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 3, 1, 0), - [182] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 3, 1, 0), - [184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_projection, 2, 0, 4), - [186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_projection, 2, 0, 4), - [188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_incoming_value, 1, 0, 0), - [190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_incoming_value, 1, 0, 0), - [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_expression, 1, 0, 7), - [194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pipeline_expression, 1, 0, 7), - [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_open_expression_repeat1, 2, 0, 0), - [198] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_open_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(19), - [201] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), - [203] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(18), - [206] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(21), - [209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2, 0, 0), - [211] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 2, 0, 0), - [213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, 0, 1), - [215] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, 0, 1), - [217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closed_expression, 2, 0, 0), - [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4, 0, 0), - [221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4, 0, 0), - [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_shorthand, 1, 0, 0), - [225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interval_shorthand, 1, 0, 0), - [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_literal, 2, 0, 0), - [229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interval_literal, 2, 0, 0), - [231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 9), - [233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 9), - [235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_projection, 3, 0, 10), - [237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_projection, 3, 0, 10), - [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parenthesized_pipeline_expression, 3, 0, 9), - [241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__parenthesized_pipeline_expression, 3, 0, 9), - [243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_literal, 6, 0, 15), - [245] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interval_literal, 6, 0, 15), - [247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_literal, 6, 0, 0), - [249] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_literal, 6, 0, 0), - [251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_literal, 7, 0, 0), - [253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_literal, 7, 0, 0), - [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), - [259] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), - [261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_expression, 1, 0, 0), - [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_shorthand, 2, 0, 3), - [267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_shorthand, 2, 0, 3), - [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_expression, 2, 0, 0), - [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [277] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), - [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [281] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), - [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_open_expression, 2, 0, 0), - [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 1, 0, 7), - [289] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 1, 0, 7), - [291] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_double_quoted_literal_repeat1, 2, 0, 0), - [293] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_double_quoted_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(81), - [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_open_expression, 1, 0, 0), - [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field_name, 1, 0, 0), - [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), - [302] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(14), - [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_infinite_bound, 1, 0, 0), - [307] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), - [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_map_shorthand, 2, 0, 3), - [311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pipeline_map_shorthand, 2, 0, 3), - [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_closed_expression, 3, 0, 0), - [315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_open_expression, 1, 0, 0), - [317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_open_expression, 1, 0, 0), - [319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_closed_expression, 4, 0, 0), - [321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_bound, 1, 0, 0), - [323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), - [325] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(7), - [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__argument_value, 1, 0, 0), - [334] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 1, 0, 0), - [336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [338] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_record_spread, 1, 0, 0), REDUCE(sym_incoming_value, 1, 0, 0), - [341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0), - [345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [353] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(25), - [356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_literal_repeat1, 2, 0, 0), - [358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_open_expression, 1, 0, 0), - [360] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pipeline_expression, 1, 0, 0), - [362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_expression, 1, 0, 0), - [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_open_expression, 2, 0, 0), - [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_positional_argument, 1, 0, 0), - [378] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), - [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field, 3, 0, 13), - [384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_argument, 3, 0, 14), - [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameterized_expression, 5, 0, 16), - [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_spread, 1, 0, 0), - [394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root_expression, 1, 0, 0), - [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [408] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), - [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [422] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_literal, 1, 0, 0), + [132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quoted_literal, 1, 0, 0), + [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_original_record_field_selector, 1, 0, 0), + [136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_original_record_field_selector, 1, 0, 0), + [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_original_record_field_selector, 1, 0, 5), + [140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_original_record_field_selector, 1, 0, 5), + [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field_selector, 1, 0, 0), + [144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_field_selector, 1, 0, 0), + [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 1, 0, 1), + [148] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 1, 0, 1), + [150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_literal, 6, 0, 15), + [154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interval_literal, 6, 0, 15), + [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), + [158] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(17), + [161] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(20), + [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3, 0, 0), + [166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3, 0, 0), + [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_projection, 2, 0, 4), + [170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_projection, 2, 0, 4), + [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 3, 1, 0), + [174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 3, 1, 0), + [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_open_expression_repeat1, 2, 0, 0), + [178] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_open_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(18), + [181] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2, 0, 0), + [183] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 2, 0, 0), + [185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_shorthand, 1, 0, 0), + [187] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interval_shorthand, 1, 0, 0), + [189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_expression, 1, 0, 7), + [191] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pipeline_expression, 1, 0, 7), + [193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closed_expression, 2, 0, 0), + [195] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), + [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_literal, 2, 0, 0), + [201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interval_literal, 2, 0, 0), + [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, 0, 1), + [205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, 0, 1), + [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closed_expression, 1, 0, 0), + [209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_incoming_value, 1, 0, 0), + [211] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_incoming_value, 1, 0, 0), + [213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4, 0, 0), + [215] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4, 0, 0), + [217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 4, 1, 0), + [219] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 4, 1, 0), + [221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 9), + [223] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 9), + [225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_projection, 3, 0, 10), + [227] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_projection, 3, 0, 10), + [229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, 0, 1), + [231] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, 0, 1), + [233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parenthesized_pipeline_expression, 3, 0, 9), + [235] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__parenthesized_pipeline_expression, 3, 0, 9), + [237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 3, 0, 0), + [239] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 3, 0, 0), + [241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1, 0, 0), + [243] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1, 0, 0), + [245] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_literal, 6, 0, 0), + [247] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_literal, 6, 0, 0), + [249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_literal, 7, 0, 0), + [251] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_literal, 7, 0, 0), + [253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_expression, 1, 0, 0), + [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_expression, 2, 0, 0), + [259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), + [261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), + [263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_shorthand, 2, 0, 3), + [265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_shorthand, 2, 0, 3), + [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [269] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), + [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_closed_expression, 4, 0, 0), + [275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_infinite_bound, 1, 0, 0), + [277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_bound, 1, 0, 0), + [279] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_double_quoted_literal_repeat1, 2, 0, 0), + [281] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_double_quoted_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(77), + [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 1, 0, 7), + [286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 1, 0, 7), + [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field_name, 1, 0, 0), + [290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), + [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_map_shorthand, 2, 0, 3), + [294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pipeline_map_shorthand, 2, 0, 3), + [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_open_expression, 1, 0, 0), + [298] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_open_expression, 1, 0, 0), + [300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_open_expression, 2, 0, 0), + [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_open_expression, 1, 0, 0), + [310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), + [312] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(12), + [315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_closed_expression, 3, 0, 0), + [317] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), + [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0), + [331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [333] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_record_spread, 1, 0, 0), REDUCE(sym_incoming_value, 1, 0, 0), + [336] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(22), + [339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_literal_repeat1, 2, 0, 0), + [341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 1, 0, 0), + [343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_open_expression, 1, 0, 0), + [347] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pipeline_expression, 1, 0, 0), + [349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_expression, 1, 0, 0), + [351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [353] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__argument_value, 1, 0, 0), + [355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), + [357] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(6), + [360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_open_expression, 2, 0, 0), + [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_positional_argument, 1, 0, 0), + [374] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), + [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [378] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root_expression, 1, 0, 0), + [380] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_argument, 3, 0, 14), + [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_spread, 1, 0, 0), + [388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field, 3, 0, 13), + [390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameterized_expression, 5, 0, 16), + [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [396] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [398] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), }; #ifdef __cplusplus diff --git a/test/corpus/expressions.txt b/test/corpus/expressions.txt index 1d75d75..fd8ce5d 100644 --- a/test/corpus/expressions.txt +++ b/test/corpus/expressions.txt @@ -99,16 +99,21 @@ record(customer-name := .name) (named_record_field))))))))) ================== -Record function accepts trailing commas +Function calls accept trailing commas ================== -record(name := "Alice", age := 30,) +foo(5,) | record(name := "Alice", age := 30,) --- (source_file (root_expression (open_expression + (function_call + name: (function_name) + (argument_list + (positional_argument + (numeric_literal)))) (function_call name: (function_name) (argument_list diff --git a/test/corpus/invalid.txt b/test/corpus/invalid.txt index fbdc07a..f0ad576 100644 --- a/test/corpus/invalid.txt +++ b/test/corpus/invalid.txt @@ -159,10 +159,10 @@ foo(, 5) (numeric_literal))))))) ================== -Trailing argument separator +Missing argument between separators ================== -foo(5,) +foo(5,,6) --- @@ -173,8 +173,10 @@ foo(5,) (function_name) (argument_list (positional_argument - (numeric_literal))) - (ERROR))))) + (numeric_literal)) + (ERROR) + (positional_argument + (numeric_literal))))))) ================== Malformed date literal