kolibrios-fun/programs/develop/SPForth/devel/~mak/lib/csr.f
Kirill Lipatov (Leency) 09488af869 KolSPForth12 uploaded to SVN
git-svn-id: svn://kolibrios.org@4867 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-04-21 19:22:58 +00:00

26 lines
547 B
Forth

[IFNDEF] CSP
VARIABLE CSP \ Указатель стека контроля
[THEN]
6 CONSTANT L-CAS# \ Допустимый уровень вложенности
CREATE S-CSP L-CAS# CELLS ALLOT \ Стек контроля
S-CSP CSP !
: +CSP ( -> P) \ Добавить уровень
CSP @ DUP CELL+ CSP !
;
: -CSP ( -> ) \ Убрать уровень
CSP @ 1 CELLS - CSP !
;
: !CSP ( -> ) \ Инициализировать уровень
SP@ +CSP !
;
: CSP@ ( -> A)
CSP @ 1 CELLS - @
;
: ?CSP ( -> ) \ Проверить выдержанность стека
SP@ CSP@ <> 37 ?ERROR ( ABORT" Сбой стека по CSP !")
-CSP
;