Метакруговой оценщик
-
Определение мета-циклического интерпретатора
- Мета-циклический интерпретатор определяет функции языка, используя возможности основного интерпретатора.
- Примеры мета-циклической оценки включают интерпретацию лямбда-выражений в Lisp.
-
Самоинтерпретатор и его роль
- Самоинтерпретатор — это мета-циклический интерпретатор, где интерпретируемый язык и язык интерпретации идентичны.
- Самоинтерпретаторы полезны для изучения языка и предоставляют замкнутое определение языковых конструкций.
-
Развитие и проблемы мета-циклических интерпретаторов
- Коррадо Бем описал конструкцию автономного компилятора в своей диссертации.
- Джон Си. Рейнольдс популяризировал термин и концепцию мета-циклических интерпретаторов в своей книге «Структура и интерпретация компьютерных программ».
- Стратегия оценки мета-циклического интерпретатора зависит от стратегии оценки определяющего языка.
- Рейнольдс исправил стратегию оценки, преобразовав самоинтерпретатор в стиль продолжения-прохождения.
-
Применение мета-циклических интерпретаторов
- Мета-циклические интерпретаторы используются для расширения или уменьшения языка, а также для создания инструментов, тесно интегрированных с языком программирования.
- Многие языки имеют мета-циклические реализации, включая Пролог, TeX и другие.
-
Примеры мета-циклических интерпретаторов
- Приведены примеры языков с мета-циклическими реализациями, включая Пико, ActorScript и другие.
- Некоторые языки имеют мета-циклические реализации через третьих лиц, например, Scala через Metascala.
-
Рекомендации и внешние ссылки
- Ссылки на книгу «Структура и интерпретация компьютерных программ» и на метаскала для дополнительной информации.
Полный текст статьи: