Интуитивно, кажется, что компилятор для языка Foo
сам не может быть записан в Foo. Более конкретно, первый компилятор для языка Foo
не может быть записан в Foo, но любой последующий компилятор может быть записан для Foo
.
Но действительно ли это так? У меня есть очень смутное воспоминание о том, как читать язык, чей первый компилятор был написан в "самом себе". Возможно ли это, и если да, то как?