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]-]=