Архитектура Каллисто: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
 
Строка 5: Строка 5:
== Алгоритмы ==
== Алгоритмы ==
Сердце [[Каллисто]] составляют два интерпретатора:
Сердце [[Каллисто]] составляют два интерпретатора:
* [[INTERPRET|Текстовый (внешний) интерпретатор]] воспринимает язык [[Каллисто]] и работает в двух режимах, получая входной поток с пульта (при [[BLK]]=0) и из [[блок]]а. Также [[текстовый интерпретатор]] может находиться в двух [[STATE|состояниях]]:
* [[INTERPRET|Текстовый (внешний) интерпретатор]] воспринимает язык [[Каллисто]] и работает в двух режимах, получая входной поток с пульта (при [[BLK]]=0) и из [[блок]]а. Вне зависимости от режима, [[текстовый интерпретатор]] может находиться в двух [[STATE|состояниях]]:
** [[Состояние исполнения|исполнения]] — вводимые слова исполняются сразу, как будут найдены в [[Словарь|словаре]]
** [[Состояние исполнения|исполнения]] — вводимые слова исполняются сразу, как будут найдены в [[Словарь|словаре]]
** [[Состояние компиляции|компиляции]] — вводимые слова компилируются в [[шитый код]], чтобы их можно было быстро (и неоднократно) исполнить позднее
** [[Состояние компиляции|компиляции]] — вводимые слова компилируются в [[шитый код]], чтобы их можно было быстро (и неоднократно) исполнить позднее

Текущая версия от 04:06, 26 февраля 2018

Язык Каллисто впервые архитектурно объединил два языка программирования, развивавшихся десятилетиями независимо друг от друга — входной язык советских ПМК и язык Форт, в первую очередь советские реализации Форта (Форт-ЕС и Форт ИТЭФ).

Вкратце Каллисто состоит из двух интерпретаторов, двух стеков и двух словарей.

Алгоритмы[править]

Сердце Каллисто составляют два интерпретатора:

Словарный запас[править]

Подробнее см. статью Слова Каллисто по категориям

Для удобства изучения встроенные каллистянские слова можно разбить на несколько мало пересекающихся групп:

Структуры данных[править]

Основу структур данных Каллисто составляют два стека…

…и два словаря:


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