Если вы пока еще не
Если вы пока еще не усвоили эти обозначения, не огорчайтесь: они станут вам понятнее в последующих главах и мы привели их для использования в последующих ссылках. Обычно ход программы становится более понятным, если вы применяете более содержательные описатели в диаграммах состояния стека. Например, скорость можно обозначить как "скор.", а адрес переменной, содержащей значение скорости, -- как "адр.скор." и т.д. Другой более полный набор символов приведен в стандарте Форт-83, но лучше всего все-таки использовать содержательные обозначения.
А теперь вернемся к рассмотрению каждого из слов для манипуляций в стеке. DROP -- это самое простое слово; оно просто очищает вершину стека, например, после ввода
1 2 3 DROP .S
мы получим
1 2 Ok
Помимо того, что слово DROP полезно для уничтожения неправильно введенных данных при вычислениях (что-то вроде клавиши очистки регистра в калькуляторе), оно чаще всего используется для того, чтобы убрать какие-либо числа из стека во время выполнения программы. Очевидно, при пустом стеке мы получим
хххх DROP ? Stack EMPTY ! (стек пуст!)
или аналогичное сообщение об ошибке. Вас может удивлять, почему Форт не знает о том, что стек пуст, и почему он не игнорирует слово DROP в этом случае. Дело в том, что проверка на наличие ошибок и принятие решения, игнорировать их или не игнорировать, занимает немало времени. В отличие от большинства других языков программирования Форт состоит из полуавтономных процедур -- (слов языка Форт), каждое из которых оптимизировано с точки зрения быстродействия. Если бы в каждое из них было включено принятие решений об ошибках, исполнение слов происходило бы с более низкой скоростью. В Форте принято, что программист, а не язык несет ответственность за предотвращение ошибок. Форт дает вам полный контроль над компьютером, но в то же время и всю полноту ответственности. С другой стороны, разрабатывая программу, вы будете отлаживать каждое ее слово, легко обнаруживая ошибки. И поэтому Форт не нуждается в сложных и требующих больших затрат времени методах контроля ошибок, необходимых другим языкам.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий