Up 1.6.2.1 逆ポーランド記法算術式言語  


 “逆ポーランド記法算術式言語(RPA)”は,文生成システム(NV,TV,P,S)としてつぎのように定式化できる。
(1)
NV={A,T,U,B,R,S}
TV=
  ここで
={a,b,c,・・・・,z,1}
={′,!,〜 }(註1)
={+,−,×,÷,^}(註2)
={=,<,>}

(2)
P:S→TTR
T→TU
T→TTB
T→A
A→φ (φ∈
U→φ (φ∈
B→φ (φ∈
R→φ (φ∈

 S,A,T,U,B,Rの読みは,それぞれ“式(Sentence)",“原始項(Atomic-term)",“項(Term)",“単項関数(Uni-term-function)",“二項関数(Binary-term-function)",“二項関係(binary-term-Relation)”である。は,それぞれA,U,B,Rの読みで使われる記号の集合である。

 規則 S→TTRは,式を生成するためのものである(註3)
 規則 T→TU,T→TTB,T→Aは,項を生成するためのものである(註4)
 規則 {A→φ|φ∈}は,数項(原始項)を定めるためのものである(註5)

 なお,プロダクションの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
〈単項関数〉::=′|!|〜
〈二項関数〉::=+|−|×|÷|^
〈二項関係〉::==|<|>




(註1) ′は“後者”を対応させる関数。!は階乗,そして〜はマイナス記号(減算の−と区別するためにこのように表わしておく)。

(註2) ^は,巾乗の記号。

(註3) 意味するところは,
  1. 項φ,ψと二項関係Rに対するφψRは式;
  2. 上の規則によって生成される記号列のみが式.
(註4) 意味するところは,
  1. 原子項は項;
  2. 項φと単項関数fに対するφfは項;
  3. 項φ,ψと二項関数fに対するφψfは項;
  4. 上の(1)-(3)によって生成される記号列のみが項.
(註5) 意味するところは,
  1. a,b,・・・・,z,1 は原子項;
  2. これのみが原子項.