From f93d4f3363215aab3e2713be4b6d92900d932646 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Sat, 12 Jun 2021 20:46:15 -0700 Subject: [PATCH] more operator precedence --- tests/language/control/define.at | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/tests/language/control/define.at b/tests/language/control/define.at index 30fd080ba0..1f57851732 100644 --- a/tests/language/control/define.at +++ b/tests/language/control/define.at @@ -666,9 +666,14 @@ DEFINE !test_unary(!positional !tokens(1)) !if $3 !1 !then true !else false !ifend. !ENDDEFINE. -* This is ((not A) and B) or C. +* These are: + ((not A) and B) or C + not (A and B) or C + not A and (B or C) DEFINE !test_prec(!pos !tokens(1)/!pos !tokens(1)/!pos !tokens(1)) !if $3 !1 $1 !2 $2 !3 !then true !else false !ifend +!if $3 (!1 $1 !2) $2 !3 !then true !else false !ifend +!if $3 !1 $1 (!2 $2 !3) !then true !else false !ifend !ENDDEFINE. DEBUG EXPAND. @@ -695,15 +700,15 @@ true. false. -false -true -true -true +false true false +true true true +true true true +true true true -false -true -false -true +false true false +true true false +false false false +true true false ]) done AT_CLEANUP -- 2.30.2