是否有编写语言本身?

5 compiler-construction

好的,所以我知道,通常,一种语言是用另一种语言编写的(比如Python是用C语言编写的).

但是,有没有一种语言可以自己编写?显然,他们必须使用该语言的先前版本的编译器/解释器,这意味着,至少在最初,它将被用其他东西编写.

我意识到使用现有语言为新语言开发编译器会非常恼人和毫无意义,只能立即放弃它并用新语言编写新的编译器(然后使用原始编译器编译),但是我真的没有看到为什么不能这样做的原因(尽管如此,我确实知道为什么不这样做).

尽管如此,它曾经发生过吗?

Lam*_*a λ 10

是的,它叫做Bootstrapping.

在计算机科学中,bootstrapping是在目标编程语言中编写编译器(或汇编程序)的过程.应用此技术会导致自托管编译器.许多编程语言的许多编译器都是自举的,包括BASIC,ALGOL,C,Pascal,PL/I,Factor,Haskell,Modula-2,Oberon,OCaml,Common Lisp,Scheme,Java,Python,Scala等编译器.