《编译原理》复习要点.docx

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
考试安排:7月13日(20周周三),15:00-17:00,20208填空10X1分、选择10X2分、简答4X5分、大题5X10分考试大题:循环优化 LL(1).定义之类的 算符优先算法 …自下而上分析法(20分,选择、填空、大题)第一章 引论一.编译程序(compiler):把某一种高级语言程序等价地转换成另一种低级语言程序(如汇编语言或机器语言程序)的程序二.编译程序的工作的五个阶段:词法分析、语法分析、中间代码产生、优化、目标代码产生词法分析Pascal语言任务: 输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个单词符号。依循的原则:构词规则描述工具:有限自动机FOR I := 1 TO 100 DO保留字 标识符 等符 整常数 保留字 整常数 保留字语法分析任务:在词法分析的基础上,根据语言的语法规则把单词符号串分解成各类语法单位。依循的原则:语法规则述工具:上下文无关文法语义分析与中间代码产生任务:对各类不同语法范畴按语言的语义进行初步翻译。(变量是否定义、类型是否正确等)依循的原则:语义规则中间代码:三元式,四元式,逆波兰记号,树形结构等。是一种独立于具体硬件的记号系统。例:将Z:=X + 0.618 * Y 翻译成四元式为(1) * 0.618 Y T1(2) + X T1 T2(3) := T2 _ Z4. 优化任务:对于前阶段产生的中间代码进行加工变换,以期在最后阶段产生更高效的目标代码。依循的原则:程序的等价变换规则FOR K:=1 TO 100 DO BEGIN M := I + 10 * K; N := J + 10 * K; END目标代码产生任务: 把中间代码变换成特定机器上的目标代码。依赖于硬件系统结构和机器指令的含义目标代码三种形式:绝对指令代码: 可直接运行 可重新定位指令代码: 需要连接装配汇编指令代码: 需要进行汇编三. 编译程序结构编译程序总框 (简答题5分)第二章 高级语言及其语法描述2.1.1语法词法规则:单词符号的形成规则。单词符号是语言中具有独立意义的最基本结构。一般包括:常数、标识符、基本字、算符、界符等。描述工具:正规式和有限自动机语法规则:语法单位的形成规则。a) 语法单位通常包括:表达式、语句、分程序、过程、函数、程序等;描述工具:上下文无关文法2.1.2语义语义:一组规则,用它可以定义一个程序的意义。描述方法:自然语言描述:隐藏错误、二义性和不完整性形式描述: 无二义性完整性多数语言中,算符的优先顺序如下:乘幂(**或↑)优先级由高自低一元负(-)乘、除加、减不同的语言对算符优先级的规定有差异,甚至差异很大!关系符(,=,,=,=,)非(?,not)与(Λ,,and )或(?,|,or,)隐含(或imp)等值( 或epui,或~ ) 程序语言的语法描述1. 几个概念:考虑一个有穷 字母表∑ 字符集其中每一个元素称为一个字符∑上的字(也叫字符串) 是指由∑中的字符所构成的一个有穷序列不包含任何字符的序列称为空字,记为ε用∑*表示∑上的所有字的全体,包含空字ε例如: 设 ∑={a, b},则 ∑*={ε,a,b,aa,ab,ba,bb,aaa,...}∑*的子集U和V的连接(积)定义为UV={ b | U bV } 例如: 设:U={ a, aa } ,V= { b, bb } 那么:UV= { ab, abb, aab, aabb} V自身的 n次积记为Vn=VV…V规定V0={},令V*=V0∪V1∪V2∪V3∪… 称V*是V的闭包;记 V+=VV* ,称V+是V的正规闭包。例如: 设:U={ a, aa } 那么:U* = { , a, aa, aaa, aaaa, …} U+ = { a, aa, aaa, aaaa, …} 0型(短语文法,图灵机): 产生式形如: 其中: (VT VN)*且至少含有一个非终结符; (VT VN)* 任何0型语言都是递归可枚举的。1型(上下文有关文法,线性界限自动机): 产生式形如: 其中:|| ||,仅 S 例外。意味着对非终结符进行替换时务必考虑上下文,并且,一般不允许替换成空串 。2型(上下文无关文法,非确定下推自动机): 产生式形如: A 其中:A VN; (VT VN)*。非终结符的替换可以不必考虑上下文。3型(正规文法,有限自动机):右线性文法 产生式形如: A B 或 A 其中: VT*;A,BVN左线性文法 产生式形如: A B 或 A 其中: VT*;A,BVN正规文法的能力要比上下文

文档评论(0)

6952225 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档