第一次作业
1)编译程序与翻译程序、汇编程序的联系与区别 编译程序是一类很重要的语言处理程序,它把高级语言(如FORTRAN、COBOL、Pascal、C等)源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机去执行这个目标程序,得到计算结果。编译程序工作时,先分析,后综合,从而得到目标程序。 翻译程序是指一个程序,它把一种语言所写的源程序翻译成与之等价的另一种语言的目标程序。解释程序也是一种翻译程序,它将源程序作为输入并执行它,边解释边执行。它与编译程序的主要区别在于在解释程序执行的过程中不产生目标程序,而是按照源语言的定义解释执行源程序本身。 汇编程序要一个翻译策程序,它把汇编语言程序翻译成机器语言程序。 2)编译过程包括哪几个主要阶段及每个阶段的主要功能。 编译程序划分为6个阶段,分别是词法分析、语法分析、中间代码生成、代码优化和目标生成。词法分析是编译过程的第一个阶段,是从左到右一个字符一个字符地读入源程序,对构成源程序的字符流行进行扫描和分解,从而识别一个个单词。语法分析是在词法分析的基础上将单词序列分解成各类语法短语,如:“程序”、“语句”、“表达式”等。语义分析是审查源程序有无语义错误,为代码生成阶段收集类型信息。中间代码生成是在进行了上述的语法分析和语义分析阶段的工作之后,有的编译程序将源程序变成一种内部表示形式,这种内部表示叫做中间语言或中间代码