На счёт документации - SP-Forth по исходникам документирован просто дальше некуда. У меня, сколько им пользуюсь, вопросов по ANS-форту ни разу не возникало:
USER-CREATE S-O 16 CELLS TC-USER-ALLOT \ порядок поиска
USER-VALUE CONTEXT \ CONTEXT @ дает wid1
: FIND1 ( c-addr
\ Расширить семантику CORE FIND следующим:
\ Искать определение с именем, заданным строкой со счетчиком c-addr.
\ Если определение не найдено после просмотра всех списков в порядке поиска,
\ возвратить c-addr и ноль. Если определение найдено, возвратить xt.
\ Если определение немедленного исполнения, вернуть также единицу (1);
\ иначе также вернуть минус единицу (-1). Для данной строки, значения,
\ возвращаемые FIND во время компиляции, могут отличаться от значений,
\ возвращаемых не в режиме компиляции.
0
S-O 1- CONTEXT
DO
OVER COUNT I @ SEARCH-WORDLIST
DUP IF 2SWAP 2DROP LEAVE THEN DROP
I S-O = IF LEAVE THEN
1 CELLS NEGATE
+LOOP
;
: SFIND ( addr u
\ Расширить семантику CORE FIND следующим:
\ Искать определение с именем, заданным строкой addr u.
\ Если определение не найдено после просмотра всех списков в порядке поиска,
\ возвратить addr u и ноль. Если определение найдено, возвратить xt.
\ Если определение немедленного исполнения, вернуть также единицу (1);
\ иначе также вернуть минус единицу (-1). Для данной строки, значения,
\ возвращаемые FIND во время компиляции, могут отличаться от значений,
\ возвращаемых не в режиме компиляции.
S-O 1- CONTEXT
DO
2DUP I @ SEARCH-WORDLIST
DUP IF 2SWAP 2DROP UNLOOP EXIT THEN DROP
I S-O = IF LEAVE THEN
1 CELLS NEGATE
+LOOP
0
;
И всё в таком духе. Т.е. по каждому слову подробное описание, со всеми состояниями стека, на русском, и тут же видно как оно устроено. Чего же больше желать?
Кстати, под SP-forth есть "нормальная" документация в CHM. Но у меня под рукой нет за ненадобностью.
IDE же - да, не хватает... Но лично мне она не нужна, а популяризация Форта для меня не настолько актуальна, чтобы я взялся за её написание, отставив на это время в сторонку десятки более актуальных задач