\r
variable_accessor_call_parameter_value\r
=\r
- | variable_tests\r
+ | conditional_expression\r
| variable_identifier\r
;\r
\r
+conditional_expression\r
+ =\r
+ | conditional_expression_logical\r
+ | conditional_expression_comparator\r
+ | conditional_expression_test\r
+ ;\r
+\r
+conditional_expression_logical\r
+ =\r
+ left:conditional_expression\r
+ {SP}* logical_operator:variable_tests_logical_operator {SP}*\r
+ right:conditional_expression\r
+ ;\r
+\r
+conditional_expression_comparator\r
+ =\r
+ left:variable_identifier\r
+ {SP}* comparator:variable_tests_comparator {SP}*\r
+ right:variable_identifier\r
+ ;\r
+\r
+conditional_expression_test\r
+ =\r
+ test_variable:variable_identifier\r
+ {SP}* "is" {SP}*\r
+ test_function:variable_identifier\r
+ ;\r
+\r
variable_tests\r
=\r
- left:variable_identifier {SP}*\r
+ left:variable_tests {SP}*\r
(\r
+ | ( logical_operator:variable_tests_logical_operator {SP}* right:variable_tests )\r
+ | ( comparator:variable_tests_comparator {SP}* right:variable_tests )\r
| ( "is" {SP}* test_function:variable_accessor_call_parameter_value )\r
- | ( comparator:variable_tests_comparator {SP}* right:variable_accessor_call_parameter_value )\r
- | ( logical_operator:variable_tests_logical_operator {SP}* right:variable_accessor_call_parameter_value )\r
)\r
;\r
\r