我有兴趣在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 –