怎么写编译器( 二 )


而现在的编译器实现的就简单了,你可以用C语言在写一个C编译器,来编译C程序,也可以写C++编译器来编译C++,假如你是用C写C编译器,那么这种貌似叫交叉编译`~~,大概就这样了 。楼主真的想了解透彻自己去写个编译器就知道是怎么回事了
5. 如何利用LLVM写一个编译器 书籍请参考编译原理的龙书,以及flex,bison,llvm的manual 。
如何写我可以给你一个大致的流程,编译器由词法分析器->语法分析器->中间代码生成器->后端组成 。用C语言写编译器一般可以按照以下步骤: 1.使用flex生成词法分析器 。
(flex可以通过自己编写的描述文件来自动生成词法分析器) 2.使用bison生成语法分析器 。(bison可以通过自己编写的描述文件来自动生成语法分析器) 3.通过语法分析器得到输入代码的语法树表示 。
4.编写遍历函数遍历语法树生成中间代码 。(这里推荐使用LLVM的中间代码表示) 5.利用LLVM工具集来编译执行所得到的中间代码 。