22问答网
所有问题
怎样去写一个编译器(用C语言写C语言编译器),需要哪些知识做铺垫,可以给一下相关网站和书籍的推荐吗?
如题所述
举报该问题
推荐答案 2014-04-23
书籍请参考编译原理的龙书,以及flex,bison,llvm的manual。
如何写我可以给你一个大致的流程,
编译器由词法分析器->语法分析器->中间代码生成器->后端组成。
用C语言写编译器一般可以按照以下步骤:
1.使用flex生成词法分析器。(flex可以通过自己编写的描述文件来自动生成词法分析器)
2.使用bison生成语法分析器。(bison可以通过自己编写的描述文件来自动生成语法分析器)
3.通过语法分析器得到输入代码的语法树表示。
4.编写遍历函数遍历语法树生成中间代码。(这里推荐使用LLVM的中间代码表示)
5.利用LLVM工具集来编译执行所得到的中间代码。
相关网站:
龙书(当当上去买一本)
http://dinosaur.compilertools.net/flex/index.html
(flex手册)
http://dinosaur.compilertools.net/bison/index.html
(bison手册)
http://www.llvm.org
(LLVM官网)
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://22.wendadaohang.com/zd/CSSfC6026262hf2SXfS.html
其他回答
第1个回答 2014-04-23
编译原理,有这门课程
第2个回答 2014-04-23
先把c学好再说吧,有编译原理,最好再研究一下汇编
相似回答
怎样去写一个编译器(用C语言写C语言编译器),需要哪些知识做铺垫,可以给
...
答:
如果你想入门编译器的话,那么可以看《编译原理与实践》,整本书先将编译器理论,然后后边教你一步步实现c-miuns(c的子集)的
编译器,
包括lex,yacc,都在几千行代码左右。这本书讲的比较简单易懂一点 也可以学学斯坦福大学的编译器设计公开课(aiken设计了一个叫cool的
语言,
专门用来教人写
编译器
...
10分钟了解
C语言
基本语法
知识
答:
编译器首先看到了一个函数的定义,描述了一个叫add的函数。接着,在main中
需要使用
add,由于编译器已经知道了add的定义,因此
编译器可以
正常编译通过。 但是,如果将函数定义和函数调用反过来呢? 首先
,编译器
看到了add标识符,编译器会很疑惑,add是什么呢?编译器无法理解add究竟是什么。因此,编译器将报错,并停止编译。
大家正在搜
c语言的编译器有哪些
第一个编译器是怎么写的
c语言只有一种编译器
c语言用什么编译器比较好
学c语言用什么编译器
新手学c语言用什么编译器
c语言网页版在线编译器
从零写一个编译器
编译器是怎么写出来的
相关问题
怎样去写一个编译器(用C语言写C语言编译器),需
为什么c语言的编译器可以用c语言来写?
C语言编程:输入一个英文字符串(长度<81),删除其中所有非...
c语言编译器是用什么于语言写的
用simplorer编写C语言模块的时候提示找不到C语言编译...
C语言是用哪个语言开发出来的?
window内自带的C语言编译器怎么用
win10应该用什么C语言编译器