diff --git a/docs/index.html b/docs/index.html index de069647a..fbc45ac35 100644 --- a/docs/index.html +++ b/docs/index.html @@ -19575,7 +19575,7 @@

JSONPath Comparison

- + @@ -24128,7 +24128,7 @@

JSONPath Comparison

- + @@ -24249,7 +24249,7 @@

JSONPath Comparison

- + diff --git a/docs/results/filter_expression_with_addition.html b/docs/results/filter_expression_with_addition.html index c8ece5898..6d9c023ba 100644 --- a/docs/results/filter_expression_with_addition.html +++ b/docs/results/filter_expression_with_addition.html @@ -341,7 +341,7 @@

| x 1:10-1:10 ScalarOperator | | $[?(@.key+50==100)] | | ^ -| o 1:5-1:10 FilterValue +| o 1:5-1:10 DocumentValue | | $[?(@.key+50==100)] | | ^^^^^ | o 1:5-1:10 UnaryFilterExpression @@ -350,6 +350,9 @@

| | x 1:10-1:10 ScalarOperator | | | $[?(@.key+50==100)] | | | ^ +| | o 1:5-1:10 DocumentValue +| | | $[?(@.key+50==100)] +| | | ^^^^^ | | o 1:5-1:10 FilterValue | | | $[?(@.key+50==100)] | | | ^^^^^ @@ -369,7 +372,7 @@

| | x 1:10-1:10 ScalarOperator | | | $[?(@.key+50==100)] | | | ^ -| | o 1:5-1:10 FilterValue +| | o 1:5-1:10 DocumentValue | | | $[?(@.key+50==100)] | | | ^^^^^ | | o 1:5-1:10 UnaryFilterExpression @@ -378,6 +381,9 @@

| | | x 1:10-1:10 ScalarOperator | | | | $[?(@.key+50==100)] | | | | ^ +| | | o 1:5-1:10 DocumentValue +| | | | $[?(@.key+50==100)] +| | | | ^^^^^ | | | o 1:5-1:10 FilterValue | | | | $[?(@.key+50==100)] | | | | ^^^^^ @@ -397,7 +403,7 @@

| | | x 1:10-1:10 ScalarOperator | | | | $[?(@.key+50==100)] | | | | ^ -| | | o 1:5-1:10 FilterValue +| | | o 1:5-1:10 DocumentValue | | | | $[?(@.key+50==100)] | | | | ^^^^^ | | | o 1:5-1:10 UnaryFilterExpression @@ -406,6 +412,9 @@

| | | | x 1:10-1:10 ScalarOperator | | | | | $[?(@.key+50==100)] | | | | | ^ +| | | | o 1:5-1:10 DocumentValue +| | | | | $[?(@.key+50==100)] +| | | | | ^^^^^ | | | | o 1:5-1:10 FilterValue | | | | | $[?(@.key+50==100)] | | | | | ^^^^^ diff --git a/docs/results/filter_expression_with_division.html b/docs/results/filter_expression_with_division.html index 6208a647d..2fffc9849 100644 --- a/docs/results/filter_expression_with_division.html +++ b/docs/results/filter_expression_with_division.html @@ -370,7 +370,7 @@

| x 1:10-1:10 ScalarOperator | | $[?(@.key/10==5)] | | ^ -| o 1:5-1:10 FilterValue +| o 1:5-1:10 DocumentValue | | $[?(@.key/10==5)] | | ^^^^^ | o 1:5-1:10 UnaryFilterExpression @@ -379,6 +379,9 @@

| | x 1:10-1:10 ScalarOperator | | | $[?(@.key/10==5)] | | | ^ +| | o 1:5-1:10 DocumentValue +| | | $[?(@.key/10==5)] +| | | ^^^^^ | | o 1:5-1:10 FilterValue | | | $[?(@.key/10==5)] | | | ^^^^^ @@ -398,7 +401,7 @@

| | x 1:10-1:10 ScalarOperator | | | $[?(@.key/10==5)] | | | ^ -| | o 1:5-1:10 FilterValue +| | o 1:5-1:10 DocumentValue | | | $[?(@.key/10==5)] | | | ^^^^^ | | o 1:5-1:10 UnaryFilterExpression @@ -407,6 +410,9 @@

| | | x 1:10-1:10 ScalarOperator | | | | $[?(@.key/10==5)] | | | | ^ +| | | o 1:5-1:10 DocumentValue +| | | | $[?(@.key/10==5)] +| | | | ^^^^^ | | | o 1:5-1:10 FilterValue | | | | $[?(@.key/10==5)] | | | | ^^^^^ @@ -426,7 +432,7 @@

| | | x 1:10-1:10 ScalarOperator | | | | $[?(@.key/10==5)] | | | | ^ -| | | o 1:5-1:10 FilterValue +| | | o 1:5-1:10 DocumentValue | | | | $[?(@.key/10==5)] | | | | ^^^^^ | | | o 1:5-1:10 UnaryFilterExpression @@ -435,6 +441,9 @@

| | | | x 1:10-1:10 ScalarOperator | | | | | $[?(@.key/10==5)] | | | | | ^ +| | | | o 1:5-1:10 DocumentValue +| | | | | $[?(@.key/10==5)] +| | | | | ^^^^^ | | | | o 1:5-1:10 FilterValue | | | | | $[?(@.key/10==5)] | | | | | ^^^^^ diff --git a/docs/results/filter_expression_with_equals_array.html b/docs/results/filter_expression_with_equals_array.html index fbea94b1c..9e71401fd 100644 --- a/docs/results/filter_expression_with_equals_array.html +++ b/docs/results/filter_expression_with_equals_array.html @@ -377,15 +377,20 @@

Not supported

-
x 1:10-1:10 IntegerPart
-| $[?(@.d==["v1","v2"])]
-|          ^
-x 1:10-1:10 Number
-| $[?(@.d==["v1","v2"])]
-|          ^
-x 1:10-1:10 SimpleValue
+
x 1:10-1:10 DocumentValue
 | $[?(@.d==["v1","v2"])]
 |          ^
+| x 1:10-1:10 IntegerPart
+| | $[?(@.d==["v1","v2"])]
+| |          ^
+| x 1:10-1:10 Number
+| | $[?(@.d==["v1","v2"])]
+| |          ^
+| x 1:10-1:10 SimpleValue
+| | $[?(@.d==["v1","v2"])]
+| |          ^
+| | 
+|/  
 x 1:10-1:10 FilterValue
 | $[?(@.d==["v1","v2"])]
 |          ^
@@ -395,15 +400,20 @@ 

x 1:5-1:5 LogicalOr | $[?(@.d==["v1","v2"])] | ^ -| x 1:10-1:10 IntegerPart -| | $[?(@.d==["v1","v2"])] -| | ^ -| x 1:10-1:10 Number -| | $[?(@.d==["v1","v2"])] -| | ^ -| x 1:10-1:10 SimpleValue +| x 1:10-1:10 DocumentValue | | $[?(@.d==["v1","v2"])] | | ^ +| | x 1:10-1:10 IntegerPart +| | | $[?(@.d==["v1","v2"])] +| | | ^ +| | x 1:10-1:10 Number +| | | $[?(@.d==["v1","v2"])] +| | | ^ +| | x 1:10-1:10 SimpleValue +| | | $[?(@.d==["v1","v2"])] +| | | ^ +| | | +| |/ | x 1:10-1:10 FilterValue | | $[?(@.d==["v1","v2"])] | | ^ @@ -413,15 +423,20 @@

| x 1:5-1:5 LogicalAnd | | $[?(@.d==["v1","v2"])] | | ^ -| | x 1:10-1:10 IntegerPart -| | | $[?(@.d==["v1","v2"])] -| | | ^ -| | x 1:10-1:10 Number -| | | $[?(@.d==["v1","v2"])] -| | | ^ -| | x 1:10-1:10 SimpleValue +| | x 1:10-1:10 DocumentValue | | | $[?(@.d==["v1","v2"])] | | | ^ +| | | x 1:10-1:10 IntegerPart +| | | | $[?(@.d==["v1","v2"])] +| | | | ^ +| | | x 1:10-1:10 Number +| | | | $[?(@.d==["v1","v2"])] +| | | | ^ +| | | x 1:10-1:10 SimpleValue +| | | | $[?(@.d==["v1","v2"])] +| | | | ^ +| | | | +| | |/ | | x 1:10-1:10 FilterValue | | | $[?(@.d==["v1","v2"])] | | | ^ diff --git a/docs/results/filter_expression_with_equals_array_for_array_slice_with_range_1.html b/docs/results/filter_expression_with_equals_array_for_array_slice_with_range_1.html index 4ab2ae60c..2b615e049 100644 --- a/docs/results/filter_expression_with_equals_array_for_array_slice_with_range_1.html +++ b/docs/results/filter_expression_with_equals_array_for_array_slice_with_range_1.html @@ -294,7 +294,7 @@

| x 1:6-1:6 ScalarOperator | | $[?(@[0:1]==[1])] | | ^ -| o 1:5-1:6 FilterValue +| o 1:5-1:6 DocumentValue | | $[?(@[0:1]==[1])] | | ^ | o 1:5-1:6 UnaryFilterExpression @@ -303,6 +303,9 @@

| | x 1:6-1:6 ScalarOperator | | | $[?(@[0:1]==[1])] | | | ^ +| | o 1:5-1:6 DocumentValue +| | | $[?(@[0:1]==[1])] +| | | ^ | | o 1:5-1:6 FilterValue | | | $[?(@[0:1]==[1])] | | | ^ @@ -322,7 +325,7 @@

| | x 1:6-1:6 ScalarOperator | | | $[?(@[0:1]==[1])] | | | ^ -| | o 1:5-1:6 FilterValue +| | o 1:5-1:6 DocumentValue | | | $[?(@[0:1]==[1])] | | | ^ | | o 1:5-1:6 UnaryFilterExpression @@ -331,6 +334,9 @@

| | | x 1:6-1:6 ScalarOperator | | | | $[?(@[0:1]==[1])] | | | | ^ +| | | o 1:5-1:6 DocumentValue +| | | | $[?(@[0:1]==[1])] +| | | | ^ | | | o 1:5-1:6 FilterValue | | | | $[?(@[0:1]==[1])] | | | | ^ @@ -350,7 +356,7 @@

| | | x 1:6-1:6 ScalarOperator | | | | $[?(@[0:1]==[1])] | | | | ^ -| | | o 1:5-1:6 FilterValue +| | | o 1:5-1:6 DocumentValue | | | | $[?(@[0:1]==[1])] | | | | ^ | | | o 1:5-1:6 UnaryFilterExpression @@ -359,6 +365,9 @@

| | | | x 1:6-1:6 ScalarOperator | | | | | $[?(@[0:1]==[1])] | | | | | ^ +| | | | o 1:5-1:6 DocumentValue +| | | | | $[?(@[0:1]==[1])] +| | | | | ^ | | | | o 1:5-1:6 FilterValue | | | | | $[?(@[0:1]==[1])] | | | | | ^ diff --git a/docs/results/filter_expression_with_equals_array_for_dot_notation_with_star.html b/docs/results/filter_expression_with_equals_array_for_dot_notation_with_star.html index 1b9322ae7..029419920 100644 --- a/docs/results/filter_expression_with_equals_array_for_dot_notation_with_star.html +++ b/docs/results/filter_expression_with_equals_array_for_dot_notation_with_star.html @@ -253,7 +253,7 @@

x 1:6-1:6 ScalarOperator | $[?(@.*==[1,2])] | ^ -o 1:5-1:6 FilterValue +o 1:5-1:6 DocumentValue | $[?(@.*==[1,2])] | ^ o 1:5-1:6 UnaryFilterExpression @@ -265,6 +265,9 @@

| x 1:6-1:6 ScalarOperator | | $[?(@.*==[1,2])] | | ^ +| o 1:5-1:6 DocumentValue +| | $[?(@.*==[1,2])] +| | ^ | o 1:5-1:6 FilterValue | | $[?(@.*==[1,2])] | | ^ @@ -282,7 +285,7 @@

| x 1:6-1:6 ScalarOperator | | $[?(@.*==[1,2])] | | ^ -| o 1:5-1:6 FilterValue +| o 1:5-1:6 DocumentValue | | $[?(@.*==[1,2])] | | ^ | o 1:5-1:6 UnaryFilterExpression @@ -294,6 +297,9 @@

| | x 1:6-1:6 ScalarOperator | | | $[?(@.*==[1,2])] | | | ^ +| | o 1:5-1:6 DocumentValue +| | | $[?(@.*==[1,2])] +| | | ^ | | o 1:5-1:6 FilterValue | | | $[?(@.*==[1,2])] | | | ^ @@ -311,7 +317,7 @@

| | x 1:6-1:6 ScalarOperator | | | $[?(@.*==[1,2])] | | | ^ -| | o 1:5-1:6 FilterValue +| | o 1:5-1:6 DocumentValue | | | $[?(@.*==[1,2])] | | | ^ | | o 1:5-1:6 UnaryFilterExpression @@ -323,6 +329,9 @@

