作业一——编译原理概述
2019年9月3日 作业一——编译原理概述 1)简述编译程序与翻译程序、汇编程序的联系与区别。 ① 编译程序是现代计算机系统的基本组成部分之一,从功能上看,一个编译程序就是一个语言翻译程序。但是编译语言不等同于翻译语言,编译语言是源语言想Pascal或者C这样的高级语言,目标语言是像汇编语言或机器语言那样的低级语言,这样的翻译程序才叫做编译程序。 ② 翻译程序就是把一种语言(源语言)书写的程序翻译成另一种语言(目标语言)的等价程序。 ③ 汇编程序是一个翻译程序,它把汇编语言程序翻译成机器语言程序。 2)编译过程包括哪几个主要阶段及每个阶段的主要功能。 编译过程包括词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成6个阶段。 阶段 主要功能 ①词法分析 是编译过程的第一个阶段,是从左到右一个字符一个字符地读入源程序,对构成源程序地字符流进行扫描和分解,从而识别出一个个单词。 ②语法分析 是编译过程的第二个阶段,任务是在词法分析的基础上将单词序列分解成各类语法短语。这种语法短语也成为语法单位,可以表示成语法树。 ③语义分析 审查源程序有无语义错误,为代码生成阶段收集类型信息。 ④中间代码生成 将源程序变成一种内部表示形式,这种内部表示形式叫做中间语言或中间代码。所谓中间代码是一种结构简单、含义明确的记号系统,这种记号系统可以设计为多种多样的形式。