ПЕРЕКЛЮЧЕНИЕ ВХОДНОГО И ВЫХОДНОГО
ФАЙЛА
Используются следующие команды:
so - переключить исходный файл. Форма вызова команды
so - .so имяфайла, начальное значение - нет, нет
аргументов - нет, примечание - нет. Верхний уро-
вень ввода (чтение файла) переключается на файл
"имяфайла". Команда so, обнаруженная в макроко-
манде не действует до тех пор, пока уровень вво-
да не возвращается к уровню ввода из файла.
Когда новый файл исчерпан, ввод опять происходит
из первоначального файла. Команды so могут быть
вложенными;
nx - начать чтение другого файла. Форма вызова коман-
ды nx - .nx имяфайла, начальное значение - нет,
нет аргументов - конец, примечание - нет. Теку-
щий файл считается законченным и ввод переключа-
ется немедленно на файл "имяфайла";
pi - передать результат программе. Форма вызова ко-
манды pi - .pi программа, начальное значение -
нет, нет аргументов - нет, примечание - нет. Эта
команда должна появиться раньше любых операторов
печати. Никакие аргументы в программу не переда-
ются.
71
АПК.00322-01 33 01-15
20. ПРОЧИЕ КОМАНДЫ
К этим командам относятся команды:
mc - указать граничный символ. Форма вызова команды
mc - .mc c N, начальное значение - нет, нет ар-
гументов - выключить, примечание - E, n. Указы-
вает, какой символ должен располагаться на
расстоянии N после каждой непустой строки
(исключая строки, формируемые командой tl). Если
строка выходного текста является слишком длинной
(например, в случае работы в режиме "без запол-
нения"), то признак будет добавлен к строке.
Если N не задано, используется предыдущее значе-
ние N; начальное значение N равно 2n.
tm - выдать на терминал "цепочку". Форма вызова ко-
манды tm - .tm цепочка, начальное значение -
нет, нет аргументов - NL, примечание - нет.
После пропуска начальных пробелов "цепочка" (ос-
таток строки команды) считывается в режиме копи-
рования и выводится на терминал пользователя;
ig - игнoрировать строки исходного текста. Форма вы-
зова команды ig - .ig yy, начальное значение -
нет, нет аргументов - .., примечание - нет.
Команда действует точно так же, как команда de
(см. подразд.7.5) за исключением того, что ввод
не происходит. Исходный текст считывается в ре-
72
АПК.00322-01 33 01-15
жиме копирования и все автоматически увеличива-
емые регистры будут изменяться;
pm - напечатать список макрокоманд. Форма вызова ко-
манды pm - .pm T, начальное значение - нет, нет
аргументов - все, примечание - нет. Печатать
макрокоманды. На терминале пользователя печата-
ются имена и размеры всех определенных макроко-
манд и цепочек; если t задано, то печатается ин-
формация только об общем размере. Единицей изме-
рения является блок из 128 символов.
fl - сбросить накопленный вывод. Форма вызова команды
fl - .fl, начальное значение - нет, нет аргумен-
тов - нет, примечание - нет. Сбросить буфер вы-
вода. Используется для вынужденного вывода при
отладке в диалоговом режиме.
73
АПК.00322-01 33 01-15
21. ВЫХОДНЫЕ СООБЩЕНИЯ И СООБЩЕНИЯ ОБ
ОШИБКАХ
Выходные результаты работы команд tm, pm и "подсказ-
ка" команды rd, так же как и сообщения об ошибках, выдают-
ся на стандартное устройство выдачи сообщений (STDERR)
системы ДЕМОС. Это устройство отличается от устройства
стандартного вывода, в который pif пересылает отформатиро-
ванный текст. По умолчанию и те и другие выводятся на тер-
минал пользователя, но их выводом можно управлять незави-
симо.
В процессе работы pif могут возникнуть различные оши-
бочные ситуации. Некоторые не очень серьезные ошибки, име-
ющие лишь локальное значение, не вызывают прекращения об-
работки текста. Примерами таких ошибок могут являться, во-
первых, переполнение буфера слов, которое возникает из-за
невозможности поместить туда слишком длинное слово (при
формировании в режиме заполнния), и переполнение строки,
которое возникает при чрезмерном увеличении длины строки,
не позволяющем поместить ее в буфер строки. В обоих случа-
ях печатается сообщение, лишняя часть слова или строки
отбрасывается и измененное слово или измененная строка в
точке усечения помечается в pif звездочкой *. Смысл этих
действий заключается в том, чтобы продолжить обработку
текста, если это возможно, так как полученный вывод может
быть полезен для отладки. При возникновении серьезных оши-
бок обработка прекращается и печатается соответствующее
74
АПК.00322-01 33 01-15
сообщение. Например ошибки, не позволяющие создать, счи-
тать или записать файлы, ошибки, приводящие к превышению
некоторых внутренних возможностей системы, т.е. такие
ошибки, которые делают нецелесообразным дальнейший вывод.
75
АПК.00322-01 33 01-15
22. КРАТКОЕ ОПИСАНИЕ КОМАНД
стр. Команда: Краткое описание:
13 .pl _N Установить длину страницы
13 .bp _N Начать новую страницу
14 .pn _N Присвоить номер следующей странице
14 .ne N Требуется место по вертикали
14 .mk R Заомнить вертикальную позицию
15 .rt _N Вернуться к вертикальной позиции
18 .br Прекратить заполчнение строки
18 .fi Включить режим заполнения
18 .nf Выключить режим заполнения
18 .ad c Установить тип выравнивания
19 .na Отключить выравнивание строк
19 .ce N Отцентрировать следующие N входных строк
22 .vs N Установить интервал между строками
22 .ls _N Установить межстрочное расстояние
23 .sp N Прогон по вертикали на величину N
23 .sv N Сохранить вертикальный промежуток
24 .os Вывести сохраненный вертикальный промежуток
24 .ns Включить режим "без прогонов"
24 .rs Выключить режим "без прогонов"
25 Пустая строка
То же самое,что и .sp 1
26 .ll _N Установить длину строки
27 .in _N Установить постоянный отступ
27 .ti _N Установить временный отступ
34 .de xx yy Определить или переопределить макроопреде-
76
АПК.00322-01 33 01-15
ление
35 .am xx yy Добавить к макрокоманде
35 .ds xx цепочка
Определить цепочку
35 .as xx цепочка
Добавить к цепочке
35 .rm xx Удалить команду, макро или цепочку
36 .rn xx yy Переименовать команду, макро или цепочку
36 .di xx Отвести выходной текст
36 .da xx Добавить выходной текст к отведенному
36 .wn N xx Установить ловушку по позиции на странице
37 .ch xx N Изменить позицию ловушки
37 .dt N xx Установить ловушку по позиции в отведении
37 .it N xx Установить ловушку по количеству введенных
строк
38 .em xx Конечное макроопределение
40 .nr R _N M Определить и установить числовой регистр
41 .af R c Определить формат числового регистра
41 .rr R Удалить числовой регистр
45 .ta Nt .... Установить табуляции
46 .tc c Установить символ заполнения табуляции
46 .lc c Установить символ заполнения лидеров
46 .fc a b Установить символы ограничителя и заполни-
теля поля
48 .ec c Установить символ переключения
48 .eo Изменить состояние механизма переключения
49 .ul N Подчеркивать следующие N строк исходного
текста
77
АПК.00322-01 33 01-15
49 .ft F Изменить текущий шрифт
49 .cu N Подчеркивать следующие N строк
50 .cc c Установить основной управляющий символ
50 .c2 c Установить управляющий символ без прерыва-
ния
58 .nh Отключить режим автоматического переноса
58 .hy N Включить режим автоматического переноса
58 .hc c Установить символ указателя переноса
60 .tl 'лев.'центр.'прав.'
Заголовок из трех частей
61 .pc c Установить символ номера страницы
61 .lt _N Установить длину заголовка из трех частей
61 .nm _N M S I
Включить режим нумерации входных строк
62 .nn N Не нумеровать следующие N строк
64 .if c что-либо
Если условие c истинно, выполнить "что-
либо"
64 .if |c что-либо
Если условие c ложно, выполнить "что-либо"
64 .if N что-либо
Если выражение N>0, выполнить "что-либо"
64 .if |N что-либо
Если выражение N<=0, выполнить "что-либо"
64 .if 'цеп1'цеп2' что-либо
Если "цеп1" совпадает с "цеп2", выполнить
"что-либо"
65 .if |'цеп1'цеп2' что-либо
78
АПК.00322-01 33 01-15
Если "цеп1" не совпадает с "цеп2", выпол-
нить "что-либо"
65 .ie c что-либо
Часть if конструкции if-else
65 .el c что-либо
Часть else конструкции if-else
67 .ev N Переключить окружение
68 .rd подсказка
Читать вставку со стандартного ввода
68 .ex Выход из системы pif
70 .so имя файла
Переключить исходный файл
70 .nx имя файла
Начать чтение другого файла
70 .pi программа
Передать результат программе
71 .mc c N Указать граничный символ
71 .tm цепочка Выдать на терминал "цепочку"
71 .ig yy Игнорировать строки исходного текста
72 .pm t Напечатать список макрокоманд
72 .fl Сбросить накопленный вывод
79
АПК.00322-01 33 01-15
23. ПЕРЕЧЕНЬ ПЕРЕКЛЮЧАТЕЛЬНЫХ
ПОСЛЕДОВАТЕЛЬНОСТЕЙ
В системе pif используются следующие переключательные
последовательности:
последова- значение:
тельность:
\\ - \ (для предотвращения или задержки интерпре-
тации \);
\e - печатаемая текущая версия символа переключе-
ния;
\. - точка;
\(пробел) - символ незаполняемого пробела;
\& - непечатаемый символ нулевой ширины;
\! - указатель "прозрачной" строки;
\" - начало комментария;
\$N - рассматривать как аргумент (1<=N<=9);
\% - по умолчанию символ переноса;
\*x,\*(xx - вставить цепочку х или хх;
\a - неинтерпретируемый лидер-символ;
\c - прерывание обработки текста;
80
АПК.00322-01 33 01-15
\d - вертикальное смещение вперед (вниз) на 1/2
строки;
\h'N' - локальное перемещение в горизонтальном нап-
равлении; переместить вправо на N (при отри-
цательном N - налево);
\jx - поместить метку горизонтальной позиции выход-
ного текста в регистр х;
\kx - поместить метку горизонтальной позиции исход-
ного текста в регистр х;
\l'Nc' - функция вычерчивания горизонтальных линий;
\L'Nc' - функция проведения вертикальных линий;
\nx,\n(xx - вставить значение числового регистра x или
xx;
\o'abc...' - печатать на одном месте символы a,b,c...;
\p - вызывает прерывание и растягивает выходную
строку;
\r - обратное перемещение в вертикальном направле-
нии на 1 строку;
\t - неинтерпретируемый символ горизонтальной та-
буляции;
\u - вертикальное перемещение в обратном направле-
нии на 1/2 строки;
81
АПК.00322-01 33 01-15
\v'N' - локальное перемещение в вертикальном направ-
лении. Переместить вниз на расстояние N (при
отрицательном N-вверх);
\w'цепоч.' - подставляется значение ширины "цепоч.";
\x'N' - функция добавления дополнительных пустых
строк (при отрицательном аргументе перед те-
кущей строкой, при положительном - после
нее);
\zc - печатать символ "c" с нулевой шириной (без
последующего движения);
\{ - начать условный ввод;
\} - закончить условный ввод;
\(newline) - скрытый символ новой строки (игнорируемый);
\X - X, любой символ, не перечисленный выше.
Переключательные последовательности \\, \., \", \$,
\*, \a, \n, \t и \(newline) интерпретируются в режиме ко-
пирован
СИСТЕМНЫЕ
ВЫЗОВЫ
MAN3.FCPS PУKOBOДCTBO ПPOГPAM-
МИСТА
ЧАСТЬ 3. БИБЛИОТЕЧНЫЕ
ФУНКЦИИ
AI.FCPS PУKOBOДCTBO ПPOГPAM-
МИСТА
ЧАСТЬ 4. КОМАНДЫ
ОБЩЕГО НАЗНАЧЕНИЯ ОТ
А ДО J
JZ.FCPS PУKOBOДCTBO ПPOГPAM-
МИСТА
ЧАСТЬ 5. КОМАНДЫ
ОБЩЕГО НАЗНАЧЕНИЯ ОТ
J ДО Z
MAN8.FCPS PУKOBOДCTBO ПPOГPAM-
МИСТА
ЧАСТЬ 6. СОПРОВОЖДЕНИЕ
СИСТЕМЫ
MAN4.FCPS PУKOBOДCTBO ПPOГPAM-
ЧАСТЬ 7. СПЕЦИАЛЬНЫЕ
ФАЙЛЫ
MAN5.FCPS PУKOBOДCTBO ПPOГPAM-
МИСТА
ЧАСТЬ 8. ФОРМАТЫ ФАЙЛОВ
MAN7.FCPS PУKOBOДCTBO ПPOГPAM-
МИСТА
ЧАСТЬ 9. МАКРОПАКЕТЫ
NED.FCPS PУKOBOДCTBO ПPOГPAM-
МИСТА
ЧАСТЬ 10. ЭКРАННЫЙ
РЕДАКТОР ТЕКСТОВ
MAN0.FCPS PУKOBOДCTBO ПPOГPAM-
МИСТА
ЧАСТЬ 11. КРАТКИЙ
СПРАВОЧНИК ПО КОМПО-
НЕНТАМ СИСТЕМЫ
DCON.FCPS PУKOBOДCTBO ПPOГPAM-
МИСТА
ЧАСТЬ 12. ОТЛАДЧИК ДЛЯ
ЯЗЫКОВ СИ И ФОРТРАН
ROP.FCPS PУKOBOДCTBO
ОПЕРАТОРА
PASCAL.FCPS ПACКAЛЬ.OПИCAНИE
ЯЗЫКА
AS.FCPS ACCEМБЛEP.OПИCAНИE
ЯЗЫКА
KPES.FCPS OПИCAНИE КOНТPOЛЬНOГO
ПРИМЕРА
BCDC.FCPS ДИAЛOГOВAЯ EДИНAЯ ПPOГPAММA
МОБИЛЬНАЯ ОПЕРАЦИОННАЯ ДЛЯ ВЫЧИСЛЕ-
СИСТЕМА НИЯ С ПРОИЗ-
РУКОВОДСТВО ПРОГРАМ- ВОЛЬНОЙ ТОЧ-
МИСТА ПРИЛОЖЕНИЕ 8 НОСТЬЮ ВCDC
LEARN.FCPS ДИAЛOГOBAЯ EДИHAЯ OБУЧAЮЩAЯ
МОБИЛЬНАЯ ОПЕРАЦИОННАЯ СИСТЕМА LEARN
СИСТЕМА
РУКОВОДСТВО ПРОГРАМ-
МИСТА ПРИЛОЖЕНИЕ 9
ED.FCPS ДИAЛOГOВAЯ EДИНAЯ PEДAКТOP
МОБИЛЬНАЯ ОПЕРАЦИОННАЯ ТЕКСТОВ ED
СИСТЕМА
РУКОВОДСТВО ПРОГРАМ-
МИСТА ПРИЛОЖЕНИЕ 10
SED.FCPS ДИAЛOГOВAЯ EДИНAЯ PEДAКТOP
МОБИЛЬНАЯ ОПЕРАЦИОННАЯ ТЕКСТОВ SED
СИСТЕМА
РУКОВОДСТВО ПРОГРАМ-
МИСТА ПРИЛОЖЕНИЕ 11
FSCK.FCPS ДИAЛOГOВAЯ EДИНAЯ ПPOГPAММA
МОБИЛЬНАЯ ОПЕРАЦИОННАЯ ПРОВЕРКИ
СИСТЕМА ФАЙЛОВОЙ
РУКОВОДСТВО ПРОГРАМ- СТРУКТУРЫ
МИСТА ПРИЛОЖЕНИЕ 13
PIF.FCPS ДИAЛOГOВAЯ EДИНAЯ CИCТEМA
МОБИЛЬНАЯ ОПЕРАЦИОННАЯ ПОДГОТОВКИ
СИСТЕМА ДОКУМЕНТА-
РУКОВОДСТВО ПРОГРАМ- ЦИИ PIF
МИСТА ПРИЛОЖЕНИЕ 14
M4.FCPS ДИAЛOГOВAЯ EДИНAЯ MAКPO-
МОБИЛЬНАЯ ОПЕРАЦИОННАЯ ПРОЦЕССОР М4
СИСТЕМА
РУКОВОДСТВО ПРОГРАМ-
МИСТА ПРИЛОЖЕНИЕ 16
YACC.FCPS ДИAЛOГOВAЯ EДИНAЯ OПИCAНИE
МОБИЛЬНАЯ ОПЕРАЦИОННАЯ ЯЗЫКА YACC
СИСТЕМА
РУКОВОДСТВО ПРОГРАМ-
МИСТА ПРИЛОЖЕНИЕ 17
LEX.FCPS ДИAЛOГOВAЯ EДИНAЯ OПИCAНИE
МОБИЛЬНАЯ ОПЕРАЦИОННАЯ ЯЗЫКА LEX
СИСТЕМА
РУКОВОДСТВО ПРОГРАМ-
МИСТА ПРИЛОЖЕНИЕ 18
F771.FCPS ДИAЛOГOBAЯ EДИHAЯ
МОБИЛЬНАЯ ОПЕРАЦИОННАЯ
СИСТЕМА
ФОРТРАН-77.ОПИСАНИЕ
ЯЗЫКА
F772.FCPS ДИAЛOГOBAЯ EДИHAЯ
МOБИЛЬНAЯ OПEPAЦИOННAЯ
СИСТЕМА
ФОРТРАН-77. ОПИСАНИЕ
ЯЗЫКА
CC.FCPS ДИAЛOГOBAЯ EДИHAЯ
МОБИЛЬНАЯ ОПЕРАЦИОННАЯ
СИСТЕМА
СИ. ОПИСАНИЕ ЯЗЫКА
SH.FCPS ДИAЛOГOBAЯ EДИHAЯ
МОБИЛЬНАЯ ОПЕРАЦИОННАЯ
СИСТЕМА
SHELL.OПИСАНИЕ ЯЗЫКА
CSH.FCPS ДИAЛOГOВAЯ EДИНAЯ
МОБИЛЬНАЯ ОПЕРАЦИОННАЯ
СИСТЕМА
CSHELL. OПИCAНИE
ЯЗЫКА
=========================================================================
СИ. ОПИСАНИЕ ЯЗЫКА
SH.FCPS ДИAЛOГOBAЯ EДИHAЯ
МОБИЛЬНАЯ ОПЕРАЦИОННАЯ
СИСТЕМА
SHELL.OПИСАНИЕ ЯЗЫКА
CSH.FCPS ДИAЛOГOВAЯ EДИНAЯ
rop.fcps