]> git.ipfire.org Git - thirdparty/jinja.git/commitdiff
Add support for "not in"/"notin" to grammar/parser
authorKevin <kevin@kevin-brown.com>
Tue, 12 May 2020 02:01:15 +0000 (22:01 -0400)
committerKevin <kevin@kevin-brown.com>
Tue, 12 May 2020 02:25:16 +0000 (22:25 -0400)
grammar.ebnf

index 9a6db39b87e74ea1d8423f387b33a447f428f194..7d6ed2e9a5208e785b31f041865c34e71addcd30 100644 (file)
@@ -242,6 +242,16 @@ conditional_expression_logical
     ;\r
 \r
 conditional_expression_operator\r
+    =\r
+    conditional_expression_operator_in\r
+    | (\r
+        left:variable_identifier\r
+        {SP}* operator:conditional_expression_operator_operations {SP}*\r
+        right:variable_identifier\r
+    )\r
+    ;\r
+\r
+conditional_expression_operator_in\r
     =\r
     | (\r
         "not"\r
@@ -251,7 +261,12 @@ conditional_expression_operator
     )\r
     | (\r
         left:variable_identifier\r
-        {SP}* operator:conditional_expression_operator_operations {SP}*\r
+        {SP}+\r
+        (\r
+            | ( "not" {SP}* "in" operator:`"notin"` )\r
+            | operator:"in"\r
+        )\r
+        {SP}+\r
         right:variable_identifier\r
     )\r
     ;\r
@@ -276,7 +291,6 @@ conditional_expression_operator_operations
     | ">="\r
     | "<"\r
     | "<="\r
-    | ( @:"in" SP )\r
     ;\r
 \r
 variable_tests_logical_operator\r