编译原理——大学计算机专业课程要点

编译原理——大学计算机专业课程要点

ID:41055260

大小:169.00 KB

页数:9页

时间:2019-08-15

编译原理——大学计算机专业课程要点_第1页
编译原理——大学计算机专业课程要点_第2页
编译原理——大学计算机专业课程要点_第3页
编译原理——大学计算机专业课程要点_第4页
编译原理——大学计算机专业课程要点_第5页
资源描述:

《编译原理——大学计算机专业课程要点》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、编译原理复习资料ATSA892010-6-24第一章编译系统概述1.编译程序的工作过程㈠词法分析执行词法分析任务的程序称为词法分析器。任务:字符串形式的单词à编码形式的单词内部码(二元式)依据:语言的构词规则㈡语法分析执行语法分析任务的程序称为语法分析器。任务:检查源程序的语法结构是否正确依据:语言的语法规则㈢语义分析执行语义分析任务的程序称为语义分析器或中间代码产生器。任务:建立符号表和常数表,记录源程序中标识符属性和常数值,根据语言的语义规定生成中间代码。依据:语言的语义内涵㈣目标代码生成执行目标代码生成的程序称为目标代码生成器。任务:中间代码à目标代码(机器指令或汇编

2、语言)依据:目标机器的系统结构2.编译程序与解释程序①源程序:用程序设计语言书写的程序②源语言:源程序设计语言③翻译程序:将源程序译成逻辑上等价的目标程序的程序④目标语言:机器语言(二进制数),也可以是汇编语言⑤目标程序:经翻译程序加工后用目标语言表示的程序⑥编译程序:也叫编译系统,是把用高级语言编写的面向过程的源程序翻译成目标程序的语言处理程序。⑦解释程序:对源程序的加工过程是边解释边执行3.符号表符号表用于记录源程序中出现的标识符(Identifier),一个标识符往往具有一系列的语义值,它包括标识符的名称、标识符的种属、标识符的类型、标识符值的存放地址等等。每个标识符

3、在符号表中有一项记录,用于记录标识符的各种语义值,而在四元式中填写的是标识符在符号表中的记录地址,通常称为符号表入口4.编译程序可以发现源程序的错误类型错误类型词法错误(可在词法分析阶段发现)语法错误(可在语法分析阶段发现)语义错误(可在语义分析阶段发现)出错处理一旦发现错误,暂停编译程序工作,指出错误的地点和类型。在发现错误后,不中断编译程序工作。采取某些措施,使得源程序的编译工作可继续下去,尽可能发现源程序中比较多的错误㈠编译程序前端组成:词法分析器、语法分析器和中间代码产生器特点:依赖于被编译的源语言,输出结果用中间代码描述,和目标机器无关。㈡编译程序后端组成:目标代

4、码生成器特点:和源语言无关,以中间代码形式的源程序为输入进行处理,输出结果依赖于目标机器。9编译原理复习资料ATSA892010-6-24第二章词法分析1.词法分析器:执行词法分析任务的程序2.单词类型及二元式编码:㈠单词类型基本字、标识符、常数、运算符、界符㈡单词的性质l个数确定和不确定l单字符或多字符构成㈢单词二元式编码经词法分析后,单词用二元式(code,val)表示。lcode表示单词的种别,用整数码表示,在语法分析时使用;单词的语法特性。lval表示单词的值,在本书中用字符串表示,在语义分析时使用;单词语义特性。㈣编码原则通常将标识符归为一种,常数按类型分种,基本

5、字、运算符及界符采用一符一种。3.预处理工作的主要内容:①删除注释②删除续行符,以及后续换行符(0AH)。③换行符、TAB和空格具有界符作用,预处理时通常予以保留④大多数语言(除C语言)不区分大小写,可在预处理时,将大写字母变换成小写字母,或相反,以方便后续处理。⑤对于受书写格式限制的语言,还应识别标号区,正确给出语句标号4.遍:由外存获得前一遍的工作结果(对于第一遍而言,从外存获得源程序),完成它所含的有关阶段工作之后,再把结果存于外存。5.正规集:是程序设计语言单词集的抽象6.正规式:是程序设计语言构词规则的抽象;二个正规式是相等的,当且仅当二个正规式所表示的正规集是相

6、等的;7.构造正规式的非确定有限自动机一个非确定的有限自动机M是一个五元式M=(S,Σ,f,S0,Z)lS是一个有限集,它的每一个元素称为状态。lΣ是一个有穷字母表,它的每个元素称为一个输入字符。lf是一个从S×Σ*到S的子集映照,即,f:S×Σ*→2S(多值函数)2S表示幂集,若S={0,1},则2S={{},{0},{1},{0,1}}。lS0S,是一个非空初态集,即NFA的初态不一定唯一。lZS,是一个终态集。9编译原理复习资料ATSA892010-6-241.非确定有限自动机的确定化一个非确定的有限自动机M是一个五元式M=(S,Σ,f,S0,Z)lS是一个有限集

7、,它的每一个元素称为状态。lΣ是一个有穷字母表,它的每个元素称为一个输入字符。lf是一个从S×Σ*到S的子集映照,即,f:S×Σ*→2S(多值函数)2S表示幂集,若S={0,1},则2S={{},{0},{1},{0,1}}。lS0S,是一个非空初态集,即NFA的初态不一定唯一。lZS,是一个终态集。2.正规式与确定有限自动机的等价性对于Σ上的每个正规式V,存在一个Σ上的确定有限自动机M,便得L(V)=L(M)。㈠VàNFA①将V表示成拓广NFA②根据三条规则对V进行分裂,直至每条弧上的标记为Σ上的一个字符或ε

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

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

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