compiler1 - 1 编译原理 上海交通大学 张冬茉...

Info icon This preview shows pages 1–8. Sign up to view the full content.

View Full Document Right Arrow Icon
1 编译原理 上海交通大学 张冬茉 Email:[email protected] 2005 2
Image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
2 课程目的 编译原理是计算机专业设置的一 门重要的专业课程。虽然只有少 数人从事编译方面的工作,但是 这门课在理论、技术、方法上都 对学生提供了系统而有效的训练 ,有利于提高软件人员的素质和 能力。
Image of page 2
3 第一章 §1.1 编译程序是一种特定的翻译程序 基本概念 : 翻译( translation )和翻译程序 (translator) :描述算法的 语言可有很多种,将一种语言写的程序转换成另一种语言写 的程序,这就是翻译( translation ),实现这种功能的程序 便是翻译程序 (translator) ,显然翻译前的程序与翻译后的 程序两者应等价。 计算( computing ):描述 " 计算 " computing )过程通 常借助于一种程序设计语言,这种 " 计算 " 过程包含了从初 始状态转变为终止状态的一系列的操作。 语言 : 交流的工具 语言的分类 : 自然语言和人工语言
Image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
4 源程序 (source code) 和目标程序 (object code) :翻译前 的程序为源语言程序,简称源程序 (source code) ,翻译后 的程序为目标语言程序,简称目标程序 (object code) 汇编程序:将可直接执行的机器语言的指令系统符号化 ,这便是汇编语言,当然汇编语言程序也必须转换成机 器语言程序才能执行,这种转换程序便是汇编程序 (asse mbly program) 。汇编程序也是一种翻译程序。 编译程序 (compiler) :将高级语言程序翻译成低级语言 程序,这种翻译程序,便是编译程序 (compiler) 。显然 编译程序是翻译程序中的一类。 解释程序 (interpreter) :解释执行是将源程序中的语句 按动态顺序,逐句逐段翻译成可执行代码,一旦具备执 行条件 ( 获得必要的初始数据等 ) 立即将这一段代码执行 得到部分结果。完成这样功能的程序称为解释程序 (inter preter)
Image of page 4
5 源程序 S (以高级语言写) 目标程序 T (以机器语言写) 计算机 编译程序 C 编译阶段 初始数据 计算结果 计算机 目标程序 T 运行阶段 运行系统 1.1 程序的编译执行 目标程序 T’ (以汇编语言写) 目标程序 T (以机器语言写) 计算机 汇编程序 A 1.2 汇编阶段 源程序 S (以高级语言写) 计算结果 计算机 解释程序 I 1.3 程序的解释执行 初始数据
Image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
6 如果我们把源程序记为 S ,目标程序记为 T ,编译程 序记为 C ,那么可以将编译看成一个函数 , 一种映射 : T=C(S)
Image of page 6
7 §1.2 编译程序的结构 编译程序将源程序变换成目标程序,这是个复杂的过程,通 常分成五个阶段和两个附加部分: 一、词法分析阶段 对组成源程序的字符串进行扫描和识别,识别出一个个 具独立意义的单词 ( 或称符号 ) ,如基本字 (if, for, begin )
Image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 8
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern