diff --git a/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs b/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs index d724bec..776bddd 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) @@ -613,6 +639,65 @@ public void MapShorthandAcceptsAParenthesizedOperation() Assert.That(shorthand.Expression.Pipeline.Single(), Is.TypeOf()); } + [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(source)).Pipeline.Single(); + var withoutComma = (FunctionCallSyntax)((OpenExpressionSyntax)ExpressifSyntax.Parse(equivalentSource)).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() + { + 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 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() + { + 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( @@ -722,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/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 7c539fd..4fc0a85 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 @@ -72,6 +72,7 @@ export default grammar({ _pipeline_expression: ($) => choice( $.function_call, + prec(1, $.record_access), $.tuple_projection, alias($._parenthesized_pipeline_expression, $.parenthesized_expression), ), @@ -114,15 +115,28 @@ export default grammar({ function_call: ($) => seq( field("name", $.function_name), - optional(seq("(", optional($.argument_list), ")")), + optional(seq( + "(", + optional(choice( + $.argument_list, + alias($._trailing_argument_list, $.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))), - ), + )), + + _trailing_argument_list: ($) => prec.right(seq( + choice($.positional_argument, $.named_argument), + repeat(seq(",", choice($.positional_argument, $.named_argument))), + ",", + )), positional_argument: ($) => $._argument_value, @@ -173,6 +187,7 @@ export default grammar({ $.record_access, $.numeric_literal, $.boolean_literal, + $.null_literal, $.quoted_literal, $.temporal_literal, $.array_literal, @@ -254,7 +269,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]+)?/, @@ -279,21 +294,23 @@ 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]*)/, 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 95a2fd2..f03ce65 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" } } ] @@ -185,6 +190,14 @@ "type": "SYMBOL", "name": "function_call" }, + { + "type": "PREC", + "value": 1, + "content": { + "type": "SYMBOL", + "name": "record_access" + } + }, { "type": "SYMBOL", "name": "tuple_projection" @@ -406,8 +419,22 @@ "type": "CHOICE", "members": [ { - "type": "SYMBOL", - "name": "argument_list" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "argument_list" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_trailing_argument_list" + }, + "named": true, + "value": "argument_list" + } + ] }, { "type": "BLANK" @@ -432,47 +459,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", + } + ] + } + }, + "_trailing_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", @@ -670,6 +752,10 @@ "type": "SYMBOL", "name": "boolean_literal" }, + { + "type": "SYMBOL", + "name": "null_literal" + }, { "type": "SYMBOL", "name": "quoted_literal" @@ -1055,7 +1141,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", @@ -1141,7 +1227,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, @@ -1173,7 +1259,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_]+)*" } } }, @@ -1200,7 +1286,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", @@ -1219,6 +1305,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 a78ad22..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 @@ -443,6 +447,10 @@ { "type": "expression", "named": true + }, + { + "type": "record_access", + "named": true } ] } @@ -885,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 33e99d8..0193feb 100644 --- a/src/parser.c +++ b/src/parser.c @@ -7,11 +7,11 @@ #endif #define LANGUAGE_VERSION 15 -#define STATE_COUNT 130 +#define STATE_COUNT 133 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 94 +#define SYMBOL_COUNT 96 #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,68 @@ 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__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[] = { @@ -154,6 +156,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", @@ -177,6 +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__trailing_argument_list] = "argument_list", [sym_positional_argument] = "positional_argument", [sym_named_argument] = "named_argument", [sym__argument_value] = "_argument_value", @@ -253,6 +257,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, @@ -276,6 +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__trailing_argument_list] = sym_argument_list, [sym_positional_argument] = sym_positional_argument, [sym_named_argument] = sym_named_argument, [sym__argument_value] = sym__argument_value, @@ -460,6 +466,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, @@ -553,6 +563,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym__trailing_argument_list] = { + .visible = true, + .named = true, + }, [sym_positional_argument] = { .visible = true, .named = true, @@ -745,9 +759,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 +812,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, }, @@ -950,6 +964,9 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [127] = 127, [128] = 128, [129] = 129, + [130] = 130, + [131] = 131, + [132] = 132, }; static const TSSymbol ts_supertype_symbols[SUPERTYPE_COUNT] = { @@ -963,7 +980,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[] = { @@ -984,6 +1001,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, @@ -998,660 +1016,714 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(74); + if (eof) ADVANCE(79); 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, + '"', 129, + '#', 4, + '$', 85, + '(', 83, + ')', 84, + '+', 34, + ',', 92, + '-', 22, + '.', 18, + '0', 114, + ':', 111, + '@', 69, + 'I', 96, + 'T', 107, + '[', 99, + '\\', 49, + ']', 100, + '^', 89, + '_', 113, + '`', 133, + '{', 94, + '|', 80, + '}', 95, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(70); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(110); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(85); + lookahead == 0xfeff) SKIP(75); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(115); + if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(90); END_STATE(); case 1: ADVANCE_MAP( - '"', 123, - '#', 5, - '$', 80, - '-', 22, - '.', 18, - '0', 109, - ':', 105, - '@', 64, - 'I', 93, - 'T', 104, - '^', 19, - '`', 127, - '{', 89, - '}', 90, + '"', 129, + '#', 4, + '$', 85, + '-', 23, + '.', 19, + '0', 114, + ':', 110, + '@', 69, + 'I', 97, + 'T', 108, + '^', 20, + '`', 133, + '{', 94, + '}', 95, ); 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(115); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(108); + ('_' <= lookahead && lookahead <= 'z')) ADVANCE(113); 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(129); + if (lookahead == '\\') ADVANCE(49); 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(130); + if (lookahead != 0) ADVANCE(131); END_STATE(); - case 4: - if (lookahead == '"') ADVANCE(123); + case 3: + if (lookahead == '"') ADVANCE(129); 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(57); + if (lookahead == 'f') ADVANCE(39); + if (lookahead == 'n') ADVANCE(48); + if (lookahead == 't') ADVANCE(45); END_STATE(); case 5: - if (lookahead == '"') ADVANCE(53); - if (lookahead == 'f') ADVANCE(37); - if (lookahead == 't') ADVANCE(41); + if (lookahead == '"') ADVANCE(138); END_STATE(); case 6: - if (lookahead == '"') ADVANCE(132); + if (lookahead == '"') ADVANCE(136); + if (lookahead == ' ' || + lookahead == 'T') ADVANCE(65); END_STATE(); case 7: - if (lookahead == '"') ADVANCE(130); - if (lookahead == ' ' || - lookahead == 'T') ADVANCE(61); + if (lookahead == '"') ADVANCE(137); END_STATE(); case 8: - if (lookahead == '"') ADVANCE(131); + if (lookahead == '$') ADVANCE(85); + if (lookahead == '(') ADVANCE(82); + if (lookahead == '.') ADVANCE(24); + if (lookahead == '0') ADVANCE(86); + 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(87); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); END_STATE(); case 9: - if (lookahead == ')') ADVANCE(99); + if (lookahead == '$') ADVANCE(85); + if (lookahead == '(') ADVANCE(82); + 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(91); END_STATE(); case 10: - if (lookahead == ')') ADVANCE(101); + if (lookahead == ')') ADVANCE(104); END_STATE(); case 11: - if (lookahead == ')') ADVANCE(98); + if (lookahead == ')') ADVANCE(106); END_STATE(); case 12: - if (lookahead == ')') ADVANCE(100); + if (lookahead == ')') ADVANCE(103); END_STATE(); case 13: - if (lookahead == '+') ADVANCE(11); - if (lookahead == '-') ADVANCE(12); + if (lookahead == ')') ADVANCE(105); 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(64); END_STATE(); case 16: - if (lookahead == '.') ADVANCE(20); + if (lookahead == '-') ADVANCE(60); 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(120); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(121); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(118); + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(119); END_STATE(); case 19: - if (lookahead == '.') ADVANCE(113); + if (lookahead == '.') ADVANCE(21); + if (lookahead == '0') ADVANCE(124); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(125); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(123); END_STATE(); case 20: - if (lookahead == '.') ADVANCE(107); + if (lookahead == '.') ADVANCE(118); END_STATE(); case 21: - if (lookahead == '0') ADVANCE(109); - if (lookahead == 'I') ADVANCE(34); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(110); + if (lookahead == '.') ADVANCE(112); END_STATE(); case 22: - if (lookahead == '0') ADVANCE(109); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(110); + if (lookahead == '0') ADVANCE(114); + if (lookahead == 'I') ADVANCE(36); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(115); 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(114); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(115); END_STATE(); case 24: - if (lookahead == '0') ADVANCE(81); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(82); + if (lookahead == '0') ADVANCE(124); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(125); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(117); + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(123); END_STATE(); case 25: - if (lookahead == ':') ADVANCE(54); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(48); + if (lookahead == '0') ADVANCE(86); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(87); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(122); END_STATE(); case 26: - if (lookahead == ':') ADVANCE(55); + if (lookahead == ':') ADVANCE(58); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(52); END_STATE(); case 27: - if (lookahead == ':') ADVANCE(57); + if (lookahead == ':') ADVANCE(59); END_STATE(); case 28: - if (lookahead == ':') ADVANCE(63); + if (lookahead == ':') ADVANCE(61); END_STATE(); case 29: - if (lookahead == '=') ADVANCE(88); + if (lookahead == ':') ADVANCE(67); END_STATE(); case 30: - if (lookahead == 'F') ADVANCE(96); + if (lookahead == '=') ADVANCE(93); END_STATE(); case 31: - if (lookahead == 'F') ADVANCE(97); + if (lookahead == '>') ADVANCE(81); END_STATE(); case 32: - if (lookahead == 'I') ADVANCE(33); + if (lookahead == 'F') ADVANCE(101); END_STATE(); case 33: - if (lookahead == 'N') ADVANCE(30); + if (lookahead == 'F') ADVANCE(102); 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(133); 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(134); + if (lookahead != 0) ADVANCE(135); END_STATE(); - case 36: - if (lookahead == '`') ADVANCE(127); + case 38: + if (lookahead == '`') ADVANCE(133); 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(126); END_STATE(); case 41: - if (lookahead == 'r') ADVANCE(43); + if (lookahead == 'e') ADVANCE(127); END_STATE(); case 42: - if (lookahead == 's') ADVANCE(39); + if (lookahead == 'l') ADVANCE(46); END_STATE(); case 43: - if (lookahead == 'u') ADVANCE(38); + if (lookahead == 'l') ADVANCE(128); END_STATE(); case 44: - if (lookahead == '"' || - lookahead == '\\') ADVANCE(126); + if (lookahead == 'l') ADVANCE(43); END_STATE(); case 45: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(108); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(85); + if (lookahead == 'r') ADVANCE(47); END_STATE(); case 46: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(111); + if (lookahead == 's') ADVANCE(41); END_STATE(); case 47: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(25); + if (lookahead == 'u') ADVANCE(40); END_STATE(); case 48: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(14); + 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(6); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); END_STATE(); case 51: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(7); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(26); END_STATE(); case 52: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(8); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(15); END_STATE(); case 53: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(47); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(27); END_STATE(); case 54: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(49); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(5); END_STATE(); case 55: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(50); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(6); END_STATE(); case 56: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(51); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(7); END_STATE(); case 57: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(52); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(51); 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(55); END_STATE(); case 61: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(59); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(56); END_STATE(); case 62: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(27); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(16); END_STATE(); case 63: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(62); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(29); END_STATE(); case 64: - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(112); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(62); END_STATE(); case 65: - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(86); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(63); END_STATE(); case 66: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(28); + END_STATE(); + case 67: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(66); + END_STATE(); + case 68: + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(113); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); + 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(114); + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(113); END_STATE(); - case 67: + case 72: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(108); + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(119); END_STATE(); - case 68: + case 73: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(118); + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(123); END_STATE(); - case 69: + case 74: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(117); + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(122); END_STATE(); - case 70: - if (eof) ADVANCE(74); + case 75: + if (eof) ADVANCE(79); 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, + '"', 129, + '#', 4, + '$', 85, + '(', 83, + ')', 84, + '+', 34, + ',', 92, + '-', 22, + '.', 19, + '0', 114, + ':', 111, + '@', 69, + 'I', 96, + 'T', 107, + '[', 99, + ']', 100, + '^', 20, + '_', 113, + '`', 133, + '{', 94, + '|', 80, + '}', 95, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(70); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(110); + lookahead == 0xfeff) SKIP(75); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(115); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(85); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); END_STATE(); - case 71: - if (eof) ADVANCE(74); + case 76: + if (eof) ADVANCE(79); 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, + '"', 129, + '#', 4, + '$', 85, + '(', 82, + ')', 84, + '+', 34, + ',', 92, + '-', 22, + '.', 19, + '0', 114, + ':', 30, + '@', 69, + 'I', 98, + 'T', 109, + '[', 99, + ']', 100, + '^', 20, + '`', 133, + '{', 94, + '|', 80, + '}', 95, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(71); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(110); + lookahead == 0xfeff) SKIP(76); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(115); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(86); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); END_STATE(); - case 72: - if (eof) ADVANCE(74); + case 77: + if (eof) ADVANCE(79); ADVANCE_MAP( - '$', 80, - '(', 77, - ')', 79, - ',', 87, - '.', 23, - '0', 81, - '^', 83, - '|', 75, - '}', 90, + '"', 129, + ')', 84, + ',', 92, + '.', 18, + '0', 86, + '^', 88, + '`', 133, + '|', 80, + '}', 95, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(73); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(82); + lookahead == 0xfeff) SKIP(78); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(87); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(86); + ('_' <= lookahead && lookahead <= 'z')) ADVANCE(113); 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 78: + if (eof) ADVANCE(79); + if (lookahead == '"') ADVANCE(129); + if (lookahead == ')') ADVANCE(84); + if (lookahead == ',') ADVANCE(92); + if (lookahead == '.') ADVANCE(17); + 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(73); + lookahead == 0xfeff) SKIP(78); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(86); + ('_' <= lookahead && lookahead <= 'z')) ADVANCE(113); END_STATE(); - case 74: + case 79: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); - case 75: + case 80: ACCEPT_TOKEN(anon_sym_PIPE); - if (lookahead == '>') ADVANCE(76); + if (lookahead == '>') ADVANCE(81); END_STATE(); - case 76: + case 81: ACCEPT_TOKEN(anon_sym_PIPE_GT); END_STATE(); - case 77: + case 82: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); - case 78: + case 83: 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 84: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); - case 80: + case 85: ACCEPT_TOKEN(anon_sym_DOLLAR); END_STATE(); - case 81: + case 86: ACCEPT_TOKEN(aux_sym_tuple_projection_token1); END_STATE(); - case 82: + case 87: ACCEPT_TOKEN(aux_sym_tuple_projection_token1); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(82); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(87); END_STATE(); - case 83: + case 88: ACCEPT_TOKEN(anon_sym_CARET); END_STATE(); - case 84: + case 89: ACCEPT_TOKEN(anon_sym_CARET); - if (lookahead == '.') ADVANCE(113); + if (lookahead == '.') ADVANCE(118); END_STATE(); - case 85: + case 90: ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(45); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(108); + if (lookahead == '-') ADVANCE(68); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(113); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(85); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); END_STATE(); - case 86: + case 91: ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(65); + if (lookahead == '-') ADVANCE(70); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(86); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); END_STATE(); - case 87: + case 92: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 88: + case 93: ACCEPT_TOKEN(anon_sym_COLON_EQ); END_STATE(); - case 89: + case 94: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); - case 90: + case 95: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); - case 91: - ACCEPT_TOKEN(anon_sym_I); - if (lookahead == '-') ADVANCE(45); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(108); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(85); - END_STATE(); - case 92: + case 96: ACCEPT_TOKEN(anon_sym_I); - if (lookahead == '-') ADVANCE(65); + if (lookahead == '-') ADVANCE(68); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(113); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(86); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); END_STATE(); - case 93: + case 97: ACCEPT_TOKEN(anon_sym_I); - if (lookahead == '-') ADVANCE(67); + if (lookahead == '-') ADVANCE(71); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(108); + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(113); END_STATE(); - case 94: + case 98: + ACCEPT_TOKEN(anon_sym_I); + if (lookahead == '-') ADVANCE(70); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); + END_STATE(); + case 99: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); - case 95: + case 100: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); - case 96: + case 101: ACCEPT_TOKEN(anon_sym_PLUSINF); END_STATE(); - case 97: + case 102: ACCEPT_TOKEN(anon_sym_DASHINF); END_STATE(); - case 98: + case 103: ACCEPT_TOKEN(anon_sym_LPAREN0_PLUS_RPAREN); END_STATE(); - case 99: + case 104: ACCEPT_TOKEN(anon_sym_LPAREN_PLUS_RPAREN); END_STATE(); - case 100: + case 105: ACCEPT_TOKEN(anon_sym_LPAREN0_DASH_RPAREN); END_STATE(); - case 101: + case 106: ACCEPT_TOKEN(anon_sym_LPAREN_DASH_RPAREN); END_STATE(); - case 102: - ACCEPT_TOKEN(anon_sym_T); - if (lookahead == '-') ADVANCE(45); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(108); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(85); - END_STATE(); - case 103: + case 107: ACCEPT_TOKEN(anon_sym_T); - if (lookahead == '-') ADVANCE(65); + if (lookahead == '-') ADVANCE(68); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(113); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(86); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); END_STATE(); - case 104: + case 108: ACCEPT_TOKEN(anon_sym_T); - if (lookahead == '-') ADVANCE(67); + if (lookahead == '-') ADVANCE(71); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(108); + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(113); END_STATE(); - case 105: + case 109: + ACCEPT_TOKEN(anon_sym_T); + if (lookahead == '-') ADVANCE(70); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); + END_STATE(); + case 110: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); - case 106: + case 111: ACCEPT_TOKEN(anon_sym_COLON); - if (lookahead == '=') ADVANCE(88); + if (lookahead == '=') ADVANCE(93); END_STATE(); - case 107: + case 112: ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); END_STATE(); - case 108: + case 113: ACCEPT_TOKEN(sym_unquoted_record_field_name); - if (lookahead == '-') ADVANCE(67); + if (lookahead == '-') ADVANCE(71); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(108); + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(113); END_STATE(); - case 109: + case 114: ACCEPT_TOKEN(sym_numeric_literal); - if (lookahead == '.') ADVANCE(46); + if (lookahead == '.') ADVANCE(50); END_STATE(); - case 110: + case 115: ACCEPT_TOKEN(sym_numeric_literal); - if (lookahead == '.') ADVANCE(46); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(110); + if (lookahead == '.') ADVANCE(50); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(115); END_STATE(); - case 111: + case 116: ACCEPT_TOKEN(sym_numeric_literal); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(111); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); END_STATE(); - case 112: + case 117: ACCEPT_TOKEN(sym_variable); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(112); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(117); END_STATE(); - case 113: + case 118: ACCEPT_TOKEN(sym_original_input); END_STATE(); - case 114: + case 119: ACCEPT_TOKEN(aux_sym_immediate_record_field_selector_token1); - if (lookahead == '-') ADVANCE(66); + if (lookahead == '-') ADVANCE(72); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(114); + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(119); END_STATE(); - case 115: + case 120: ACCEPT_TOKEN(aux_sym_immediate_record_field_selector_token2); END_STATE(); - case 116: + case 121: ACCEPT_TOKEN(aux_sym_immediate_record_field_selector_token2); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(121); END_STATE(); - case 117: + case 122: ACCEPT_TOKEN(aux_sym_original_record_field_selector_token1); - if (lookahead == '-') ADVANCE(69); + if (lookahead == '-') ADVANCE(74); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(117); + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(122); END_STATE(); - case 118: + case 123: ACCEPT_TOKEN(sym_named_record_field); - if (lookahead == '-') ADVANCE(68); + if (lookahead == '-') ADVANCE(73); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(118); + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(123); END_STATE(); - case 119: + case 124: ACCEPT_TOKEN(sym_positional_record_field); END_STATE(); - case 120: + case 125: ACCEPT_TOKEN(sym_positional_record_field); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(120); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(125); END_STATE(); - case 121: + case 126: ACCEPT_TOKEN(anon_sym_POUNDtrue); END_STATE(); - case 122: + case 127: ACCEPT_TOKEN(anon_sym_POUNDfalse); END_STATE(); - case 123: + case 128: + ACCEPT_TOKEN(sym_null_literal); + END_STATE(); + case 129: ACCEPT_TOKEN(anon_sym_DQUOTE); END_STATE(); - case 124: + case 130: ACCEPT_TOKEN(sym_double_quoted_content); if (lookahead == '\t' || lookahead == 0x0b || @@ -1659,27 +1731,27 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(124); + lookahead == 0xfeff) ADVANCE(130); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && lookahead != '"' && - lookahead != '\\') ADVANCE(125); + lookahead != '\\') ADVANCE(131); END_STATE(); - case 125: + case 131: ACCEPT_TOKEN(sym_double_quoted_content); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r' && lookahead != '"' && - lookahead != '\\') ADVANCE(125); + lookahead != '\\') ADVANCE(131); END_STATE(); - case 126: + case 132: ACCEPT_TOKEN(sym_escape_sequence); END_STATE(); - case 127: + case 133: ACCEPT_TOKEN(anon_sym_BQUOTE); END_STATE(); - case 128: + case 134: ACCEPT_TOKEN(sym_backtick_quoted_content); if (lookahead == '\t' || lookahead == 0x0b || @@ -1687,25 +1759,25 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(128); + lookahead == 0xfeff) ADVANCE(134); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && - lookahead != '`') ADVANCE(129); + lookahead != '`') ADVANCE(135); END_STATE(); - case 129: + case 135: ACCEPT_TOKEN(sym_backtick_quoted_content); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r' && - lookahead != '`') ADVANCE(129); + lookahead != '`') ADVANCE(135); END_STATE(); - case 130: + case 136: ACCEPT_TOKEN(sym_date_literal); END_STATE(); - case 131: + case 137: ACCEPT_TOKEN(sym_date_time_literal); END_STATE(); - case 132: + case 138: ACCEPT_TOKEN(sym_time_literal); END_STATE(); default: @@ -1715,48 +1787,48 @@ 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}, - [6] = {.lex_state = 1}, - [7] = {.lex_state = 71}, + [1] = {.lex_state = 76}, + [2] = {.lex_state = 76}, + [3] = {.lex_state = 76}, + [4] = {.lex_state = 76}, + [5] = {.lex_state = 76}, + [6] = {.lex_state = 76}, + [7] = {.lex_state = 76}, [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 = 72}, - [24] = {.lex_state = 71}, - [25] = {.lex_state = 71}, - [26] = {.lex_state = 71}, - [27] = {.lex_state = 71}, - [28] = {.lex_state = 0}, - [29] = {.lex_state = 72}, - [30] = {.lex_state = 72}, - [31] = {.lex_state = 0}, - [32] = {.lex_state = 0}, - [33] = {.lex_state = 0}, - [34] = {.lex_state = 72}, - [35] = {.lex_state = 72}, - [36] = {.lex_state = 72}, - [37] = {.lex_state = 72}, - [38] = {.lex_state = 72}, - [39] = {.lex_state = 71}, - [40] = {.lex_state = 72}, - [41] = {.lex_state = 0}, - [42] = {.lex_state = 0}, + [9] = {.lex_state = 76}, + [10] = {.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 = 8}, + [18] = {.lex_state = 8}, + [19] = {.lex_state = 8}, + [20] = {.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 = 8}, + [27] = {.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 = 77}, + [34] = {.lex_state = 77}, + [35] = {.lex_state = 0}, + [36] = {.lex_state = 0}, + [37] = {.lex_state = 0}, + [38] = {.lex_state = 0}, + [39] = {.lex_state = 77}, + [40] = {.lex_state = 77}, + [41] = {.lex_state = 77}, + [42] = {.lex_state = 76}, [43] = {.lex_state = 0}, [44] = {.lex_state = 0}, [45] = {.lex_state = 0}, @@ -1782,18 +1854,18 @@ 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 = 0}, [69] = {.lex_state = 0}, [70] = {.lex_state = 0}, [71] = {.lex_state = 0}, - [72] = {.lex_state = 0}, - [73] = {.lex_state = 3}, - [74] = {.lex_state = 3}, + [72] = {.lex_state = 76}, + [73] = {.lex_state = 2}, + [74] = {.lex_state = 0}, [75] = {.lex_state = 0}, [76] = {.lex_state = 0}, - [77] = {.lex_state = 0}, + [77] = {.lex_state = 2}, [78] = {.lex_state = 0}, - [79] = {.lex_state = 3}, + [79] = {.lex_state = 76}, [80] = {.lex_state = 0}, [81] = {.lex_state = 0}, [82] = {.lex_state = 0}, @@ -1801,9 +1873,9 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [84] = {.lex_state = 0}, [85] = {.lex_state = 0}, [86] = {.lex_state = 0}, - [87] = {.lex_state = 71}, + [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}, @@ -1816,34 +1888,37 @@ 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}, [105] = {.lex_state = 0}, [106] = {.lex_state = 0}, - [107] = {.lex_state = 0}, + [107] = {.lex_state = 25}, [108] = {.lex_state = 0}, - [109] = {.lex_state = 0}, + [109] = {.lex_state = 37}, [110] = {.lex_state = 0}, [111] = {.lex_state = 0}, - [112] = {.lex_state = 35}, - [113] = {.lex_state = 72}, + [112] = {.lex_state = 0}, + [113] = {.lex_state = 77}, [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}, [121] = {.lex_state = 0}, - [122] = {.lex_state = 71}, - [123] = {.lex_state = 0}, - [124] = {.lex_state = 71}, - [125] = {.lex_state = 72}, - [126] = {.lex_state = 0}, + [122] = {.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 = 76}, + [132] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -1884,6 +1959,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), @@ -1892,28 +1968,28 @@ 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_open_expression] = STATE(111), - [sym_closed_expression] = STATE(111), + [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(44), + [sym_expression] = STATE(67), [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_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), @@ -1929,6 +2005,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), @@ -1961,41 +2038,43 @@ static const uint16_t ts_small_parse_table[] = { sym_function_name, ACTIONS(37), 1, anon_sym_LBRACE, - STATE(19), 1, + STATE(23), 1, sym_record_field_selector, STATE(86), 1, sym_function_call, - STATE(90), 1, + STATE(100), 1, sym_value, - STATE(129), 1, - sym_argument_list, - ACTIONS(19), 2, - sym_numeric_literal, - sym_variable, ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(32), 2, + STATE(38), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(104), 2, + STATE(97), 2, sym_positional_argument, sym_named_argument, + STATE(130), 2, + sym_argument_list, + sym__trailing_argument_list, + ACTIONS(19), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, ACTIONS(31), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(105), 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, @@ -2005,7 +2084,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [90] = 21, + [92] = 22, ACTIONS(5), 1, anon_sym_LPAREN, ACTIONS(7), 1, @@ -2026,39 +2105,108 @@ static const uint16_t ts_small_parse_table[] = { sym_function_name, ACTIONS(37), 1, anon_sym_LBRACE, - STATE(19), 1, + ACTIONS(39), 1, + anon_sym_RPAREN, + STATE(23), 1, sym_record_field_selector, STATE(86), 1, sym_function_call, - STATE(90), 1, + STATE(100), 1, sym_value, - ACTIONS(19), 2, + ACTIONS(23), 2, + sym_named_record_field, + sym_positional_record_field, + ACTIONS(25), 2, + anon_sym_POUNDtrue, + anon_sym_POUNDfalse, + STATE(38), 2, + sym_double_quoted_literal, + sym_backtick_quoted_literal, + STATE(111), 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, + sym_time_literal, + STATE(108), 6, + sym_parenthesized_expression, + sym_tuple_projection, + sym__argument_value, + sym__nested_open_expression, + sym__nested_closed_expression, + sym_parameterized_expression, + 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, + [180] = 22, + ACTIONS(5), 1, + anon_sym_LPAREN, + ACTIONS(7), 1, + anon_sym_DOLLAR, + ACTIONS(13), 1, + anon_sym_I, + ACTIONS(15), 1, + anon_sym_T, + ACTIONS(17), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(21), 1, + sym_original_input, + ACTIONS(27), 1, + anon_sym_DQUOTE, + ACTIONS(29), 1, + anon_sym_BQUOTE, + ACTIONS(35), 1, + sym_function_name, + ACTIONS(37), 1, + anon_sym_LBRACE, + ACTIONS(41), 1, + anon_sym_RPAREN, + STATE(23), 1, + sym_record_field_selector, + STATE(86), 1, + sym_function_call, + STATE(100), 1, + sym_value, ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(32), 2, + STATE(38), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(109), 2, + STATE(111), 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, sym_time_literal, - STATE(105), 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, @@ -2068,7 +2216,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [174] = 23, + [268] = 23, ACTIONS(3), 1, anon_sym_PIPE_GT, ACTIONS(5), 1, @@ -2091,29 +2239,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(29), 1, anon_sym_BQUOTE, - STATE(19), 1, + STATE(23), 1, sym_record_field_selector, - STATE(44), 1, - sym_expression, - STATE(46), 1, + STATE(55), 1, sym_value, - STATE(121), 1, + STATE(67), 1, + 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, ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(32), 2, + STATE(38), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(111), 2, + STATE(110), 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, @@ -2123,7 +2272,7 @@ static const uint16_t ts_small_parse_table[] = { sym_parenthesized_expression, sym_tuple_projection, sym_function_call, - STATE(48), 9, + STATE(64), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2133,13 +2282,11 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [262] = 20, + [357] = 21, ACTIONS(5), 1, anon_sym_LPAREN, ACTIONS(7), 1, anon_sym_DOLLAR, - ACTIONS(9), 1, - sym_function_name, ACTIONS(13), 1, anon_sym_I, ACTIONS(15), 1, @@ -2152,38 +2299,105 @@ 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(19), 1, + STATE(23), 1, sym_record_field_selector, STATE(86), 1, sym_function_call, - STATE(90), 1, + STATE(100), 1, sym_value, - ACTIONS(19), 2, + ACTIONS(23), 2, + sym_named_record_field, + sym_positional_record_field, + ACTIONS(25), 2, + anon_sym_POUNDtrue, + anon_sym_POUNDfalse, + STATE(38), 2, + sym_double_quoted_literal, + sym_backtick_quoted_literal, + STATE(111), 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, + sym_time_literal, + STATE(108), 6, + sym_parenthesized_expression, + sym_tuple_projection, + sym__argument_value, + sym__nested_open_expression, + sym__nested_closed_expression, + sym_parameterized_expression, + 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, + [442] = 20, + ACTIONS(5), 1, + anon_sym_LPAREN, + ACTIONS(7), 1, + anon_sym_DOLLAR, + ACTIONS(9), 1, + sym_function_name, + ACTIONS(13), 1, + anon_sym_I, + ACTIONS(15), 1, + anon_sym_T, + ACTIONS(17), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(21), 1, + sym_original_input, + ACTIONS(27), 1, + anon_sym_DQUOTE, + ACTIONS(29), 1, + anon_sym_BQUOTE, + ACTIONS(37), 1, + anon_sym_LBRACE, + STATE(23), 1, + sym_record_field_selector, + STATE(86), 1, + sym_function_call, + STATE(100), 1, + sym_value, ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(32), 2, + STATE(38), 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, sym_time_literal, - STATE(108), 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, @@ -2193,7 +2407,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [342] = 22, + [523] = 22, ACTIONS(7), 1, anon_sym_DOLLAR, ACTIONS(11), 1, @@ -2208,43 +2422,44 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(39), 1, + ACTIONS(43), 1, anon_sym_RBRACE, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_COLON, - ACTIONS(43), 1, + ACTIONS(47), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(45), 1, + ACTIONS(49), 1, sym_unquoted_record_field_name, - STATE(19), 1, + STATE(23), 1, sym_record_field_selector, - STATE(72), 1, + STATE(84), 1, sym_value, - STATE(115), 1, - sym_record_field_name, - STATE(120), 1, + STATE(124), 1, sym_tuple_projection, - ACTIONS(19), 2, - sym_numeric_literal, - sym_variable, + STATE(131), 1, + sym_record_field_name, ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(87), 2, + STATE(79), 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, sym_time_literal, - STATE(93), 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, @@ -2254,7 +2469,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [425] = 21, + [607] = 22, ACTIONS(7), 1, anon_sym_DOLLAR, ACTIONS(9), 1, @@ -2273,29 +2488,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(47), 1, + ACTIONS(51), 1, anon_sym_LPAREN, - STATE(19), 1, + STATE(23), 1, sym_record_field_selector, - STATE(46), 1, - sym_value, - STATE(53), 1, + STATE(51), 1, sym__parenthesized_pipeline_expression, - ACTIONS(19), 2, - sym_numeric_literal, - sym_variable, + STATE(55), 1, + sym_value, + STATE(99), 1, + sym_record_access, ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(32), 2, + STATE(38), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(119), 2, + 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, @@ -2304,17 +2522,16 @@ static const uint16_t ts_small_parse_table[] = { sym__pipeline_expression, sym_tuple_projection, sym_function_call, - STATE(48), 9, + 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, - [506] = 20, + [691] = 20, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(13), 1, @@ -2327,41 +2544,42 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(39), 1, + ACTIONS(43), 1, anon_sym_RBRACE, - ACTIONS(41), 1, + ACTIONS(45), 1, anon_sym_COLON, - ACTIONS(43), 1, + ACTIONS(47), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(45), 1, + ACTIONS(49), 1, sym_unquoted_record_field_name, - STATE(19), 1, + STATE(23), 1, sym_record_field_selector, - STATE(91), 1, + STATE(105), 1, sym_value, - STATE(115), 1, + STATE(131), 1, sym_record_field_name, - ACTIONS(19), 2, - sym_numeric_literal, - sym_variable, ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(87), 2, + STATE(79), 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, sym_time_literal, - STATE(93), 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, @@ -2371,7 +2589,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [583] = 15, + [769] = 15, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(17), 1, @@ -2382,31 +2600,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(49), 1, + ACTIONS(53), 1, anon_sym_I, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_T, - STATE(19), 1, + STATE(23), 1, sym_record_field_selector, - STATE(96), 1, + STATE(129), 1, sym_value, - ACTIONS(19), 2, - sym_numeric_literal, - sym_variable, ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(32), 2, + STATE(38), 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, sym_time_literal, - STATE(48), 9, + STATE(64), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2416,7 +2635,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [643] = 15, + [830] = 15, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(17), 1, @@ -2427,31 +2646,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(49), 1, + ACTIONS(53), 1, anon_sym_I, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_T, - STATE(19), 1, + STATE(23), 1, sym_record_field_selector, - STATE(107), 1, + STATE(94), 1, sym_value, - ACTIONS(19), 2, - sym_numeric_literal, - sym_variable, ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(32), 2, + STATE(38), 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, sym_time_literal, - STATE(48), 9, + STATE(64), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2461,7 +2681,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [703] = 15, + [891] = 15, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(17), 1, @@ -2472,31 +2692,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(49), 1, + ACTIONS(53), 1, anon_sym_I, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_T, - STATE(19), 1, + STATE(23), 1, sym_record_field_selector, - STATE(117), 1, + STATE(116), 1, sym_value, - ACTIONS(19), 2, - sym_numeric_literal, - sym_variable, ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(32), 2, + STATE(38), 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, sym_time_literal, - STATE(48), 9, + STATE(64), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2506,7 +2727,7 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [763] = 15, + [952] = 15, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(17), 1, @@ -2517,31 +2738,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(49), 1, + ACTIONS(53), 1, anon_sym_I, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_T, - STATE(19), 1, + STATE(23), 1, sym_record_field_selector, - STATE(88), 1, + STATE(103), 1, sym_value, - ACTIONS(19), 2, - sym_numeric_literal, - sym_variable, ACTIONS(23), 2, sym_named_record_field, sym_positional_record_field, ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(32), 2, + STATE(38), 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, sym_time_literal, - STATE(48), 9, + STATE(64), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2551,121 +2773,148 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [823] = 9, + [1013] = 9, ACTIONS(27), 1, anon_sym_DQUOTE, ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(55), 1, + ACTIONS(59), 1, sym_numeric_literal, - STATE(116), 1, + STATE(125), 1, sym_interval_bound, ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - ACTIONS(53), 2, + ACTIONS(57), 2, anon_sym_PLUSINF, anon_sym_DASHINF, - STATE(32), 2, + STATE(38), 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(76), 4, sym_infinite_bound, sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [859] = 9, + [1049] = 9, ACTIONS(27), 1, anon_sym_DQUOTE, ACTIONS(29), 1, anon_sym_BQUOTE, - ACTIONS(55), 1, + ACTIONS(59), 1, sym_numeric_literal, - STATE(100), 1, + STATE(102), 1, sym_interval_bound, ACTIONS(25), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - ACTIONS(53), 2, + ACTIONS(57), 2, anon_sym_PLUSINF, anon_sym_DASHINF, - STATE(32), 2, + STATE(38), 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(76), 4, sym_infinite_bound, sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [895] = 8, - ACTIONS(3), 1, - anon_sym_PIPE_GT, - ACTIONS(5), 1, - anon_sym_LPAREN, + [1085] = 8, ACTIONS(7), 1, anon_sym_DOLLAR, - ACTIONS(57), 1, + ACTIONS(21), 1, + sym_original_input, + ACTIONS(51), 1, + anon_sym_LPAREN, + ACTIONS(61), 1, sym_function_name, - STATE(82), 1, - sym_expression, - STATE(83), 1, - sym_parenthesized_expression, - STATE(85), 1, - sym_parenthesized_open_expression, - STATE(70), 3, - sym_map_shorthand, + STATE(23), 1, + sym_record_field_selector, + STATE(51), 1, + sym__parenthesized_pipeline_expression, + ACTIONS(23), 2, + sym_named_record_field, + sym_positional_record_field, + STATE(80), 4, + sym__pipeline_expression, sym_tuple_projection, sym_function_call, - [922] = 7, - ACTIONS(3), 1, - anon_sym_PIPE_GT, - ACTIONS(5), 1, - anon_sym_LPAREN, + sym_record_access, + [1114] = 8, ACTIONS(7), 1, anon_sym_DOLLAR, - ACTIONS(57), 1, - sym_function_name, - STATE(44), 1, + ACTIONS(21), 1, + sym_original_input, + ACTIONS(51), 1, + anon_sym_LPAREN, + ACTIONS(61), 1, + sym_function_name, + STATE(23), 1, + sym_record_field_selector, + STATE(51), 1, + sym__parenthesized_pipeline_expression, + ACTIONS(23), 2, + sym_named_record_field, + sym_positional_record_field, + STATE(68), 4, + sym__pipeline_expression, + sym_tuple_projection, + sym_function_call, + sym_record_access, + [1143] = 8, + ACTIONS(7), 1, + anon_sym_DOLLAR, + ACTIONS(21), 1, + sym_original_input, + ACTIONS(51), 1, + anon_sym_LPAREN, + ACTIONS(61), 1, + sym_function_name, + STATE(23), 1, + sym_record_field_selector, + STATE(51), 1, + sym__parenthesized_pipeline_expression, + ACTIONS(23), 2, + sym_named_record_field, + sym_positional_record_field, + STATE(88), 4, + sym__pipeline_expression, + sym_tuple_projection, + sym_function_call, + sym_record_access, + [1172] = 8, + 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(81), 1, sym_expression, - STATE(69), 1, - sym_open_expression, - STATE(70), 4, - sym_map_shorthand, + STATE(82), 1, sym_parenthesized_expression, + STATE(83), 1, + sym_parenthesized_open_expression, + STATE(70), 3, + sym_map_shorthand, sym_tuple_projection, sym_function_call, - [947] = 7, - ACTIONS(27), 1, - anon_sym_DQUOTE, - ACTIONS(29), 1, - anon_sym_BQUOTE, - ACTIONS(59), 1, - anon_sym_DOT_DOT_DOT, - ACTIONS(61), 1, - sym_unquoted_record_field_name, - STATE(115), 1, - sym_record_field_name, - STATE(122), 2, - sym_double_quoted_literal, - sym_backtick_quoted_literal, - STATE(106), 3, - sym__record_entry, - sym_record_field, - sym_record_spread, - [972] = 5, + [1199] = 5, ACTIONS(65), 1, anon_sym_PIPE, - STATE(22), 1, + STATE(27), 1, aux_sym_record_access_repeat1, - STATE(29), 1, + STATE(34), 1, sym_immediate_record_field_selector, ACTIONS(67), 2, aux_sym_immediate_record_field_selector_token1, @@ -2676,28 +2925,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [993] = 5, + [1220] = 7, + ACTIONS(27), 1, + anon_sym_DQUOTE, + ACTIONS(29), 1, + anon_sym_BQUOTE, + ACTIONS(69), 1, + anon_sym_DOT_DOT_DOT, ACTIONS(71), 1, - anon_sym_PIPE, - STATE(18), 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(69), 5, - ts_builtin_sym_end, - anon_sym_PIPE_GT, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACE, - [1014] = 5, + sym_unquoted_record_field_name, + STATE(131), 1, + sym_record_field_name, + STATE(126), 2, + sym_double_quoted_literal, + sym_backtick_quoted_literal, + STATE(115), 3, + sym__record_entry, + sym_record_field, + sym_record_spread, + [1245] = 5, ACTIONS(75), 1, anon_sym_PIPE, - STATE(22), 1, + STATE(21), 1, aux_sym_record_access_repeat1, - STATE(29), 1, + STATE(34), 1, sym_immediate_record_field_selector, ACTIONS(67), 2, aux_sym_immediate_record_field_selector_token1, @@ -2708,12 +2959,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1035] = 5, + [1266] = 5, ACTIONS(79), 1, anon_sym_PIPE, - STATE(20), 1, + STATE(27), 1, aux_sym_record_access_repeat1, - STATE(29), 1, + STATE(34), 1, sym_immediate_record_field_selector, ACTIONS(67), 2, aux_sym_immediate_record_field_selector_token1, @@ -2724,14 +2975,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1056] = 5, + [1287] = 5, ACTIONS(83), 1, anon_sym_PIPE, - STATE(22), 1, + STATE(24), 1, aux_sym_record_access_repeat1, - STATE(29), 1, + STATE(34), 1, sym_immediate_record_field_selector, - ACTIONS(85), 2, + ACTIONS(67), 2, aux_sym_immediate_record_field_selector_token1, aux_sym_immediate_record_field_selector_token2, ACTIONS(81), 5, @@ -2740,37 +2991,41 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1077] = 7, + [1308] = 7, ACTIONS(3), 1, anon_sym_PIPE_GT, ACTIONS(5), 1, anon_sym_LPAREN, ACTIONS(7), 1, anon_sym_DOLLAR, - ACTIONS(57), 1, + ACTIONS(61), 1, sym_function_name, - STATE(44), 1, + STATE(67), 1, sym_expression, - STATE(123), 1, + STATE(127), 1, sym_open_expression, STATE(70), 4, sym_map_shorthand, sym_parenthesized_expression, sym_tuple_projection, sym_function_call, - [1102] = 2, - ACTIONS(90), 1, + [1333] = 5, + ACTIONS(87), 1, anon_sym_PIPE, - ACTIONS(88), 8, + STATE(27), 1, + aux_sym_record_access_repeat1, + STATE(34), 1, + sym_immediate_record_field_selector, + ACTIONS(89), 2, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + ACTIONS(85), 5, 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, - [1116] = 2, + [1354] = 2, ACTIONS(94), 1, anon_sym_PIPE, ACTIONS(92), 8, @@ -2782,7 +3037,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1130] = 2, + [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(96), 8, @@ -2794,7 +3065,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1144] = 2, + [1404] = 2, ACTIONS(102), 1, anon_sym_PIPE, ACTIONS(100), 8, @@ -2806,18 +3077,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, - [1158] = 2, + [1418] = 2, ACTIONS(106), 1, anon_sym_PIPE, - ACTIONS(104), 7, + ACTIONS(104), 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, - [1171] = 2, + [1432] = 2, ACTIONS(110), 1, anon_sym_PIPE, ACTIONS(108), 7, @@ -2828,7 +3100,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, - [1184] = 2, + [1445] = 2, ACTIONS(114), 1, anon_sym_PIPE, ACTIONS(112), 7, @@ -2839,7 +3111,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, + [1458] = 2, ACTIONS(118), 1, anon_sym_PIPE, ACTIONS(116), 7, @@ -2850,31 +3122,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, + [1471] = 4, + ACTIONS(120), 1, anon_sym_LPAREN, - STATE(61), 1, + STATE(53), 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, + [1488] = 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, + anon_sym_LBRACK, + anon_sym_RBRACK, + [1501] = 2, ACTIONS(132), 1, anon_sym_PIPE, ACTIONS(130), 7, @@ -2883,9 +3155,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, - [1253] = 2, + anon_sym_LBRACK, + anon_sym_RBRACK, + [1514] = 2, ACTIONS(136), 1, anon_sym_PIPE, ACTIONS(134), 7, @@ -2896,7 +3168,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, + [1527] = 2, ACTIONS(140), 1, anon_sym_PIPE, ACTIONS(138), 7, @@ -2907,223 +3179,174 @@ 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, - [1279] = 5, - ACTIONS(7), 1, - anon_sym_DOLLAR, - ACTIONS(47), 1, - anon_sym_LPAREN, - ACTIONS(57), 1, - sym_function_name, - STATE(53), 1, - sym__parenthesized_pipeline_expression, - STATE(80), 3, - sym__pipeline_expression, - sym_tuple_projection, - sym_function_call, - [1297] = 5, - ACTIONS(7), 1, - anon_sym_DOLLAR, - ACTIONS(47), 1, - anon_sym_LPAREN, - ACTIONS(57), 1, - sym_function_name, - STATE(53), 1, - sym__parenthesized_pipeline_expression, - STATE(52), 3, - sym__pipeline_expression, - sym_tuple_projection, - sym_function_call, - [1315] = 3, + [1540] = 2, ACTIONS(144), 1, anon_sym_PIPE, - ACTIONS(146), 1, - anon_sym_LPAREN, - ACTIONS(142), 5, + ACTIONS(142), 7, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1329] = 5, - ACTIONS(7), 1, - anon_sym_DOLLAR, - ACTIONS(47), 1, - anon_sym_LPAREN, - ACTIONS(57), 1, - sym_function_name, - STATE(53), 1, - sym__parenthesized_pipeline_expression, - STATE(81), 3, - sym__pipeline_expression, - sym_tuple_projection, - sym_function_call, - [1347] = 3, - ACTIONS(150), 1, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + [1553] = 3, + ACTIONS(148), 1, anon_sym_PIPE, - STATE(41), 1, - aux_sym_open_expression_repeat1, - ACTIONS(148), 5, + ACTIONS(150), 1, + anon_sym_LPAREN, + ACTIONS(146), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1361] = 2, - ACTIONS(155), 1, + [1567] = 2, + ACTIONS(154), 1, anon_sym_PIPE, - ACTIONS(153), 5, + ACTIONS(152), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1372] = 2, - ACTIONS(159), 1, + [1578] = 5, + ACTIONS(158), 1, anon_sym_PIPE, - ACTIONS(157), 5, - ts_builtin_sym_end, + ACTIONS(161), 1, anon_sym_PIPE_GT, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACE, - [1383] = 3, - ACTIONS(163), 1, - anon_sym_PIPE, - STATE(51), 1, - aux_sym_open_expression_repeat1, - ACTIONS(161), 4, + STATE(44), 1, + aux_sym_closed_expression_repeat1, + STATE(78), 1, + sym__pipeline_map_shorthand, + ACTIONS(156), 2, ts_builtin_sym_end, - anon_sym_PIPE_GT, anon_sym_RPAREN, - anon_sym_RBRACE, - [1396] = 2, - ACTIONS(167), 1, + [1595] = 2, + ACTIONS(166), 1, anon_sym_PIPE, - ACTIONS(165), 5, + ACTIONS(164), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1407] = 5, - ACTIONS(171), 1, + [1606] = 2, + ACTIONS(170), 1, anon_sym_PIPE, - ACTIONS(173), 1, - anon_sym_PIPE_GT, - STATE(57), 1, - aux_sym_closed_expression_repeat1, - STATE(75), 1, - sym__pipeline_map_shorthand, - ACTIONS(169), 2, - ts_builtin_sym_end, - anon_sym_RPAREN, - [1424] = 2, - ACTIONS(177), 1, - anon_sym_PIPE, - ACTIONS(175), 5, + ACTIONS(168), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1435] = 2, - ACTIONS(181), 1, + [1617] = 2, + ACTIONS(174), 1, anon_sym_PIPE, - ACTIONS(179), 5, + ACTIONS(172), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1446] = 2, - ACTIONS(185), 1, + [1628] = 3, + ACTIONS(178), 1, anon_sym_PIPE, - ACTIONS(183), 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, - [1457] = 2, - ACTIONS(189), 1, + [1641] = 2, + ACTIONS(183), 1, anon_sym_PIPE, - ACTIONS(187), 5, + ACTIONS(181), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1468] = 3, - ACTIONS(163), 1, + [1652] = 2, + ACTIONS(187), 1, anon_sym_PIPE, - STATE(41), 1, - aux_sym_open_expression_repeat1, - ACTIONS(191), 4, + ACTIONS(185), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, + anon_sym_COMMA, anon_sym_RBRACE, - [1481] = 2, - ACTIONS(193), 1, + [1663] = 2, + ACTIONS(191), 1, anon_sym_PIPE, - ACTIONS(148), 5, + ACTIONS(189), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1492] = 2, + [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(195), 5, + ACTIONS(199), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1503] = 2, - ACTIONS(201), 1, + [1702] = 2, + ACTIONS(205), 1, anon_sym_PIPE, - ACTIONS(199), 5, + ACTIONS(203), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1514] = 5, - ACTIONS(205), 1, + [1713] = 5, + ACTIONS(195), 1, anon_sym_PIPE, - ACTIONS(208), 1, + ACTIONS(197), 1, anon_sym_PIPE_GT, - STATE(55), 1, + STATE(52), 1, aux_sym_closed_expression_repeat1, - STATE(75), 1, + STATE(78), 1, sym__pipeline_map_shorthand, - ACTIONS(203), 2, + ACTIONS(207), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [1531] = 2, - ACTIONS(213), 1, + [1730] = 2, + ACTIONS(211), 1, anon_sym_PIPE, - ACTIONS(211), 5, + ACTIONS(209), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1542] = 5, - ACTIONS(171), 1, + [1741] = 2, + ACTIONS(215), 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(213), 5, ts_builtin_sym_end, + anon_sym_PIPE_GT, anon_sym_RPAREN, - [1559] = 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [1752] = 2, ACTIONS(219), 1, anon_sym_PIPE, ACTIONS(217), 5, @@ -3132,7 +3355,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1570] = 2, + [1763] = 2, ACTIONS(223), 1, anon_sym_PIPE, ACTIONS(221), 5, @@ -3141,7 +3364,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1581] = 2, + [1774] = 2, ACTIONS(227), 1, anon_sym_PIPE, ACTIONS(225), 5, @@ -3150,7 +3373,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1592] = 2, + [1785] = 2, ACTIONS(231), 1, anon_sym_PIPE, ACTIONS(229), 5, @@ -3159,7 +3382,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1603] = 2, + [1796] = 2, ACTIONS(235), 1, anon_sym_PIPE, ACTIONS(233), 5, @@ -3168,7 +3391,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1614] = 2, + [1807] = 2, ACTIONS(239), 1, anon_sym_PIPE, ACTIONS(237), 5, @@ -3177,7 +3400,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1625] = 2, + [1818] = 2, ACTIONS(243), 1, anon_sym_PIPE, ACTIONS(241), 5, @@ -3186,7 +3409,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1636] = 2, + [1829] = 2, ACTIONS(247), 1, anon_sym_PIPE, ACTIONS(245), 5, @@ -3195,7 +3418,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1647] = 2, + [1840] = 2, ACTIONS(251), 1, anon_sym_PIPE, ACTIONS(249), 5, @@ -3204,25 +3427,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1658] = 2, + [1851] = 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_PIPE_GT, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, - [1669] = 3, - ACTIONS(146), 1, - anon_sym_LPAREN, - ACTIONS(257), 1, - anon_sym_COLON_EQ, - ACTIONS(142), 3, + [1863] = 1, + ACTIONS(176), 5, + ts_builtin_sym_end, anon_sym_PIPE, anon_sym_RPAREN, anon_sym_COMMA, - [1681] = 2, + anon_sym_RBRACE, + [1871] = 3, + ACTIONS(255), 1, + anon_sym_PIPE, + STATE(48), 1, + aux_sym_open_expression_repeat1, + ACTIONS(257), 3, + ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_RBRACE, + [1883] = 2, ACTIONS(261), 1, anon_sym_PIPE, ACTIONS(259), 4, @@ -3230,7 +3460,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_RBRACE, - [1691] = 2, + [1893] = 2, ACTIONS(265), 1, anon_sym_PIPE, ACTIONS(263), 4, @@ -3238,669 +3468,691 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_RBRACE, - [1701] = 3, + [1903] = 3, + ACTIONS(150), 1, + anon_sym_LPAREN, ACTIONS(267), 1, + anon_sym_COLON_EQ, + ACTIONS(146), 3, anon_sym_PIPE, - STATE(41), 1, - aux_sym_open_expression_repeat1, - ACTIONS(269), 2, anon_sym_RPAREN, anon_sym_COMMA, - [1712] = 4, - ACTIONS(271), 1, - anon_sym_PIPE, - ACTIONS(273), 1, - anon_sym_COMMA, - ACTIONS(275), 1, - anon_sym_RBRACE, - STATE(92), 1, - aux_sym_array_literal_repeat1, - [1725] = 3, - ACTIONS(277), 1, + [1915] = 3, + ACTIONS(269), 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, + STATE(89), 1, aux_sym_double_quoted_literal_repeat1, - ACTIONS(284), 2, + ACTIONS(271), 2, sym_double_quoted_content, sym_escape_sequence, - [1747] = 2, - ACTIONS(288), 1, + [1926] = 3, + ACTIONS(255), 1, anon_sym_PIPE, - ACTIONS(286), 3, - ts_builtin_sym_end, - anon_sym_PIPE_GT, + STATE(48), 1, + aux_sym_open_expression_repeat1, + ACTIONS(273), 2, anon_sym_RPAREN, - [1756] = 3, - ACTIONS(292), 1, anon_sym_COMMA, - STATE(76), 1, - aux_sym_array_literal_repeat1, - ACTIONS(290), 2, - anon_sym_RPAREN, - anon_sym_RBRACE, - [1767] = 1, - ACTIONS(295), 4, + [1937] = 1, + ACTIONS(275), 4, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACK, anon_sym_RBRACK, - [1774] = 1, - ACTIONS(297), 4, + [1944] = 1, + ACTIONS(277), 4, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACK, anon_sym_RBRACK, - [1781] = 3, - ACTIONS(299), 1, + [1951] = 3, + ACTIONS(279), 1, anon_sym_DQUOTE, - STATE(73), 1, + STATE(77), 1, aux_sym_double_quoted_literal_repeat1, - ACTIONS(301), 2, + ACTIONS(281), 2, sym_double_quoted_content, sym_escape_sequence, - [1792] = 2, - ACTIONS(303), 1, + [1962] = 2, + ACTIONS(286), 1, anon_sym_PIPE, - ACTIONS(203), 3, + ACTIONS(284), 3, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [1801] = 3, - ACTIONS(267), 1, + [1971] = 2, + ACTIONS(288), 1, + anon_sym_COLON_EQ, + ACTIONS(130), 3, anon_sym_PIPE, - STATE(84), 1, - aux_sym_open_expression_repeat1, - ACTIONS(305), 2, - anon_sym_RPAREN, anon_sym_COMMA, - [1812] = 2, - ACTIONS(309), 1, + anon_sym_RBRACE, + [1980] = 2, + ACTIONS(290), 1, anon_sym_PIPE, - ACTIONS(307), 3, + ACTIONS(156), 3, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [1821] = 2, - ACTIONS(313), 1, + [1989] = 2, + ACTIONS(294), 1, anon_sym_PIPE, - ACTIONS(311), 3, + ACTIONS(292), 3, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [1830] = 3, - ACTIONS(267), 1, + [1998] = 2, + ACTIONS(298), 1, anon_sym_PIPE, - STATE(41), 1, - aux_sym_open_expression_repeat1, - ACTIONS(315), 2, + ACTIONS(296), 3, + ts_builtin_sym_end, + anon_sym_PIPE_GT, anon_sym_RPAREN, - anon_sym_COMMA, - [1841] = 2, - ACTIONS(309), 1, + [2007] = 2, + ACTIONS(294), 1, anon_sym_PIPE, - ACTIONS(307), 3, + ACTIONS(292), 3, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [1850] = 3, - ACTIONS(267), 1, + [2016] = 4, + ACTIONS(300), 1, anon_sym_PIPE, - STATE(71), 1, + ACTIONS(302), 1, + anon_sym_COMMA, + ACTIONS(304), 1, + anon_sym_RBRACE, + STATE(106), 1, + aux_sym_array_literal_repeat1, + [2029] = 3, + ACTIONS(255), 1, + anon_sym_PIPE, + STATE(48), 1, aux_sym_open_expression_repeat1, - ACTIONS(317), 2, + ACTIONS(306), 2, anon_sym_RPAREN, anon_sym_COMMA, - [1861] = 2, - ACTIONS(319), 1, - anon_sym_COLON_EQ, - ACTIONS(120), 3, + [2040] = 3, + ACTIONS(255), 1, anon_sym_PIPE, + STATE(85), 1, + aux_sym_open_expression_repeat1, + ACTIONS(308), 2, + anon_sym_RPAREN, anon_sym_COMMA, - anon_sym_RBRACE, - [1870] = 3, - ACTIONS(273), 1, + [2051] = 3, + ACTIONS(312), 1, anon_sym_COMMA, - ACTIONS(321), 1, - anon_sym_RPAREN, - STATE(89), 1, + STATE(87), 1, aux_sym_array_literal_repeat1, - [1880] = 3, - ACTIONS(273), 1, - anon_sym_COMMA, - ACTIONS(323), 1, + ACTIONS(310), 2, anon_sym_RPAREN, - STATE(76), 1, - aux_sym_array_literal_repeat1, - [1890] = 2, - ACTIONS(325), 1, + anon_sym_RBRACE, + [2062] = 3, + ACTIONS(255), 1, anon_sym_PIPE, - ACTIONS(327), 2, + STATE(74), 1, + aux_sym_open_expression_repeat1, + ACTIONS(315), 2, anon_sym_RPAREN, anon_sym_COMMA, - [1898] = 3, - ACTIONS(273), 1, + [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(275), 1, + ACTIONS(323), 1, anon_sym_RBRACE, - STATE(92), 1, - aux_sym_array_literal_repeat1, - [1908] = 3, - ACTIONS(273), 1, + STATE(96), 1, + aux_sym_record_literal_repeat1, + [2094] = 3, + ACTIONS(302), 1, anon_sym_COMMA, - ACTIONS(329), 1, - anon_sym_RBRACE, - STATE(76), 1, + ACTIONS(325), 1, + anon_sym_RPAREN, + STATE(87), 1, aux_sym_array_literal_repeat1, - [1918] = 3, - ACTIONS(331), 1, - anon_sym_COMMA, - ACTIONS(333), 1, - anon_sym_RBRACE, - STATE(94), 1, - aux_sym_record_literal_repeat1, - [1928] = 3, - ACTIONS(331), 1, + [2104] = 3, + ACTIONS(321), 1, anon_sym_COMMA, - ACTIONS(335), 1, + ACTIONS(327), 1, anon_sym_RBRACE, - STATE(97), 1, + STATE(90), 1, aux_sym_record_literal_repeat1, - [1938] = 3, - ACTIONS(337), 1, + [2114] = 3, + ACTIONS(329), 1, anon_sym_RPAREN, - ACTIONS(339), 1, + ACTIONS(331), 1, anon_sym_COMMA, - STATE(99), 1, + STATE(101), 1, aux_sym_argument_list_repeat1, - [1948] = 1, - ACTIONS(290), 3, + [2124] = 1, + ACTIONS(310), 3, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1954] = 3, - ACTIONS(341), 1, + [2130] = 2, + ACTIONS(209), 1, + anon_sym_PIPE, + ACTIONS(333), 2, anon_sym_COMMA, - ACTIONS(344), 1, anon_sym_RBRACE, - STATE(97), 1, + [2138] = 3, + ACTIONS(336), 1, + anon_sym_COMMA, + ACTIONS(339), 1, + anon_sym_RBRACE, + STATE(96), 1, aux_sym_record_literal_repeat1, - [1964] = 3, - ACTIONS(267), 1, + [2148] = 3, + ACTIONS(341), 1, + anon_sym_RPAREN, + ACTIONS(343), 1, + anon_sym_COMMA, + STATE(93), 1, + aux_sym_argument_list_repeat1, + [2158] = 3, + ACTIONS(255), 1, anon_sym_PIPE, - ACTIONS(346), 1, + ACTIONS(345), 1, anon_sym_RPAREN, - STATE(101), 1, + STATE(104), 1, aux_sym_open_expression_repeat1, - [1974] = 3, - ACTIONS(348), 1, + [2168] = 3, + ACTIONS(241), 1, + anon_sym_PIPE_GT, + ACTIONS(347), 1, + anon_sym_PIPE, + ACTIONS(349), 1, + anon_sym_RPAREN, + [2178] = 2, + ACTIONS(351), 1, + anon_sym_PIPE, + ACTIONS(353), 2, anon_sym_RPAREN, - ACTIONS(350), 1, anon_sym_COMMA, - STATE(99), 1, + [2186] = 3, + ACTIONS(355), 1, + anon_sym_RPAREN, + ACTIONS(357), 1, + anon_sym_COMMA, + STATE(101), 1, aux_sym_argument_list_repeat1, - [1984] = 1, - ACTIONS(353), 3, + [2196] = 1, + ACTIONS(360), 3, anon_sym_RPAREN, anon_sym_LBRACK, anon_sym_RBRACK, - [1990] = 3, - ACTIONS(267), 1, - anon_sym_PIPE, - ACTIONS(355), 1, + [2202] = 3, + ACTIONS(302), 1, + anon_sym_COMMA, + ACTIONS(362), 1, anon_sym_RPAREN, - STATE(41), 1, - aux_sym_open_expression_repeat1, - [2000] = 3, - ACTIONS(357), 1, - aux_sym_tuple_projection_token1, - ACTIONS(359), 1, - aux_sym_original_record_field_selector_token1, - STATE(21), 1, - sym_original_record_field_selector, - [2010] = 2, - ACTIONS(187), 1, + STATE(91), 1, + aux_sym_array_literal_repeat1, + [2212] = 3, + ACTIONS(255), 1, anon_sym_PIPE, - ACTIONS(361), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [2018] = 3, - ACTIONS(339), 1, - anon_sym_COMMA, ACTIONS(364), 1, anon_sym_RPAREN, - STATE(95), 1, - aux_sym_argument_list_repeat1, - [2028] = 1, - ACTIONS(366), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [2033] = 1, - ACTIONS(344), 2, + STATE(48), 1, + aux_sym_open_expression_repeat1, + [2222] = 3, + ACTIONS(302), 1, anon_sym_COMMA, + ACTIONS(304), 1, anon_sym_RBRACE, - [2038] = 1, - ACTIONS(368), 2, + STATE(106), 1, + aux_sym_array_literal_repeat1, + [2232] = 3, + ACTIONS(302), 1, anon_sym_COMMA, + ACTIONS(366), 1, anon_sym_RBRACE, - [2043] = 1, - ACTIONS(370), 2, + 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, - [2048] = 1, - ACTIONS(348), 2, + [2257] = 2, + ACTIONS(374), 1, + anon_sym_BQUOTE, + ACTIONS(376), 1, + sym_backtick_quoted_content, + [2264] = 1, + ACTIONS(378), 2, + ts_builtin_sym_end, anon_sym_RPAREN, - anon_sym_COMMA, - [2053] = 1, - ACTIONS(372), 2, + [2269] = 1, + ACTIONS(355), 2, anon_sym_RPAREN, anon_sym_COMMA, - [2058] = 1, - ACTIONS(374), 2, - ts_builtin_sym_end, + [2274] = 1, + ACTIONS(380), 2, anon_sym_RPAREN, - [2063] = 2, - ACTIONS(376), 1, - anon_sym_BQUOTE, - ACTIONS(378), 1, - sym_backtick_quoted_content, - [2070] = 2, - ACTIONS(380), 1, - aux_sym_tuple_projection_token1, + anon_sym_COMMA, + [2279] = 2, ACTIONS(382), 1, + aux_sym_tuple_projection_token1, + ACTIONS(384), 1, anon_sym_CARET, - [2077] = 1, - ACTIONS(384), 2, + [2286] = 1, + ACTIONS(386), 2, anon_sym_COMMA, anon_sym_RBRACE, - [2082] = 1, - ACTIONS(386), 1, - anon_sym_COLON_EQ, - [2086] = 1, - ACTIONS(388), 1, + [2291] = 1, + ACTIONS(339), 2, anon_sym_COMMA, - [2090] = 1, - ACTIONS(390), 1, + anon_sym_RBRACE, + [2296] = 1, + ACTIONS(388), 2, anon_sym_COMMA, - [2094] = 1, + anon_sym_RBRACE, + [2301] = 1, + ACTIONS(390), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [2306] = 1, ACTIONS(392), 1, - ts_builtin_sym_end, - [2098] = 1, - ACTIONS(394), 1, anon_sym_RPAREN, - [2102] = 1, - ACTIONS(271), 1, - anon_sym_PIPE, - [2106] = 1, + [2310] = 1, + ACTIONS(394), 1, + anon_sym_RBRACE, + [2314] = 1, ACTIONS(396), 1, - anon_sym_RPAREN, - [2110] = 1, - ACTIONS(319), 1, - anon_sym_COLON_EQ, - [2114] = 1, + ts_builtin_sym_end, + [2318] = 1, ACTIONS(398), 1, - anon_sym_RBRACE, - [2118] = 1, + ts_builtin_sym_end, + [2322] = 1, ACTIONS(400), 1, - anon_sym_LPAREN, - [2122] = 1, + anon_sym_RPAREN, + [2326] = 1, ACTIONS(402), 1, aux_sym_tuple_projection_token1, - [2126] = 1, + [2330] = 1, + ACTIONS(300), 1, + anon_sym_PIPE, + [2334] = 1, ACTIONS(404), 1, - ts_builtin_sym_end, - [2130] = 1, + anon_sym_COMMA, + [2338] = 1, + ACTIONS(288), 1, + anon_sym_COLON_EQ, + [2342] = 1, ACTIONS(406), 1, anon_sym_RBRACE, - [2134] = 1, + [2346] = 1, ACTIONS(408), 1, - anon_sym_BQUOTE, - [2138] = 1, + anon_sym_LPAREN, + [2350] = 1, ACTIONS(410), 1, + anon_sym_COMMA, + [2354] = 1, + ACTIONS(412), 1, anon_sym_RPAREN, + [2358] = 1, + ACTIONS(414), 1, + anon_sym_COLON_EQ, + [2362] = 1, + ACTIONS(416), 1, + anon_sym_BQUOTE, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 90, - [SMALL_STATE(4)] = 174, - [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)] = 947, - [SMALL_STATE(18)] = 972, - [SMALL_STATE(19)] = 993, - [SMALL_STATE(20)] = 1014, - [SMALL_STATE(21)] = 1035, - [SMALL_STATE(22)] = 1056, - [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(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(16), - [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [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(39), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), - [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [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), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), - [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [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), - [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), + [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(30), - [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), - [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), - [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), + [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_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), - [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), + [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 = 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/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..fd8ce5d 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 ================== @@ -82,6 +98,33 @@ record(customer-name := .name) field: (record_field_selector (named_record_field))))))))) +================== +Function calls accept trailing commas +================== + +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 + (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 ================== @@ -163,6 +206,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 ================== 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 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 diff --git a/test/corpus/references.txt b/test/corpus/references.txt index ac760d6..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 ================== @@ -80,6 +101,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 ==================