Каллисто: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 208: Строка 208:


?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





Версия от 20:47, 28 июля 2015

Каллисто — диалект языка Форт с элементами colorFORTH, написанного для МК-161 на РЯМК. Пока существует в альфа-версии, но уже позволяет определять новые слова, редактировать и компилировать экраны. Актуальная версия — 0.3.5a.

Вместо цикла LOOP Каллисто использует более простой и быстрый цикл FOR , а стек содержит 12-разрядные десятичные числа ЭКВМ с плавающей запятой. Помимо традиционных (для Форта) целочисленной операций деления, Каллисто использует традиционное для ПМК деление с плавающей запятой. Сохранены традиционные для ПМК обозначения операций умножения, а также русскоязычные операции ПМК — ЗН , СЧ и т.д.

В отличии от ранних диалектов Форт экран Каллисто содержит 48 строк и занимает 3 Кб. Каллисто использует накладную алфавитно-цифровую клавиатуру, для посимвольного ввода команд и данных.


Ключевые слова

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/

+

-

×

÷

/

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

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





FORTH

TASK