编译原理期末考试题汇总
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编译原理期末考试题汇总
一、名词解释:(2.5*4分,所有答案均写在答题纸上)
1、句子
2、编译程序
3、翻译程序
4、简单优先文法
5、算符优先文法
6、文法
7、句柄
8、语言二义性
9、最右推导 10、素短语
11、文法的二义性 12、规范推导 13、汇编程序 14、规范规约 15、算符文法16、语言
二、试写出下述语言的上下文无关文法(5*2分)
1、L1={ab n ab n-1|n≥1}
2、试给出不以0打头和结尾的正偶数集合的上下文无关文法.
3、L1={wcw R|wє(0|a)*, w R是W的反置},例如W=a000, w R=000a
4、L(G)={a2m b m│m≥1}
5、不以0打头的偶正整数集合
6、L2=写一个文法使其语言为奇数集,且每个奇数不以0开头。
7、L1={ a n b m c| n≥0,m>0 }
三、填空(1*12分)
1、编译程序的开发常常采用自展,自编译,移植,交叉编译技术。
2、编译过程划分为词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成六个阶段。
3、多数程序设计语言的词法都能用正规文法来描述,而语法则用上下文无关文法来描述。
4、编译程序各阶段的工作都涉及到表格管理,出错处理。
5、高级语言的语言处理程序分为编译程序和解释程序两种。编译程序有六个阶段,而解释程序通常缺少目标代码生成和代码优化。与编译系统相比,解释系统执行速度慢,占用内存多。
6、LL(1)分析法中,第一个L的含义是从左到右进行分析,第二个L的含义是每次进行最左推导,“1”的含义是向输入串中查看1个输入符号。
7、已知文法G(S):S→A0|B1,A→S1|1,B→S0|0,则由此文法产生的只含有四个符号的句子是 0101 , 1010 , 0110 , 1001 ,该文法是Chomsky的 3 型文法。
8、编译过程划分为词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成六个阶段,同时还伴有表格管理,出错处理两个过
程。
9、编译方式与解释方式的根本区别在于是否生成目标代码。
10、假定G是一个文法,S是它的开始符号。如果S⇒a,则称a是一个句型,仅含终结符的句型是一个句子。文法G所产生的句子的全体是该文法
描述的语言。
a。
11、语言集合L(G)={a n|n≥0}相应的正规表达式为 A=*
12、已知文法G[S]:S→aSb│ab│ξ,则该文法对应的语言为L(G)= {a n b n|n≥0}。
14、词法分析器主要是用于识别单词,语法分析器则可以发现源程序中的语法错误。
15、简单优先文法与算符优先文法的区别在于简单优先文法是规范规约,而算符优先文法不是。
16、乔姆斯基定义的四种形式语言文法分别为: 0 型文法, 1型文法(又称上下文无关文法), 2 型文法(又称上下文无关文法), 3 型文法(又称正规文法)。
17、文法G[S]:1、S→Ac│aB 2、A→ab 3、B→bc是型文法,其语言是L(G[S])={abc}。
18、在编译原理中,词法器的作用是输入源程序,输出单词符号。
19、语法分析最常用的两类方法是自上而下和自下而上分析法。
20、词法扫描器的任务是从源程序中识别出一个个单词符号。
21、分析句型时,应用算符优先分析技术时,每步被直接归约的是最左素短语,而应用LR分析技术时,每步被直接归约的是句柄。
23、词法分析程序的基本工作是从左至右逐个字符地对源程序进行扫描,产生一个个单词符号,把字符串形式的源程序改造成为单词符号串形式的中间程序,它的输入是源程序,输出是单词符号。