赞
踩
学习总结:这一部分是编译原理的绪论部分内容,对编译程序的整体框架流程进行了介绍。内容均为概念,没有能够出大题的内容,个人认为考试前只需要对这些概念有一个基本的了解即可,而非将本章作为复习重点。
编译程序的地位:
编译程序的功能:从功能上看,一个编译程序就是一个语言翻译程序,把一种语言(源语言)书写的程序翻译成另一种语言(目标语言)的等价程序。但是其中的源语言是高级语言,目标语言是低级语言。
编译程序的重要性:编译程序使得多数计算机用户不必考虑与机器有关的繁琐细节,使得程序员独立于机器。
程序设计语言处理程序的典型流程:编译程序是程序设计语言处理程序的一部分。
编译过程的典型划分方法:
词法分析:
语法分析:
语义分析:
中间代码生成:
(运算符,运算对象1,运算对象2,结果)
。代码优化:代码优化阶段的任务是对前一个阶段产生的中间代码进行变换或改造,目的是使得生成的目标代码更加高效,也就是更加节约时间和空间。
目标代码生成:
备注:并非所有的编译程序都划分为这样几个阶段,有些编译程序并不需要生成中间代码,有些编译程序不进行优化。不过大多数编译程序都包含上述几个工作阶段。
编译程序的组成:
编译过程前端和后端的划分:有时候把编译过程分为前端和后端。
编译过程的遍数:
编译程序的问题:如果不把整个程序全部翻译完成之后,这个程序不能开始运行,也不会产生任何结果。
解释程序概述:解释程序接受某个语言的程序并立即运行这个程序。它的工作模式就是一个个的获取、分析并执行源程序语句,一旦一条语句分析阶数,源程序便开始运行并生成结果。解释程序允许执行时修改程序。
编译程序和解释程序的存储组织比较:
解释程序的缺点:程序的解释是非常慢的,并且解释程序需要更大的空间开销。
PL/0语言编译系统概述:
PL/0语言编译系统组成:PL/0语言编译程序由编译程序和解释程序两部分组成,分别称为PL/0编译程序和类P-code解释程序。当编译程序正常阶数时,PL/0语言编译系统会自动调用解释程序,解释执行生成的目标程序。
PL/0编译程序的书写:可以用C、Pascal或Java等语言书写。
PL/0语言概述:PL/0语言的程序结构很简单,是Pascal的一个子集。
程序语言的语法描述:程序语言的语法描述常常采用一种被称为扩展巴克斯范式(EBNF)的形式。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。