summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArun Prakash Jana <engineerarun@gmail.com>2018-10-03 22:26:25 +0530
committerArun Prakash Jana <engineerarun@gmail.com>2018-10-03 22:26:25 +0530
commit784e4a479b1b50b2c029be9e42add946ae640e98 (patch)
treef6c1ca099359d06b07c33c7c1563c8e156431300
parent4f2e09026556fa779d032463833fc3e85e773de3 (diff)
Honour associativity of operators
-rw-r--r--src/bcal.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/bcal.c b/src/bcal.c
index e4fdf20..cceaeeb 100644
--- a/src/bcal.c
+++ b/src/bcal.c
@@ -1243,18 +1243,21 @@ error:
return 0;
}
-static int priority(char sign) /* Get the priority of operators */
+/* Get the priority of operators.
+ * Higher priority, higher value.
+ */
+static int priority(char sign) /* Get the priority of operators, higher priprity */
{
switch (sign) {
case '|': return 1;
case '^': return 2;
case '&': return 3;
case '>': return 4;
- case '<': return 5;
- case '-': return 6;
- case '+': return 7;
- case '*': return 8;
- case '/': return 9;
+ case '<': return 4;
+ case '-': return 5;
+ case '+': return 5;
+ case '/': return 6;
+ case '*': return 6;
}
return 0;