编译原理 有一语法制导翻译如下所示:

来源:互联网 发布:java输出回文数 编辑:程序博客网 时间:2024/04/29 08:12

京东2016实习生招聘 Java开发工程师
有一语法制导翻译如下所示:
S→bAb {print”1”} A→(B {print”2”} A→a {print”3”} B→Aa) {print”4”}
若输入序列为b(((aa)a)a)b,且采用自底向上的分析方法,则输出序列为

A 32224441
B 34242421
C 12424243
D 34442212

正确答案 : B


先采用自上而下的方式来构造其语法树时,如下:
                                  S                                / | \                               b  A  b          1    (((aa)a)a)                                 / \                                (   B           2    ((aa)a)a)                                   /|\                                  A a4    ((aa)a)                                 / \                                (   B           2    (aa)a)                                   /|\                                  A a )         4    (aa)                                 / \                                (  B           2    aa)                                   /|\                                  A a )         4    a                                  |                                  a             3    
题目要求采用的是自下而上的分析方式,则其输出序列为34242421
2 0