@bufbuild/cel-spec
Version:
CEL definitions and test data
566 lines (565 loc) • 50 kB
TypeScript
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 | ^";
}];