diff --git a/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs b/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs index df1a256..48b66b9 100644 --- a/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs +++ b/bindings/csharp/Expressif.Syntax.Tests/SyntaxBindingTests.cs @@ -610,6 +610,132 @@ public void ParenthesizedPipelineIsLossless() }); } + [Test] + public void UnaryShorthandPreservesOperatorOperandAndAuthoredSource() + { + const string source = " ! less-than(5) "; + var root = (OpenExpressionSyntax)ExpressifSyntax.Parse(source); + var unary = (UnaryExpressionSyntax)root.Pipeline.Single(); + + Assert.Multiple(() => + { + Assert.That(unary.Kind, Is.EqualTo(SyntaxKind.UnaryExpression)); + Assert.That(unary.Operator.Kind, Is.EqualTo(SyntaxKind.UnaryOperator)); + Assert.That(unary.Operator.Text, Is.EqualTo("!")); + Assert.That(unary.Operator.Span, Is.EqualTo(new SourceSpan(1, 1))); + Assert.That(unary.Operand, Is.TypeOf() + .With.Property(nameof(FunctionCallSyntax.Name)).EqualTo("less-than")); + Assert.That(unary.Children, Is.EqualTo(new SyntaxNode[] { unary.Operator, unary.Operand })); + Assert.That(unary.Text, Is.EqualTo("! less-than(5)")); + Assert.That(unary.Span, Is.EqualTo(new SourceSpan(1, 14))); + }); + } + + [Test] + public void RepeatedUnaryShorthandRemainsNestedSyntax() + { + var outer = (UnaryExpressionSyntax)((OpenExpressionSyntax)ExpressifSyntax.Parse("!!is-null")).Pipeline.Single(); + var inner = (UnaryExpressionSyntax)outer.Operand; + + Assert.Multiple(() => + { + Assert.That(inner.Operand, Is.TypeOf() + .With.Property(nameof(FunctionCallSyntax.Name)).EqualTo("is-null")); + Assert.That(outer.Text, Is.EqualTo("!!is-null")); + Assert.That(inner.Text, Is.EqualTo("!is-null")); + }); + } + + [TestCase("|AND")] + [TestCase("|OR")] + [TestCase("|XOR")] + public void BinaryShorthandPreservesOperatorAndOperands(string operatorText) + { + var source = $"foo {operatorText} bar"; + var binary = (BinaryExpressionSyntax)((OpenExpressionSyntax)ExpressifSyntax.Parse(source)).Pipeline.Single(); + + Assert.Multiple(() => + { + Assert.That(binary.Kind, Is.EqualTo(SyntaxKind.BinaryExpression)); + Assert.That(binary.Left, Is.TypeOf() + .With.Property(nameof(FunctionCallSyntax.Name)).EqualTo("foo")); + Assert.That(binary.Operator.Kind, Is.EqualTo(SyntaxKind.BinaryOperator)); + Assert.That(binary.Operator.Text, Is.EqualTo(operatorText)); + Assert.That(binary.Right, Is.TypeOf() + .With.Property(nameof(FunctionCallSyntax.Name)).EqualTo("bar")); + Assert.That(binary.Children, Is.EqualTo(new SyntaxNode[] { binary.Left, binary.Operator, binary.Right })); + Assert.That(binary.Text, Is.EqualTo(source)); + Assert.That(binary.Span, Is.EqualTo(new SourceSpan(0, source.Length))); + }); + } + + [Test] + public void BinaryShorthandChainsLeftAssociatively() + { + var outer = (BinaryExpressionSyntax)((OpenExpressionSyntax)ExpressifSyntax.Parse("a |AND b |OR c")).Pipeline.Single(); + var left = (BinaryExpressionSyntax)outer.Left; + + Assert.Multiple(() => + { + Assert.That(left.Operator.Text, Is.EqualTo("|AND")); + Assert.That(outer.Operator.Text, Is.EqualTo("|OR")); + Assert.That(((FunctionCallSyntax)outer.Right).Name, Is.EqualTo("c")); + }); + } + + [Test] + public void BinaryShorthandAcceptsGenericExpressionOperands() + { + var binary = (BinaryExpressionSyntax)((OpenExpressionSyntax)ExpressifSyntax.Parse("$0 |AND .active")).Pipeline.Single(); + + Assert.Multiple(() => + { + Assert.That(binary.Left, Is.TypeOf()); + Assert.That(binary.Right, Is.TypeOf()); + }); + } + + [Test] + public void UnaryShorthandBindsMoreTightlyThanBinaryShorthand() + { + var binary = (BinaryExpressionSyntax)((OpenExpressionSyntax)ExpressifSyntax.Parse("!foo |AND bar")).Pipeline.Single(); + + Assert.That(binary.Left, Is.TypeOf()); + } + + [Test] + public void ParenthesesGroupShorthandWithoutLoweringItToFunctions() + { + var outer = (BinaryExpressionSyntax)((OpenExpressionSyntax)ExpressifSyntax.Parse("(a |OR b) |AND c")).Pipeline.Single(); + var parenthesized = (ParenthesizedExpressionSyntax)outer.Left; + var innerRoot = (OpenExpressionSyntax)parenthesized.Expression; + var inner = (BinaryExpressionSyntax)innerRoot.Pipeline.Single(); + + Assert.Multiple(() => + { + Assert.That(parenthesized.Text, Is.EqualTo("(a |OR b)")); + Assert.That(inner.Operator.Text, Is.EqualTo("|OR")); + Assert.That(outer.Operator.Text, Is.EqualTo("|AND")); + Assert.That(innerRoot.Pipeline, Has.Count.EqualTo(1)); + }); + } + + [Test] + public void ShorthandComposesAsAnArgumentAndWithAnOrdinaryPipeline() + { + var argumentRoot = (OpenExpressionSyntax)ExpressifSyntax.Parse("foo(!less-than(5))"); + var pipelineRoot = (OpenExpressionSyntax)ExpressifSyntax.Parse("foo |AND bar | some-function"); + + Assert.Multiple(() => + { + var foo = (FunctionCallSyntax)argumentRoot.Pipeline.Single(); + Assert.That(foo.Arguments.Single().Value, Is.TypeOf()); + Assert.That(pipelineRoot.Pipeline[0], Is.TypeOf()); + Assert.That(pipelineRoot.Pipeline[1], Is.TypeOf() + .With.Property(nameof(FunctionCallSyntax.Name)).EqualTo("some-function")); + }); + } + [Test] public void ParenthesizedPipelineComposesAsAnArgumentAndPipelineOperation() { @@ -884,6 +1010,11 @@ public void BareDateLookingIntervalBoundsAreRejected() [TestCase("foo(name :=)", false)] [TestCase("foo(, 5)", false)] [TestCase("foo(5,,6)", false)] + [TestCase("!", false)] + [TestCase("foo |AND", true)] + [TestCase("|AND foo", false)] + [TestCase("foo |BAD bar", false)] + [TestCase("(foo |AND bar", 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 181efe9..5a60e4d 100644 --- a/bindings/csharp/Expressif.Syntax/ExpressifSyntax.cs +++ b/bindings/csharp/Expressif.Syntax/ExpressifSyntax.cs @@ -116,6 +116,30 @@ private static MapShorthandSyntax BindMapShorthand(TsNode node) return new(Span(node), node.Text, BindOpen(expression)); } + private static UnaryExpressionSyntax BindUnaryExpression(TsNode node) + { + var @operator = node.GetChildForField("operator") ?? throw Unknown(node); + var operand = node.GetChildForField("operand") ?? throw Unknown(node); + return new( + Span(node), + node.Text, + new UnaryOperatorSyntax(Span(@operator), @operator.Text), + BindExpression(operand)); + } + + private static BinaryExpressionSyntax BindBinaryExpression(TsNode node) + { + var left = node.GetChildForField("left") ?? throw Unknown(node); + var @operator = node.GetChildForField("operator") ?? throw Unknown(node); + var right = node.GetChildForField("right") ?? throw Unknown(node); + return new( + Span(node), + node.Text, + BindExpression(left), + new BinaryOperatorSyntax(Span(@operator), @operator.Text), + BindExpression(right)); + } + private static RootExpressionSyntax BindRootExpression(TsNode node) { if (node.Type == "root_expression") @@ -132,12 +156,14 @@ private static RootExpressionSyntax BindRootExpression(TsNode node) private static ExpressionSyntax BindExpression(TsNode node) => node.Type switch { "closed_expression" => BindClosed(node), + "binary_expression" => BindBinaryExpression(node), "function_call" => BindFunctionCall(node), "map_shorthand" => BindMapShorthand(node), "open_expression" => BindOpen(node), "parameterized_expression" => BindParameterizedExpression(node), "parenthesized_expression" => BindParenthesizedExpression(node), "tuple_projection" => BindTupleProjection(node), + "unary_expression" => BindUnaryExpression(node), _ => BindValue(node), }; diff --git a/bindings/csharp/Expressif.Syntax/SyntaxNodes.cs b/bindings/csharp/Expressif.Syntax/SyntaxNodes.cs index 653477d..9c20197 100644 --- a/bindings/csharp/Expressif.Syntax/SyntaxNodes.cs +++ b/bindings/csharp/Expressif.Syntax/SyntaxNodes.cs @@ -30,6 +30,10 @@ public enum SyntaxKind ParenthesizedExpression, IntervalLiteral, MapShorthand, + UnaryExpression, + UnaryOperator, + BinaryExpression, + BinaryOperator, } public readonly record struct SourceSpan(int Start, int Length) @@ -140,6 +144,55 @@ internal MapShorthandSyntax(SourceSpan span, string text, OpenExpressionSyntax e public OpenExpressionSyntax Expression { get; } } +public sealed class UnaryOperatorSyntax : SyntaxNode +{ + internal UnaryOperatorSyntax(SourceSpan span, string text) + : base(SyntaxKind.UnaryOperator, span, text) { } +} + +public sealed class UnaryExpressionSyntax : ExpressionSyntax +{ + internal UnaryExpressionSyntax( + SourceSpan span, + string text, + UnaryOperatorSyntax @operator, + ExpressionSyntax operand) + : base(SyntaxKind.UnaryExpression, span, text, [@operator, operand]) + { + Operator = @operator; + Operand = operand; + } + + public UnaryOperatorSyntax Operator { get; } + public ExpressionSyntax Operand { get; } +} + +public sealed class BinaryOperatorSyntax : SyntaxNode +{ + internal BinaryOperatorSyntax(SourceSpan span, string text) + : base(SyntaxKind.BinaryOperator, span, text) { } +} + +public sealed class BinaryExpressionSyntax : ExpressionSyntax +{ + internal BinaryExpressionSyntax( + SourceSpan span, + string text, + ExpressionSyntax left, + BinaryOperatorSyntax @operator, + ExpressionSyntax right) + : base(SyntaxKind.BinaryExpression, span, text, [left, @operator, right]) + { + Left = left; + Operator = @operator; + Right = right; + } + + public ExpressionSyntax Left { get; } + public BinaryOperatorSyntax Operator { get; } + public ExpressionSyntax Right { get; } +} + public abstract class ArgumentSyntax : SyntaxNode { protected ArgumentSyntax(SyntaxKind kind, SourceSpan span, string text, IEnumerable children) diff --git a/grammar.js b/grammar.js index 3670995..c2a2368 100644 --- a/grammar.js +++ b/grammar.js @@ -7,6 +7,13 @@ /// // @ts-check +const ordinaryExpression = ($) => choice( + $.function_call, + $.map_shorthand, + $.tuple_projection, + $.parenthesized_expression, +); + export default grammar({ name: "expressif", @@ -22,6 +29,7 @@ export default grammar({ conflicts: ($) => [ [$.record_spread, $.incoming_value], [$.expression, $._pipeline_expression], + [$.expression, $._shorthand_operand], [$.root_expression, $._parenthesized_pipeline_expression], ], @@ -66,10 +74,30 @@ export default grammar({ ), expression: ($) => choice( - $.function_call, - $.map_shorthand, - $.tuple_projection, - $.parenthesized_expression, + $.binary_expression, + $.unary_expression, + ordinaryExpression($), + ), + + binary_expression: ($) => prec.left(1, seq( + field("left", choice($.binary_expression, $._shorthand_operand)), + field("operator", $.binary_operator), + field("right", $._shorthand_operand), + )), + + binary_operator: (_) => choice("|AND", "|OR", "|XOR"), + + unary_expression: ($) => prec.right(2, seq( + field("operator", $.unary_operator), + field("operand", choice($.unary_expression, ordinaryExpression($), $.value)), + )), + + unary_operator: (_) => "!", + + _shorthand_operand: ($) => choice( + $.unary_expression, + ordinaryExpression($), + $.value, ), _pipeline_expression: ($) => choice( @@ -149,6 +177,8 @@ export default grammar({ ), _argument_value: ($) => choice( + $.binary_expression, + $.unary_expression, alias($._nested_closed_expression, $.closed_expression), $.value, $.tuple_projection, diff --git a/src/grammar.json b/src/grammar.json index d0efb28..8c6c354 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -167,19 +167,184 @@ "members": [ { "type": "SYMBOL", - "name": "function_call" + "name": "binary_expression" }, { "type": "SYMBOL", - "name": "map_shorthand" + "name": "unary_expression" }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "function_call" + }, + { + "type": "SYMBOL", + "name": "map_shorthand" + }, + { + "type": "SYMBOL", + "name": "tuple_projection" + }, + { + "type": "SYMBOL", + "name": "parenthesized_expression" + } + ] + } + ] + }, + "binary_expression": { + "type": "PREC_LEFT", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "binary_expression" + }, + { + "type": "SYMBOL", + "name": "_shorthand_operand" + } + ] + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "SYMBOL", + "name": "binary_operator" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_shorthand_operand" + } + } + ] + } + }, + "binary_operator": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "|AND" + }, + { + "type": "STRING", + "value": "|OR" + }, + { + "type": "STRING", + "value": "|XOR" + } + ] + }, + "unary_expression": { + "type": "PREC_RIGHT", + "value": 2, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "SYMBOL", + "name": "unary_operator" + } + }, + { + "type": "FIELD", + "name": "operand", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "unary_expression" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "function_call" + }, + { + "type": "SYMBOL", + "name": "map_shorthand" + }, + { + "type": "SYMBOL", + "name": "tuple_projection" + }, + { + "type": "SYMBOL", + "name": "parenthesized_expression" + } + ] + }, + { + "type": "SYMBOL", + "name": "value" + } + ] + } + } + ] + } + }, + "unary_operator": { + "type": "STRING", + "value": "!" + }, + "_shorthand_operand": { + "type": "CHOICE", + "members": [ { "type": "SYMBOL", - "name": "tuple_projection" + "name": "unary_expression" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "function_call" + }, + { + "type": "SYMBOL", + "name": "map_shorthand" + }, + { + "type": "SYMBOL", + "name": "tuple_projection" + }, + { + "type": "SYMBOL", + "name": "parenthesized_expression" + } + ] }, { "type": "SYMBOL", - "name": "parenthesized_expression" + "name": "value" } ] }, @@ -593,6 +758,14 @@ "_argument_value": { "type": "CHOICE", "members": [ + { + "type": "SYMBOL", + "name": "binary_expression" + }, + { + "type": "SYMBOL", + "name": "unary_expression" + }, { "type": "ALIAS", "content": { @@ -1610,6 +1783,10 @@ "expression", "_pipeline_expression" ], + [ + "expression", + "_shorthand_operand" + ], [ "root_expression", "_parenthesized_pipeline_expression" diff --git a/src/node-types.json b/src/node-types.json index 416b2df..7d8a361 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -3,6 +3,10 @@ "type": "expression", "named": true, "subtypes": [ + { + "type": "binary_expression", + "named": true + }, { "type": "function_call", "named": true @@ -18,6 +22,10 @@ { "type": "tuple_projection", "named": true + }, + { + "type": "unary_expression", + "named": true } ] }, @@ -160,6 +168,91 @@ ] } }, + { + "type": "binary_expression", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "binary_expression", + "named": true + }, + { + "type": "function_call", + "named": true + }, + { + "type": "map_shorthand", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "tuple_projection", + "named": true + }, + { + "type": "unary_expression", + "named": true + }, + { + "type": "value", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "binary_operator", + "named": true + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "function_call", + "named": true + }, + { + "type": "map_shorthand", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "tuple_projection", + "named": true + }, + { + "type": "unary_expression", + "named": true + }, + { + "type": "value", + "named": true + } + ] + } + } + }, + { + "type": "binary_operator", + "named": true, + "fields": {} + }, { "type": "boolean_literal", "named": true, @@ -412,6 +505,10 @@ "multiple": false, "required": true, "types": [ + { + "type": "binary_expression", + "named": true + }, { "type": "closed_expression", "named": true @@ -432,6 +529,10 @@ "type": "tuple_projection", "named": true }, + { + "type": "unary_expression", + "named": true + }, { "type": "value", "named": true @@ -540,6 +641,10 @@ "multiple": false, "required": true, "types": [ + { + "type": "binary_expression", + "named": true + }, { "type": "closed_expression", "named": true @@ -560,6 +665,10 @@ "type": "tuple_projection", "named": true }, + { + "type": "unary_expression", + "named": true + }, { "type": "value", "named": true @@ -773,6 +882,52 @@ } } }, + { + "type": "unary_expression", + "named": true, + "fields": { + "operand": { + "multiple": false, + "required": true, + "types": [ + { + "type": "function_call", + "named": true + }, + { + "type": "map_shorthand", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "tuple_projection", + "named": true + }, + { + "type": "unary_expression", + "named": true + }, + { + "type": "value", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "unary_operator", + "named": true + } + ] + } + } + }, { "type": "\"", "named": false @@ -937,6 +1092,10 @@ "type": "tuple_index", "named": true }, + { + "type": "unary_operator", + "named": true + }, { "type": "unquoted_record_field_name", "named": true @@ -957,6 +1116,18 @@ "type": "|>", "named": false }, + { + "type": "|AND", + "named": false + }, + { + "type": "|OR", + "named": false + }, + { + "type": "|XOR", + "named": false + }, { "type": "}", "named": false diff --git a/src/parser.c b/src/parser.c index 5a0f405..da89961 100644 --- a/src/parser.c +++ b/src/parser.c @@ -7,130 +7,142 @@ #endif #define LANGUAGE_VERSION 15 -#define STATE_COUNT 152 +#define STATE_COUNT 229 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 104 +#define SYMBOL_COUNT 112 #define ALIAS_COUNT 2 -#define TOKEN_COUNT 50 +#define TOKEN_COUNT 54 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 12 +#define FIELD_COUNT 16 #define MAX_ALIAS_SEQUENCE_LENGTH 7 #define MAX_RESERVED_WORD_SET_SIZE 0 -#define PRODUCTION_ID_COUNT 17 +#define PRODUCTION_ID_COUNT 19 #define SUPERTYPE_COUNT 4 enum ts_symbol_identifiers { anon_sym_PIPE = 1, anon_sym_PIPE_GT = 2, - anon_sym_LPAREN = 3, - anon_sym_RPAREN = 4, - anon_sym_DOLLAR = 5, - aux_sym_tuple_projection_token1 = 6, - anon_sym_CARET = 7, - sym_function_name = 8, - anon_sym_COMMA = 9, - anon_sym_COLON_EQ = 10, - anon_sym_LBRACE = 11, - anon_sym_RBRACE = 12, - anon_sym_I = 13, - anon_sym_LBRACK = 14, - anon_sym_RBRACK = 15, - anon_sym_PLUSINF = 16, - anon_sym_DASHINF = 17, - anon_sym_LPAREN0_PLUS_RPAREN = 18, - anon_sym_LPAREN_PLUS_RPAREN = 19, - anon_sym_LPAREN0_DASH_RPAREN = 20, - anon_sym_LPAREN_DASH_RPAREN = 21, - anon_sym_LPARENpositive_RPAREN = 22, - anon_sym_LPARENnegative_RPAREN = 23, - anon_sym_LPARENabsolutely_DASHpositive_RPAREN = 24, - anon_sym_LPARENabsolutely_DASHnegative_RPAREN = 25, - aux_sym_interval_shorthand_token1 = 26, - anon_sym_T = 27, - anon_sym_COLON = 28, - anon_sym_DOT_DOT_DOT = 29, - sym_unquoted_record_field_name = 30, - sym_numeric_literal = 31, - sym_variable = 32, - sym_original_input = 33, - aux_sym_immediate_record_field_selector_token1 = 34, - aux_sym_immediate_record_field_selector_token2 = 35, - aux_sym_original_record_field_selector_token1 = 36, - sym_named_record_field = 37, - sym_positional_record_field = 38, - anon_sym_POUNDtrue = 39, - anon_sym_POUNDfalse = 40, - sym_null_literal = 41, - anon_sym_DQUOTE = 42, - sym_double_quoted_content = 43, - sym_escape_sequence = 44, - anon_sym_BQUOTE = 45, - sym_backtick_quoted_content = 46, - sym_date_literal = 47, - sym_date_time_literal = 48, - sym_time_literal = 49, - sym_source_file = 50, - sym_root_expression = 51, - sym_open_expression = 52, - sym_closed_expression = 53, - sym_map_shorthand = 54, - sym__pipeline_map_shorthand = 55, - sym_expression = 56, - sym__pipeline_expression = 57, - sym__parenthesized_pipeline_expression = 58, - sym__pipeline_open_expression = 59, - sym_parenthesized_expression = 60, - sym_parenthesized_open_expression = 61, - sym_tuple_projection = 62, - sym_function_call = 63, - sym_argument_list = 64, - sym__trailing_argument_list = 65, - sym_positional_argument = 66, - sym_named_argument = 67, - sym__argument_value = 68, - sym__nested_open_expression = 69, - sym__nested_closed_expression = 70, - sym_parameterized_expression = 71, - sym_value = 72, - sym_interval_literal = 73, - sym_interval_bound = 74, - sym_infinite_bound = 75, - sym_interval_shorthand = 76, - sym_array_literal = 77, - sym__array_element = 78, - sym__array_closed_expression = 79, - sym_tuple_literal = 80, - sym_record_literal = 81, - sym__record_entry = 82, - sym_record_field = 83, - sym_record_spread = 84, - sym_incoming_value = 85, - sym_record_field_name = 86, - sym_record_access = 87, - sym_record_field_selector = 88, - sym_immediate_record_field_selector = 89, - sym_original_record_field_selector = 90, - sym_boolean_literal = 91, - sym_quoted_literal = 92, - sym_double_quoted_literal = 93, - sym_backtick_quoted_literal = 94, - sym_temporal_literal = 95, - aux_sym_open_expression_repeat1 = 96, - aux_sym_closed_expression_repeat1 = 97, - aux_sym_argument_list_repeat1 = 98, - aux_sym_array_literal_repeat1 = 99, - aux_sym_tuple_literal_repeat1 = 100, - aux_sym_record_literal_repeat1 = 101, - aux_sym_record_access_repeat1 = 102, - aux_sym_double_quoted_literal_repeat1 = 103, - alias_sym_argument_name = 104, - alias_sym_from_start = 105, + anon_sym_PIPEAND = 3, + anon_sym_PIPEOR = 4, + anon_sym_PIPEXOR = 5, + sym_unary_operator = 6, + anon_sym_LPAREN = 7, + anon_sym_RPAREN = 8, + anon_sym_DOLLAR = 9, + aux_sym_tuple_projection_token1 = 10, + anon_sym_CARET = 11, + sym_function_name = 12, + anon_sym_COMMA = 13, + anon_sym_COLON_EQ = 14, + anon_sym_LBRACE = 15, + anon_sym_RBRACE = 16, + anon_sym_I = 17, + anon_sym_LBRACK = 18, + anon_sym_RBRACK = 19, + anon_sym_PLUSINF = 20, + anon_sym_DASHINF = 21, + anon_sym_LPAREN0_PLUS_RPAREN = 22, + anon_sym_LPAREN_PLUS_RPAREN = 23, + anon_sym_LPAREN0_DASH_RPAREN = 24, + anon_sym_LPAREN_DASH_RPAREN = 25, + anon_sym_LPARENpositive_RPAREN = 26, + anon_sym_LPARENnegative_RPAREN = 27, + anon_sym_LPARENabsolutely_DASHpositive_RPAREN = 28, + anon_sym_LPARENabsolutely_DASHnegative_RPAREN = 29, + aux_sym_interval_shorthand_token1 = 30, + anon_sym_T = 31, + anon_sym_COLON = 32, + anon_sym_DOT_DOT_DOT = 33, + sym_unquoted_record_field_name = 34, + sym_numeric_literal = 35, + sym_variable = 36, + sym_original_input = 37, + aux_sym_immediate_record_field_selector_token1 = 38, + aux_sym_immediate_record_field_selector_token2 = 39, + aux_sym_original_record_field_selector_token1 = 40, + sym_named_record_field = 41, + sym_positional_record_field = 42, + anon_sym_POUNDtrue = 43, + anon_sym_POUNDfalse = 44, + sym_null_literal = 45, + anon_sym_DQUOTE = 46, + sym_double_quoted_content = 47, + sym_escape_sequence = 48, + anon_sym_BQUOTE = 49, + sym_backtick_quoted_content = 50, + sym_date_literal = 51, + sym_date_time_literal = 52, + sym_time_literal = 53, + sym_source_file = 54, + sym_root_expression = 55, + sym_open_expression = 56, + sym_closed_expression = 57, + sym_map_shorthand = 58, + sym__pipeline_map_shorthand = 59, + sym_expression = 60, + sym_binary_expression = 61, + sym_binary_operator = 62, + sym_unary_expression = 63, + sym__shorthand_operand = 64, + sym__pipeline_expression = 65, + sym__parenthesized_pipeline_expression = 66, + sym__pipeline_open_expression = 67, + sym_parenthesized_expression = 68, + sym_parenthesized_open_expression = 69, + sym_tuple_projection = 70, + sym_function_call = 71, + sym_argument_list = 72, + sym__trailing_argument_list = 73, + sym_positional_argument = 74, + sym_named_argument = 75, + sym__argument_value = 76, + sym__nested_open_expression = 77, + sym__nested_closed_expression = 78, + sym_parameterized_expression = 79, + sym_value = 80, + sym_interval_literal = 81, + sym_interval_bound = 82, + sym_infinite_bound = 83, + sym_interval_shorthand = 84, + sym_array_literal = 85, + sym__array_element = 86, + sym__array_closed_expression = 87, + sym_tuple_literal = 88, + sym_record_literal = 89, + sym__record_entry = 90, + sym_record_field = 91, + sym_record_spread = 92, + sym_incoming_value = 93, + sym_record_field_name = 94, + sym_record_access = 95, + sym_record_field_selector = 96, + sym_immediate_record_field_selector = 97, + sym_original_record_field_selector = 98, + sym_boolean_literal = 99, + sym_quoted_literal = 100, + sym_double_quoted_literal = 101, + sym_backtick_quoted_literal = 102, + sym_temporal_literal = 103, + aux_sym_open_expression_repeat1 = 104, + aux_sym_closed_expression_repeat1 = 105, + aux_sym_argument_list_repeat1 = 106, + aux_sym_array_literal_repeat1 = 107, + aux_sym_tuple_literal_repeat1 = 108, + aux_sym_record_literal_repeat1 = 109, + aux_sym_record_access_repeat1 = 110, + aux_sym_double_quoted_literal_repeat1 = 111, + alias_sym_argument_name = 112, + alias_sym_from_start = 113, }; static const char * const ts_symbol_names[] = { [ts_builtin_sym_end] = "end", [anon_sym_PIPE] = "|", [anon_sym_PIPE_GT] = "|>", + [anon_sym_PIPEAND] = "|AND", + [anon_sym_PIPEOR] = "|OR", + [anon_sym_PIPEXOR] = "|XOR", + [sym_unary_operator] = "unary_operator", [anon_sym_LPAREN] = "(", [anon_sym_RPAREN] = ")", [anon_sym_DOLLAR] = "$", @@ -185,6 +197,10 @@ static const char * const ts_symbol_names[] = { [sym_map_shorthand] = "map_shorthand", [sym__pipeline_map_shorthand] = "map_shorthand", [sym_expression] = "expression", + [sym_binary_expression] = "binary_expression", + [sym_binary_operator] = "binary_operator", + [sym_unary_expression] = "unary_expression", + [sym__shorthand_operand] = "_shorthand_operand", [sym__pipeline_expression] = "_pipeline_expression", [sym__parenthesized_pipeline_expression] = "parenthesized_expression", [sym__pipeline_open_expression] = "open_expression", @@ -240,6 +256,10 @@ static const TSSymbol ts_symbol_map[] = { [ts_builtin_sym_end] = ts_builtin_sym_end, [anon_sym_PIPE] = anon_sym_PIPE, [anon_sym_PIPE_GT] = anon_sym_PIPE_GT, + [anon_sym_PIPEAND] = anon_sym_PIPEAND, + [anon_sym_PIPEOR] = anon_sym_PIPEOR, + [anon_sym_PIPEXOR] = anon_sym_PIPEXOR, + [sym_unary_operator] = sym_unary_operator, [anon_sym_LPAREN] = anon_sym_LPAREN, [anon_sym_RPAREN] = anon_sym_RPAREN, [anon_sym_DOLLAR] = anon_sym_DOLLAR, @@ -294,6 +314,10 @@ static const TSSymbol ts_symbol_map[] = { [sym_map_shorthand] = sym_map_shorthand, [sym__pipeline_map_shorthand] = sym_map_shorthand, [sym_expression] = sym_expression, + [sym_binary_expression] = sym_binary_expression, + [sym_binary_operator] = sym_binary_operator, + [sym_unary_expression] = sym_unary_expression, + [sym__shorthand_operand] = sym__shorthand_operand, [sym__pipeline_expression] = sym__pipeline_expression, [sym__parenthesized_pipeline_expression] = sym_parenthesized_expression, [sym__pipeline_open_expression] = sym_open_expression, @@ -358,6 +382,22 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_PIPEAND] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPEOR] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPEXOR] = { + .visible = true, + .named = false, + }, + [sym_unary_operator] = { + .visible = true, + .named = true, + }, [anon_sym_LPAREN] = { .visible = true, .named = false, @@ -575,6 +615,22 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .named = true, .supertype = true, }, + [sym_binary_expression] = { + .visible = true, + .named = true, + }, + [sym_binary_operator] = { + .visible = true, + .named = true, + }, + [sym_unary_expression] = { + .visible = true, + .named = true, + }, + [sym__shorthand_operand] = { + .visible = false, + .named = true, + }, [sym__pipeline_expression] = { .visible = false, .named = true, @@ -781,14 +837,18 @@ enum ts_field_identifiers { field_expression = 2, field_field = 3, field_index = 4, - field_lower_bound = 5, - field_lower_delimiter = 6, - field_name = 7, - field_root = 8, - field_source = 9, - field_upper_bound = 10, - field_upper_delimiter = 11, - field_value = 12, + field_left = 5, + field_lower_bound = 6, + field_lower_delimiter = 7, + field_name = 8, + field_operand = 9, + field_operator = 10, + field_right = 11, + field_root = 12, + field_source = 13, + field_upper_bound = 14, + field_upper_delimiter = 15, + field_value = 16, }; static const char * const ts_field_names[] = { @@ -797,9 +857,13 @@ static const char * const ts_field_names[] = { [field_expression] = "expression", [field_field] = "field", [field_index] = "index", + [field_left] = "left", [field_lower_bound] = "lower_bound", [field_lower_delimiter] = "lower_delimiter", [field_name] = "name", + [field_operand] = "operand", + [field_operator] = "operator", + [field_right] = "right", [field_root] = "root", [field_source] = "source", [field_upper_bound] = "upper_bound", @@ -812,17 +876,19 @@ static const TSMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [2] = {.index = 1, .length = 1}, [3] = {.index = 2, .length = 1}, [4] = {.index = 3, .length = 2}, - [6] = {.index = 5, .length = 2}, - [7] = {.index = 7, .length = 1}, - [8] = {.index = 8, .length = 2}, - [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}, - [15] = {.index = 19, .length = 4}, - [16] = {.index = 23, .length = 2}, + [5] = {.index = 5, .length = 2}, + [7] = {.index = 7, .length = 2}, + [8] = {.index = 9, .length = 1}, + [9] = {.index = 10, .length = 2}, + [10] = {.index = 2, .length = 1}, + [11] = {.index = 12, .length = 2}, + [12] = {.index = 14, .length = 3}, + [13] = {.index = 17, .length = 3}, + [14] = {.index = 20, .length = 2}, + [15] = {.index = 22, .length = 2}, + [16] = {.index = 22, .length = 2}, + [17] = {.index = 24, .length = 4}, + [18] = {.index = 28, .length = 2}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -833,35 +899,42 @@ static const TSFieldMapEntry ts_field_map_entries[] = { [2] = {field_expression, 1}, [3] = + {field_operand, 1}, + {field_operator, 0}, + [5] = {field_direction, 0}, {field_index, 1}, - [5] = + [7] = {field_field, 1}, {field_root, 0}, - [7] = + [9] = {field_expression, 0, .inherited = true}, - [8] = + [10] = {field_field, 0}, {field_field, 1, .inherited = true}, - [10] = + [12] = {field_direction, 1}, {field_index, 2}, - [12] = + [14] = {field_field, 1}, {field_field, 2, .inherited = true}, {field_root, 0}, - [15] = + [17] = + {field_left, 0}, + {field_operator, 1}, + {field_right, 2}, + [20] = {field_field, 0, .inherited = true}, {field_field, 1, .inherited = true}, - [17] = + [22] = {field_name, 0}, {field_value, 2}, - [19] = + [24] = {field_lower_bound, 2}, {field_lower_delimiter, 1}, {field_upper_bound, 4}, {field_upper_delimiter, 5}, - [23] = + [28] = {field_expression, 3}, {field_source, 1}, }; @@ -871,13 +944,13 @@ static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE [3] = { [1] = sym_open_expression, }, - [4] = { + [5] = { [0] = alias_sym_from_start, }, - [5] = { + [6] = { [0] = sym_positional_record_field, }, - [14] = { + [16] = { [0] = alias_sym_argument_name, }, }; @@ -893,7 +966,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [0] = 0, [1] = 1, [2] = 2, - [3] = 3, + [3] = 2, [4] = 4, [5] = 5, [6] = 6, @@ -909,25 +982,25 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [16] = 16, [17] = 17, [18] = 18, - [19] = 19, + [19] = 18, [20] = 20, [21] = 21, [22] = 22, [23] = 23, - [24] = 24, + [24] = 22, [25] = 25, - [26] = 26, + [26] = 23, [27] = 27, [28] = 28, [29] = 29, - [30] = 30, - [31] = 31, + [30] = 28, + [31] = 29, [32] = 32, [33] = 33, [34] = 34, [35] = 35, [36] = 36, - [37] = 37, + [37] = 36, [38] = 38, [39] = 39, [40] = 40, @@ -948,11 +1021,11 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [55] = 55, [56] = 56, [57] = 57, - [58] = 58, - [59] = 59, - [60] = 60, - [61] = 61, - [62] = 62, + [58] = 33, + [59] = 35, + [60] = 34, + [61] = 38, + [62] = 32, [63] = 63, [64] = 64, [65] = 65, @@ -979,56 +1052,56 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [86] = 86, [87] = 87, [88] = 88, - [89] = 89, - [90] = 90, - [91] = 91, - [92] = 92, + [89] = 78, + [90] = 51, + [91] = 52, + [92] = 50, [93] = 93, [94] = 94, - [95] = 95, - [96] = 96, + [95] = 54, + [96] = 53, [97] = 97, [98] = 98, - [99] = 99, + [99] = 56, [100] = 100, - [101] = 101, + [101] = 67, [102] = 102, [103] = 103, - [104] = 104, - [105] = 105, + [104] = 47, + [105] = 39, [106] = 106, [107] = 107, [108] = 108, [109] = 109, - [110] = 110, - [111] = 111, + [110] = 45, + [111] = 43, [112] = 112, - [113] = 113, + [113] = 84, [114] = 114, - [115] = 115, - [116] = 116, - [117] = 117, + [115] = 73, + [116] = 74, + [117] = 72, [118] = 118, [119] = 119, [120] = 120, - [121] = 121, - [122] = 122, - [123] = 123, - [124] = 124, - [125] = 125, - [126] = 126, - [127] = 127, - [128] = 128, + [121] = 68, + [122] = 66, + [123] = 55, + [124] = 48, + [125] = 49, + [126] = 88, + [127] = 79, + [128] = 80, [129] = 129, - [130] = 130, - [131] = 131, - [132] = 132, - [133] = 133, - [134] = 134, - [135] = 135, - [136] = 136, - [137] = 137, - [138] = 138, + [130] = 82, + [131] = 85, + [132] = 86, + [133] = 87, + [134] = 70, + [135] = 71, + [136] = 76, + [137] = 64, + [138] = 77, [139] = 139, [140] = 140, [141] = 141, @@ -1042,6 +1115,83 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [149] = 149, [150] = 150, [151] = 151, + [152] = 152, + [153] = 153, + [154] = 154, + [155] = 155, + [156] = 156, + [157] = 157, + [158] = 158, + [159] = 157, + [160] = 141, + [161] = 147, + [162] = 162, + [163] = 163, + [164] = 164, + [165] = 94, + [166] = 166, + [167] = 167, + [168] = 168, + [169] = 169, + [170] = 170, + [171] = 171, + [172] = 172, + [173] = 173, + [174] = 163, + [175] = 175, + [176] = 176, + [177] = 177, + [178] = 178, + [179] = 179, + [180] = 180, + [181] = 181, + [182] = 169, + [183] = 170, + [184] = 184, + [185] = 176, + [186] = 178, + [187] = 171, + [188] = 172, + [189] = 179, + [190] = 190, + [191] = 180, + [192] = 192, + [193] = 193, + [194] = 194, + [195] = 195, + [196] = 196, + [197] = 197, + [198] = 198, + [199] = 195, + [200] = 200, + [201] = 201, + [202] = 202, + [203] = 202, + [204] = 204, + [205] = 205, + [206] = 206, + [207] = 207, + [208] = 208, + [209] = 209, + [210] = 206, + [211] = 211, + [212] = 212, + [213] = 213, + [214] = 214, + [215] = 212, + [216] = 214, + [217] = 217, + [218] = 218, + [219] = 219, + [220] = 220, + [221] = 221, + [222] = 222, + [223] = 221, + [224] = 219, + [225] = 225, + [226] = 226, + [227] = 225, + [228] = 226, }; static const TSSymbol ts_supertype_symbols[SUPERTYPE_COUNT] = { @@ -1052,26 +1202,28 @@ static const TSSymbol ts_supertype_symbols[SUPERTYPE_COUNT] = { }; 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 = 12}, + [sym_expression] = {.index = 0, .length = 6}, + [sym_quoted_literal] = {.index = 6, .length = 2}, + [sym_temporal_literal] = {.index = 8, .length = 3}, + [sym_value] = {.index = 11, .length = 12}, }; static const TSSymbol ts_supertype_map_entries[] = { [0] = + sym_binary_expression, sym_function_call, sym_map_shorthand, sym_parenthesized_expression, sym_tuple_projection, - [4] = + sym_unary_expression, + [6] = sym_backtick_quoted_literal, sym_double_quoted_literal, - [6] = + [8] = sym_date_literal, sym_date_time_literal, sym_time_literal, - [9] = + [11] = sym_array_literal, sym_boolean_literal, sym_incoming_value, @@ -1091,349 +1243,320 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(129); + if (eof) ADVANCE(134); ADVANCE_MAP( - '"', 184, - '#', 4, - '$', 135, - '(', 133, - ')', 134, - '+', 45, - ',', 142, - '-', 32, - '.', 28, - '0', 169, - ':', 166, - '@', 119, - 'I', 146, - 'T', 162, - '[', 149, - '\\', 98, - ']', 150, - '^', 139, - '_', 168, - '`', 188, - '{', 144, - '|', 130, - '}', 145, + '!', 141, + '"', 194, + '#', 3, + '$', 145, + '(', 143, + ')', 144, + '+', 43, + ',', 152, + '-', 30, + '.', 26, + '0', 179, + ':', 176, + '@', 121, + 'I', 156, + 'T', 172, + '[', 159, + '\\', 100, + ']', 160, + '^', 149, + '_', 178, + '`', 198, + '{', 154, + '|', 136, + '}', 155, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(125); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(170); - if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(140); + lookahead == 0xfeff) SKIP(127); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(180); + if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(150); END_STATE(); case 1: - ADVANCE_MAP( - '"', 184, - '#', 4, - '$', 135, - '-', 33, - '.', 29, - '0', 169, - ':', 165, - '@', 119, - 'I', 147, - 'T', 163, - '^', 30, - '`', 188, - '{', 144, - '}', 145, - ); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ' || - lookahead == 0x200b || - lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(1); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(170); - if (('A' <= lookahead && lookahead <= 'Z') || - ('_' <= lookahead && lookahead <= 'z')) ADVANCE(168); - END_STATE(); - case 2: - if (lookahead == '"') ADVANCE(184); - if (lookahead == '\\') ADVANCE(98); + if (lookahead == '"') ADVANCE(194); + if (lookahead == '\\') ADVANCE(100); if (lookahead == '\n' || - lookahead == '\r') SKIP(3); + lookahead == '\r') SKIP(2); if (('\t' <= lookahead && lookahead <= '\f') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(185); - if (lookahead != 0) ADVANCE(186); + lookahead == 0xfeff) ADVANCE(195); + if (lookahead != 0) ADVANCE(196); END_STATE(); - case 3: - if (lookahead == '"') ADVANCE(184); + case 2: + if (lookahead == '"') ADVANCE(194); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(3); + lookahead == 0xfeff) SKIP(2); + END_STATE(); + case 3: + if (lookahead == '"') ADVANCE(109); + if (lookahead == 'f') ADVANCE(52); + if (lookahead == 'n') ADVANCE(93); + if (lookahead == 't') ADVANCE(82); END_STATE(); case 4: - if (lookahead == '"') ADVANCE(107); - if (lookahead == 'f') ADVANCE(50); - if (lookahead == 'n') ADVANCE(91); - if (lookahead == 't') ADVANCE(80); + if (lookahead == '"') ADVANCE(203); END_STATE(); case 5: - if (lookahead == '"') ADVANCE(193); + if (lookahead == '"') ADVANCE(201); + if (lookahead == ' ' || + lookahead == 'T') ADVANCE(117); END_STATE(); case 6: - if (lookahead == '"') ADVANCE(191); - if (lookahead == ' ' || - lookahead == 'T') ADVANCE(115); + if (lookahead == '"') ADVANCE(202); END_STATE(); case 7: - if (lookahead == '"') ADVANCE(192); - END_STATE(); - case 8: - if (lookahead == '$') ADVANCE(135); - if (lookahead == '(') ADVANCE(132); - if (lookahead == '.') ADVANCE(35); - if (lookahead == '0') ADVANCE(136); - if (lookahead == '^') ADVANCE(30); - if (lookahead == '|') ADVANCE(42); + ADVANCE_MAP( + '$', 145, + '(', 142, + ')', 144, + ',', 152, + '.', 34, + ':', 39, + '^', 28, + '|', 135, + '}', 155, + ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(9); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(137); + lookahead == 0xfeff) SKIP(7); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(141); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(151); + END_STATE(); + case 8: + if (lookahead == ')') ADVANCE(164); END_STATE(); case 9: - if (lookahead == '$') ADVANCE(135); - if (lookahead == '(') ADVANCE(132); - if (lookahead == '.') ADVANCE(35); - if (lookahead == '^') ADVANCE(30); - if (lookahead == '|') ADVANCE(42); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ' || - lookahead == 0x200b || - lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(9); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(141); + if (lookahead == ')') ADVANCE(166); END_STATE(); case 10: - if (lookahead == ')') ADVANCE(154); + if (lookahead == ')') ADVANCE(163); END_STATE(); case 11: - if (lookahead == ')') ADVANCE(156); + if (lookahead == ')') ADVANCE(165); END_STATE(); case 12: - if (lookahead == ')') ADVANCE(153); + if (lookahead == ')') ADVANCE(171); + if (lookahead == '.') ADVANCE(103); END_STATE(); case 13: - if (lookahead == ')') ADVANCE(155); + if (lookahead == ')') ADVANCE(171); + if (lookahead == '.') ADVANCE(103); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(13); END_STATE(); case 14: - if (lookahead == ')') ADVANCE(161); - if (lookahead == '.') ADVANCE(101); + if (lookahead == ')') ADVANCE(171); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(14); END_STATE(); case 15: - if (lookahead == ')') ADVANCE(161); - if (lookahead == '.') ADVANCE(101); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(15); + if (lookahead == ')') ADVANCE(168); END_STATE(); case 16: - if (lookahead == ')') ADVANCE(161); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(16); + if (lookahead == ')') ADVANCE(167); END_STATE(); case 17: - if (lookahead == ')') ADVANCE(158); + if (lookahead == ')') ADVANCE(170); END_STATE(); case 18: - if (lookahead == ')') ADVANCE(157); + if (lookahead == ')') ADVANCE(169); END_STATE(); case 19: - if (lookahead == ')') ADVANCE(160); + if (lookahead == '+') ADVANCE(10); + if (lookahead == '-') ADVANCE(11); END_STATE(); case 20: - if (lookahead == ')') ADVANCE(159); + if (lookahead == '-') ADVANCE(33); + if (lookahead == '0') ADVANCE(12); + if (lookahead == '=') ADVANCE(21); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(13); END_STATE(); case 21: - if (lookahead == '+') ADVANCE(12); - if (lookahead == '-') ADVANCE(13); + if (lookahead == '-') ADVANCE(33); + if (lookahead == '0') ADVANCE(12); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(13); END_STATE(); case 22: - if (lookahead == '-') ADVANCE(34); - if (lookahead == '0') ADVANCE(14); - if (lookahead == '=') ADVANCE(23); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(15); + if (lookahead == '-') ADVANCE(78); END_STATE(); case 23: - if (lookahead == '-') ADVANCE(34); - if (lookahead == '0') ADVANCE(14); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(15); + if (lookahead == '-') ADVANCE(116); END_STATE(); case 24: - if (lookahead == '-') ADVANCE(76); + if (lookahead == '-') ADVANCE(112); END_STATE(); case 25: - if (lookahead == '-') ADVANCE(114); + if (lookahead == '.') ADVANCE(29); END_STATE(); case 26: - if (lookahead == '-') ADVANCE(110); + if (lookahead == '.') ADVANCE(29); + if (lookahead == '0') ADVANCE(185); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(186); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184); END_STATE(); case 27: - if (lookahead == '.') ADVANCE(31); - END_STATE(); - case 28: - if (lookahead == '.') ADVANCE(31); - if (lookahead == '0') ADVANCE(175); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(176); + if (lookahead == '.') ADVANCE(29); + if (lookahead == '0') ADVANCE(189); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(190); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(174); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(188); + END_STATE(); + case 28: + if (lookahead == '.') ADVANCE(183); END_STATE(); case 29: - if (lookahead == '.') ADVANCE(31); - if (lookahead == '0') ADVANCE(179); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(180); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(178); + if (lookahead == '.') ADVANCE(177); END_STATE(); case 30: - if (lookahead == '.') ADVANCE(173); + if (lookahead == '0') ADVANCE(179); + if (lookahead == 'I') ADVANCE(46); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(180); END_STATE(); case 31: - if (lookahead == '.') ADVANCE(167); + if (lookahead == '0') ADVANCE(179); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(180); END_STATE(); case 32: - if (lookahead == '0') ADVANCE(169); - if (lookahead == 'I') ADVANCE(47); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(170); + if (lookahead == '0') ADVANCE(185); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(186); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184); END_STATE(); case 33: - if (lookahead == '0') ADVANCE(169); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(170); + if (lookahead == '0') ADVANCE(12); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(13); END_STATE(); case 34: - if (lookahead == '0') ADVANCE(14); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(15); - END_STATE(); - case 35: - if (lookahead == '0') ADVANCE(179); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(180); + if (lookahead == '0') ADVANCE(189); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(190); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(178); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(188); + END_STATE(); + case 35: + if (lookahead == ':') ADVANCE(110); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(104); END_STATE(); case 36: - if (lookahead == '0') ADVANCE(136); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(137); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(177); + if (lookahead == ':') ADVANCE(111); END_STATE(); case 37: - if (lookahead == ':') ADVANCE(108); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(102); + if (lookahead == ':') ADVANCE(113); END_STATE(); case 38: - if (lookahead == ':') ADVANCE(109); + if (lookahead == ':') ADVANCE(119); END_STATE(); case 39: - if (lookahead == ':') ADVANCE(111); + if (lookahead == '=') ADVANCE(153); END_STATE(); case 40: - if (lookahead == ':') ADVANCE(117); + if (lookahead == 'D') ADVANCE(138); END_STATE(); case 41: - if (lookahead == '=') ADVANCE(143); + if (lookahead == 'F') ADVANCE(161); END_STATE(); case 42: - if (lookahead == '>') ADVANCE(131); + if (lookahead == 'F') ADVANCE(162); END_STATE(); case 43: - if (lookahead == 'F') ADVANCE(151); + if (lookahead == 'I') ADVANCE(44); END_STATE(); case 44: - if (lookahead == 'F') ADVANCE(152); + if (lookahead == 'N') ADVANCE(41); END_STATE(); case 45: - if (lookahead == 'I') ADVANCE(46); + if (lookahead == 'N') ADVANCE(40); END_STATE(); case 46: - if (lookahead == 'N') ADVANCE(43); + if (lookahead == 'N') ADVANCE(42); END_STATE(); case 47: - if (lookahead == 'N') ADVANCE(44); + if (lookahead == 'O') ADVANCE(49); END_STATE(); case 48: - if (lookahead == '`') ADVANCE(188); + if (lookahead == 'R') ADVANCE(139); + END_STATE(); + case 49: + if (lookahead == 'R') ADVANCE(140); + END_STATE(); + case 50: + if (lookahead == '`') ADVANCE(198); if (lookahead == '\n' || - lookahead == '\r') SKIP(49); + lookahead == '\r') SKIP(51); if (('\t' <= lookahead && lookahead <= '\f') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(189); - if (lookahead != 0) ADVANCE(190); + lookahead == 0xfeff) ADVANCE(199); + if (lookahead != 0) ADVANCE(200); END_STATE(); - case 49: - if (lookahead == '`') ADVANCE(188); + case 51: + if (lookahead == '`') ADVANCE(198); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(49); - END_STATE(); - case 50: - if (lookahead == 'a') ADVANCE(75); - END_STATE(); - case 51: - if (lookahead == 'a') ADVANCE(85); + lookahead == 0xfeff) SKIP(51); END_STATE(); case 52: - if (lookahead == 'a') ADVANCE(88); + if (lookahead == 'a') ADVANCE(77); END_STATE(); case 53: - if (lookahead == 'b') ADVANCE(82); + if (lookahead == 'a') ADVANCE(87); END_STATE(); case 54: - if (lookahead == 'e') ADVANCE(63); + if (lookahead == 'a') ADVANCE(90); END_STATE(); case 55: - if (lookahead == 'e') ADVANCE(181); + if (lookahead == 'b') ADVANCE(84); END_STATE(); case 56: - if (lookahead == 'e') ADVANCE(182); + if (lookahead == 'e') ADVANCE(65); END_STATE(); case 57: - if (lookahead == 'e') ADVANCE(17); + if (lookahead == 'e') ADVANCE(191); END_STATE(); case 58: - if (lookahead == 'e') ADVANCE(72); + if (lookahead == 'e') ADVANCE(192); END_STATE(); case 59: - if (lookahead == 'e') ADVANCE(18); + if (lookahead == 'e') ADVANCE(15); END_STATE(); case 60: - if (lookahead == 'e') ADVANCE(19); + if (lookahead == 'e') ADVANCE(74); END_STATE(); case 61: - if (lookahead == 'e') ADVANCE(20); + if (lookahead == 'e') ADVANCE(16); END_STATE(); case 62: - if (lookahead == 'e') ADVANCE(64); + if (lookahead == 'e') ADVANCE(17); END_STATE(); case 63: - if (lookahead == 'g') ADVANCE(51); + if (lookahead == 'e') ADVANCE(18); END_STATE(); case 64: - if (lookahead == 'g') ADVANCE(52); + if (lookahead == 'e') ADVANCE(66); END_STATE(); case 65: - if (lookahead == 'i') ADVANCE(93); + if (lookahead == 'g') ADVANCE(53); END_STATE(); case 66: - if (lookahead == 'i') ADVANCE(94); + if (lookahead == 'g') ADVANCE(54); END_STATE(); case 67: if (lookahead == 'i') ADVANCE(95); @@ -1442,129 +1565,129 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'i') ADVANCE(96); END_STATE(); case 69: - if (lookahead == 'i') ADVANCE(87); + if (lookahead == 'i') ADVANCE(97); END_STATE(); case 70: - if (lookahead == 'i') ADVANCE(89); + if (lookahead == 'i') ADVANCE(98); END_STATE(); case 71: - if (lookahead == 'l') ADVANCE(183); + if (lookahead == 'i') ADVANCE(89); END_STATE(); case 72: - if (lookahead == 'l') ADVANCE(97); + if (lookahead == 'i') ADVANCE(91); END_STATE(); case 73: - if (lookahead == 'l') ADVANCE(92); + if (lookahead == 'l') ADVANCE(193); END_STATE(); case 74: - if (lookahead == 'l') ADVANCE(71); + if (lookahead == 'l') ADVANCE(99); END_STATE(); case 75: - if (lookahead == 'l') ADVANCE(83); + if (lookahead == 'l') ADVANCE(94); END_STATE(); case 76: - if (lookahead == 'n') ADVANCE(62); - if (lookahead == 'p') ADVANCE(79); + if (lookahead == 'l') ADVANCE(73); END_STATE(); case 77: - if (lookahead == 'o') ADVANCE(81); + if (lookahead == 'l') ADVANCE(85); END_STATE(); case 78: - if (lookahead == 'o') ADVANCE(73); + if (lookahead == 'n') ADVANCE(64); + if (lookahead == 'p') ADVANCE(81); END_STATE(); case 79: - if (lookahead == 'o') ADVANCE(84); + if (lookahead == 'o') ADVANCE(83); END_STATE(); case 80: - if (lookahead == 'r') ADVANCE(90); + if (lookahead == 'o') ADVANCE(75); END_STATE(); case 81: - if (lookahead == 's') ADVANCE(69); + if (lookahead == 'o') ADVANCE(86); END_STATE(); case 82: - if (lookahead == 's') ADVANCE(78); + if (lookahead == 'r') ADVANCE(92); END_STATE(); case 83: - if (lookahead == 's') ADVANCE(56); + if (lookahead == 's') ADVANCE(71); END_STATE(); case 84: - if (lookahead == 's') ADVANCE(70); + if (lookahead == 's') ADVANCE(80); END_STATE(); case 85: - if (lookahead == 't') ADVANCE(65); + if (lookahead == 's') ADVANCE(58); END_STATE(); case 86: - if (lookahead == 't') ADVANCE(58); + if (lookahead == 's') ADVANCE(72); END_STATE(); case 87: - if (lookahead == 't') ADVANCE(66); + if (lookahead == 't') ADVANCE(67); END_STATE(); case 88: - if (lookahead == 't') ADVANCE(67); + if (lookahead == 't') ADVANCE(60); END_STATE(); case 89: if (lookahead == 't') ADVANCE(68); END_STATE(); case 90: - if (lookahead == 'u') ADVANCE(55); + if (lookahead == 't') ADVANCE(69); END_STATE(); case 91: - if (lookahead == 'u') ADVANCE(74); + if (lookahead == 't') ADVANCE(70); END_STATE(); case 92: - if (lookahead == 'u') ADVANCE(86); + if (lookahead == 'u') ADVANCE(57); END_STATE(); case 93: - if (lookahead == 'v') ADVANCE(57); + if (lookahead == 'u') ADVANCE(76); END_STATE(); case 94: - if (lookahead == 'v') ADVANCE(59); + if (lookahead == 'u') ADVANCE(88); END_STATE(); case 95: - if (lookahead == 'v') ADVANCE(60); + if (lookahead == 'v') ADVANCE(59); END_STATE(); case 96: if (lookahead == 'v') ADVANCE(61); END_STATE(); case 97: - if (lookahead == 'y') ADVANCE(24); + if (lookahead == 'v') ADVANCE(62); END_STATE(); case 98: - if (lookahead == '"' || - lookahead == '\\') ADVANCE(187); + if (lookahead == 'v') ADVANCE(63); END_STATE(); case 99: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(171); + if (lookahead == 'y') ADVANCE(22); END_STATE(); case 100: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(37); + if (lookahead == '"' || + lookahead == '\\') ADVANCE(197); END_STATE(); case 101: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(16); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(181); END_STATE(); case 102: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(25); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(35); END_STATE(); case 103: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(38); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(14); END_STATE(); case 104: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(5); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(23); END_STATE(); case 105: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(6); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(36); END_STATE(); case 106: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(7); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(4); END_STATE(); case 107: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(100); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(5); END_STATE(); case 108: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(103); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(6); END_STATE(); case 109: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(104); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(102); END_STATE(); case 110: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(105); @@ -1573,415 +1696,503 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (('0' <= lookahead && lookahead <= '9')) ADVANCE(106); END_STATE(); case 112: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(26); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(107); END_STATE(); case 113: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(40); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(108); END_STATE(); case 114: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(112); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(24); END_STATE(); case 115: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(113); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(38); END_STATE(); case 116: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(39); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(114); END_STATE(); case 117: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(115); END_STATE(); case 118: - if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(168); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(37); END_STATE(); case 119: - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(172); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(118); END_STATE(); case 120: + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(178); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(141); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(150); END_STATE(); case 121: + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(182); + END_STATE(); + case 122: + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(151); + END_STATE(); + case 123: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(168); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(178); END_STATE(); - case 122: + case 124: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(174); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184); END_STATE(); - case 123: + case 125: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(178); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(188); END_STATE(); - case 124: + case 126: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(177); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(187); END_STATE(); - case 125: - if (eof) ADVANCE(129); + case 127: + if (eof) ADVANCE(134); ADVANCE_MAP( - '"', 184, - '#', 4, - '$', 135, - '(', 133, - ')', 134, - '+', 45, - ',', 142, - '-', 32, - '.', 29, - '0', 169, - ':', 166, - '@', 119, - 'I', 146, - 'T', 162, - '[', 149, - ']', 150, - '^', 30, - '_', 168, - '`', 188, - '{', 144, - '|', 130, - '}', 145, + '!', 141, + '"', 194, + '#', 3, + '$', 145, + '(', 143, + ')', 144, + '+', 43, + ',', 152, + '-', 30, + '.', 27, + '0', 179, + ':', 176, + '@', 121, + 'I', 156, + 'T', 172, + '[', 159, + ']', 160, + '^', 28, + '_', 178, + '`', 198, + '{', 154, + '|', 136, + '}', 155, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(125); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(170); + lookahead == 0xfeff) SKIP(127); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(180); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(150); END_STATE(); - case 126: - if (eof) ADVANCE(129); + case 128: + if (eof) ADVANCE(134); + ADVANCE_MAP( + '!', 141, + '"', 194, + '#', 3, + '$', 145, + '(', 142, + ')', 144, + '+', 43, + ',', 152, + '-', 30, + '.', 27, + '0', 179, + ':', 39, + '@', 121, + 'I', 158, + 'T', 174, + '[', 159, + ']', 160, + '^', 28, + '`', 198, + '{', 154, + '|', 136, + '}', 155, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ' || + lookahead == 0x200b || + lookahead == 0x2060 || + lookahead == 0xfeff) SKIP(128); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(180); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(151); + END_STATE(); + case 129: + if (eof) ADVANCE(134); ADVANCE_MAP( - '"', 184, - '#', 4, - '$', 135, - '(', 132, - ')', 134, - '+', 45, - ',', 142, - '-', 32, - '.', 29, - '0', 169, - ':', 41, - '@', 119, - 'I', 148, - 'T', 164, - '[', 149, - ']', 150, - '^', 30, - '`', 188, - '{', 144, - '|', 130, - '}', 145, + '"', 194, + '#', 3, + '$', 145, + '(', 142, + ')', 144, + ',', 152, + '-', 31, + '.', 27, + '0', 179, + ':', 175, + '@', 121, + 'I', 157, + 'T', 173, + '^', 28, + '`', 198, + '{', 154, + '|', 135, + '}', 155, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(126); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(170); + lookahead == 0xfeff) SKIP(129); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(180); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(141); + ('_' <= lookahead && lookahead <= 'z')) ADVANCE(178); END_STATE(); - case 127: - if (eof) ADVANCE(129); + case 130: + if (eof) ADVANCE(134); ADVANCE_MAP( - '"', 184, - ')', 134, - ',', 142, - '.', 28, - '0', 136, - '^', 138, - '`', 188, - '|', 130, - '}', 145, + '"', 194, + ')', 144, + ',', 152, + '.', 26, + '0', 146, + '^', 148, + '`', 198, + '|', 136, + '}', 155, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(128); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(137); + lookahead == 0xfeff) SKIP(131); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(147); if (('A' <= lookahead && lookahead <= 'Z') || - ('_' <= lookahead && lookahead <= 'z')) ADVANCE(168); + ('_' <= lookahead && lookahead <= 'z')) ADVANCE(178); END_STATE(); - case 128: - if (eof) ADVANCE(129); - if (lookahead == '"') ADVANCE(184); - if (lookahead == ')') ADVANCE(134); - if (lookahead == ',') ADVANCE(142); - if (lookahead == '.') ADVANCE(27); - if (lookahead == '`') ADVANCE(188); - if (lookahead == '|') ADVANCE(130); - if (lookahead == '}') ADVANCE(145); + case 131: + if (eof) ADVANCE(134); + if (lookahead == '"') ADVANCE(194); + if (lookahead == ')') ADVANCE(144); + if (lookahead == ',') ADVANCE(152); + if (lookahead == '.') ADVANCE(25); + if (lookahead == '`') ADVANCE(198); + if (lookahead == '|') ADVANCE(136); + if (lookahead == '}') ADVANCE(155); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) SKIP(128); + lookahead == 0xfeff) SKIP(131); if (('A' <= lookahead && lookahead <= 'Z') || - ('_' <= lookahead && lookahead <= 'z')) ADVANCE(168); + ('_' <= lookahead && lookahead <= 'z')) ADVANCE(178); END_STATE(); - case 129: + case 132: + if (eof) ADVANCE(134); + if (lookahead == ')') ADVANCE(144); + if (lookahead == ',') ADVANCE(152); + if (lookahead == '.') ADVANCE(32); + if (lookahead == '0') ADVANCE(146); + if (lookahead == '|') ADVANCE(135); + if (lookahead == '}') ADVANCE(155); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ' || + lookahead == 0x200b || + lookahead == 0x2060 || + lookahead == 0xfeff) SKIP(133); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(147); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(187); + END_STATE(); + case 133: + if (eof) ADVANCE(134); + if (lookahead == ')') ADVANCE(144); + if (lookahead == ',') ADVANCE(152); + if (lookahead == '|') ADVANCE(135); + if (lookahead == '}') ADVANCE(155); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ' || + lookahead == 0x200b || + lookahead == 0x2060 || + lookahead == 0xfeff) SKIP(133); + END_STATE(); + case 134: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); - case 130: + case 135: ACCEPT_TOKEN(anon_sym_PIPE); - if (lookahead == '>') ADVANCE(131); + if (lookahead == '>') ADVANCE(137); END_STATE(); - case 131: + case 136: + ACCEPT_TOKEN(anon_sym_PIPE); + if (lookahead == '>') ADVANCE(137); + if (lookahead == 'A') ADVANCE(45); + if (lookahead == 'O') ADVANCE(48); + if (lookahead == 'X') ADVANCE(47); + END_STATE(); + case 137: ACCEPT_TOKEN(anon_sym_PIPE_GT); END_STATE(); - case 132: + case 138: + ACCEPT_TOKEN(anon_sym_PIPEAND); + END_STATE(); + case 139: + ACCEPT_TOKEN(anon_sym_PIPEOR); + END_STATE(); + case 140: + ACCEPT_TOKEN(anon_sym_PIPEXOR); + END_STATE(); + case 141: + ACCEPT_TOKEN(sym_unary_operator); + END_STATE(); + case 142: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); - case 133: + case 143: ACCEPT_TOKEN(anon_sym_LPAREN); ADVANCE_MAP( - '+', 10, - '-', 11, - '0', 21, - '<', 22, - '>', 22, - 'a', 53, - 'n', 54, - 'p', 77, + '+', 8, + '-', 9, + '0', 19, + '<', 20, + '>', 20, + 'a', 55, + 'n', 56, + 'p', 79, ); END_STATE(); - case 134: + case 144: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); - case 135: + case 145: ACCEPT_TOKEN(anon_sym_DOLLAR); END_STATE(); - case 136: + case 146: ACCEPT_TOKEN(aux_sym_tuple_projection_token1); END_STATE(); - case 137: + case 147: ACCEPT_TOKEN(aux_sym_tuple_projection_token1); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(137); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(147); END_STATE(); - case 138: + case 148: ACCEPT_TOKEN(anon_sym_CARET); END_STATE(); - case 139: + case 149: ACCEPT_TOKEN(anon_sym_CARET); - if (lookahead == '.') ADVANCE(173); + if (lookahead == '.') ADVANCE(183); END_STATE(); - case 140: + case 150: ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(118); + if (lookahead == '-') ADVANCE(120); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(168); + lookahead == '_') ADVANCE(178); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(150); END_STATE(); - case 141: + case 151: ACCEPT_TOKEN(sym_function_name); - if (lookahead == '-') ADVANCE(120); + if (lookahead == '-') ADVANCE(122); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(141); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(151); END_STATE(); - case 142: + case 152: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 143: + case 153: ACCEPT_TOKEN(anon_sym_COLON_EQ); END_STATE(); - case 144: + case 154: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); - case 145: + case 155: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); - case 146: + case 156: ACCEPT_TOKEN(anon_sym_I); - if (lookahead == '-') ADVANCE(118); + if (lookahead == '-') ADVANCE(120); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(168); + lookahead == '_') ADVANCE(178); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(150); END_STATE(); - case 147: + case 157: ACCEPT_TOKEN(anon_sym_I); - if (lookahead == '-') ADVANCE(121); + if (lookahead == '-') ADVANCE(123); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(168); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(178); END_STATE(); - case 148: + case 158: ACCEPT_TOKEN(anon_sym_I); - if (lookahead == '-') ADVANCE(120); + if (lookahead == '-') ADVANCE(122); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(141); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(151); END_STATE(); - case 149: + case 159: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); - case 150: + case 160: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); - case 151: + case 161: ACCEPT_TOKEN(anon_sym_PLUSINF); END_STATE(); - case 152: + case 162: ACCEPT_TOKEN(anon_sym_DASHINF); END_STATE(); - case 153: + case 163: ACCEPT_TOKEN(anon_sym_LPAREN0_PLUS_RPAREN); END_STATE(); - case 154: + case 164: ACCEPT_TOKEN(anon_sym_LPAREN_PLUS_RPAREN); END_STATE(); - case 155: + case 165: ACCEPT_TOKEN(anon_sym_LPAREN0_DASH_RPAREN); END_STATE(); - case 156: + case 166: ACCEPT_TOKEN(anon_sym_LPAREN_DASH_RPAREN); END_STATE(); - case 157: + case 167: ACCEPT_TOKEN(anon_sym_LPARENpositive_RPAREN); END_STATE(); - case 158: + case 168: ACCEPT_TOKEN(anon_sym_LPARENnegative_RPAREN); END_STATE(); - case 159: + case 169: ACCEPT_TOKEN(anon_sym_LPARENabsolutely_DASHpositive_RPAREN); END_STATE(); - case 160: + case 170: ACCEPT_TOKEN(anon_sym_LPARENabsolutely_DASHnegative_RPAREN); END_STATE(); - case 161: + case 171: ACCEPT_TOKEN(aux_sym_interval_shorthand_token1); END_STATE(); - case 162: + case 172: ACCEPT_TOKEN(anon_sym_T); - if (lookahead == '-') ADVANCE(118); + if (lookahead == '-') ADVANCE(120); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(168); + lookahead == '_') ADVANCE(178); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(140); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(150); END_STATE(); - case 163: + case 173: ACCEPT_TOKEN(anon_sym_T); - if (lookahead == '-') ADVANCE(121); + if (lookahead == '-') ADVANCE(123); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(168); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(178); END_STATE(); - case 164: + case 174: ACCEPT_TOKEN(anon_sym_T); - if (lookahead == '-') ADVANCE(120); + if (lookahead == '-') ADVANCE(122); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(141); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(151); END_STATE(); - case 165: + case 175: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); - case 166: + case 176: ACCEPT_TOKEN(anon_sym_COLON); - if (lookahead == '=') ADVANCE(143); + if (lookahead == '=') ADVANCE(153); END_STATE(); - case 167: + case 177: ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); END_STATE(); - case 168: + case 178: ACCEPT_TOKEN(sym_unquoted_record_field_name); - if (lookahead == '-') ADVANCE(121); + if (lookahead == '-') ADVANCE(123); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(168); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(178); END_STATE(); - case 169: + case 179: ACCEPT_TOKEN(sym_numeric_literal); - if (lookahead == '.') ADVANCE(99); + if (lookahead == '.') ADVANCE(101); END_STATE(); - case 170: + case 180: ACCEPT_TOKEN(sym_numeric_literal); - if (lookahead == '.') ADVANCE(99); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(170); + if (lookahead == '.') ADVANCE(101); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(180); END_STATE(); - case 171: + case 181: ACCEPT_TOKEN(sym_numeric_literal); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(171); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(181); END_STATE(); - case 172: + case 182: ACCEPT_TOKEN(sym_variable); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(172); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(182); END_STATE(); - case 173: + case 183: ACCEPT_TOKEN(sym_original_input); END_STATE(); - case 174: + case 184: ACCEPT_TOKEN(aux_sym_immediate_record_field_selector_token1); - if (lookahead == '-') ADVANCE(122); + if (lookahead == '-') ADVANCE(124); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(174); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184); END_STATE(); - case 175: + case 185: ACCEPT_TOKEN(aux_sym_immediate_record_field_selector_token2); END_STATE(); - case 176: + case 186: ACCEPT_TOKEN(aux_sym_immediate_record_field_selector_token2); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(176); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(186); END_STATE(); - case 177: + case 187: ACCEPT_TOKEN(aux_sym_original_record_field_selector_token1); - if (lookahead == '-') ADVANCE(124); + if (lookahead == '-') ADVANCE(126); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(177); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(187); END_STATE(); - case 178: + case 188: ACCEPT_TOKEN(sym_named_record_field); - if (lookahead == '-') ADVANCE(123); + if (lookahead == '-') ADVANCE(125); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(178); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(188); END_STATE(); - case 179: + case 189: ACCEPT_TOKEN(sym_positional_record_field); END_STATE(); - case 180: + case 190: ACCEPT_TOKEN(sym_positional_record_field); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(180); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(190); END_STATE(); - case 181: + case 191: ACCEPT_TOKEN(anon_sym_POUNDtrue); END_STATE(); - case 182: + case 192: ACCEPT_TOKEN(anon_sym_POUNDfalse); END_STATE(); - case 183: + case 193: ACCEPT_TOKEN(sym_null_literal); END_STATE(); - case 184: + case 194: ACCEPT_TOKEN(anon_sym_DQUOTE); END_STATE(); - case 185: + case 195: ACCEPT_TOKEN(sym_double_quoted_content); if (lookahead == '\t' || lookahead == 0x0b || @@ -1989,27 +2200,27 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(185); + lookahead == 0xfeff) ADVANCE(195); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && lookahead != '"' && - lookahead != '\\') ADVANCE(186); + lookahead != '\\') ADVANCE(196); END_STATE(); - case 186: + case 196: ACCEPT_TOKEN(sym_double_quoted_content); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r' && lookahead != '"' && - lookahead != '\\') ADVANCE(186); + lookahead != '\\') ADVANCE(196); END_STATE(); - case 187: + case 197: ACCEPT_TOKEN(sym_escape_sequence); END_STATE(); - case 188: + case 198: ACCEPT_TOKEN(anon_sym_BQUOTE); END_STATE(); - case 189: + case 199: ACCEPT_TOKEN(sym_backtick_quoted_content); if (lookahead == '\t' || lookahead == 0x0b || @@ -2017,25 +2228,25 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || - lookahead == 0xfeff) ADVANCE(189); + lookahead == 0xfeff) ADVANCE(199); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && - lookahead != '`') ADVANCE(190); + lookahead != '`') ADVANCE(200); END_STATE(); - case 190: + case 200: ACCEPT_TOKEN(sym_backtick_quoted_content); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r' && - lookahead != '`') ADVANCE(190); + lookahead != '`') ADVANCE(200); END_STATE(); - case 191: + case 201: ACCEPT_TOKEN(sym_date_literal); END_STATE(); - case 192: + case 202: ACCEPT_TOKEN(sym_date_time_literal); END_STATE(); - case 193: + case 203: ACCEPT_TOKEN(sym_time_literal); END_STATE(); default: @@ -2045,69 +2256,69 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, - [1] = {.lex_state = 126}, - [2] = {.lex_state = 126}, - [3] = {.lex_state = 126}, - [4] = {.lex_state = 126}, - [5] = {.lex_state = 126}, - [6] = {.lex_state = 126}, - [7] = {.lex_state = 126}, - [8] = {.lex_state = 1}, - [9] = {.lex_state = 126}, - [10] = {.lex_state = 126}, - [11] = {.lex_state = 1}, - [12] = {.lex_state = 126}, - [13] = {.lex_state = 126}, - [14] = {.lex_state = 126}, - [15] = {.lex_state = 126}, - [16] = {.lex_state = 126}, - [17] = {.lex_state = 8}, - [18] = {.lex_state = 126}, - [19] = {.lex_state = 126}, - [20] = {.lex_state = 0}, - [21] = {.lex_state = 8}, - [22] = {.lex_state = 8}, - [23] = {.lex_state = 8}, - [24] = {.lex_state = 8}, - [25] = {.lex_state = 8}, - [26] = {.lex_state = 127}, - [27] = {.lex_state = 8}, - [28] = {.lex_state = 127}, - [29] = {.lex_state = 127}, - [30] = {.lex_state = 127}, - [31] = {.lex_state = 127}, - [32] = {.lex_state = 127}, - [33] = {.lex_state = 8}, - [34] = {.lex_state = 126}, - [35] = {.lex_state = 126}, - [36] = {.lex_state = 8}, - [37] = {.lex_state = 126}, - [38] = {.lex_state = 126}, - [39] = {.lex_state = 127}, - [40] = {.lex_state = 127}, - [41] = {.lex_state = 127}, - [42] = {.lex_state = 0}, - [43] = {.lex_state = 127}, - [44] = {.lex_state = 0}, - [45] = {.lex_state = 127}, - [46] = {.lex_state = 0}, - [47] = {.lex_state = 126}, + [1] = {.lex_state = 128}, + [2] = {.lex_state = 128}, + [3] = {.lex_state = 128}, + [4] = {.lex_state = 128}, + [5] = {.lex_state = 128}, + [6] = {.lex_state = 128}, + [7] = {.lex_state = 128}, + [8] = {.lex_state = 128}, + [9] = {.lex_state = 128}, + [10] = {.lex_state = 128}, + [11] = {.lex_state = 128}, + [12] = {.lex_state = 128}, + [13] = {.lex_state = 128}, + [14] = {.lex_state = 128}, + [15] = {.lex_state = 129}, + [16] = {.lex_state = 128}, + [17] = {.lex_state = 128}, + [18] = {.lex_state = 129}, + [19] = {.lex_state = 129}, + [20] = {.lex_state = 128}, + [21] = {.lex_state = 128}, + [22] = {.lex_state = 128}, + [23] = {.lex_state = 128}, + [24] = {.lex_state = 128}, + [25] = {.lex_state = 128}, + [26] = {.lex_state = 128}, + [27] = {.lex_state = 128}, + [28] = {.lex_state = 128}, + [29] = {.lex_state = 128}, + [30] = {.lex_state = 128}, + [31] = {.lex_state = 128}, + [32] = {.lex_state = 130}, + [33] = {.lex_state = 130}, + [34] = {.lex_state = 130}, + [35] = {.lex_state = 130}, + [36] = {.lex_state = 0}, + [37] = {.lex_state = 0}, + [38] = {.lex_state = 130}, + [39] = {.lex_state = 128}, + [40] = {.lex_state = 7}, + [41] = {.lex_state = 7}, + [42] = {.lex_state = 7}, + [43] = {.lex_state = 128}, + [44] = {.lex_state = 7}, + [45] = {.lex_state = 128}, + [46] = {.lex_state = 7}, + [47] = {.lex_state = 128}, [48] = {.lex_state = 0}, [49] = {.lex_state = 0}, - [50] = {.lex_state = 0}, - [51] = {.lex_state = 0}, - [52] = {.lex_state = 0}, - [53] = {.lex_state = 0}, - [54] = {.lex_state = 0}, + [50] = {.lex_state = 130}, + [51] = {.lex_state = 130}, + [52] = {.lex_state = 130}, + [53] = {.lex_state = 130}, + [54] = {.lex_state = 130}, [55] = {.lex_state = 0}, - [56] = {.lex_state = 0}, + [56] = {.lex_state = 128}, [57] = {.lex_state = 0}, - [58] = {.lex_state = 0}, - [59] = {.lex_state = 0}, - [60] = {.lex_state = 0}, - [61] = {.lex_state = 0}, - [62] = {.lex_state = 0}, - [63] = {.lex_state = 0}, + [58] = {.lex_state = 132}, + [59] = {.lex_state = 132}, + [60] = {.lex_state = 132}, + [61] = {.lex_state = 132}, + [62] = {.lex_state = 132}, + [63] = {.lex_state = 130}, [64] = {.lex_state = 0}, [65] = {.lex_state = 0}, [66] = {.lex_state = 0}, @@ -2121,81 +2332,158 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [74] = {.lex_state = 0}, [75] = {.lex_state = 0}, [76] = {.lex_state = 0}, - [77] = {.lex_state = 126}, + [77] = {.lex_state = 0}, [78] = {.lex_state = 0}, [79] = {.lex_state = 0}, [80] = {.lex_state = 0}, - [81] = {.lex_state = 2}, + [81] = {.lex_state = 0}, [82] = {.lex_state = 0}, - [83] = {.lex_state = 2}, - [84] = {.lex_state = 126}, + [83] = {.lex_state = 0}, + [84] = {.lex_state = 0}, [85] = {.lex_state = 0}, [86] = {.lex_state = 0}, [87] = {.lex_state = 0}, [88] = {.lex_state = 0}, [89] = {.lex_state = 0}, - [90] = {.lex_state = 0}, - [91] = {.lex_state = 2}, - [92] = {.lex_state = 0}, - [93] = {.lex_state = 0}, + [90] = {.lex_state = 132}, + [91] = {.lex_state = 132}, + [92] = {.lex_state = 132}, + [93] = {.lex_state = 128}, [94] = {.lex_state = 0}, - [95] = {.lex_state = 0}, - [96] = {.lex_state = 0}, + [95] = {.lex_state = 132}, + [96] = {.lex_state = 132}, [97] = {.lex_state = 0}, [98] = {.lex_state = 0}, - [99] = {.lex_state = 0}, + [99] = {.lex_state = 129}, [100] = {.lex_state = 0}, - [101] = {.lex_state = 0}, - [102] = {.lex_state = 0}, - [103] = {.lex_state = 0}, - [104] = {.lex_state = 0}, - [105] = {.lex_state = 0}, + [101] = {.lex_state = 129}, + [102] = {.lex_state = 129}, + [103] = {.lex_state = 129}, + [104] = {.lex_state = 7}, + [105] = {.lex_state = 7}, [106] = {.lex_state = 0}, - [107] = {.lex_state = 0}, + [107] = {.lex_state = 129}, [108] = {.lex_state = 0}, [109] = {.lex_state = 0}, - [110] = {.lex_state = 0}, - [111] = {.lex_state = 36}, - [112] = {.lex_state = 0}, - [113] = {.lex_state = 0}, - [114] = {.lex_state = 0}, - [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 = 0}, - [123] = {.lex_state = 0}, - [124] = {.lex_state = 127}, - [125] = {.lex_state = 0}, - [126] = {.lex_state = 0}, - [127] = {.lex_state = 0}, - [128] = {.lex_state = 0}, - [129] = {.lex_state = 0}, - [130] = {.lex_state = 0}, - [131] = {.lex_state = 0}, - [132] = {.lex_state = 0}, - [133] = {.lex_state = 48}, - [134] = {.lex_state = 0}, - [135] = {.lex_state = 0}, - [136] = {.lex_state = 126}, - [137] = {.lex_state = 0}, - [138] = {.lex_state = 0}, + [110] = {.lex_state = 7}, + [111] = {.lex_state = 7}, + [112] = {.lex_state = 129}, + [113] = {.lex_state = 129}, + [114] = {.lex_state = 129}, + [115] = {.lex_state = 129}, + [116] = {.lex_state = 129}, + [117] = {.lex_state = 129}, + [118] = {.lex_state = 129}, + [119] = {.lex_state = 129}, + [120] = {.lex_state = 129}, + [121] = {.lex_state = 129}, + [122] = {.lex_state = 129}, + [123] = {.lex_state = 129}, + [124] = {.lex_state = 129}, + [125] = {.lex_state = 129}, + [126] = {.lex_state = 129}, + [127] = {.lex_state = 129}, + [128] = {.lex_state = 129}, + [129] = {.lex_state = 129}, + [130] = {.lex_state = 129}, + [131] = {.lex_state = 129}, + [132] = {.lex_state = 129}, + [133] = {.lex_state = 129}, + [134] = {.lex_state = 129}, + [135] = {.lex_state = 129}, + [136] = {.lex_state = 129}, + [137] = {.lex_state = 129}, + [138] = {.lex_state = 129}, [139] = {.lex_state = 0}, - [140] = {.lex_state = 0}, - [141] = {.lex_state = 126}, - [142] = {.lex_state = 0}, - [143] = {.lex_state = 0}, + [140] = {.lex_state = 1}, + [141] = {.lex_state = 129}, + [142] = {.lex_state = 129}, + [143] = {.lex_state = 129}, [144] = {.lex_state = 0}, - [145] = {.lex_state = 0}, - [146] = {.lex_state = 8}, - [147] = {.lex_state = 0}, - [148] = {.lex_state = 0}, - [149] = {.lex_state = 0}, + [145] = {.lex_state = 129}, + [146] = {.lex_state = 129}, + [147] = {.lex_state = 1}, + [148] = {.lex_state = 129}, + [149] = {.lex_state = 7}, [150] = {.lex_state = 0}, - [151] = {.lex_state = 126}, + [151] = {.lex_state = 129}, + [152] = {.lex_state = 0}, + [153] = {.lex_state = 129}, + [154] = {.lex_state = 129}, + [155] = {.lex_state = 129}, + [156] = {.lex_state = 129}, + [157] = {.lex_state = 1}, + [158] = {.lex_state = 129}, + [159] = {.lex_state = 1}, + [160] = {.lex_state = 129}, + [161] = {.lex_state = 1}, + [162] = {.lex_state = 129}, + [163] = {.lex_state = 0}, + [164] = {.lex_state = 129}, + [165] = {.lex_state = 129}, + [166] = {.lex_state = 0}, + [167] = {.lex_state = 129}, + [168] = {.lex_state = 0}, + [169] = {.lex_state = 0}, + [170] = {.lex_state = 0}, + [171] = {.lex_state = 0}, + [172] = {.lex_state = 0}, + [173] = {.lex_state = 129}, + [174] = {.lex_state = 0}, + [175] = {.lex_state = 0}, + [176] = {.lex_state = 0}, + [177] = {.lex_state = 0}, + [178] = {.lex_state = 0}, + [179] = {.lex_state = 0}, + [180] = {.lex_state = 132}, + [181] = {.lex_state = 0}, + [182] = {.lex_state = 0}, + [183] = {.lex_state = 0}, + [184] = {.lex_state = 129}, + [185] = {.lex_state = 0}, + [186] = {.lex_state = 0}, + [187] = {.lex_state = 0}, + [188] = {.lex_state = 0}, + [189] = {.lex_state = 0}, + [190] = {.lex_state = 0}, + [191] = {.lex_state = 132}, + [192] = {.lex_state = 0}, + [193] = {.lex_state = 0}, + [194] = {.lex_state = 0}, + [195] = {.lex_state = 130}, + [196] = {.lex_state = 0}, + [197] = {.lex_state = 0}, + [198] = {.lex_state = 0}, + [199] = {.lex_state = 130}, + [200] = {.lex_state = 0}, + [201] = {.lex_state = 0}, + [202] = {.lex_state = 50}, + [203] = {.lex_state = 50}, + [204] = {.lex_state = 0}, + [205] = {.lex_state = 0}, + [206] = {.lex_state = 0}, + [207] = {.lex_state = 128}, + [208] = {.lex_state = 0}, + [209] = {.lex_state = 0}, + [210] = {.lex_state = 0}, + [211] = {.lex_state = 0}, + [212] = {.lex_state = 0}, + [213] = {.lex_state = 0}, + [214] = {.lex_state = 0}, + [215] = {.lex_state = 0}, + [216] = {.lex_state = 0}, + [217] = {.lex_state = 129}, + [218] = {.lex_state = 0}, + [219] = {.lex_state = 0}, + [220] = {.lex_state = 128}, + [221] = {.lex_state = 130}, + [222] = {.lex_state = 0}, + [223] = {.lex_state = 130}, + [224] = {.lex_state = 0}, + [225] = {.lex_state = 0}, + [226] = {.lex_state = 128}, + [227] = {.lex_state = 0}, + [228] = {.lex_state = 128}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -2203,6 +2491,10 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [ts_builtin_sym_end] = ACTIONS(1), [anon_sym_PIPE] = ACTIONS(1), [anon_sym_PIPE_GT] = ACTIONS(1), + [anon_sym_PIPEAND] = ACTIONS(1), + [anon_sym_PIPEOR] = ACTIONS(1), + [anon_sym_PIPEXOR] = ACTIONS(1), + [sym_unary_operator] = ACTIONS(1), [anon_sym_LPAREN] = ACTIONS(1), [anon_sym_RPAREN] = ACTIONS(1), [anon_sym_DOLLAR] = ACTIONS(1), @@ -2250,114 +2542,129 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_time_literal] = ACTIONS(1), }, [STATE(1)] = { - [sym_source_file] = STATE(142), - [sym_root_expression] = STATE(138), - [sym_open_expression] = STATE(129), - [sym_closed_expression] = STATE(129), - [sym_map_shorthand] = STATE(74), - [sym_expression] = STATE(75), - [sym_parenthesized_expression] = STATE(74), - [sym_tuple_projection] = STATE(74), - [sym_function_call] = STATE(74), - [sym_value] = STATE(49), - [sym_interval_literal] = STATE(55), - [sym_array_literal] = STATE(55), - [sym_tuple_literal] = STATE(55), - [sym_record_literal] = STATE(55), - [sym_incoming_value] = STATE(55), - [sym_record_access] = STATE(55), - [sym_record_field_selector] = STATE(26), - [sym_boolean_literal] = STATE(55), - [sym_quoted_literal] = STATE(55), - [sym_double_quoted_literal] = STATE(42), - [sym_backtick_quoted_literal] = STATE(42), - [sym_temporal_literal] = STATE(55), + [sym_source_file] = STATE(209), + [sym_root_expression] = STATE(213), + [sym_open_expression] = STATE(193), + [sym_closed_expression] = STATE(193), + [sym_map_shorthand] = STATE(89), + [sym_expression] = STATE(120), + [sym_binary_expression] = STATE(57), + [sym_unary_expression] = STATE(89), + [sym__shorthand_operand] = STATE(150), + [sym_parenthesized_expression] = STATE(89), + [sym_tuple_projection] = STATE(89), + [sym_function_call] = STATE(89), + [sym_value] = STATE(65), + [sym_interval_literal] = STATE(66), + [sym_array_literal] = STATE(66), + [sym_tuple_literal] = STATE(66), + [sym_record_literal] = STATE(66), + [sym_incoming_value] = STATE(66), + [sym_record_access] = STATE(66), + [sym_record_field_selector] = STATE(33), + [sym_boolean_literal] = STATE(66), + [sym_quoted_literal] = STATE(66), + [sym_double_quoted_literal] = STATE(49), + [sym_backtick_quoted_literal] = STATE(49), + [sym_temporal_literal] = STATE(66), [anon_sym_PIPE_GT] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(5), - [anon_sym_DOLLAR] = ACTIONS(7), - [sym_function_name] = ACTIONS(9), - [anon_sym_LBRACE] = ACTIONS(11), - [anon_sym_I] = ACTIONS(13), - [anon_sym_T] = ACTIONS(15), - [anon_sym_DOT_DOT_DOT] = ACTIONS(17), - [sym_numeric_literal] = ACTIONS(19), - [sym_variable] = ACTIONS(19), - [sym_original_input] = ACTIONS(21), - [sym_named_record_field] = ACTIONS(23), - [sym_positional_record_field] = ACTIONS(23), - [anon_sym_POUNDtrue] = ACTIONS(25), - [anon_sym_POUNDfalse] = ACTIONS(25), - [sym_null_literal] = ACTIONS(19), - [anon_sym_DQUOTE] = ACTIONS(27), - [anon_sym_BQUOTE] = ACTIONS(29), - [sym_date_literal] = ACTIONS(31), - [sym_date_time_literal] = ACTIONS(31), - [sym_time_literal] = ACTIONS(31), + [sym_unary_operator] = ACTIONS(5), + [anon_sym_LPAREN] = ACTIONS(7), + [anon_sym_DOLLAR] = ACTIONS(9), + [sym_function_name] = ACTIONS(11), + [anon_sym_LBRACE] = ACTIONS(13), + [anon_sym_I] = ACTIONS(15), + [anon_sym_T] = ACTIONS(17), + [anon_sym_DOT_DOT_DOT] = ACTIONS(19), + [sym_numeric_literal] = ACTIONS(21), + [sym_variable] = ACTIONS(21), + [sym_original_input] = ACTIONS(23), + [sym_named_record_field] = ACTIONS(25), + [sym_positional_record_field] = ACTIONS(25), + [anon_sym_POUNDtrue] = ACTIONS(27), + [anon_sym_POUNDfalse] = ACTIONS(27), + [sym_null_literal] = ACTIONS(21), + [anon_sym_DQUOTE] = ACTIONS(29), + [anon_sym_BQUOTE] = ACTIONS(31), + [sym_date_literal] = ACTIONS(33), + [sym_date_time_literal] = ACTIONS(33), + [sym_time_literal] = ACTIONS(33), }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 24, + [0] = 29, + ACTIONS(3), 1, + anon_sym_PIPE_GT, ACTIONS(5), 1, - anon_sym_LPAREN, + sym_unary_operator, ACTIONS(7), 1, + anon_sym_LPAREN, + ACTIONS(9), 1, anon_sym_DOLLAR, - ACTIONS(13), 1, - anon_sym_I, ACTIONS(15), 1, - anon_sym_T, + anon_sym_I, ACTIONS(17), 1, + anon_sym_T, + ACTIONS(19), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(21), 1, + ACTIONS(23), 1, sym_original_input, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, - ACTIONS(33), 1, - anon_sym_RPAREN, ACTIONS(35), 1, - sym_function_name, + anon_sym_RPAREN, ACTIONS(37), 1, + sym_function_name, + ACTIONS(39), 1, anon_sym_LBRACE, - STATE(26), 1, + STATE(33), 1, sym_record_field_selector, - STATE(96), 1, + STATE(98), 1, sym_function_call, - STATE(114), 1, + STATE(106), 1, sym_tuple_projection, - STATE(118), 1, + STATE(108), 1, + sym_binary_expression, + STATE(109), 1, sym_value, - ACTIONS(23), 2, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(42), 2, + STATE(49), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(116), 2, + STATE(139), 2, + sym_unary_expression, + sym_parenthesized_expression, + STATE(150), 2, + sym_map_shorthand, + sym__shorthand_operand, + STATE(175), 2, sym_positional_argument, sym_named_argument, - STATE(139), 2, + STATE(212), 2, sym_argument_list, sym__trailing_argument_list, - ACTIONS(19), 3, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(130), 5, - sym_parenthesized_expression, + STATE(201), 4, sym__argument_value, sym__nested_open_expression, sym__nested_closed_expression, sym_parameterized_expression, - STATE(55), 9, + STATE(66), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2367,139 +2674,156 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [94] = 29, + [110] = 29, ACTIONS(3), 1, anon_sym_PIPE_GT, + ACTIONS(5), 1, + sym_unary_operator, ACTIONS(7), 1, - anon_sym_DOLLAR, + anon_sym_LPAREN, ACTIONS(9), 1, - sym_function_name, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_I, + anon_sym_DOLLAR, ACTIONS(15), 1, - anon_sym_T, + anon_sym_I, ACTIONS(17), 1, + anon_sym_T, + ACTIONS(19), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(21), 1, + ACTIONS(23), 1, sym_original_input, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, + ACTIONS(37), 1, + sym_function_name, ACTIONS(39), 1, - anon_sym_LPAREN, - STATE(26), 1, + anon_sym_LBRACE, + ACTIONS(41), 1, + anon_sym_RPAREN, + STATE(33), 1, sym_record_field_selector, - STATE(49), 1, - sym_value, - STATE(51), 1, - sym__parenthesized_pipeline_expression, - STATE(75), 1, - sym_expression, + STATE(98), 1, + sym_function_call, + STATE(106), 1, + sym_tuple_projection, + STATE(108), 1, + sym_binary_expression, STATE(109), 1, - sym__pipeline_expression, - STATE(110), 1, - sym_record_access, - STATE(129), 1, - sym_open_expression, - STATE(147), 1, - sym_root_expression, - STATE(149), 1, - sym_closed_expression, - STATE(150), 1, - sym__pipeline_open_expression, - ACTIONS(23), 2, + sym_value, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(42), 2, + STATE(49), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(74), 2, - sym_map_shorthand, + STATE(139), 2, + sym_unary_expression, sym_parenthesized_expression, - STATE(94), 2, - sym_tuple_projection, - sym_function_call, - ACTIONS(19), 3, + STATE(150), 2, + sym_map_shorthand, + sym__shorthand_operand, + STATE(175), 2, + sym_positional_argument, + sym_named_argument, + STATE(215), 2, + sym_argument_list, + sym__trailing_argument_list, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(55), 8, + STATE(201), 4, + sym__argument_value, + sym__nested_open_expression, + sym__nested_closed_expression, + sym_parameterized_expression, + STATE(66), 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, - [198] = 23, + [220] = 28, + ACTIONS(3), 1, + anon_sym_PIPE_GT, ACTIONS(5), 1, - anon_sym_LPAREN, + sym_unary_operator, ACTIONS(7), 1, + anon_sym_LPAREN, + ACTIONS(9), 1, anon_sym_DOLLAR, - ACTIONS(13), 1, - anon_sym_I, ACTIONS(15), 1, - anon_sym_T, + anon_sym_I, ACTIONS(17), 1, + anon_sym_T, + ACTIONS(19), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(21), 1, + ACTIONS(23), 1, sym_original_input, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, - ACTIONS(35), 1, - sym_function_name, ACTIONS(37), 1, + sym_function_name, + ACTIONS(39), 1, anon_sym_LBRACE, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_RPAREN, - STATE(26), 1, + STATE(33), 1, sym_record_field_selector, - STATE(96), 1, + STATE(98), 1, sym_function_call, - STATE(114), 1, + STATE(106), 1, sym_tuple_projection, - STATE(118), 1, + STATE(108), 1, + sym_binary_expression, + STATE(109), 1, sym_value, - ACTIONS(23), 2, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(42), 2, + STATE(49), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(128), 2, + STATE(139), 2, + sym_unary_expression, + sym_parenthesized_expression, + STATE(150), 2, + sym_map_shorthand, + sym__shorthand_operand, + STATE(205), 2, sym_positional_argument, sym_named_argument, - ACTIONS(19), 3, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(130), 5, - sym_parenthesized_expression, + STATE(201), 4, sym__argument_value, sym__nested_open_expression, sym__nested_closed_expression, sym_parameterized_expression, - STATE(55), 9, + STATE(66), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2509,129 +2833,157 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [288] = 23, + [326] = 32, + ACTIONS(3), 1, + anon_sym_PIPE_GT, ACTIONS(5), 1, - anon_sym_LPAREN, - ACTIONS(7), 1, + sym_unary_operator, + ACTIONS(9), 1, anon_sym_DOLLAR, + ACTIONS(11), 1, + sym_function_name, ACTIONS(13), 1, - anon_sym_I, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_T, + anon_sym_I, ACTIONS(17), 1, + anon_sym_T, + ACTIONS(19), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(21), 1, + ACTIONS(23), 1, sym_original_input, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, - ACTIONS(35), 1, - sym_function_name, - ACTIONS(37), 1, - anon_sym_LBRACE, - ACTIONS(43), 1, - anon_sym_RPAREN, - STATE(26), 1, + ACTIONS(45), 1, + anon_sym_LPAREN, + STATE(33), 1, sym_record_field_selector, - STATE(96), 1, - sym_function_call, - STATE(114), 1, - sym_tuple_projection, - STATE(118), 1, + STATE(57), 1, + sym_binary_expression, + STATE(65), 1, sym_value, - ACTIONS(23), 2, + STATE(94), 1, + sym_record_access, + STATE(114), 1, + sym__parenthesized_pipeline_expression, + STATE(120), 1, + sym_expression, + STATE(150), 1, + sym__shorthand_operand, + STATE(164), 1, + sym__pipeline_expression, + STATE(193), 1, + sym_open_expression, + STATE(208), 1, + sym_root_expression, + STATE(211), 1, + sym_closed_expression, + STATE(222), 1, + sym__pipeline_open_expression, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(42), 2, + STATE(49), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(128), 2, - sym_positional_argument, - sym_named_argument, - ACTIONS(19), 3, + STATE(97), 2, + sym_tuple_projection, + sym_function_call, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(130), 5, + STATE(89), 3, + sym_map_shorthand, + sym_unary_expression, sym_parenthesized_expression, - sym__argument_value, - sym__nested_open_expression, - sym__nested_closed_expression, - sym_parameterized_expression, - STATE(55), 9, + STATE(66), 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, - [378] = 22, + [440] = 28, + ACTIONS(3), 1, + anon_sym_PIPE_GT, ACTIONS(5), 1, - anon_sym_LPAREN, + sym_unary_operator, ACTIONS(7), 1, + anon_sym_LPAREN, + ACTIONS(9), 1, anon_sym_DOLLAR, - ACTIONS(13), 1, - anon_sym_I, ACTIONS(15), 1, - anon_sym_T, + anon_sym_I, ACTIONS(17), 1, + anon_sym_T, + ACTIONS(19), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(21), 1, + ACTIONS(23), 1, sym_original_input, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, - ACTIONS(35), 1, - sym_function_name, ACTIONS(37), 1, + sym_function_name, + ACTIONS(39), 1, anon_sym_LBRACE, - STATE(26), 1, + ACTIONS(47), 1, + anon_sym_RPAREN, + STATE(33), 1, sym_record_field_selector, - STATE(96), 1, + STATE(98), 1, sym_function_call, - STATE(114), 1, + STATE(106), 1, sym_tuple_projection, - STATE(118), 1, + STATE(108), 1, + sym_binary_expression, + STATE(109), 1, sym_value, - ACTIONS(23), 2, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(42), 2, + STATE(49), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(128), 2, + STATE(139), 2, + sym_unary_expression, + sym_parenthesized_expression, + STATE(150), 2, + sym_map_shorthand, + sym__shorthand_operand, + STATE(205), 2, sym_positional_argument, sym_named_argument, - ACTIONS(19), 3, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(130), 5, - sym_parenthesized_expression, + STATE(201), 4, sym__argument_value, sym__nested_open_expression, sym__nested_closed_expression, sym_parameterized_expression, - STATE(55), 9, + STATE(66), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2641,63 +2993,73 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [465] = 23, + [546] = 27, ACTIONS(3), 1, anon_sym_PIPE_GT, ACTIONS(5), 1, - anon_sym_LPAREN, + sym_unary_operator, ACTIONS(7), 1, - anon_sym_DOLLAR, + anon_sym_LPAREN, ACTIONS(9), 1, - sym_function_name, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_I, + anon_sym_DOLLAR, ACTIONS(15), 1, - anon_sym_T, + anon_sym_I, ACTIONS(17), 1, + anon_sym_T, + ACTIONS(19), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(21), 1, + ACTIONS(23), 1, sym_original_input, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, - STATE(26), 1, + ACTIONS(37), 1, + sym_function_name, + ACTIONS(39), 1, + anon_sym_LBRACE, + STATE(33), 1, sym_record_field_selector, - STATE(49), 1, + STATE(98), 1, + sym_function_call, + STATE(106), 1, + sym_tuple_projection, + STATE(108), 1, + sym_binary_expression, + STATE(109), 1, sym_value, - STATE(75), 1, - sym_expression, - STATE(147), 1, - sym_root_expression, - ACTIONS(23), 2, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(42), 2, + STATE(49), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(129), 2, - sym_open_expression, - sym_closed_expression, - ACTIONS(19), 3, + STATE(139), 2, + sym_unary_expression, + sym_parenthesized_expression, + STATE(150), 2, + sym_map_shorthand, + sym__shorthand_operand, + STATE(205), 2, + sym_positional_argument, + sym_named_argument, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(74), 4, - sym_map_shorthand, - sym_parenthesized_expression, - sym_tuple_projection, - sym_function_call, - STATE(55), 9, + STATE(201), 4, + sym__argument_value, + sym__nested_open_expression, + sym__nested_closed_expression, + sym_parameterized_expression, + STATE(66), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2707,61 +3069,70 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [554] = 23, + [649] = 26, + ACTIONS(3), 1, + anon_sym_PIPE_GT, + ACTIONS(5), 1, + sym_unary_operator, ACTIONS(7), 1, + anon_sym_LPAREN, + ACTIONS(9), 1, anon_sym_DOLLAR, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_function_name, ACTIONS(13), 1, - anon_sym_I, + anon_sym_LBRACE, ACTIONS(15), 1, + anon_sym_I, + ACTIONS(17), 1, anon_sym_T, - ACTIONS(21), 1, + ACTIONS(19), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(23), 1, sym_original_input, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, - ACTIONS(45), 1, - anon_sym_RBRACE, - ACTIONS(47), 1, - anon_sym_COLON, - ACTIONS(49), 1, - anon_sym_DOT_DOT_DOT, - ACTIONS(51), 1, - sym_unquoted_record_field_name, - STATE(26), 1, + STATE(33), 1, sym_record_field_selector, - STATE(99), 1, + STATE(57), 1, + sym_binary_expression, + STATE(65), 1, sym_value, - STATE(119), 1, - sym__array_closed_expression, - STATE(145), 1, - sym_tuple_projection, - STATE(151), 1, - sym_record_field_name, - ACTIONS(23), 2, + STATE(120), 1, + sym_expression, + STATE(150), 1, + sym__shorthand_operand, + STATE(208), 1, + sym_root_expression, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(84), 2, + STATE(49), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(19), 3, + STATE(193), 2, + sym_open_expression, + sym_closed_expression, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(120), 3, - sym__record_entry, - sym_record_field, - sym_record_spread, - STATE(55), 9, + STATE(89), 5, + sym_map_shorthand, + sym_unary_expression, + sym_parenthesized_expression, + sym_tuple_projection, + sym_function_call, + STATE(66), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2771,59 +3142,70 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [641] = 21, + [748] = 26, + ACTIONS(3), 1, + anon_sym_PIPE_GT, ACTIONS(5), 1, - anon_sym_LPAREN, + sym_unary_operator, ACTIONS(7), 1, - anon_sym_DOLLAR, + anon_sym_LPAREN, ACTIONS(9), 1, + anon_sym_DOLLAR, + ACTIONS(11), 1, sym_function_name, - ACTIONS(13), 1, - anon_sym_I, ACTIONS(15), 1, - anon_sym_T, + anon_sym_I, ACTIONS(17), 1, + anon_sym_T, + ACTIONS(19), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(21), 1, + ACTIONS(23), 1, sym_original_input, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, - ACTIONS(37), 1, + ACTIONS(39), 1, anon_sym_LBRACE, - STATE(26), 1, + STATE(33), 1, sym_record_field_selector, - STATE(96), 1, + STATE(98), 1, sym_function_call, - STATE(114), 1, + STATE(106), 1, sym_tuple_projection, - STATE(118), 1, + STATE(108), 1, + sym_binary_expression, + STATE(109), 1, sym_value, - ACTIONS(23), 2, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(42), 2, + STATE(49), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(19), 3, + STATE(139), 2, + sym_unary_expression, + sym_parenthesized_expression, + STATE(150), 2, + sym_map_shorthand, + sym__shorthand_operand, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(135), 5, - sym_parenthesized_expression, + STATE(204), 4, sym__argument_value, sym__nested_open_expression, sym__nested_closed_expression, sym_parameterized_expression, - STATE(55), 9, + STATE(66), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2833,60 +3215,73 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [724] = 22, - ACTIONS(7), 1, - anon_sym_DOLLAR, + [847] = 28, + ACTIONS(3), 1, + anon_sym_PIPE_GT, + ACTIONS(5), 1, + sym_unary_operator, ACTIONS(9), 1, - sym_function_name, + anon_sym_DOLLAR, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_function_name, ACTIONS(13), 1, - anon_sym_I, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_T, + anon_sym_I, ACTIONS(17), 1, + anon_sym_T, + ACTIONS(19), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(21), 1, + ACTIONS(23), 1, sym_original_input, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, - ACTIONS(53), 1, + ACTIONS(45), 1, anon_sym_LPAREN, - STATE(26), 1, + STATE(33), 1, sym_record_field_selector, - STATE(49), 1, - sym_value, - STATE(51), 1, - sym__parenthesized_pipeline_expression, - STATE(110), 1, + STATE(57), 1, + sym_binary_expression, + STATE(94), 1, sym_record_access, - ACTIONS(23), 2, + STATE(114), 1, + sym__parenthesized_pipeline_expression, + STATE(120), 1, + sym_expression, + STATE(155), 1, + sym__pipeline_expression, + STATE(218), 1, + sym_open_expression, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(42), 2, + STATE(49), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, + STATE(97), 2, + sym_tuple_projection, + sym_function_call, STATE(150), 2, - sym_closed_expression, - sym__pipeline_open_expression, - ACTIONS(19), 3, + sym__shorthand_operand, + sym_value, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(109), 3, - sym__pipeline_expression, - sym_tuple_projection, - sym_function_call, - STATE(55), 8, + STATE(89), 3, + sym_map_shorthand, + sym_unary_expression, + sym_parenthesized_expression, + STATE(66), 8, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2895,57 +3290,67 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [808] = 21, + [950] = 25, + ACTIONS(3), 1, + anon_sym_PIPE_GT, + ACTIONS(5), 1, + sym_unary_operator, + ACTIONS(7), 1, + anon_sym_LPAREN, + ACTIONS(9), 1, + anon_sym_DOLLAR, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_function_name, ACTIONS(13), 1, - anon_sym_I, + anon_sym_LBRACE, ACTIONS(15), 1, + anon_sym_I, + ACTIONS(17), 1, anon_sym_T, - ACTIONS(21), 1, + ACTIONS(19), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(23), 1, sym_original_input, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, - ACTIONS(45), 1, - anon_sym_RBRACE, - ACTIONS(47), 1, - anon_sym_COLON, - ACTIONS(49), 1, - anon_sym_DOT_DOT_DOT, - ACTIONS(51), 1, - sym_unquoted_record_field_name, - STATE(26), 1, + STATE(33), 1, sym_record_field_selector, - STATE(85), 1, - sym_value, - STATE(119), 1, - sym__array_closed_expression, - STATE(151), 1, - sym_record_field_name, - ACTIONS(23), 2, + STATE(57), 1, + sym_binary_expression, + STATE(100), 1, + sym_parenthesized_expression, + STATE(143), 1, + sym_expression, + STATE(148), 1, + sym_parenthesized_open_expression, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(84), 2, + STATE(49), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(19), 3, + STATE(150), 2, + sym__shorthand_operand, + sym_value, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(120), 3, - sym__record_entry, - sym_record_field, - sym_record_spread, - STATE(55), 9, + STATE(89), 4, + sym_map_shorthand, + sym_unary_expression, + sym_tuple_projection, + sym_function_call, + STATE(66), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -2955,46 +3360,66 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [889] = 16, + [1045] = 24, + ACTIONS(3), 1, + anon_sym_PIPE_GT, + ACTIONS(5), 1, + sym_unary_operator, + ACTIONS(7), 1, + anon_sym_LPAREN, + ACTIONS(9), 1, + anon_sym_DOLLAR, ACTIONS(11), 1, + sym_function_name, + ACTIONS(13), 1, anon_sym_LBRACE, + ACTIONS(15), 1, + anon_sym_I, ACTIONS(17), 1, + anon_sym_T, + ACTIONS(19), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(21), 1, + ACTIONS(23), 1, sym_original_input, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, - ACTIONS(55), 1, - anon_sym_I, - ACTIONS(57), 1, - anon_sym_T, - STATE(26), 1, + STATE(33), 1, sym_record_field_selector, - STATE(106), 1, - sym_value, - ACTIONS(23), 2, + STATE(57), 1, + sym_binary_expression, + STATE(120), 1, + sym_expression, + STATE(218), 1, + sym_open_expression, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(42), 2, + STATE(49), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - STATE(134), 2, - sym__array_element, - sym__array_closed_expression, - ACTIONS(19), 3, + STATE(150), 2, + sym__shorthand_operand, + sym_value, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(55), 9, + STATE(89), 5, + sym_map_shorthand, + sym_unary_expression, + sym_parenthesized_expression, + sym_tuple_projection, + sym_function_call, + STATE(66), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -3004,43 +3429,64 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [954] = 15, - ACTIONS(11), 1, - anon_sym_LBRACE, - 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(55), 1, + [1138] = 23, + ACTIONS(3), 1, + anon_sym_PIPE_GT, + ACTIONS(5), 1, + sym_unary_operator, + ACTIONS(7), 1, + anon_sym_LPAREN, + ACTIONS(9), 1, + anon_sym_DOLLAR, + ACTIONS(11), 1, + sym_function_name, + ACTIONS(13), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, anon_sym_I, - ACTIONS(57), 1, + ACTIONS(17), 1, anon_sym_T, - STATE(26), 1, + ACTIONS(19), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(23), 1, + sym_original_input, + ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, + anon_sym_BQUOTE, + STATE(33), 1, sym_record_field_selector, - STATE(115), 1, - sym_value, - ACTIONS(23), 2, + STATE(57), 1, + sym_binary_expression, + STATE(75), 1, + sym_expression, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(42), 2, + STATE(49), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(19), 3, + STATE(150), 2, + sym__shorthand_operand, + sym_value, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(55), 9, + STATE(78), 5, + sym_map_shorthand, + sym_unary_expression, + sym_parenthesized_expression, + sym_tuple_projection, + sym_function_call, + STATE(66), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -3050,43 +3496,59 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [1015] = 15, + [1228] = 20, + ACTIONS(3), 1, + anon_sym_PIPE_GT, + ACTIONS(5), 1, + sym_unary_operator, + ACTIONS(7), 1, + anon_sym_LPAREN, + ACTIONS(9), 1, + anon_sym_DOLLAR, ACTIONS(11), 1, + sym_function_name, + ACTIONS(13), 1, anon_sym_LBRACE, + ACTIONS(15), 1, + anon_sym_I, ACTIONS(17), 1, + anon_sym_T, + ACTIONS(19), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(21), 1, + ACTIONS(23), 1, sym_original_input, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, - ACTIONS(55), 1, - anon_sym_I, - ACTIONS(57), 1, - anon_sym_T, - STATE(26), 1, + STATE(33), 1, sym_record_field_selector, - STATE(144), 1, - sym_value, - ACTIONS(23), 2, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(42), 2, + STATE(49), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(19), 3, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(55), 9, + STATE(81), 7, + sym_map_shorthand, + sym_unary_expression, + sym__shorthand_operand, + sym_parenthesized_expression, + sym_tuple_projection, + sym_function_call, + sym_value, + STATE(66), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -3096,43 +3558,61 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [1076] = 15, - ACTIONS(11), 1, + [1310] = 23, + ACTIONS(49), 1, + anon_sym_DOLLAR, + ACTIONS(51), 1, anon_sym_LBRACE, - 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(53), 1, + anon_sym_RBRACE, ACTIONS(55), 1, anon_sym_I, ACTIONS(57), 1, anon_sym_T, - STATE(26), 1, + ACTIONS(59), 1, + anon_sym_COLON, + ACTIONS(61), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(63), 1, + sym_unquoted_record_field_name, + ACTIONS(67), 1, + sym_original_input, + ACTIONS(73), 1, + anon_sym_DQUOTE, + ACTIONS(75), 1, + anon_sym_BQUOTE, + STATE(58), 1, sym_record_field_selector, - STATE(132), 1, + STATE(153), 1, sym_value, - ACTIONS(23), 2, + STATE(169), 1, + sym__array_closed_expression, + STATE(217), 1, + sym_tuple_projection, + STATE(220), 1, + sym_record_field_name, + ACTIONS(69), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(71), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(42), 2, + STATE(149), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(19), 3, + ACTIONS(65), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(77), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(55), 9, + STATE(170), 3, + sym__record_entry, + sym_record_field, + sym_record_spread, + STATE(122), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -3142,43 +3622,58 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [1137] = 15, + [1397] = 20, + ACTIONS(3), 1, + anon_sym_PIPE_GT, + ACTIONS(5), 1, + sym_unary_operator, + ACTIONS(7), 1, + anon_sym_LPAREN, + ACTIONS(9), 1, + anon_sym_DOLLAR, ACTIONS(11), 1, + sym_function_name, + ACTIONS(13), 1, anon_sym_LBRACE, + ACTIONS(15), 1, + anon_sym_I, ACTIONS(17), 1, + anon_sym_T, + ACTIONS(19), 1, anon_sym_DOT_DOT_DOT, - ACTIONS(21), 1, + ACTIONS(23), 1, sym_original_input, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, anon_sym_BQUOTE, - ACTIONS(55), 1, - anon_sym_I, - ACTIONS(57), 1, - anon_sym_T, - STATE(26), 1, + STATE(33), 1, sym_record_field_selector, - STATE(127), 1, - sym_value, - ACTIONS(23), 2, + ACTIONS(25), 2, sym_named_record_field, sym_positional_record_field, - ACTIONS(25), 2, + ACTIONS(27), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - STATE(42), 2, + STATE(49), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(19), 3, + ACTIONS(21), 3, sym_numeric_literal, sym_variable, sym_null_literal, - ACTIONS(31), 3, + ACTIONS(33), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(55), 9, + STATE(83), 6, + sym_map_shorthand, + sym_unary_expression, + sym_parenthesized_expression, + sym_tuple_projection, + sym_function_call, + sym_value, + STATE(66), 9, sym_interval_literal, sym_array_literal, sym_tuple_literal, @@ -3188,461 +3683,1513 @@ static const uint16_t ts_small_parse_table[] = { sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [1198] = 13, - ACTIONS(3), 1, - anon_sym_PIPE_GT, - ACTIONS(7), 1, + [1478] = 22, + ACTIONS(49), 1, anon_sym_DOLLAR, - ACTIONS(21), 1, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(55), 1, + anon_sym_I, + ACTIONS(57), 1, + anon_sym_T, + ACTIONS(67), 1, sym_original_input, - ACTIONS(39), 1, + ACTIONS(73), 1, + anon_sym_DQUOTE, + ACTIONS(75), 1, + anon_sym_BQUOTE, + ACTIONS(79), 1, anon_sym_LPAREN, - ACTIONS(59), 1, + ACTIONS(81), 1, sym_function_name, - STATE(26), 1, + ACTIONS(83), 1, + anon_sym_DOT_DOT_DOT, + STATE(58), 1, sym_record_field_selector, - STATE(51), 1, + STATE(114), 1, sym__parenthesized_pipeline_expression, - STATE(75), 1, - sym_expression, - STATE(143), 1, - sym_open_expression, - ACTIONS(23), 2, + STATE(118), 1, + sym_value, + STATE(165), 1, + sym_record_access, + ACTIONS(69), 2, sym_named_record_field, sym_positional_record_field, - STATE(74), 2, - sym_map_shorthand, - sym_parenthesized_expression, - STATE(80), 2, - sym__pipeline_expression, - sym_record_access, - STATE(94), 2, - sym_tuple_projection, - sym_function_call, - [1242] = 9, - ACTIONS(27), 1, - anon_sym_DQUOTE, - ACTIONS(29), 1, - anon_sym_BQUOTE, - ACTIONS(63), 1, - sym_numeric_literal, - STATE(140), 1, - sym_interval_bound, - ACTIONS(25), 2, + ACTIONS(71), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - ACTIONS(61), 2, - anon_sym_PLUSINF, - anon_sym_DASHINF, - STATE(42), 2, + STATE(125), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(31), 3, + STATE(222), 2, + sym_closed_expression, + sym__pipeline_open_expression, + ACTIONS(65), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, + ACTIONS(77), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(100), 4, - sym_infinite_bound, + STATE(164), 3, + sym__pipeline_expression, + sym_tuple_projection, + sym_function_call, + STATE(122), 8, + sym_interval_literal, + sym_array_literal, + sym_tuple_literal, + sym_record_literal, + sym_incoming_value, sym_boolean_literal, sym_quoted_literal, sym_temporal_literal, - [1278] = 9, - ACTIONS(27), 1, + [1562] = 21, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(55), 1, + anon_sym_I, + ACTIONS(57), 1, + anon_sym_T, + ACTIONS(61), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(63), 1, + sym_unquoted_record_field_name, + ACTIONS(67), 1, + sym_original_input, + ACTIONS(73), 1, anon_sym_DQUOTE, - ACTIONS(29), 1, + ACTIONS(75), 1, anon_sym_BQUOTE, - ACTIONS(63), 1, - sym_numeric_literal, - STATE(102), 1, - sym_interval_bound, - ACTIONS(25), 2, + ACTIONS(85), 1, + anon_sym_RBRACE, + ACTIONS(87), 1, + anon_sym_COLON, + STATE(58), 1, + sym_record_field_selector, + STATE(160), 1, + sym_value, + STATE(182), 1, + sym__array_closed_expression, + STATE(220), 1, + sym_record_field_name, + ACTIONS(69), 2, + sym_named_record_field, + sym_positional_record_field, + ACTIONS(71), 2, anon_sym_POUNDtrue, anon_sym_POUNDfalse, - ACTIONS(61), 2, - anon_sym_PLUSINF, - anon_sym_DASHINF, - STATE(42), 2, + STATE(149), 2, sym_double_quoted_literal, sym_backtick_quoted_literal, - ACTIONS(31), 3, + ACTIONS(65), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, + ACTIONS(77), 3, sym_date_literal, sym_date_time_literal, sym_time_literal, - STATE(100), 4, - sym_infinite_bound, + STATE(183), 3, + sym__record_entry, + sym_record_field, + sym_record_spread, + STATE(122), 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, - [1314] = 4, - ACTIONS(65), 1, - anon_sym_LPAREN, - STATE(67), 1, - sym_interval_shorthand, - ACTIONS(67), 2, - anon_sym_LBRACK, - anon_sym_RBRACK, - ACTIONS(69), 9, - anon_sym_LPAREN0_PLUS_RPAREN, - anon_sym_LPAREN_PLUS_RPAREN, - anon_sym_LPAREN0_DASH_RPAREN, - anon_sym_LPAREN_DASH_RPAREN, - anon_sym_LPARENpositive_RPAREN, - anon_sym_LPARENnegative_RPAREN, - anon_sym_LPARENabsolutely_DASHpositive_RPAREN, - anon_sym_LPARENabsolutely_DASHnegative_RPAREN, - aux_sym_interval_shorthand_token1, - [1336] = 8, - ACTIONS(7), 1, - anon_sym_DOLLAR, - ACTIONS(21), 1, - sym_original_input, + [1643] = 21, + ACTIONS(51), 1, + anon_sym_LBRACE, ACTIONS(53), 1, - anon_sym_LPAREN, + anon_sym_RBRACE, + ACTIONS(55), 1, + anon_sym_I, + ACTIONS(57), 1, + anon_sym_T, ACTIONS(59), 1, - sym_function_name, - STATE(26), 1, + anon_sym_COLON, + ACTIONS(61), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(63), 1, + sym_unquoted_record_field_name, + ACTIONS(67), 1, + sym_original_input, + ACTIONS(73), 1, + anon_sym_DQUOTE, + ACTIONS(75), 1, + anon_sym_BQUOTE, + STATE(58), 1, sym_record_field_selector, - STATE(51), 1, - sym__parenthesized_pipeline_expression, - ACTIONS(23), 2, + STATE(141), 1, + sym_value, + STATE(169), 1, + sym__array_closed_expression, + STATE(220), 1, + sym_record_field_name, + ACTIONS(69), 2, sym_named_record_field, sym_positional_record_field, - STATE(89), 4, - sym__pipeline_expression, - sym_tuple_projection, - sym_function_call, + ACTIONS(71), 2, + anon_sym_POUNDtrue, + anon_sym_POUNDfalse, + STATE(149), 2, + sym_double_quoted_literal, + sym_backtick_quoted_literal, + ACTIONS(65), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, + ACTIONS(77), 3, + sym_date_literal, + sym_date_time_literal, + sym_time_literal, + STATE(170), 3, + sym__record_entry, + sym_record_field, + sym_record_spread, + STATE(122), 9, + sym_interval_literal, + sym_array_literal, + sym_tuple_literal, + sym_record_literal, + sym_incoming_value, sym_record_access, - [1365] = 8, - ACTIONS(7), 1, + sym_boolean_literal, + sym_quoted_literal, + sym_temporal_literal, + [1724] = 16, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(67), 1, + sym_original_input, + ACTIONS(73), 1, + anon_sym_DQUOTE, + ACTIONS(75), 1, + anon_sym_BQUOTE, + ACTIONS(83), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(89), 1, + anon_sym_I, + ACTIONS(91), 1, + anon_sym_T, + STATE(58), 1, + sym_record_field_selector, + STATE(184), 1, + sym_value, + ACTIONS(69), 2, + sym_named_record_field, + sym_positional_record_field, + ACTIONS(71), 2, + anon_sym_POUNDtrue, + anon_sym_POUNDfalse, + STATE(125), 2, + sym_double_quoted_literal, + sym_backtick_quoted_literal, + STATE(198), 2, + sym__array_element, + sym__array_closed_expression, + ACTIONS(65), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, + ACTIONS(77), 3, + sym_date_literal, + sym_date_time_literal, + sym_time_literal, + STATE(122), 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, + [1789] = 15, + ACTIONS(13), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(23), 1, + sym_original_input, + ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, + anon_sym_BQUOTE, + ACTIONS(93), 1, + anon_sym_I, + ACTIONS(95), 1, + anon_sym_T, + STATE(33), 1, + sym_record_field_selector, + STATE(194), 1, + sym_value, + ACTIONS(25), 2, + sym_named_record_field, + sym_positional_record_field, + ACTIONS(27), 2, + anon_sym_POUNDtrue, + anon_sym_POUNDfalse, + STATE(49), 2, + sym_double_quoted_literal, + sym_backtick_quoted_literal, + ACTIONS(21), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, + ACTIONS(33), 3, + sym_date_literal, + sym_date_time_literal, + sym_time_literal, + STATE(66), 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, + [1850] = 15, + ACTIONS(13), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(23), 1, + sym_original_input, + ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, + anon_sym_BQUOTE, + ACTIONS(93), 1, + anon_sym_I, + ACTIONS(95), 1, + anon_sym_T, + STATE(33), 1, + sym_record_field_selector, + STATE(227), 1, + sym_value, + ACTIONS(25), 2, + sym_named_record_field, + sym_positional_record_field, + ACTIONS(27), 2, + anon_sym_POUNDtrue, + anon_sym_POUNDfalse, + STATE(49), 2, + sym_double_quoted_literal, + sym_backtick_quoted_literal, + ACTIONS(21), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, + ACTIONS(33), 3, + sym_date_literal, + sym_date_time_literal, + sym_time_literal, + STATE(66), 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, + [1911] = 15, + ACTIONS(13), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(23), 1, + sym_original_input, + ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, + anon_sym_BQUOTE, + ACTIONS(93), 1, + anon_sym_I, + ACTIONS(95), 1, + anon_sym_T, + STATE(33), 1, + sym_record_field_selector, + STATE(172), 1, + sym_value, + ACTIONS(25), 2, + sym_named_record_field, + sym_positional_record_field, + ACTIONS(27), 2, + anon_sym_POUNDtrue, + anon_sym_POUNDfalse, + STATE(49), 2, + sym_double_quoted_literal, + sym_backtick_quoted_literal, + ACTIONS(21), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, + ACTIONS(33), 3, + sym_date_literal, + sym_date_time_literal, + sym_time_literal, + STATE(66), 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, + [1972] = 15, + ACTIONS(13), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(23), 1, + sym_original_input, + ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, + anon_sym_BQUOTE, + ACTIONS(93), 1, + anon_sym_I, + ACTIONS(95), 1, + anon_sym_T, + STATE(33), 1, + sym_record_field_selector, + STATE(225), 1, + sym_value, + ACTIONS(25), 2, + sym_named_record_field, + sym_positional_record_field, + ACTIONS(27), 2, + anon_sym_POUNDtrue, + anon_sym_POUNDfalse, + STATE(49), 2, + sym_double_quoted_literal, + sym_backtick_quoted_literal, + ACTIONS(21), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, + ACTIONS(33), 3, + sym_date_literal, + sym_date_time_literal, + sym_time_literal, + STATE(66), 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, + [2033] = 15, + ACTIONS(13), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(23), 1, + sym_original_input, + ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, + anon_sym_BQUOTE, + ACTIONS(93), 1, + anon_sym_I, + ACTIONS(95), 1, + anon_sym_T, + STATE(33), 1, + sym_record_field_selector, + STATE(200), 1, + sym_value, + ACTIONS(25), 2, + sym_named_record_field, + sym_positional_record_field, + ACTIONS(27), 2, + anon_sym_POUNDtrue, + anon_sym_POUNDfalse, + STATE(49), 2, + sym_double_quoted_literal, + sym_backtick_quoted_literal, + ACTIONS(21), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, + ACTIONS(33), 3, + sym_date_literal, + sym_date_time_literal, + sym_time_literal, + STATE(66), 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, + [2094] = 15, + ACTIONS(13), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(23), 1, + sym_original_input, + ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, + anon_sym_BQUOTE, + ACTIONS(93), 1, + anon_sym_I, + ACTIONS(95), 1, + anon_sym_T, + STATE(33), 1, + sym_record_field_selector, + STATE(188), 1, + sym_value, + ACTIONS(25), 2, + sym_named_record_field, + sym_positional_record_field, + ACTIONS(27), 2, + anon_sym_POUNDtrue, + anon_sym_POUNDfalse, + STATE(49), 2, + sym_double_quoted_literal, + sym_backtick_quoted_literal, + ACTIONS(21), 3, + sym_numeric_literal, + sym_variable, + sym_null_literal, + ACTIONS(33), 3, + sym_date_literal, + sym_date_time_literal, + sym_time_literal, + STATE(66), 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, + [2155] = 2, + ACTIONS(99), 3, + sym_function_name, + anon_sym_I, + anon_sym_T, + ACTIONS(97), 19, + anon_sym_PIPE_GT, + sym_unary_operator, + anon_sym_LPAREN, anon_sym_DOLLAR, - ACTIONS(21), 1, + anon_sym_LBRACE, + anon_sym_DOT_DOT_DOT, + sym_numeric_literal, + sym_variable, sym_original_input, - ACTIONS(53), 1, + sym_named_record_field, + sym_positional_record_field, + anon_sym_POUNDtrue, + anon_sym_POUNDfalse, + sym_null_literal, + anon_sym_DQUOTE, + anon_sym_BQUOTE, + sym_date_literal, + sym_date_time_literal, + sym_time_literal, + [2182] = 9, + ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, + anon_sym_BQUOTE, + ACTIONS(103), 1, + sym_numeric_literal, + STATE(187), 1, + sym_interval_bound, + ACTIONS(27), 2, + anon_sym_POUNDtrue, + anon_sym_POUNDfalse, + ACTIONS(101), 2, + anon_sym_PLUSINF, + anon_sym_DASHINF, + STATE(49), 2, + sym_double_quoted_literal, + sym_backtick_quoted_literal, + ACTIONS(33), 3, + sym_date_literal, + sym_date_time_literal, + sym_time_literal, + STATE(144), 4, + sym_infinite_bound, + sym_boolean_literal, + sym_quoted_literal, + sym_temporal_literal, + [2218] = 9, + ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, + anon_sym_BQUOTE, + ACTIONS(103), 1, + sym_numeric_literal, + STATE(219), 1, + sym_interval_bound, + ACTIONS(27), 2, + anon_sym_POUNDtrue, + anon_sym_POUNDfalse, + ACTIONS(101), 2, + anon_sym_PLUSINF, + anon_sym_DASHINF, + STATE(49), 2, + sym_double_quoted_literal, + sym_backtick_quoted_literal, + ACTIONS(33), 3, + sym_date_literal, + sym_date_time_literal, + sym_time_literal, + STATE(144), 4, + sym_infinite_bound, + sym_boolean_literal, + sym_quoted_literal, + sym_temporal_literal, + [2254] = 9, + ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, + anon_sym_BQUOTE, + ACTIONS(103), 1, + sym_numeric_literal, + STATE(171), 1, + sym_interval_bound, + ACTIONS(27), 2, + anon_sym_POUNDtrue, + anon_sym_POUNDfalse, + ACTIONS(101), 2, + anon_sym_PLUSINF, + anon_sym_DASHINF, + STATE(49), 2, + sym_double_quoted_literal, + sym_backtick_quoted_literal, + ACTIONS(33), 3, + sym_date_literal, + sym_date_time_literal, + sym_time_literal, + STATE(144), 4, + sym_infinite_bound, + sym_boolean_literal, + sym_quoted_literal, + sym_temporal_literal, + [2290] = 9, + ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, + anon_sym_BQUOTE, + ACTIONS(103), 1, + sym_numeric_literal, + STATE(224), 1, + sym_interval_bound, + ACTIONS(27), 2, + anon_sym_POUNDtrue, + anon_sym_POUNDfalse, + ACTIONS(101), 2, + anon_sym_PLUSINF, + anon_sym_DASHINF, + STATE(49), 2, + sym_double_quoted_literal, + sym_backtick_quoted_literal, + ACTIONS(33), 3, + sym_date_literal, + sym_date_time_literal, + sym_time_literal, + STATE(144), 4, + sym_infinite_bound, + sym_boolean_literal, + sym_quoted_literal, + sym_temporal_literal, + [2326] = 5, + ACTIONS(107), 1, + anon_sym_PIPE, + STATE(32), 1, + aux_sym_record_access_repeat1, + STATE(52), 1, + sym_immediate_record_field_selector, + ACTIONS(109), 2, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + ACTIONS(105), 8, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [2350] = 5, + ACTIONS(114), 1, + anon_sym_PIPE, + STATE(34), 1, + aux_sym_record_access_repeat1, + STATE(52), 1, + sym_immediate_record_field_selector, + ACTIONS(116), 2, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + ACTIONS(112), 8, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [2374] = 5, + ACTIONS(120), 1, + anon_sym_PIPE, + STATE(32), 1, + aux_sym_record_access_repeat1, + STATE(52), 1, + sym_immediate_record_field_selector, + ACTIONS(116), 2, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + ACTIONS(118), 8, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [2398] = 5, + ACTIONS(124), 1, + anon_sym_PIPE, + STATE(38), 1, + aux_sym_record_access_repeat1, + STATE(52), 1, + sym_immediate_record_field_selector, + ACTIONS(116), 2, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + ACTIONS(122), 8, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [2422] = 4, + ACTIONS(126), 1, anon_sym_LPAREN, - ACTIONS(59), 1, + STATE(80), 1, + sym_interval_shorthand, + ACTIONS(128), 2, + anon_sym_LBRACK, + anon_sym_RBRACK, + ACTIONS(130), 9, + anon_sym_LPAREN0_PLUS_RPAREN, + anon_sym_LPAREN_PLUS_RPAREN, + anon_sym_LPAREN0_DASH_RPAREN, + anon_sym_LPAREN_DASH_RPAREN, + anon_sym_LPARENpositive_RPAREN, + anon_sym_LPARENnegative_RPAREN, + anon_sym_LPARENabsolutely_DASHpositive_RPAREN, + anon_sym_LPARENabsolutely_DASHnegative_RPAREN, + aux_sym_interval_shorthand_token1, + [2444] = 4, + ACTIONS(132), 1, + anon_sym_LPAREN, + STATE(128), 1, + sym_interval_shorthand, + ACTIONS(134), 2, + anon_sym_LBRACK, + anon_sym_RBRACK, + ACTIONS(136), 9, + anon_sym_LPAREN0_PLUS_RPAREN, + anon_sym_LPAREN_PLUS_RPAREN, + anon_sym_LPAREN0_DASH_RPAREN, + anon_sym_LPAREN_DASH_RPAREN, + anon_sym_LPARENpositive_RPAREN, + anon_sym_LPARENnegative_RPAREN, + anon_sym_LPARENabsolutely_DASHpositive_RPAREN, + anon_sym_LPARENabsolutely_DASHnegative_RPAREN, + aux_sym_interval_shorthand_token1, + [2466] = 5, + ACTIONS(140), 1, + anon_sym_PIPE, + STATE(32), 1, + aux_sym_record_access_repeat1, + STATE(52), 1, + sym_immediate_record_field_selector, + ACTIONS(116), 2, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + ACTIONS(138), 8, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [2490] = 2, + ACTIONS(144), 1, + anon_sym_PIPE, + ACTIONS(142), 11, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON_EQ, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + [2507] = 8, + ACTIONS(49), 1, + anon_sym_DOLLAR, + ACTIONS(67), 1, + sym_original_input, + ACTIONS(79), 1, + anon_sym_LPAREN, + ACTIONS(146), 1, sym_function_name, - STATE(26), 1, + STATE(58), 1, sym_record_field_selector, - STATE(51), 1, + STATE(114), 1, + sym__parenthesized_pipeline_expression, + ACTIONS(69), 2, + sym_named_record_field, + sym_positional_record_field, + STATE(129), 4, + sym__pipeline_expression, + sym_tuple_projection, + sym_function_call, + sym_record_access, + [2536] = 8, + ACTIONS(49), 1, + anon_sym_DOLLAR, + ACTIONS(67), 1, + sym_original_input, + ACTIONS(79), 1, + anon_sym_LPAREN, + ACTIONS(146), 1, + sym_function_name, + STATE(58), 1, + sym_record_field_selector, + STATE(114), 1, sym__parenthesized_pipeline_expression, - ACTIONS(23), 2, + ACTIONS(69), 2, sym_named_record_field, sym_positional_record_field, - STATE(78), 4, + STATE(154), 4, sym__pipeline_expression, sym_tuple_projection, sym_function_call, sym_record_access, - [1394] = 8, - ACTIONS(7), 1, + [2565] = 8, + ACTIONS(49), 1, anon_sym_DOLLAR, - ACTIONS(21), 1, + ACTIONS(67), 1, sym_original_input, - ACTIONS(53), 1, + ACTIONS(79), 1, anon_sym_LPAREN, - ACTIONS(59), 1, + ACTIONS(146), 1, sym_function_name, - STATE(26), 1, + STATE(58), 1, sym_record_field_selector, - STATE(51), 1, + STATE(114), 1, sym__parenthesized_pipeline_expression, - ACTIONS(23), 2, + ACTIONS(69), 2, sym_named_record_field, sym_positional_record_field, - STATE(80), 4, + STATE(151), 4, sym__pipeline_expression, sym_tuple_projection, sym_function_call, sym_record_access, - [1423] = 8, - ACTIONS(7), 1, + [2594] = 2, + ACTIONS(150), 1, + anon_sym_PIPE, + ACTIONS(148), 11, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON_EQ, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + [2611] = 8, + ACTIONS(49), 1, anon_sym_DOLLAR, - ACTIONS(21), 1, + ACTIONS(67), 1, sym_original_input, - ACTIONS(53), 1, + ACTIONS(79), 1, anon_sym_LPAREN, - ACTIONS(59), 1, + ACTIONS(146), 1, sym_function_name, - STATE(26), 1, + STATE(58), 1, sym_record_field_selector, - STATE(51), 1, + STATE(114), 1, sym__parenthesized_pipeline_expression, - ACTIONS(23), 2, + ACTIONS(69), 2, sym_named_record_field, sym_positional_record_field, - STATE(86), 4, + STATE(155), 4, sym__pipeline_expression, sym_tuple_projection, sym_function_call, sym_record_access, - [1452] = 8, - ACTIONS(7), 1, + [2640] = 2, + ACTIONS(154), 1, + anon_sym_PIPE, + ACTIONS(152), 11, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON_EQ, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + [2657] = 8, + ACTIONS(49), 1, anon_sym_DOLLAR, - ACTIONS(21), 1, + ACTIONS(67), 1, sym_original_input, - ACTIONS(53), 1, + ACTIONS(79), 1, anon_sym_LPAREN, - ACTIONS(59), 1, + ACTIONS(146), 1, sym_function_name, - STATE(26), 1, + STATE(58), 1, sym_record_field_selector, - STATE(51), 1, + STATE(114), 1, sym__parenthesized_pipeline_expression, - ACTIONS(23), 2, + ACTIONS(69), 2, sym_named_record_field, sym_positional_record_field, - STATE(88), 4, + STATE(142), 4, sym__pipeline_expression, sym_tuple_projection, sym_function_call, sym_record_access, - [1481] = 5, - ACTIONS(73), 1, + [2686] = 2, + ACTIONS(158), 1, + anon_sym_PIPE, + ACTIONS(156), 11, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON_EQ, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + [2703] = 2, + ACTIONS(162), 1, + anon_sym_PIPE, + ACTIONS(160), 10, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + [2719] = 2, + ACTIONS(166), 1, + anon_sym_PIPE, + ACTIONS(164), 10, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + [2735] = 2, + ACTIONS(170), 1, + anon_sym_PIPE, + ACTIONS(168), 10, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + [2751] = 2, + ACTIONS(174), 1, + anon_sym_PIPE, + ACTIONS(172), 10, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + [2767] = 2, + ACTIONS(178), 1, + anon_sym_PIPE, + ACTIONS(176), 10, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + [2783] = 2, + ACTIONS(182), 1, + anon_sym_PIPE, + ACTIONS(180), 10, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + [2799] = 2, + ACTIONS(186), 1, + anon_sym_PIPE, + ACTIONS(184), 10, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + [2815] = 2, + ACTIONS(190), 1, + anon_sym_PIPE, + ACTIONS(188), 10, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + [2831] = 3, + ACTIONS(194), 1, + anon_sym_PIPE, + ACTIONS(196), 1, + anon_sym_LPAREN, + ACTIONS(192), 8, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [2848] = 4, + ACTIONS(200), 1, + anon_sym_PIPE, + STATE(14), 1, + sym_binary_operator, + ACTIONS(202), 3, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + ACTIONS(198), 5, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [2867] = 5, + ACTIONS(114), 1, + anon_sym_PIPE, + STATE(60), 1, + aux_sym_record_access_repeat1, + STATE(91), 1, + sym_immediate_record_field_selector, + ACTIONS(204), 2, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + ACTIONS(112), 5, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [2888] = 5, + ACTIONS(124), 1, + anon_sym_PIPE, + STATE(61), 1, + aux_sym_record_access_repeat1, + STATE(91), 1, + sym_immediate_record_field_selector, + ACTIONS(204), 2, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + ACTIONS(122), 5, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [2909] = 5, + ACTIONS(120), 1, + anon_sym_PIPE, + STATE(62), 1, + aux_sym_record_access_repeat1, + STATE(91), 1, + sym_immediate_record_field_selector, + ACTIONS(204), 2, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + ACTIONS(118), 5, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [2930] = 5, + ACTIONS(140), 1, + anon_sym_PIPE, + STATE(62), 1, + aux_sym_record_access_repeat1, + STATE(91), 1, + sym_immediate_record_field_selector, + ACTIONS(204), 2, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + ACTIONS(138), 5, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [2951] = 5, + ACTIONS(107), 1, + anon_sym_PIPE, + STATE(62), 1, + aux_sym_record_access_repeat1, + STATE(91), 1, + sym_immediate_record_field_selector, + ACTIONS(206), 2, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + ACTIONS(105), 5, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [2972] = 7, + ACTIONS(29), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, + anon_sym_BQUOTE, + ACTIONS(209), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(211), 1, + sym_unquoted_record_field_name, + STATE(220), 1, + sym_record_field_name, + STATE(207), 2, + sym_double_quoted_literal, + sym_backtick_quoted_literal, + STATE(197), 3, + sym__record_entry, + sym_record_field, + sym_record_spread, + [2997] = 2, + ACTIONS(215), 1, + anon_sym_PIPE, + ACTIONS(213), 8, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [3011] = 6, + ACTIONS(219), 1, + anon_sym_PIPE, + ACTIONS(221), 1, + anon_sym_PIPE_GT, + STATE(102), 1, + aux_sym_closed_expression_repeat1, + STATE(156), 1, + sym__pipeline_map_shorthand, + ACTIONS(217), 2, + ts_builtin_sym_end, + anon_sym_RPAREN, + ACTIONS(223), 3, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + [3033] = 2, + ACTIONS(227), 1, + anon_sym_PIPE, + ACTIONS(225), 8, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [3047] = 2, + ACTIONS(231), 1, + anon_sym_PIPE, + ACTIONS(229), 8, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [3061] = 2, + ACTIONS(235), 1, + anon_sym_PIPE, + ACTIONS(233), 8, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [3075] = 2, + ACTIONS(239), 1, + anon_sym_PIPE, + ACTIONS(237), 8, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [3089] = 2, + ACTIONS(243), 1, + anon_sym_PIPE, + ACTIONS(241), 8, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [3103] = 2, + ACTIONS(243), 1, + anon_sym_PIPE, + ACTIONS(241), 8, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [3117] = 2, + ACTIONS(247), 1, + anon_sym_PIPE, + ACTIONS(245), 8, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [3131] = 2, + ACTIONS(251), 1, + anon_sym_PIPE, + ACTIONS(249), 8, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [3145] = 2, + ACTIONS(255), 1, anon_sym_PIPE, - STATE(30), 1, - aux_sym_record_access_repeat1, - STATE(40), 1, - sym_immediate_record_field_selector, - ACTIONS(75), 2, - aux_sym_immediate_record_field_selector_token1, - aux_sym_immediate_record_field_selector_token2, - ACTIONS(71), 5, + ACTIONS(253), 8, ts_builtin_sym_end, anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1502] = 8, - ACTIONS(3), 1, + [3159] = 2, + ACTIONS(259), 1, + anon_sym_PIPE, + ACTIONS(257), 8, + ts_builtin_sym_end, anon_sym_PIPE_GT, - ACTIONS(5), 1, - anon_sym_LPAREN, - ACTIONS(7), 1, - anon_sym_DOLLAR, - ACTIONS(59), 1, - sym_function_name, - STATE(87), 1, - sym_expression, - STATE(92), 1, - sym_parenthesized_open_expression, - STATE(93), 1, - sym_parenthesized_expression, - STATE(74), 3, - sym_map_shorthand, - sym_tuple_projection, - sym_function_call, - [1529] = 7, - ACTIONS(27), 1, - anon_sym_DQUOTE, - ACTIONS(29), 1, - anon_sym_BQUOTE, - ACTIONS(77), 1, - anon_sym_DOT_DOT_DOT, - ACTIONS(79), 1, - sym_unquoted_record_field_name, - STATE(151), 1, - sym_record_field_name, - STATE(141), 2, - sym_double_quoted_literal, - sym_backtick_quoted_literal, - STATE(126), 3, - sym__record_entry, - sym_record_field, - sym_record_spread, - [1554] = 5, - ACTIONS(83), 1, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [3173] = 2, + ACTIONS(263), 1, anon_sym_PIPE, - STATE(31), 1, - aux_sym_record_access_repeat1, - STATE(40), 1, - sym_immediate_record_field_selector, - ACTIONS(75), 2, - aux_sym_immediate_record_field_selector_token1, - aux_sym_immediate_record_field_selector_token2, - ACTIONS(81), 5, + ACTIONS(261), 8, ts_builtin_sym_end, anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1575] = 5, - ACTIONS(87), 1, + [3187] = 2, + ACTIONS(267), 1, anon_sym_PIPE, - STATE(31), 1, - aux_sym_record_access_repeat1, - STATE(40), 1, - sym_immediate_record_field_selector, - ACTIONS(75), 2, - aux_sym_immediate_record_field_selector_token1, - aux_sym_immediate_record_field_selector_token2, - ACTIONS(85), 5, + ACTIONS(265), 8, ts_builtin_sym_end, anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1596] = 5, - ACTIONS(91), 1, + [3201] = 3, + ACTIONS(200), 1, anon_sym_PIPE, - STATE(31), 1, - aux_sym_record_access_repeat1, - STATE(40), 1, - sym_immediate_record_field_selector, - ACTIONS(93), 2, - aux_sym_immediate_record_field_selector_token1, - aux_sym_immediate_record_field_selector_token2, - ACTIONS(89), 5, + ACTIONS(269), 3, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + ACTIONS(198), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1617] = 5, - ACTIONS(98), 1, + [3217] = 2, + ACTIONS(274), 1, anon_sym_PIPE, - STATE(29), 1, - aux_sym_record_access_repeat1, - STATE(40), 1, - sym_immediate_record_field_selector, - ACTIONS(75), 2, - aux_sym_immediate_record_field_selector_token1, - aux_sym_immediate_record_field_selector_token2, - ACTIONS(96), 5, + ACTIONS(272), 8, ts_builtin_sym_end, anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1638] = 7, - ACTIONS(3), 1, + [3231] = 2, + ACTIONS(278), 1, + anon_sym_PIPE, + ACTIONS(276), 8, + ts_builtin_sym_end, anon_sym_PIPE_GT, - ACTIONS(5), 1, - anon_sym_LPAREN, - ACTIONS(7), 1, - anon_sym_DOLLAR, - ACTIONS(59), 1, - sym_function_name, - STATE(75), 1, - sym_expression, - STATE(143), 1, - sym_open_expression, - STATE(74), 4, - sym_map_shorthand, - sym_parenthesized_expression, - sym_tuple_projection, - sym_function_call, - [1663] = 2, - ACTIONS(102), 1, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [3245] = 2, + ACTIONS(282), 1, anon_sym_PIPE, - ACTIONS(100), 8, + ACTIONS(280), 8, ts_builtin_sym_end, anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, anon_sym_RPAREN, anon_sym_COMMA, - anon_sym_COLON_EQ, anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - [1677] = 2, - ACTIONS(106), 1, + [3259] = 2, + ACTIONS(286), 1, anon_sym_PIPE, - ACTIONS(104), 8, + ACTIONS(284), 8, ts_builtin_sym_end, anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, anon_sym_RPAREN, anon_sym_COMMA, - anon_sym_COLON_EQ, anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - [1691] = 6, - ACTIONS(3), 1, + [3273] = 2, + ACTIONS(290), 1, + anon_sym_PIPE, + ACTIONS(288), 8, + ts_builtin_sym_end, anon_sym_PIPE_GT, - ACTIONS(5), 1, - anon_sym_LPAREN, - ACTIONS(7), 1, - anon_sym_DOLLAR, - ACTIONS(59), 1, - sym_function_name, - STATE(79), 1, - sym_expression, - STATE(74), 4, - sym_map_shorthand, - sym_parenthesized_expression, - sym_tuple_projection, - sym_function_call, - [1713] = 2, - ACTIONS(110), 1, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + [3287] = 2, + ACTIONS(294), 1, anon_sym_PIPE, - ACTIONS(108), 8, + ACTIONS(292), 8, ts_builtin_sym_end, anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, anon_sym_RPAREN, anon_sym_COMMA, - anon_sym_COLON_EQ, anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - [1727] = 2, - ACTIONS(114), 1, + [3301] = 2, + ACTIONS(298), 1, anon_sym_PIPE, - ACTIONS(112), 8, + ACTIONS(296), 8, ts_builtin_sym_end, anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, anon_sym_RPAREN, anon_sym_COMMA, - anon_sym_COLON_EQ, anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - [1741] = 2, - ACTIONS(118), 1, + [3315] = 2, + ACTIONS(298), 1, anon_sym_PIPE, - ACTIONS(116), 7, + ACTIONS(296), 8, ts_builtin_sym_end, anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - aux_sym_immediate_record_field_selector_token1, - aux_sym_immediate_record_field_selector_token2, - [1754] = 2, - ACTIONS(122), 1, + [3329] = 2, + ACTIONS(302), 1, anon_sym_PIPE, - ACTIONS(120), 7, + ACTIONS(300), 8, ts_builtin_sym_end, anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - aux_sym_immediate_record_field_selector_token1, - aux_sym_immediate_record_field_selector_token2, - [1767] = 2, - ACTIONS(126), 1, + [3343] = 2, + ACTIONS(306), 1, anon_sym_PIPE, - ACTIONS(124), 7, + ACTIONS(304), 8, ts_builtin_sym_end, anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - aux_sym_immediate_record_field_selector_token1, - aux_sym_immediate_record_field_selector_token2, - [1780] = 2, - ACTIONS(130), 1, + [3357] = 3, + ACTIONS(200), 1, + anon_sym_PIPE, + ACTIONS(223), 3, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + ACTIONS(198), 4, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_RPAREN, + anon_sym_RBRACE, + [3372] = 2, + ACTIONS(174), 1, anon_sym_PIPE, - ACTIONS(128), 7, + ACTIONS(172), 7, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - [1793] = 2, - ACTIONS(134), 1, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + [3385] = 2, + ACTIONS(178), 1, anon_sym_PIPE, - ACTIONS(132), 7, + ACTIONS(176), 7, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, @@ -3650,21 +5197,46 @@ 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, - [1806] = 2, - ACTIONS(138), 1, + [3398] = 2, + ACTIONS(170), 1, anon_sym_PIPE, - ACTIONS(136), 7, + ACTIONS(168), 7, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - [1819] = 2, - ACTIONS(142), 1, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + [3411] = 4, + ACTIONS(194), 1, + anon_sym_PIPE, + ACTIONS(196), 1, + anon_sym_LPAREN, + ACTIONS(308), 1, + anon_sym_COLON_EQ, + ACTIONS(192), 5, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + anon_sym_RPAREN, + anon_sym_COMMA, + [3428] = 3, + ACTIONS(310), 1, + anon_sym_PIPE, + ACTIONS(312), 3, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACE, + ACTIONS(225), 4, + anon_sym_PIPE_GT, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + [3443] = 2, + ACTIONS(186), 1, anon_sym_PIPE, - ACTIONS(140), 7, + ACTIONS(184), 7, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, @@ -3672,1112 +5244,1423 @@ 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, - [1832] = 2, - ACTIONS(146), 1, + [3456] = 2, + ACTIONS(182), 1, anon_sym_PIPE, - ACTIONS(144), 7, + ACTIONS(180), 7, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - [1845] = 3, - ACTIONS(150), 1, + aux_sym_immediate_record_field_selector_token1, + aux_sym_immediate_record_field_selector_token2, + [3469] = 4, + ACTIONS(312), 1, + anon_sym_COMMA, + ACTIONS(314), 1, + anon_sym_PIPE, + ACTIONS(317), 2, + anon_sym_RPAREN, + anon_sym_RBRACE, + ACTIONS(223), 3, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + [3485] = 4, + ACTIONS(320), 1, + anon_sym_PIPE, + STATE(158), 1, + aux_sym_open_expression_repeat1, + ACTIONS(322), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + ACTIONS(223), 3, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + [3501] = 3, + ACTIONS(194), 1, anon_sym_PIPE, - ACTIONS(152), 1, + ACTIONS(324), 1, anon_sym_LPAREN, - ACTIONS(148), 5, + ACTIONS(192), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1859] = 2, - ACTIONS(156), 1, + [3515] = 3, + ACTIONS(328), 1, + anon_sym_PIPE, + ACTIONS(223), 3, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + ACTIONS(326), 3, + ts_builtin_sym_end, + anon_sym_PIPE_GT, + anon_sym_RPAREN, + [3529] = 2, + ACTIONS(231), 1, anon_sym_PIPE, - ACTIONS(154), 5, + ACTIONS(229), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1870] = 5, - ACTIONS(160), 1, + [3540] = 5, + ACTIONS(219), 1, anon_sym_PIPE, - ACTIONS(162), 1, + ACTIONS(221), 1, anon_sym_PIPE_GT, - STATE(58), 1, + STATE(107), 1, aux_sym_closed_expression_repeat1, - STATE(82), 1, + STATE(156), 1, sym__pipeline_map_shorthand, - ACTIONS(158), 2, + ACTIONS(330), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [1887] = 2, - ACTIONS(166), 1, + [3557] = 3, + ACTIONS(334), 1, anon_sym_PIPE, - ACTIONS(164), 5, + STATE(103), 1, + aux_sym_open_expression_repeat1, + ACTIONS(332), 4, ts_builtin_sym_end, - anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1898] = 2, - ACTIONS(170), 1, + [3570] = 2, + ACTIONS(158), 1, anon_sym_PIPE, - ACTIONS(168), 5, - ts_builtin_sym_end, + ACTIONS(156), 5, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, + anon_sym_COLON_EQ, anon_sym_RBRACE, - [1909] = 3, - ACTIONS(174), 1, + [3581] = 2, + ACTIONS(144), 1, anon_sym_PIPE, - STATE(52), 1, - aux_sym_open_expression_repeat1, - ACTIONS(172), 4, - ts_builtin_sym_end, + ACTIONS(142), 5, + anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, + anon_sym_COLON_EQ, anon_sym_RBRACE, - [1922] = 5, - ACTIONS(179), 1, + [3592] = 3, + ACTIONS(337), 1, anon_sym_PIPE, - ACTIONS(182), 1, + ACTIONS(339), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + ACTIONS(223), 3, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + [3605] = 5, + ACTIONS(343), 1, + anon_sym_PIPE, + ACTIONS(346), 1, anon_sym_PIPE_GT, - STATE(53), 1, + STATE(107), 1, aux_sym_closed_expression_repeat1, - STATE(82), 1, + STATE(156), 1, sym__pipeline_map_shorthand, - ACTIONS(177), 2, + ACTIONS(341), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [1939] = 2, - ACTIONS(187), 1, + [3622] = 3, + STATE(14), 1, + sym_binary_operator, + ACTIONS(339), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + ACTIONS(202), 3, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + [3635] = 3, + ACTIONS(349), 1, anon_sym_PIPE, - ACTIONS(185), 5, - ts_builtin_sym_end, - anon_sym_PIPE_GT, + ACTIONS(339), 2, anon_sym_RPAREN, anon_sym_COMMA, - anon_sym_RBRACE, - [1950] = 2, - ACTIONS(191), 1, + ACTIONS(223), 3, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + [3648] = 2, + ACTIONS(154), 1, anon_sym_PIPE, - ACTIONS(189), 5, - ts_builtin_sym_end, + ACTIONS(152), 5, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, + anon_sym_COLON_EQ, anon_sym_RBRACE, - [1961] = 2, - ACTIONS(195), 1, + [3659] = 2, + ACTIONS(150), 1, anon_sym_PIPE, - ACTIONS(193), 5, - ts_builtin_sym_end, + ACTIONS(148), 5, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, + anon_sym_COLON_EQ, anon_sym_RBRACE, - [1972] = 2, - ACTIONS(199), 1, + [3670] = 2, + ACTIONS(353), 1, anon_sym_PIPE, - ACTIONS(197), 5, + ACTIONS(351), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [1983] = 5, - ACTIONS(160), 1, + [3681] = 2, + ACTIONS(294), 1, anon_sym_PIPE, - ACTIONS(162), 1, - anon_sym_PIPE_GT, - STATE(53), 1, - aux_sym_closed_expression_repeat1, - STATE(82), 1, - sym__pipeline_map_shorthand, - ACTIONS(201), 2, + ACTIONS(292), 5, ts_builtin_sym_end, + anon_sym_PIPE_GT, anon_sym_RPAREN, - [2000] = 2, - ACTIONS(205), 1, + anon_sym_COMMA, + anon_sym_RBRACE, + [3692] = 2, + ACTIONS(357), 1, anon_sym_PIPE, - ACTIONS(203), 5, + ACTIONS(355), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [2011] = 2, - ACTIONS(156), 1, + [3703] = 2, + ACTIONS(251), 1, anon_sym_PIPE, - ACTIONS(154), 5, + ACTIONS(249), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [2022] = 2, - ACTIONS(209), 1, + [3714] = 2, + ACTIONS(255), 1, anon_sym_PIPE, - ACTIONS(207), 5, + ACTIONS(253), 5, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [2033] = 2, - ACTIONS(213), 1, + [3725] = 2, + ACTIONS(247), 1, anon_sym_PIPE, - ACTIONS(211), 5, - ts_builtin_sym_end, + ACTIONS(245), 4, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [2044] = 2, + [3735] = 5, ACTIONS(217), 1, + anon_sym_RPAREN, + ACTIONS(219), 1, anon_sym_PIPE, - ACTIONS(215), 5, - ts_builtin_sym_end, + ACTIONS(221), 1, anon_sym_PIPE_GT, + STATE(102), 1, + aux_sym_closed_expression_repeat1, + STATE(156), 1, + sym__pipeline_map_shorthand, + [3751] = 3, + ACTIONS(361), 1, + anon_sym_PIPE, + STATE(103), 1, + aux_sym_open_expression_repeat1, + ACTIONS(359), 3, + ts_builtin_sym_end, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, - [2055] = 2, - ACTIONS(217), 1, + [3763] = 3, + ACTIONS(361), 1, anon_sym_PIPE, - ACTIONS(215), 5, + STATE(119), 1, + aux_sym_open_expression_repeat1, + ACTIONS(363), 3, ts_builtin_sym_end, + anon_sym_RPAREN, + anon_sym_RBRACE, + [3775] = 2, + ACTIONS(235), 1, + anon_sym_PIPE, + ACTIONS(233), 4, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [2066] = 2, - ACTIONS(221), 1, + [3785] = 2, + ACTIONS(227), 1, anon_sym_PIPE, - ACTIONS(219), 5, - ts_builtin_sym_end, + ACTIONS(225), 4, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [2077] = 2, - ACTIONS(225), 1, + [3795] = 2, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(223), 5, - ts_builtin_sym_end, + ACTIONS(188), 4, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [2088] = 2, - ACTIONS(229), 1, + [3805] = 2, + ACTIONS(162), 1, anon_sym_PIPE, - ACTIONS(227), 5, - ts_builtin_sym_end, + ACTIONS(160), 4, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [2099] = 2, - ACTIONS(233), 1, + [3815] = 2, + ACTIONS(166), 1, anon_sym_PIPE, - ACTIONS(231), 5, - ts_builtin_sym_end, + ACTIONS(164), 4, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [2110] = 2, - ACTIONS(237), 1, + [3825] = 2, + ACTIONS(306), 1, anon_sym_PIPE, - ACTIONS(235), 5, - ts_builtin_sym_end, + ACTIONS(304), 4, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [2121] = 2, - ACTIONS(241), 1, + [3835] = 2, + ACTIONS(274), 1, anon_sym_PIPE, - ACTIONS(239), 5, - ts_builtin_sym_end, + ACTIONS(272), 4, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [2132] = 2, - ACTIONS(245), 1, + [3845] = 2, + ACTIONS(278), 1, anon_sym_PIPE, - ACTIONS(243), 5, - ts_builtin_sym_end, + ACTIONS(276), 4, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [2143] = 2, - ACTIONS(249), 1, - anon_sym_PIPE, - ACTIONS(247), 5, + [3855] = 1, + ACTIONS(332), 5, ts_builtin_sym_end, - anon_sym_PIPE_GT, + anon_sym_PIPE, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [2154] = 2, - ACTIONS(253), 1, + [3863] = 2, + ACTIONS(286), 1, anon_sym_PIPE, - ACTIONS(251), 5, - ts_builtin_sym_end, + ACTIONS(284), 4, anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [2165] = 2, - ACTIONS(257), 1, + [3873] = 2, + ACTIONS(298), 1, anon_sym_PIPE, - ACTIONS(255), 4, - ts_builtin_sym_end, + ACTIONS(296), 4, anon_sym_PIPE_GT, anon_sym_RPAREN, + anon_sym_COMMA, anon_sym_RBRACE, - [2175] = 3, - ACTIONS(261), 1, + [3883] = 2, + ACTIONS(298), 1, anon_sym_PIPE, - STATE(76), 1, - aux_sym_open_expression_repeat1, - ACTIONS(259), 3, - ts_builtin_sym_end, + ACTIONS(296), 4, + anon_sym_PIPE_GT, anon_sym_RPAREN, + anon_sym_COMMA, anon_sym_RBRACE, - [2187] = 3, - ACTIONS(261), 1, + [3893] = 2, + ACTIONS(302), 1, anon_sym_PIPE, - STATE(52), 1, - aux_sym_open_expression_repeat1, - ACTIONS(263), 3, - ts_builtin_sym_end, + ACTIONS(300), 4, + anon_sym_PIPE_GT, anon_sym_RPAREN, + anon_sym_COMMA, anon_sym_RBRACE, - [2199] = 3, - ACTIONS(152), 1, - anon_sym_LPAREN, - ACTIONS(265), 1, - anon_sym_COLON_EQ, - ACTIONS(148), 3, + [3903] = 2, + ACTIONS(243), 1, anon_sym_PIPE, + ACTIONS(241), 4, + anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, - [2211] = 1, - ACTIONS(172), 5, - ts_builtin_sym_end, + anon_sym_RBRACE, + [3913] = 2, + ACTIONS(243), 1, anon_sym_PIPE, + ACTIONS(241), 4, + anon_sym_PIPE_GT, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [2219] = 2, - ACTIONS(269), 1, + [3923] = 2, + ACTIONS(263), 1, anon_sym_PIPE, - ACTIONS(267), 4, - ts_builtin_sym_end, + ACTIONS(261), 4, anon_sym_PIPE_GT, anon_sym_RPAREN, + anon_sym_COMMA, anon_sym_RBRACE, - [2229] = 3, - ACTIONS(261), 1, + [3933] = 2, + ACTIONS(215), 1, anon_sym_PIPE, - STATE(90), 1, - aux_sym_open_expression_repeat1, - ACTIONS(271), 2, + ACTIONS(213), 4, + anon_sym_PIPE_GT, + anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, - [2240] = 3, - ACTIONS(273), 1, - anon_sym_DQUOTE, - STATE(83), 1, - aux_sym_double_quoted_literal_repeat1, - ACTIONS(275), 2, - sym_double_quoted_content, - sym_escape_sequence, - [2251] = 2, - ACTIONS(279), 1, + [3943] = 2, + ACTIONS(267), 1, anon_sym_PIPE, - ACTIONS(277), 3, - ts_builtin_sym_end, + ACTIONS(265), 4, anon_sym_PIPE_GT, anon_sym_RPAREN, - [2260] = 3, - ACTIONS(281), 1, + anon_sym_COMMA, + anon_sym_RBRACE, + [3953] = 2, + ACTIONS(339), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + ACTIONS(223), 3, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + [3963] = 3, + ACTIONS(365), 1, anon_sym_DQUOTE, - STATE(83), 1, + STATE(140), 1, aux_sym_double_quoted_literal_repeat1, - ACTIONS(283), 2, + ACTIONS(367), 2, sym_double_quoted_content, sym_escape_sequence, - [2271] = 2, - ACTIONS(286), 1, - anon_sym_COLON_EQ, - ACTIONS(128), 3, + [3974] = 4, + ACTIONS(370), 1, anon_sym_PIPE, + ACTIONS(372), 1, anon_sym_COMMA, + ACTIONS(374), 1, anon_sym_RBRACE, - [2280] = 4, - ACTIONS(288), 1, - anon_sym_PIPE, - ACTIONS(290), 1, - anon_sym_COMMA, - ACTIONS(292), 1, - anon_sym_RBRACE, - STATE(121), 1, + STATE(174), 1, aux_sym_array_literal_repeat1, - [2293] = 2, - ACTIONS(294), 1, + [3987] = 2, + ACTIONS(376), 1, anon_sym_PIPE, - ACTIONS(177), 3, + ACTIONS(341), 3, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [2302] = 2, - ACTIONS(298), 1, + [3996] = 2, + ACTIONS(380), 1, anon_sym_PIPE, - ACTIONS(296), 3, + ACTIONS(378), 3, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [2311] = 3, - ACTIONS(261), 1, - anon_sym_PIPE, - STATE(95), 1, - aux_sym_open_expression_repeat1, - ACTIONS(300), 2, + [4005] = 1, + ACTIONS(382), 4, anon_sym_RPAREN, anon_sym_COMMA, - [2322] = 3, - ACTIONS(261), 1, + anon_sym_LBRACK, + anon_sym_RBRACK, + [4012] = 3, + ACTIONS(361), 1, anon_sym_PIPE, - STATE(97), 1, + STATE(103), 1, aux_sym_open_expression_repeat1, - ACTIONS(302), 2, + ACTIONS(384), 2, anon_sym_RPAREN, anon_sym_COMMA, - [2333] = 3, - ACTIONS(261), 1, + [4023] = 3, + ACTIONS(361), 1, anon_sym_PIPE, - STATE(52), 1, + STATE(103), 1, aux_sym_open_expression_repeat1, - ACTIONS(304), 2, + ACTIONS(386), 2, + anon_sym_RPAREN, anon_sym_COMMA, - anon_sym_RBRACE, - [2344] = 3, - ACTIONS(306), 1, + [4034] = 3, + ACTIONS(388), 1, anon_sym_DQUOTE, - STATE(81), 1, + STATE(140), 1, aux_sym_double_quoted_literal_repeat1, - ACTIONS(308), 2, + ACTIONS(390), 2, sym_double_quoted_content, sym_escape_sequence, - [2355] = 2, - ACTIONS(298), 1, + [4045] = 2, + ACTIONS(380), 1, anon_sym_PIPE, - ACTIONS(296), 3, + ACTIONS(378), 3, ts_builtin_sym_end, anon_sym_PIPE_GT, anon_sym_RPAREN, - [2364] = 2, - ACTIONS(312), 1, + [4054] = 2, + ACTIONS(392), 1, + anon_sym_COLON_EQ, + ACTIONS(164), 3, anon_sym_PIPE, - ACTIONS(310), 3, - ts_builtin_sym_end, - anon_sym_PIPE_GT, - anon_sym_RPAREN, - [2373] = 2, - ACTIONS(317), 1, anon_sym_COMMA, - ACTIONS(314), 3, - anon_sym_PIPE, - anon_sym_RPAREN, anon_sym_RBRACE, - [2382] = 3, - ACTIONS(261), 1, - anon_sym_PIPE, - STATE(52), 1, - aux_sym_open_expression_repeat1, - ACTIONS(319), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [2393] = 3, - ACTIONS(261), 1, - anon_sym_PIPE, - STATE(101), 1, - aux_sym_open_expression_repeat1, - ACTIONS(321), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [2404] = 3, - ACTIONS(261), 1, + [4063] = 2, + STATE(14), 1, + sym_binary_operator, + ACTIONS(202), 3, + anon_sym_PIPEAND, + anon_sym_PIPEOR, + anon_sym_PIPEXOR, + [4072] = 3, + ACTIONS(361), 1, anon_sym_PIPE, - STATE(52), 1, + STATE(145), 1, aux_sym_open_expression_repeat1, - ACTIONS(323), 2, + ACTIONS(394), 2, anon_sym_RPAREN, anon_sym_COMMA, - [2415] = 1, - ACTIONS(325), 4, + [4083] = 1, + ACTIONS(396), 4, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACK, anon_sym_RBRACK, - [2422] = 4, - ACTIONS(290), 1, + [4090] = 4, + ACTIONS(372), 1, anon_sym_COMMA, - ACTIONS(292), 1, + ACTIONS(374), 1, anon_sym_RBRACE, - ACTIONS(327), 1, + ACTIONS(398), 1, anon_sym_PIPE, - STATE(121), 1, + STATE(174), 1, aux_sym_array_literal_repeat1, - [2435] = 1, - ACTIONS(329), 4, + [4103] = 3, + ACTIONS(361), 1, + anon_sym_PIPE, + STATE(146), 1, + aux_sym_open_expression_repeat1, + ACTIONS(400), 2, anon_sym_RPAREN, anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_RBRACK, - [2442] = 3, - ACTIONS(261), 1, + [4114] = 3, + ACTIONS(361), 1, anon_sym_PIPE, - STATE(52), 1, + STATE(162), 1, aux_sym_open_expression_repeat1, - ACTIONS(331), 2, - anon_sym_RPAREN, + ACTIONS(402), 2, anon_sym_COMMA, - [2453] = 1, - ACTIONS(333), 3, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_RBRACK, - [2459] = 3, - ACTIONS(335), 1, + anon_sym_RBRACE, + [4125] = 2, + ACTIONS(406), 1, + anon_sym_PIPE, + ACTIONS(404), 3, + ts_builtin_sym_end, + anon_sym_PIPE_GT, anon_sym_RPAREN, - ACTIONS(337), 1, - anon_sym_COMMA, + [4134] = 3, + ACTIONS(408), 1, + anon_sym_DQUOTE, + STATE(147), 1, + aux_sym_double_quoted_literal_repeat1, + ACTIONS(410), 2, + sym_double_quoted_content, + sym_escape_sequence, + [4145] = 3, + ACTIONS(361), 1, + anon_sym_PIPE, STATE(103), 1, - aux_sym_tuple_literal_repeat1, - [2469] = 3, - ACTIONS(340), 1, + aux_sym_open_expression_repeat1, + ACTIONS(412), 2, anon_sym_RPAREN, - ACTIONS(342), 1, anon_sym_COMMA, - STATE(113), 1, - aux_sym_argument_list_repeat1, - [2479] = 3, - ACTIONS(344), 1, + [4156] = 3, + ACTIONS(414), 1, + anon_sym_DQUOTE, + STATE(161), 1, + aux_sym_double_quoted_literal_repeat1, + ACTIONS(416), 2, + sym_double_quoted_content, + sym_escape_sequence, + [4167] = 4, + ACTIONS(370), 1, + anon_sym_PIPE, + ACTIONS(372), 1, anon_sym_COMMA, - ACTIONS(346), 1, + ACTIONS(418), 1, anon_sym_RBRACE, - STATE(108), 1, - aux_sym_record_literal_repeat1, - [2489] = 2, - ACTIONS(288), 1, + STATE(163), 1, + aux_sym_array_literal_repeat1, + [4180] = 3, + ACTIONS(420), 1, + anon_sym_DQUOTE, + STATE(140), 1, + aux_sym_double_quoted_literal_repeat1, + ACTIONS(390), 2, + sym_double_quoted_content, + sym_escape_sequence, + [4191] = 3, + ACTIONS(361), 1, anon_sym_PIPE, - ACTIONS(348), 2, + STATE(103), 1, + aux_sym_open_expression_repeat1, + ACTIONS(422), 2, anon_sym_COMMA, anon_sym_RBRACE, - [2497] = 3, - ACTIONS(350), 1, + [4202] = 3, + ACTIONS(372), 1, anon_sym_COMMA, - ACTIONS(353), 1, + ACTIONS(424), 1, anon_sym_RBRACE, - STATE(107), 1, + STATE(166), 1, aux_sym_array_literal_repeat1, - [2507] = 3, - ACTIONS(355), 1, - anon_sym_COMMA, - ACTIONS(358), 1, - anon_sym_RBRACE, - STATE(108), 1, - aux_sym_record_literal_repeat1, - [2517] = 3, - ACTIONS(261), 1, + [4212] = 3, + ACTIONS(361), 1, anon_sym_PIPE, - ACTIONS(360), 1, + ACTIONS(426), 1, anon_sym_RPAREN, - STATE(117), 1, + STATE(173), 1, aux_sym_open_expression_repeat1, - [2527] = 3, - ACTIONS(189), 1, + [4222] = 3, + ACTIONS(225), 1, anon_sym_PIPE_GT, - ACTIONS(317), 1, - anon_sym_RPAREN, - ACTIONS(362), 1, + ACTIONS(310), 1, anon_sym_PIPE, - [2537] = 3, - ACTIONS(364), 1, - aux_sym_tuple_projection_token1, - ACTIONS(366), 1, - aux_sym_original_record_field_selector_token1, - STATE(32), 1, - sym_original_record_field_selector, - [2547] = 2, - ACTIONS(164), 1, + ACTIONS(312), 1, + anon_sym_RPAREN, + [4232] = 3, + ACTIONS(428), 1, + anon_sym_COMMA, + ACTIONS(431), 1, + anon_sym_RBRACE, + STATE(166), 1, + aux_sym_array_literal_repeat1, + [4242] = 2, + ACTIONS(233), 1, anon_sym_PIPE, - ACTIONS(368), 2, + ACTIONS(433), 2, anon_sym_COMMA, anon_sym_RBRACE, - [2555] = 3, - ACTIONS(371), 1, + [4250] = 3, + ACTIONS(436), 1, anon_sym_RPAREN, - ACTIONS(373), 1, + ACTIONS(438), 1, anon_sym_COMMA, - STATE(113), 1, + STATE(168), 1, aux_sym_argument_list_repeat1, - [2565] = 2, - ACTIONS(376), 1, - anon_sym_PIPE, - ACTIONS(378), 2, - anon_sym_RPAREN, + [4260] = 3, + ACTIONS(372), 1, anon_sym_COMMA, - [2573] = 3, - ACTIONS(380), 1, - anon_sym_RPAREN, - ACTIONS(382), 1, + ACTIONS(441), 1, + anon_sym_RBRACE, + STATE(176), 1, + aux_sym_array_literal_repeat1, + [4270] = 3, + ACTIONS(443), 1, anon_sym_COMMA, - STATE(122), 1, - aux_sym_tuple_literal_repeat1, - [2583] = 3, - ACTIONS(384), 1, + ACTIONS(445), 1, + anon_sym_RBRACE, + STATE(178), 1, + aux_sym_record_literal_repeat1, + [4280] = 1, + ACTIONS(447), 3, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + [4286] = 3, + ACTIONS(449), 1, anon_sym_RPAREN, - ACTIONS(386), 1, + ACTIONS(451), 1, anon_sym_COMMA, - STATE(104), 1, - aux_sym_argument_list_repeat1, - [2593] = 3, - ACTIONS(261), 1, + STATE(179), 1, + aux_sym_tuple_literal_repeat1, + [4296] = 3, + ACTIONS(361), 1, anon_sym_PIPE, - ACTIONS(388), 1, + ACTIONS(453), 1, anon_sym_RPAREN, - STATE(52), 1, + STATE(103), 1, aux_sym_open_expression_repeat1, - [2603] = 2, - ACTIONS(390), 1, - anon_sym_PIPE, - ACTIONS(378), 2, + [4306] = 3, + ACTIONS(372), 1, + anon_sym_COMMA, + ACTIONS(455), 1, + anon_sym_RBRACE, + STATE(166), 1, + aux_sym_array_literal_repeat1, + [4316] = 3, + ACTIONS(457), 1, anon_sym_RPAREN, + ACTIONS(459), 1, anon_sym_COMMA, - [2611] = 3, - ACTIONS(290), 1, + STATE(190), 1, + aux_sym_argument_list_repeat1, + [4326] = 3, + ACTIONS(372), 1, anon_sym_COMMA, - ACTIONS(392), 1, + ACTIONS(461), 1, anon_sym_RBRACE, - STATE(123), 1, + STATE(166), 1, aux_sym_array_literal_repeat1, - [2621] = 3, - ACTIONS(344), 1, + [4336] = 3, + ACTIONS(463), 1, anon_sym_COMMA, - ACTIONS(394), 1, + ACTIONS(466), 1, anon_sym_RBRACE, - STATE(105), 1, + STATE(177), 1, aux_sym_record_literal_repeat1, - [2631] = 3, - ACTIONS(290), 1, + [4346] = 3, + ACTIONS(443), 1, anon_sym_COMMA, - ACTIONS(396), 1, + ACTIONS(468), 1, anon_sym_RBRACE, - STATE(107), 1, - aux_sym_array_literal_repeat1, - [2641] = 3, - ACTIONS(382), 1, + STATE(177), 1, + aux_sym_record_literal_repeat1, + [4356] = 3, + ACTIONS(451), 1, anon_sym_COMMA, - ACTIONS(398), 1, + ACTIONS(470), 1, anon_sym_RPAREN, - STATE(103), 1, + STATE(181), 1, aux_sym_tuple_literal_repeat1, - [2651] = 3, - ACTIONS(290), 1, + [4366] = 3, + ACTIONS(472), 1, + aux_sym_tuple_projection_token1, + ACTIONS(474), 1, + aux_sym_original_record_field_selector_token1, + STATE(59), 1, + sym_original_record_field_selector, + [4376] = 3, + ACTIONS(476), 1, + anon_sym_RPAREN, + ACTIONS(478), 1, + anon_sym_COMMA, + STATE(181), 1, + aux_sym_tuple_literal_repeat1, + [4386] = 3, + ACTIONS(372), 1, anon_sym_COMMA, - ACTIONS(400), 1, + ACTIONS(481), 1, anon_sym_RBRACE, - STATE(107), 1, + STATE(185), 1, aux_sym_array_literal_repeat1, - [2661] = 2, - ACTIONS(402), 1, - aux_sym_tuple_projection_token1, - ACTIONS(404), 1, - anon_sym_CARET, - [2668] = 1, - ACTIONS(406), 2, + [4396] = 3, + ACTIONS(443), 1, + anon_sym_COMMA, + ACTIONS(483), 1, + anon_sym_RBRACE, + STATE(186), 1, + aux_sym_record_literal_repeat1, + [4406] = 2, + ACTIONS(370), 1, + anon_sym_PIPE, + ACTIONS(485), 2, anon_sym_COMMA, anon_sym_RBRACE, - [2673] = 1, - ACTIONS(358), 2, + [4414] = 3, + ACTIONS(372), 1, anon_sym_COMMA, + ACTIONS(487), 1, anon_sym_RBRACE, - [2678] = 1, - ACTIONS(408), 2, + STATE(166), 1, + aux_sym_array_literal_repeat1, + [4424] = 3, + ACTIONS(443), 1, anon_sym_COMMA, + ACTIONS(489), 1, anon_sym_RBRACE, - [2683] = 1, - ACTIONS(371), 2, + STATE(177), 1, + aux_sym_record_literal_repeat1, + [4434] = 1, + ACTIONS(491), 3, anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + [4440] = 3, + ACTIONS(451), 1, anon_sym_COMMA, - [2688] = 1, - ACTIONS(410), 2, - ts_builtin_sym_end, + ACTIONS(493), 1, anon_sym_RPAREN, - [2693] = 1, - ACTIONS(412), 2, + STATE(189), 1, + aux_sym_tuple_literal_repeat1, + [4450] = 3, + ACTIONS(451), 1, + anon_sym_COMMA, + ACTIONS(495), 1, + anon_sym_RPAREN, + STATE(181), 1, + aux_sym_tuple_literal_repeat1, + [4460] = 3, + ACTIONS(497), 1, anon_sym_RPAREN, + ACTIONS(499), 1, anon_sym_COMMA, - [2698] = 1, - ACTIONS(414), 2, + STATE(168), 1, + aux_sym_argument_list_repeat1, + [4470] = 3, + ACTIONS(501), 1, + aux_sym_tuple_projection_token1, + ACTIONS(503), 1, + aux_sym_original_record_field_selector_token1, + STATE(35), 1, + sym_original_record_field_selector, + [4480] = 1, + ACTIONS(505), 2, anon_sym_RPAREN, anon_sym_COMMA, - [2703] = 1, - ACTIONS(335), 2, + [4485] = 1, + ACTIONS(507), 2, + ts_builtin_sym_end, anon_sym_RPAREN, + [4490] = 1, + ACTIONS(509), 2, anon_sym_COMMA, - [2708] = 2, - ACTIONS(416), 1, - anon_sym_BQUOTE, - ACTIONS(418), 1, - sym_backtick_quoted_content, - [2715] = 1, - ACTIONS(353), 2, + anon_sym_RBRACE, + [4495] = 2, + ACTIONS(511), 1, + aux_sym_tuple_projection_token1, + ACTIONS(513), 1, + anon_sym_CARET, + [4502] = 1, + ACTIONS(515), 2, anon_sym_COMMA, anon_sym_RBRACE, - [2720] = 1, - ACTIONS(420), 2, - anon_sym_RPAREN, + [4507] = 1, + ACTIONS(466), 2, anon_sym_COMMA, - [2725] = 1, - ACTIONS(422), 1, - anon_sym_LPAREN, - [2729] = 1, - ACTIONS(424), 1, anon_sym_RBRACE, - [2733] = 1, - ACTIONS(426), 1, - ts_builtin_sym_end, - [2737] = 1, - ACTIONS(428), 1, + [4512] = 1, + ACTIONS(431), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [4517] = 2, + ACTIONS(517), 1, + aux_sym_tuple_projection_token1, + ACTIONS(519), 1, + anon_sym_CARET, + [4524] = 1, + ACTIONS(476), 2, anon_sym_RPAREN, - [2741] = 1, - ACTIONS(430), 1, anon_sym_COMMA, - [2745] = 1, - ACTIONS(286), 1, + [4529] = 1, + ACTIONS(521), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [4534] = 2, + ACTIONS(523), 1, + anon_sym_BQUOTE, + ACTIONS(525), 1, + sym_backtick_quoted_content, + [4541] = 2, + ACTIONS(527), 1, + anon_sym_BQUOTE, + ACTIONS(529), 1, + sym_backtick_quoted_content, + [4548] = 1, + ACTIONS(531), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [4553] = 1, + ACTIONS(436), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [4558] = 1, + ACTIONS(533), 1, + anon_sym_RBRACE, + [4562] = 1, + ACTIONS(392), 1, anon_sym_COLON_EQ, - [2749] = 1, - ACTIONS(432), 1, + [4566] = 1, + ACTIONS(535), 1, + anon_sym_RPAREN, + [4570] = 1, + ACTIONS(537), 1, ts_builtin_sym_end, - [2753] = 1, - ACTIONS(434), 1, + [4574] = 1, + ACTIONS(539), 1, anon_sym_RBRACE, - [2757] = 1, - ACTIONS(436), 1, - anon_sym_COMMA, - [2761] = 1, - ACTIONS(438), 1, - anon_sym_PIPE, - [2765] = 1, - ACTIONS(440), 1, - aux_sym_tuple_projection_token1, - [2769] = 1, - ACTIONS(442), 1, + [4578] = 1, + ACTIONS(541), 1, anon_sym_RPAREN, - [2773] = 1, - ACTIONS(444), 1, - anon_sym_BQUOTE, - [2777] = 1, - ACTIONS(446), 1, + [4582] = 1, + ACTIONS(544), 1, anon_sym_RPAREN, - [2781] = 1, - ACTIONS(449), 1, + [4586] = 1, + ACTIONS(546), 1, + ts_builtin_sym_end, + [4590] = 1, + ACTIONS(548), 1, + anon_sym_BQUOTE, + [4594] = 1, + ACTIONS(550), 1, anon_sym_RPAREN, - [2785] = 1, - ACTIONS(451), 1, + [4598] = 1, + ACTIONS(552), 1, + anon_sym_BQUOTE, + [4602] = 1, + ACTIONS(554), 1, + anon_sym_PIPE, + [4606] = 1, + ACTIONS(556), 1, + anon_sym_RBRACE, + [4610] = 1, + ACTIONS(558), 1, + anon_sym_COMMA, + [4614] = 1, + ACTIONS(560), 1, anon_sym_COLON_EQ, + [4618] = 1, + ACTIONS(562), 1, + aux_sym_tuple_projection_token1, + [4622] = 1, + ACTIONS(564), 1, + anon_sym_RPAREN, + [4626] = 1, + ACTIONS(566), 1, + aux_sym_tuple_projection_token1, + [4630] = 1, + ACTIONS(568), 1, + anon_sym_COMMA, + [4634] = 1, + ACTIONS(570), 1, + anon_sym_COMMA, + [4638] = 1, + ACTIONS(572), 1, + anon_sym_LPAREN, + [4642] = 1, + ACTIONS(574), 1, + anon_sym_COMMA, + [4646] = 1, + ACTIONS(576), 1, + anon_sym_LPAREN, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 94, - [SMALL_STATE(4)] = 198, - [SMALL_STATE(5)] = 288, - [SMALL_STATE(6)] = 378, - [SMALL_STATE(7)] = 465, - [SMALL_STATE(8)] = 554, - [SMALL_STATE(9)] = 641, - [SMALL_STATE(10)] = 724, - [SMALL_STATE(11)] = 808, - [SMALL_STATE(12)] = 889, - [SMALL_STATE(13)] = 954, - [SMALL_STATE(14)] = 1015, - [SMALL_STATE(15)] = 1076, - [SMALL_STATE(16)] = 1137, - [SMALL_STATE(17)] = 1198, - [SMALL_STATE(18)] = 1242, - [SMALL_STATE(19)] = 1278, - [SMALL_STATE(20)] = 1314, - [SMALL_STATE(21)] = 1336, - [SMALL_STATE(22)] = 1365, - [SMALL_STATE(23)] = 1394, - [SMALL_STATE(24)] = 1423, - [SMALL_STATE(25)] = 1452, - [SMALL_STATE(26)] = 1481, - [SMALL_STATE(27)] = 1502, - [SMALL_STATE(28)] = 1529, - [SMALL_STATE(29)] = 1554, - [SMALL_STATE(30)] = 1575, - [SMALL_STATE(31)] = 1596, - [SMALL_STATE(32)] = 1617, - [SMALL_STATE(33)] = 1638, - [SMALL_STATE(34)] = 1663, - [SMALL_STATE(35)] = 1677, - [SMALL_STATE(36)] = 1691, - [SMALL_STATE(37)] = 1713, - [SMALL_STATE(38)] = 1727, - [SMALL_STATE(39)] = 1741, - [SMALL_STATE(40)] = 1754, - [SMALL_STATE(41)] = 1767, - [SMALL_STATE(42)] = 1780, - [SMALL_STATE(43)] = 1793, - [SMALL_STATE(44)] = 1806, - [SMALL_STATE(45)] = 1819, - [SMALL_STATE(46)] = 1832, - [SMALL_STATE(47)] = 1845, - [SMALL_STATE(48)] = 1859, - [SMALL_STATE(49)] = 1870, - [SMALL_STATE(50)] = 1887, - [SMALL_STATE(51)] = 1898, - [SMALL_STATE(52)] = 1909, - [SMALL_STATE(53)] = 1922, - [SMALL_STATE(54)] = 1939, - [SMALL_STATE(55)] = 1950, - [SMALL_STATE(56)] = 1961, - [SMALL_STATE(57)] = 1972, - [SMALL_STATE(58)] = 1983, - [SMALL_STATE(59)] = 2000, - [SMALL_STATE(60)] = 2011, - [SMALL_STATE(61)] = 2022, - [SMALL_STATE(62)] = 2033, - [SMALL_STATE(63)] = 2044, - [SMALL_STATE(64)] = 2055, - [SMALL_STATE(65)] = 2066, - [SMALL_STATE(66)] = 2077, - [SMALL_STATE(67)] = 2088, - [SMALL_STATE(68)] = 2099, - [SMALL_STATE(69)] = 2110, - [SMALL_STATE(70)] = 2121, - [SMALL_STATE(71)] = 2132, - [SMALL_STATE(72)] = 2143, - [SMALL_STATE(73)] = 2154, - [SMALL_STATE(74)] = 2165, - [SMALL_STATE(75)] = 2175, - [SMALL_STATE(76)] = 2187, - [SMALL_STATE(77)] = 2199, - [SMALL_STATE(78)] = 2211, - [SMALL_STATE(79)] = 2219, - [SMALL_STATE(80)] = 2229, - [SMALL_STATE(81)] = 2240, - [SMALL_STATE(82)] = 2251, - [SMALL_STATE(83)] = 2260, - [SMALL_STATE(84)] = 2271, - [SMALL_STATE(85)] = 2280, - [SMALL_STATE(86)] = 2293, - [SMALL_STATE(87)] = 2302, - [SMALL_STATE(88)] = 2311, - [SMALL_STATE(89)] = 2322, - [SMALL_STATE(90)] = 2333, - [SMALL_STATE(91)] = 2344, - [SMALL_STATE(92)] = 2355, - [SMALL_STATE(93)] = 2364, - [SMALL_STATE(94)] = 2373, - [SMALL_STATE(95)] = 2382, - [SMALL_STATE(96)] = 2393, - [SMALL_STATE(97)] = 2404, - [SMALL_STATE(98)] = 2415, - [SMALL_STATE(99)] = 2422, - [SMALL_STATE(100)] = 2435, - [SMALL_STATE(101)] = 2442, - [SMALL_STATE(102)] = 2453, - [SMALL_STATE(103)] = 2459, - [SMALL_STATE(104)] = 2469, - [SMALL_STATE(105)] = 2479, - [SMALL_STATE(106)] = 2489, - [SMALL_STATE(107)] = 2497, - [SMALL_STATE(108)] = 2507, - [SMALL_STATE(109)] = 2517, - [SMALL_STATE(110)] = 2527, - [SMALL_STATE(111)] = 2537, - [SMALL_STATE(112)] = 2547, - [SMALL_STATE(113)] = 2555, - [SMALL_STATE(114)] = 2565, - [SMALL_STATE(115)] = 2573, - [SMALL_STATE(116)] = 2583, - [SMALL_STATE(117)] = 2593, - [SMALL_STATE(118)] = 2603, - [SMALL_STATE(119)] = 2611, - [SMALL_STATE(120)] = 2621, - [SMALL_STATE(121)] = 2631, - [SMALL_STATE(122)] = 2641, - [SMALL_STATE(123)] = 2651, - [SMALL_STATE(124)] = 2661, - [SMALL_STATE(125)] = 2668, - [SMALL_STATE(126)] = 2673, - [SMALL_STATE(127)] = 2678, - [SMALL_STATE(128)] = 2683, - [SMALL_STATE(129)] = 2688, - [SMALL_STATE(130)] = 2693, - [SMALL_STATE(131)] = 2698, - [SMALL_STATE(132)] = 2703, - [SMALL_STATE(133)] = 2708, - [SMALL_STATE(134)] = 2715, - [SMALL_STATE(135)] = 2720, - [SMALL_STATE(136)] = 2725, - [SMALL_STATE(137)] = 2729, - [SMALL_STATE(138)] = 2733, - [SMALL_STATE(139)] = 2737, - [SMALL_STATE(140)] = 2741, - [SMALL_STATE(141)] = 2745, - [SMALL_STATE(142)] = 2749, - [SMALL_STATE(143)] = 2753, - [SMALL_STATE(144)] = 2757, - [SMALL_STATE(145)] = 2761, - [SMALL_STATE(146)] = 2765, - [SMALL_STATE(147)] = 2769, - [SMALL_STATE(148)] = 2773, - [SMALL_STATE(149)] = 2777, - [SMALL_STATE(150)] = 2781, - [SMALL_STATE(151)] = 2785, + [SMALL_STATE(3)] = 110, + [SMALL_STATE(4)] = 220, + [SMALL_STATE(5)] = 326, + [SMALL_STATE(6)] = 440, + [SMALL_STATE(7)] = 546, + [SMALL_STATE(8)] = 649, + [SMALL_STATE(9)] = 748, + [SMALL_STATE(10)] = 847, + [SMALL_STATE(11)] = 950, + [SMALL_STATE(12)] = 1045, + [SMALL_STATE(13)] = 1138, + [SMALL_STATE(14)] = 1228, + [SMALL_STATE(15)] = 1310, + [SMALL_STATE(16)] = 1397, + [SMALL_STATE(17)] = 1478, + [SMALL_STATE(18)] = 1562, + [SMALL_STATE(19)] = 1643, + [SMALL_STATE(20)] = 1724, + [SMALL_STATE(21)] = 1789, + [SMALL_STATE(22)] = 1850, + [SMALL_STATE(23)] = 1911, + [SMALL_STATE(24)] = 1972, + [SMALL_STATE(25)] = 2033, + [SMALL_STATE(26)] = 2094, + [SMALL_STATE(27)] = 2155, + [SMALL_STATE(28)] = 2182, + [SMALL_STATE(29)] = 2218, + [SMALL_STATE(30)] = 2254, + [SMALL_STATE(31)] = 2290, + [SMALL_STATE(32)] = 2326, + [SMALL_STATE(33)] = 2350, + [SMALL_STATE(34)] = 2374, + [SMALL_STATE(35)] = 2398, + [SMALL_STATE(36)] = 2422, + [SMALL_STATE(37)] = 2444, + [SMALL_STATE(38)] = 2466, + [SMALL_STATE(39)] = 2490, + [SMALL_STATE(40)] = 2507, + [SMALL_STATE(41)] = 2536, + [SMALL_STATE(42)] = 2565, + [SMALL_STATE(43)] = 2594, + [SMALL_STATE(44)] = 2611, + [SMALL_STATE(45)] = 2640, + [SMALL_STATE(46)] = 2657, + [SMALL_STATE(47)] = 2686, + [SMALL_STATE(48)] = 2703, + [SMALL_STATE(49)] = 2719, + [SMALL_STATE(50)] = 2735, + [SMALL_STATE(51)] = 2751, + [SMALL_STATE(52)] = 2767, + [SMALL_STATE(53)] = 2783, + [SMALL_STATE(54)] = 2799, + [SMALL_STATE(55)] = 2815, + [SMALL_STATE(56)] = 2831, + [SMALL_STATE(57)] = 2848, + [SMALL_STATE(58)] = 2867, + [SMALL_STATE(59)] = 2888, + [SMALL_STATE(60)] = 2909, + [SMALL_STATE(61)] = 2930, + [SMALL_STATE(62)] = 2951, + [SMALL_STATE(63)] = 2972, + [SMALL_STATE(64)] = 2997, + [SMALL_STATE(65)] = 3011, + [SMALL_STATE(66)] = 3033, + [SMALL_STATE(67)] = 3047, + [SMALL_STATE(68)] = 3061, + [SMALL_STATE(69)] = 3075, + [SMALL_STATE(70)] = 3089, + [SMALL_STATE(71)] = 3103, + [SMALL_STATE(72)] = 3117, + [SMALL_STATE(73)] = 3131, + [SMALL_STATE(74)] = 3145, + [SMALL_STATE(75)] = 3159, + [SMALL_STATE(76)] = 3173, + [SMALL_STATE(77)] = 3187, + [SMALL_STATE(78)] = 3201, + [SMALL_STATE(79)] = 3217, + [SMALL_STATE(80)] = 3231, + [SMALL_STATE(81)] = 3245, + [SMALL_STATE(82)] = 3259, + [SMALL_STATE(83)] = 3273, + [SMALL_STATE(84)] = 3287, + [SMALL_STATE(85)] = 3301, + [SMALL_STATE(86)] = 3315, + [SMALL_STATE(87)] = 3329, + [SMALL_STATE(88)] = 3343, + [SMALL_STATE(89)] = 3357, + [SMALL_STATE(90)] = 3372, + [SMALL_STATE(91)] = 3385, + [SMALL_STATE(92)] = 3398, + [SMALL_STATE(93)] = 3411, + [SMALL_STATE(94)] = 3428, + [SMALL_STATE(95)] = 3443, + [SMALL_STATE(96)] = 3456, + [SMALL_STATE(97)] = 3469, + [SMALL_STATE(98)] = 3485, + [SMALL_STATE(99)] = 3501, + [SMALL_STATE(100)] = 3515, + [SMALL_STATE(101)] = 3529, + [SMALL_STATE(102)] = 3540, + [SMALL_STATE(103)] = 3557, + [SMALL_STATE(104)] = 3570, + [SMALL_STATE(105)] = 3581, + [SMALL_STATE(106)] = 3592, + [SMALL_STATE(107)] = 3605, + [SMALL_STATE(108)] = 3622, + [SMALL_STATE(109)] = 3635, + [SMALL_STATE(110)] = 3648, + [SMALL_STATE(111)] = 3659, + [SMALL_STATE(112)] = 3670, + [SMALL_STATE(113)] = 3681, + [SMALL_STATE(114)] = 3692, + [SMALL_STATE(115)] = 3703, + [SMALL_STATE(116)] = 3714, + [SMALL_STATE(117)] = 3725, + [SMALL_STATE(118)] = 3735, + [SMALL_STATE(119)] = 3751, + [SMALL_STATE(120)] = 3763, + [SMALL_STATE(121)] = 3775, + [SMALL_STATE(122)] = 3785, + [SMALL_STATE(123)] = 3795, + [SMALL_STATE(124)] = 3805, + [SMALL_STATE(125)] = 3815, + [SMALL_STATE(126)] = 3825, + [SMALL_STATE(127)] = 3835, + [SMALL_STATE(128)] = 3845, + [SMALL_STATE(129)] = 3855, + [SMALL_STATE(130)] = 3863, + [SMALL_STATE(131)] = 3873, + [SMALL_STATE(132)] = 3883, + [SMALL_STATE(133)] = 3893, + [SMALL_STATE(134)] = 3903, + [SMALL_STATE(135)] = 3913, + [SMALL_STATE(136)] = 3923, + [SMALL_STATE(137)] = 3933, + [SMALL_STATE(138)] = 3943, + [SMALL_STATE(139)] = 3953, + [SMALL_STATE(140)] = 3963, + [SMALL_STATE(141)] = 3974, + [SMALL_STATE(142)] = 3987, + [SMALL_STATE(143)] = 3996, + [SMALL_STATE(144)] = 4005, + [SMALL_STATE(145)] = 4012, + [SMALL_STATE(146)] = 4023, + [SMALL_STATE(147)] = 4034, + [SMALL_STATE(148)] = 4045, + [SMALL_STATE(149)] = 4054, + [SMALL_STATE(150)] = 4063, + [SMALL_STATE(151)] = 4072, + [SMALL_STATE(152)] = 4083, + [SMALL_STATE(153)] = 4090, + [SMALL_STATE(154)] = 4103, + [SMALL_STATE(155)] = 4114, + [SMALL_STATE(156)] = 4125, + [SMALL_STATE(157)] = 4134, + [SMALL_STATE(158)] = 4145, + [SMALL_STATE(159)] = 4156, + [SMALL_STATE(160)] = 4167, + [SMALL_STATE(161)] = 4180, + [SMALL_STATE(162)] = 4191, + [SMALL_STATE(163)] = 4202, + [SMALL_STATE(164)] = 4212, + [SMALL_STATE(165)] = 4222, + [SMALL_STATE(166)] = 4232, + [SMALL_STATE(167)] = 4242, + [SMALL_STATE(168)] = 4250, + [SMALL_STATE(169)] = 4260, + [SMALL_STATE(170)] = 4270, + [SMALL_STATE(171)] = 4280, + [SMALL_STATE(172)] = 4286, + [SMALL_STATE(173)] = 4296, + [SMALL_STATE(174)] = 4306, + [SMALL_STATE(175)] = 4316, + [SMALL_STATE(176)] = 4326, + [SMALL_STATE(177)] = 4336, + [SMALL_STATE(178)] = 4346, + [SMALL_STATE(179)] = 4356, + [SMALL_STATE(180)] = 4366, + [SMALL_STATE(181)] = 4376, + [SMALL_STATE(182)] = 4386, + [SMALL_STATE(183)] = 4396, + [SMALL_STATE(184)] = 4406, + [SMALL_STATE(185)] = 4414, + [SMALL_STATE(186)] = 4424, + [SMALL_STATE(187)] = 4434, + [SMALL_STATE(188)] = 4440, + [SMALL_STATE(189)] = 4450, + [SMALL_STATE(190)] = 4460, + [SMALL_STATE(191)] = 4470, + [SMALL_STATE(192)] = 4480, + [SMALL_STATE(193)] = 4485, + [SMALL_STATE(194)] = 4490, + [SMALL_STATE(195)] = 4495, + [SMALL_STATE(196)] = 4502, + [SMALL_STATE(197)] = 4507, + [SMALL_STATE(198)] = 4512, + [SMALL_STATE(199)] = 4517, + [SMALL_STATE(200)] = 4524, + [SMALL_STATE(201)] = 4529, + [SMALL_STATE(202)] = 4534, + [SMALL_STATE(203)] = 4541, + [SMALL_STATE(204)] = 4548, + [SMALL_STATE(205)] = 4553, + [SMALL_STATE(206)] = 4558, + [SMALL_STATE(207)] = 4562, + [SMALL_STATE(208)] = 4566, + [SMALL_STATE(209)] = 4570, + [SMALL_STATE(210)] = 4574, + [SMALL_STATE(211)] = 4578, + [SMALL_STATE(212)] = 4582, + [SMALL_STATE(213)] = 4586, + [SMALL_STATE(214)] = 4590, + [SMALL_STATE(215)] = 4594, + [SMALL_STATE(216)] = 4598, + [SMALL_STATE(217)] = 4602, + [SMALL_STATE(218)] = 4606, + [SMALL_STATE(219)] = 4610, + [SMALL_STATE(220)] = 4614, + [SMALL_STATE(221)] = 4618, + [SMALL_STATE(222)] = 4622, + [SMALL_STATE(223)] = 4626, + [SMALL_STATE(224)] = 4630, + [SMALL_STATE(225)] = 4634, + [SMALL_STATE(226)] = 4638, + [SMALL_STATE(227)] = 4642, + [SMALL_STATE(228)] = 4646, }; 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(36), - [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20), - [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), - [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [41] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__trailing_argument_list, 2, 0, 0), - [43] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__trailing_argument_list, 3, 0, 0), - [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(141), - [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18), - [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [71] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 1, 0, 2), - [73] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 1, 0, 2), - [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), - [81] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 3, 0, 11), - [83] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 3, 0, 11), - [85] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 2, 0, 8), - [87] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 2, 0, 8), - [89] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), - [91] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), - [93] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 12), SHIFT_REPEAT(39), - [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 2, 0, 6), - [98] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 2, 0, 6), - [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_backtick_quoted_literal, 2, 0, 0), - [106] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_backtick_quoted_literal, 2, 0, 0), - [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backtick_quoted_literal, 3, 0, 0), - [110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_backtick_quoted_literal, 3, 0, 0), - [112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double_quoted_literal, 2, 0, 0), - [114] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_double_quoted_literal, 2, 0, 0), - [116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_immediate_record_field_selector, 1, 0, 0), - [118] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_immediate_record_field_selector, 1, 0, 0), - [120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 1, 0, 2), - [122] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_record_access_repeat1, 1, 0, 2), - [124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_original_record_field_selector, 1, 0, 5), - [126] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_original_record_field_selector, 1, 0, 5), - [128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_literal, 1, 0, 0), - [130] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quoted_literal, 1, 0, 0), - [132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_original_record_field_selector, 1, 0, 0), - [134] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_original_record_field_selector, 1, 0, 0), - [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1, 0, 0), - [138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_literal, 1, 0, 0), - [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field_selector, 1, 0, 0), - [142] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_field_selector, 1, 0, 0), - [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_temporal_literal, 1, 0, 0), - [146] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_temporal_literal, 1, 0, 0), - [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 1, 0, 1), - [150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 1, 0, 1), - [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4, 1, 0), - [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4, 1, 0), - [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closed_expression, 1, 0, 0), - [160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(24), - [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_incoming_value, 1, 0, 0), - [166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_incoming_value, 1, 0, 0), - [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_expression, 1, 0, 7), - [170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pipeline_expression, 1, 0, 7), - [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_open_expression_repeat1, 2, 0, 0), - [174] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_open_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(22), - [177] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), - [179] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(24), - [182] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(27), - [185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2, 1, 0), - [187] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 2, 1, 0), - [189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1, 0, 0), - [191] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1, 0, 0), - [193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 3, 0, 0), - [195] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 3, 0, 0), - [197] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, 0, 1), - [199] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, 0, 1), - [201] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closed_expression, 2, 0, 0), - [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_projection, 2, 0, 4), - [205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_projection, 2, 0, 4), - [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_literal, 7, 0, 0), - [209] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_literal, 7, 0, 0), - [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 4, 2, 0), - [213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 4, 2, 0), - [215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3, 1, 0), - [217] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3, 1, 0), - [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_shorthand, 1, 0, 0), - [221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interval_shorthand, 1, 0, 0), - [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 3, 2, 0), - [225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 3, 2, 0), - [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_literal, 2, 0, 0), - [229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interval_literal, 2, 0, 0), - [231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parenthesized_pipeline_expression, 3, 0, 9), - [233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__parenthesized_pipeline_expression, 3, 0, 9), - [235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 9), - [237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 9), - [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_projection, 3, 0, 10), - [241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_projection, 3, 0, 10), - [243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_literal, 6, 0, 15), - [245] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interval_literal, 6, 0, 15), - [247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_literal, 6, 0, 0), - [249] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_literal, 6, 0, 0), - [251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, 0, 1), - [253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, 0, 1), - [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), - [257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), - [259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_expression, 1, 0, 0), - [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_expression, 2, 0, 0), - [265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_shorthand, 2, 0, 3), - [269] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_shorthand, 2, 0, 3), - [271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__array_closed_expression, 3, 0, 0), - [273] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), - [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 1, 0, 7), - [279] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 1, 0, 7), - [281] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_double_quoted_literal_repeat1, 2, 0, 0), - [283] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_double_quoted_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(83), - [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field_name, 1, 0, 0), - [288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), - [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_map_shorthand, 2, 0, 3), - [298] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pipeline_map_shorthand, 2, 0, 3), - [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_open_expression, 3, 0, 0), - [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_closed_expression, 3, 0, 0), - [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__array_closed_expression, 4, 0, 0), - [306] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), - [308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_open_expression, 1, 0, 0), - [312] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_open_expression, 1, 0, 0), - [314] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), REDUCE(sym__pipeline_expression, 1, 0, 0), - [317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_expression, 1, 0, 0), - [319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_open_expression, 4, 0, 0), - [321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_open_expression, 1, 0, 0), - [323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_closed_expression, 4, 0, 0), - [325] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_infinite_bound, 1, 0, 0), - [327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_bound, 1, 0, 0), - [331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_open_expression, 2, 0, 0), - [333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_literal_repeat1, 2, 0, 0), - [337] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(15), - [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0), - [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__array_element, 1, 0, 0), - [350] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(12), - [353] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), - [355] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(28), - [358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_literal_repeat1, 2, 0, 0), - [360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_open_expression, 1, 0, 0), - [362] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pipeline_expression, 1, 0, 0), - [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [368] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_record_spread, 1, 0, 0), REDUCE(sym_incoming_value, 1, 0, 0), - [371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), - [373] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(6), - [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [378] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__argument_value, 1, 0, 0), - [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 1, 0, 0), - [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_open_expression, 2, 0, 0), - [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), - [406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_spread, 1, 0, 0), - [408] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field, 3, 0, 13), - [410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root_expression, 1, 0, 0), - [412] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_positional_argument, 1, 0, 0), - [414] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameterized_expression, 5, 3, 16), - [416] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), - [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), - [420] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_argument, 3, 0, 14), - [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [426] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), - [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [432] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), - [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [446] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_root_expression, 1, 0, 0), SHIFT(68), - [449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(56), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(226), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [43] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__trailing_argument_list, 2, 0, 0), + [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [47] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__trailing_argument_list, 3, 0, 0), + [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), + [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), + [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(228), + [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), + [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(207), + [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), + [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), + [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(99), + [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), + [89] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [91] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228), + [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), + [97] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_operator, 1, 0, 0), + [99] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_operator, 1, 0, 0), + [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), + [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 14), + [107] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 14), + [109] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 14), SHIFT_REPEAT(51), + [112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 1, 0, 2), + [114] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 1, 0, 2), + [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 2, 0, 9), + [120] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 2, 0, 9), + [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 2, 0, 7), + [124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 2, 0, 7), + [126] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), + [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [132] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), + [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_access, 3, 0, 12), + [140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_access, 3, 0, 12), + [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backtick_quoted_literal, 3, 0, 0), + [144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_backtick_quoted_literal, 3, 0, 0), + [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backtick_quoted_literal, 2, 0, 0), + [150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_backtick_quoted_literal, 2, 0, 0), + [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double_quoted_literal, 2, 0, 0), + [154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_double_quoted_literal, 2, 0, 0), + [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_double_quoted_literal, 3, 0, 0), + [158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_double_quoted_literal, 3, 0, 0), + [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_temporal_literal, 1, 0, 0), + [162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_temporal_literal, 1, 0, 0), + [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_literal, 1, 0, 0), + [166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quoted_literal, 1, 0, 0), + [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field_selector, 1, 0, 0), + [170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_field_selector, 1, 0, 0), + [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_immediate_record_field_selector, 1, 0, 0), + [174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_immediate_record_field_selector, 1, 0, 0), + [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 1, 0, 2), + [178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_record_access_repeat1, 1, 0, 2), + [180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_original_record_field_selector, 1, 0, 0), + [182] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_original_record_field_selector, 1, 0, 0), + [184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_original_record_field_selector, 1, 0, 6), + [186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_original_record_field_selector, 1, 0, 6), + [188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1, 0, 0), + [190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_literal, 1, 0, 0), + [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 1, 0, 1), + [194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 1, 0, 1), + [196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), + [200] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), + [202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [206] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_access_repeat1, 2, 0, 14), SHIFT_REPEAT(90), + [209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), + [213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_literal, 6, 0, 0), + [215] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_literal, 6, 0, 0), + [217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closed_expression, 1, 0, 0), + [219] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), + [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__shorthand_operand, 1, 0, 0), + [225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1, 0, 0), + [227] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1, 0, 0), + [229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, 0, 1), + [231] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, 0, 1), + [233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_incoming_value, 1, 0, 0), + [235] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_incoming_value, 1, 0, 0), + [237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 10), + [239] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 10), + [241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4, 1, 0), + [243] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4, 1, 0), + [245] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 4, 2, 0), + [247] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 4, 2, 0), + [249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_projection, 3, 0, 11), + [251] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_projection, 3, 0, 11), + [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}}, REDUCE(sym_map_shorthand, 2, 0, 3), + [259] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_shorthand, 2, 0, 3), + [261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_literal, 6, 0, 17), + [263] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interval_literal, 6, 0, 17), + [265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_literal, 7, 0, 0), + [267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_literal, 7, 0, 0), + [269] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), REDUCE(sym__shorthand_operand, 1, 0, 0), + [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_shorthand, 1, 0, 0), + [274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interval_shorthand, 1, 0, 0), + [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_literal, 2, 0, 0), + [278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interval_literal, 2, 0, 0), + [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 13), + [282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 13), + [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 3, 0, 0), + [286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 3, 0, 0), + [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 4), + [290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 4), + [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_projection, 2, 0, 5), + [294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_projection, 2, 0, 5), + [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3, 1, 0), + [298] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3, 1, 0), + [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_literal, 3, 2, 0), + [302] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_literal, 3, 2, 0), + [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2, 1, 0), + [306] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 2, 1, 0), + [308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pipeline_expression, 1, 0, 0), + [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_expression, 1, 0, 0), + [314] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), REDUCE(sym__pipeline_expression, 1, 0, 0), + [317] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), REDUCE(sym__pipeline_expression, 1, 0, 0), + [320] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), + [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_open_expression, 1, 0, 0), + [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_open_expression, 1, 0, 0), + [328] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_open_expression, 1, 0, 0), + [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closed_expression, 2, 0, 0), + [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_open_expression_repeat1, 2, 0, 0), + [334] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_open_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(40), + [337] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), + [339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__argument_value, 1, 0, 0), + [341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), + [343] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(46), + [346] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(11), + [349] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), + [351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parenthesized_pipeline_expression, 3, 0, 10), + [353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__parenthesized_pipeline_expression, 3, 0, 10), + [355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_expression, 1, 0, 8), + [357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pipeline_expression, 1, 0, 8), + [359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_expression, 2, 0, 0), + [361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_expression, 1, 0, 0), + [365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_double_quoted_literal_repeat1, 2, 0, 0), + [367] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_double_quoted_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(140), + [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [376] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 2, 0, 0), + [378] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_map_shorthand, 2, 0, 3), + [380] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pipeline_map_shorthand, 2, 0, 3), + [382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interval_bound, 1, 0, 0), + [384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_open_expression, 4, 0, 0), + [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_closed_expression, 4, 0, 0), + [388] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), + [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field_name, 1, 0, 0), + [394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_open_expression, 3, 0, 0), + [396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_infinite_bound, 1, 0, 0), + [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [400] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_closed_expression, 3, 0, 0), + [402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__array_closed_expression, 3, 0, 0), + [404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_closed_expression_repeat1, 1, 0, 8), + [406] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_closed_expression_repeat1, 1, 0, 8), + [408] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45), + [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [412] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_open_expression, 2, 0, 0), + [414] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), + [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [420] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), + [422] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__array_closed_expression, 4, 0, 0), + [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [426] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_open_expression, 1, 0, 0), + [428] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(20), + [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), + [433] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_record_spread, 1, 0, 0), REDUCE(sym_incoming_value, 1, 0, 0), + [436] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), + [438] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(7), + [441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [453] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pipeline_open_expression, 2, 0, 0), + [455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [457] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 1, 0, 0), + [459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [463] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(63), + [466] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_literal_repeat1, 2, 0, 0), + [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [476] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_literal_repeat1, 2, 0, 0), + [478] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(25), + [481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [485] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__array_element, 1, 0, 0), + [487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [497] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0), + [499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameterized_expression, 5, 3, 18), + [507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root_expression, 1, 0, 0), + [509] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field, 3, 0, 15), + [511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), + [515] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_spread, 1, 0, 0), + [517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), + [521] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_positional_argument, 1, 0, 0), + [523] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111), + [525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), + [527] = {.entry = {.count = 1, .reusable = false}}, SHIFT(43), + [529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), + [531] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_argument, 3, 0, 16), + [533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [537] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [541] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_root_expression, 1, 0, 0), SHIFT(112), + [544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [546] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [560] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), }; #ifdef __cplusplus diff --git a/test/corpus/boolean-shorthands.txt b/test/corpus/boolean-shorthands.txt new file mode 100644 index 0000000..ae34044 --- /dev/null +++ b/test/corpus/boolean-shorthands.txt @@ -0,0 +1,367 @@ +================== +Unary shorthand +================== + +!is-null + +--- + +(source_file + (root_expression + (open_expression + (unary_expression + (unary_operator) + (function_call + (function_name)))))) + +================== +Unary shorthand with arguments +================== + +!less-than(5) + +--- + +(source_file + (root_expression + (open_expression + (unary_expression + (unary_operator) + (function_call + (function_name) + (argument_list + (positional_argument + (numeric_literal)))))))) + +================== +Unary shorthand with generic operands +================== + +!$0 + +--- + +(source_file + (root_expression + (open_expression + (unary_expression + (unary_operator) + (tuple_projection + (from_start) + (tuple_index)))))) + +================== +Nested unary shorthand +================== + +!!is-null + +--- + +(source_file + (root_expression + (open_expression + (unary_expression + (unary_operator) + (unary_expression + (unary_operator) + (function_call + (function_name))))))) + +================== +Unary shorthand as an argument +================== + +foo(!less-than(5)) + +--- + +(source_file + (root_expression + (open_expression + (function_call + (function_name) + (argument_list + (positional_argument + (unary_expression + (unary_operator) + (function_call + (function_name) + (argument_list + (positional_argument + (numeric_literal))))))))))) + +================== +Unary shorthand whitespace +================== + + ! less-than(5) + +--- + +(source_file + (root_expression + (open_expression + (unary_expression + (unary_operator) + (function_call + (function_name) + (argument_list + (positional_argument + (numeric_literal)))))))) + +================== +Each binary shorthand +================== + +a |AND b |OR c |XOR d + +--- + +(source_file + (root_expression + (open_expression + (binary_expression + (binary_expression + (binary_expression + (function_call + (function_name)) + (binary_operator) + (function_call + (function_name))) + (binary_operator) + (function_call + (function_name))) + (binary_operator) + (function_call + (function_name)))))) + +================== +Unary shorthand binds inside binary shorthand +================== + +!foo |AND bar + +--- + +(source_file + (root_expression + (open_expression + (binary_expression + (unary_expression + (unary_operator) + (function_call + (function_name))) + (binary_operator) + (function_call + (function_name)))))) + +================== +Binary shorthand followed by an ordinary pipeline +================== + +foo |AND bar | some-function + +--- + +(source_file + (root_expression + (open_expression + (binary_expression + (function_call + (function_name)) + (binary_operator) + (function_call + (function_name))) + (function_call + (function_name))))) + +================== +Parenthesized binary shorthand controls grouping +================== + +(a |OR b) |AND c + +--- + +(source_file + (root_expression + (open_expression + (binary_expression + (parenthesized_expression + (root_expression + (open_expression + (binary_expression + (function_call + (function_name)) + (binary_operator) + (function_call + (function_name)))))) + (binary_operator) + (function_call + (function_name)))))) + +================== +Parenthesized binary shorthand as right operand +================== + +a |OR (b |AND c) + +--- + +(source_file + (root_expression + (open_expression + (binary_expression + (function_call + (function_name)) + (binary_operator) + (parenthesized_expression + (root_expression + (open_expression + (binary_expression + (function_call + (function_name)) + (binary_operator) + (function_call + (function_name)))))))))) + +================== +Parenthesized shorthand under unary shorthand +================== + +!(a |OR b) + +--- + +(source_file + (root_expression + (open_expression + (unary_expression + (unary_operator) + (parenthesized_expression + (root_expression + (open_expression + (binary_expression + (function_call + (function_name)) + (binary_operator) + (function_call + (function_name)))))))))) + +================== +Nested parenthesized shorthand +================== + +((a |OR b) |AND c) + +--- + +(source_file + (root_expression + (open_expression + (parenthesized_expression + (root_expression + (open_expression + (binary_expression + (parenthesized_expression + (root_expression + (open_expression + (binary_expression + (function_call + (function_name)) + (binary_operator) + (function_call + (function_name)))))) + (binary_operator) + (function_call + (function_name))))))))) + +================== +Unary shorthand requires an operand +================== + +! + +--- + +(source_file + (root_expression + (open_expression + (unary_expression + (unary_operator) + (function_call + (MISSING function_name)))))) + +================== +Binary shorthand requires a right operand +================== + +foo |AND + +--- + +(source_file + (root_expression + (open_expression + (binary_expression + (function_call + (function_name)) + (binary_operator) + (function_call + (MISSING function_name)))))) + +================== +Binary shorthand requires a left operand +================== + +|AND foo + +--- + +(source_file + (ERROR) + (root_expression + (open_expression + (function_call + (function_name))))) + +================== +Malformed binary shorthand operator +================== + +foo |BAD bar + +--- + +(source_file + (root_expression + (open_expression + (function_call + (function_name)) + (function_call + (function_name)))) + (ERROR + (unquoted_record_field_name))) + +================== +Parenthesized shorthand requires a closing parenthesis +================== + +(foo |AND bar + +--- + +(source_file + (root_expression + (open_expression + (parenthesized_expression + (root_expression + (open_expression + (binary_expression + (function_call + (function_name)) + (binary_operator) + (function_call + (function_name))))) + (MISSING ")"))))) diff --git a/test/corpus/parameterized_expressions.txt b/test/corpus/parameterized_expressions.txt index 26b92c6..c5127c9 100644 --- a/test/corpus/parameterized_expressions.txt +++ b/test/corpus/parameterized_expressions.txt @@ -249,7 +249,7 @@ foo({@foo lower}) (array_literal (variable) (ERROR - (function_name))))))))) + (unquoted_record_field_name))))))))) ================== Missing right-hand expression recovery snapshot rejects an array literal