![](https://lstatic.shangxueba.com/sxbzda/h5/images/m_q_title.png)
对于翻译模式 R → addop T {[图].i:= mknode(addop.le...
对于翻译模式 R → addop T {.i:= mknode(addop.lexme, R.i, T.nptr)}
{R.s:=
.s} R→ e {R.s:=R.i} 编写R的翻译子程序如下: function R (in:↑AST_node): ↑AST_node; var nptr, i1,s1,s: ↑AST_node; addoplexeme: char; begin if sym=addop then begin addoplexeme:=lexval; advance; nptr:=T; i1:=mknode (addoplexeme, in, nptr); s1:=R (i1) s:=s1 end else s:= in; return s end; 其中AST_node为抽象语法树(AST) 结点类型。关于该子程序实现,下列说法正确的是
A、函数R的返回结果是指向抽象语法树结点的指针,指向翻译得到的抽象语法树的根结点。
B、R的继承属性i实现为函数的形式参数in。
C、如果R与e匹配,则该函数返回null值。
D、R的综合属性s实现为函数的返回值。
![](https://lstatic.shangxueba.com/sxbzda/h5/images/tips_org.png)