語法樹
我們可以用適當(dāng)?shù)淖侄螌?shí)例來實(shí)現(xiàn)語法樹的節(jié)點(diǎn)。每一個實(shí)例都會有一個op字段,是節(jié)點(diǎn)的標(biāo)簽。實(shí)例還有一些其它的字段,如下:
1.如果是一個葉子節(jié)點(diǎn),那么它還有一個存放語法值的字段。Leaf(op,val)構(gòu)造函數(shù)可以創(chuàng)建一個葉子實(shí)例?;蛘哒f,如果有一個標(biāo)記節(jié)點(diǎn),那么Leaf返回的是一個新的標(biāo)記葉子節(jié)點(diǎn)的指針。
2.如果是一個內(nèi)部節(jié)點(diǎn),那么在語法樹中節(jié)點(diǎn)的其它字段和子節(jié)點(diǎn)的個數(shù)一樣多。Node構(gòu)造函數(shù)有倆個或倆個以上的參數(shù):Node(op,c1,c2,...,ck),這個函數(shù)可以創(chuàng)建一個對象,這個對象的第一個字段為op和k的節(jié)點(diǎn)c的其它字段。

