BNF記法
<英数字>::=<英字>|<数字>
<数字>::=0|1|2|…|7|8|9
<英字>::=a|b|c|…|x|y|z
BNF記法の記号
①”::(is defined as)"は、左辺と右辺の区切りを意味する。(右辺で左辺を定義する)。
②"|"は、「または(or)}を意味する。
③非終端記号は、"< >"でくくる(<数字>,<英維持>)。
④a,b,c…や0,1,2…,9を終端記号という。
再帰的定義
・「自分の定義に自分を用いる」
構文図
構文木
3つ組み
L1(*,2,3)
L2(*,4,7)
L3(+,L1,L2)
L4(-,L3,5)
L5(=,X,L4)
4つ組み
L1(*,2,3,EX1)
L2(*,4,7,EX2)
L3(+,EX1,EX2,EX3)
L4(-,EX3,5,EX4)
L5(=,EX4,φ,X)
逆ポーランド表記法
X=2*3+4*7-5
[X,(2*3+4*7-5)]=
[X,[(2*3+4*7),5]-]=
[X,[(2*3),(4*7)]+,5]-]=
[X,[[2,3]*,[4,7]*]+,5]-]=
X