aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorChimrod <>2023-09-22 18:51:45 +0200
committerChimrod <>2023-09-22 18:51:45 +0200
commit557d60d5df5258a29ce964fac1f5ffdc625dcb2a (patch)
tree655f756fbbc2fa906eeef8d3f3a0af42af36c6f8 /test
parent1aaf8ae4d48bb9404b8faef2ba55024a6d6bac23 (diff)
Correction in precedence order
Diffstat (limited to 'test')
-rw-r--r--test/qsp_parser_test.ml20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/qsp_parser_test.ml b/test/qsp_parser_test.ml
index 4665737..ef19ed9 100644
--- a/test/qsp_parser_test.ml
+++ b/test/qsp_parser_test.ml
@@ -638,6 +638,25 @@ let test_precedence4 () =
let test_precedence5 () =
_test_instruction "clear()" Ast.[ Call (_position, "CLEAR", []) ]
+let test_precedence6 () =
+ _test_instruction "(1 = 0 and 2 ! 3)"
+ [
+ Ast.Expression
+ (Ast.BinaryOp
+ ( _position,
+ And,
+ Ast.BinaryOp
+ ( _position,
+ Eq,
+ Ast.Integer (_position, "1"),
+ Ast.Integer (_position, "0") ),
+ Ast.BinaryOp
+ ( _position,
+ Neq,
+ Ast.Integer (_position, "2"),
+ Ast.Integer (_position, "3") ) ));
+ ]
+
(** An identifier cannot start by a number *0 is a product and not an
identifier *)
let test_operator () =
@@ -719,6 +738,7 @@ let syntax =
Alcotest.test_case "Function rand" `Quick test_function2;
Alcotest.test_case "Precedence4" `Quick test_precedence4;
Alcotest.test_case "Precedence5" `Quick test_precedence5;
+ Alcotest.test_case "Precedence6" `Quick test_precedence6;
Alcotest.test_case "Operator" `Quick test_operator;
Alcotest.test_case "Operator2" `Quick test_operator2;
Alcotest.test_case "Dyneval" `Quick test_dyneval;