Создание собственного Интерпретатора, который может функционировать как компилятор

Для меня возможно создать мой собственный Интерпретатор, который мог затем быть преобразован в компилятор? Если да, как я иду о создании его?

7
задан Norman Ramsey 15 April 2010 в 04:32
поделиться

2 ответа

Это называется Второй проекцией Футамуры. Впервые он был описан проф. Йошихико Футамура в своей статье 1971 года Частичная оценка вычислительного процесса - подход к компилятору-компилятору (японский) , английская версия переиздавалась 28 лет назад потом.

Он использует Частичное вычисление , частично оценивая сам частичный вычислитель по отношению к интерпретатору, таким образом получая компилятор.

Итак, вам нужны два ингредиента: интерпретатор для вашего целевого языка, написанный на каком-то основном языке (который может быть, а может и не совпадать с целевым языком), и частичный оценщик, способный оценивать как интерпретатор, так и самого себя, в другими словами, он должен частично оценивать основной язык и сам должен быть написан на основном языке, который он может оценивать.

11
ответ дан 6 December 2019 в 23:03
поделиться

Уже упоминавшееся частичное оценка - один из возможных методов (очень требовательный к вычислениям, но, с другой стороны, довольно общий). Другой подход - метапрограммирование: если интерпретатор языка реализован в форме простого переводчика, нацеленного на другой интерпретируемый язык, очень легко перенастроить его позже на какой-либо компилируемый язык или заменить целевой интерпретатор компилятором.

0
ответ дан 6 December 2019 в 23:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: