编译器的整体构架

来源:互联网 发布:centos7 3306端口打开 编辑:程序博客网 时间:2024/04/29 14:53
编译器多使用: 词法分析->语法分析->中间代码生成->(代码优化)->目标代码生成的流程。 其中词法分析严重影响着编译器的性能,对词法分析的优化很必要。提高词法分析速度的一个主要途径是使用高效的缓冲管理机制。另一个主要的方面就是实现优化的匹配控制流程。 对于词法分析和语法分析有很多的代码自动生成工具,使用这些工具生成的代码据说速度也很快,一般初学者写出的词法分析和语法分析模块的速度很难超过工具生成的代码。据说GCC的词法分析和语法分析便是使用工具自动生成的。但也有不少牛人嫌工具生成的代码太大太慢,他们喜欢自己手动书写。 语法分析的结果通常是一棵语法树,语法树也是一种中间代码的形式,不知道有没有编译器直接使用语法树作为中间代码。中间代码的形式通常应该接近汇编,既:操作符 操作数1, 操作数2  的形式。很象intel汇编中的mov ex, 4。 未完,待续
原创粉丝点击