| | | x 1:6-1:6 ScalarOperator | | | | $[?(@.*==[1,2])] | | | | ^ +| | | o 1:5-1:6 DocumentValue +| | | | $[?(@.*==[1,2])] +| | | | ^ | | | o 1:5-1:6 FilterValue | | | | $[?(@.*==[1,2])] | | | | ^ diff --git a/docs/results/filter_expression_with_equals_array_with_single_quotes.html b/docs/results/filter_expression_with_equals_array_with_single_quotes.html index 41e334f70..b556e2d28 100644 --- a/docs/results/filter_expression_with_equals_array_with_single_quotes.html +++ b/docs/results/filter_expression_with_equals_array_with_single_quotes.html @@ -361,15 +361,20 @@

Not supported

-
x 1:10-1:10 IntegerPart
-| $[?(@.d==['v1','v2'])]
-|          ^
-x 1:10-1:10 Number
-| $[?(@.d==['v1','v2'])]
-|          ^
-x 1:10-1:10 SimpleValue
+
x 1:10-1:10 DocumentValue
 | $[?(@.d==['v1','v2'])]
 |          ^
+| x 1:10-1:10 IntegerPart
+| | $[?(@.d==['v1','v2'])]
+| |          ^
+| x 1:10-1:10 Number
+| | $[?(@.d==['v1','v2'])]
+| |          ^
+| x 1:10-1:10 SimpleValue
+| | $[?(@.d==['v1','v2'])]
+| |          ^
+| | 
+|/  
 x 1:10-1:10 FilterValue
 | $[?(@.d==['v1','v2'])]
 |          ^
@@ -379,15 +384,20 @@ 

x 1:5-1:5 LogicalOr | $[?(@.d==['v1','v2'])] | ^ -| x 1:10-1:10 IntegerPart -| | $[?(@.d==['v1','v2'])] -| | ^ -| x 1:10-1:10 Number -| | $[?(@.d==['v1','v2'])] -| | ^ -| x 1:10-1:10 SimpleValue +| x 1:10-1:10 DocumentValue | | $[?(@.d==['v1','v2'])] | | ^ +| | x 1:10-1:10 IntegerPart +| | | $[?(@.d==['v1','v2'])] +| | | ^ +| | x 1:10-1:10 Number +| | | $[?(@.d==['v1','v2'])] +| | | ^ +| | x 1:10-1:10 SimpleValue +| | | $[?(@.d==['v1','v2'])] +| | | ^ +| | | +| |/ | x 1:10-1:10 FilterValue | | $[?(@.d==['v1','v2'])] | | ^ @@ -397,15 +407,20 @@

| x 1:5-1:5 LogicalAnd | | $[?(@.d==['v1','v2'])] | | ^ -| | x 1:10-1:10 IntegerPart -| | | $[?(@.d==['v1','v2'])] -| | | ^ -| | x 1:10-1:10 Number -| | | $[?(@.d==['v1','v2'])] -| | | ^ -| | x 1:10-1:10 SimpleValue +| | x 1:10-1:10 DocumentValue | | | $[?(@.d==['v1','v2'])] | | | ^ +| | | x 1:10-1:10 IntegerPart +| | | | $[?(@.d==['v1','v2'])] +| | | | ^ +| | | x 1:10-1:10 Number +| | | | $[?(@.d==['v1','v2'])] +| | | | ^ +| | | x 1:10-1:10 SimpleValue +| | | | $[?(@.d==['v1','v2'])] +| | | | ^ +| | | | +| | |/ | | x 1:10-1:10 FilterValue | | | $[?(@.d==['v1','v2'])] | | | ^ diff --git a/docs/results/filter_expression_with_equals_boolean_expression_value.html b/docs/results/filter_expression_with_equals_boolean_expression_value.html index f76c52ba8..3dd73dcb9 100644 --- a/docs/results/filter_expression_with_equals_boolean_expression_value.html +++ b/docs/results/filter_expression_with_equals_boolean_expression_value.html @@ -94,9 +94,14 @@

Golang (github.com-vmware-labs-yaml-jsonpath)

-

Not supported

- -
missing end of filter
+
[
+  {
+    "key": 42
+  },
+  {
+    "key": 43
+  }
+]
 

@@ -495,9 +500,7 @@

Elixir (jaxon)

-
** (Jaxon.ParseError) Expected an integer at `?((@.key<4`
-    lib/jaxon/path.ex:79: Jaxon.Path.parse!/1
-    lib/jsonpath.ex:8: Mix.Tasks.Execute.run/1
+
timeout: sending signal TERM to command ‘implementations/Elixir_jaxon/run.sh’
 

diff --git a/docs/results/filter_expression_with_equals_number_for_array_slice_with_range_1.html b/docs/results/filter_expression_with_equals_number_for_array_slice_with_range_1.html index 71636b26f..01742f679 100644 --- a/docs/results/filter_expression_with_equals_number_for_array_slice_with_range_1.html +++ b/docs/results/filter_expression_with_equals_number_for_array_slice_with_range_1.html @@ -300,7 +300,7 @@

| x 1:6-1:6 ScalarOperator | | $[?(@[0:1]==1)] | | ^ -| o 1:5-1:6 FilterValue +| o 1:5-1:6 DocumentValue | | $[?(@[0:1]==1)] | | ^ | o 1:5-1:6 UnaryFilterExpression @@ -309,6 +309,9 @@

| | x 1:6-1:6 ScalarOperator | | | $[?(@[0:1]==1)] | | | ^ +| | o 1:5-1:6 DocumentValue +| | | $[?(@[0:1]==1)] +| | | ^ | | o 1:5-1:6 FilterValue | | | $[?(@[0:1]==1)] | | | ^ @@ -328,7 +331,7 @@

| | x 1:6-1:6 ScalarOperator | | | $[?(@[0:1]==1)] | | | ^ -| | o 1:5-1:6 FilterValue +| | o 1:5-1:6 DocumentValue | | | $[?(@[0:1]==1)] | | | ^ | | o 1:5-1:6 UnaryFilterExpression @@ -337,6 +340,9 @@

| | | x 1:6-1:6 ScalarOperator | | | | $[?(@[0:1]==1)] | | | | ^ +| | | o 1:5-1:6 DocumentValue +| | | | $[?(@[0:1]==1)] +| | | | ^ | | | o 1:5-1:6 FilterValue | | | | $[?(@[0:1]==1)] | | | | ^ @@ -356,7 +362,7 @@

| | | x 1:6-1:6 ScalarOperator | | | | $[?(@[0:1]==1)] | | | | ^ -| | | o 1:5-1:6 FilterValue +| | | o 1:5-1:6 DocumentValue | | | | $[?(@[0:1]==1)] | | | | ^ | | | o 1:5-1:6 UnaryFilterExpression @@ -365,6 +371,9 @@

