编译器的工作过程划分为:词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成。
词法分析器的任务是把源文件的字符流转换成记号流;语法分析器根据语法规则识别出记号流中的结构(短语、句子),并构造一棵能够正确反映该结构的语法树;语法分析主要检查句子的结构是否符合语法规则,“程序中的括号不配对”属于语法错误。
在语法分析阶段,语法分析器以单词符号作为输入,分析单词符号是否形成符合语法规则的语法单位,如表达式、赋值、循环等,按语法规则分析检查每条语句是否有正确的逻辑结构。
在编译方式下,编译过程生成的是与源程序等价的目标代码,源程序和编译程序都不再参与目标程序的执行过程;而在解释过程生成的不是源程序的目标程序,而是中间代码。
网友评论