Текущая версия |
Ваш текст |
Строка 1: |
Строка 1: |
| [[Файл:Callisto-161.JPG|thumb|right|360px|''Каллисто'', запущенная на «Электронике МК-161» с накладной клавиатурой.]] | | '''Каллисто''' — компактный диалект языка Форт с элементами colorFORTH, написанный для [[МК-161]] на [[РЯМК]] и предназначенный для программирования «на борту». Пока существует в альфа-версии, но уже позволяет определять новые слова, редактировать и компилировать экраны, успешно переносить на МК-161 старые программы, написанные на языке Форт. Актуальная версия — 0.3.5a. |
|
| |
|
| '''Каллисто''' — хэкерское<ref>Не имеющее отношение к [[НПП «СЕМИКО»|производителю]] [[Электроника МК-161|«Электроники МК-161»]]. Русское слово хэкер происходит от английского слова [https://en.wikipedia.org/wiki/Hacker_(expert) hacker], но исключает паразитное значение «компьютерный преступник».</ref> расширение входного языка [[Электроника МК-161|«Электроники МК-161»]], предназначенное для разработки приложений «на борту» (без использования компьютера). '''Простые вычисления для [[«Электроники МК-61»]] и [[«Электроники МК-161»]] можно набивать и выполнять в строке ''Каллисто'' без изменений''', только добавьте пробел и [[Слово .|точку]] в конце для вывода результата.
| | Вместо фортовского цикла LOOP Каллисто использует более простой и быстрый цикл [[FOR]] из colorFORTH, а «бесконечный» стек содержит 12-разрядные десятичные числа ЭКВМ с плавающей запятой. Помимо обычной (для Форта) целочисленной операций деления, Каллисто использует традиционное для ПМК деление с плавающей запятой. Сохранены традиционные для ПМК обозначения операций умножения, подъёма стека, а также русскоязычные операции ПМК — [[ЗН]] , [[СЧ]] и т.д. |
|
| |
|
| Среда ''Каллисто'' написана для [[Электроника МК-161|«Электроники МК-161»]] на [[РЯМК|расширенном языке МК]] и является компактным диалектом Форта с элементами {{colorForth}}. Распространяется под свободной лицензией с авторским левом ([https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BF%D0%B8%D0%BB%D0%B5%D1%84%D1%82 copyleft]), за другой формой лицензирования обращайтесь к правообладателю.
| | В отличии от ранних диалектов Форт экран Каллисто содержит 48 строк и занимает 3 Кб. Из-за того, что строка экрана занимает традиционные 64 символа, использование встроенного в ЭКВМ редактора является затруднительным. Программистам Каллисто предлагает строковый редактор, а также возможность написать собственный редактор экранов. Каллисто использует накладную алфавитно-цифровую клавиатуру для быстрого посимвольного ввода команд и данных. |
|
| |
|
| Транслятор ''Каллисто Классик'' (версия 1.0) выпущен 7 ноября 2017 года.
| | Вводимые слова компилируются в словарь, находящийся в области двоичных данных. В этой же области располагается стек возвратов. Стек данных располагается в области десятичных регистров. Там же располагается «десятичный словарь», где хранятся десятичные переменные типа [[VALUE]] |
|
| |
|
| Подробное описание слов ''Каллисто'' с использованием [[Стековая нотация|стековой нотации]] см. в статье [[Слова Каллисто по категориям]]. Также см. статью [[Архитектура Каллисто]] и официальное Руководство по эксплуатации ([http://the-hacker.ru/2017/Callisto.pdf pdf], 40 стр.).
| |
|
| |
|
| == Краткая история Форта (1958-2016) == | | == Словарь Каллисто == |
| Интересно, что разработка Форта началась в 1958 году, когда [https://ru.wikipedia.org/wiki/%D0%A1%D0%BC%D0%B8%D1%82%D1%81%D0%BE%D0%BD%D0%BE%D0%B2%D1%81%D0%BA%D0%B0%D1%8F_%D0%B0%D1%81%D1%82%D1%80%D0%BE%D1%84%D0%B8%D0%B7%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BE%D0%B1%D1%81%D0%B5%D1%80%D0%B2%D0%B0%D1%82%D0%BE%D1%80%D0%B8%D1%8F Смитсоновская астрофизическая обсерватория] наняла [https://ru.wikipedia.org/wiki/%D0%9C%D1%83%D1%80,_%D0%A7%D0%B0%D1%80%D0%BB%D1%8C%D0%B7_%28%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82%29 Чака Мура], студента [https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%81%D1%81%D0%B0%D1%87%D1%83%D1%81%D0%B5%D1%82%D1%81%D0%BA%D0%B8%D0%B9_%D1%82%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B8%D0%BD%D1%81%D1%82%D0%B8%D1%82%D1%83%D1%82 МТИ], для расчёта на [https://ru.wikipedia.org/wiki/IBM_704 IBM EDPM 704] орбиты и оптического отслеживания советского [https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D1%83%D1%82%D0%BD%D0%B8%D0%BA-1 Спутника], запущенного 4 октября 1957 года абсолютно неожиданно для США.<ref>[http://www.colorforth.com/HOPL.html «Forth - The Early Years» Chuck Moore, 1991] ''(англ.)''</ref>
| | * [[COLD]] |
| | | * [[WARM]] |
| Имя FORTH язык обрёл в 1968 году, когда интерпретатор заработал на миникомпьютере IBM 1130 с графическим дисплеем IBM 2250 (16-битный процессор с ОЗУ 8К, дисководом, клавиатурой, принтером и ридером/панчером перфокарт). Говорят, что язык должен был называться FOURTH («четвёртое» поколение языков программирования), но ограничения операционной системы позволили дать файлу только пятибуквенное имя. Тогда Чак Мур работал в Mohasco Industries, Inc ([https://en.wikipedia.org/wiki/Amsterdam_%28city%29,_New_York Amsterdam NY], ''англ.'').
| | * [[BYE]] |
| | | * [[VERSION]] |
| Уже в 1976 году Форт был принят [https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B6%D0%B4%D1%83%D0%BD%D0%B0%D1%80%D0%BE%D0%B4%D0%BD%D1%8B%D0%B9_%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%BD%D0%BE%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D1%81%D0%BE%D1%8E%D0%B7 Международным Астрономическим Союзом], как стандартный язык. Первые влиятельные стандарты Форта появились в 1979 и 1983 годах. В 1980-90'ых годах Форт начал широко распространяться в СССР — чуть позже [[ПМК]] и независимо от них.
| | * [[EXECUTE]] |
| | | * [[?BREAK]] |
| Тогда же появились первые советские реализации Форта, из которых на ''Каллисто'' сильнее всего повлияли ФОРТ-ЕС (Ленинград, 1986) и FORTH ИТЭФ (Москва, 1988), чьи исходные тексты были опубликованы в СССР их авторами. Эти «исходники» выложены на вики в качестве исторических примеров отечественной реализации слов ''Каллисто''.
| | * [[(LITERAL)]] |
| | | * [[TYPE (Каллисто)|TYPE]] |
| Последние 20 лет общепризнанным в России и зарубежом является международный стандарт Форта ([http://www.iso.org/iso/ru/home/store/catalogue_tc/catalogue_detail.htm?csnumber=26479 ISO/IEC 15145:1997]), созданный на основе американского стандарта [http://forth.sourceforge.net/standard/dpans/dpans.htm ANS Forth] 1994 года. Ему на смену неторопливо готовится [http://www.forth200x.org/forth200x.html новый стандарт Форта] (условно называемый Форт-2012), черновики которого были учтены при разработке ''Каллисто'' наряду с критикой стандарта ANS. Например, с помощью [[Префиксы чисел|стандартных префиксов Форта]] для каждого числа можно индивидуально задавать систему счисления.
| | * [[TYPE1]] |
| | | * [[?BRANCH]] |
| Продолжателем Форта, повлиявшим на ''Каллисто'', является и язык {{colorForth}}, развиваемый Чаком Муром в одиночку. Несмотря на явное влияние зарубежных стандартов языка Форт, при разработке ''Каллисто'' приоритет отдавался совместимости с отечественными [[ПМК]], а также удобству и скорости работы на [[Электроника МК-161|«Электронике МК-161»]] — вообще говоря, не предназначенной [[НПП «СЕМИКО»|разработчиками из Новосибирска]] для алгоритмических языков высокого уровня.
| | * [[BRANCH]] |
| | | * [[(FOR)]] |
| == Основные отличия ''Каллисто'' от Форта ==
| | * [[(NEXT)]] |
| Вместо фортовского цикла DO…LOOP ''Каллисто'' использует более простой и быстрый цикл [[FOR]]…[[NEXT]] из {{colorForth}}, а [[стек данных]] содержит привычные 12-разрядные [[десятичные числа]] ЭКВМ. Для отделения дробной части числа от целой служит десятичная запятая, как в ПМК и ЭКВМ.
| | * [[(FIND)]] |
| | | * [[DIGIT]] |
| [[Файл:CallistoMag.png|left||264px|]]Помимо стандартных для Форта операций деления с остатком, ''Каллисто'' использует [[÷|традиционное для ПМК]] [[Слово ÷|деление с десятичной плавающей запятой]]. Сохранены традиционные для ПМК обозначения операций [[Слово ×|умножения]], [[Слово ↑|подъёма стека]], [[Слово ↔|обмена двух чисел на вершине стека]], математических функций, а также русскоязычные операции ПМК — [[ЗН]] , [[СЧ]] и т.д. | | * [[РЕГ!]] |
| | | * [[РЕГ@]] |
| Предусмотрены слова [[Слово ИП|ИП]] и [[Слово П|П]] для обращения к [[Регистры функций МК|функциональным]] и другим [[Регистр памяти данных|регистрам ЭКВМ]] по их привычным номерам. В названиях слов ''Каллисто'' русские буквы можно использовать наряду с английскими, причём заглавные и строчные буквы считаются одинаковыми.
| | * [[0=]] |
| | | * [[0-больше (Каллисто)|0>]] |
| В Каллисто 1.0 используется [[единое адресное пространство|единая адресация]], объединяющая разрозненные адресные пространства ЭКВМ. При этом размер ''адресуемой единицы'' памяти зависит от адреса и может колебаться от 1 байта до восьми (12-разрядные [[десятичные числа]]). Беззнаковые 16-битные целые считываются в [[Стек данных|стек]] из двух последовательных регистров памяти с помощью слова [[U@]]. Как принято в ЭКВМ, старший байт идёт по младшему адресу. Первые 10000 адресов памяти представляют из себя [[память программ]], в которой находится исполняемый код ''Каллисто'' на [[ЯМК|входном языке МК-161]]. По каждому из этих 10 тысячи адресов содержится 1 байт, доступный только для чтения.
| | * [[0-меньше (Каллисто)|0<]] |
| | | * [[= (Каллисто)|=]] |
| Из-за невозможности исполнять [[Система команд ЭКВМ|код МК-161]] из [[Память двоичных данных|области данных]] при написании порождающих слов вместо современной конструкции CREATE…DOES> используется устаревший, но не менее мощный механизм [[⟨BUILDS|<BUILDS]] … [[DOES⟩|DOES>]]
| | * [[меньше (Каллисто)|<]] |
| | | * [[больше (Каллисто)|>]] |
| После нажатия [[Клавиша Ввод|клавиши {{Синяя клавиша|Ввод}}]] введённые слова либо исполняются сразу, либо компилируются в [[словарь]], находящийся в [[Память двоичных данных|области двоичных данных]] ([[Единое адресное пространство|адреса]] 11000…15095). В этой же области располагается [[Стек возвратов Каллисто|стек возвратов]] — растущий «вниз», навстречу [[Словарь|словарю]]. [[Стек данных|«Бесконечный» стек данных]] располагается в области [[Регистр десятичных данных|десятичных регистров]] ([[Единое адресное пространство|адреса]] 10000…10999). Навстречу [[Стек данных|десятичному стеку]] растёт [[десятичный словарь]], где хранятся значения десятичных литералов и удобных переменных типа [[VALUE]].
| | * [[ENCL]] |
| | | * [[EMI]] |
| Из-за ограничений платформы [[буфер]] в ''Каллисто'' только один ([[Единое адресное пространство|адреса]] 15096…18167), а размер загружаемого в него [[блок]]а составляет 3 Кбайта.
| | * [[EMIT]] |
| | | * [[C.]] |
| == Приложения и их распространение ==
| | * [[↵ (Каллисто)|↵]] |
| Разработанные пользователем программы на ''Каллисто'' называются ''приложениями'' и могут распространяться со средой ''Каллисто'' в форме ''пакета'' — набора файлов для «Электроники МК-161», объединённых общим именем. Приложения могут запускаться сразу же после запуска ''Каллисто'' (см. слово [[APP]]) и возвращаться в [[Режим автоматической работы|автоматический режим]] после своего выполнения (см. слово [[BYE]]).
| | * [[BELL]] |
| | | * [[BEEP]] |
| Продвинутые разработчики могут использовать в своих приложениях программы для «Электроники МК-161» (расположенные в [[Память программ|памяти программ]]), изменяя исходный текст среды ''Каллисто''.
| | * [[(PLAY)]] |
| | | * [[PLOT]] |
| === Исходный текст ===
| | * [[DRAW]] |
| Помимо ввода с клавиатуры, исходный текст приложений может располагаться на внутреннем диске МК-161 в виде [[экран]]а — в пронумерованном [[блок]]е (файле текста), откуда этот исходный текст загружается командой [[LOAD]]
| | * [[ГРФ]] |
| | | * [[↖ (Каллисто)|↖]] |
| В отличии от ранних диалектов Форта [[Экран|экран Каллисто]] содержит 48 строк, занимает 3 Кб и при интерпретации считывается из [[буфер]]а, расположенного в [[текст|области текста]]. Из-за того, что строка [[экран]]а занимает традиционные 64 символа, использование [[Редактор текста|встроенного в ЭКВМ редактора]] является затруднительным. Разработчикам ''Каллисто'' предлагает перенесённый с Форта строковый редактор EDIT, а также возможность написать собственный редактор [[экран]]ов. Удобней всего использовать ''Каллисто'' с алфавитно-цифровой накладкой на клавиатуру («оверлеем») для быстрого посимвольного ввода команд и данных.
| | * [[AT-XY]] |
| | | * [[DISKOFF]] |
| [[Экран]]ы ''Каллисто'' можно передавать на компьютер и распространять в файлах с расширением mkt. В дистрибутиве ''Каллисто'' есть исходный текст компьютерной программы listmkt. Эта программа позволяет преобразовывать файлы mkt в текстовые, которые человеку легко читать и редактировать. | | * [[KEY]] |
| | | * [[ACCEPT]] |
| Несмотря на техническую возможность передавать [[экран]]ы с исходным текстом на компьютер и обратно, ''Каллисто'' рассчитана на то, чтобы вести разработку прямо на борту [[Электроника МК-161|«Электроники МК-161»]], без использования иностранных программ и зарубежного оборудования.
| | * [[1+]] |
| | | * [[2+]] |
| === Исполняемый код ===
| | * [[1-]] |
| Откомпилированные приложения хранятся в памяти «Электроники МК-161», откуда слово [[SAVE"]] сохраняет их на внутренний диск. Слово [[LOAD"]] позволяет быстро (за несколько секунд) загрузить и выполнить приложение.
| | * [[2×]] |
| | | * [[2/]] |
| Исполняемый код представляет собой два файла, содержащих образы двоичных (mkb) и десятичных (mkd) регистров сразу после компиляции вашего приложения. Для запуска такого приложения потребуется в точности та исполняемая версия ''Каллисто'', которой приложение было откомпилировано. Поэтому удобней всего хранить исполняемый код в виде ''пакета'' из трёх файлов под одним именем, среди которых есть переименованный исполняемый файл ''Каллисто'' (Callisto.mkp). Переменная [[APP]] обеспечит, при необходимости, автозапуск вашего приложения.
| | * [[2÷]] |
| | | * [[+ (Каллисто)|+]] |
| Свободная лицензия ''Каллисто'' запрещает закрытие исходного текста транслятора. Для соблюдения этой лицензии при распространении вашего исполняемого кода предлагается включить в дистрибутив (их можно вынести в отдельный подкаталог) два дополнительных файла, технически не требующихся для запуска вашей программы на «Электронике»:
| | * [[- (Каллисто)|-]] |
| * исходный текст использованной версии ''Каллисто'', содержащий все внесённые в него изменения (Callisto.mkl) | | * [[× (Каллисто)|×]] |
| * текст свободной лицензии, по которой распространяется эта (стандартная или изменённая вами) версия ''Каллисто'', например PRAVO.TXT | | * [[÷ (Каллисто)|÷]] |
| | | * [[/ (Каллисто)|/]] |
| Всего получается пять обязательных файлов, которые для удобства предлагается упаковать в один архив дистрибутива — словно пять пальцев одной ладони складываются в кулак. В этот же архив можно добавить документацию на ваше приложение и остальные файлы, которые вы сочтёте полезными для ваших пользователей.
| | * [[MOD]] |
| | | * [[/MOD]] |
| '''Включать в дистрибутив исходный текст ваших программ не обязательно — вы сами свободно выбираете лицензию для распространения своих авторских материалов.''' Защита от закрытия исходного кода ([https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BF%D0%B8%D0%BB%D0%B5%D1%84%D1%82 «авторское лево»], ''англ.'' copyleft) распространяется только на сам транслятор ''Каллисто'', защищённый законами об авторском праве (и на любые программы, использующие его код).
| | * [[× (Каллисто)|×]] |
| | | * [[×/]] |
| Приложения, написанные вами на ''Каллисто'', вы вправе распространять под любой лицензией.
| | * [[×/MOD]] |
| | | * [[NEGATE]] |
| == Примечания ==
| | * [[Больше-меньше (Каллисто)|><]] |
| <references />
| | * [[S-больше-D (Каллисто)|S>D]] |
| | * [[Bar-X-bar (Каллисто)||X|]] |
| | * [[AND]] |
| | * [[OR]] |
| | * [[XOR]] |
| | * [[INVERT]] |
| | * [[MIN]] |
| | * [[MAX]] |
| | * [[10ˣ|10<sup>x</sup>]] |
| | * [[Eˣ|E<sup>x</sup>]] |
| | * [[LG]] |
| | * [[LN]] |
| | * [[X²|X<sup>2</sup>]] |
| | * [[√ (Каллисто)|√]] |
| | * [[1/X (Каллисто)|1/X]] |
| | * [[Yˣ|Y<sup>x</sup>]] |
| | * [[СЧ]] |
| | * [[ЗН]] |
| | * [[lbr-X-rbr (Каллисто)|[X]]] |
| | * [[lbc-X-rbc (Каллисто)|{X}]] |
| | * [[DEGREES]] |
| | * [[RADIANS]] |
| | * [[ARCSIN]] |
| | * [[ARCCOS]] |
| | * [[ARCTG]] |
| | * [[SIN]] |
| | * [[COS]] |
| | * [[TG]] |
| | * [[SP@]] |
| | * [[!SP]] |
| | * [[RP@]] |
| | * [[!RP]] |
| | * [[EXIT]] |
| | * [[LEAVE]] |
| | * [[UNLOOP]] |
| | * [[больше-R (Каллисто)|>R]] |
| | * [[R-больше (Каллисто)|R>]] |
| | * [[I (Каллисто)|I]] |
| | * [[LEV]] |
| | * [[PICK]] |
| | * [[OVER]] |
| | * [[↔ (Каллисто)|↔]] |
| | * [[2SWAP]] |
| | * [[↑ (Каллисто)|↑]] |
| | * [[?DUP]] |
| | * [[2DUP]] |
| | * [[ROT]] |
| | * [[2DROP]] |
| | * [[DROP]] |
| | * [[CMOVE]] |
| | * [[CMOVE-больше (Каллисто)|CMOVE>]] |
| | * [[FILL]] |
| | * [[ERASE]] |
| | * [[BLANK]] |
| | * [[HOLD]] |
| | * [[TIB]] |
| | * [[+!]] |
| | * [[TOGGLE]] |
| | * [[@ (Каллисто)|@]] |
| | * [[U@]] |
| | * [[C@]] |
| | * [[! (Каллисто)|!]] |
| | * [[C!]] |
| | * [[BODY-больше (Каллисто)|BODY>]] |
| | * [[!CSP]] |
| | * [[HERE]] |
| | * [[ALLOT]] |
| | * [[ДHERE]] |
| | * [[ДALLOT]] |
| | * [[lbr (Каллисто)|[]] |
| | * [[rbr (Каллисто)|]]] |
| | * [[HEX]] |
| | * [[DECIMAL]] |
| | * [[-TRAILING]] |
| | * [[UPPER]] |
| | * [[DEFINITIONS]] |
| | * [[UPDATE]] |
| | * [[X (Каллисто)|X]] |
| | * [[Двоеточие (Каллисто)|:]] |
| | * [[; (Каллисто)|;]] |
| | * [[CONSTANT]] |
| | * [[VARIABLE]] |
| | * [[VALUE]] |
| | * [[DOES-больше (Каллисто)|DOES>]] |
| | * [[F-решётка-больше (Каллисто)|F#>]] |
| | * [[F-решётка-S (Каллисто)|F#S]] |
| | * [[меньше-F-решётка (Каллисто)|<F#]] |
| | * [[0 (Каллисто)|0]] |
| | * [[1 (Каллисто)|1]] |
| | * [[2 (Каллисто)|2]] |
| | * [[3 (Каллисто)|3]] |
| | * [[π (Каллисто)|$\pi$]] |
| | * [[BL]] |
| | * [[C/L]] |
| | * [[B/BUF]] |
| | * [[RT (Каллисто)|RT]] |
| | * [[RZ (Каллисто)|RZ]] |
| | * [[RY (Каллисто)|RY]] |
| | * [[RX (Каллисто)|RX]] |
| | * [[S0]] |
| | * [[R0 (Каллисто)|R0]] |
| | * [[ДDP]] |
| | * [[WIDTH]] |
| | * [[WARNING]] |
| | * [[FENCE]] |
| | * [[DP]] |
| | * [[VOCL]] |
| | * [[AUTOEXEC]] |
| | * [[GRXY]] |
| | * [[BLK]] |
| | * [[больше-IN (Каллисто)|>IN]] |
| | * [[SCR]] |
| | * [[OFFSET]] |
| | * [[CONTEXT]] |
| | * [[CURRENT]] |
| | * [[STATE]] |
| | * [[BASE]] |
| | * [[DPL]] |
| | * [[CSP]] |
| | * [[R-решётка (Каллисто)|R#]] |
| | * [[HLD]] |
| | * [[$EX]] |
| | * [[ERB]] |
| | * [[SAVIN]] |
| | * [[, (Каллисто)|,]] |
| | * [[C,]] |
| | * [[Д,]] |
| | * [[LATEST]] |
| | * [[SPACE]] |
| | * [[N-больше-LINK (Каллисто)|N>LINK]] |
| | * [[NAME-больше|NAME>]] |
| | * [[N-больше-BODY|N>BODY]] |
| | * [[?ERROR]] |
| | * [[?COMP]] |
| | * [[?EXEC]] |
| | * [[?PAIR]] |
| | * [[?CSP]] |
| | * [[?LOAD]] |
| | * [[COMPILE]] |
| | * [[SMUDGE]] |
| | * [[(;CODE)]] |
| | * [[меньше-BUILDS|<BUILDS]] |
| | * [[COUNT]] |
| | * [[(.")]] |
| | * [[."]] |
| | * [[.(]] |
| | * [[QUERY]] |
| | * [[\0 (Каллисто)|\0]] |
| | * [[PAD]] |
| | * [[WORD]] |
| | * [[CONVERT]] |
| | * [[FINDN]] |
| | * [[NUMBER]] |
| | * [[FL]] |
| | * [[ERROR (Каллисто)|ERROR]] |
| | * [[ID.]] |
| | * [[CREATE]] |
| | * [[lbr-COMPILE-rbr (Каллисто)|[COMPILE]]] |
| | * [[TO]] |
| | * [[LITERAL]] |
| | * [[FLITERAL]] |
| | * [[?STACK]] |
| | * [[INTERPRET]] |
| | * [[IMMEDIATE]] |
| | * [[VOCABULARY]] |
| | * [[(]] |
| | * [[QUIT]] |
| | * [[ABORT]] |
| | * [[EMPTY-BUFFERS]] |
| | * [[SAVE-BUFFERS]] |
| | * [[FLUSH]] |
| | * [[BUFFER]] |
| | * [[BLOCK]] |
| | * [[(LINE)]] |
| | * [[MESSAGE]] |
| | * [[LOAD]] |
| | * [[\ (Каллисто)|\]] |
| | * [[\S]] |
| | * [[---больше (Каллисто)|-->]] |
| | * [['N]] |
| | * [[lbr-'-rbr (Каллисто)|[']]] |
| | * [[больше-MARK (Каллисто)|>MARK]] |
| | * [[больше-RESOLVE (Каллисто)|>RESOLVE]] |
| | * [[меньше-MARK (Каллисто)|<MARK]] |
| | * [[меньше-RESOLVE (Каллисто)|<RESOLVE]] |
| | * [[UNTIL]] |
| | * [[AGAIN]] |
| | * [[BEGIN]] |
| | * [[THEN]] |
| | * [[ELSE]] |
| | * [[IF]] |
| | * [[WHILE]] |
| | * [[REPEAT]] |
| | * [[FOR]] |
| | * [[NEXT]] |
| | * [[SPACES]] |
| | * [[I-решётка-больше (Каллисто)|I#>]] |
| | * [[SIGN]] |
| | * [[I-решётка (Каллисто)|I#]] |
| | * [[I-решётка-S (Каллисто)|I#S]] |
| | * [[меньше-I-решётка (Каллисто)|<I#]] |
| | * [[(.)]] |
| | * [[I.]] |
| | * [[. (Каллисто)|.]] |
| | * [[I.R]] |
| | * [[LIST]] |
| | * [[INDEX]] |
| | * [[WORDS]] |
| | * [[COPY]] |
| | * [[DEPTH]] |
| | * [[DUMP]] |
| | * [[.S]] |
| | * [[КАТ]] |
| | * [[SAVE-TEXT]] |
| | * [[RGRW]] |
| | * [[LORW]] |
| | * [[R/W]] |
| | * [[SAVE"]] |
| | * [[LOAD"]] |
| | * [[;CODE]] |
| | * [[FORTH]] |
| | * [[TASK]] |
|
| |
|
| == Ссылки == | | == Ссылки == |
| * См. [[Список встроенных слов Каллисто]], [[Слова Каллисто по категориям]] и [[Палитра Каллисто]]
| | * [https://vk.com/topic-10838600_30361028 Обсуждение Каллисто в Контакте] и [http://arbinada.com/pmk/ru/node/1195 на сайте Арбинады] |
| * См. также учебные статьи [[Первое знакомство с Каллисто]] и [[Простые программы на Каллисто]]
| | * [http://the-hacker.ru/2015/Callisto-0.3.5a.zip Каллисто v0.3.5a], последняя актуальная версия Каллисто |
| * [https://vk.com/topic-10838600_30361028 Обсуждение Каллисто в Контакте], [http://mk-152.livejournal.com/53935.html в живом журнале] и [http://arbinada.com/pmk/ru/node/1195 на сайте Арбинады] | | * Языки [https://ru.wikipedia.org/wiki/%D0%A4%D0%BE%D1%80%D1%82_%28%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%29 Форт] и [https://ru.wikipedia.org/wiki/ColorForth colorFORTH] в Википедии |
| * [http://the-hacker.ru/2017/Callisto-1.zip Каллисто Классик 1.0], последняя актуальная версия ''Каллисто'' и [http://the-hacker.ru/Callisto.html её исходный текст] | |
| * [https://www.youtube.com/watch?v=YPBFf55AAD4 Видеообзор Каллисто v0.8б] на YouTube
| |
| * Языки [https://ru.wikipedia.org/wiki/%D0%A4%D0%BE%D1%80%D1%82_%28%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%29 Форт] и [https://ru.wikipedia.org/wiki/ColorForth colorFORTH], а также [https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D0%B0%D1%8F_%D0%BF%D0%BE%D0%BB%D1%8C%D1%81%D0%BA%D0%B0%D1%8F_%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C Обратная польская запись] в Википедии | |
| * [https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D0%BB%D0%BB%D0%B8%D1%81%D1%82%D0%BE_%28%D1%81%D0%BF%D1%83%D1%82%D0%BD%D0%B8%D0%BA%29 Каллисто в Википедии] — спутник Юпитера, в честь которого назван ''язык Каллисто''
| |
| * [http://fforum.winglion.ru/ Форум по Форту] и более мелкий [http://www.balancer.ru/tech/forum/viewforum.php?id=29 форум на Авиабазе]
| |
| * [http://the-hacker.ru/dpans94_ru_upd.html Стандарт ANS Forth] ''(перевод на русский)'', также без исправленных ошибок: [http://fforum.winglion.ru/att/dpans94/dpans94ru1251.txt в виде текста] и исходный архив ([http://www.forth.org.ru/forth/dpans94_ru.rar rar, 265 Кб])
| |
| * [http://www.computer-museum.ru/histsoft/fortran_sorucom_2011.htm Баранов С.Н. «Язык Форт в СССР и России»]
| |
| * Статья Андрея Черезова [http://www.enet.ru/win/cherezov/forth_ideas.html «Идеи языка Форт»] (кодировка Windows)
| |
| * Статья [http://www.compiler.su/russkij-yazyk-i-programmirovanie.php «Русский язык и программирование»] на compiler.su
| |
| * [http://tinyurl.com/Callisto-161 tinyurl.com/Callisto-161] — короткий адрес этой страницы (через зарубежный сайт)
| |
| | |
| == Литература ==
| |
| * [https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D0%BB%D0%BB%D0%B8%D1%81%D1%82%D0%BE_(%D1%80%D0%BE%D0%BC%D0%B0%D0%BD) Мартынов Г.С. Каллисто. — Л.: Детгиз, 1957] — Советская н/ф книга, принёсшая в русский язык прилагательное ''каллистянский''.
| |
| * '''Семёнов Ю.А. Программирование на языке ФОРТ. — М.: Радио и связь, 1991.''' — В этой московской книге [http://www.ict.edu.ru/persons/index.php?a=pers&c=getForm&r=persDesc&d=light&id_pers=1945 Юрий Алексеевич] опубликовал исходный текст Форта ИТЭФ на макроассемблере IBM PC, сильно повлиявший на разработку ''Каллисто''. Всем энтузиастам ''Каллисто'' рекомендую разыскать эту интересную книгу и использовать её в качестве учебника с «Электроникой МК-161» в руках.
| |
| * '''Баранов С.Н., Ноздрунов Н.Р. Язык Форт и его реализации. — Л.: «Машиностроение». Ленингр. отд-ние, 1988. (ЭВМ в производстве)''' ISBN 5-217-00324-3 ББК 32.973 — В этой ленинградской книге опубликован исходный текст ФОРТа-ЕС, который соответствует стандарту Форт-83. ''Каллисто'' во многом близка этой советской реализации Форта, которая получила широкую известность в СССР.
| |
| * [http://www.nncron.ru/book/sf/ Л.Броуди «Начальный курс программирования на языке Форт»], она же [http://www.nncron.ru/download/sf.chm в формате chm (1,5 Мб)] и в оригинале (''англ.'': Leo Brodie [https://www.forth.com/starting-forth/ Starting Forth])
| |
| * [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20THINKING%20FORTH Л.Броуди «Способ мышления — Форт»], в [https://www.arbinada.com/en/node/336 формате chm], в виде текста ([http://www.forth.org.ru/~cactus/files/brodie.rar rar, 205 Кб]) и в оригинале (''англ.'': Leo Brodie [http://thinking-forth.sourceforge.net Thinking Forth])
| |
| * [http://galileo.phys.virginia.edu/classes/551.jvn.fall01/primer.htm Julian Noble. A Beginner's Guide to Forth.] (''англ.'')
| |
| | |
| [[Категория:Программы для ЭКВМ]]
| |
| [[Категория:Языки программирования для ЭКВМ]]
| |
| [[Категория:Каллисто]]
| |
| [[Категория:Программные средства]]
| |