欢迎来到天天文库
浏览记录
ID:51245306
大小:34.52 KB
页数:2页
时间:2020-03-10
《编译原理各章习题(补充1).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、3.简答题:至少使用两种不同的形式表示法描述由7/9的一切精度的近似值组成的集合。方法(1)S→0.AA→7A
2、7方法(2)S→0.7
3、S7方法(3)0.7+16.简答题:语法分析器的输入、必要的输出及主要的任务是什么?输入是词法分析器的结果、单词或单词的序列。必要的输出是语法单位、语法出错信息,包括错误的位置和错误的性质等。主要任务是检查形式语法错误,即检查语法结构错误。8.问答题:LL(1)分析法和递归子程序分析法在方法上有何异同?性能上各有何优缺点?方法上的相同点:在方法上同属于自上而下的基于推导的分析算法,对文法的要求也是相同的,在处理方法上都不含回溯。方法上的不
4、同点:LL(1)分析法使用一个堆栈,存放当前由识别符出发所得字符串中尚未匹配字串的最左部分,若第一个符号是非终结符X,下一步将根据输入符号a在LL(1)分析表M(X,a)的指示,进行X的推导,若第一个符号是终结符,则实施与当前输入符号的匹配,该方法不要求编译实现的语言工具中含有递归功能;递归子程序分析法为每个非终结符编写一段文法分析子程序,它和该语法符号的短语相对应,主程序调用识别符子程序,通过逐个扫描输入串中的符号,以决定子程序中流程的转向(匹配或子程序调用),实际上就是选择预测短语,该方法要求编译实现的语言工具中含有递归功能。性能上:第一,LL(1)分析法不用递归手段
5、,所以具有较高的处理效率,分析速度较快,而递归子程序分析法使用递归手段;第二,LL(1)分析法的总控程序适用于任何一个LL(1)文法的分析,不同的文法只是分析表不同而已,所以LL(1)分析法的总控程序具有较高的通用性,而递归子程序分析法对于不同的文法必须编制各自不同的子程序,不具备通用性。
此文档下载收益归作者所有