社区
数据结构与算法
帖子详情
*********!!!!!!!!!!!!!!!!如何自己实现一个编译器?*********!!!!!!!!!!!!!!!!
mulintaomulintao
2010-04-14 01:01:00
纯粹为了自己学习,想用C或C++实现一个编译器,并一定要能实现编译器的全部功能,只是为了对编译原理的基础知识练习一下。
不知有没有什么参考资料或书籍?尽量实用的
...全文
415
25
打赏
收藏
*********!!!!!!!!!!!!!!!!如何自己实现一个编译器?*********!!!!!!!!!!!!!!!!
纯粹为了自己学习,想用C或C++实现一个编译器,并一定要能实现编译器的全部功能,只是为了对编译原理的基础知识练习一下。 不知有没有什么参考资料或书籍?尽量实用的
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
25 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Vo_Go
2012-03-08
打赏
举报
回复
可变目标C编译器——设计与实现
Vo_Go
2012-03-08
打赏
举报
回复
正在写。。大概写了一半吧,思路已经完全清晰了。
书中的方法是不断修饰ast树,ast树效率我觉得不够高。我用堆栈实现。
lxy15329
2011-12-27
打赏
举报
回复
悲催的我,选的毕业设计题目竟然是C语言编译器的实现,这不是不想毕业吗?
帖子不能编辑
2010-04-17
打赏
举报
回复
如果你想做一个c语言的编译器,又是从0开始的话,那你要具备相当的毅力才行。
推荐你看龙书,虽然很多人说这本书理论性很强,但我觉得这本书确实是经典之作,里面也有很多代码的。
而且个人更倾向于理论先行。
《可变目标C编译器——设计与实现》这本书我觉得拿来上手不太好,因为这本书直接分析一个实实在在的编译器, 没有一点理论支撑的话,想吃透其中的内容很困难。
你坚持把龙书的前五章和第八章看完,如果能理解其中的大部分内容的话,就可以写一个小小的toy编译器了。
你这个编译器能把几个简单的c语句翻译成中间代码的形式,中间代码的形式 需要你自己来定义。
能翻译成你自己定义的中间代码就是具有里程碑的一个跨越了,因为翻译成其他的形式,比如汇编,只要一个表示形式的问题了。 能把你自己的语言翻译成汇编,就可以借助汇编器生成机器码。
不过这只是一个toy了,要做一个商业产品,以我目前的功力实在不能帮你了。而且对于大多数的人来说,也没有那个必要。
BigCarrot
2010-04-17
打赏
举报
回复
如果你重点想做的是前端,那么看龙书
语言最好不要太复杂,建议简化一下pascal或者java
如果你重点想做后端,那么看 advanced compiler design and implementation
目标机器也要尽可能简单,比如mips或者mmix
leonardWang
2010-04-17
打赏
举报
回复
光词法 语法就很麻烦了
CCCCCCCCCCCCCCC
2010-04-15
打赏
举报
回复
粗糙的实现部分功能是可以的,有些学校就有这方面的课程设计
全部实现,哈哈,不要做梦了
acdbxzyw
2010-04-15
打赏
举报
回复
楼主写出来就前途无量了。。。
fairywell
2010-04-15
打赏
举报
回复
直接动手把,先做半年,就知道需要什么了
cattycat
2010-04-15
打赏
举报
回复
yacc或lex等都有代码,研究一下理论,然后参考代码可以写一个
cattycat
2010-04-15
打赏
举报
回复
yacc或lex等都有代码,研究一下理论,然后参考代码可以写一个
mulintaomulintao
2010-04-15
打赏
举报
回复
呵呵,各位XD,当然不是全部实现了,也没有那么多的精力,只是根据自己的学习粗略的照本宣科的搞一个玩的东东,各位再推荐一把啊
jakiejiajia
2010-04-14
打赏
举报
回复
[Quote=引用 2 楼 xiuxianshen 的回复:]
不了解,帮顶
[/Quote]
要细看,龙书 相当的经典,额正在看中
sosidami
2010-04-14
打赏
举报
回复
实现编译器的全部功能!楼主别做梦了。。。。。能做出这个人,绝对不是对编译器基础知识练习一下。。。。照你这么说,中科院编译组的人都干嘛去了!!
实现一部分《编译器构造C语言描述》或许会帮你
jeromeyu
2010-04-14
打赏
举报
回复
C++编程艺术 最后一章是一个微型编译器的实现,有完整代码和解析,你可以参考一下.
fairywell
2010-04-14
打赏
举报
回复
我已经告诉你一个很好的资料了,在1楼,您看看,那本书就是作者写 lcc 的总结
mulintaomulintao
2010-04-14
打赏
举报
回复
有没有相关的参考资料或是实例作为参考?
要是凭空自己开始写,呵呵,估计又会胎死腹中哦
GCCFeli
2010-04-14
打赏
举报
回复
如果想做个简单的话,建议看看flex和bison,用这两个工具可以很快的做一个编译器前端(后端生成代码比较麻烦,建议自己设计个简单的虚拟机,比如堆栈式虚拟机,生成虚拟机上的代码)
田暗星
2010-04-14
打赏
举报
回复
支持楼主
mulintaomulintao
2010-04-14
打赏
举报
回复
《龙书》看了一遍,太理论化了,而且用的也不是常用的C/C++或其他常用的语言。
本人只想用一些常用的语言实现一个具有基本功能的编译器
请各位大侠不吝赐教
加载更多回复(2)
绿幕虚拟演播技术
我们的课程将引导您掌握绿幕演播技术的原理和技术要点,以及如何搭建
一个
稳定的开发框架。 此外,在本课程的学习过程中,您将了解到,所学开发技术不仅可以服务于中央、省、市、县各级电视台,更可以直接服务于全网1...
亲自动手写
一个
深度学习框架
本课程带领大家亲自动手写
一个
更方便大家使用的深度学习框架,帮助大家理解常用技术的底层
实现
。具体安排如下: 1.板书完成数学推导,同时画图讲解; 2.基础:Python
实现
多层感知器; 3.进阶:C++
实现
深度学习框架...
基于Web的酒店客房管理系统的设计与
实现
+论文+开题
管理员模块功能分析 对于管理员而言,
一个
好的管理系统总是能让酒店的管理工作事半功倍[7]。管理员 能够通过这个系统对自己的酒店情况一目了然,应该包括客户留言模块、客房管理模 块、订房信息管理模块、入住...
【企业级】Docker项目实战:一键部署Hadoop集群(跨物理节点)
只用
一个
命令,就可以
实现
基于Docker容器的任意节点Hadoop集群的部署,即使是1000个节点的集群,也可以轻松运维。课程内容涉及Docker运行环境构建、Docker常用命令使用、Docker Dockerfile文件编写、Docker镜像构建...
用Go语言来写区块链(一)
区块链诞生10多年了,市面上介绍区块链原理的课程很多,但真正细化到代码层面的课程... 课程代码学习者可以下载,建议学习者自行完成代码,本课程的难度属于中下,自己
实现
起来不会特别困难。 课程代码运行效果图如下:
数据结构与算法
33,010
社区成员
35,327
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章