| | | | x 1:6-1:6 ScalarOperator | | | | | $[?(@[0:1]==1)] | | | | | ^ +| | | | o 1:5-1:6 DocumentValue +| | | | | $[?(@[0:1]==1)] +| | | | | ^ | | | | o 1:5-1:6 FilterValue | | | | | $[?(@[0:1]==1)] | | | | | ^ diff --git a/docs/results/filter_expression_with_equals_number_for_bracket_notation_with_star.html b/docs/results/filter_expression_with_equals_number_for_bracket_notation_with_star.html index 27b8cbbbf..423d717ae 100644 --- a/docs/results/filter_expression_with_equals_number_for_bracket_notation_with_star.html +++ b/docs/results/filter_expression_with_equals_number_for_bracket_notation_with_star.html @@ -341,7 +341,7 @@

x 1:6-1:6 ScalarOperator | $[?(@[*]==2)] | ^ -o 1:5-1:6 FilterValue +o 1:5-1:6 DocumentValue | $[?(@[*]==2)] | ^ o 1:5-1:6 UnaryFilterExpression @@ -356,6 +356,9 @@

| x 1:6-1:6 ScalarOperator | | $[?(@[*]==2)] | | ^ +| o 1:5-1:6 DocumentValue +| | $[?(@[*]==2)] +| | ^ | o 1:5-1:6 FilterValue | | $[?(@[*]==2)] | | ^ @@ -376,7 +379,7 @@

| x 1:6-1:6 ScalarOperator | | $[?(@[*]==2)] | | ^ -| o 1:5-1:6 FilterValue +| o 1:5-1:6 DocumentValue | | $[?(@[*]==2)] | | ^ | o 1:5-1:6 UnaryFilterExpression @@ -391,6 +394,9 @@

| | x 1:6-1:6 ScalarOperator | | | $[?(@[*]==2)] | | | ^ +| | o 1:5-1:6 DocumentValue +| | | $[?(@[*]==2)] +| | | ^ | | o 1:5-1:6 FilterValue | | | $[?(@[*]==2)] | | | ^ @@ -411,7 +417,7 @@

| | x 1:6-1:6 ScalarOperator | | | $[?(@[*]==2)] | | | ^ -| | o 1:5-1:6 FilterValue +| | o 1:5-1:6 DocumentValue | | | $[?(@[*]==2)] | | | ^ | | o 1:5-1:6 UnaryFilterExpression @@ -426,6 +432,9 @@

| | | x 1:6-1:6 ScalarOperator | | | | $[?(@[*]==2)] | | | | ^ +| | | o 1:5-1:6 DocumentValue +| | | | $[?(@[*]==2)] +| | | | ^ | | | o 1:5-1:6 FilterValue | | | | $[?(@[*]==2)] | | | | ^ diff --git a/docs/results/filter_expression_with_equals_number_for_dot_notation_with_star.html b/docs/results/filter_expression_with_equals_number_for_dot_notation_with_star.html index 739524f4c..90a801938 100644 --- a/docs/results/filter_expression_with_equals_number_for_dot_notation_with_star.html +++ b/docs/results/filter_expression_with_equals_number_for_dot_notation_with_star.html @@ -341,7 +341,7 @@

x 1:6-1:6 ScalarOperator | $[?(@.*==2)] | ^ -o 1:5-1:6 FilterValue +o 1:5-1:6 DocumentValue | $[?(@.*==2)] | ^ o 1:5-1:6 UnaryFilterExpression @@ -353,6 +353,9 @@

| x 1:6-1:6 ScalarOperator | | $[?(@.*==2)] | | ^ +| o 1:5-1:6 DocumentValue +| | $[?(@.*==2)] +| | ^ | o 1:5-1:6 FilterValue | | $[?(@.*==2)] | | ^ @@ -370,7 +373,7 @@

| x 1:6-1:6 ScalarOperator | | $[?(@.*==2)] | | ^ -| o 1:5-1:6 FilterValue +| o 1:5-1:6 DocumentValue | | $[?(@.*==2)] | | ^ | o 1:5-1:6 UnaryFilterExpression @@ -382,6 +385,9 @@

| | x 1:6-1:6 ScalarOperator | | | $[?(@.*==2)] | | | ^ +| | o 1:5-1:6 DocumentValue +| | | $[?(@.*==2)] +| | | ^ | | o 1:5-1:6 FilterValue | | | $[?(@.*==2)] | | | ^ @@ -399,7 +405,7 @@

| | x 1:6-1:6 ScalarOperator | | | $[?(@.*==2)] | | | ^ -| | o 1:5-1:6 FilterValue +| | o 1:5-1:6 DocumentValue | | | $[?(@.*==2)] | | | ^ | | o 1:5-1:6 UnaryFilterExpression @@ -411,6 +417,9 @@

| | | x 1:6-1:6 ScalarOperator | | | | $[?(@.*==2)] | | | | ^ +| | | o 1:5-1:6 DocumentValue +| | | | $[?(@.*==2)] +| | | | ^ | | | o 1:5-1:6 FilterValue | | | | $[?(@.*==2)] | | | | ^ diff --git a/docs/results/filter_expression_with_equals_object.html b/docs/results/filter_expression_with_equals_object.html index bff36c858..66125a7f0 100644 --- a/docs/results/filter_expression_with_equals_object.html +++ b/docs/results/filter_expression_with_equals_object.html @@ -373,15 +373,20 @@

Not supported

-
x 1:10-1:10 IntegerPart
-| $[?(@.d=={"k":"v"})]
-|          ^
-x 1:10-1:10 Number
-| $[?(@.d=={"k":"v"})]
-|          ^
-x 1:10-1:10 SimpleValue
+
x 1:10-1:10 DocumentValue
 | $[?(@.d=={"k":"v"})]
 |          ^
+| x 1:10-1:10 IntegerPart
+| | $[?(@.d=={"k":"v"})]
+| |          ^
+| x 1:10-1:10 Number
+| | $[?(@.d=={"k":"v"})]
+| |          ^
+| x 1:10-1:10 SimpleValue
+| | $[?(@.d=={"k":"v"})]
+| |          ^
+| | 
+|/  
 x 1:10-1:10 FilterValue
 | $[?(@.d=={"k":"v"})]
 |          ^
@@ -391,15 +396,20 @@ 

x 1:5-1:5 LogicalOr | $[?(@.d=={"k":"v"})] | ^ -| x 1:10-1:10 IntegerPart -| | $[?(@.d=={"k":"v"})] -| | ^ -| x 1:10-1:10 Number -| | $[?(@.d=={"k":"v"})] -| | ^ -| x 1:10-1:10 SimpleValue +| x 1:10-1:10 DocumentValue | | $[?(@.d=={"k":"v"})] | | ^ +| | x 1:10-1:10 IntegerPart +| | | $[?(@.d=={"k":"v"})] +| | | ^ +| | x 1:10-1:10 Number +| | | $[?(@.d=={"k":"v"})] +| | | ^ +| | x 1:10-1:10 SimpleValue +| | | $[?(@.d=={"k":"v"})] +| | | ^ +| | | +| |/ | x 1:10-1:10 FilterValue | | $[?(@.d=={"k":"v"})] | | ^ @@ -409,15 +419,20 @@

| x 1:5-1:5 LogicalAnd | | $[?(@.d=={"k":"v"})] | | ^ -| | x 1:10-1:10 IntegerPart -| | | $[?(@.d=={"k":"v"})] -| | | ^ -| | x 1:10-1:10 Number -| | | $[?(@.d=={"k":"v"})] -| | | ^ -| | x 1:10-1:10 SimpleValue +| | x 1:10-1:10 DocumentValue | | | $[?(@.d=={"k":"v"})] | | | ^ +| | | x 1:10-1:10 IntegerPart +| | | | $[?(@.d=={"k":"v"})] +| | | | ^ +| | | x 1:10-1:10 Number +| | | | $[?(@.d=={"k":"v"})] +| | | | ^ +| | | x 1:10-1:10 SimpleValue +| | | | $[?(@.d=={"k":"v"})] +| | | | ^ +| | | | +| | |/ | | x 1:10-1:10 FilterValue | | | $[?(@.d=={"k":"v"})] | | | ^ diff --git a/docs/results/filter_expression_with_in_current_object.html b/docs/results/filter_expression_with_in_current_object.html index 86ae9309c..2494515da 100644 --- a/docs/results/filter_expression_with_in_current_object.html +++ b/docs/results/filter_expression_with_in_current_object.html @@ -423,32 +423,32 @@

x 1:7-1:7 ComparisonOperator
 | $[?(2 in @.d)]
 |       ^
-o 1:5-1:6 HigherPrecedenceFilterExpression
-| $[?(2 in @.d)]
-|     ^
-x 1:5-1:5 LogicalOr
+x 1:5-1:5 HigherPrecedenceFilterExpression
 | $[?(2 in @.d)]
 |     ^
 | x 1:7-1:7 ComparisonOperator
 | | $[?(2 in @.d)]
 | |       ^
-| o 1:5-1:6 HigherPrecedenceFilterExpression
+| x 1:5-1:5 HigherPrecedenceFilterExpression
 | | $[?(2 in @.d)]
 | |     ^
-| x 1:5-1:5 LogicalAnd
+| x 1:5-1:5 LogicalOr
 | | $[?(2 in @.d)]
 | |     ^
 | | x 1:7-1:7 ComparisonOperator
 | | | $[?(2 in @.d)]
 | | |       ^
-| | o 1:5-1:6 HigherPrecedenceFilterExpression
+| | x 1:5-1:5 HigherPrecedenceFilterExpression
+| | | $[?(2 in @.d)]
+| | |     ^
+| | x 1:5-1:5 LogicalAnd
 | | | $[?(2 in @.d)]
 | | |     ^
 | | | 
 |/ /  
 | | 
 |/  
-o 1:5-1:6 FilterExpression
+x 1:5-1:5 FilterExpression
 | $[?(2 in @.d)]
 |     ^
 x 1:3-1:3 BracketElement
diff --git a/docs/results/filter_expression_with_multiplication.html b/docs/results/filter_expression_with_multiplication.html
index 2d8e1fc18..1f69156a0 100644
--- a/docs/results/filter_expression_with_multiplication.html
+++ b/docs/results/filter_expression_with_multiplication.html
@@ -359,7 +359,7 @@ 

| x 1:10-1:10 ScalarOperator | | $[?(@.key*2==100)] | | ^ -| o 1:5-1:10 FilterValue +| o 1:5-1:10 DocumentValue | | $[?(@.key*2==100)] | | ^^^^^ | o 1:5-1:10 UnaryFilterExpression @@ -368,6 +368,9 @@

| | x 1:10-1:10 ScalarOperator | | | $[?(@.key*2==100)] | | | ^ +| | o 1:5-1:10 DocumentValue +| | | $[?(@.key*2==100)] +| | | ^^^^^ | | o 1:5-1:10 FilterValue | | | $[?(@.key*2==100)] | | | ^^^^^ @@ -387,7 +390,7 @@

| | x 1:10-1:10 ScalarOperator | | | $[?(@.key*2==100)] | | | ^ -| | o 1:5-1:10 FilterValue +| | o 1:5-1:10 DocumentValue | | | $[?(@.key*2==100)] | | | ^^^^^ | | o 1:5-1:10 UnaryFilterExpression @@ -396,6 +399,9 @@

| | | x 1:10-1:10 ScalarOperator | | | | $[?(@.key*2==100)] | | | | ^ +| | | o 1:5-1:10 DocumentValue +| | | | $[?(@.key*2==100)] +| | | | ^^^^^ | | | o 1:5-1:10 FilterValue | | | | $[?(@.key*2==100)] | | | | ^^^^^ @@ -415,7 +421,7 @@

| | | x 1:10-1:10 ScalarOperator | | | | $[?(@.key*2==100)] | | | | ^ -| | | o 1:5-1:10 FilterValue +| | | o 1:5-1:10 DocumentValue | | | | $[?(@.key*2==100)] | | | | ^^^^^ | | | o 1:5-1:10 UnaryFilterExpression @@ -424,6 +430,9 @@

| | | | x 1:10-1:10 ScalarOperator | | | | | $[?(@.key*2==100)] | | | | | ^ +| | | | o 1:5-1:10 DocumentValue +| | | | | $[?(@.key*2==100)] +| | | | | ^^^^^ | | | | o 1:5-1:10 FilterValue | | | | | $[?(@.key*2==100)] | | | | | ^^^^^ diff --git a/docs/results/filter_expression_with_regular_expression.html b/docs/results/filter_expression_with_regular_expression.html index 3997b5275..210de2841 100644 --- a/docs/results/filter_expression_with_regular_expression.html +++ b/docs/results/filter_expression_with_regular_expression.html @@ -386,7 +386,7 @@

| x 1:11-1:11 ScalarOperator | | $[?(@.name=~/hello.*/)] | | ^ -| o 1:5-1:11 FilterValue +| o 1:5-1:11 DocumentValue | | $[?(@.name=~/hello.*/)] | | ^^^^^^ | o 1:5-1:11 UnaryFilterExpression @@ -395,6 +395,9 @@

| | x 1:11-1:11 ScalarOperator | | | $[?(@.name=~/hello.*/)] | | | ^ +| | o 1:5-1:11 DocumentValue +| | | $[?(@.name=~/hello.*/)] +| | | ^^^^^^ | | o 1:5-1:11 FilterValue | | | $[?(@.name=~/hello.*/)] | | | ^^^^^^ @@ -414,7 +417,7 @@

| | x 1:11-1:11 ScalarOperator | | | $[?(@.name=~/hello.*/)] | | | ^ -| | o 1:5-1:11 FilterValue +| | o 1:5-1:11 DocumentValue | | | $[?(@.name=~/hello.*/)] | | | ^^^^^^ | | o 1:5-1:11 UnaryFilterExpression @@ -423,6 +426,9 @@

| | | x 1:11-1:11 ScalarOperator | | | | $[?(@.name=~/hello.*/)] | | | | ^ +| | | o 1:5-1:11 DocumentValue +| | | | $[?(@.name=~/hello.*/)] +| | | | ^^^^^^ | | | o 1:5-1:11 FilterValue | | | | $[?(@.name=~/hello.*/)] | | | | ^^^^^^ @@ -442,7 +448,7 @@

| | | x 1:11-1:11 ScalarOperator | | | | $[?(@.name=~/hello.*/)] | | | | ^ -| | | o 1:5-1:11 FilterValue +| | | o 1:5-1:11 DocumentValue | | | | $[?(@.name=~/hello.*/)] | | | | ^^^^^^ | | | o 1:5-1:11 UnaryFilterExpression @@ -451,6 +457,9 @@

| | | | x 1:11-1:11 ScalarOperator | | | | | $[?(@.name=~/hello.*/)] | | | | | ^ +| | | | o 1:5-1:11 DocumentValue +| | | | | $[?(@.name=~/hello.*/)] +| | | | | ^^^^^^ | | | | o 1:5-1:11 FilterValue | | | | | $[?(@.name=~/hello.*/)] | | | | | ^^^^^^ diff --git a/docs/results/filter_expression_with_set_wise_comparison_to_scalar.html b/docs/results/filter_expression_with_set_wise_comparison_to_scalar.html index 733376b17..e9631593e 100644 --- a/docs/results/filter_expression_with_set_wise_comparison_to_scalar.html +++ b/docs/results/filter_expression_with_set_wise_comparison_to_scalar.html @@ -279,7 +279,7 @@

x 1:6-1:6 ScalarOperator | $[?(@[*]>=4)] | ^ -o 1:5-1:6 FilterValue +o 1:5-1:6 DocumentValue | $[?(@[*]>=4)] | ^ o 1:5-1:6 UnaryFilterExpression @@ -294,6 +294,9 @@

| x 1:6-1:6 ScalarOperator | | $[?(@[*]>=4)] | | ^ +| o 1:5-1:6 DocumentValue +| | $[?(@[*]>=4)] +| | ^ | o 1:5-1:6 FilterValue | | $[?(@[*]>=4)] | | ^ @@ -314,7 +317,7 @@

| x 1:6-1:6 ScalarOperator | | $[?(@[*]>=4)] | | ^ -| o 1:5-1:6 FilterValue +| o 1:5-1:6 DocumentValue | | $[?(@[*]>=4)] | | ^ | o 1:5-1:6 UnaryFilterExpression @@ -329,6 +332,9 @@

| | x 1:6-1:6 ScalarOperator | | | $[?(@[*]>=4)] | | | ^ +| | o 1:5-1:6 DocumentValue +| | | $[?(@[*]>=4)] +| | | ^ | | o 1:5-1:6 FilterValue | | | $[?(@[*]>=4)] | | | ^ @@ -349,7 +355,7 @@

| | x 1:6-1:6 ScalarOperator | | | $[?(@[*]>=4)] | | | ^ -| | o 1:5-1:6 FilterValue +| | o 1:5-1:6 DocumentValue | | | $[?(@[*]>=4)] | | | ^ | | o 1:5-1:6 UnaryFilterExpression @@ -364,6 +370,9 @@

| | | x 1:6-1:6 ScalarOperator | | | | $[?(@[*]>=4)] | | | | ^ +| | | o 1:5-1:6 DocumentValue +| | | | $[?(@[*]>=4)] +| | | | ^ | | | o 1:5-1:6 FilterValue | | | | $[?(@[*]>=4)] | | | | ^ diff --git a/docs/results/filter_expression_with_set_wise_comparison_to_set.html b/docs/results/filter_expression_with_set_wise_comparison_to_set.html index 8331f412d..230f791b5 100644 --- a/docs/results/filter_expression_with_set_wise_comparison_to_set.html +++ b/docs/results/filter_expression_with_set_wise_comparison_to_set.html @@ -290,7 +290,7 @@

x 1:8-1:8 ScalarOperator | $.x[?(@[*]>=$.y[*])] | ^ -o 1:7-1:8 FilterValue +o 1:7-1:8 DocumentValue | $.x[?(@[*]>=$.y[*])] | ^ o 1:7-1:8 UnaryFilterExpression @@ -305,6 +305,9 @@

| x 1:8-1:8 ScalarOperator | | $.x[?(@[*]>=$.y[*])] | | ^ +| o 1:7-1:8 DocumentValue +| | $.x[?(@[*]>=$.y[*])] +| | ^ | o 1:7-1:8 FilterValue | | $.x[?(@[*]>=$.y[*])] | | ^ @@ -325,7 +328,7 @@

| x 1:8-1:8 ScalarOperator | | $.x[?(@[*]>=$.y[*])] | | ^ -| o 1:7-1:8 FilterValue +| o 1:7-1:8 DocumentValue | | $.x[?(@[*]>=$.y[*])] | | ^ | o 1:7-1:8 UnaryFilterExpression @@ -340,6 +343,9 @@

| | x 1:8-1:8 ScalarOperator | | | $.x[?(@[*]>=$.y[*])] | | | ^ +| | o 1:7-1:8 DocumentValue +| | | $.x[?(@[*]>=$.y[*])] +| | | ^ | | o 1:7-1:8 FilterValue | | | $.x[?(@[*]>=$.y[*])] | | | ^ @@ -360,7 +366,7 @@

| | x 1:8-1:8 ScalarOperator | | | $.x[?(@[*]>=$.y[*])] | | | ^ -| | o 1:7-1:8 FilterValue +| | o 1:7-1:8 DocumentValue | | | $.x[?(@[*]>=$.y[*])] | | | ^ | | o 1:7-1:8 UnaryFilterExpression @@ -375,6 +381,9 @@

| | | x 1:8-1:8 ScalarOperator | | | | $.x[?(@[*]>=$.y[*])] | | | | ^ +| | | o 1:7-1:8 DocumentValue +| | | | $.x[?(@[*]>=$.y[*])] +| | | | ^ | | | o 1:7-1:8 FilterValue | | | | $.x[?(@[*]>=$.y[*])] | | | | ^ diff --git a/docs/results/filter_expression_with_subfilter.html b/docs/results/filter_expression_with_subfilter.html index f34be97a1..fc87b9591 100644 --- a/docs/results/filter_expression_with_subfilter.html +++ b/docs/results/filter_expression_with_subfilter.html @@ -569,7 +569,7 @@

x 1:8-1:8 ScalarOperator | $[?(@.a[?(@.price>10)])] | ^ -o 1:5-1:8 FilterValue +o 1:5-1:8 DocumentValue | $[?(@.a[?(@.price>10)])] | ^^^ o 1:5-1:8 UnaryFilterExpression @@ -584,6 +584,9 @@

| x 1:8-1:8 ScalarOperator | | $[?(@.a[?(@.price>10)])] | | ^ +| o 1:5-1:8 DocumentValue +| | $[?(@.a[?(@.price>10)])] +| | ^^^ | o 1:5-1:8 FilterValue | | $[?(@.a[?(@.price>10)])] | | ^^^ @@ -604,7 +607,7 @@

| x 1:8-1:8 ScalarOperator | | $[?(@.a[?(@.price>10)])] | | ^ -| o 1:5-1:8 FilterValue +| o 1:5-1:8 DocumentValue | | $[?(@.a[?(@.price>10)])] | | ^^^ | o 1:5-1:8 UnaryFilterExpression @@ -619,6 +622,9 @@

| | x 1:8-1:8 ScalarOperator | | | $[?(@.a[?(@.price>10)])] | | | ^ +| | o 1:5-1:8 DocumentValue +| | | $[?(@.a[?(@.price>10)])] +| | | ^^^ | | o 1:5-1:8 FilterValue | | | $[?(@.a[?(@.price>10)])] | | | ^^^ @@ -639,7 +645,7 @@

| | x 1:8-1:8 ScalarOperator | | | $[?(@.a[?(@.price>10)])] | | | ^ -| | o 1:5-1:8 FilterValue +| | o 1:5-1:8 DocumentValue | | | $[?(@.a[?(@.price>10)])] | | | ^^^ | | o 1:5-1:8 UnaryFilterExpression @@ -654,6 +660,9 @@

| | | x 1:8-1:8 ScalarOperator | | | | $[?(@.a[?(@.price>10)])] | | | | ^ +| | | o 1:5-1:8 DocumentValue +| | | | $[?(@.a[?(@.price>10)])] +| | | | ^^^ | | | o 1:5-1:8 FilterValue | | | | $[?(@.a[?(@.price>10)])] | | | | ^^^ diff --git a/docs/results/filter_expression_with_triple_equal.html b/docs/results/filter_expression_with_triple_equal.html index 749369099..e5b31cc32 100644 --- a/docs/results/filter_expression_with_triple_equal.html +++ b/docs/results/filter_expression_with_triple_equal.html @@ -326,15 +326,20 @@

Not supported

-
x 1:12-1:12 IntegerPart
-| $[?(@.key===42)]
-|            ^
-x 1:12-1:12 Number
-| $[?(@.key===42)]
-|            ^
-x 1:12-1:12 SimpleValue
+
x 1:12-1:12 DocumentValue
 | $[?(@.key===42)]
 |            ^
+| x 1:12-1:12 IntegerPart
+| | $[?(@.key===42)]
+| |            ^
+| x 1:12-1:12 Number
+| | $[?(@.key===42)]
+| |            ^
+| x 1:12-1:12 SimpleValue
+| | $[?(@.key===42)]
+| |            ^
+| | 
+|/  
 x 1:12-1:12 FilterValue
 | $[?(@.key===42)]
 |            ^
@@ -344,15 +349,20 @@ 

x 1:5-1:5 LogicalOr | $[?(@.key===42)] | ^ -| x 1:12-1:12 IntegerPart -| | $[?(@.key===42)] -| | ^ -| x 1:12-1:12 Number -| | $[?(@.key===42)] -| | ^ -| x 1:12-1:12 SimpleValue +| x 1:12-1:12 DocumentValue | | $[?(@.key===42)] | | ^ +| | x 1:12-1:12 IntegerPart +| | | $[?(@.key===42)] +| | | ^ +| | x 1:12-1:12 Number +| | | $[?(@.key===42)] +| | | ^ +| | x 1:12-1:12 SimpleValue +| | | $[?(@.key===42)] +| | | ^ +| | | +| |/ | x 1:12-1:12 FilterValue | | $[?(@.key===42)] | | ^ @@ -362,15 +372,20 @@

| x 1:5-1:5 LogicalAnd | | $[?(@.key===42)] | | ^ -| | x 1:12-1:12 IntegerPart -| | | $[?(@.key===42)] -| | | ^ -| | x 1:12-1:12 Number -| | | $[?(@.key===42)] -| | | ^ -| | x 1:12-1:12 SimpleValue +| | x 1:12-1:12 DocumentValue | | | $[?(@.key===42)] | | | ^ +| | | x 1:12-1:12 IntegerPart +| | | | $[?(@.key===42)] +| | | | ^ +| | | x 1:12-1:12 Number +| | | | $[?(@.key===42)] +| | | | ^ +| | | x 1:12-1:12 SimpleValue +| | | | $[?(@.key===42)] +| | | | ^ +| | | | +| | |/ | | x 1:12-1:12 FilterValue | | | $[?(@.key===42)] | | | ^ diff --git a/docs/results/filter_expression_with_value_false.html b/docs/results/filter_expression_with_value_false.html index 721ad0851..5759c0ede 100644 --- a/docs/results/filter_expression_with_value_false.html +++ b/docs/results/filter_expression_with_value_false.html @@ -310,19 +310,54 @@

Proposal (A)

-
[
-  1,
-  3,
-  "nice",
-  true,
-  null,
-  false,
-  {},
-  [],
-  -1,
-  0,
-  ""
-]
+

Not supported

+ +
x 1:10-1:10 ComparisonOperator
+| $[?(false)]
+|          ^
+x 1:5-1:5 HigherPrecedenceFilterExpression
+| $[?(false)]
+|     ^
+| x 1:10-1:10 ComparisonOperator
+| | $[?(false)]
+| |          ^
+| x 1:5-1:5 HigherPrecedenceFilterExpression
+| | $[?(false)]
+| |     ^
+| x 1:5-1:5 LogicalOr
+| | $[?(false)]
+| |     ^
+| | x 1:10-1:10 ComparisonOperator
+| | | $[?(false)]
+| | |          ^
+| | x 1:5-1:5 HigherPrecedenceFilterExpression
+| | | $[?(false)]
+| | |     ^
+| | x 1:5-1:5 LogicalAnd
+| | | $[?(false)]
+| | |     ^
+| | | 
+|/ /  
+| | 
+|/  
+x 1:5-1:5 FilterExpression
+| $[?(false)]
+|     ^
+x 1:3-1:3 BracketElement
+| $[?(false)]
+|   ^
+x 1:3-1:3 BracketElements
+| $[?(false)]
+|   ^
+x 1:2-1:2 BracketChildren
+| $[?(false)]
+|  ^
+x 1:2-1:2 Operator
+| $[?(false)]
+|  ^
+o 1:1-1:2 Start
+  $[?(false)]
+  ^
 

Errors

diff --git a/docs/results/filter_expression_with_value_null.html b/docs/results/filter_expression_with_value_null.html index 0c1a89aa0..b108e9093 100644 --- a/docs/results/filter_expression_with_value_null.html +++ b/docs/results/filter_expression_with_value_null.html @@ -320,19 +320,54 @@

Proposal (A)

-
[
-  1,
-  3,
-  "nice",
-  true,
-  null,
-  false,
-  {},
-  [],
-  -1,
-  0,
-  ""
-]
+

Not supported

+ +
x 1:9-1:9 ComparisonOperator
+| $[?(null)]
+|         ^
+x 1:5-1:5 HigherPrecedenceFilterExpression
+| $[?(null)]
+|     ^
+| x 1:9-1:9 ComparisonOperator
+| | $[?(null)]
+| |         ^
+| x 1:5-1:5 HigherPrecedenceFilterExpression
+| | $[?(null)]
+| |     ^
+| x 1:5-1:5 LogicalOr
+| | $[?(null)]
+| |     ^
+| | x 1:9-1:9 ComparisonOperator
+| | | $[?(null)]
+| | |         ^
+| | x 1:5-1:5 HigherPrecedenceFilterExpression
+| | | $[?(null)]
+| | |     ^
+| | x 1:5-1:5 LogicalAnd
+| | | $[?(null)]
+| | |     ^
+| | | 
+|/ /  
+| | 
+|/  
+x 1:5-1:5 FilterExpression
+| $[?(null)]
+|     ^
+x 1:3-1:3 BracketElement
+| $[?(null)]
+|   ^
+x 1:3-1:3 BracketElements
+| $[?(null)]
+|   ^
+x 1:2-1:2 BracketChildren
+| $[?(null)]
+|  ^
+x 1:2-1:2 Operator
+| $[?(null)]
+|  ^
+o 1:1-1:2 Start
+  $[?(null)]
+  ^
 

Errors

diff --git a/docs/results/filter_expression_with_value_true.html b/docs/results/filter_expression_with_value_true.html index 273cf9e8b..2d1b2eba0 100644 --- a/docs/results/filter_expression_with_value_true.html +++ b/docs/results/filter_expression_with_value_true.html @@ -456,19 +456,54 @@

Proposal (A)

-
[
-  1,
-  3,
-  "nice",
-  true,
-  null,
-  false,
-  {},
-  [],
-  -1,
-  0,
-  ""
-]
+

Not supported

+ +
x 1:9-1:9 ComparisonOperator
+| $[?(true)]
+|         ^
+x 1:5-1:5 HigherPrecedenceFilterExpression
+| $[?(true)]
+|     ^
+| x 1:9-1:9 ComparisonOperator
+| | $[?(true)]
+| |         ^
+| x 1:5-1:5 HigherPrecedenceFilterExpression
+| | $[?(true)]
+| |     ^
+| x 1:5-1:5 LogicalOr
+| | $[?(true)]
+| |     ^
+| | x 1:9-1:9 ComparisonOperator
+| | | $[?(true)]
+| | |         ^
+| | x 1:5-1:5 HigherPrecedenceFilterExpression
+| | | $[?(true)]
+| | |     ^
+| | x 1:5-1:5 LogicalAnd
+| | | $[?(true)]
+| | |     ^
+| | | 
+|/ /  
+| | 
+|/  
+x 1:5-1:5 FilterExpression
+| $[?(true)]
+|     ^
+x 1:3-1:3 BracketElement
+| $[?(true)]
+|   ^
+x 1:3-1:3 BracketElements
+| $[?(true)]
+|   ^
+x 1:2-1:2 BracketChildren
+| $[?(true)]
+|  ^
+x 1:2-1:2 Operator
+| $[?(true)]
+|  ^
+o 1:1-1:2 Start
+  $[?(true)]
+  ^
 

Errors

diff --git a/proposals/Proposal_A/selector.peg b/proposals/Proposal_A/selector.peg index 8bc71e544..e5952695b 100644 --- a/proposals/Proposal_A/selector.peg +++ b/proposals/Proposal_A/selector.peg @@ -55,7 +55,7 @@ HigherPrecedenceFilterExpression / UnaryFilterExpression UnaryFilterExpression - = value:FilterValue { return ["hasValue", ["value", value]]; } + = value:DocumentValue { return ["hasValue", ["value", value]]; } / "!" ws expression:UnaryFilterExpression { return ["not", ["expression", expression]]; } / "(" ws expression:FilterExpression ws ")" { return expression; } @@ -68,9 +68,12 @@ ComparisonOperator / ">" { return "greaterThan"; } FilterValue + = constant:SimpleValue { return ["constant", constant]; } + / DocumentValue + +DocumentValue = "@" operators:ScalarOperator* { return ["current", operators]; } / "$" operators:ScalarOperator* { return ["root", operators]; } - / constant:SimpleValue { return ["constant", constant]; } ScalarOperator = "." childName:DotChildName { return ['children', [['name', childName]]]; } diff --git a/proposals/Proposal_A/test_suite.yaml b/proposals/Proposal_A/test_suite.yaml index c2259c279..33f852e55 100644 --- a/proposals/Proposal_A/test_suite.yaml +++ b/proposals/Proposal_A/test_suite.yaml @@ -762,15 +762,15 @@ queries: - id: filter_expression_with_value_false selector: "$[?(false)]" document: [1, 3, "nice", true, null, false, {}, [], -1, 0, ""] - consensus: [1, 3, "nice", true, null, false, {}, [], -1, 0, ""] + consensus: NOT_SUPPORTED - id: filter_expression_with_value_null selector: "$[?(null)]" document: [1, 3, "nice", true, null, false, {}, [], -1, 0, ""] - consensus: [1, 3, "nice", true, null, false, {}, [], -1, 0, ""] + consensus: NOT_SUPPORTED - id: filter_expression_with_value_true selector: "$[?(true)]" document: [1, 3, "nice", true, null, false, {}, [], -1, 0, ""] - consensus: [1, 3, "nice", true, null, false, {}, [], -1, 0, ""] + consensus: NOT_SUPPORTED - id: filter_expression_without_parens selector: "$[?@.key==42]" document: [{"key": 0}, {"key": 42}, {"key": -1}, {"key": 1}, {"key": 41}, {"key": 43}, {"key": 42.0001}, {"key": 41.9999}, {"key": 100}, {"key": "some"}, {"key": "42"}, {"key": null}, {"key": 420}, {"key": ""}, {"key": {}}, {"key": []}, {"key": [42]}, {"key": {"key": 42}}, {"key": {"some": 42}}, {"some": "value"}]