


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、简要解释编译程序中的遍(趟)的含义。就是对源程序或者源程序的中间结果从头到尾扫描一次,并作有关的加工处理,生成新的中间结果和目标程序.通常,每遍的工作有外存上获得的前一遍的中间结果开始,完成它所含的有关工作之后,再把结果记录于外存.既可以将几个不同阶段合为一遍,也可以把一个阶段的工作分为若干遍。2、何为“标识符”?何为“名字”?两者的区别是什么?在程序设计语言中,标识符是一个最基本的概念,其定义为:凡以字母开头的字母数字序列(有限个字符)都是标识符。当给予某标识符以确切的含义时,这个标识符就叫做名字。程序语言中各种名字都是用标识符表示的,只是标识符是一个没有意义的字符序列 ,而名字却有着确切的意义和属性。3、简述为什么自顶向下的语法分析技术不能处理具有左递归的文法?这是由于在自顶向下的语法分析技术中,要解决的问题是根据当前输入符号判断将栈顶(最左)的非终结符号替换成哪条规则的右部,若文法具有左递归,则在分析过程中,无法判断出替换的规则,造成无穷递归求解的过程。4、简述编译程序的工作过程编译程序的工作过程,是指从输入源程序开始到输出目标程序为止的整个过程,是非常复杂的,就其过程而言,一般可以划分为五个工作阶段:词法分析,对构成源程序的字符串进行扫描和分解,识别出一个个的单词;语法分析,根据语言的语法规则,把单词符号串分解成各类语法单位;语义分析与中间代码产生,即对各类语法单位,分析其汉一并进行初步翻译;代码优化,以期产生更高效的代码;目标代码生成,把中间代码变换成特定机器上的低级语言指令形式。5、什么是语法制导翻译?是指在语法规则的制导下,通过计算语义规则,完成对输入符号的翻译。 由于使用属性文法时把语法规则和语义规则分开,但在使用语法规则进行推导或归约的同时又使用这些语义规则来指导翻译与最终产生目标代码,所以称为语法制导翻译。6、请简要阐述高级程序设计语言参数传递的常用方式1、传值:计算实参并将其右值传递给被调用过程 2、传地址:调用过程将实参地址传递给被调用过程 3、传值结果:将传值和传地址两种方式结合 4、传名:只有在被调用过程中用到形参时才动态的建立起它与实参的联系7、什么是自展?什么是交叉编译?自展过程就是用低级语言先实现一个简单的编译器,然后用这个编译器的语言再去编写一个更高级的编译器这个新编译器是旧编译器的扩展的过程。编译器的运行环境与产生程序的运行环境不同的编译过程叫做交叉编译8、计算机执行用高级语言编写的程序有哪些途径?其主要区别是什么?解释和编译。解释不生成目标代码。9、自顶向下的语法分析方法中需要解决的主要问题?如何表示?主要需要解决回溯与左递归。回溯:匹配多个候选式无法快速匹配;左递归:推导过程无休止。解决:提取公共左因子、消除直接及间接左递归。翻译程序:能够把某种语言转换成另一种语言,而后者与前者在逻辑上是等价的。语义分析与中间代码产生:对语义分析所识别出的各类语法范畴,分析其含义并进行初步翻译(产生中间代码)编译程序结构:表格管理、出错处理编译前端:由与源语言有关但与目标语言无关的那些部分组成,包括词法分析、语义分析、语义分析与中间代码产生。后端:编译程序中与目标语言有关那些部分,优化与目标代码生成。后端不依赖于源语言而仅仅依赖于中间语言。词法规则是指单词符号的形成规则。语言的语法规则规定了如何从单词符号形成更大的结构(语法单位)。二义性:如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是二义的。LL(1)的含义:第一个L表示从左到右扫描输入串,第二个L表示最左推导,1表示分析时每一步只需向前查看一个符号自上而下分析的问题:文法含有左递归时,分析过程会陷入无限循环回溯浪费分析时间某一非终结符用某一候选式匹配成功时,可能是暂时的分析不成功时,难以找到出错位置自下而上分析的问题:怎样判断栈顶的符号串的可归约性,以及如何归约。一个句型的最左直接短语称为该句型的句柄。在形式语言中最右推导常被称为规范推导,由规范推导所得的句型称为规范句型,如果文法无二义的,那么规范推导(最右推导)的逆过程必是规范归约(最左归约) 输入串-语法树-依赖图-语义规则计算次序最左规约=规范规约:A最右推导=规范推导:B短语:子树的末端结点形成的符号串短语相对的句型:整个树的末端结点简单子树:只有一层分支的子树简单短语(直接短语):简单子树的末端结点形成的符号串句柄:最左直接短语素短语:是个短语,并且至少含有一个终结符,并且,除它自身之外不再含任何更小的素短语例题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 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 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 为例
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年教育产业并购整合策略与教育投资并购投资前景研究报告001
- 2025年天然气水合物开采技术地质风险防控策略研究预研报告
- 江西省“红色十校”2025-2026学年高三上学期第一次联考语文试题(含答案)
- 信息科个人年终工作总结(19篇)
- 河北省唐山市玉田县孤树镇方官屯中心小学2024-2025学年五年级下学期3月月考(1-2单元)数学试题
- 2025年第28届中小学学校“推普周”活动总结:以语言为桥 共筑中华民族共同体-
- 应力应变试验培训课件
- 2025年房地产行业投资策略分析报告:恒大碧桂园
- 岩石力学许明课件
- 输电六防课件
- 培训学校前台工作
- 2025年建筑工程类注册安全工程师安全生产专业实务(金属非金属矿山安全)-安全生产专业实务(金属非金属矿山安全)参考题库含答案解析(5卷)
- 2025年全国高考(新课标)政治真题卷含答案解析
- 2025年度情侣分手预防协议书下载中心
- 2025年高考数学试题分类汇编:立体几何试卷+解析
- 吸附及吸附过程课件
- 羽毛球运动基础知识简介课件
- 设计美学研究课件
- 部编版七年级上册语文《雨的四季》课件(定稿;校级公开课)
- 自动控制原理全套ppt课件(完整版)
- 归园田居优质课一等奖课件
评论
0/150
提交评论