UNPKG

@bufbuild/cel-spec

Version:

CEL definitions and test data

566 lines (565 loc) 50 kB
export declare const parserTests: readonly [{ readonly expr: "\"A\""; readonly ast: "\"A\"^#*expr.Constant_StringValue#"; }, { readonly expr: "true"; readonly ast: "true^#*expr.Constant_BoolValue#"; }, { readonly expr: "false"; readonly ast: "false^#*expr.Constant_BoolValue#"; }, { readonly expr: "0"; readonly ast: "0^#*expr.Constant_Int64Value#"; }, { readonly expr: "42"; readonly ast: "42^#*expr.Constant_Int64Value#"; }, { readonly expr: "0xF"; readonly ast: "15^#*expr.Constant_Int64Value#"; }, { readonly expr: "0u"; readonly ast: "0u^#*expr.Constant_Uint64Value#"; }, { readonly expr: "23u"; readonly ast: "23u^#*expr.Constant_Uint64Value#"; }, { readonly expr: "24u"; readonly ast: "24u^#*expr.Constant_Uint64Value#"; }, { readonly expr: "0xFu"; readonly ast: "15u^#*expr.Constant_Uint64Value#"; }, { readonly expr: "-1"; readonly ast: "-1^#*expr.Constant_Int64Value#"; }, { readonly expr: "4--4"; readonly ast: "_-_(\n 4^#*expr.Constant_Int64Value#,\n -4^#*expr.Constant_Int64Value#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "4--4.1"; readonly ast: "_-_(\n 4^#*expr.Constant_Int64Value#,\n -4.1^#*expr.Constant_DoubleValue#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "b\"abc\""; readonly ast: "b\"abc\"^#*expr.Constant_BytesValue#"; }, { readonly expr: "23.39"; readonly ast: "23.39^#*expr.Constant_DoubleValue#"; }, { readonly expr: "!a"; readonly ast: "!_(\n a^#*expr.Expr_IdentExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "null"; readonly ast: "null^#*expr.Constant_NullValue#"; }, { readonly expr: "a"; readonly ast: "a^#*expr.Expr_IdentExpr#"; }, { readonly expr: "a?b:c"; readonly ast: "_?_:_(\n a^#*expr.Expr_IdentExpr#,\n b^#*expr.Expr_IdentExpr#,\n c^#*expr.Expr_IdentExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "a || b"; readonly ast: "_||_(\n a^#*expr.Expr_IdentExpr#,\n b^#*expr.Expr_IdentExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "a || b || c || d || e || f "; readonly ast: "_||_(\n a^#*expr.Expr_IdentExpr#,\n b^#*expr.Expr_IdentExpr#,\n c^#*expr.Expr_IdentExpr#,\n d^#*expr.Expr_IdentExpr#,\n e^#*expr.Expr_IdentExpr#,\n f^#*expr.Expr_IdentExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "a && b"; readonly ast: "_&&_(\n a^#*expr.Expr_IdentExpr#,\n b^#*expr.Expr_IdentExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "a && b && c && d && e && f && g"; readonly ast: "_&&_(\n a^#*expr.Expr_IdentExpr#,\n b^#*expr.Expr_IdentExpr#,\n c^#*expr.Expr_IdentExpr#,\n d^#*expr.Expr_IdentExpr#,\n e^#*expr.Expr_IdentExpr#,\n f^#*expr.Expr_IdentExpr#,\n g^#*expr.Expr_IdentExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "a && b && c && d || e && f && g && h"; readonly ast: "_||_(\n _&&_(\n a^#*expr.Expr_IdentExpr#,\n b^#*expr.Expr_IdentExpr#,\n c^#*expr.Expr_IdentExpr#,\n d^#*expr.Expr_IdentExpr#\n )^#*expr.Expr_CallExpr#,\n _&&_(\n e^#*expr.Expr_IdentExpr#,\n f^#*expr.Expr_IdentExpr#,\n g^#*expr.Expr_IdentExpr#,\n h^#*expr.Expr_IdentExpr#\n )^#*expr.Expr_CallExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "a + b"; readonly ast: "_+_(\n a^#*expr.Expr_IdentExpr#,\n b^#*expr.Expr_IdentExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "a - b"; readonly ast: "_-_(\n a^#*expr.Expr_IdentExpr#,\n b^#*expr.Expr_IdentExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "a * b"; readonly ast: "_*_(\n a^#*expr.Expr_IdentExpr#,\n b^#*expr.Expr_IdentExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "a / b"; readonly ast: "_/_(\n a^#*expr.Expr_IdentExpr#,\n b^#*expr.Expr_IdentExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "a % b"; readonly ast: "_%_(\n a^#*expr.Expr_IdentExpr#,\n b^#*expr.Expr_IdentExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "a in b"; readonly ast: "@in(\n a^#*expr.Expr_IdentExpr#,\n b^#*expr.Expr_IdentExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "a == b"; readonly ast: "_==_(\n a^#*expr.Expr_IdentExpr#,\n b^#*expr.Expr_IdentExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "a != b"; readonly ast: "_!=_(\n a^#*expr.Expr_IdentExpr#,\n b^#*expr.Expr_IdentExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "a > b"; readonly ast: "_>_(\n a^#*expr.Expr_IdentExpr#,\n b^#*expr.Expr_IdentExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "a >= b"; readonly ast: "_>=_(\n a^#*expr.Expr_IdentExpr#,\n b^#*expr.Expr_IdentExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "a < b"; readonly ast: "_<_(\n a^#*expr.Expr_IdentExpr#,\n b^#*expr.Expr_IdentExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "a <= b"; readonly ast: "_<=_(\n a^#*expr.Expr_IdentExpr#,\n b^#*expr.Expr_IdentExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "a.b"; readonly ast: "a^#*expr.Expr_IdentExpr#.b^#*expr.Expr_SelectExpr#"; }, { readonly expr: "a.b.c"; readonly ast: "a^#*expr.Expr_IdentExpr#.b^#*expr.Expr_SelectExpr#.c^#*expr.Expr_SelectExpr#"; }, { readonly expr: "a[b]"; readonly ast: "_[_](\n a^#*expr.Expr_IdentExpr#,\n b^#*expr.Expr_IdentExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "foo{ }"; readonly ast: "foo{}^#*expr.Expr_StructExpr#"; }, { readonly expr: "foo{ a:b }"; readonly ast: "foo{\n a:b^#*expr.Expr_IdentExpr#^#*expr.Expr_CreateStruct_Entry#\n}^#*expr.Expr_StructExpr#"; }, { readonly expr: "foo{ a:b, c:d }"; readonly ast: "foo{\n a:b^#*expr.Expr_IdentExpr#^#*expr.Expr_CreateStruct_Entry#,\n c:d^#*expr.Expr_IdentExpr#^#*expr.Expr_CreateStruct_Entry#\n}^#*expr.Expr_StructExpr#"; }, { readonly expr: "{}"; readonly ast: "{}^#*expr.Expr_StructExpr#"; }, { readonly expr: "{a:b, c:d}"; readonly ast: "{\n a^#*expr.Expr_IdentExpr#:b^#*expr.Expr_IdentExpr#^#*expr.Expr_CreateStruct_Entry#,\n c^#*expr.Expr_IdentExpr#:d^#*expr.Expr_IdentExpr#^#*expr.Expr_CreateStruct_Entry#\n}^#*expr.Expr_StructExpr#"; }, { readonly expr: "[]"; readonly ast: "[]^#*expr.Expr_ListExpr#"; }, { readonly expr: "[a]"; readonly ast: "[\n a^#*expr.Expr_IdentExpr#\n]^#*expr.Expr_ListExpr#"; }, { readonly expr: "[a, b, c]"; readonly ast: "[\n a^#*expr.Expr_IdentExpr#,\n b^#*expr.Expr_IdentExpr#,\n c^#*expr.Expr_IdentExpr#\n]^#*expr.Expr_ListExpr#"; }, { readonly expr: "(a)"; readonly ast: "a^#*expr.Expr_IdentExpr#"; }, { readonly expr: "((a))"; readonly ast: "a^#*expr.Expr_IdentExpr#"; }, { readonly expr: "a()"; readonly ast: "a()^#*expr.Expr_CallExpr#"; }, { readonly expr: "a(b)"; readonly ast: "a(\n b^#*expr.Expr_IdentExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "a(b, c)"; readonly ast: "a(\n b^#*expr.Expr_IdentExpr#,\n c^#*expr.Expr_IdentExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "a.b()"; readonly ast: "a^#*expr.Expr_IdentExpr#.b()^#*expr.Expr_CallExpr#"; }, { readonly expr: "a.b(c)"; readonly ast: "a^#*expr.Expr_IdentExpr#.b(\n c^#*expr.Expr_IdentExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "0xFFFFFFFFFFFFFFFFF"; readonly error: "ERROR: <input>:1:1: invalid int literal\n | 0xFFFFFFFFFFFFFFFFF\n | ^"; }, { readonly expr: "0xFFFFFFFFFFFFFFFFFu"; readonly error: "ERROR: <input>:1:1: invalid uint literal\n | 0xFFFFFFFFFFFFFFFFFu\n | ^"; }, { readonly expr: "1.99e90000009"; readonly error: "ERROR: <input>:1:1: invalid double literal\n | 1.99e90000009\n | ^"; }, { readonly expr: "*@a | b"; readonly error: "ERROR: <input>:1:1: Syntax error: extraneous input '*' expecting {'[', '{', '(', '.', '-', '!', 'true', 'false', 'null', NUM_FLOAT, NUM_INT, NUM_UINT, STRING, BYTES, IDENTIFIER}\n | *@a | b\n | ^\nERROR: <input>:1:2: Syntax error: token recognition error at: '@'\n | *@a | b\n | .^\nERROR: <input>:1:5: Syntax error: token recognition error at: '| '\n | *@a | b\n | ....^\nERROR: <input>:1:7: Syntax error: extraneous input 'b' expecting <EOF>\n | *@a | b\n | ......^"; }, { readonly expr: "a | b"; readonly error: "ERROR: <input>:1:3: Syntax error: token recognition error at: '| '\n | a | b\n | ..^\nERROR: <input>:1:5: Syntax error: extraneous input 'b' expecting <EOF>\n | a | b\n | ....^"; }, { readonly expr: "has(m.f)"; readonly ast: "m^#*expr.Expr_IdentExpr#.f~test-only~^#*expr.Expr_SelectExpr#"; }, { readonly expr: "has(m)"; readonly error: "ERROR: <input>:1:5: invalid argument to has() macro\n | has(m)\n | ....^"; }, { readonly expr: "m.exists(v, f)"; readonly ast: "__comprehension__(\n // Variable\n v,\n // Target\n m^#*expr.Expr_IdentExpr#,\n // Accumulator\n __result__,\n // Init\n false^#*expr.Constant_BoolValue#,\n // LoopCondition\n @not_strictly_false(\n !_(\n __result__^#*expr.Expr_IdentExpr#\n )^#*expr.Expr_CallExpr#\n )^#*expr.Expr_CallExpr#,\n // LoopStep\n _||_(\n __result__^#*expr.Expr_IdentExpr#,\n f^#*expr.Expr_IdentExpr#\n )^#*expr.Expr_CallExpr#,\n // Result\n __result__^#*expr.Expr_IdentExpr#)^#*expr.Expr_ComprehensionExpr#"; }, { readonly expr: "m.all(v, f)"; readonly ast: "__comprehension__(\n // Variable\n v,\n // Target\n m^#*expr.Expr_IdentExpr#,\n // Accumulator\n __result__,\n // Init\n true^#*expr.Constant_BoolValue#,\n // LoopCondition\n @not_strictly_false(\n __result__^#*expr.Expr_IdentExpr#\n )^#*expr.Expr_CallExpr#,\n // LoopStep\n _&&_(\n __result__^#*expr.Expr_IdentExpr#,\n f^#*expr.Expr_IdentExpr#\n )^#*expr.Expr_CallExpr#,\n // Result\n __result__^#*expr.Expr_IdentExpr#)^#*expr.Expr_ComprehensionExpr#"; }, { readonly expr: "m.existsOne(v, f)"; readonly ast: "__comprehension__(\n // Variable\n v,\n // Target\n m^#*expr.Expr_IdentExpr#,\n // Accumulator\n __result__,\n // Init\n 0^#*expr.Constant_Int64Value#,\n // LoopCondition\n true^#*expr.Constant_BoolValue#,\n // LoopStep\n _?_:_(\n f^#*expr.Expr_IdentExpr#,\n _+_(\n __result__^#*expr.Expr_IdentExpr#,\n 1^#*expr.Constant_Int64Value#\n )^#*expr.Expr_CallExpr#,\n __result__^#*expr.Expr_IdentExpr#\n )^#*expr.Expr_CallExpr#,\n // Result\n _==_(\n __result__^#*expr.Expr_IdentExpr#,\n 1^#*expr.Constant_Int64Value#\n )^#*expr.Expr_CallExpr#)^#*expr.Expr_ComprehensionExpr#"; }, { readonly expr: "[].existsOne(__result__, __result__)"; readonly error: "ERROR: <input>:1:14: iteration variable overwrites accumulator variable\n | [].existsOne(__result__, __result__)\n | .............^"; }, { readonly expr: "m.map(v, f)"; readonly ast: "__comprehension__(\n // Variable\n v,\n // Target\n m^#*expr.Expr_IdentExpr#,\n // Accumulator\n __result__,\n // Init\n []^#*expr.Expr_ListExpr#,\n // LoopCondition\n true^#*expr.Constant_BoolValue#,\n // LoopStep\n _+_(\n __result__^#*expr.Expr_IdentExpr#,\n [\n f^#*expr.Expr_IdentExpr#\n ]^#*expr.Expr_ListExpr#\n )^#*expr.Expr_CallExpr#,\n // Result\n __result__^#*expr.Expr_IdentExpr#)^#*expr.Expr_ComprehensionExpr#"; }, { readonly expr: "m.map(__result__, __result__)"; readonly error: "ERROR: <input>:1:7: iteration variable overwrites accumulator variable\n | m.map(__result__, __result__)\n | ......^"; }, { readonly expr: "m.map(v, p, f)"; readonly ast: "__comprehension__(\n // Variable\n v,\n // Target\n m^#*expr.Expr_IdentExpr#,\n // Accumulator\n __result__,\n // Init\n []^#*expr.Expr_ListExpr#,\n // LoopCondition\n true^#*expr.Constant_BoolValue#,\n // LoopStep\n _?_:_(\n p^#*expr.Expr_IdentExpr#,\n _+_(\n __result__^#*expr.Expr_IdentExpr#,\n [\n f^#*expr.Expr_IdentExpr#\n ]^#*expr.Expr_ListExpr#\n )^#*expr.Expr_CallExpr#,\n __result__^#*expr.Expr_IdentExpr#\n )^#*expr.Expr_CallExpr#,\n // Result\n __result__^#*expr.Expr_IdentExpr#)^#*expr.Expr_ComprehensionExpr#"; }, { readonly expr: "m.filter(v, p)"; readonly ast: "__comprehension__(\n // Variable\n v,\n // Target\n m^#*expr.Expr_IdentExpr#,\n // Accumulator\n __result__,\n // Init\n []^#*expr.Expr_ListExpr#,\n // LoopCondition\n true^#*expr.Constant_BoolValue#,\n // LoopStep\n _?_:_(\n p^#*expr.Expr_IdentExpr#,\n _+_(\n __result__^#*expr.Expr_IdentExpr#,\n [\n v^#*expr.Expr_IdentExpr#\n ]^#*expr.Expr_ListExpr#\n )^#*expr.Expr_CallExpr#,\n __result__^#*expr.Expr_IdentExpr#\n )^#*expr.Expr_CallExpr#,\n // Result\n __result__^#*expr.Expr_IdentExpr#)^#*expr.Expr_ComprehensionExpr#"; }, { readonly expr: "m.filter(__result__, false)"; readonly error: "ERROR: <input>:1:10: iteration variable overwrites accumulator variable\n | m.filter(__result__, false)\n | .........^"; }, { readonly expr: "m.filter(a.b, false)"; readonly error: "ERROR: <input>:1:11: argument is not an identifier\n | m.filter(a.b, false)\n | ..........^"; }, { readonly expr: "x * 2"; readonly ast: "_*_(\n x^#*expr.Expr_IdentExpr#,\n 2^#*expr.Constant_Int64Value#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "x * 2u"; readonly ast: "_*_(\n x^#*expr.Expr_IdentExpr#,\n 2u^#*expr.Constant_Uint64Value#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "x * 2.0"; readonly ast: "_*_(\n x^#*expr.Expr_IdentExpr#,\n 2^#*expr.Constant_DoubleValue#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "\"\\u2764\""; readonly ast: "\"\"^#*expr.Constant_StringValue#"; }, { readonly expr: "\"\""; readonly ast: "\"\"^#*expr.Constant_StringValue#"; }, { readonly expr: "! false"; readonly ast: "!_(\n false^#*expr.Constant_BoolValue#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "-a"; readonly ast: "-_(\n a^#*expr.Expr_IdentExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "a.b(5)"; readonly ast: "a^#*expr.Expr_IdentExpr#.b(\n 5^#*expr.Constant_Int64Value#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "a[3]"; readonly ast: "_[_](\n a^#*expr.Expr_IdentExpr#,\n 3^#*expr.Constant_Int64Value#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "SomeMessage{foo: 5, bar: \"xyz\"}"; readonly ast: "SomeMessage{\n foo:5^#*expr.Constant_Int64Value#^#*expr.Expr_CreateStruct_Entry#,\n bar:\"xyz\"^#*expr.Constant_StringValue#^#*expr.Expr_CreateStruct_Entry#\n}^#*expr.Expr_StructExpr#"; }, { readonly expr: "[3, 4, 5]"; readonly ast: "[\n 3^#*expr.Constant_Int64Value#,\n 4^#*expr.Constant_Int64Value#,\n 5^#*expr.Constant_Int64Value#\n]^#*expr.Expr_ListExpr#"; }, { readonly expr: "[3, 4, 5,]"; readonly ast: "[\n 3^#*expr.Constant_Int64Value#,\n 4^#*expr.Constant_Int64Value#,\n 5^#*expr.Constant_Int64Value#\n]^#*expr.Expr_ListExpr#"; }, { readonly expr: "{foo: 5, bar: \"xyz\"}"; readonly ast: "{\n foo^#*expr.Expr_IdentExpr#:5^#*expr.Constant_Int64Value#^#*expr.Expr_CreateStruct_Entry#,\n bar^#*expr.Expr_IdentExpr#:\"xyz\"^#*expr.Constant_StringValue#^#*expr.Expr_CreateStruct_Entry#\n}^#*expr.Expr_StructExpr#"; }, { readonly expr: "{foo: 5, bar: \"xyz\", }"; readonly ast: "{\n foo^#*expr.Expr_IdentExpr#:5^#*expr.Constant_Int64Value#^#*expr.Expr_CreateStruct_Entry#,\n bar^#*expr.Expr_IdentExpr#:\"xyz\"^#*expr.Constant_StringValue#^#*expr.Expr_CreateStruct_Entry#\n}^#*expr.Expr_StructExpr#"; }, { readonly expr: "a > 5 && a < 10"; readonly ast: "_&&_(\n _>_(\n a^#*expr.Expr_IdentExpr#,\n 5^#*expr.Constant_Int64Value#\n )^#*expr.Expr_CallExpr#,\n _<_(\n a^#*expr.Expr_IdentExpr#,\n 10^#*expr.Constant_Int64Value#\n )^#*expr.Expr_CallExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "a < 5 || a > 10"; readonly ast: "_||_(\n _<_(\n a^#*expr.Expr_IdentExpr#,\n 5^#*expr.Constant_Int64Value#\n )^#*expr.Expr_CallExpr#,\n _>_(\n a^#*expr.Expr_IdentExpr#,\n 10^#*expr.Constant_Int64Value#\n )^#*expr.Expr_CallExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "{"; readonly error: "ERROR: <input>:1:2: Syntax error: mismatched input '<EOF>' expecting {'[', '{', '}', '(', '.', ',', '-', '!', '?', 'true', 'false', 'null', NUM_FLOAT, NUM_INT, NUM_UINT, STRING, BYTES, IDENTIFIER}\n | {\n | .^"; }, { readonly expr: "[] + [1,2,3,] + [4]"; readonly ast: "_+_(\n _+_(\n []^#*expr.Expr_ListExpr#,\n [\n 1^#*expr.Constant_Int64Value#,\n 2^#*expr.Constant_Int64Value#,\n 3^#*expr.Constant_Int64Value#\n ]^#*expr.Expr_ListExpr#\n )^#*expr.Expr_CallExpr#,\n [\n 4^#*expr.Constant_Int64Value#\n ]^#*expr.Expr_ListExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "{1:2u, 2:3u}"; readonly ast: "{\n 1^#*expr.Constant_Int64Value#:2u^#*expr.Constant_Uint64Value#^#*expr.Expr_CreateStruct_Entry#,\n 2^#*expr.Constant_Int64Value#:3u^#*expr.Constant_Uint64Value#^#*expr.Expr_CreateStruct_Entry#\n}^#*expr.Expr_StructExpr#"; }, { readonly expr: "TestAllTypes{single_int32: 1, single_int64: 2}"; readonly ast: "TestAllTypes{\n single_int32:1^#*expr.Constant_Int64Value#^#*expr.Expr_CreateStruct_Entry#,\n single_int64:2^#*expr.Constant_Int64Value#^#*expr.Expr_CreateStruct_Entry#\n}^#*expr.Expr_StructExpr#"; }, { readonly expr: "TestAllTypes(){}"; readonly error: "ERROR: <input>:1:15: Syntax error: mismatched input '{' expecting <EOF>\n | TestAllTypes(){}\n | ..............^"; }, { readonly expr: "TestAllTypes{}()"; readonly error: "ERROR: <input>:1:15: Syntax error: mismatched input '(' expecting <EOF>\n | TestAllTypes{}()\n | ..............^"; }, { readonly expr: "size(x) == x.size()"; readonly ast: "_==_(\n size(\n x^#*expr.Expr_IdentExpr#\n )^#*expr.Expr_CallExpr#,\n x^#*expr.Expr_IdentExpr#.size()^#*expr.Expr_CallExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "1 + $"; readonly error: "ERROR: <input>:1:5: Syntax error: token recognition error at: '$'\n | 1 + $\n | ....^\nERROR: <input>:1:6: Syntax error: mismatched input '<EOF>' expecting {'[', '{', '(', '.', '-', '!', 'true', 'false', 'null', NUM_FLOAT, NUM_INT, NUM_UINT, STRING, BYTES, IDENTIFIER}\n | 1 + $\n | .....^"; }, { readonly expr: "1 + 2\n3 +"; readonly error: "ERROR: <input>:2:1: Syntax error: mismatched input '3' expecting <EOF>\n | 3 +\n | ^"; }, { readonly expr: "\"\\\"\""; readonly ast: "\"\\\"\"^#*expr.Constant_StringValue#"; }, { readonly expr: "[1,3,4][0]"; readonly ast: "_[_](\n [\n 1^#*expr.Constant_Int64Value#,\n 3^#*expr.Constant_Int64Value#,\n 4^#*expr.Constant_Int64Value#\n ]^#*expr.Expr_ListExpr#,\n 0^#*expr.Constant_Int64Value#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "1.all(2, 3)"; readonly error: "ERROR: <input>:1:7: argument must be a simple name\n | 1.all(2, 3)\n | ......^"; }, { readonly expr: "x[\"a\"].single_int32 == 23"; readonly ast: "_==_(\n _[_](\n x^#*expr.Expr_IdentExpr#,\n \"a\"^#*expr.Constant_StringValue#\n )^#*expr.Expr_CallExpr#.single_int32^#*expr.Expr_SelectExpr#,\n 23^#*expr.Constant_Int64Value#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "x.single_nested_message != null"; readonly ast: "_!=_(\n x^#*expr.Expr_IdentExpr#.single_nested_message^#*expr.Expr_SelectExpr#,\n null^#*expr.Constant_NullValue#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "false && !true || false ? 2 : 3"; readonly ast: "_?_:_(\n _||_(\n _&&_(\n false^#*expr.Constant_BoolValue#,\n !_(\n true^#*expr.Constant_BoolValue#\n )^#*expr.Expr_CallExpr#\n )^#*expr.Expr_CallExpr#,\n false^#*expr.Constant_BoolValue#\n )^#*expr.Expr_CallExpr#,\n 2^#*expr.Constant_Int64Value#,\n 3^#*expr.Constant_Int64Value#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "b\"abc\" + B\"def\""; readonly ast: "_+_(\n b\"abc\"^#*expr.Constant_BytesValue#,\n b\"def\"^#*expr.Constant_BytesValue#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "1 + 2 * 3 - 1 / 2 == 6 % 1"; readonly ast: "_==_(\n _-_(\n _+_(\n 1^#*expr.Constant_Int64Value#,\n _*_(\n 2^#*expr.Constant_Int64Value#,\n 3^#*expr.Constant_Int64Value#\n )^#*expr.Expr_CallExpr#\n )^#*expr.Expr_CallExpr#,\n _/_(\n 1^#*expr.Constant_Int64Value#,\n 2^#*expr.Constant_Int64Value#\n )^#*expr.Expr_CallExpr#\n )^#*expr.Expr_CallExpr#,\n _%_(\n 6^#*expr.Constant_Int64Value#,\n 1^#*expr.Constant_Int64Value#\n )^#*expr.Expr_CallExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "1 + +"; readonly error: "ERROR: <input>:1:5: Syntax error: mismatched input '+' expecting {'[', '{', '(', '.', '-', '!', 'true', 'false', 'null', NUM_FLOAT, NUM_INT, NUM_UINT, STRING, BYTES, IDENTIFIER}\n | 1 + +\n | ....^\nERROR: <input>:1:6: Syntax error: mismatched input '<EOF>' expecting {'[', '{', '(', '.', '-', '!', 'true', 'false', 'null', NUM_FLOAT, NUM_INT, NUM_UINT, STRING, BYTES, IDENTIFIER}\n | 1 + +\n | .....^"; }, { readonly expr: "\"abc\" + \"def\""; readonly ast: "_+_(\n \"abc\"^#*expr.Constant_StringValue#,\n \"def\"^#*expr.Constant_StringValue#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "{\"a\": 1}.\"a\""; readonly error: "ERROR: <input>:1:10: Syntax error: no viable alternative at input '.\"a\"'\n | {\"a\": 1}.\"a\"\n | .........^"; }, { readonly expr: "\"\\xC3\\XBF\""; readonly ast: "\"ÿ\"^#*expr.Constant_StringValue#"; }, { readonly expr: "\"\\303\\277\""; readonly ast: "\"ÿ\"^#*expr.Constant_StringValue#"; }, { readonly expr: "\"hi\\u263A \\u263Athere\""; readonly ast: "\"hi☺ ☺there\"^#*expr.Constant_StringValue#"; }, { readonly expr: "\"\\U000003A8\\?\""; readonly ast: "\"Ψ?\"^#*expr.Constant_StringValue#"; }, { readonly expr: "\"\\a\\b\\f\\n\\r\\t\\v'\\\"\\\\\\? Legal escapes\""; readonly ast: "\"\\a\\b\\f\\n\\r\\t\\v'\\\"\\\\? Legal escapes\"^#*expr.Constant_StringValue#"; }, { readonly expr: "\"\\xFh\""; readonly error: "ERROR: <input>:1:1: Syntax error: token recognition error at: '\"\\xFh'\n | \"\\xFh\"\n | ^\nERROR: <input>:1:6: Syntax error: token recognition error at: '\"'\n | \"\\xFh\"\n | .....^\nERROR: <input>:1:7: Syntax error: mismatched input '<EOF>' expecting {'[', '{', '(', '.', '-', '!', 'true', 'false', 'null', NUM_FLOAT, NUM_INT, NUM_UINT, STRING, BYTES, IDENTIFIER}\n | \"\\xFh\"\n | ......^"; }, { readonly expr: "\"\\a\\b\\f\\n\\r\\t\\v\\'\\\"\\\\\\? Illegal escape \\>\""; readonly error: "ERROR: <input>:1:1: Syntax error: token recognition error at: '\"\\a\\b\\f\\n\\r\\t\\v\\'\\\"\\\\\\? Illegal escape \\>'\n | \"\\a\\b\\f\\n\\r\\t\\v\\'\\\"\\\\\\? Illegal escape \\>\"\n | ^\nERROR: <input>:1:42: Syntax error: token recognition error at: '\"'\n | \"\\a\\b\\f\\n\\r\\t\\v\\'\\\"\\\\\\? Illegal escape \\>\"\n | .........................................^\nERROR: <input>:1:43: Syntax error: mismatched input '<EOF>' expecting {'[', '{', '(', '.', '-', '!', 'true', 'false', 'null', NUM_FLOAT, NUM_INT, NUM_UINT, STRING, BYTES, IDENTIFIER}\n | \"\\a\\b\\f\\n\\r\\t\\v\\'\\\"\\\\\\? Illegal escape \\>\"\n | ..........................................^"; }, { readonly expr: "\"😁\" in [\"😁\", \"😑\", \"😦\"]"; readonly ast: "@in(\n \"😁\"^#*expr.Constant_StringValue#,\n [\n \"😁\"^#*expr.Constant_StringValue#,\n \"😑\"^#*expr.Constant_StringValue#,\n \"😦\"^#*expr.Constant_StringValue#\n ]^#*expr.Expr_ListExpr#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: " '😁' in ['😁', '😑', '😦']\n\t\t\t&& in.😁"; readonly error: "ERROR: <input>:2:7: Syntax error: extraneous input 'in' expecting {'[', '{', '(', '.', '-', '!', 'true', 'false', 'null', NUM_FLOAT, NUM_INT, NUM_UINT, STRING, BYTES, IDENTIFIER}\n | && in.😁\n | ......^\nERROR: <input>:2:10: Syntax error: token recognition error at: '😁'\n | && in.😁\n | .........^\nERROR: <input>:2:11: Syntax error: no viable alternative at input '.'\n | && in.😁\n | ..........^"; }, { readonly expr: "as"; readonly error: "ERROR: <input>:1:1: reserved identifier: as\n | as\n | ^"; }, { readonly expr: "break"; readonly error: "ERROR: <input>:1:1: reserved identifier: break\n | break\n | ^"; }, { readonly expr: "const"; readonly error: "ERROR: <input>:1:1: reserved identifier: const\n | const\n | ^"; }, { readonly expr: "continue"; readonly error: "ERROR: <input>:1:1: reserved identifier: continue\n | continue\n | ^"; }, { readonly expr: "else"; readonly error: "ERROR: <input>:1:1: reserved identifier: else\n | else\n | ^"; }, { readonly expr: "for"; readonly error: "ERROR: <input>:1:1: reserved identifier: for\n | for\n | ^"; }, { readonly expr: "function"; readonly error: "ERROR: <input>:1:1: reserved identifier: function\n | function\n | ^"; }, { readonly expr: "if"; readonly error: "ERROR: <input>:1:1: reserved identifier: if\n | if\n | ^"; }, { readonly expr: "import"; readonly error: "ERROR: <input>:1:1: reserved identifier: import\n | import\n | ^"; }, { readonly expr: "in"; readonly error: "ERROR: <input>:1:1: Syntax error: mismatched input 'in' expecting {'[', '{', '(', '.', '-', '!', 'true', 'false', 'null', NUM_FLOAT, NUM_INT, NUM_UINT, STRING, BYTES, IDENTIFIER}\n | in\n | ^\nERROR: <input>:1:3: Syntax error: mismatched input '<EOF>' expecting {'[', '{', '(', '.', '-', '!', 'true', 'false', 'null', NUM_FLOAT, NUM_INT, NUM_UINT, STRING, BYTES, IDENTIFIER}\n | in\n | ..^"; }, { readonly expr: "let"; readonly error: "ERROR: <input>:1:1: reserved identifier: let\n | let\n | ^"; }, { readonly expr: "loop"; readonly error: "ERROR: <input>:1:1: reserved identifier: loop\n | loop\n | ^"; }, { readonly expr: "package"; readonly error: "ERROR: <input>:1:1: reserved identifier: package\n | package\n | ^"; }, { readonly expr: "namespace"; readonly error: "ERROR: <input>:1:1: reserved identifier: namespace\n | namespace\n | ^"; }, { readonly expr: "return"; readonly error: "ERROR: <input>:1:1: reserved identifier: return\n | return\n | ^"; }, { readonly expr: "var"; readonly error: "ERROR: <input>:1:1: reserved identifier: var\n | var\n | ^"; }, { readonly expr: "void"; readonly error: "ERROR: <input>:1:1: reserved identifier: void\n | void\n | ^"; }, { readonly expr: "while"; readonly error: "ERROR: <input>:1:1: reserved identifier: while\n | while\n | ^"; }, { readonly expr: "[1, 2, 3].map(var, var * var)"; readonly error: "ERROR: <input>:1:15: reserved identifier: var\n | [1, 2, 3].map(var, var * var)\n | ..............^\nERROR: <input>:1:15: argument is not an identifier\n | [1, 2, 3].map(var, var * var)\n | ..............^\nERROR: <input>:1:20: reserved identifier: var\n | [1, 2, 3].map(var, var * var)\n | ...................^\nERROR: <input>:1:26: reserved identifier: var\n | [1, 2, 3].map(var, var * var)\n | .........................^"; }, { readonly expr: "func{{a}}"; readonly error: "ERROR: <input>:1:6: Syntax error: extraneous input '{' expecting {'}', ',', '?', IDENTIFIER, ESC_IDENTIFIER}\n | func{{a}}\n | .....^\nERROR: <input>:1:8: Syntax error: mismatched input '}' expecting ':'\n | func{{a}}\n | .......^\nERROR: <input>:1:9: Syntax error: extraneous input '}' expecting <EOF>\n | func{{a}}\n | ........^"; }, { readonly expr: "msg{:a}"; readonly error: "ERROR: <input>:1:5: Syntax error: extraneous input ':' expecting {'}', ',', '?', IDENTIFIER, ESC_IDENTIFIER}\n | msg{:a}\n | ....^\nERROR: <input>:1:7: Syntax error: mismatched input '}' expecting ':'\n | msg{:a}\n | ......^"; }, { readonly expr: "{a}"; readonly error: "ERROR: <input>:1:3: Syntax error: mismatched input '}' expecting ':'\n | {a}\n | ..^"; }, { readonly expr: "{:a}"; readonly error: "ERROR: <input>:1:2: Syntax error: extraneous input ':' expecting {'[', '{', '}', '(', '.', ',', '-', '!', '?', 'true', 'false', 'null', NUM_FLOAT, NUM_INT, NUM_UINT, STRING, BYTES, IDENTIFIER}\n | {:a}\n | .^\nERROR: <input>:1:4: Syntax error: mismatched input '}' expecting ':'\n | {:a}\n | ...^"; }, { readonly expr: "ind[a{b}]"; readonly error: "ERROR: <input>:1:8: Syntax error: mismatched input '}' expecting ':'\n | ind[a{b}]\n | .......^"; }, { readonly expr: "--"; readonly error: "ERROR: <input>:1:3: Syntax error: no viable alternative at input '-'\n | --\n | ..^\nERROR: <input>:1:3: Syntax error: mismatched input '<EOF>' expecting {'[', '{', '(', '.', '-', '!', 'true', 'false', 'null', NUM_FLOAT, NUM_INT, NUM_UINT, STRING, BYTES, IDENTIFIER}\n | --\n | ..^"; }, { readonly expr: "?"; readonly error: "ERROR: <input>:1:1: Syntax error: mismatched input '?' expecting {'[', '{', '(', '.', '-', '!', 'true', 'false', 'null', NUM_FLOAT, NUM_INT, NUM_UINT, STRING, BYTES, IDENTIFIER}\n | ?\n | ^\nERROR: <input>:1:2: Syntax error: mismatched input '<EOF>' expecting {'[', '{', '(', '.', '-', '!', 'true', 'false', 'null', NUM_FLOAT, NUM_INT, NUM_UINT, STRING, BYTES, IDENTIFIER}\n | ?\n | .^"; }, { readonly expr: "a ? b ((?))"; readonly error: "ERROR: <input>:1:9: Syntax error: mismatched input '?' expecting {'[', '{', '(', '.', '-', '!', 'true', 'false', 'null', NUM_FLOAT, NUM_INT, NUM_UINT, STRING, BYTES, IDENTIFIER}\n | a ? b ((?))\n | ........^\nERROR: <input>:1:10: Syntax error: mismatched input ')' expecting {'[', '{', '(', '.', '-', '!', 'true', 'false', 'null', NUM_FLOAT, NUM_INT, NUM_UINT, STRING, BYTES, IDENTIFIER}\n | a ? b ((?))\n | .........^\nERROR: <input>:1:12: Syntax error: error recovery attempt limit exceeded: 4\n | a ? b ((?))\n | ...........^"; }, { readonly expr: "[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\n\t\t\t[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[['too many']]]]]]]]]]]]]]]]]]]]]]]]]]]]\n\t\t\t]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]"; readonly error: "ERROR: <input>:-1:0: expression recursion limit exceeded: 32"; }, { readonly expr: "-[-1--1--1--1---1--1--1--0--1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1\n\t\t--3-[-1--1--1--1---1--1--1--0--1--1--1--1--0--3--1--1--0--1--1--1--1--0--1--1--1\n\t\t--3-[-1--1--1--1---1--1--1--0-/1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1\n\t\t--3-[-1--1--1--1---1--1--1--0--1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1\n\t\t--3-[-1--1--1--1---1--1--1--0--1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1\n\t\t--3-[-1--1--1--1---1--1--1--0--1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1\n\t\t--3-[-1--1--1--1---1--1--1--0--1--1--1--1--0--3--1--1--0--1--1--1--1--0--1--1--1\n\t\t--3-[-1--1--1--1---1--1--1--0-/1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1\n\t\t--3-[-1--1--1--1---1-1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1--3-[-1--1\n\t\t--1--1---1--1--1--0--1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1--3-[-1--1\n\t\t--1--1---1--1-À1--0--1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1--3-[-1--1\n\t\t--1--1---1--1--1--0--1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1--3-[-1--1\n\t\t--1--1---1--1--1--0--1--1--1--1--0--3--1--1--0--1--1--1--1--0--1--1--1--3-[-1--1\n\t\t--1--1---1--1--1--0-/1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1--3-[-1--1\n\t\t--1--1---1--1--1--0--1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1--3-[-1--1\n\t\t--1--1---1--1--1--0--1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1--3-[-1--1\n\t\t--1--1---1--1--1--0--1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1--3-[-1--1\n\t\t--1--1---1--1--1--0--1--1--1--1--0--3--1--1--0--1--1--1\n\t\t--1--0--1--1--1--3-[-1--1--1--1---1--1--1--0-/1--1--1--1--0--2--1--1--0--1--1--1\n\t\t--1--0--1--1--1--3-[-1--1--1--1---1--1--1--0--1--1--1--1--0--2--1--1--0--1--1--1\n\t\t--1--0--1--1--1--3-[-1--1--1--1---1--1--1--0--1--1--1--1--0--2--1--1--0--1--1--1\n\t\t--1--0--1--1--1--3-[-1--1--1--1---1--1--1--0--1--1--1--1--0--2--1--1--0--1--1--1\n\t\t--1--0--1--1--1--3-[-1--1--1--1---1--1--1--0--1--1--1--1--0--3--1--1--0--1--1--1\n\t\t--1--0--1--1--1--3-[-1--1--1--1---1--1--1--0-/1--1--1--1--0--2--1--1--0--1--1--1\n\t\t--1--0--1--1--1--3-[-1--1--1--1---1--1--1--0--1--1--1--1--0--1--1--1--3-[-1--1--1\n\t\t--1---1--1--1--0--1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1--3-[-1--1--1\n\t\t--1---1--1--1--0--1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1--3-[-1--1--1\n\t\t--1---1--1--1--0--1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1--3-[-1--1--1\n\t\t--1---1--1--1--0--1--1--1--1--0--3--1--1--0--1--1--1--1--0--1--1--1--3-[-1--1--1\n\t\t--1---1--1--1--0-/1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1--3-[-1--1--1\n\t\t--1---1--1--1--0--1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1--3-[-1--1--1\n\t\t--1---1--1--1--0--1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1--3-[-1--1--1\n\t\t--1---1--1--1--0--1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1--3-[-1--1--1\n\t\t--1---1--1--1--0--1--1--1--1--0--3--1--1--0--1"; readonly error: "ERROR: <input>:-1:0: expression recursion limit exceeded: 32\nERROR: <input>:3:33: Syntax error: extraneous input '/' expecting {'[', '{', '(', '.', '-', '!', 'true', 'false', 'null', NUM_FLOAT, NUM_INT, NUM_UINT, STRING, BYTES, IDENTIFIER}\n | --3-[-1--1--1--1---1--1--1--0-/1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1\n | ................................^\nERROR: <input>:8:33: Syntax error: extraneous input '/' expecting {'[', '{', '(', '.', '-', '!', 'true', 'false', 'null', NUM_FLOAT, NUM_INT, NUM_UINT, STRING, BYTES, IDENTIFIER}\n | --3-[-1--1--1--1---1--1--1--0-/1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1\n | ................................^\nERROR: <input>:11:17: Syntax error: token recognition error at: 'À'\n | --1--1---1--1-À1--0--1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1--3-[-1--1\n | ................^\nERROR: <input>:14:23: Syntax error: extraneous input '/' expecting {'[', '{', '(', '.', '-', '!', 'true', 'false', 'null', NUM_FLOAT, NUM_INT, NUM_UINT, STRING, BYTES, IDENTIFIER}\n | --1--1---1--1--1--0-/1--1--1--1--0--2--1--1--0--1--1--1--1--0--1--1--1--3-[-1--1\n | ......................^"; }, { readonly expr: "ó ¢\n\t\tó 0 \n\t\t0\"\"\"\\\"\"\\\"\"\"\\\"\"\\\"\"\"\\\"\"\\\"\"\"\\\"\"\\\"\"\"\\\"\\\"\"\"\\\"\"\\\"\"\"\\\"\"\\\"\"\"\\\"\"\\\"\"\"\\\"!\\\"\"\"\\\"\"\\\"\"\"\\\"\"\\\""; readonly error: "ERROR: <input>:-1:0: error recovery token lookahead limit exceeded: 4\nERROR: <input>:1:1: Syntax error: token recognition error at: 'ó'\n | ó ¢\n | ^\nERROR: <input>:1:2: Syntax error: token recognition error at: ' '\n | ó ¢\n | .^\nERROR: <input>:1:3: Syntax error: token recognition error at: '¢'\n | ó ¢\n | ..^\nERROR: <input>:2:3: Syntax error: token recognition error at: 'ó'\n | ó 0 \n | ..^\nERROR: <input>:2:4: Syntax error: token recognition error at: ' '\n | ó 0 \n | ...^\nERROR: <input>:2:6: Syntax error: token recognition error at: ' '\n | ó 0 \n | .....^\nERROR: <input>:3:3: Syntax error: token recognition error at: ''\n | 0\"\"\"\\\"\"\\\"\"\"\\\"\"\\\"\"\"\\\"\"\\\"\"\"\\\"\"\\\"\"\"\\\"\\\"\"\"\\\"\"\\\"\"\"\\\"\"\\\"\"\"\\\"\"\\\"\"\"\\\"!\\\"\"\"\\\"\"\\\"\"\"\\\"\"\\\"\n | ..^\nERROR: <input>:3:4: Syntax error: mismatched input '0' expecting <EOF>\n | 0\"\"\"\\\"\"\\\"\"\"\\\"\"\\\"\"\"\\\"\"\\\"\"\"\\\"\"\\\"\"\"\\\"\\\"\"\"\\\"\"\\\"\"\"\\\"\"\\\"\"\"\\\"\"\\\"\"\"\\\"!\\\"\"\"\\\"\"\\\"\"\"\\\"\"\\\"\n | ...^\nERROR: <input>:3:11: Syntax error: token recognition error at: '\\'\n | 0\"\"\"\\\"\"\\\"\"\"\\\"\"\\\"\"\"\\\"\"\\\"\"\"\\\"\"\\\"\"\"\\\"\\\"\"\"\\\"\"\\\"\"\"\\\"\"\\\"\"\"\\\"\"\\\"\"\"\\\"!\\\"\"\"\\\"\"\\\"\"\"\\\"\"\\\"\n | ..........^"; }, { readonly expr: "x.filter(y, y.filter(z, z > 0))"; readonly ast: "__comprehension__(\n // Variable\n y,\n // Target\n x^#*expr.Expr_IdentExpr#,\n // Accumulator\n __result__,\n // Init\n []^#*expr.Expr_ListExpr#,\n // LoopCondition\n true^#*expr.Constant_BoolValue#,\n // LoopStep\n _?_:_(\n __comprehension__(\n // Variable\n z,\n // Target\n y^#*expr.Expr_IdentExpr#,\n // Accumulator\n __result__,\n // Init\n []^#*expr.Expr_ListExpr#,\n // LoopCondition\n true^#*expr.Constant_BoolValue#,\n // LoopStep\n _?_:_(\n _>_(\n z^#*expr.Expr_IdentExpr#,\n 0^#*expr.Constant_Int64Value#\n )^#*expr.Expr_CallExpr#,\n _+_(\n __result__^#*expr.Expr_IdentExpr#,\n [\n z^#*expr.Expr_IdentExpr#\n ]^#*expr.Expr_ListExpr#\n )^#*expr.Expr_CallExpr#,\n __result__^#*expr.Expr_IdentExpr#\n )^#*expr.Expr_CallExpr#,\n // Result\n __result__^#*expr.Expr_IdentExpr#)^#*expr.Expr_ComprehensionExpr#,\n _+_(\n __result__^#*expr.Expr_IdentExpr#,\n [\n y^#*expr.Expr_IdentExpr#\n ]^#*expr.Expr_ListExpr#\n )^#*expr.Expr_CallExpr#,\n __result__^#*expr.Expr_IdentExpr#\n )^#*expr.Expr_CallExpr#,\n // Result\n __result__^#*expr.Expr_IdentExpr#)^#*expr.Expr_ComprehensionExpr#"; }, { readonly expr: "has(a.b).filter(c, c)"; readonly ast: "__comprehension__(\n // Variable\n c,\n // Target\n a^#*expr.Expr_IdentExpr#.b~test-only~^#*expr.Expr_SelectExpr#,\n // Accumulator\n __result__,\n // Init\n []^#*expr.Expr_ListExpr#,\n // LoopCondition\n true^#*expr.Constant_BoolValue#,\n // LoopStep\n _?_:_(\n c^#*expr.Expr_IdentExpr#,\n _+_(\n __result__^#*expr.Expr_IdentExpr#,\n [\n c^#*expr.Expr_IdentExpr#\n ]^#*expr.Expr_ListExpr#\n )^#*expr.Expr_CallExpr#,\n __result__^#*expr.Expr_IdentExpr#\n )^#*expr.Expr_CallExpr#,\n // Result\n __result__^#*expr.Expr_IdentExpr#)^#*expr.Expr_ComprehensionExpr#"; }, { readonly expr: "x.filter(y, y.exists(z, has(z.a)) && y.exists(z, has(z.b)))"; readonly ast: "__comprehension__(\n // Variable\n y,\n // Target\n x^#*expr.Expr_IdentExpr#,\n // Accumulator\n __result__,\n // Init\n []^#*expr.Expr_ListExpr#,\n // LoopCondition\n true^#*expr.Constant_BoolValue#,\n // LoopStep\n _?_:_(\n _&&_(\n __comprehension__(\n // Variable\n z,\n // Target\n y^#*expr.Expr_IdentExpr#,\n // Accumulator\n __result__,\n // Init\n false^#*expr.Constant_BoolValue#,\n // LoopCondition\n @not_strictly_false(\n !_(\n __result__^#*expr.Expr_IdentExpr#\n )^#*expr.Expr_CallExpr#\n )^#*expr.Expr_CallExpr#,\n // LoopStep\n _||_(\n __result__^#*expr.Expr_IdentExpr#,\n z^#*expr.Expr_IdentExpr#.a~test-only~^#*expr.Expr_SelectExpr#\n )^#*expr.Expr_CallExpr#,\n // Result\n __result__^#*expr.Expr_IdentExpr#)^#*expr.Expr_ComprehensionExpr#,\n __comprehension__(\n // Variable\n z,\n // Target\n y^#*expr.Expr_IdentExpr#,\n // Accumulator\n __result__,\n // Init\n false^#*expr.Constant_BoolValue#,\n // LoopCondition\n @not_strictly_false(\n !_(\n __result__^#*expr.Expr_IdentExpr#\n )^#*expr.Expr_CallExpr#\n )^#*expr.Expr_CallExpr#,\n // LoopStep\n _||_(\n __result__^#*expr.Expr_IdentExpr#,\n z^#*expr.Expr_IdentExpr#.b~test-only~^#*expr.Expr_SelectExpr#\n )^#*expr.Expr_CallExpr#,\n // Result\n __result__^#*expr.Expr_IdentExpr#)^#*expr.Expr_ComprehensionExpr#\n )^#*expr.Expr_CallExpr#,\n _+_(\n __result__^#*expr.Expr_IdentExpr#,\n [\n y^#*expr.Expr_IdentExpr#\n ]^#*expr.Expr_ListExpr#\n )^#*expr.Expr_CallExpr#,\n __result__^#*expr.Expr_IdentExpr#\n )^#*expr.Expr_CallExpr#,\n // Result\n __result__^#*expr.Expr_IdentExpr#)^#*expr.Expr_ComprehensionExpr#"; }, { readonly expr: "(has(a.b) || has(c.d)).string()"; readonly ast: "_||_(\n a^#*expr.Expr_IdentExpr#.b~test-only~^#*expr.Expr_SelectExpr#,\n c^#*expr.Expr_IdentExpr#.d~test-only~^#*expr.Expr_SelectExpr#\n)^#*expr.Expr_CallExpr#.string()^#*expr.Expr_CallExpr#"; }, { readonly expr: "has(a.b).asList().exists(c, c)"; readonly ast: "__comprehension__(\n // Variable\n c,\n // Target\n a^#*expr.Expr_IdentExpr#.b~test-only~^#*expr.Expr_SelectExpr#.asList()^#*expr.Expr_CallExpr#,\n // Accumulator\n __result__,\n // Init\n false^#*expr.Constant_BoolValue#,\n // LoopCondition\n @not_strictly_false(\n !_(\n __result__^#*expr.Expr_IdentExpr#\n )^#*expr.Expr_CallExpr#\n )^#*expr.Expr_CallExpr#,\n // LoopStep\n _||_(\n __result__^#*expr.Expr_IdentExpr#,\n c^#*expr.Expr_IdentExpr#\n )^#*expr.Expr_CallExpr#,\n // Result\n __result__^#*expr.Expr_IdentExpr#)^#*expr.Expr_ComprehensionExpr#"; }, { readonly expr: "[has(a.b), has(c.d)].exists(e, e)"; readonly ast: "__comprehension__(\n // Variable\n e,\n // Target\n [\n a^#*expr.Expr_IdentExpr#.b~test-only~^#*expr.Expr_SelectExpr#,\n c^#*expr.Expr_IdentExpr#.d~test-only~^#*expr.Expr_SelectExpr#\n ]^#*expr.Expr_ListExpr#,\n // Accumulator\n __result__,\n // Init\n false^#*expr.Constant_BoolValue#,\n // LoopCondition\n @not_strictly_false(\n !_(\n __result__^#*expr.Expr_IdentExpr#\n )^#*expr.Expr_CallExpr#\n )^#*expr.Expr_CallExpr#,\n // LoopStep\n _||_(\n __result__^#*expr.Expr_IdentExpr#,\n e^#*expr.Expr_IdentExpr#\n )^#*expr.Expr_CallExpr#,\n // Result\n __result__^#*expr.Expr_IdentExpr#)^#*expr.Expr_ComprehensionExpr#"; }, { readonly expr: "y!=y!=y!=y!=y!=y!=y!=y!=y!=-y!=-y!=-y!=-y-y!=-y!=-y!=-y-y!=-y!=-y!=-y-y!=-y\n\t\t!=-y!=-y-y!=-y!=-y!=-y-y!=-y!=-y!=-y-y!=-y!=-y!=-y-y!=-y!=-y!=-y-y!=-y!=-y!=-y-y\n\t\t!=-y!=-y!=-y-y!=-y!=-y!=-y-y!=-y!=-y!=-y-y!=-y!=-y!=-y-y!=-y!=-y!=-y-y!=-y!=-y\n\t\t!=-y-y!=-y!=-y!=-y-y!=-y!=-y!=-y-y!=-y!=-y!=-y-y!=-y!=-y!=-y-y!=-y!=-y!=-y-y!=-y\n\t\t!=-y!=-y-y!=-y!=-y!=-y-y!=-y!=-y!=-y-y!=-y!=-y!=-y-y!=-y!=-y!=-y-y!=-y!=-y!=-y-y\n\t\t!=-y!=-y!=-y-y!=-y!=-y!=-y-y!=-y!=-y!=-y-y!=-y"; readonly error: "ERROR: <input>:-1:0: max recursion depth exceeded"; }, { readonly expr: "[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[['not fine']]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]"; readonly error: "ERROR: <input>:-1:0: expression recursion limit exceeded: 32"; }, { readonly expr: "1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10\n\t\t+ 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20\n\t\t+ 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30\n\t\t+ 31 + 32 + 33 + 34"; readonly error: "ERROR: <input>:-1:0: max recursion depth exceeded"; }, { readonly expr: "a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.A.B.C.D.E.F.G.H"; readonly error: "ERROR: <input>:-1:0: max recursion depth exceeded"; }, { readonly expr: "a[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20]\n\t\t [21][22][23][24][25][26][27][28][29][30][31][32][33]"; readonly error: "ERROR: <input>:-1:0: max recursion depth exceeded"; }, { readonly expr: "a < 1 < 2 < 3 < 4 < 5 < 6 < 7 < 8 < 9 < 10 < 11\n\t\t < 12 < 13 < 14 < 15 < 16 < 17 < 18 < 19 < 20 < 21\n\t\t\t < 22 < 23 < 24 < 25 < 26 < 27 < 28 < 29 < 30 < 31\n\t\t\t < 32 < 33"; readonly error: "ERROR: <input>:-1:0: max recursion depth exceeded"; }, { readonly expr: "a[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20] !=\n\t\ta[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20] !=\n\t\ta[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20] !=\n\t\ta[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20] !=\n\t\ta[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20] !=\n\t\ta[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20] !=\n\t\ta[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20] !=\n\t\ta[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20] !=\n\t\ta[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20] !=\n\t\ta[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20] !=\n\t\ta[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20] !=\n\t\ta[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20] !=\n\t\ta[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20] !=\n\t\ta[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20]"; readonly error: "ERROR: <input>:-1:0: max recursion depth exceeded"; }, { readonly expr: "self.true == 1"; readonly error: "ERROR: <input>:1:6: Syntax error: mismatched input 'true' expecting IDENTIFIER\n | self.true == 1\n | .....^"; }, { readonly expr: "a.?b && a[?b]"; readonly error: "ERROR: <input>:1:2: unsupported syntax '.?'\n | a.?b && a[?b]\n | .^\nERROR: <input>:1:10: unsupported syntax '[?'\n | a.?b && a[?b]\n | .........^"; }, { readonly expr: "a.?b[?0] && a[?c]"; readonly error: "ERROR: <input>:1:2: unsupported syntax '.?'\n | a.?b[?0] && a[?c]\n | .^\nERROR: <input>:1:5: unsupported syntax '[?'\n | a.?b[?0] && a[?c]\n | ....^\nERROR: <input>:1:14: unsupported syntax '[?'\n | a.?b[?0] && a[?c]\n | .............^"; }, { readonly expr: "{?'key': value}"; readonly error: "ERROR: <input>:1:2: unsupported syntax '?'\n | {?'key': value}\n | .^"; }, { readonly expr: "[?a, ?b]"; readonly error: "ERROR: <input>:1:2: unsupported syntax '?'\n | [?a, ?b]\n | .^\nERROR: <input>:1:6: unsupported syntax '?'\n | [?a, ?b]\n | .....^"; }, { readonly expr: "[?a[?b]]"; readonly error: "ERROR: <input>:1:2: unsupported syntax '?'\n | [?a[?b]]\n | .^\nERROR: <input>:1:4: unsupported syntax '[?'\n | [?a[?b]]\n | ...^"; }, { readonly expr: "[?a, ?b]"; readonly error: "ERROR: <input>:1:2: unsupported syntax '?'\n | [?a, ?b]\n | .^\nERROR: <input>:1:6: unsupported syntax '?'\n | [?a, ?b]\n | .....^"; }, { readonly expr: "Msg{?field: value}"; readonly error: "ERROR: <input>:1:5: unsupported syntax '?'\n | Msg{?field: value}\n | ....^"; }, { readonly expr: "Msg{?field: value} && {?'key': value}"; readonly error: "ERROR: <input>:1:5: unsupported syntax '?'\n | Msg{?field: value} && {?'key': value}\n | ....^\nERROR: <input>:1:24: unsupported syntax '?'\n | Msg{?field: value} && {?'key': value}\n | .......................^"; }, { readonly expr: "a.`b-c`"; readonly error: "ERROR: <input>:1:3: unsupported syntax: '`'\n | a.`b-c`\n | ..^"; }, { readonly expr: "a.`b c`"; readonly error: "ERROR: <input>:1:3: unsupported syntax: '`'\n | a.`b c`\n | ..^"; }, { readonly expr: "a.`b.c`"; readonly error: "ERROR: <input>:1:3: unsupported syntax: '`'\n | a.`b.c`\n | ..^"; }, { readonly expr: "a.`in`"; readonly error: "ERROR: <input>:1:3: unsupported syntax: '`'\n | a.`in`\n | ..^"; }, { readonly expr: "a.`/foo`"; readonly error: "ERROR: <input>:1:3: unsupported syntax: '`'\n | a.`/foo`\n | ..^"; }, { readonly expr: "Message{`in`: true}"; readonly error: "ERROR: <input>:1:9: unsupported syntax: '`'\n | Message{`in`: true}\n | ........^"; }, { readonly expr: "`b-c`"; readonly error: "ERROR: <input>:1:1: Syntax error: mismatched input '`b-c`' expecting {'[', '{', '(', '.', '-', '!', 'true', 'false', 'null', NUM_FLOAT, NUM_INT, NUM_UINT, STRING, BYTES, IDENTIFIER}\n | `b-c`\n | ^"; }, { readonly expr: "`b-c`()"; readonly error: "ERROR: <input>:1:1: Syntax error: extraneous input '`b-c`' expecting {'[', '{', '(', '.', '-', '!', 'true', 'false', 'null', NUM_FLOAT, NUM_INT, NUM_UINT, STRING, BYTES, IDENTIFIER}\n | `b-c`()\n | ^\nERROR: <input>:1:7: Syntax error: mismatched input ')' expecting {'[', '{', '(', '.', '-', '!', 'true', 'false', 'null', NUM_FLOAT, NUM_INT, NUM_UINT, STRING, BYTES, IDENTIFIER}\n | `b-c`()\n | ......^"; }, { readonly expr: "a.`$b`"; readonly error: "ERROR: <input>:1:3: Syntax error: token recognition error at: '`$'\n | a.`$b`\n | ..^\nERROR: <input>:1:6: Syntax error: token recognition error at: '`'\n | a.`$b`\n | .....^"; }, { readonly expr: "a.`b.c`()"; readonly error: "ERROR: <input>:1:3: unsupported syntax: '`'\n | a.`b.c`()\n | ..^\nERROR: <input>:1:8: Syntax error: mismatched input '(' expecting <EOF>\n | a.`b.c`()\n | .......^"; }, { readonly expr: "a.`b-c`"; readonly error: "ERROR: <input>:1:3: unsupported syntax: '`'\n | a.`b-c`\n | ..^"; }, { readonly expr: "a.`b.c`"; readonly error: "ERROR: <input>:1:3: unsupported syntax: '`'\n | a.`b.c`\n | ..^"; }, { readonly expr: "a.`in`"; readonly error: "ERROR: <input>:1:3: unsupported syntax: '`'\n | a.`in`\n | ..^"; }, { readonly expr: "a.`/foo`"; readonly error: "ERROR: <input>:1:3: unsupported syntax: '`'\n | a.`/foo`\n | ..^"; }, { readonly expr: "Message{`in`: true}"; readonly error: "ERROR: <input>:1:9: unsupported syntax: '`'\n | Message{`in`: true}\n | ........^"; }, { readonly expr: "noop_macro(123)"; readonly ast: "noop_macro(\n 123^#*expr.Constant_Int64Value#\n)^#*expr.Expr_CallExpr#"; }, { readonly expr: "x{?."; readonly error: "ERROR: <input>:1:4: Syntax error: mismatched input '.' expecting {IDENTIFIER, ESC_IDENTIFIER}\n | x{?.\n | ...^\nERROR: <input>:1:4: Syntax error: error recovery attempt limit exceeded: 4\n | x{?.\n | ...^"; }, { readonly expr: "x{."; readonly error: "ERROR: <input>:1:3: Syntax error: mismatched input '.' expecting {'}', ',', '?', IDENTIFIER, ESC_IDENTIFIER}\n | x{.\n | ..^"; }, { readonly expr: "'3# < 10\" '& tru ^^"; readonly error: "ERROR: <input>:1:12: Syntax error: token recognition error at: '& '\n | '3# < 10\" '& tru ^^\n | ...........^\nERROR: <input>:1:14: Syntax error: extraneous input 'tru' expecting <EOF>\n | '3# < 10\" '& tru ^^\n | .............^\nERROR: <input>:1:18: Syntax error: token recognition error at: '^'\n | '3# < 10\" '& tru ^^\n | .................^\nERROR: <input>:1:19: Syntax error: token recognition error at: '^'\n | '3# < 10\" '& tru ^^\n | ..................^"; }, { readonly expr: "'\\udead' == '\\ufffd'"; readonly error: "ERROR: <input>:1:1: invalid unicode code point\n | '\\udead' == '\\ufffd'\n | ^"; }];