单遍编译程序 单遍编译程序只对源程序进行一遍扫描,就完成编译的各项任务,产生目标代码。在单遍编译程序中,往往以语法分析程序为中心,词法分析和语义分析作为语法分析的子程序。其工作过程如下: 当语法分析需要读进一个新单词时,就调用词法分析子程序。词法分析子程序则从源程序中依次读入字符,组合成单词符号,并将单词符号返回给语法分析程序。 当语法分析程序识别出一个语法成分时,就调用语义分析子程序进行语义分析,并生成目标程序。 当源程序处理完后,进行善后处理,优化目标程序。 词法分析 语法分析 语义分析生成 目标程序 S.P. 语法成分 返回分析结果 整理目标程序 停机 O.P. 取单词 返回单词 单遍编译程序 多遍编译程序 有的编译程序把编译程序的五项任务分几遍来进行,每遍只完成部分任务, 多遍编译程序的工作过程如下: 调用词法分析程序将高级语言源程序转换成用单词符号表示的程序,即将字符串程序转换成单词符号串源程序。 调用语法分析程序对符号串源程序进行语法归类检查。 调用语义分析程序进行语义检查,并生成中间的代码程序。 调用代码优化程序对中间代码程序进行优化。 调用目标生成程序将优化后的中间代码程序转换成目标代码程序。 源程序 词法分析 语法分析
原创力文档

文档评论(0)