Каллисто
Каллисто — компактный диалект языка Форт с элементами colorFORTH, написанный для МК-161 на РЯМК и предназначенный для программирования «на борту». Пока существует в альфа-версии, но уже позволяет определять новые слова, редактировать и компилировать экраны, успешно переносить на МК-161 старые программы, написанные на языке Форт. Актуальная версия — 0.3.5a.
Вместо фортовского цикла LOOP Каллисто использует более простой и быстрый цикл FOR из colorFORTH, а «бесконечный» стек содержит 12-разрядные десятичные числа ЭКВМ с плавающей запятой. Помимо обычной (для Форта) целочисленной операций деления, Каллисто использует традиционное для ПМК деление с плавающей запятой. Сохранены традиционные для ПМК обозначения операций умножения, подъёма стека, а также русскоязычные операции ПМК — ЗН , СЧ и т.д.
В отличии от ранних диалектов Форт экран Каллисто содержит 48 строк и занимает 3 Кб. Из-за того, что строка экрана занимает традиционные 64 символа, использование встроенного в ЭКВМ редактора является затруднительным. Программистам Каллисто предлагает строковый редактор, а также возможность написать собственный редактор экранов. Каллисто использует накладную алфавитно-цифровую клавиатуру для быстрого посимвольного ввода команд и данных.
Вводимые слова компилируются в словарь, находящийся в области двоичных данных. В этой же области располагается стек возвратов. Стек данных располагается в области десятичных регистров. Там же располагается «десятичный словарь», где хранятся десятичные переменные типа VALUE
Словарь Каллисто
- COLD
- WARM
- BYE
- VERSION
- EXECUTE
- ?BREAK
- (LITERAL)
- TYPE
- TYPE1
- ?BRANCH
- BRANCH
- (FOR)
- (NEXT)
- (FIND)
- DIGIT
- РЕГ!
- РЕГ@
- 0=
- 0>
- 0<
- =
- <
- >
- ENCL
- EMI
- EMIT
- C.
- ↵
- BELL
- BEEP
- (PLAY)
- PLOT
- DRAW
- ГРФ
- ↖
- AT-XY
- DISKOFF
- KEY
- ACCEPT
- 1+
- 2+
- 1-
- 2×
- 2/
- 2÷
- +
- -
- ×
- ÷
- /
- MOD
- /MOD
- ×
- ×/
- ×/MOD
- NEGATE
- ><
- S>D
- |X|
- AND
- OR
- XOR
- INVERT
- MIN
- MAX
- 10x
- Ex
- LG
- LN
- X2
- √
- 1/X
- Yx
- СЧ
- ЗН
- [X]
- {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
- 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
Ссылки
- Обсуждение Каллисто в Контакте и на сайте Арбинады
- Каллисто v0.3.5a, последняя актуальная версия Каллисто
- Языки Форт и colorFORTH в Википедии