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