【正文】
ocedure R。 begin if sym = addop then begin advance。 T。 R end else begin /* 什么也不做 */ end end。 圖 產(chǎn)生式 R ? addop TR | ? 的分析過程 function R (in :? ASTnode) :? ASTnode。 var nptr , i1, s1, s : ? ASTnode。 addoplexeme : char。 begin if sym = addop then begin /* 產(chǎn)生式 R ? addop T R */ addoplexeme := lexval。 advance。 nptr := T。 i1 := mknode(addoplexme, in , nptr) 。 s1 := R (i1)。 s : = s1 end else s := in。 /* 產(chǎn)生式 R ? ? */ return s end。 圖 遞歸下降構(gòu)造抽象語法樹 nptr: i1: s1: s : addoplexeme: addop (+|)