j***y 发帖数: 1640 | 1 有没有 10%啊?
发现 compiler 作业好难 |
f*******t 发帖数: 7549 | 2 实现难度不大,主要吃力不讨好
【在 j***y 的大作中提到】 : 有没有 10%啊? : 发现 compiler 作业好难
|
b******y 发帖数: 9224 | 3 是写recursive descent的,还是用程序生成的? |
d******e 发帖数: 2265 | 4 用 Scala 或者pyparsing都很轻松愉快
几个小时到两天的活
【在 f*******t 的大作中提到】 : 实现难度不大,主要吃力不讨好
|
b******y 发帖数: 9224 | 5 我原先手写过一个简单的recursive descent interpreter, 用来parse and execute
basic programming language的,很是提高对compiler的理解。 |
g*********e 发帖数: 14401 | 6 flex bison llvm
如果可以用轮子的话
【在 j***y 的大作中提到】 : 有没有 10%啊? : 发现 compiler 作业好难
|
n*w 发帖数: 3393 | 7 都写过吧。本科都是必修课吧。graduate school怕作业太多没选。
【在 j***y 的大作中提到】 : 有没有 10%啊? : 发现 compiler 作业好难
|
t**r 发帖数: 3428 | |
e***i 发帖数: 231 | |
j*a 发帖数: 14423 | 10 代码量不多 某牛人写的
https://github.com/rui314/8cc
【在 j***y 的大作中提到】 : 有没有 10%啊? : 发现 compiler 作业好难
|
|
|
c*******e 发帖数: 373 | 11 一点都不难,技术早就研究好了,学学拿来用就好了
如果从头自己瞎捉摸,当然会比较难,如果能琢磨出来,那是真牛 |
r***s 发帖数: 737 | 12 原来你眼中的编译器就只有前端, 后边分析优化就当空气了
【在 b******y 的大作中提到】 : 是写recursive descent的,还是用程序生成的?
|
r***s 发帖数: 737 | 13 太他妈牛了,您老实现一个简单的
从三地址码到SSA FORM 翻译模块需要多长时间?
【在 c*******e 的大作中提到】 : 一点都不难,技术早就研究好了,学学拿来用就好了 : 如果从头自己瞎捉摸,当然会比较难,如果能琢磨出来,那是真牛
|
b******y 发帖数: 9224 | 14
我全部自己写的一个java based recursive descent parser,工作量不小。分析优化
,这个要看具体需求了,我做的是可以用来作为template engine的,速度上足够了。
当然,很多人做compiler,都是用tools生成,那当然非常复杂了,也有很多优化,但
我的目的不是用工具,而是说学习compiler,所以自己从头到尾写一个出来才掌握的牢
靠。
话说,java的compiler原先也是recursive descent的,也就是说,是可以用手写的。
【在 r***s 的大作中提到】 : 原来你眼中的编译器就只有前端, 后边分析优化就当空气了
|
r***s 发帖数: 737 | 15 说半天还是前端, 把文本翻译成中间码
中间码的分析优化呢?
Constant propagation
Sub expression extraction
Loop unrolling
Register allocation
这些哪一样都给递归下降屁关系都没有
【在 b******y 的大作中提到】 : : 我全部自己写的一个java based recursive descent parser,工作量不小。分析优化 : ,这个要看具体需求了,我做的是可以用来作为template engine的,速度上足够了。 : 当然,很多人做compiler,都是用tools生成,那当然非常复杂了,也有很多优化,但 : 我的目的不是用工具,而是说学习compiler,所以自己从头到尾写一个出来才掌握的牢 : 靠。 : 话说,java的compiler原先也是recursive descent的,也就是说,是可以用手写的。
|
b******y 发帖数: 9224 | 16
虽然是网上,但我建议你注意一下你说话的方式。我也不跟你矫情啥前端后端了,没有
啥意思。我做了,学了东西,就知足了。计算机和任何东西都一样,永无止境。
【在 r***s 的大作中提到】 : 说半天还是前端, 把文本翻译成中间码 : 中间码的分析优化呢? : Constant propagation : Sub expression extraction : Loop unrolling : Register allocation : 这些哪一样都给递归下降屁关系都没有
|
c*******e 发帖数: 373 | 17 我发现你一直在强调优化
程序优化,就跟搞安全开发一样,是很杂乱的事情,需要一个一个点的考虑,跟环境、
CPU、硬件的关系也很大
楼主问的是最简单的compiler,当然说的是基本功能,也就是compile喽
【在 r***s 的大作中提到】 : 原来你眼中的编译器就只有前端, 后边分析优化就当空气了
|