编译原理第一章分析.ppt

1.5高级语言编译与解释 运行高级语言的程序,主要有两个途径:第一个途径是把该程序翻译为这个计算机的指令代码序列,这就是我们已经描述的编译过程。第二个途径是编写一个程序,它解释所遇到的高级语言程序中的语句并且完成这些语句的动作,这样的程序就叫解释程序。 从功能上说,一个解释程序能让计算机执行高级语言。它与编译程序的主要不同是它不生成目标代码,它每遇到一个语句,就要对这个语句进行分析以决定语句的含义,执行相应的动作。 编译系统生成的目标代码由计算机执行才能生成结果。使用编译系统时会区分编译阶段和运行阶段,编译阶段对源程序进行编译,运行阶段是指目标程序的运行(类似于英语的笔译)。 而解释系统则是边解释边执行(类似于英语的口译)。 1.5高级语言编译与解释 从存储组织来看,在编译阶段,存储区一般要有源程序缓冲区,目标代码缓冲区,名字表以及编译程序使用的源程序中间表示和各种表格等等。在运行阶段,存储区只有目标代码和数据区了。对解释系统来说,在它工作的自始至终,存储区中要有源程序,名字表,标号表等表格,输入输出缓冲区以及数据区等等... 1.5高级语言编译与解释 源程序缓冲区 名字表 目标代码缓冲区 编译程序用中间表示及各种表格 目标代码区 数据区 解释系统 源程序 工作单元及名字表 标号表 缓冲区(输入输出) 栈区 编译阶段和运行阶段的存贮区内容 编译阶段 运行阶段 解释程序的存贮区

文档评论(0)

1亿VIP精品文档

相关文档