我有興趣在JavaScript中編寫一個Pascal編譯器。但是我對編譯器是什麼使編譯器而不是解釋器感到困惑。特別是我需要生成像C/C++這樣的字節碼或彙編代碼,例如a.out?編譯器vs解釋器,還是用解釋型語言編寫編譯器仍然使它成爲編譯器?
所以,如果我是掃描和解析hello_world.pas:
program helloworld;
begin
Writeln('Hello world!');
end.
,併產生這樣的:
(function() {
console.log('Hello world!');
})();
難道我只是寫一個翻譯或編譯器?
任何有關在JavaScript中編寫編譯器的提示或建議將不勝感激。
我想你剛剛寫了一個翻譯... – Floris
它有什麼不同?不要試圖粗魯,只是試圖理解爲什麼這裏使用的術語對你很重要。 – Oak
http://stackoverflow.com/a/3618119,http://stackoverflow.com/a/2377288 –