大作业要写编译器,写啥语言呢?

2015-12-14 13:56:42 +08:00
 a302800411

词法分析器和语法分析器都要手写,代码量 5000 行左右吧,不知道该写啥语言,最近期末时间也比较紧张,龙书都还没有看完,感觉如果自己总结 LL1 文法的话,是一件很蛋疼的事.
没在 Google 上搜到合适的教程...很多都是写到一半就断更了...Coursera 上有一节编译器的课,可是没有字幕看起来好费劲.
求各位 V2er 推荐一门靠谱的语言来写...有教程推荐更是极好的....
最搞笑的是这门大作业不是编译原理的...是软件构造的(课本是代码大全)..

5856 次点击
所在节点    问与答
35 条回复
yunying
2015-12-14 16:56:15 +08:00
@a302800411

理解了原理不是太难。。我这两个东西都是自己一个人写的。
china521
2015-12-14 17:53:03 +08:00
@a302800411 这助教就是脑残. 课堂学不到东西的, 应付下就行了,关键在于自学, 超着自己的兴趣发展,不然毕业会后悔的, 最宝贵的学习时光.
zts1993
2015-12-14 19:05:58 +08:00
C 子集,难道你想写 C++?
dinghim
2015-12-14 19:45:25 +08:00
果断 BrainFuck 啊..
很好写的!
dinghim
2015-12-14 19:56:12 +08:00
http://www.muppetlabs.com/~breadbox/bf/
Brainfuck 相关介绍. 底下的链接有编译器的实现
Madeline
2015-12-14 20:09:34 +08:00
写个功能强大的递归下降解释器其实更实际一点。

我编译原理的大作业就实现了一个精简版 C 语言风格的 matlab 。
oaix
2015-12-14 20:26:16 +08:00
手写词法分析器和语法分析器其实有点蛋疼,还是选择 scheme 吧?
codecrash
2015-12-14 21:25:07 +08:00
当然 scheme
jsq2627
2015-12-14 22:02:46 +08:00
https://parasol.tamu.edu/courses/decaf/students/
试下这个 Decaf Compiler 吧。我们去年编译原理实验内容就是做这个。难度适中,做大作业也挺合适。
hqs123
2015-12-14 22:42:20 +08:00
scheme 可以试下
icymorn
2015-12-14 23:36:35 +08:00
http://icymorn.github.io/lambda-lite-js/
这是我用 js 写的小语言,很简单,可以参考一下. 名字很中二。哈哈哈哈
a302800411
2015-12-14 23:47:31 +08:00
@icymorn 哈哈 谢谢 我可以考虑来造个轮子
lao454490095
2015-12-15 12:08:04 +08:00
brainfuck 吧,哈哈哈哈,省心!
a302800411
2015-12-15 12:13:04 +08:00
@lao454490095 @dinghim 能凑够 5000 行嘛😂主要这玩意还有行数要求
lao454490095
2015-12-16 19:57:55 +08:00
@a302800411 不能, brainfuck 几百行的样子。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/243411

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX