Редактирование: Архитектура Каллисто
Перейти к навигации
Перейти к поиску
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.
Текущая версия | Ваш текст | ||
Строка 5: | Строка 5: | ||
== Алгоритмы == | == Алгоритмы == | ||
Сердце [[Каллисто]] составляют два интерпретатора: | Сердце [[Каллисто]] составляют два интерпретатора: | ||
* [[INTERPRET|Текстовый (внешний) интерпретатор]] воспринимает язык [[Каллисто]] и работает в двух режимах, получая входной поток с пульта (при [[BLK]]=0) и из [[блок]]а. | * [[INTERPRET|Текстовый (внешний) интерпретатор]] воспринимает язык [[Каллисто]] и работает в двух режимах, получая входной поток с пульта (при [[BLK]]=0) и из [[блок]]а. Также [[текстовый интерпретатор]] может находиться в двух [[STATE|состояниях]]: | ||
** [[Состояние исполнения|исполнения]] — вводимые слова исполняются сразу, как будут найдены в [[Словарь|словаре]] | ** [[Состояние исполнения|исполнения]] — вводимые слова исполняются сразу, как будут найдены в [[Словарь|словаре]] | ||
** [[Состояние компиляции|компиляции]] — вводимые слова компилируются в [[шитый код]], чтобы их можно было быстро (и неоднократно) исполнить позднее | ** [[Состояние компиляции|компиляции]] — вводимые слова компилируются в [[шитый код]], чтобы их можно было быстро (и неоднократно) исполнить позднее | ||
* [[Адресный интерпретатор|Адресный (внутренний) интерпретатор]] выполняет [[шитый код]], являющийся частью транслятора или созданный в результате компиляции | * [[Адресный интерпретатор|Адресный (внутренний) интерпретатор]] выполняет [[шитый код]], являющийся частью транслятора или созданный в результате компиляции программ, написанных на [[Каллисто]]. | ||
== Словарный запас == | == Словарный запас == | ||
Строка 16: | Строка 16: | ||
* Общие — слова, имя и назначение которых практически одинаковы в [[Каллисто]], советских [[ПМК]] и Форте. Примеры: [[Слово +|+]] [[Слово −|−]] | * Общие — слова, имя и назначение которых практически одинаковы в [[Каллисто]], советских [[ПМК]] и Форте. Примеры: [[Слово +|+]] [[Слово −|−]] | ||
* Традиционные — слова, унаследованные из входного языка советских [[ПМК]] и [[ЭКВМ]] с минимальными изменениями. Примеры: [[Слово ×|×]] [[Слово ÷|÷]] [[Слово /−/|/−/]] [[Слово ↔|↔]] [[Слово Π|$\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]] [[OR]] [[XOR]] [[NOT]] [[MAX]] | * Усовершенствованные — слова, творчески развивающие [[ЯМК|входной язык]] советских [[ПМК]] и [[ЭКВМ]]. Примеры: [[Слово ↑|↑]] [[Yˣ]] [[Слово AND|AND]] [[Слово OR|OR]] [[Слово XOR|XOR]] [[Слово NOT|NOT]] [[MAX]] | ||
* Фортовские — слова, имя и значение которых взяты из Форта или {{colorForth}} практически без изменений. Примеры: [[1+]] [[1−]] [[Слово /|/]] [[MOD]] [[Слово /MOD|/MOD]] [[2/]] [[Слово @|@]] [[Слово !|!]] [[DROP]] [[OVER]] [[ROT]] [[MIN]] [[EMIT]] [[TYPE]] [[KEY]] [[ACCEPT]] [[BASE]] [[STATE]] [[CONSTANT]] [[VARIABLE]] [[HERE]] [[Слово ,|,]] [[C,]] [[ALLOT]] [[FILL]] [[ERASE]] [[BLANK]] [[AT]] [[FOR]] [[Слово I|I]] [[Слово J|J]] [[Слово K|K]] [[NEXT]] [[IF]] [[ELSE]] [[THEN]] [[BEGIN]] [[UNTIL]] [[WHILE]] [[REPEAT]] [[AGAIN]] [[IMMEDIATE]] [[WORD]] [[WORDS]] [[BELL]] | * Фортовские — слова, имя и значение которых взяты из Форта или {{colorForth}} практически без изменений. Примеры: [[1+]] [[1−]] [[Слово /|/]] [[MOD]] [[Слово /MOD|/MOD]] [[2/]] [[Слово @|@]] [[Слово !|!]] [[DROP]] [[OVER]] [[ROT]] [[MIN]] [[EMIT]] [[TYPE]] [[KEY]] [[ACCEPT]] [[BASE]] [[STATE]] [[CONSTANT]] [[VARIABLE]] [[HERE]] [[Слово ,|,]] [[C,]] [[ALLOT]] [[FILL]] [[ERASE]] [[BLANK]] [[AT]] [[FOR]] [[Слово I|I]] [[Слово J|J]] [[Слово K|K]] [[NEXT]] [[IF]] [[ELSE]] [[THEN]] [[BEGIN]] [[UNTIL]] [[WHILE]] [[REPEAT]] [[AGAIN]] [[IMMEDIATE]] [[WORD]] [[WORDS]] [[BELL]] | ||
** Когда фортовское слово соответствует стандарту ANS, его называют ''стандартным''. | ** Когда фортовское слово соответствует стандарту ANS, его называют ''стандартным''. | ||
* Адаптированные — {{colorForth}} и других диалектов Форта, адаптированные к архитектуре [[Каллисто]] или МК-161. Примеры: [[×/]] [[×/MOD]] [[APP]] [[VALUE]] [[FINDN]] [[Слово .|.]] [[I.]] [[Слово ↖|↖]] [[Слово ↵|↵]] [[SPACE]] [[SPACES]] [[EKEY]] [[DARK]] [[LIGHT]] [[+BOX]] [[BEEP]] | * Адаптированные — {{colorForth}} и других диалектов Форта, адаптированные к архитектуре [[Каллисто]] или МК-161. Примеры: [[×/]] [[×/MOD]] [[APP]] [[VALUE]] [[FINDN]] [[Слово .|.]] [[I.]] [[Слово ↖|↖]] [[Слово ↵|↵]] [[SPACE]] [[SPACES]] [[EKEY]] [[DARK]] [[LIGHT]] [[+BOX]] [[BEEP]] | ||
* Родные — слова, имя или значение которых уникальны для [[Каллисто]]. Примеры: [[U@]] [[VERSION]] [[TYPE1]] [[ДHERE]] [[Д,]] [[ДALLOT]] [[INKEY]] [[BUFBLK]] [[FONT! | * Родные — слова, имя или значение которых уникальны для [[Каллисто]]. Примеры: [[BFREE]] [[U@]] [[VERSION]] [[TYPE1]] [[ДHERE]] [[Д,]] [[ДALLOT]] [[INKEY]] [[BUFBLK]] [[FONT!]] | ||
* Системные — слова для доступа к низкоуровневым возможностям системы «Электроники МК». Примеры: [[ | * Системные — слова для доступа к низкоуровневым возможностям системы «Электроники МК». Примеры: [[ИП]] [[П]] [[КАТ]] [[‗RW|_RW]] [[(PLAY)]] [[ATR]] [[‗FONT|_FONT]] | ||
* Дополнительные — слова, отсутствующие в ядре [[Каллисто]], определения которых предлагается включать в программы самостоятельно. См. [[Палитра Каллисто]] | |||
* Дополнительные — слова, отсутствующие в ядре [[Каллисто]], определения которых предлагается включать в | |||
== Структуры данных == | == Структуры данных == |