下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上1、简要解释编译程序中的遍(趟)的含义。就是对源程序或者源程序的中间结果从头到尾扫描一次,并作有关的加工处理,生成新的中间结果和目标程序.通常,每遍的工作有外存上获得的前一遍的中间结果开始,完成它所含的有关工作之后,再把结果记录于外存.既可以将几个不同阶段合为一遍,也可以把一个阶段的工作分为若干遍。2、何为“标识符”?何为“名字”?两者的区别是什么?在程序设计语言中,标识符是一个最基本的概念,其定义为:凡以字母开头的字母数字序列(有限个字符)都是标识符。当给予某标识符以确切的含义时,这个标识符就叫做名字。程序语言中各种名字都是用标识符表示的,只是标识符是一个没有意义的
2、字符序列 ,而名字却有着确切的意义和属性。3、简述为什么自顶向下的语法分析技术不能处理具有左递归的文法?这是由于在自顶向下的语法分析技术中,要解决的问题是根据当前输入符号判断将栈顶(最左)的非终结符号替换成哪条规则的右部,若文法具有左递归,则在分析过程中,无法判断出替换的规则,造成无穷递归求解的过程。4、简述编译程序的工作过程编译程序的工作过程,是指从输入源程序开始到输出目标程序为止的整个过程,是非常复杂的,就其过程而言,一般可以划分为五个工作阶段:词法分析,对构成源程序的字符串进行扫描和分解,识别出一个个的单词;语法分析,根据语言的语法规则,把单词符号串分解成各类语法单位;语义分析与中间代码
3、产生,即对各类语法单位,分析其汉一并进行初步翻译;代码优化,以期产生更高效的代码;目标代码生成,把中间代码变换成特定机器上的低级语言指令形式。5、什么是语法制导翻译?是指在语法规则的制导下,通过计算语义规则,完成对输入符号的翻译。 由于使用属性文法时把语法规则和语义规则分开,但在使用语法规则进行推导或归约的同时又使用这些语义规则来指导翻译与最终产生目标代码,所以称为语法制导翻译。6、请简要阐述高级程序设计语言参数传递的常用方式1、传值:计算实参并将其右值传递给被调用过程 2、传地址:调用过程将实参地址传递给被调用过程 3、传值结果:将传值和传地址两种方式结合 4、传名:只有在被调用过程中用到形
4、参时才动态的建立起它与实参的联系7、什么是自展?什么是交叉编译?自展过程就是用低级语言先实现一个简单的编译器,然后用这个编译器的语言再去编写一个更高级的编译器这个新编译器是旧编译器的扩展的过程。编译器的运行环境与产生程序的运行环境不同的编译过程叫做交叉编译8、计算机执行用高级语言编写的程序有哪些途径?其主要区别是什么?解释和编译。解释不生成目标代码。9、自顶向下的语法分析方法中需要解决的主要问题?如何表示?主要需要解决回溯与左递归。回溯:匹配多个候选式无法快速匹配;左递归:推导过程无休止。解决:提取公共左因子、消除直接及间接左递归。翻译程序:能够把某种语言转换成另一种语言,而后者与前者在逻辑上
5、是等价的。语义分析与中间代码产生:对语义分析所识别出的各类语法范畴,分析其含义并进行初步翻译(产生中间代码)编译程序结构:表格管理、出错处理编译前端:由与源语言有关但与目标语言无关的那些部分组成,包括词法分析、语义分析、语义分析与中间代码产生。后端:编译程序中与目标语言有关那些部分,优化与目标代码生成。后端不依赖于源语言而仅仅依赖于中间语言。词法规则是指单词符号的形成规则。语言的语法规则规定了如何从单词符号形成更大的结构(语法单位)。二义性:如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是二义的。LL(1)的含义:第一个L表示从左到右扫描输入串,第二个L表示最左推导,1表示分析时每
6、一步只需向前查看一个符号自上而下分析的问题:文法含有左递归时,分析过程会陷入无限循环回溯浪费分析时间某一非终结符用某一候选式匹配成功时,可能是暂时的分析不成功时,难以找到出错位置自下而上分析的问题:怎样判断栈顶的符号串的可归约性,以及如何归约。一个句型的最左直接短语称为该句型的句柄。在形式语言中最右推导常被称为规范推导,由规范推导所得的句型称为规范句型,如果文法无二义的,那么规范推导(最右推导)的逆过程必是规范归约(最左归约) 输入串-语法树-依赖图-语义规则计算次序最左规约=规范规约:A最右推导=规范推导:B短语:子树的末端结点形成的符号串短语相对的句型:整个树的末端结点简单子树:只有一层分
7、支的子树简单短语(直接短语):简单子树的末端结点形成的符号串句柄:最左直接短语素短语:是个短语,并且至少含有一个终结符,并且,除它自身之外不再含任何更小的素短语例题1、构造下面文法的LL(1)分析表。D TL T int | real L id R R , id R | FIRST(D)=FIRST(T)=int, real FOLLOW(D)=FOLLOW(L)=#FIRST(L)=id FOLLOW(T)=idFIRST(R)=,, FOLLOW(R)=#注意当 FIRST(X)含还需要看FOLLOW(X)非终结符输入符号int realid,#DDTLDTLTTintTrealLLid
8、RRR,id RR 例题2、已知文法: AaAa|(1)该文法是LL(1)文法吗?为什么?(2)若采用LL(1)方法进行语法分析,如何得到该文法的LL(1)分析表?(3)若输入符号串“aaaa”,请给出语法分析过程。1、不是,因为产生式AaAa| 有空产生式右部,而FOLLOW(A)=#FIRST(a)=a, #造成 FIRST(A)FOLLOW(A)=A, a, #Ø2、修改文法为 AaaA|FOLLOW(A)=#FOLLOW(A)=#,因而FIRST(A)FOLLOW(A)=a, #=Ø3、步骤分析栈输入串产生式/动作1#Aa a a a #AaaA2#A a aa a
9、 a a #匹配3#A aa a a #匹配4#Aa a #AaaA5#A a aa a #匹配6#A aa#匹配7#A#A8#接受例题3、例7文法G的产生式如下: S (L) | a L L , S | S试写出一个语法制导定义,它输出配对括号个数为S、L引入属性h,代表配对括号个数。语法制导定义如下:产生式 语义规则S (L) S.h:=L.h+1S a S.h:=0L L1 , S L.h:=L1.h+S.hL S L.h:=S.hSS print(S.h)例题4、SaS|bS|a(1)构造该文法的LR(0)项目集规范族(2)构造识别该文法所产生的活前缀的DFA。(3)构造其SLR分析表,并判断该文法是否是SLR(1)文法。1将文法G(S)拓广为G(S):SSSaSSbSSa2 3 注意到状态I1存在“移进-归纳”冲突,计算S的FOLLOW集合: FOLLOW(S)=#可以采用SLR冲突消解法,得到表5.1所列的SLR分析表。从分析表可以看出,表中没有冲突项,所以该文法是SLR(1)文法。移进归约冲突的解决以 I1 为例:可移进 S->a·S 也可归约
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宠物寄养服务公司商业秘密保护管理制度
- 人音版(五线谱)五年级下册采花教案设计
- 活动一 我们要入队教学设计-2025-2026学年小学综合实践活动一年级下册沪科黔科版
- 人教A版 (2019)必修 第二册6.4 平面向量的应用第2课时教学设计及反思
- 玻璃雨棚施工方案
- 2026年卫生高级职称考试(传染性疾病控制)历年参考题库含答案详解
- 顶管安全专项施工方案
- 2025外科主治医师考试预测题及答案
- 人教版 (2019)选择性必修3第三章 烃的衍生物第五节 有机合成教案
- 企业社会责任实践分析-洞察与解读
- 2025中数联物流科技(上海)有限公司招聘笔试历年参考题库附带答案详解
- 广东省惠州市2025届高三化学下学期一模试题【含答案】
- GB/T 20165-2025稀土抛光粉
- 公司部门优化方案(3篇)
- 惠州低空经济
- 病例演讲比赛评分标准
- 学堂在线 唐宋词鉴赏 期末考试答案
- 中国移动集成公司招聘笔试题库2025
- 2024年贵州高考思想政治试卷试题及答案解析(精校打印)
- 土壤有机碳分布规律及其空间与垂向特征的解析研究
- T/CCS 055-2023燃煤电厂碳捕集-驱替采油工程项目全流程成本核算指南
评论
0/150
提交评论