编译原理求解答案

一、请构造下面语言对应的文法
1. L={amcmdn|m≥0,n≥1}
2. L={0m1n|m≥0,n≥1}
二、正规式与正规文法之间转换
1. 求正规式R=(a|b)(a|b|0|1)*对应的正规文法
2. 求正规文法G[S]: S->aX|bY X->bS|b Y->aS|a对应的正规式
三、设文法G[S]: S®(A)|1S|1,A®A+S| S
1.消除左递归。
2.计算每个非终结符的FIRST和FOLLOW集合。
3.判断消除左递归后的文法是否为LL(1)文法。
四、已知算符文法G[S’] : S’→$S$
S →A(B)
B →B;C|C
C → S|i
A→i
1.计算文法G中每个非终结符FIRSTVT集合和LASTVT集合。
2.构造文法G的算符优先关系表。
五、已知文法G[E]: E→aA|bB A→cA|d B→cB|d
1.构造识别该文法的所产生的活前缀的DFA。
2.构造其LR分析表,该文法是LR(0)文法吗?请说明理由。
3.该文法是SLR(1)文法吗?若是,请构造它的SLR(1)分析表;若不是请说明理由。

编译原理是计算机软件专业中的非常重要一门课程。例如:如何把我们编写的高级语言源程序,翻译成机器可执行的目标程序,这个就需要用到编译原理技术。

但是学习编译原理这门课程时,是需要头脑中对编译原理课程中涉及到的所有概念必须是相当清楚的,别人才能够对你的这些问题进行准确的回答。而不是看到这些似曾亲切的内容就敢于回答你的内容的。
故我个人的建议还是:你可以向专门讲授编译原理的老师请教你的问题。
以上就是我很多年前学习编译原理的亲身体会。
温馨提示:内容为网友见解,仅供参考
第1个回答  2021-05-09

编译原理:计算机专业的一门重要专业课