ПЕЧАТЬ БЕЗ ИЗМЕНЕНИЯ СОДЕРЖИМОГО СТЕКА
При отладке программ программисту часто необходимо знать, что в данный момент находится в стеке. Конечно, набрав серию точек, мы выведем на терминал содержимое стека, но при этом выведенные значения будут потеряны для последующих операций В большинстве Форт-систем имеется слово с именем .S, которое для своего выполнения не требует аргументов в стеке и выводит содержимое стека, не разрушая его, т. е. оставляя после завершения функционирования прежнее состояние стека. При отладке программы вы можете ввести несколько слов, выполнить слово .S, чтобы убедиться в том, что содержимое стека соответствует результату функционирования введенных слов, ввести еще несколько слов, снова выполнить .S и т. д.
Давайте проверим: 1 2 3 .S 1 2 3 ok ROT .S 2 3 1 ok
При изучении слов манипулирования со стеком начинающие иногда используют следующий прием: : SWAP SWAP .S ; : DUP DUP .S ; : OVER OVER .S ; : ROT ROT .S ; : DROP DROP .S ;
Таким образом осуществляется немедленная обратная связь по каждой выполняемой команде. (Это возможно потому, что интерпретатор из двух слов с одинаковыми именами выполняет занесенное в словарь последним.)