怎样做一个自己语言并做成编译器?

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
  • 打赏
  • 举报
回复
这么厉害!

你们学的编译原理不就是在讨论这个吗?

33,006

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