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