请教做编译器的有关问题!

CoolRainbow 2001-08-20 03:35:36
我要做一个编译器,不知从何下手,请指教!
...全文
149 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
liushiboy 2001-09-09
  • 打赏
  • 举报
回复
先进行词法分析,做出一个SCANER;
然后再进行语法分析,形成中间式,再进行代码优化;
通过中间式可以很容易得到汇编代码;
最后通过汇编的编译器编译。
其中要注意现在在WINDOWS环境下很多汇编代码都要尽量使用INT21的不然容易出错。
sland007 2001-09-09
  • 打赏
  • 举报
回复
gaoding
vive 2001-08-25
  • 打赏
  • 举报
回复
你不要搞得太变态了,做微型的编译器还是可以的
别的可以看看书想想做做就出来,最后生成机器码最讨厌了,我不会
one_add_one 2001-08-24
  • 打赏
  • 举报
回复
我很有兴趣
AutoAsm 2001-08-24
  • 打赏
  • 举报
回复
呵呵,我建议你打消这个念头。
上面这些老兄恐怕只是纸上谈兵,我确实已经做了编译器的几个模块出来了,当然,我的目的不是做编译器,那些只是一个开发工具的一部分。

做编译器很困难,首先在于:
1,工程浩大,工作量大本身就是最可怕的
2,理论性极强
3。要理论联系实际,理论本身并不十分可怕,我相信全中国编译原理考试能得高分的没有几十万也有十几万,但做个产品就不是这样了,
4,有些资料找不到,比如最后要生成目标代码的时候,需要对应机器码,这个资料就不容易找。
5,如果你真的要做的话,强烈建议你把机器升级,我说的升级不是要你升P4,你起码要买台小型机专门做编译,就我那个东东用C667编译要差不多30-40分钟,痛苦啊,一个好的编译器肯定比这大的多。

最后,你做出来 了的话可要请客啊。
AutoAsm 2001-08-24
  • 打赏
  • 举报
回复
呵呵,我建议你打消这个念头。
上面这些老兄恐怕只是纸上谈兵,我确实已经做了编译器的几个模块出来了,当然,我的目的不是做编译器,那些只是一个开发工具的一部分。

做编译器很困难,首先在于:
vive 2001-08-23
  • 打赏
  • 举报
回复
我做过一些描述性的语言的解释器和执行环境,有兴趣可以讨论,qq:2094345
CityHost 2001-08-23
  • 打赏
  • 举报
回复
Borland好像公布了其C++编译器的5.5版的源代码,下一个研究一下。
puwei76 2001-08-22
  • 打赏
  • 举报
回复
我反正从来都没想过要自已写编译器,哪怕是再小的语言,只要能有一点点儿实用,编译器工程就非常烦琐。
我觉得只要自已了解了编译器的运行原理及内部构造就成,不必自已写。
你真要自已写的话,学学编译原理,按照它提供的知识,写一个只支持计算和屏幕显示输出的BASIC就足够了,我相信,即使是专业人员也极少自己写了编译器的,是吗?
step_by_step 2001-08-22
  • 打赏
  • 举报
回复
好难,好难,要有心理准备.我当初也想做一个,可是当我细细地研究之后,决定不做了,主要是时间不够,精力不够.
ecore 2001-08-21
  • 打赏
  • 举报
回复
小弟一直致力于编译平台构造,但在看了C++的实现后发现不可能是我一个人能完成的。呵呵。
我写过很多解释器,也熟悉Lex,yacc工具,也自己在学校开发过类Lex,类Yacc工具(不过不是很成功,我的Yacc工具只支持到SLR,不象Yacc是LALR,呵呵,而且,文法是在源代码里定义好,呵呵,那个时候不想写用户界面,反正也是写了自己用)。
小弟现在已经很少碰编译技术了,在公司里写网络协议和管理平台。唉
有什么问题,可以给我mail:
XiongZJ@i-net.com.cn
whatapig 2001-08-21
  • 打赏
  • 举报
回复
首先做好艰苦奋斗的准备,编译器可不是解释器。
看看书,掌握一些必须的基本概念,如产生式系统。
再熟悉些工具,如lex,yacc.
门吹西风 2001-08-21
  • 打赏
  • 举报
回复
我这里有NFA到DFA的转换算法,是我自己写的(C语言),呵呵
starfish 2001-08-20
  • 打赏
  • 举报
回复
faint!
工程很浩大哦
不过要看你做什么语言的编译器了,如果是像C++这种语言的那简直不是一个人可以做到的
stellaxyq 2001-08-20
  • 打赏
  • 举报
回复
词法分析
语法分析
中间代码生成
优化
最终代码生成

这是基本的步骤
有一些工具可以帮你生成词法分析和语法分析,比如yacc

33,008

社区成员

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

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