虎书编译
‘壹’ 请问学x86汇编语言用什么编译器
编译器自举!搜索这个关键字
程序都是编译器编译的。这个是肯定的
至于第一款X语言编译器是不是直接1010101010自己写的那就不知道啦
一般开发编译器的话。有两条路选择
1.利用yacc(或者其变种)&lex(词法分析)-等工具自己生成语法模板
词法语法都可以使用这些工具自己生成
然后自己编写生成的中间码和生成的机器码就可以了
一般做编译原理类似试验都是如此的。许多编译器也的确是这样
2.自己写词法分析和语法分析。可以参考一些开源的编译器
lcc-这个是ANSI C99标准的编译器是开源的
或者nasm,watcom等编译器到上不少开源的编译器
总的来说。高级语言编译器比较难写
如果想快速写出一个的话
可以采用第一种做法。利用工具生成语法词法模板
先写一个简单的汇编编译器比较简单
开源的有nasm,jwasm(支持masm语法开源的编译器)
fasm(这款编译器是自举的.就是自己可以编译自己),
剩下的就是自己做好语言规则关键字map
引用高手的话。语言map做好了你的编译器也做好一半了
剩下的都是机械性的工作了。
生成x86或者arm指令。
优化工作这个很难解释.根据你所需要的做吧
毕竟可以做出一个无错,又XX的编译器已经很难得
你可以选择使用现有的编译器开发自己的编译器
然后等到你的编译器支持相当数量指令和成熟度的时候
使用自己的语法重新写一遍编译器.
这样你就可以用自己的编译器开发自己的编译器了(是不是很邪恶?)
另外举几个例子
Delphi的编译器是C++ Builder开发的。
而C++ Builder的IDE是Delphi开发的
C++ Builder的编译器是C++ Builder开发的-这个就是编译器自举了。。Delphi和C++ Builder共享一个后端化优化器。
Delphi 早期的版本的编译器是tasm直接编译的。可见Anders的汇编功力多强悍(Anders也就是后来VJ++,C#,.NET工程的核心架构师.最关键的灵魂级人物)
VC++的编译器是VC++开发的。很明显这都说明了编译器自举
自己开发自己。如果一个编译器可以做到自己编译自己。那基本上就可以实现任何功能了。
关于编译器开发的书籍可以看一下
龙书《编译原理(第二版)》
虎书《现代编译原理-C语言描述》
鲸书《高级编译器设计与实现》
建议从鲸书看起。然后是龙书
再来是虎书--虎书里面描述了许多现代编译器(正如其名)技术
例如面向对象啦,优化,垃圾回收等等.
鲸书看完基本上就可以实现一个简单的Tiny C编译器了
然后在龙书巩固,读一下语言规范,自己看一些开源的汇编编译器代码
自己就可以尝试做一个汇编语言编译器了.等到技术提高了
在尝试做一些高级语法识别,参考LCC代码做一下ANSI C99的
C语言编译器。再来就看你自己的兴趣和领悟度拉
如果想支持C++的话就得要对编译器做许多方便的研究
类似java那种跨平台或者Ruby,Python等动态语言
虎书中也有描述。当然看自己功力了
‘贰’ 推荐几本经典的编译原理书,什么出版社,作者(越厚越好)
看外文,楼主好强!
编译原理当然是龙、虎、鲸三本经典了。
1.龙书(Dragon book)
书名是Compilers: Principles,Techniques,and Tools
作者是:Alfred V.Aho,Ravi Sethi,Jeffrey D.Ullman
国内所有的编译原理教材都是抄的它的,而且只是抄了最简单的前端的一些内容。
2.鲸书(Whale book)
书名是:Advanced Compiler Design and Implementation
作者是:Steven S.Muchnick
也就是高级编译原理,象什么陈疑云之类的估计也就是这个水平不错了
3.虎书(Tiger book)
书名是:Modern Compiler Implementation in Java/C++/ML,Second Edition
作者是:Andrew W.Appel,with Jens Palsberg
这本书是3本书中最薄的一本,也是最最牛的一本!
龙书机械出版社有原版,中文是李建中教授翻译的;
虎书是电子工业出版社出的,有中文版,没看到原版;
鲸书貌似中英文版国内都没有
‘叁’ “龙书”虎书“鲸书”有什么区别要不要全都看完是不是全部看完了就会设计语言了
如果是有了一定的编译器学习基础,可以看虎书。 但是入门的话,龙书更基础,同时一个更详细。
‘肆’ 编译原理虎书 java版纸质书怎么买
学Java必看书籍:Java编程规范,Effective Java第二版,Java并发编程实践,Java解惑,ROBUST Java 中文版-Java异常处理、测试与调试
另外我也有学Java的课程老师给我们:Java面向对象编程
‘伍’ 汇编语言编译器是怎么编写的
编译器自举!搜索这个关键字
程序都是编译器编译的。这个是肯定的
至于第一款X语言编译器是不是直接1010101010自己写的那就不知道啦
一般开发编译器的话。有两条路选择
1.利用yacc(或者其变种)&lex(词法分析)-等工具自己生成语法模板
词法语法都可以使用这些工具自己生成
然后自己编写生成的中间码和生成的机器码就可以了
一般做编译原理类似试验都是如此的。许多编译器也的确是这样
2.自己写词法分析和语法分析。可以参考一些开源的编译器
lcc-这个是ANSI C99标准的编译器是开源的
或者nasm,watcom等编译器到www.sf.net上不少开源的编译器
总的来说。高级语言编译器比较难写
如果想快速写出一个的话
可以采用第一种做法。利用工具生成语法词法模板
先写一个简单的汇编编译器比较简单
开源的有nasm,jwasm(支持masm语法开源的编译器)
http://www.japheth.de/JWasm.html
fasm(这款编译器是自举的.就是自己可以编译自己),
http://flatassembler.net/
剩下的就是自己做好语言规则关键字map
引用高手的话。语言map做好了你的编译器也做好一半了
剩下的都是机械性的工作了。
生成x86或者arm指令。
优化工作这个很难解释.根据你所需要的做吧
毕竟可以做出一个无错,又XX的编译器已经很难得
你可以选择使用现有的编译器开发自己的编译器
然后等到你的编译器支持相当数量指令和成熟度的时候
使用自己的语法重新写一遍编译器.
这样你就可以用自己的编译器开发自己的编译器了(是不是很邪恶?)
另外举几个例子
Delphi的编译器是C++ Builder开发的。
而C++ Builder的IDE是Delphi开发的
C++ Builder的编译器是C++ Builder开发的-这个就是编译器自举了。。Delphi和C++ Builder共享一个后端化优化器。
Delphi 早期的版本的编译器是tasm直接编译的。可见Anders的汇编功力多强悍(Anders也就是后来VJ++,C#,.NET工程的核心架构师.最关键的灵魂级人物)
VC++的编译器是VC++开发的。很明显这都说明了编译器自举
自己开发自己。如果一个编译器可以做到自己编译自己。那基本上就可以实现任何功能了。
关于编译器开发的书籍可以看一下
龙书《编译原理(第二版)》
虎书《现代编译原理-C语言描述》
鲸书《高级编译器设计与实现》
建议从鲸书看起。然后是龙书
再来是虎书--虎书里面描述了许多现代编译器(正如其名)技术
例如面向对象啦,优化,垃圾回收等等.
鲸书看完基本上就可以实现一个简单的Tiny C编译器了
然后在龙书巩固,读一下语言规范,自己看一些开源的汇编编译器代码
自己就可以尝试做一个汇编语言编译器了.等到技术提高了
在尝试做一些高级语法识别,参考LCC代码做一下ANSI C99的
C语言编译器。再来就看你自己的兴趣和领悟度拉
如果想支持C++的话就得要对编译器做许多方便的研究
类似Java那种跨平台或者Ruby,Python等动态语言
虎书中也有描述。当然看自己功力了
‘陆’ 有什么好的编译原理的书籍
编译原理方面比较好的书有三本,分别是龙书、虎书、鲸书,
这三本书是编译原理方面很权威的三本书,以动物命名是因为他们三本的封面上分别印了这三种动物。
这三本书的全名如下:
1.龙书(Dragon book)
书名是Compilers: Principles,Techniques,and Tools
2.鲸书(Whale book)
书名是:Advanced Compiler Design and Implementation
3.虎书(Tiger book)
书名是:Modern Compiler Implementation in Java/C++/ML,Second Edition
至于翻译过来的中文本你去网上搜一下
‘柒’ 求虎书《现代编译原理C语言描述》中文电子版
你试试我爱读电子书搜索下吧
‘捌’ 我自己编写了一个程序,但要求带有编译器,如何实现
自己写编译器啊,你可以去图书馆借本《龙书》《鲸书》《虎书》,通读。
然后用C\C++编写词法分析器、语法分析器、语义分析器、以及中间代码生成器
学习汇编语言,学会后,用C\C++和汇编编写目标代码生成器和代码优化器。
这样你就能成功编写一个编译器了。以你现在的水平,至少半年或者一年吧……
其实这玩意做出来可以当毕业设计了,并且可能还能拿优。
你确定你们老师是让你写个编译器?还是写个makefile...
‘玖’ 学编译原理有什么好书
我觉得龙书会被首推为学编译原理的书是因为它出版的早(1986年第一版,应该是编译原理书的鼻祖),几乎所有编译原理相关资料的参考资料都会引用它。个人觉得龙书对于初学者来说写的很不好懂,大家看这本书基本都是看得云里雾里。在看过一些资料之后硬着头皮写编译器(解释器)之后再看书会好很多。我目前看过的几本编译原理书里面,《Engineering a Compiler》是写的最好的,基本概念都讲解的很清晰,不会像看龙书那样似懂非懂。总的来说,编译原理没有一本书是TheOne,多看几本书相互参考比较好。虎书以例子贯穿,鲸书主讲后端,《Parsing Techniques》讲前端,都是很好的参考。