编译原理项目详细设计

发布时间:2019年09月01日 阅读:253 次

4.1 代码预处理方法

    通过有限状态自动机,分别实现对读入代码的注释消除和空白字符消除。

4.2 词法分析方法

本部分主要利用各种条件判断和分割函数,通过预先构造的终结符号表,对程序代码进行单词分割之后,逐个判断各个Token的类型,并将他们存入Token表中。

4.3 语法分析方法

 对文法进行分解,共生成82个基本产生式,计算firstfollow集,并利用程序实现预测分析表的计算生成。

4.4 语义分析及中间代码生成方法

 通过使用C++代码预先生成的预测分析表,通过分析栈生成程序的语法分析树。生成语法分析树之后,通过对语法分析树的深度优先遍历,通过语义动作函数和哈希表生成三地址代码。

4.5 优化方法

采用优化方法中的局部优化方法。

首先找出整个程序的基本块入口,然后对每个基本块内部进行优化。主要方法时,首先进行一遍for循环,然后定义一个哈希标记表,将整个过程中出现的常量变量进行记录,扫描之后的变量时,如果该变量已经在常量哈希表中,那么将其替换即可。

4.6 目标代码生成方法

通过对汇编语言和中间代码的分析,使用Python对每种类型的语句按照其含义一步一步进行翻译即可。


Tag:
相关文章

发表评论: