Язык программирования Форт


Буфер ввода


В действительности числа, которые вы вводите, не попадают в стек сразу. Все, что вы вводите с клавиатуры, сначала запоминается в небольшой области памяти, которая называется буфером ввода, в том же виде, как вы потом видите на экране. Когда вы нажимаете клавишу , буфер ввода интерпретируется, т.е. сканируется слева направо. Интерпретатор просматривает каждую строчку символов, разделенных пробелами. Если он опознает символ(ы) как слово, он принимает его и просматривает следующий набор символов. Если символы не опознаются как слово, интерпретатор пробует, не являются ли они числом, и, если это так, помещает в стек число. Если же символы не воспринимаются ни как слова, ни как числа, Форт выдает сообщение об ошибке. Попробуйте ввести

159 ZZZZZ

(либо другое бессмысленное слово) вы увидите:

zzzzz ?

или какое-либо сообщение, свидетельствующее о том, что Форт вас не понял. Если теперь вы введете . (точку), Форт напечатает сообщение "Stack empty !" (стек пуст).

Когда Форт не может интерпретировать слово, он производит очистку стека. Это необходимо помнить потому, что иначе вы будете обескуражены результатом, а отчасти потому, что таким путем удобно очищать стек. Помните также, что, если Форт встречает неизвестное ему слово, он игнорирует все, что следует за ним в строке ввода.

Буфер ввода имеет определенную длину, которая зависит от используемой версии Форта. В соответствии с требованиями стандартов буфер должен принимать не менее 80 символов.



Содержание раздела