Если я нахожусь в среде Forth, как мне выйти и как мне запрограммировать слово для выхода?
Как выйти из среды Forth?
Ответы (1)
Есть два способа «оставить» Форт-код, в зависимости от того, что вам нужно сделать.
BYE
Стандарт Forth определяет слово BYE
для выхода из самой среды Forth.
BYE
( -- )
Вернуть управление операционной системе хоста, если таковая имеется.
Это слово получает много творческих интерпретаций, когда ваш Форт не работает как программа в операционной системе. Например, в некоторых системах, где Forth является операционной системой, вместо этого BYE
вызывает перезагрузку системы, позволяя загрузить другую ОС.
BYE
является частью набора слов Programming-Tools Extensions.
QUIT
В наборе основных слов есть слово QUIT
, но оно не покидает окружающую среду. Вместо этого он прекращает выполнение слова и возвращает вас обратно к интерпретатору. Вот почему это называется 'ВЫЙТИ', это уход в другом смысле.
QUIT
( -- ) ( R: i*x -- )
Очистить стек возврата, сохранить ноль вSOURCE-ID
, если он присутствует, сделать пользовательское устройство ввода источник ввода и войдите в состояние интерпретации. Не отображать сообщение. Повторите следующее:
- Принять строку из источника ввода во входной буфер, установить
>IN
на ноль и интерпретировать.- Отображать определяемое реализацией системное приглашение, если в состоянии интерпретации вся обработка завершена и нет неоднозначных условий.
Вместо определения QUIT
как нечто вроде этого слова возвращает вас к интерпретатору, вместо этого QUIT
действительно определяется как сам интерпретатор в стандарте Forth. В факторизованной реализации Forth это имеет смысл: слово, которое возвращает вас обратно в интерпретатор, и сам интерпретатор могут быть одним и тем же словом, они оба могут просто очистить стек возврата и начать интерпретацию.
А QUIT
— это слово, которое вы, скорее всего, увидите в определениях с двоеточием, потому что это удобный способ вырваться из стека выполнения слов, оставить текущее содержимое стека данных как есть и вернуться к интерпретатору. Вы можете, конечно, использовать BYE
в определении двоеточия, например, в пользовательском интерпретаторе или среде, написанной на Форте, для выхода обратно в операционную систему.