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


Глава 10. Хранение программ и данных - часть 23


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

Метод доступа к данным, который мы применяли в последней серии упражнений, называется применительно к файлам последовательным доступом. Можете думать, что такое название объясняется тем, что текст последовательно считывается из файла (или блока) с помощью указателя (в нашем случае POSITION), который указывает на положение следующей строки, которая должна быть извлечена.

Большинство языков программирования при осуществлении последовательного доступа допускают использование очень небольшого оговоренного заранее набора разделителей. В Форте разделителем может быть любой символ. Так в упражнениях мы использовали для этой цели пробел. Кроме того, в других языках программирования последовательный доступ должен всегда производиться с начала файла, а в блоке Форта вы можете начать с любого места. Таким образом Форт позволяет очень гибко использовать отдельный блок в качестве короткого файла. Однако очевидным недостатком Форта является то, что его "файлы" не могут быть длиннее 1024 байтов. Для многих применений этого объема недостаточно. Поэтому теперь мы обсудим, каким образом можно осуществить доступ к двоичным числам и строковым данным, находящимся в настоящих файлах, состоящих из нескольких блоков. Мы можем определить новые слова Форта, которые будут подобны тем, что мы ввели в упражнениях, за исключением одного: когда будут исчерпаны данные одного блока, они будут обращаться за продолжением к другому блоку. Но это не очень просто, поскольку непросто работать со строками или числами, размещенными даже на двух блоках. Кроме того, возникает необходимость в директории блоков, чтобы знать, в каком порядке они располагаются в файле. Тем не менее мы можем создать так называемый файл в памяти, в который одновременно будут помещаться все блоки и где будут выполняться все действия с ними, а запись на диск будет производиться по завершении всех операций с данными.


- Начало -  - Назад -  - Вперед -