- 10
- 0
- 约4.06千字
- 约 8页
- 2017-01-07 发布于浙江
- 举报
一、简答题(共15分。)
通过合并LR(1)文法中的同心状态得到的LALR(1)文法可能会产生哪些冲突?一定不会产生哪些冲突?为什么?(5分)
答:可能会产生归约-归约冲突,一定不会产生移进-归约冲突。
因为在对LR(1)合并同心集合时,有可能将原本没有冲突的同心集的项目集合并后造成一些归约项目向前搜索符集合的交集不是空,产生归约-归约冲突。但是由于文法本身已经是LR(1)文法,因此可知,在项目集中一定不存在移进-归约冲突,也就是移进项目要求输入的终结符和任意归约项目的向前搜索符集合的交集都是空集。这样,在将同心集合并之后,移进项目要求输入的终结符和归约项目的向前搜索符集合的交集也还是空集。
如果在A机器上我们有C语言编译器CCA,也有它的源码SA(用C语言写成)。如何利用它通过尽量少的工作来得到B机器的C语言编译器CCB。(5分)
答:A机器上C语言编译器CCA的结构如下:
其源码SA结构如下:
首先,用C语言编写一个从C语言到B机器语言的编译器,成为SB,其结构如下:
第二步,将这个编译器放到CCA中进行编译,得到用A机器语言编写的,将C语言编译成B机器代码的编译器,其过程和结构如下:
第三步,再将SB放入新得到的这个编译器中去编译,就得到了要求的编译器CCB,其过程和结构如下:
Pascal语言允许过程嵌套声明,C语言的过程声明不能嵌套。在Pascal程序中,数据分为局部数据、非局部数据,而C程序中,数据分为局部数据和全局数据。因此,C程序执行时只用到了控制链(动态链),不需要使用访问链(静态链)。试根据前面的已知说明,为什么Pascal程序执行时需要使用访问链,而c程序不需要。(5分)
答:由于C语言不允许嵌套的过程声明,因此所有的非局部名字都可以静态地绑定到所分配的存储单元,因此,可以不使用访问链。而Pascal语言允许过程的嵌套,并使用静态作用域,确定用于名字的声明需要根据过程的嵌套层次来决定。和C语言不同的是,Pascal语言的非局部名字不一定就是全局的。运行时访问非局部名字的时候,我们首先要确定该非局部名字被绑定到的活动记录,因此就必须要用到访问链。
二、简单计算题(共25分)
令文法G[E]为
E→T | E+T | E-T
T→F | T*F | T/F
F→(E) | i
(1) 证明E+T*F是它的一个句型,指出这个句型的所有短语、直接短语和句柄。
(2) 给出i+i*i、i*(i+i)的最左推导和最右推导;(10分)
答:(1)E=E+T=E+T*F,其短语有:T*F,E+T*F;直接短语是T*F,句柄是T*F
(2) i+i*i的最左推导: 最右推导
E =E+T E =E+T
=T+T =E+T*F
=F+T =E+T*i
=i+T =E+F*i
=i+T*F =E+i*i
=i+F*F =T+i*i
=i+i*F =F+i*i
=i+i*i =i+i*i
i*(i+i)的最左推导: 最右推导
E =T E =T
=T*F =T*F
=F*F =T*(E)
=i*F =T*(E+T)
=i*(E) =T*(E+F)
=i*(E+T) =T*(E+i)
=i*(T+T) =T*(T+i)
=i*(F+T) =T*(F+i)
=i*(i+T) =T*(i+i)
=i*(i+F) =F*(i+i)
=i*(i+i) =i*(i+i)
已知语言写出相应的文法:(6分)
已知语言L={WaWr | W 属于(0 | a)*,Wr表示W的逆},试构造相应的上下文无关文法。
已知语言L={1n0m1m0n | m0, n=0},试构造相应的上下文无关文法。
已知语言L={ anbnambm | m=0, n0},试构造相应的上下文无关文法
答:
(1) 文法为:({S},{0,a},P,S),其中P为S→0S0 | aSa | a
(2)文法为:({A,S},{0,1},P,S),其中P为
S→1S0 | A
A→0A1 | 01
(2)文法为:({A,B,S},{a,b},P,S),其中P为
S→AB
A→aAb | ab
B→aBb | ε
构造一个NFA,
接受字母表{a,b}上的正规式(ab|a)*b+描
您可能关注的文档
- (辅修2011)刑法总则.ppt
- 《艾滋病的传播、诊断及职业性感染的预防》.pptx
- 《编译原理引论教学资料》2011答案.doc
- 《编译原理引论教学资料》Part1引论.ppt
- 《编译原理引论教学资料》Part2高级语言及其语法描述.ppt
- 《编译原理引论教学资料》Part3词法分析1.ppt
- 《编译原理引论教学资料》Part3词法分析2.ppt
- 《编译原理引论教学资料》Part3词法分析3.ppt
- 《编译原理引论教学资料》Part4自顶向下的语法分析.ppt
- 《编译原理引论教学资料》Part5自底向上的语法分析.ppt
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
原创力文档

文档评论(0)