看板 PLT 關於我們 聯絡資訊
: 推 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
ephesians:贊同 03/27 21:21
aoc90058:前人的基石 :) 03/28 01:11
caml:我覺得沒錯啊。寫一個toy compiler簡單﹐想達到工業水準很難 03/28 08:44
caml:一個人的話要花很多時間達到icc, gcc的performance 03/28 08:46
ephesians:不,我想原文的意思是寫toy compiler都不容易 03/28 20:47
ephesians:在compiler的製程,結構還沒定案時,特別難 03/28 20:48
caml:front end國外基本無人在研究了﹐大家比拼的重點是back end. 03/28 21:02
ephesians:back end指編譯器較晚期的步驟嗎? 03/29 09:50
caml:經過fe程序語言變成中間代碼﹐be是在中間代碼的基礎上優化 03/29 11:00
caml:生成最快的機器代碼。 03/29 11:02
godfat:back end 是指後端,生最終程式碼的地方 03/29 18:20
buganini:front把code弄成parse tree,然後back再把tree修剪成精簡 03/30 08:49
buganini:的樣子,然後DFS吐出組語或機語,大概這樣吧 03/30 08:50
sxman:現在都有compiler可以compile自己的compiler 所以最難的就是 10/11 10:34
sxman:應該是如何實現第一個compiler :P 10/11 10:35