Учебное пособие по языку ФОРТ
- Автор: ИТФ «Технофорт»
- Жанр: Современные российские издания / Литература ХX века (эпоха Социальных революций) / Программирование: прочее / Forth
- Дата выхода: 1993
Читать книгу "Учебное пособие по языку ФОРТ"
10. Строки
СТРОКОЙ CO СЧЕТЧИКОМ (в дальнейшем просто СТРОКОЙ) называется участок памяти, в первом байте которого находится СЧЕТЧИК — байт, хранящий длину участка (без учета байта под счетчик). Но адресом строки считается адрес счетчика.
Слово " (двойная кавычка) употребляется в конструкции
" текст " ... --> ... addr
Текст текст будет превращен в строку, размещенную в памяти от адреса "HERE", адрес этой строки кладется в стек. Слово "COUNT" преобразует адрес строки в адрес и длину ее текста:
COUNT ... addr --> ... addr+1 n
a слово "TYPE" выводит текст (участок памяти) по его адресу и длине:
TYPE ... addr n --> ...
B качестве примеров работы co строками рассмотрим тексты:
" МОЛОДЕЦ" COUNT TYPE ( напечатается МОЛОДЕЦ )
" МОЛОДЕЦ" COUNT 3 - TYPE ( напечатается МОЛО )
Разберите следующие примеры: слово "S," размещает в кодофайле строку с данным адресом, a слово "T," — ее текст. Оба слова оставляют на стеке адрес получившегося объекта.
: T, ( a1 - адрес строки --> a2 - адрес текста в кодофайле )
HERE SWAP ( a2 a1 )
COUNT ( a2 a1+1 n )
HERE OVER ALLOT ( a2 a1+1 n a2 )
SWAP CMOVE ; ( a2 )
: S, ( a1 - адрес строки --> a2 - адрес строки в кодофайле )
HERE SWAP
DUP C@ 1+ ( a2 a1 n+1 )
HERE OVER ALLOT ( a2 a1 n+1 a2 - отведено n+1 байт )
SWAP CMOVE ;
Слово "."" употребляется в конструкции
." текст "
при выполнении которой текст текст будет выведен на экран.
Упомянем еще несколько возможностей при выводе:
• слово "CR" переводит строки,
• слово "SPACE" вставляет в выходной текст пробел (т. е. оно эквивалентно "BL EMIT").
Имя слова в поле имени его словарной статьи хранится в виде строки со счетчиком.