Архитектура Каллисто: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) |
AtH (обсуждение | вклад) |
||
Строка 5: | Строка 5: | ||
* [[INTERPRET|Текстовый (внешний) интерпретатор]] воспринимает язык [[Каллисто]] и работает в двух режимах: с пульта (при [[BLK]]=0) и из [[блок]]а. Также [[текстовый интерпретатор]] может находиться в двух [[STATE|состояниях]]: | * [[INTERPRET|Текстовый (внешний) интерпретатор]] воспринимает язык [[Каллисто]] и работает в двух режимах: с пульта (при [[BLK]]=0) и из [[блок]]а. Также [[текстовый интерпретатор]] может находиться в двух [[STATE|состояниях]]: | ||
** [[Состояние исполнения|исполнения]] — вводимые слова исполняются сразу, как будут найдены в [[Словарь|словаре]] | ** [[Состояние исполнения|исполнения]] — вводимые слова исполняются сразу, как будут найдены в [[Словарь|словаре]] | ||
** [[Состояние компиляции|компиляции]] — вводимые слова компилируются в [[шитый код]], чтобы их можно было быстро исполнить позднее | ** [[Состояние компиляции|компиляции]] — вводимые слова компилируются в [[шитый код]], чтобы их можно было быстро (и неоднократно) исполнить позднее | ||
* [[Адресный интерпретатор|Адресный (внутренний) интерпретатор]] выполняет [[шитый код]], являющийся частью транслятора или созданный в результате компиляции программ, написанных на [[Каллисто]]. | * [[Адресный интерпретатор|Адресный (внутренний) интерпретатор]] выполняет [[шитый код]], являющийся частью транслятора или созданный в результате компиляции программ, написанных на [[Каллисто]]. | ||
Версия от 21:26, 9 мая 2016
Архитектура Каллисто впервые объединила два языка программирования, развивавшихся независимо друг от друга — входной язык советских ПМК и язык Форт, в первую очередь советские реализации Форта (Форт-ЕС и Форт ИТЭФ).
Алгоритмы
Сердце Каллисто составляют два интерпретатора:
- Текстовый (внешний) интерпретатор воспринимает язык Каллисто и работает в двух режимах: с пульта (при BLK=0) и из блока. Также текстовый интерпретатор может находиться в двух состояниях:
- исполнения — вводимые слова исполняются сразу, как будут найдены в словаре
- компиляции — вводимые слова компилируются в шитый код, чтобы их можно было быстро (и неоднократно) исполнить позднее
- Адресный (внутренний) интерпретатор выполняет шитый код, являющийся частью транслятора или созданный в результате компиляции программ, написанных на Каллисто.
Словарный запас
Подробнее см. статью Слова Каллисто по категориям
Каллистянские слова можно разбить на несколько мало пересекающихся групп:
- Общие — слова, имя и назначение которых практически одинаковы в Каллисто, советских ПМК и Форте. Примеры: + − MAX
- Традиционные — слова, взятые из входного языка советских ПМК и ЭКВМ с минимальными изменениями. Примеры: × ÷ /−/ ↔ $\pi$ x2 √ 1/x 10x ex ln lg sin cos tg arcsin arccos arctg НОП |X| [X] {X} СЧ ЗН ИПРГ
- Усовершенствованные — слова, развивающие входной язык советских ПМК и ЭКВМ. Примеры: ↑ Yˣ AND OR XOR NOT
- Фортовские — слова, имя и значение которых взяты из Форта или colorForth практически без изменений. Примеры: 1+ 1− / 2/ DROP OVER ROT MIN EMIT TYPE KEY ACCEPT CONSTANT VARIABLE ALLOT FILL ERASE BLANK AT FOR I J K NEXT IF ELSE THEN BEGIN UNTIL WHILE REPEAT AGAIN IMMEDIATE
- Адаптированные — слова Форта или colorForth, адаптированные к архитектуре Каллисто или МК-161. Примеры: APP VALUE FINDN . I. ↖ ↵ SPACE SPACES EKEY
- Родные — слова, имя или значение которых уникальны для Каллисто. Примеры: BFREE U@ VERSION TYPE1 ДALLOT DARK LIGHT INKEY
- Системные — слова для доступа к низкоуровневым возможностям системы «Электроники МК». Примеры: ИП П КАТ _RW
- Дополнительные — слова, отсутствующие в ядре Каллисто, определения которых предлагается включать в программы самостоятельно. См. Палитра Каллисто
Структуры данных
Основу структур данных Каллисто составляют два стека…
- Стек данных (десятичный)
- Стек возвратов (двоичный)
…и два словаря:
- Двоичный словарь (классический для Форта)
- Десятичный словарь (уникальный для Каллисто)
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |