《编译原理》-《编译考研辅导教程》习题记录

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

前言

第一章

第二章

第三章

第四章

第五章

第六章

第七章

总结


前言

针对《编译考研辅导教程》习题做出的习题归纳。作为个人习题记录方便复习,同时也希望对你有所帮助,内容较为草率,如有谬误敬请谅解。


第一章

记住五个阶段以及各个阶段大概的作用。 

第二章






算符优先性的判断:画树,下面的优先级高。

第三章


十六进制也包含正负 


 删除空格是错的,应该是将多个空格替换成一个而不是删除


注意描述的格式



 


别的问题:

什么是正规式?什么又是正规集?

什么是DFA?什么又是NFA? 


 

过程:根据正规式的分裂法则进行分裂->写表,注意空字串会传递->写状态转换矩阵->去掉不可区分的(可以根据矩阵看出来)->画图


 分清正规式和正规文法


 

利用分裂法画出正规式的NFA->由NFA写出状态转换矩阵->删掉不可区分的->画图 

第四章



 求first集和follow集之前先消除左递归


follow集的求法一定要注意。


 注意间接左递归的判定即可。





 

 左递归和公共左因子的后果




 

 通过这个题学会预测分析法。

此外,在求first/follow集时,推荐下面的格式:


 

 

预测分析表求法:算first和follow集,填坐标,横轴上没有空串

第五章


素短语:1.是短语。 2.至少有一个终结符。 3.不含更短的素短语。


LL(1)文法需消除左递归后再进行下一步判断。


句柄:最左边直接子树从左往右的叶子排列。

直接子树:高度为一,只有直接后继。

直接短语:直接子树的叶子(一次性能推出)。






 

 

 写项目集族->由项目集族写分析表(LR(0))->根据相应的方法写SLR(1)的分析表(要求Follow集)->根据条件判断LR(0)和SLR(1)

根据这一道题搞懂LR(0)、SLR(1)


 

 

1.Follow集和First集的求法,关键是掌握它们俩的含义就好理解了

2.关于分析表:

LR(0):归约的写一行

SLR(1):归约的只在Follow集对应列里面写

LR(1):写项目集时要写向前搜索符,向前搜索符不同便属于不同的项目,向前搜索符只看·后面的,向前搜索符是沿箭头继承而非沿序号继承,不用合并同心集,判断分析表是否有多重入口,若有便不是LR(1)。

LALR(1):合并同心集,项目框便只用写一个 ,若合并之后的分析表里有多重入口,便不是LALR(1)。(合并同心集之后还有归约归约冲突,便只是LR(1)文法)。


 

 

 

 

第六章




 




注意四元式的最后一个


问题:

循环的没动手做过 


 

问题:

文法的判断方法

素短语、句柄的判断

算符优先文法的判断

LL(1)和SLR(1)的判断方法背不下来。 

LL:first集之间无交集,推出空,则first=follow

SLR:follow与归约的终结符无交集


第七章

三种策略需作区分

A静

B堆式动态

C栈式动态





总结

12.17作于复习电科2022级编译原理考试用,内容偏个人向。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值