算术
语法
exp = "IF" conjunct "THEN" exp "ELSE" exp;
sum = term (
'+ sum /
'- sum /
-empty);
term = factor (
'* term /
'/ term /
'(up arrow symbol) term /
.empty);
factor = '- factor / bitop;
bitop = compliment (
'/' bitop /
'/'\ bitop /
'& bitop / (
.empty);
compliment = "--" primary / primary;
(symbol for up arrow) 表示取模,而 /\ 表示异或。
注意,一元负号是允许的,其解析方式使你能够写出 x*-y。
由于按位运算符没有标准约定,它们都具有相同的优先级,必须使用括号进行分组。
Compliment 是 l 的补码。
假定所有算术和位运算都以运行代码的机器的模式和风格进行。任何利用字长、二进制补码算术等的人最终都会遇到问题。