作者noctem (noctem)
看板PLT
标题Re: John Backus 逝世
时间Tue Mar 27 20:33:29 2007
: 推 caml:想起以前的一件事。上一门课instructor问大家第一个compiler 03/24 12:22
: → caml:是谁写的﹖我回答grace hopper, 他说no, backus 03/24 12:23
: → noctem:我觉得现在好难想像一个compiler是一个人写的... 03/24 21:39
我这句话讲得不对.. 其实我自己就举得出例子,一篇 PhD thesis
设计一个语言,compiler 当然也是那个学生自己写的。
忘记以前在哪读到这样一句话:以前写一个 compiler 是大事情,
现在只是学生一学期份量的作业。因为我们现在已经有了很多相关
理论告诉我们写一个 compiler 可以怎麽去规划,也有了很多工具
帮我们处理各阶段的工作(例如语法,和 parser generator)。
所以应该是这样讲:在这些东西都还没被发明之前,真难想像一个
compiler (和许许多多相关的知识)能靠一个人做出来。 :)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.192.157.71
1F:推 ephesians:赞同 03/27 21:21
2F:推 aoc90058:前人的基石 :) 03/28 01:11
3F:推 caml:我觉得没错啊。写一个toy compiler简单﹐想达到工业水准很难 03/28 08:44
4F:→ caml:一个人的话要花很多时间达到icc, gcc的performance 03/28 08:46
5F:推 ephesians:不,我想原文的意思是写toy compiler都不容易 03/28 20:47
6F:→ ephesians:在compiler的制程,结构还没定案时,特别难 03/28 20:48
7F:推 caml:front end国外基本无人在研究了﹐大家比拼的重点是back end. 03/28 21:02
8F:推 ephesians:back end指编译器较晚期的步骤吗? 03/29 09:50
9F:推 caml:经过fe程序语言变成中间代码﹐be是在中间代码的基础上优化 03/29 11:00
10F:→ caml:生成最快的机器代码。 03/29 11:02
11F:推 godfat:back end 是指後端,生最终程式码的地方 03/29 18:20
12F:推 buganini:front把code弄成parse tree,然後back再把tree修剪成精简 03/30 08:49
13F:→ buganini:的样子,然後DFS吐出组语或机语,大概这样吧 03/30 08:50
14F:推 sxman:现在都有compiler可以compile自己的compiler 所以最难的就是 10/11 10:34
15F:→ sxman:应该是如何实现第一个compiler :P 10/11 10:35