您现在的位置:首页 > >

编译原理第1章 概述

发布时间:

主讲人:蔡琼 主讲人:

第0章

前言

一,本课程的研究内容: 主要研究:设计和构造编译程序的基 本原理和基本方法 二,编译原理在软件设计中的应用 1,将一种语言翻译成另一种语言 2,编译理论比较成熟,是软件中发展最成 熟的一个分支,已形成一套系统化理论 和方法,学会程序设计技巧和算法.

三,课程要求: 1,要用"循环"的观点来学习这门课程. 2,学习思考中用"对比"方法,尽量理解 其中的道理. 3,不得缺席:难学,自学花时间多 4,适当做笔记 5,意见反馈 6,作业:一定要独立完成

四,学时安排及评分标准 讲课42学时 12学时上机(词法,语法) 要交实验报告 考试占70% 平时占30%,{ 作业,考勤,实验} 只讲授部分章节

五,参考书 [1]吕映芝著,编译原理,清华大学出版社 [2]陈火旺,钱家骅,孙永强著,编译原理 国防科技大学出版社 [3]杜淑敏著,编译程序设计原理,北京航空 航天大学出版社 [4]Aho ,编译原理技术工具(英文),1986 [5]形式语言与自动机理论(研究生教材)

第一章引论
1.1 什么是编译程序 编译程序是一种翻译程序,它将高级 语言所写的程序翻译成等价的机器语言 或汇编语言的目标程序.
源 程 序 编 译 程 序 目 标 程 序 汇 编 程 序
初始数据

机器代码程序

结果

运行系统

1.2 编译过程和编译程序的结构
错误检查和处理程序 词 法 分 析
单词 符号

源程序

语 法 分 析

语法树

语 义 分 析 和 中 间 代 码 产 生

中间 代码

代 码 优 化

优化 中间 代码

目 标 代 码 生 成

目标 程序

信息表管理程序

例如: Program circle ; Var r , l : real ; Begin r:=10; l:=2*3.1416*r; End

一,词法分析:对构成源 词法分析: 程序的字符串从左到 右进行扫描和分解, 并根据语言的词法规 则识别出 识别出一个个具有 识别出 独立意义的单词符号. 语法分析: 二,语法分析:在词法分 析的基础上,根据语 法规则,从单词符号 串中识别出 识别出各种语法 识别出 成分,同时进行语法 检查,检查各种语法 (56个字符组成字符串) 成分在语法结构上的 (词法:24个单词符号) 正确性. (下划线:5个单词组成表达式)

三. 语义分析:根据语法成 四. 代码优化:对代码进行 语义分析: 代码优化: 分的结构,分析其含义, 等价变化,其目的是获 并用一种内部形式(中 得高效(速度快,容量 间代码)或直接用目标 小)的目标程序.(主 语言表示出来. 要方面有:提取公共子 表达式,循环优化,删 例如:以下赋值语句 除无用代码等等) l:=2*3.1416*r ; 的四元式为: ( * , 2, 3.1416, T1 ) ( * , T1 , r , T2 ) (:= , T2 , , l )
虽然表达方式不同,但语义等价

五. 目标代码生成:根据中 目标代码生成: 间代码和其它有关信息, 按照机器的具体指令格 式生成相应的目标程序.

六 . 错误检查和处理程 序:好的编译程序应 具有广泛的查错能力 和一定的"纠错"能 力,并能准确的报告 错误的种类和发生错 误的地点. 信息表管理程序: 七 . 信息表管理程序: 合理的组织编译程序 中的各种表格,并恰 当的选用相应的造表 算法,是提高编译程 序工作效率的有效途 径

1.3 编译程序的生成 一,基本方法 1. 对源程序文本进行 认真分析(语法语 义理解) 2. 设计编译算法(前后 端,遍,算法等) 3. 选择语言,编制程序 4. 调试编译程序(测试) 5. 整理资料,形成文本

二.移植:将别的语言的编译移植过来 三. 自展:L0→L1+L0 →L2+L1+L0 → … →L 四. 编译程序的自动生成 1. 词法分析程序生成器----LEX 2. 语法分析程序生成器----YACC 3. 自动产生编译程序的工具 编译程序-编译程序 编译程序产生器 翻译程序脚本系统
随着并行技术和并行语言的发展,处理并行语言的并行 编译技术和将串行程序转换成并行程序的自动并行编译技术 正在深入研究之中.

1.4 编译技术在软件开发中的应用
例如,设计词法分析器的串匹配技术已 用于正文编辑器,信息检索系统和模式识别 正文编辑器, 正文编辑器 程序; 程序; 上下文无关文法和语法制导定义已用 于创建诸如排版,绘图系统 排版, 排版 绘图系统和语言结构化编 辑器中,代码优化技术已用于程序验证器 程序验证器和 程序验证器 从非结构化的程序产生结构化程序的编程之 中.

本章小结 编译程序是一种翻译程序,它将高 词法分析,语法分析,语义分析和 编译程序
级语言所写的源程序翻译成等价的 中间代码生成,代码优化,目标代 机器语言或汇编语言的目标程序. 码生成

什么是编译程序 编译过程的五个阶段 编译程序的结构框图

本章小结
错误检查和处理程序 词 法 分 析
单词 符号

源程序

语 法 分 析

语法树

语 义 分 析 和 中 间 代 码 产 生

中间 代码

代 码 优 化

优化 中间 代码

目 标 代 码 生 成

目标 程序

信息表管理程序



热文推荐
猜你喜欢
友情链接: 幼儿教育 小学教案 初中教案 高中教案 职业教育 成人教育