mawr Поиск и ввод записи фиксированной длины с заданным контекстом
system mawr
<mawr [идентификатор_файла] {[номер_записи_начала_поиска]}
{[имя_ящика_с_номерами_позиций]} (контекст)
{[номер_записи_конца_поиска]}>
Читает записи в диапазоне номеров и осуществляет поиск записи с заданным
контекстом в указанных позициях.
[Идентификатор_файла] может быть задан в виде строки объектных символов
или помещен в ящик.
При отсутствии номера записи начала - поиск ведется от текущей записи.
При отсутствии номера записи конца - поиск ведется до конца файла.
При отсутствии ящика с номерами позиций с контекстом сравнивается
вся запись, в противном случае та часть записи, которая определена
номерами позиций.
Диапазон номеров позиций одна или две макроцифры - начало и конец
диапазона. Если вторая макроцифра диапазона не указана, то в качестве ее
значения берется первая.
Замечание: Состояние записей файла к которым не было обращения по puwr
не определено.
Значение: Результатом замены является номер записи в скобках и запись,
где был обнаружен указанный контекст, или пустое выражение,
если был достигнут конец файла и запись с заданным контекстом
не найдена.
При обнаружении ошибок, в поле зрения выдается код возврата:
/99/ - файл не был открыт.
-------------------------------- Пример ----------------------------------
* Программа отыскивает первое появление слова start в первых пяти
* позициях каждой записи
start
entry task
system wtr,opewr,clowr,mawr,prout,symb
swap file,diap
grep
/99/ = <prout 'No open file'>
(s1)e2 = <prout 'String number '<symb s1>>
e1 = <prout 'No match'>
task = <wtr /file/'t1.tmp'> +
<wtr /diap//1//5/> +
<opewr /file/> +
<grep <mawr /file//1//diap/('start')/20/>> +
<clowr /file/> +
<prout 'End of program'>
end
Seealso:
This page last updated on Fri Nov 30 11:06:55 MSK 2001
Copyright © 1992-2001, Vitaly Filatov, Moscow, Russia
Webmaster