已知文法G[E]: E→cTd T→Eb|c
- 教育综合
- 2023-10-31 07:57:26
编译原理求解答案
编译原理是计算机软件专业中的非常重要一门课程。例如:如何把我们编写的高级语言源程序,翻译成机器可执行的目标程序,这个就需要用到编译原理技术。 但是学习编译原理这门课程时,是需要头脑中对编译原理课程中涉及到的所有概念必须是相当清楚的,别人才能够对你的这些问题进行准确的回答。而不是看到这些似曾亲切的内容就敢于回答你的内容的。 故我个人的建议还是:你可以向专门讲授编译原理的老师请教你的问题。 以上就是我很多年前学习编译原理的亲身体会。编译原理
E--(E)--(E+E)--(E*E+E)--(i*E+E)--(i*i+E)--(i*i+i)最左推倒如何消除二义性 编译原理
1、需要在语法设计时就要考虑了,即使是C/C++也存在二义性、不确定性的语法,对于这种情况,各编译器考虑的不同的方案,主要还是看你如何进行文法分析,可以选一种方便分析的一种去做。 2、要判断二义性的存在,可以尝试使用不同的优先顺序解释 假如解释出现歧义,那么一定存在二义性的语法(如经典的++运算) 3、要消除二义性,最简单可行的就是定义优先级,不过不一定适合所有情况。展开全文阅读