社区
数据结构与算法
帖子详情
怎样做一个自己语言并做成编译器?
xiongyuhao
2003-10-19 08:38:16
我不知道这个问题要提到哪里!
我是一个大三的学生,我们这个学期的编译原理的课程设计是自己创一门简单的语言,
并写出他的编译器,请大家指教!!!谢了!
...全文
215
20
打赏
收藏
怎样做一个自己语言并做成编译器?
我不知道这个问题要提到哪里! 我是一个大三的学生,我们这个学期的编译原理的课程设计是自己创一门简单的语言, 并写出他的编译器,请大家指教!!!谢了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
stick77
2003-10-30
打赏
举报
回复
mark
tass
2003-10-28
打赏
举报
回复
up
Climber12
2003-10-28
打赏
举报
回复
我今年毕业,觉得大学中对于软件开发最为有用的莫过于 数据结构,其次就是编译原理了,现在领悟有些晚了,希望在校的学生朋友们要抓住时间和机会,来学习该课!!
我打算,这个月复习C语言,下个月,重新复习数据结构,然后用前两者的知识来学习编译原理,争取实现一个简单的编译器!!!!祝福我把!!!!
如有相同爱好者可以和我联系:QQ:36068522
C语言是程序开发的看家本领,程序水平的高低很大程度是受你的数据结构知识的影响的!!!!!
dawnhorizon
2003-10-25
打赏
举报
回复
大家说说从语法分析到二进制代码生成这段都用到什么工具啊?
HashCodeWithJava
2003-10-20
打赏
举报
回复
都是机械工业出版的.
很早以前出过一本<<编译原理与实践>>,我的知识大多就是从那本书中学来的.
现在又推出了一本<<编译原理>>,但是记住,书的原名叫<<Compiler principle technology and tools>>
HashCodeWithJava
2003-10-20
打赏
举报
回复
对了,首页头条上有我的关于<<lex&yacc到编译器>>的文章.你不妨看一下,我会很注重实践的讲解.
HashCodeWithJava
2003-10-20
打赏
举报
回复
要做个简单的也不难.要做个完整的就困难.
首先你要学会使用lex和yacc.
正如楼上说的,你找一种语言作为蓝本,比如Pascal
然后写出它的BNF文法.通过用lex和yacc
那么你的词法分析和语法分析的工作几分钟就搞定了.
最后就完成代码生成,使用P-code代码生成超级简单.
最后就是自己为P-CODE写个简单的虚拟机.
(哇!可以做自己的JAVA了)
kutawei
2003-10-20
打赏
举报
回复
我一年多前学过,现在回想起来真没什么用,主要是我不搞相关领域
kutawei
2003-10-20
打赏
举报
回复
我一年多
ttmmdd
2003-10-20
打赏
举报
回复
以一种语言为蓝本.
定义语法
然后用FLEX , BISON等工具生成词法分析,和语法分析代码.
sdtea
2003-10-20
打赏
举报
回复
我也正学编译原理,关注一下!
xiongyuhao
2003-10-20
打赏
举报
回复
tangl_99,你上面提到的<<编译原理与实践>>是哪个出版社出版的
mgphuang
2003-10-20
打赏
举报
回复
想当年,我们也是这么过来的。哈哈哈。学完了没什么用。
stephen85
2003-10-20
打赏
举报
回复
关注!!
gambolgs
2003-10-20
打赏
举报
回复
参考一下C expert programming吧,上面有个家伙用不到10行代码写了一个基本的BASIC环境。
zbstone
2003-10-19
打赏
举报
回复
要完整的做是比较难
你们老师的水平也起到很关键的作用。呵呵
首先要确定语言
然后画状态转换图
简化
接着编程实现词法,语法……等等的转换
xiongyuhao
2003-10-19
打赏
举报
回复
我们老师跟我们说,一两百人中有几个人写出来就不错罗,看来有点难度!
你能给我一些你写的关于编译的文章吗!
xiongyuhao
2003-10-19
打赏
举报
回复
我们讲的都是纯理论的东西!
HashCodeWithJava
2003-10-19
打赏
举报
回复
不知道你看过<<编译原理与实践>>没有,上面提供了一个完整的tinyC的代码.
很不错的.
还有最新的机械工业出版社的那本<< 编译原理>>,里面第二章就是很快地讲解了一个,简单的一遍的编译器的实现,还有代码,很短.
我最近一直在写关于编译器的文章,你不妨可以参考一下.
关于编译器的编写,也不是一两句话就说得清楚的.
你把你的具体问题说出来,大家一起研究.
HashCodeWithJava
2003-10-19
打赏
举报
回复
这么厉害!
你们学的编译原理不就是在讨论这个吗?
自制c
语言
编译器
编译原理课程设计学完之后,自己
做
了
一个
编译器
,里面有文档 ,可以翻译成汇编
语言
如何写
一个
简单的
编译器
?
因为汇编
语言
仍然非常低级,对于追求高效的程序员来说是无法忍受的,所以又出现了更高级的
语言
,这也是大部分程序员使用且熟悉的编程
语言
,这些抽象的编程
语言
虽然不能直接转化成机器操作,但是它比汇编
语言
更好理解且更能够被高效的使用。那么,今天学到的东西哪里会用到呢?以上就解释了这个开源项目存在的意义了,所以如果你对
编译器
有很浓厚的兴趣希望一学到底的,那肯定还是离不开大量的阅读和钻研啦,但是如果你希望对
编译器
的功能有所了解,那这篇文章就别错过啦!需要根据每个节点的类型来调用不同的访问者的方法,所以我们定义
一个
。
《计算机体系结构》软件篇2 之
编译器
1 课程知识结构2 世界上第
一个
编译器
怎么来的3 第
一个
汇编编辑器怎么来的4 高级
语言
与高级
语言
编译器
15 高级
语言
与高级
语言
编译器
26 高级
语言
与人类
语言
的关系 17 计算机
语言
与人类
语言
对比 28 举例理解词法、语法、语义分析9 词法、语法、语义错误例子10 C
语言
编译器
与 预处理11 “链接“是什么12 C
语言
可执行文件的格式13 如何选择一款
编译器
自己构建c
语言
编译器
,手把手教你
做
一个
C
语言
编译器
(1):设计
欢迎加入伯乐在线 专栏作者。本章是“手把手教你构建 C
语言
编译器
”系列的第二篇,我们要从整体上讲解如何设计我们的 C
语言
编译器
。本系列:首先要说明的是,虽然标题是
编译器
,但实际上我们构建的是 C
语言
的解释器,这意味着我们可以像运行脚本一样去运行 C
语言
的源代码文件。这么
做
的理由有两点:解释器与
编译器
仅在代码生成阶段有区别,而其它方面如词法分析、语法分析是一样的。解释器需要我们实现自己的虚拟...
脚本
语言
和编译
语言
的区别 什么是解释器? 什么是
编译器
?解释器和
编译器
有什么区别?
翻译有两种,一种是编译,另外一种是解释。两种方式之间的区别在于翻译的时间点不同。
编译器
以解释方式运行的时候,也称之为解释器。编译性
语言
c,c++ 二者最大的不同 你从感知上来讲 其实最明显的就是 编程难度和规范。你编程的时候是不是都写的英文比如while循环 for循环。网上的解释有一大段 看都看不懂 感觉说的都不是人话。计算机只能识别1和0 这样二进制的数字。编译性
语言
比如 现在你写了三行
语言
。其实就是解释器和
编译器
的区别。首先 解释器和
编译器
都是翻译官。什么是解释器 什么是
编译器
?
数据结构与算法
33,006
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章