SCNU编译原理2024年1月

华南师范大学SCNU编译原理2024年1月期末卷

华南师范大学 人工智能学院 2023-2024 学年 第(1)学期《编译原理》A卷

一、基础知识题 (15分)

判断文法是否正确,若不正确请改正文法.

RERE+RERERERERERE/RE(RE)RE\rightarrow RE+RE|RE-RE|RE*RE|RE/RE|(RE)

二、正则表达式->DFA分析题 (15分)

程序题∶nfa转dfa中,写出求闭包的程序代码.(实验二内容)

三、自顶向下分析设计题 (18分)

程序题∶写出求follow集的程序代码及相关存储结构,
设first集已得.(实验四内容)

四、LR分析题 (18分)

编译程序时常遇到识别前后括号问题,
例如…{…}…(…{…[…]…}…)…{…[…]…}…,
写出其文法,并判断文法是否为SLR(1)文法.

五、语义分析题 (18分)

输入二进制输出十进制, 如110.01=6.25, 写出识别二进制的文法,和二进制转十进制的属性文法.

六、综合分析设计 (16分)

写出识别正则表达式的文法,
符号包括连接、选择’|‘、 重复’*’ 、闭包’+’ 、括号’( )',
然后写生成语法树的递归分析程序.