Я студент информатики. Я хочу создать свой собственный язык программирования (базовый язык с несколькими инструкциями).
Я знаю, как сделать синтаксический анализатор, я уже сделал это в Perl. В статье я прочитал кое-что о компиляторе, компилятор сделан сам по себе.
Например, компилятор C написан на C. Как это возможно? Я могу создать свой собственный язык, но я не знаю, как я могу его выполнить? Есть идеи?
Это действительно хороший вопрос, и я могу написать блог проекта.
programming-languages
compilers
BaptisteL
источник
источник
Ответы:
Хитрость заключается в начальной загрузке . Сначала вы пишете компилятор для вашего языка (или его подмножество) на другом языке. Затем вы пишете компилятор для вашего языка (или большое подмножество того, что вы уже можете обрабатывать) на вашем языке. Вы используете прежний компилятор для компиляции нового компилятора, а затем новый компилятор может скомпилировать себя.
источник
Компилятор, который может компилировать свои собственные источники, называется компилятором с автономным размещением . Ранние компиляторы были написаны на другом языке. Например, первый компилятор C, вероятно, был написан на ассемблере. Вся хитрость в использовании бывшего компилятора более низкого уровня называется начальной загрузкой.
источник