Up 1.6.2.2 通例の算術式の生成システム  


 通例の算術式の生成は,つぎのように定式化される──但し,BNFの形式で示す:

〈関係式〉::= 〈開対象式〉〈関係記号〉〈開対象式〉
〈開対象式〉::= 〈開項〉
| 〈閉対象式〉
| 〈開対象式〉〈加減記号〉〈閉対象式〉
| 〈対称化記号〉(〈開対象式〉)
| (〈開対象式〉)′
| (〈開対象式〉)!
〈閉対象式〉::= 〈閉項〉
| 〈閉対象式〉〈加減関数〉〈閉対象式〉
| (〈対称化記号〉〈閉対象式〉)
| (〈閉対象式〉)′
| (〈閉対象式〉)!
〈開項〉::= 〈開因子〉
| 〈閉項〉
| 〈開項〉〈乗除関数〉〈閉項〉
| 〈対称化記号〉(〈開項〉)
| (〈開項〉)′
| (〈開項〉)!
〈閉項〉::= 〈閉因子〉
| 〈閉項〉〈乗除関数〉〈閉項〉
| (〈対称化記号〉〈閉項〉)
| (〈閉項〉)′
| (〈閉項〉)!
| (〈閉項〉)^(〈閉項〉)
| 〈閉因子〉^(〈閉項〉)
| (〈閉項〉)^〈閉因子〉
〈開因子〉::= 〈閉因子〉
| 〈対称化記号〉〈閉因子〉
〈閉因子〉::= 〈文字〉
| (〈対称化記号〉〈閉因子〉)
| (〈閉因子〉′)
| (〈閉因子〉!)
| (〈閉因子〉^〈閉因子〉)
〈文字〉::= a|b|c|d|e|f|g|h|i
| j|k|l| m|n|o|p|q|r
| s|t|u|v|w|x|y|z|1
〈対称化記号〉::= −
〈加減記号〉::= +|−|
〈乗除記号〉::= ×|÷|
〈関係記号〉::= =|<|>

 RPAにくらべて文法が複雑になるのは,演算子 ′,!,+,−,×,÷,^に関する“結合の強さ”の考え(註)を取り入れていることと,対称化記号と減算記号を兼用していることによる。



(註) 例えば,
    −(a^b)の意味で,−a^bを許す;
    a^(−b)の意味で,a^−bを許す;
    a^(b^c)の意味で,a^b^cを許す;
    (−a)+bの意味で,−a+bを許す;
しかしまた,
    +,−,×,÷,−の直後に−がくる記号列は許さない;
等々。