Палитра Каллисто: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) |
AtH (обсуждение | вклад) |
||
Строка 54: | Строка 54: | ||
== Отладка == | == Отладка == | ||
: ? ( a -- ) @ . ; | : ? ( a -- ) @ . ; | ||
: | : s. ( a -- a ) ↑ . ; | ||
: | : h. ( a -- a ) base @ hex over i. base ! ; | ||
: | : b. ( -- ) base @ . ; | ||
: prs ( n -- ) depth min for i 1- pick . next ; | |||
== Остальное == | == Остальное == |
Версия от 03:36, 12 сентября 2015
Чтобы предоставить вам больше места для творчества, следующие слова не включены в ядро Каллисто. При необходимости они могут быть скопированы отсюда и добавлены программистом в свой исходный код.
Константы
0 Constant false -1 Constant true '"' Constant quote
Определяющие слова
: Vector ( #cells -- ) <Builds 2× allot DOES> ( i -- ’cell) ↔ 2× + ; : CVector ( #cells -- ) <Builds allot DOES> ( i -- ’cell) + ; : CMatrix ( i' j' -- ) <Builds over , × allot DOES> ( i j -- 'cell) ↔ over @ × + + 2+ ;
Манипуляции со стеком
: -rot ( a b c -- c a b ) rot rot ;
Арифметика
: 2- ( a -- a-2 ) BODY> ; : <= ( a,b ---> a <= b ) ↔ < 0= ; : ≥ ( a,b ---> a ≥ b ) ↔ > 0= ; : ≠ ( a,b ---> a ≠ b ) = 0= ; : D0= ( aa ---> aa = 0 ) or 0= ; : under+ ( a b c -- a+c b ) rot + ↔ ; : within ( n lo hi+1 -- ? ) >r 1- over < ↔ r> < and ;
Работа с памятью
: 0! ( a -- ) 0 ↔ ! ; : 2@ ( a -- bb ) ↑ 2+ @ ↔ @ ;
Преобразование адресов полей словарной статьи
: >body ( CFA -- PFA ) 2+ ; : >link ( CFA -- LFA ) body> ; \ 2- : link> ( LFA -- CFA ) 2+ ; : b>link ( PFA -- LFA ) body> body> ; \ 4- : l>body ( LFA -- PFA ) 2+ 2+ ; \ 4+
Ввод-вывод
Вывод строк, завершающихся нулевым символом:
: typez ( a -- ) BEGIN ↑ c@ ↑ WHILE emit 1+ REPEAT 2drop ;
Работа с внешней памятью
: thru ( n1,n2 -- Интерпретировать экраны) ( от n1 до n2 включительно) 1+ over - for ↑ load 1+ next drop ;
Отладка
: ? ( a -- ) @ . ; : s. ( a -- a ) ↑ . ; : h. ( a -- a ) base @ hex over i. base ! ; : b. ( -- ) base @ . ; : prs ( n -- ) depth min for i 1- pick . next ;
Остальное
: octal 8 base ! ; : recurse latest name> , ; immediate