作者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