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 @@
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"}]