直观地说,似乎语言的编译器Foo
本身不能用Foo编写.更具体地说,语言的第一个编译器Foo
不能用Foo编写,但可以编写任何后续的编译器Foo
.
但这是真的吗?我对一种语言的阅读非常模糊,这种语言的第一个编译器是用"本身"编写的.这是可能的,如果是这样的话怎么样?
因此,作为一个新的Web程序员(背景mostely在C,C++和Python),没有JavaScript的经验(或渴望体验一下吧,根据我所看到的),我一直在做CoffeeScript的一些前兆研究,我真的喜欢什么我知道了.我注意到的一个很酷的细微差别就是CoffeeScript是用CoffeeScript编写的,这很酷......但我真的不明白这是怎么回事.不幸的是,在我上一期的高级计算机科学课程中,我选择使用网络安全而不是编译器.
我听说有人在目标语言编写语言使用现有的编译器用于该语言来诠释,但我不能挖就如何实现这一可能的工作,因为这是第一次执行的任何信息.
我的猜测是,可能照顾放下一些初步框架的构建的嵌入式shell脚本的自我指涉的(没有这个词形容恰当这种行为?)语言?
compiler-construction bootstrapping interpreter coffeescript