メインコンテンツまでスキップ

算術

構文​

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) はmodを意味し、/\ は排他的論理和を意味します。

単項マイナスが許容され、x*-y と書けるように構文解析されることに注意してください。

ビット演算子には標準的な慣習がないため、それらはすべて同じ優先順位を持ち、グループ化には括弧を使わなければなりません。

補数は1の補数です。

すべての算術演算とビット演算は、コードを実行しているマシンのモードと流儀で行われると仮定されます。ワード長や2の補数演算などを利用する者は、最終的に問題に直面するでしょう。