Текущая версия |
Ваш текст |
Строка 1: |
Строка 1: |
| [[Файл:Callisto-161.JPG|thumb|right|360px|''Каллисто'', запущенная на «Электронике МК-161» с накладной клавиатурой.]] | | Каллисто — диалект языка Форт с элементами colorFORTH, написанного для [[МК-161]] на [[РЯМК]]. Пока существует в альфа-версии, но уже позволяет определять новые слова, редактировать и компилировать экраны. Актуальная версия — 0.3.5a. |
|
| |
|
| '''Каллисто''' — хэкерское<ref>Не имеющее отношение к [[НПП «СЕМИКО»|производителю]] [[Электроника МК-161|«Электроники МК-161»]]. Русское слово хэкер происходит от английского слова [https://en.wikipedia.org/wiki/Hacker_(expert) hacker], но исключает паразитное значение «компьютерный преступник».</ref> расширение входного языка [[Электроника МК-161|«Электроники МК-161»]], предназначенное для разработки приложений «на борту» (без использования компьютера). '''Простые вычисления для [[«Электроники МК-61»]] и [[«Электроники МК-161»]] можно набивать и выполнять в строке ''Каллисто'' без изменений''', только добавьте пробел и [[Слово .|точку]] в конце для вывода результата.
| | Вместо цикла LOOP Каллисто использует более простой и быстрый цикл FOR , а стек содержит 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 Кб. Каллисто использует накладную алфавитно-цифровую клавиатуру, для посимвольного ввода команд и данных. |
|
| |
|
| Транслятор ''Каллисто Классик'' (версия 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]] |
|
| |
|
| Имя FORTH язык обрёл в 1968 году, когда интерпретатор заработал на миникомпьютере IBM 1130 с графическим дисплеем IBM 2250 (16-битный процессор с ОЗУ 8К, дисководом, клавиатурой, принтером и ридером/панчером перфокарт). Говорят, что язык должен был называться FOURTH («четвёртое» поколение языков программирования), но ограничения операционной системы позволили дать файлу только пятибуквенное имя. Тогда Чак Мур работал в Mohasco Industries, Inc ([https://en.wikipedia.org/wiki/Amsterdam_%28city%29,_New_York Amsterdam NY], ''англ.'').
| | [[WARM]] |
|
| |
|
| Уже в 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'ых годах Форт начал широко распространяться в СССР — чуть позже [[ПМК]] и независимо от них.
| | [[BYE]] |
|
| |
|
| Тогда же появились первые советские реализации Форта, из которых на ''Каллисто'' сильнее всего повлияли ФОРТ-ЕС (Ленинград, 1986) и FORTH ИТЭФ (Москва, 1988), чьи исходные тексты были опубликованы в СССР их авторами. Эти «исходники» выложены на вики в качестве исторических примеров отечественной реализации слов ''Каллисто''.
| | [[VERSION]] |
|
| |
|
| Последние 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. Например, с помощью [[Префиксы чисел|стандартных префиксов Форта]] для каждого числа можно индивидуально задавать систему счисления.
| | [[EXECUTE]] |
|
| |
|
| Продолжателем Форта, повлиявшим на ''Каллисто'', является и язык {{colorForth}}, развиваемый Чаком Муром в одиночку. Несмотря на явное влияние зарубежных стандартов языка Форт, при разработке ''Каллисто'' приоритет отдавался совместимости с отечественными [[ПМК]], а также удобству и скорости работы на [[Электроника МК-161|«Электронике МК-161»]] — вообще говоря, не предназначенной [[НПП «СЕМИКО»|разработчиками из Новосибирска]] для алгоритмических языков высокого уровня.
| | [[?BREAK]] |
|
| |
|
| == Основные отличия ''Каллисто'' от Форта ==
| | [[(LITERAL)]] |
| Вместо фортовского цикла DO…LOOP ''Каллисто'' использует более простой и быстрый цикл [[FOR]]…[[NEXT]] из {{colorForth}}, а [[стек данных]] содержит привычные 12-разрядные [[десятичные числа]] ЭКВМ. Для отделения дробной части числа от целой служит десятичная запятая, как в ПМК и ЭКВМ.
| |
|
| |
|
| [[Файл:CallistoMag.png|left||264px|]]Помимо стандартных для Форта операций деления с остатком, ''Каллисто'' использует [[÷|традиционное для ПМК]] [[Слово ÷|деление с десятичной плавающей запятой]]. Сохранены традиционные для ПМК обозначения операций [[Слово ×|умножения]], [[Слово ↑|подъёма стека]], [[Слово ↔|обмена двух чисел на вершине стека]], математических функций, а также русскоязычные операции ПМК — [[ЗН]] , [[СЧ]] и т.д. | | [[TYPE (Каллисто)|TYPE]] |
|
| |
|
| Предусмотрены слова [[Слово ИП|ИП]] и [[Слово П|П]] для обращения к [[Регистры функций МК|функциональным]] и другим [[Регистр памяти данных|регистрам ЭКВМ]] по их привычным номерам. В названиях слов ''Каллисто'' русские буквы можно использовать наряду с английскими, причём заглавные и строчные буквы считаются одинаковыми.
| | [[TYPE1]] |
|
| |
|
| В Каллисто 1.0 используется [[единое адресное пространство|единая адресация]], объединяющая разрозненные адресные пространства ЭКВМ. При этом размер ''адресуемой единицы'' памяти зависит от адреса и может колебаться от 1 байта до восьми (12-разрядные [[десятичные числа]]). Беззнаковые 16-битные целые считываются в [[Стек данных|стек]] из двух последовательных регистров памяти с помощью слова [[U@]]. Как принято в ЭКВМ, старший байт идёт по младшему адресу. Первые 10000 адресов памяти представляют из себя [[память программ]], в которой находится исполняемый код ''Каллисто'' на [[ЯМК|входном языке МК-161]]. По каждому из этих 10 тысячи адресов содержится 1 байт, доступный только для чтения.
| | [[?BRANCH]] |
|
| |
|
| Из-за невозможности исполнять [[Система команд ЭКВМ|код МК-161]] из [[Память двоичных данных|области данных]] при написании порождающих слов вместо современной конструкции CREATE…DOES> используется устаревший, но не менее мощный механизм [[⟨BUILDS|<BUILDS]] … [[DOES⟩|DOES>]]
| | [[BRANCH]] |
|
| |
|
| После нажатия [[Клавиша Ввод|клавиши {{Синяя клавиша|Ввод}}]] введённые слова либо исполняются сразу, либо компилируются в [[словарь]], находящийся в [[Память двоичных данных|области двоичных данных]] ([[Единое адресное пространство|адреса]] 11000…15095). В этой же области располагается [[Стек возвратов Каллисто|стек возвратов]] — растущий «вниз», навстречу [[Словарь|словарю]]. [[Стек данных|«Бесконечный» стек данных]] располагается в области [[Регистр десятичных данных|десятичных регистров]] ([[Единое адресное пространство|адреса]] 10000…10999). Навстречу [[Стек данных|десятичному стеку]] растёт [[десятичный словарь]], где хранятся значения десятичных литералов и удобных переменных типа [[VALUE]].
| | [[(FOR)]] |
|
| |
|
| Из-за ограничений платформы [[буфер]] в ''Каллисто'' только один ([[Единое адресное пространство|адреса]] 15096…18167), а размер загружаемого в него [[блок]]а составляет 3 Кбайта.
| | [[(NEXT)]] |
|
| |
|
| == Приложения и их распространение ==
| | [[(FIND)]] |
| Разработанные пользователем программы на ''Каллисто'' называются ''приложениями'' и могут распространяться со средой ''Каллисто'' в форме ''пакета'' — набора файлов для «Электроники МК-161», объединённых общим именем. Приложения могут запускаться сразу же после запуска ''Каллисто'' (см. слово [[APP]]) и возвращаться в [[Режим автоматической работы|автоматический режим]] после своего выполнения (см. слово [[BYE]]).
| |
|
| |
|
| Продвинутые разработчики могут использовать в своих приложениях программы для «Электроники МК-161» (расположенные в [[Память программ|памяти программ]]), изменяя исходный текст среды ''Каллисто''.
| | [[DIGIT]] |
|
| |
|
| === Исходный текст ===
| | [[РЕГ!]] |
| Помимо ввода с клавиатуры, исходный текст приложений может располагаться на внутреннем диске МК-161 в виде [[экран]]а — в пронумерованном [[блок]]е (файле текста), откуда этот исходный текст загружается командой [[LOAD]]
| |
|
| |
|
| В отличии от ранних диалектов Форта [[Экран|экран Каллисто]] содержит 48 строк, занимает 3 Кб и при интерпретации считывается из [[буфер]]а, расположенного в [[текст|области текста]]. Из-за того, что строка [[экран]]а занимает традиционные 64 символа, использование [[Редактор текста|встроенного в ЭКВМ редактора]] является затруднительным. Разработчикам ''Каллисто'' предлагает перенесённый с Форта строковый редактор EDIT, а также возможность написать собственный редактор [[экран]]ов. Удобней всего использовать ''Каллисто'' с алфавитно-цифровой накладкой на клавиатуру («оверлеем») для быстрого посимвольного ввода команд и данных.
| | [[РЕГ@]] |
|
| |
|
| [[Экран]]ы ''Каллисто'' можно передавать на компьютер и распространять в файлах с расширением mkt. В дистрибутиве ''Каллисто'' есть исходный текст компьютерной программы listmkt. Эта программа позволяет преобразовывать файлы mkt в текстовые, которые человеку легко читать и редактировать. | | [[0=]] |
|
| |
|
| Несмотря на техническую возможность передавать [[экран]]ы с исходным текстом на компьютер и обратно, ''Каллисто'' рассчитана на то, чтобы вести разработку прямо на борту [[Электроника МК-161|«Электроники МК-161»]], без использования иностранных программ и зарубежного оборудования.
| | [[0-больше (Каллисто)|0>]] |
|
| |
|
| === Исполняемый код ===
| | [[0-меньше (Каллисто)|0<]] |
| Откомпилированные приложения хранятся в памяти «Электроники МК-161», откуда слово [[SAVE"]] сохраняет их на внутренний диск. Слово [[LOAD"]] позволяет быстро (за несколько секунд) загрузить и выполнить приложение.
| |
|
| |
|
| Исполняемый код представляет собой два файла, содержащих образы двоичных (mkb) и десятичных (mkd) регистров сразу после компиляции вашего приложения. Для запуска такого приложения потребуется в точности та исполняемая версия ''Каллисто'', которой приложение было откомпилировано. Поэтому удобней всего хранить исполняемый код в виде ''пакета'' из трёх файлов под одним именем, среди которых есть переименованный исполняемый файл ''Каллисто'' (Callisto.mkp). Переменная [[APP]] обеспечит, при необходимости, автозапуск вашего приложения.
| | [[= (Каллисто)|=]] |
|
| |
|
| Свободная лицензия ''Каллисто'' запрещает закрытие исходного текста транслятора. Для соблюдения этой лицензии при распространении вашего исполняемого кода предлагается включить в дистрибутив (их можно вынести в отдельный подкаталог) два дополнительных файла, технически не требующихся для запуска вашей программы на «Электронике»:
| | [[меньше (Каллисто)|<]] |
| * исходный текст использованной версии ''Каллисто'', содержащий все внесённые в него изменения (Callisto.mkl)
| |
| * текст свободной лицензии, по которой распространяется эта (стандартная или изменённая вами) версия ''Каллисто'', например PRAVO.TXT
| |
|
| |
|
| Всего получается пять обязательных файлов, которые для удобства предлагается упаковать в один архив дистрибутива — словно пять пальцев одной ладони складываются в кулак. В этот же архив можно добавить документацию на ваше приложение и остальные файлы, которые вы сочтёте полезными для ваших пользователей.
| | [[больше (Каллисто)|>]] |
|
| |
|
| '''Включать в дистрибутив исходный текст ваших программ не обязательно — вы сами свободно выбираете лицензию для распространения своих авторских материалов.''' Защита от закрытия исходного кода ([https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BF%D0%B8%D0%BB%D0%B5%D1%84%D1%82 «авторское лево»], ''англ.'' copyleft) распространяется только на сам транслятор ''Каллисто'', защищённый законами об авторском праве (и на любые программы, использующие его код).
| | [[ENCL]] |
|
| |
|
| Приложения, написанные вами на ''Каллисто'', вы вправе распространять под любой лицензией.
| | [[EMI]] |
|
| |
|
| == Примечания ==
| | [[EMIT]] |
| <references />
| |
|
| |
|
| == Ссылки ==
| | [[C.]] |
| * См. [[Список встроенных слов Каллисто]], [[Слова Каллисто по категориям]] и [[Палитра Каллисто]]
| | |
| * См. также учебные статьи [[Первое знакомство с Каллисто]] и [[Простые программы на Каллисто]]
| | [[↵ (Каллисто)|↵]] |
| * [https://vk.com/topic-10838600_30361028 Обсуждение Каллисто в Контакте], [http://mk-152.livejournal.com/53935.html в живом журнале] и [http://arbinada.com/pmk/ru/node/1195 на сайте Арбинады]
| | |
| * [http://the-hacker.ru/2017/Callisto-1.zip Каллисто Классик 1.0], последняя актуальная версия ''Каллисто'' и [http://the-hacker.ru/Callisto.html её исходный текст]
| | [[BELL]] |
| * [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 Обратная польская запись] в Википедии
| | [[BEEP]] |
| * [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 форум на Авиабазе]
| | [[(PLAY)]] |
| * [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 Баранов С.Н. «Язык Форт в СССР и России»]
| | [[PLOT]] |
| * Статья Андрея Черезова [http://www.enet.ru/win/cherezov/forth_ideas.html «Идеи языка Форт»] (кодировка Windows)
| | |
| * Статья [http://www.compiler.su/russkij-yazyk-i-programmirovanie.php «Русский язык и программирование»] на compiler.su
| | [[DRAW]] |
| * [http://tinyurl.com/Callisto-161 tinyurl.com/Callisto-161] — короткий адрес этой страницы (через зарубежный сайт)
| | |
| | [[ГРФ]] |
| | |
| | [[↖ (Каллисто)|↖]] |
| | |
| | [[AT-XY]] |
| | |
| | [[DISKOFF]] |
| | |
| | [[KEY]] |
| | |
| | [[ACCEPT]] |
| | |
| | [[1+]] |
| | |
| | [[2+]] |
| | |
| | [[1-]] |
| | |
| | [[2×]] |
| | |
| | [[2/]] |
| | |
| | [[2÷]] |
| | |
| | [[+ (Каллисто)|+]] |
| | |
| | [[- (Каллисто)|-]] |
| | |
| | [[× (Каллисто)|×]] |
| | |
| | [[÷ (Каллисто)|÷]] |
| | |
| | [[/ (Каллисто)|/]] |
| | |
| | [[MOD]] |
| | |
| | [[/MOD]] |
| | |
| | [[× (Каллисто)|×]] |
| | |
| | [[×/]] |
| | |
| | [[×/MOD]] |
| | |
| | [[NEGATE]] |
| | |
| | [[Больше-меньше (Каллисто)|><]] |
| | |
| | [[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> |
| | |
| | I |
| | |
| | LEV |
| | |
| | PICK |
| | |
| | OVER |
| | |
| | ↔ |
| | |
| | 2SWAP |
| | |
| | ↑ |
| | |
| | ?DUP |
| | |
| | 2DUP |
| | |
| | ROT |
| | |
| | 2DROP |
| | |
| | DROP |
| | |
| | CMOVE |
| | |
| | CMOVE> |
| | |
| | FILL |
| | |
| | ERASE |
| | |
| | BLANK |
| | |
| | HOLD |
| | |
| | TIB |
| | |
| | +! |
| | |
| | TOGGLE |
| | |
| | @ |
| | |
| | U@ |
| | |
| | C@ |
| | |
| | ! |
| | |
| | C! |
| | |
| | BODY> |
| | |
| | !CSP |
| | |
| | HERE |
| | |
| | ALLOT |
| | |
| | ДHERE |
| | |
| | ДALLOT |
| | |
| | [ |
| | |
| | ] |
| | |
| | HEX |
| | |
| | DECIMAL |
| | |
| | -TRAILING |
| | |
| | UPPER |
| | |
| | DEFINITIONS |
| | |
| | UPDATE |
| | |
| | X |
| | |
| | : |
| | |
| | ; |
| | |
| | CONSTANT |
| | |
| | VARIABLE |
| | |
| | VALUE |
| | |
| | USER |
| | |
| | DOES> |
| | |
| | F#> |
| | |
| | F#S |
| | |
| | <F# |
| | |
| | 0 |
| | |
| | 1 |
| | |
| | 2 |
| | |
| | 3 |
| | |
| | $\pi$ |
| | |
| | BL |
| | |
| | C/L |
| | |
| | B/BUF |
| | |
| | RT |
| | |
| | RZ |
| | |
| | RY |
| | |
| | RX |
| | |
| | S0 |
| | |
| | R0 |
| | |
| | ДDP |
| | |
| | WIDTH |
| | |
| | WARNING |
| | |
| | FENCE |
| | |
| | DP |
| | |
| | VOCL |
| | |
| | AUTOEXEC |
| | |
| | GRXY |
| | |
| | BLK |
| | |
| | >IN |
| | |
| | SCR |
| | |
| | OFFSET |
| | |
| | CONTEXT |
| | |
| | CURRENT |
| | |
| | STATE |
| | |
| | BASE |
| | |
| | DPL |
| | |
| | CSP |
| | |
| | R# |
| | |
| | HLD |
| | |
| | $EX |
| | |
| | ERB |
| | |
| | SAVIN |
| | |
| | , |
| | |
| | C, |
| | |
| | Д, |
| | |
| | LATEST |
| | |
| | SPACE |
| | |
| | N>LINK |
| | |
| | NAME> |
| | |
| | N>BODY |
| | |
| | ?ERROR |
| | |
| | ?COMP |
| | |
| | ?EXEC |
| | |
| | ?PAIR |
| | |
| | ?CSP |
| | |
| | ?LOAD |
| | |
| | COMPILE |
| | |
| | SMUDGE |
| | |
| | (;CODE) |
| | |
| | <BUILDS |
| | |
| | COUNT |
| | |
| | (.") |
| | |
| | ." |
| | |
| | .( |
| | |
| | QUERY |
| | |
| | \0 |
| | |
| | PAD |
| | |
| | WORD |
| | |
| | CONVERT |
| | |
| | FINDN |
| | |
| | NUMBER |
| | |
| | FL |
| | |
| | ERROR |
| | |
| | ID. |
| | |
| | CREATE |
| | |
| | [COMPILE] |
| | |
| | TO |
| | |
| | LITERAL |
| | |
| | FLITERAL |
| | |
| | ?STACK |
| | |
| | INTERPRET |
| | |
| | IMMEDIATE |
| | |
| | VOCABULARY |
| | |
| | ( |
| | |
| | QUIT |
| | |
| | ABORT |
| | |
| | EMPTY-BUFFERS |
| | |
| | SAVE-BUFFERS |
| | |
| | FLUSH |
| | |
| | BUFFER |
| | |
| | BLOCK |
| | |
| | (LINE) |
| | |
| | MESSAGE |
| | |
| | LOAD |
| | |
| | \ |
| | |
| | \S |
| | |
| | --> |
| | |
| | 'N |
| | |
| | ['] |
| | |
| | >MARK |
| | |
| | >RESOLVE |
| | |
| | <MARK |
| | |
| | <RESOLVE |
| | |
| | UNTIL |
| | |
| | AGAIN |
| | |
| | BEGIN |
| | |
| | THEN |
| | |
| | ELSE |
| | |
| | IF |
| | |
| | WHILE |
| | |
| | REPEAT |
| | |
| | FOR |
| | |
| | NEXT |
| | |
| | SPACES |
| | |
| | I#> |
| | |
| | SIGN |
| | |
| | I# |
| | |
| | I#S |
| | |
| | <I# |
| | |
| | (.) |
| | |
| | I. |
| | |
| | . |
| | |
| | I.R |
| | |
| | LIST |
| | |
| | INDEX |
| | |
| | WORDS |
| | |
| | COPY |
| | |
| | DEPTH |
| | |
| | DUMP |
| | |
| | .S |
| | |
| | КАТ |
| | |
| | SAVE-TEXT |
| | |
| | RGRW |
| | |
| | LORW |
| | |
| | R/W |
| | |
| | SAVE" |
| | |
| | LOAD" |
| | |
| | [[;CODE]] |
| | |
| | [[FORTH]] |
|
| |
|
| == Литература ==
| | [[TASK]] |
| * [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.] (''англ.'')
| |
|
| |
|
| [[Категория:Программы для ЭКВМ]] | | == Ссылки == |
| [[Категория:Языки программирования для ЭКВМ]]
| | * [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://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] в Википедии |