其實compiler就是一個轉換程序,只要有了ISA(Instruction Set Archetecture)就基於這個死標準寫轉換程序就行了,僅此而已,真正跟CPU相關的是ISA本身。compiler的原理在computer science本科的computer system這門課中就有包含,其實是很死的套路,知道了也不難。
所以搞computer scinece的人用的高級語言最好是C/C++而不是Java,後者跟CPU mechanism沒啥實際關係(其實C都已經關係不太大了)。很早就有美國的學術機構反對CS課用Java作為教育語言。現在都過於強調OOP而忽略了System,就像我之前開的貼,這裡大多數人都忽視Computer Archetecture方面的技術,認為實際工作只要做應用就夠了(我讀書時也這麼想,認為現在CPU/OS要理解那麼深幹嘛我今後又不開發,結果我工作後從事的embedded system就是充分利用了那些知識)。作者: chubbycat 时间: 16-9-2013 09:08
Compiler was a very tough class in CS program 作者: wiserfirst 时间: 16-9-2013 16:34
这个领域还是看书吧,龙书作者: chen_edward 时间: 16-9-2013 16:49
编译就是词法、语法的转换,,
-- 说漏了。编译是三步,词法分析、句法分析和语义分析。
问题是
1、所有的语法和词法都支持吗?
-- 编译是从一种形式语言翻译成另一种形式语言。可以是任何语言。
2、如何转成机器码?要硬件厂商的帮助吗?
-- 就是第三步语义分析
3、现在经典的成熟的架构和模式是什么样的??
-- 不知道你问的是什么,编译原理始于自动机理论,从来没变过。作者: 小何 时间: 28-12-2013 06:28
hard to learn , i ahve lose my dream day by day .cause, i stayed in Beijing and feel no too bad. my god. dream is always dream..
and my stock or computer, all is not good