Что такое мета-круговой переводчик

Может кто-нибудь объяснить мне, что такое мета-круговой интерпретатор? Определение в Википедии:

Метакруглый оценщик - это особый случай самоинтерпретатора, в котором существующие возможности родительского интерпретатора напрямую применяются к интерпретируемому исходному коду без какой-либо дополнительной реализации.

Но я не знаю, как понимать предложение: "самоинтерпретатор, в котором существующие возможности родительского интерпретатора непосредственно применяются к интерпретируемому исходному коду".

Здесь, на stackru, я нашел ответ, который говорит, что мета-циклический интерпретатор является самоинтерпретатором без каких-либо дополнительных функций, поэтому я довольно запутался.

заранее спасибо

1 ответ

Решение

Что тебе неясно? Упомянутое вами сообщение о переполнении стека максимально ясно. Допустим, вы изобрели свой собственный, очень базовый язык, назовите его Tiny ML для крошечного метаязыка (на самом деле не надо, это имя принято, часть ML).

Затем вы программируете интерпретатор, скажем, на C, для этого крошечного языка ml. Как только этот интерпретатор будет запущен, вы берете этот интерпретатор, который может запускать Tiny ML-код, и пишете другой интерпретатор в Tiny ML, который может обрабатывать гораздо более сложную версию Tiny ML, назовем этот язык Hyper ML. Там у вас это есть, ваш последний переводчик должен быть призрачным метакруглым переводчиком.

Другие вопросы по тегам