编译原理简答讲课教案.doc

编译原理简答讲课教案.doc

ID:57164366

大小:128.00 KB

页数:27页

时间:2020-08-05

编译原理简答讲课教案.doc_第1页
编译原理简答讲课教案.doc_第2页
编译原理简答讲课教案.doc_第3页
编译原理简答讲课教案.doc_第4页
编译原理简答讲课教案.doc_第5页
资源描述:

《编译原理简答讲课教案.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、编译原理简答精品文档1、给出算符优先文法的定义,算符优先表是否都存在对应的优先函数?给出优先函数的定义。设有一不含ε产生式的算符文法G,如果对任意两个终结符对a,b之间至多只有、和h三种关系的一种成立,则称G一个算符优先文法。算符优先关系表不一定存在对应的优先函数优先函数为文法字汇表中2、考虑文法G[T]:T→T*F

2、FF→F↑P

3、PP→(T)

4、i证明T*P↑(T*F)是该文法的一个句型,并指出直接短语和句柄。首先构造T*P↑(T*F)的语法树如图所示。句型T*P↑(T*F)的语法树由图可知,T*

5、P↑(T*F)是文法G[T]的一个句型。直接短语有两个,即P和T*F;句柄为P。收集于网络,如有侵权请联系管理员删除精品文档3、文法G[S]为:S→SdT

6、TT→T

7、GG→(S)

8、a试给出句型(SdG)

9、器语言代码;汇编语言程序;待装配的机器语言代码模块考虑的问题包括:每一个语法成分的语义;目标代码中需要哪些信息,怎样截取这些信息。5、符号表的作用是什么?符号表的查找的整理技术有哪几种?作用:登记源程序中出现的各种名字及其信息,以及编译各阶段的进展状况。主要技术:线性表,对折查找与二叉树,杂凑技术。1、实现高级语言程序的途径有哪几种?它们之间的区别?计算机执行用于高级语言编写的程序主要有两种途径:解释和编译。在解释方式下,翻译程序并不对高级语言进行彻底的翻译,而是读入一条语句,就解释其含义并执行,

10、然后再读入下一条语句,再执行。收集于网络,如有侵权请联系管理员删除精品文档在编译方式下,翻译程序先对高级语言进行彻底的翻译并生成目标代码,然后再对目标代码进行优化,即对源程序的处理是先翻译后执行。从速度上看,编译方式下,源程序的执行比解释方式下快,但在解释方式下,有利于程序的调试。2、文法G[S]为:S->Ac

11、aBA->abB->bc该文法是否为二义的?为什么?对于串abc(1)S=>Ac=>abc(2)S=>aB=>abc即存在两不同的最右推导所以,该文法是二义的。3、将文法G[S]改写为等价

12、的G'[S],使G'[S]不含左递归和左公共因子。  G[S]:S→SAe

13、Ae收集于网络,如有侵权请联系管理员删除精品文档     A→dAbA

14、dA

15、d文法G[S]改写为等价的不含左递归和左公共因子的G'[S]为:  S→AeS'  S'→AeS'

16、ε  A→dA'  A'→AB

17、ε  B→bA

18、ε4、证明LL(1)文法是无二义性文法证明:LL(1)文法中任意两个产生式Pi,Pj,(Pi,Pj具有相同的左部非终极符)        Predict(Pi)∩Predict(Pj)为空      

19、  设Pi:A→α1α2…αn        Pj:A→α11α21…αm1        (A∈VN,α1α2…αn,α11α21…αm1∈VN∪VT)        因为Predict(Pi)∩Predict(Pj)为空,因此Pi,Pj中的A经一步推导,        最左的终极符肯定不同,因此,对于一个字符串,不可能有两种方法推导。收集于网络,如有侵权请联系管理员删除精品文档5、文法G[S]为:S->Ac

20、aBA->abB->bc写出L(G[S])的全部元素S=>Ac=>abc或S=>aB=

21、>abc所以L(G[S])={abc}1、解释什么是推导?我们称αAβ直接推出αγβ,即αAβTαγβ,仅当A→γ是一个产生式,且α、β∈(VN∪VT)*。如果α1α2…αn,则我们称这个序列是从α1至α2的一个推导。若存在一个从α1αn的推导,则称α1可推导出αn。推导是归约的逆过程。2、将文法G[S]改写为等价的G′[S],使G′[S]不含左递归和左公共因子。  G[S]:S→bSAe

22、bA     A→Ab

23、d文法G[S]改写为等价的不含左递归和左公共因子的G'[S]为:  S→bB  B→

24、SAe

25、A  A→dA'  A'→bA'

26、ε收集于网络,如有侵权请联系管理员删除精品文档3、写出Pascal或C语言的字母表。pascal语言的字母表是:{0,1,……,9}∪{a,……,z}∪{A,……,Z}∪{+,-,*,/,,↑,?,?,_,(,),[,],;,:,=,<,>,',",Enter,Space,Tab}C语言的字母表是:_,0……9,a……z,A……Z,+,-,*,/,,%,(,),[,],.,&,

27、,!,=,#,{,},’,”,?,:,<,>,Enter,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。