Адресный интерпретатор

Материал из ПМК вики
Перейти к навигации Перейти к поиску

Адресный интерпретатор (англ. address interpreter) — интерпретатор косвенного шитого кода.

Адресный интерпретатор Каллисто 1.0 использует единое адресное пространство, что позволяет исполнять шитый код как из байтовой памяти, так и из памяти программ.

Если поток исполнения команд уподобить току крови, адресный интерпретатор — сердце Каллисто. Каждая передача управления от одного примитива к другому проходит через адресный интерпретатор. Именно он «гонит кровь» через определения высокого уровня, «оживляя» шитый код и заставляя его работать.

К сожалению, сейчас (по состоянию на июнь 2016 года) адресный интерпретатор написан на языке МК, что сильно ограничивает быстродействие Каллисто. Оптимизация адресного интерпретатора по быстродействию, как и прошивка его в ПЗУ микроконтроллера является задачей, важной для успеха Каллисто.

История

Впервые косвенный шитый код (англ. indirect-threaded code) появился в Форте 1971-73 годах, когда Чак Мур перенёс транслятор на DEC PDP-11 в National Radio Astronomy Observatory (англ., Шарлотсвилл). С тех пор разные варианты шитого кода применяется в подавляющем числе различных реализаций Форта.

Первый адресный интерпретатор для PDP-11 представлял из себя 2-словный макрос на форт-ассемблере:

    : NEXT   IP )+ W MOV  W )+ ) JMP ;


  У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их.


  Это заготовка статьи. Вы можете помочь проекту, дополнив её.