了解编译原理
1) 简述编译程序与翻译程序、汇编程序的联系与区别。 编译程序将源语言源程序作为输入,将语句解释成指令执行,得到结果。 翻译程序是把源程序翻译成目标程序的语言处理程序, 翻译程序有两种: 一种是解释程序,它的执行过程是翻译一句执行一句,并且不会生成目标程序 ; 一种是编译程序,它将高级语言源程序一次性全部翻译成目标程序,每次执行程序时,只要执行目标程序。汇编程序是将汇编指令转换为机器语言, 低级语言,可以用来直 接控制硬件 。 2) 编译过程包括哪几个主要阶段及每个阶段的主要功能。 编译过程包括词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成六个阶段。 词法分析:输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词(亦称单词符号或简称符号),如基本字( begin、end、if、for、while),标识符、常数、运算符和界符(标点符号、左右括号)。 语法分析:在词法分析的基础上,根据语言的语法规则,把单词符号串分解成各类语法单位(语法范畴),如 “短语”、“句子”、“程序段”和“程序”等。 语义分析:审查源代码程序有无语义错误,为代码生成阶段收集类型信息。 中间代码生成:一种含义明确、便于处理的记号系统,它通常独立于具体的硬件。这种记号系统或者与现代计算机的指令形式有某种程度的接近