

                    V P K   S o f t w a r e












             Программа форматирования документации



                         DOC V7.06-PC



                          10-nov-1992





























                             1993

                            - 2 -




                Введение



      Документ содержит руководство по использованию программы
 форматирования текстов "DOC" и описание ее управляющих дирек-
 тив.

      Версия  программы  "DOC" для ОС-РВ/RSX написана на языке
 ФОРТРАН-IV  и МАКРОАССЕМБЛЕРЕ PDP-11 с использованием библио-
 теки  подпрограмм  для  работы  со строками, (см. "Библиотека
 подпрограмм USLIB. Подпрограммы общего назначения. Руководст-
 во программиста", ОНПО "ТЕХНОЛОГИЯ", Обнинск, 1988).

      Прототипом  программы послужили исходные тексты из файла
 "DOC.PGN"  операционной  системы РАФОС. Адаптация и доработка
 программы для работы в ОС-РВ/RSX привела к существенному рас-
 ширению функций программы.

      Основные  отличия программы "DOC" версии V5.00/1987г. от
 прототипа заключались в следующем:

     1)   В  программе  реализована возможность переноса слов;
          ключ "/-PER" позволяет запретить перенос;

     2)   Ключ  "/-TOC" запрещает сбор содержания (полезно при
          выводе  неотлаженного  текста для ускорения процеду-
          ры), по ключу "/TOC" во время первого прохода содер-
          жание выводится на терминал;

     3)   Ключ "/-TIT" запрещает вывод титульного листа и лис-
          та утверждения (при выводе неотлаженного текста);

     4)   При  указании ключа "/ENG" в сформатированном тексте
          слова  "СОДЕРЖАНИЕ",  "ПРИМЕЧАНИЕ",    "ПРИЛОЖЕНИЕ",
          "АННОТАЦИЯ",  формируемые программой DOC, заменяются
          их эквивалентами на английском языке; при этом игно-
          рируется  директива  ".TLU"  и  запрещается  перенос
          слов.

     5)   Ключ "/LNG" позволяет формировать страницы для выво-
          да на АЦПУ СМ-6315 с узким промежутком между строка-
          ми  (3.17мм,  84  строки  на странице), по умолчанию
          "/-LNG",  т.е. промежуток 4.23мм (62 строки на стра-
          нице);

     6)   Ключ "/WID:N" позволяет задать ширину страницы от 40
          до 132 символов (по умолчанию 62 символа);

     7)   Ключ "/-NUM" запрещает нумерацию страниц;

     8)   Добавлены  новые  директивы  ("JMP",  "LIS",  "DFN",
          "DF2",  "CPD",  "DSB",  "ENB",  "MRL", "MRR", "SSB",

                            - 3 -

                      *** DOC V7.06 ***


          "IPN", "SWN", "AVA"), исключена директива "LST";

     9)   Изменено  действие директив "CPT" и "LIS", заголовки
          форматируются также, как и по директиве "HLV";

     10)  Максимальная  глубина  вложения  директив  ".CPY"  и
          ".CPD" увеличена до 3.

     11)  Изменены  структура  программы и перекрытий; за счет
          перевода  части  подпрограмм  с ФОРТРАНА на МАКРОАС-
          СЕМБЛЕР  размер  программы  уменьшен  на  8к байт по
          сравнению с прототипом.



         Изменения в программе "DOC" V6.00/17-янв-87:

 1) Добавлены новые директивы:

 ".CPS" - для  выборки  документации из модулей, написанных на
          языках  ФОРТРАН и МАКРОАССЕМБЛЕР, а также из косвен-
          ных командных файлов;

 ".HDR" - заменяет  ".HLV",  ".CPT" и ".LIS" и позволяет изме-
          нять  уровни заголовков при выводе сформатированного
          текста;

 ".LEV" - устанавливает  текущий  уровень  и  начальные номера
          заголовков;

 ".NAV" - ограничивает зону действия директивы ".AVA";

 ".LEF" - переопределяет левую границу выводимого текста;

 ".RIG" - переопределяет правую границу выводимого текста.

 2)  Изменена  обработка  директив  ".CPT",  ".HLV",  ".LIS" и
 ".AVA".

 3)  Добавлена обработка "?" и ключа "/HLP" в командной строке
 при наличии справочного файла "LB:[1,2]DOC.HLP".



         Изменения в программе "DOC" V7.03/14-feb-1992
      Версия  7  программы  "DOC"  реализована  в среде MS-DOS
 IBM/PC.

 1) Добавлены новые директивы для условного вывода:

 ".SET" - определяет  переменную  (если не определена ранее) и
          устанавливает для нее значение ".TRUE.";


                            - 4 -

                      *** DOC V7.06 ***


 ".SEF" - определяет  переменную  (если не определена ранее) и
          устанавливает для нее значение ".FALSE.";

 ".ASK" - определяет  переменную  (если не определена ранее) и
          устанавливает для нее значение, вводимое с терминала
          в ответ на вопрос;

 ".IFT/.IFF"
        - определяют условия вывода для последующего фрагмента
          текста в зависимости от значения переменной;

 ".EIF" - отменяет условный вывод для данной переменной;

 ".ERA" - удаляет указанную переменную из внутренних таблиц.

 2)  Изменена обработка директивы ".AVA", теперь начало абзаца
 в  автоматическом  режиме  определяется по наличию 3 (а не 6)
 пробелов в начале строки; кроме того, директива ".AVA" теперь
 может быть единственной в тексте (ранее было необходимо нали-
 чие одной из директив форматирования - ".LIN", ".BLN" и др.);

 3)  Изменена  обработка  директив ".LEV/.HDR" для возможности
 перехода на 0-й уровень.

 4) Добавлены директивы для формирования перечислений:

 ".NPR" - определяет  начало  перечисления (сбрасывает счетчик
          элементов  перечисления  в 1 и по желанию устанавли-
          вает символ-ограничитель номера перечисления).

 ".EPR" - определяет  начало  элемента  перечисления,  который
          нумеруется и форматируется перед выводом. Форматиро-
          вание продолжается до следующей директивы.

 ".EP2" - то  же, что ".EPR", но форматирование более короткой
          строки со сдвигом вправо (нумерация общая с ".EPR").

 5) Добавлен ключ "/-PAG", запрещающий деление выходного текс-
 та на страницы (полезен для подготовки HELP-файлов).

 6)  Добавлен  ключ "/MPR", разрешающий печать с наложением (2
 раза) заголовков глав, пунктов и подпунктов.


         Изменения в программе "DOC" V7.03/14-feb-1992

 1)  Добавлена  возможность форматирования текста, содержащего
 переносы слов (если знак переноса является последним в строке
 и перед ним находится символ русского алфавита).

 2) Добавлена возможность выборки документации из комментариев
 в модулях "C" и "CLIPPER" (должны начинаться с первой позиции
 /*+DOC, *+DOC соответственно).

                            - 5 -

                      *** DOC V7.06 ***




         Изменения в программе "DOC" V7.04/1-jul-1992

 1) Добавлены директивы ".HDL" и ".HDB" для нумерации подпунк-
 та текущего пункта без вывода в содержание.


         Изменения в программе "DOC" V7.05/16-sep-1992

 1)  При  выводе без форматирования (директивы ".SWT", ".SWN")
 производится  замена  табуляции  на  пробелы  для правильного
 ограничения строки или переноса.

 2) Убрана защита от несанкционированного использования.


         Изменения в программе "DOC" V7.06/10-nov-1992

 1) Исправлена обработка директивы ".APN".

                            - 6 -

                      *** DOC V7.06 ***


             1. Назначение программы



      Программа  "DOC"  предназначена  для получения текстов в
 форме,  удобной для чтения, распечатки созданных или скоррек-
 тированных  файлов.  Формат исходного текста позволяет быстро
 вносить изменения средствами редактирования.

      Командная строка программы DOC:

                 >DOC IN_file[.DOC] [OUT_file[.DPR]]
  где

 IN_file
        - спецификация  файла с исходным текстом, по умолчанию
          тип файла ".DOC";

 OUT_file
        - спецификация  выходного файла, в который будет выво-
          диться сформатированный документ.

 Если какой-либо эелемент командной строки не указан, его мож-
 но ввести в диалоговом режиме после запуска "DOC".

      Для "DOC", работающей в ОС-РВ/RSX, режимы работы задают-
 ся  с  помощью ключевых слов в командной строке; в версии для
 MS-DOS режимы задаются через меню.


      П_р_и_м_е_ч_а_н_и_е. При распечатке документа с оглавле-
 нием программа использует временный файл "DOC.TMP", создавае-
 мый  на том же устройстве и в том же каталоге, где расположен
 входной  файл.  Таким образом, входной файл при необходимости
 сбора  оглавления  должен  находиться  на  диске. Кроме того,
 пользователь,  форматирующий текст со сбором оглавления, дол-
 жен  иметь  право  доступа  для  записи в каталог, содержащий
 входной файл.




             2. Директивы программы DOC



      Исходный  текст  документа  размещается в одном или нес-
 кольких  файлах  и состоит из текстовой информации и директив
 форматирования.  Сформатированная  текстовая информация выво-
 дится в виде, определяемом директивами:

       -  форматирования текста;
       -  оформления страниц;

                            - 7 -

                      *** DOC V7.06 ***


       -  описания структуры документа;
       -  служебными;
       -  условного вывода.

      При  форматировании  текста  производится автоматический
 перенос  слов  (состоящих  из  символов  русского  алфавита).
 Исходный  текст может содержать знаки переноса слов в послед-
 ней  позиции строки, если знаку "-" предшествует символ русс-
 кого алфавита. Запретить перенос можно через главное меню.



           2.1. Синтаксис директив


      Все  директивы  должны размещаться на отдельных строках,
 начиная с п_е_р_в_о_й позиции строки. Директивы имеют следую-
 щий формат:

                 .DIR ARG
  где

 ".DIR" - идентификатор,  состоящий из 4 знаков; все директивы
          начинаются со знака ".";

 ARG    - аргумент  директивы, в зависимости от директивы дол-
          жен быть целым десятичным числом, строкой текста или
          спецификацией  файла; некоторые директивы не требуют
          аргумента;  опущенный числовой аргумент директивы по
          умолчанию имеет значение "1" (кроме директив ".HDR",
          ".LEV", ".LEF", ".RIG", ".MRL", ".MRR").



           2.2. Директивы форматирования текста





         2.2.1. Директива ".LIN [N]"


      Директива  требует один числовой аргумент, который опре-
 деляет  количество  пустых  строк, пропускаемых перед началом
 следующего фрагмента текста. Под фрагментом понимается текст,
 расположенный  между двумя директивами. Распечатка фрагмента,
 следующего за директивой ".LIN", начинается с красной строки.
 Если  фрагмент  текста  попадает  на начало страницы, пропуск
 строк  не выполняется. В том случае, когда пропуск строк при-
 водит  к  переводу  на  новую страницу, фрагмент начинается с
 начала этой колонки.


                            - 8 -

                      *** DOC V7.06 ***


      Директива  ".LIN"  переводит  "DOC"  в режим вывода, при
 котором  формирование  выходной строки происходит пословно из
 входной  текстовой  информации. При этом строки выравниваются
 по длине, дополняясь пробелами между словами.



         2.2.2. Директива ".AVA [N]"


      Директива  ".AVA"  определяет начало режима "АВТОАБЗАЦ".
 Этот  режим действует до появления директивы ".NAV". В режиме
 "АВТОАБЗАЦ"  начало каждого фрагмента текста с горизонтальной
 табуляции или 3 и более пробелов подразумевает начало следую-
 щего абзаца, то есть эквивалентно действию директивы ".LIN" с
 аргументом, равным значению аргумента в директиве ".AVA".



         2.2.3. Директива ".NAV"


      Директива  ".NAV"  отменяет  действие режима "АВТОАБЗАЦ"
 (см. директиву ".AVA").



         2.2.4. Директива ".BLN [N]"


      Директива  ".BLN"  аналогична  ".LIN",  но  в отличие от
 ".LIN"  распечатка фрагмента текста начинается с начала стро-
 ки.



         2.2.5. Директива ".SKI [N]"


      Директива  ".SKI"  аналогична  ".BLN",  но пропуск строк
 производится, даже если следующий фрагмент попадает на начало
 колонки.  Если  на текущей колонке осталось строк меньше, чем
 требует  аргумент,  предварительно  производится  переход  на
 новую колонку.

                            - 9 -

                      *** DOC V7.06 ***


         2.2.6. Директива ".SWT [N]"


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



         2.2.7. Директива ".SWN [N]"


      Директива  ".SWN"  аналогична  директиве  ".SWT",  но не
 производит усечение строк, превышающих по длине ширину колон-
 ки,  а  переносит остаток на следующую строку, помечая начало
 символом ">".



         2.2.8. Директива ".MID TEXT"


      Директива  имеет  текстовой  аргумент.   Строка-аргумент
 выводится по центру колонки. Длина строки-аргумента не должна
 превышать ширину колонки. Если после директивы ".MID" следует
 текст,  не  содержащий любой из директив "DOC", то все строки
 до  появления  первой  директивы  также  выводятся  по центру
 колонки.

 Пример:

                    *** ИСХОДНЫЙ ТЕКСТ ***

  .MID ЭТИ СТРОКИ
  РАСПОЛОЖЕНЫ
  ПО ЦЕНТРУ КОЛОНКИ

                   *** ВЫВЕДЕННЫЙ ТЕКСТ ***

                          ЭТИ СТРОКИ
                          РАСПОЛОЖЕНЫ
                       ПО ЦЕНТРУ КОЛОНКИ

                            - 10 -

                      *** DOC V7.06 ***


         2.2.9. Директива ".RIT TEXT"


      Директива  ".RIT"  имеет  текстовой  аргумент.   Строка-
 аргумент выравнивается по правой границе колонки. Длина стро-
 ки-аргумента  не  должна превышать ширину колонки. Если после
 директивы ".RIT" следует текст, не содержащий любой из дирек-
 тив  "DOC", то все строки до появления первой директивы также
 выравниваются пр правой границе колонки.

 Пример:

                    *** ИСХОДНЫЙ ТЕКСТ ***

  .RIT Эти строки
  выравнены
  по правой границе
  колонки

                   *** ВЫВЕДЕННЫЙ ТЕКСТ ***

                                                    Эти строки
                                                     выравнены
                                             по правой границе
                                                       колонки



        2.2.10. Директива ".SSB [SYM]"


      В  качестве  аргумента  директивы используется одиночный
 символ.  Этот символ при выводе последующих строк форматируе-
 мого  текста  будет  заменяться  пробелами.  Эта  возможность
 полезна  при необходимости сделать пропуск нескольких позиций
 внутри  форматируемой  строки,  чтобы  после  вывода записать
 вручную в эти позиции нужную информацию. Для того чтобы отме-
 нить  замену символа пробелом, необходимо использовать дирек-
 тиву ".SSB" без аргумента.

 Пример:

                    *** ИСХОДНЫЙ ТЕКСТ ***

  .SSB %
  .BLN
  При значениях %%%= 0.33, %%%= 1.6Е-5 решение
  задачи устойчиво.
  .SSB
  Величина погрешности не превышает 0.3%.

                   *** ВЫВЕДЕННЫЙ ТЕКСТ ***


                            - 11 -

                      *** DOC V7.06 ***


 При  значениях    = 0.33,    = 1.6е-5 решение задачи устойчи-
 во. Величина погрешности не превышает 0.3%.



           2.3. Директивы форматирования страниц


      Программа  "DOC" автоматически формирует страницы распе-
 чатываемого  документа.  В оформление страницы документа вхо-
 дят:

       -  нумерация страниц;
       -  обозначение документа;
       -  сформатированный текст документа.

      Нумерация страниц осуществляется автоматически, если она
 или  разбиение  на страницы не отменены в главном меню. Номер
 страницы печатается в центре колонки в виде "- XX -".

      Обозначение документа представляет собой текстовую стро-
 ку,  выводимую в начале страницы. Строка задается в директиве
 ".STL".



         2.3.1. Директива ".STL [TEXT]"


      Аргумент директивы ".STL" - текстовая строка, используе-
 мая  в  качестве  обозначения документа, выводится вверху под
 номером  листа. Действие директивы ".STL" может быть изменено
 (отменено)  другой  директивой  ".STL".  Чтобы  отказаться от
 вывода  обозначения,  достаточно  использовать  директиву без
 аргумента.



         2.3.2. Директива ".PAG"


      По этой директиве производится переход на новую страницу
 документа.  Переход не производится, если директива обрабаты-
 вается в начале страницы.

                            - 12 -

                      *** DOC V7.06 ***


         2.3.3. Директива ".CLN"


      По  этой директиве производится переход на новую колонку
 документа.  Переход не производится, если директива обрабаты-
 вается в начале колонки. Для данной версии программы директи-
 ва ".CLN" совпадает с ".PAG".



         2.3.4. Директива ".TES"


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



           2.4. Директивы описания структуры


      Для  описания  структуры  документа  "DOC" предоставляет
 набор директив, которые позволяют выделить в документе:

       -  лист утверждения;
       -  титульный лист;
       -  аннотацию;
       -  содержание;
       -  разделы и подразделы;
       -  пункты и подпункты;
       -  перечисления и определения;
       -  примечания;
       -  приложения;
       -  перечни.

      Приложения могут содержать разделы, подразделы и т.д.

      Использование директив описания структуры облегчает фор-
 мирование  заголовков  и  обеспечивает  автоматический   сбор
 содержания  и  нумерацию разделов, подразделов, пунктов, под-
 пунктов и приложений.



         2.4.1. Директива ".TLU"


      Директива  формирует  лист  утверждения  документа из 16
 следующих  за  ней строк. Ниже представлен пример содержимого
 этих строк:


                            - 13 -

                      *** DOC V7.06 ***


     1.   Название предприятия; например, "ТОО "ЭСТЕЛЬ-Е";
     2.   Должность утверждающего лица; например, "ДИРЕКТОР";
     3.   Ф.И.О. утверждающего лица; например, "Г.П.ДРОНОВ";
     4.   Наименование тематики, к которой относится документ,
          например "ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СМ ЭВМ";
     5.   Полное  наименование операционной системы (для доку-
          ментации  на  программное  обеспечение);   например,
          "ОПЕРАЦИОННАЯ СИСТЕМА РЕАЛЬНОГО ВРЕМЕНИ"
     6.   Сокращенное  наименование операционной системы, нап-
          ример "RSX-11М V4.1";
     7.   Название программной компоненты (для документации на
          программное  обеспечение), например, "ПРОГРАММА ФОР-
          МАТИРОВАНИЯ ДОКУМЕНТАЦИИ";
     8.   Имя  и версия программной компоненты (для документа-
          ции  на  программное  обеспечение),  например,  "DOC
          V7.03";
     9.   Вид документа, например, "РУКОВОДСТВО ОПЕРАТОРА";
     10.  Версия документа, например, "D091087";
     11.  Должность руководителя подразделения;
     12.  Фамилия и инициалы руководителя подразделения;
     13.  Должность руководителя темы;
     14.  Фамилия и инициалы руководителя темы;
     15.  Должность исполнителя документа;
     16.  Фамилия и инициалы исполнителя документа;


      П_р_и_м_е_ч_а_н_и_е.  Большая часть из 16-ти строк может
 быть заменена пустыми строками.

      Действие директивы ".TLU" можно отменить в главном меню.



         2.4.2. Директива ".TTL"


      Директива  формирует  титульный лист документа из 8 сле-
 дующих за ней строк. Ниже представлен пример содержимого этих
 строк:

     1.   Название организации;
     2.   Вид обеспечения;
     3.   Полное  название операционной системы (для программ-
          ного обеспечения);
     4.   Сокращенное название операционной системы (для прог-
          раммного обеспечения);
     5.   Название программной компоненты; например, "ПРОГРАМ-
          МА ФОРМАТИРОВАНИЯ ДОКУМЕНТАЦИИ";
     6.   Сокращенное  наименование  программной   компоненты;
          например, "DOC V7.03";
     7.   Вид документа, например, "РУКОВОДСТВО ОПЕРАТОРА";
     8.   Версия документа, например, "D091087".


                            - 14 -

                      *** DOC V7.06 ***


      Действие директивы ".TTL" можно отменить в главном меню.



         2.4.3. Директива ".TOC"


      Директива ".TOC" используется для указания необходимости
 сбора оглавления. Директива ".TOC" должна предшествовать пер-
 вому выводимому фрагменту текста.

      При  сборе содержания "DOC" выполняет два прохода (прос-
 мотра) исходного текста. При этом на первом проходе осуществ-
 ляется  сбор оглавления, а на втором - распечатка документа и
 оглавления.

      В  конце первого прохода на терминале оператора распеча-
 тывается  сообщение о завершении первого прохода и количестве
 страниц, которое будет содержать сформатированный документ.

      Действие директивы ".TOC" можно отменить в главном меню.



         2.4.4. Директива ".TCT [TEXT]"


      Данная  директива  позволяет  заносить    дополнительную
 информацию  в оглавление документа. Если в исходном тексте не
 используется директива ".TOC", то ".TCT" игнорируются.

      Директива  имеет  в качестве аргумента текстовую строку,
 которая  заносится в содержание документа. Положение директив
 ".TCT"  в  исходном тексте определяет место в оглавлении, где
 указанные в директивах строки будут распечатаны.

      Основное  назначение  данной  директивы  -    обеспечить
 средство,  позволяющее  включить  в  оглавление  первой части
 документа  перечисление остальных частей документа и их обоз-
 начений.



         2.4.5. Директива ".INT"


      Директива  ".INT" определяет начало аннотации к докумен-
 ту. Фрагменты текста, следующие за директивой (и разделенные,
 может  быть,  директивами форматирования текста) включаются в
 аннотацию. Ограничением аннотации будет начало одного из раз-
 делов, подразделов, пунктов, подпунктов или приложений.

                            - 15 -

                      *** DOC V7.06 ***


      П_р_и_м_е_ч_а_н_и_е. В аннотации допустимо использование
 перечислений и примечаний.



         2.4.6. Директива ".APN [TEXT]"


      По  этой  директиве  начинается  распечатка  приложения;
 текстовой  аргумент  исползуется  как  заголовок.  Приложения
 начинаются  с  новой  страницы. Вторая и последующие страницы
 приложения помечаются строкой "ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ N". Для
 отмены  вывода этой строки после окончания приложения необхо-
 димо использовать директиву ".STL" без аргумента.



         2.4.7. Директива ".LIS TEXT"


      По  этой  директиве  начинается  распечатка    перечней,
 используя текстовый аргумент как заголовок. Перечни начинают-
 ся с новой страницы. Заголовок перечня заносится в оглавление
 документа,  но  не  нумеруется.  Директива ".LIS" эквивалента
 директиве  ".HDR", обрабатываемой на 0-м уровне. Строки, сле-
 дующие  за  директивой  ".LIS"  до появления любой директивы,
 считаются  продолжением заголовка, и включаются в оглавление.
 Директива  может  использоваться  для  оформления  фрагментов
 текста, чьи заголовки должны выводится в оглавлении без нуме-
 рации, например, "ВВЕДЕНИЕ".



         2.4.8. Директива ".CPT TEXT"


      По  этой директиве начинается распечатка раздела. Дирек-
 тива аналогична ".APN". Текстовый аргумент директивы является
 заголовком  раздела, заносится в оглавление документа и нуме-
 руется.  Директива ".CPT" эквивалента директиве ".HDR", обра-
 батываемой  на  1-м  уровне.  Строки, следующие за директивой
 ".CPT"  до  появления любой директивы, считаются продолжением
 заголовка, и включаются в оглавление.



         2.4.9. Директива ".HLV [N]"


      Директива  используется для определения начала подразде-
 ла, пункта или подпункта. интерпретация директивы определяет-
 ся числовым аргументом:

                            - 16 -

                      *** DOC V7.06 ***


        N=1     - подраздел;
        N=2     - пункт;
        N=3     - подпункт.

 Фрагмент  текста,  следующий  за директивой, используется как
 заголовок.  Заголовок  форматируется  аналогично    текстовой
 информации,  но  на  меньшую длину выходной строки. Директива
 ".HLV  [N]"  эквивалента  директиве ".HDR", обрабатываемой на
 (N+1)-М уровне.



        2.4.10. Директива ".HDR [+-N] [,+-M]"


      Директива  ".HDR"  является  обобщением директив ".LIS",
 ".CPT" И ".HLV". Она использует текущее значение уровня заго-
 ловков  (0  для ".LIS", 1 для ".CPT, 2-4 для ".HLV") и форми-
 рует заголовок соответствующего уровня из фрагмента следующе-
 го за директивой текста. Аргумент "+-N" позволяет:

              -  задать текущий уровень заголовков, указав "N"
                 без знака (N=0-4);

              -  увеличить или уменьшить текущий уровень заго-
                 ловков, указав "N" со знаком "+" или "-".

 Если "N" не указан, то формируется заголовок на текущем уров-
 не. С помощью аргумента "+-M" можно задать или изменить (ана-
 логично "N") номер заголовка соответствующего уровня.

      Директиву  ".HDR"  полезно  использовать  в  документах,
 которые  могут  выводиться  отдельно  или включаться в другой
 документ, изменяя при этом уровни заголовков.

      Для начальной установки уровня можно использовать дирек-
 тиву ".LEV".



        2.4.11. Директива ".LEV [+-N][,+-M]"


      Директива  ".LEV"  Предназначена для начальной установки
 уровня  заголовков.  Аргументы  директивы имеют тот же смысл,
 что и в директиве ".HDR".

                            - 17 -

                      *** DOC V7.06 ***


        2.4.12. Директива ".AND [N]"


      Директива  ".AND"  определяет  начало  фрагмента текста,
 который  используется как элемент перечисления. Элемент пере-
 числения перед выводом дополняется знаком "-" и форматируется
 аналогично текстовой информации.

      Числовой  аргумент  указывает на количество пустых строк
 перед началом данного элемента перечисления.

 Пример:

                    *** ИСХОДНЫЙ ТЕКСТ ***

  .BLN
  Ограничителем   цикла "DO" не может быть:
  .AND
  оператор "GOTO";
  .AND 0
  арифметический "IF";
  .AND 0
  оператор "END";
  .AND 0
  оператор "RETURN";
  .AND 0
  оператор "DO".

                    *** ВЫВОДИМЫЙ ТЕКСТ ***

 Ограничителем цикла "DO" не может быть:

       -  оператор "GOTO";
       -  арифметический "IF";
       -  оператор "END";
       -  оператор "RETURN";
       -  оператор "DO".



        2.4.13. Директива ".AN2 [N]"


      Директива  ".AN2" аналогична директиве ".AND", но форма-
 тирование производится на более короткой длине строки.

 Приведем  текст  примера из предыдущего параграфа, полученный
 после замены ".AND" на ".AN2":

                    *** ВЫВОДИМЫЙ ТЕКСТ ***

 Ограничителем цикла "DO" не может быть:


                            - 18 -

                      *** DOC V7.06 ***


              -  оператор "GOTO";
              -  арифметический "IF";
              -  оператор "END";
              -  оператор "RETURN";
              -  оператор "DO".



        2.4.14. Директива ".NPR [SYM]"


      Директива  ".NPR" определяет начало перечисления с нуме-
 рацией  (устанавливает  счетчик  номеров в 1) и задает символ
 (SYM),  который будет служить ограничителем номеров элементов
 перечисления; по умолчанию - ")".



        2.4.15. Директива ".EPR [N]"


      Директива  ".EPR"  определяет начало очередного элемента
 перечисления  с  нумерацией,  которым  является  следующий за
 директивой  текст. В начало текста вставляется последователь-
 ный  номер элемента перечисления, отделяемый от текста симво-
 лом,  заданным  директивой  ".NPR". Аргумент "N" задает число
 пропускаемых перед выводом строк.

 Пример:
                    *** ИСХОДНЫЙ ТЕКСТ ***

  .BLN
  Ограничителем   цикла "DO" не может быть:
  .NPR .
  .EPR
  оператор "GOTO";
  .EPR 0
  арифметический "IF";
  .EPR 0
  оператор "END";
  .EPR 0
  оператор "RETURN";
  .EPR 0
  оператор "DO".

                    *** ВЫВОДИМЫЙ ТЕКСТ ***

 Ограничителем цикла "DO" не может быть:

 1. оператор "GOTO";
 2. арифметический "IF";
 3. оператор "END";

                            - 19 -

                      *** DOC V7.06 ***


 4. оператор "RETURN";
 5. оператор "DO".



        2.4.16. Директива ".EP2 [N]"


      Директива  ".EP2"  аналогична  ".EPR",  но форматируемая
 строка сдвинута вправо.

 Пример:
                    *** ИСХОДНЫЙ ТЕКСТ ***

  .BLN
  Ограничителем   цикла "DO" не может быть:
  .NPR
  .EP2
  оператор "GOTO";
  .EP2 0
  арифметический "IF";
  .EP2 0
  оператор "END";
  .EP2 0
  оператор "RETURN";
  .EP2 0
  оператор "DO".

                    *** ВЫВОДИМЫЙ ТЕКСТ ***

 Ограничителем цикла "DO" не может быть:

     1)   оператор "GOTO";
     2)   арифметический "IF";
     3)   оператор "END";
     4)   оператор "RETURN";
     5)   оператор "DO".



        2.4.17. Директивы ".HDL [N]", ".HDB [N]"


      Директивы  ".HDL"  и ".HDB" определяют начало очередного
 подпункта  без  вывода в содержание с нумерацией относительно
 текущего  пункта (параграфа). По директиве ".HDL" вывод начи-
 нается с красной строки (как ".LIN"), по директиве ".HDB" - с
 начала  строки.  Аргумент "N" задает число пропускаемых перед
 выводом строк.

 Пример:
                    *** ИСХОДНЫЙ ТЕКСТ ***

                            - 20 -

                      *** DOC V7.06 ***


  .HDL
  Этот подпункт нумеруется относительно текущего
  структурного элемента.
  .HDB
  Это следующий подпункт.

                    *** ВЫВОДИМЫЙ ТЕКСТ ***

      2.4.17.1. Этот подпункт нумеруется относительно текущего
 структурного элемента.

 2.4.17.2. Это следующий подпункт.



        2.4.18. Директива ".TBL TEXT"


      Директива  является  комбинацией директив ".SWT" и ".AND
 0" и позволяет заменить их последовательность на более корот-
 кую:

                  .SWT          .TBL СТРОКА
                   СТРОКА =====>        ТЕКСТ
                  .AND 0
                  ТЕКСТ

 Пример:

                    *** ИСХОДНЫЙ ТЕКСТ ***

  .TBL "/CD:XXX"
  КЛЮЧ ПОЗВОЛЯЕТ УКАЗАТЬ ТРАНСЛЯТОРУ
  ТИП ГЕНЕРИРУЕМОГО КОДА.

                    *** ВЫВОДИМЫЙ ТЕКСТ ***

 "/CD:XXX"
       -  КЛЮЧ ПОЗВОЛЯЕТ УКАЗАТЬ ТРАНСЛЯТОРУ ТИП ГЕНЕРИРУЕМОГО
          КОДА.



        2.4.19. Директива ".TB2 TEXT"


      Директива  ".TB2" аналогична директиве ".TBL", но форма-
 тирование производится на более короткой длине строки.

 Предыдущий пример после замены ".TBL" на ".TB2" дает текст:

                    *** ВЫВОДИМЫЙ ТЕКСТ ***

                            - 21 -

                      *** DOC V7.06 ***


        "/CD:XXX"
              -  КЛЮЧ  ПОЗВОЛЯЕТ УКАЗАТЬ ТРАНСЛЯТОРУ ТИП ГЕНЕ-
                 РИРУЕМОГО КОДА.



        2.4.20. Директива ".DFN TEXT"


      Директива  ".DFN"  начинает определение. Строка-аргумент
 печатается  в  начале строки выходного аргумента, текст, сле-
 дующий за директивой, форматируется, начиная с этой же строки
 со  сдвигом  вправо.  Между  строкой-аргументом и последующим
 текстом помещается знак "-".

 Если строка-аргумент не помещается слева от текста, она печа-
 тается  отдельной  строкой  (аналогично  действию   директивы
 ".TBL").

 Пример:

                    *** ИСХОДНЫЙ ТЕКСТ ***

  .DFN THR
  МОДУЛЬНЫЙ КОД;
  .DFN FIS
  ПРЯМОЙ КОД С ИСПОЛЬЗОВАНИЕМ ИНСТРУКЦИЙ
  FADD, FSUB, FMUL, FDIV.

                    *** ВЫВОДИМЫЙ ТЕКСТ ***


 THR    - МОДУЛЬНЫЙ КОД;

 FIS    - ПРЯМОЙ  КОД  С ИСПОЛЬЗОВАНИЕМ ИНСТРУКЦИЙ FADD, FSUB,
          FMUL, FDIV.



        2.4.21. Директива ".DF2 TEXT"


      Директива  ".DF2" аналогична директиве ".DFN", но текст,
 следующий за директивой, форматируется на меньшей длине стро-
 ки.

 При использовании в предыдущем примере директивы ".DF2" вмес-
 то ".DFN" имеем:

                    *** ВЫВОДИМЫЙ ТЕКСТ ***



                            - 22 -

                      *** DOC V7.06 ***


        THR    - МОДУЛЬНЫЙ КОД;

        FIS    - ПРЯМОЙ  КОД С ИСПОЛЬЗОВАНИЕМ ИНСТРУКЦИЙ FADD,
                 FSUB, FMUL, FDIV.



        2.4.22. Директива ".ATT"


      Директива определяет начало фрагмента текста примечания.
 Числовой  аргумент не используется. Форматирование проводится
 аналогично  текстовой информации. В документе тексту примеча-
 ния предшествует слово "ПРИМЕЧАНИЕ".



           2.5. Служебные директивы





         2.5.1. Директива ".COM TEXT"


      Директива  предназначена  для  внесения  комментариев  в
 исходный  текст документа. Строки-аргументы директив не выво-
 дятся в форматируемый документ, они распечатываются на терми-
 нале "TI:".

      Директива:

                 .COM TEXT

  приведет к распечатке на терминале:

                 DOC -- TEXT



         2.5.2. Директива ".DSB"


      Эта  директива  запрещает  распознавание  программой DOC
 любых  директив, кроме ".ENB". Фрагмент текста между директи-
 вами  ".DSB"  и ".ENB" может содержать строки, начинающиеся с
 ".",  и  передается в выходной файл без форматирования. Длина
 строк внутри фрагмента не должна превышать ширину колонки.

                            - 23 -

                      *** DOC V7.06 ***


         2.5.3. Директива ".ENB"


      Директива отменяет действие ".DSB". Команды форматирова-
 ния, содержащиеся в последующих строках, будут распознаваться
 и выполняться программой "DOC".



         2.5.4. Директива ".IPN [N]"


      Директива  увеличивает номер следующей страницы на вели-
 чину,  указанную  числовым аргументом директивы (1 по умолча-
 нию).  Это позволяет вставлять в сформатированный текст стра-
 ницы,  выведенные отдельно, без перенумерации и корректировки
 оглавления.



         2.5.5. Директива ".JMP [N]"


      Аргумент директивы ".JMP" указывает, сколько строк необ-
 ходимо  пропускать после вывода каждой сформатированной стро-
 ки.  Значение  директивы  отменяется  следующей    директивой
 ".JMP".  При  запуске программы по умолчанию значение равно 0
 (".JMP 0").

 Пример:

                    *** ИСХОДНЫЙ ТЕКСТ ***

  .JMP 1
  .BLN
  ПРИ ВЫВОДЕ ЭТОГО ТЕКСТА ФОРМАТИРУЕМЫЕ СТРОКИ
  РАЗДЕЛЯЮТСЯ ПУСТЫМИ СТРОКАМИ. ЧИСЛО ПУСТЫХ СТРОК РАВНО
  ЗНАЧЕНИЮ АРГУМЕНТА ДИРЕКТИВЫ ".JMP".
  .JMP 0

                    *** ВЫВОДИМЫЙ ТЕКСТ ***

 ПРИ ВЫВОДЕ ЭТОГО ТЕКСТА ФОРМАТИРУЕМЫЕ СТРОКИ РАЗДЕЛЯЮТСЯ ПУС-

 ТЫМИ  СТРОКАМИ.  ЧИСЛО  ПУСТЫХ СТРОК РАВНО ЗНАЧЕНИЮ АРГУМЕНТА

 ДИРЕКТИВЫ ".JMP".

                            - 24 -

                      *** DOC V7.06 ***


         2.5.6. Директива ".MRL K,L,M,N"


      Четыре  аргумента,  указанные в директиве через запятую,
 задают  номер  позиции  от  края  листа, с которой необходимо
 начинать строку (указывают левую границу текста):

     1-   Левую  границу  для директив ".LIN", ".BLN", ".SWT",
          ".APN", ".MID", ".RIT", ".CPT"; по умолчанию 0;
     2-   Левую  границу  для директив ".AND", ".TBL", ".DFN";
          по умолчанию 9;
     3-   Левую  границу  для директив ".AN2", ".TB2", ".DF2";
          по умолчанию 16;
     4-   Левую границу для директив ".HLV"; по умолчанию 15.

      Для восстановления значений по умолчанию можно использо-
 вать директиву ".MRL" без аргументов.



         2.5.7. Директива ".MRR K,L,M,N"


      Директива  ".MRR"  указывает  длину  форматируемых строк
 четырьмя аргументами:

     1-   Длину  строки  для  директив ".LIN", ".BLN", ".SWT",
          ".APN",  ".MID",  ".RIT",  ".CPT";  по  умолчанию 62
          (если не указан ключ "/WID:N" или "/STP");
     2-   Длину строки для директив ".AND", ".TBL", ".DFN"; по
          умолчанию 53;
     3-   Длину строки для директив ".AN2", ".TB2", ".DF2"; по
          умолчанию 46;
     4-   Длину  строки для всех директив ".HLV"; по умолчанию
          42;

      Для восстановления значений по умолчанию можно использо-
 вать директиву ".MRL" без аргументов.

 Пример использования директив ".MRR" и ".MRL"

                    *** ИСХОДНЫЙ ТЕКСТ ***

  .MRL 8
  .MRR 44
  .BLN
  СТРОКИ ЭТОГО ТЕКСТА ДОЛЖНЫ НАЧИНАТЬСЯ С 8 ПОЗИЦИИ
  И ИМЕТЬ ДЛИНУ 44 СИМВОЛА В СТРОКЕ. ВОССТАНОВИТЬ
  ЗНАЧЕНИЯ ПО УМОЛЧАНИЮ МОЖНО ПО ДИРЕКТИВАМ
  ".MRL 0,9,16,15" И ".MRR 62,53,46,42".
  .MRL
  .MRR


                            - 25 -

                      *** DOC V7.06 ***


                    *** ВЫВОДИМЫЙ ТЕКСТ ***

         СТРОКИ  ЭТОГО  ТЕКСТА ДОЛЖНЫ НАЧИНАТЬСЯ С 8
         ПОЗИЦИИ  И ИМЕТЬ ДЛИНУ 44 СИМВОЛА В СТРОКЕ.
         ВОССТАНОВИТЬ ЗНАЧЕНИЯ ПО УМОЛЧАНИЮ МОЖНО ПО
         ДИРЕКТИВАМ  ".MRL  0,9,16,15"  И      ".MRR
         62,53,46,42".



         2.5.8. Директива ".LEF [N]"


      Директива  ".LEF" устанавливает левую границу выводимого
 текста. Действие аналогично следующей паре директив:

        .MRL N
        .MRR WID-N, где WID - ширина выводимых строк текста



         2.5.9. Директива ".RIG [N]"


      Директива ".RIG" устанавливает правую границу выводимого
 текста.



           2.6. Директивы работы с файлами





         2.6.1. Директива ".CHA FILE"


      Аргументом директивы ".CHA" является спецификация файла,
 в  котором  находится продолжение исходного текста документа.
 Соглашения  о спецификации файла в директиве совпадают с сог-
 лашениями о спецификации файла в команде оператора.

      По  этой директиве обработка текущего файла прекращается
 и начинает обрабатываться указанный файл. Возврата в исходный
 файл не происходит. Это дает возможность размещения исходного
 текста  документа  в нескольких файлах, расположенных на раз-
 личных носителях. Длина "ЦЕПОЧКИ" файлов логически не ограни-
 чена.

                            - 26 -

                      *** DOC V7.06 ***


      П_р_и_м_е_ч_а_н_и_е.  Если в спецификации файла отсутст-
 вует  указание  устройства,  то  по умолчанию выбирается уст-
 ройство,  на  котором  размещен  первый файл распечатываемого
 документа.  Если  за директивой ".CHA" в первичном файле сле-
 дует  текст,  то он не будет выводиться в форматируемый доку-
 мент.



         2.6.2. Директива ".CPY FILE"


      Аргументом директивы является спецификация файла. Текст,
 содержащийся в указанном файле, будет включен в форматируемый
 документ. Соглашения о спецификации файла совпадают с ".CHA".

      По  этой директиве обработка текущего файла прекращается
 и начинает обрабатываться указанный файл. По завершению обра-
 ботки вторичного файла "DOC" возобновляет обработку первично-
 го файла со строки, следующей за ".CPY".

      Во  вторичном  файле разрешается использование директивы
 ".CPY". Максимальная глубина вложения входных файлов равна 4,
 т.е. можно использовать 3 вложенных директивы ".CPY".


      П_р_и_м_е_ч_а_н_и_е.  Если в спецификации файла отсутст-
 вует  указание  устройства,  то  по умолчанию выбирается уст-
 ройство из спецификации последнего открытого входного файла.



         2.6.3. Директива ".CPD FILE"


      Директива  аналогична директиве ".CPY" и отличается тем,
 что  при использовании ".CPD" во вторичном файле не обрабаты-
 ваются  никакие  директивы.  Текст  включается  в формируемый
 документ без форматирования.



         2.6.4. Директива ".CPS FILE [/SW]"


      Директива предназначена для выборки документации из фай-
 лов,  представляющих собой тексты программ на языках ФОРТРАН,
 АССЕМБЛЕР, C, CLIPPER. Документация в этих файлах должна быть
 размещена в комментариях по следующим правилам:

     1)   Комментарий  начинается  в  первой  позиции  строки:
          "C...", ";...", "/*...", "*...";


                            - 27 -

                      *** DOC V7.06 ***


     2)   Начало  фрагмента, который должен выбираться из фай-
          ла,  помечается  символами  "+DOC"  в первой позиции
          после комментария;

     3)   После  обнаружения  "+DOC"  программа  "DOC" считает
          документацией  все  строки  комментариев,  т.е.  они
          должны содержать директивы форматирования;

     4)   Ограничителем  фрагмента  являются  символы  "-DOC",
          встреченные на первой позиции после комментария;

     5)   В  файле  с  помощью  ограничителей  "+DOC" и "-DOC"
          может  быть выделено несколько фрагментов с докумен-
          тацией;

     6)   Последний  фрагмент  желательно ограничивать строкой
          "--DOC", при этом чтение файла прекращается.

      Необязательный ключ "/SW" служит для указания типа вход-
 ного  файла  и  может  иметь  значения  "/FOR", "/ASM", "/C",
 "/PRG"  Если ключ не указан, тип определяется из спецификации
 файла.

 Пример оформления фрагмента:

        Integer*4 function      Reply (A,B)
 C********************************************************
 C V1.00/1-feb-1991
 C+DOC                          ;начало блока документации
 C.HDR
 C Reply - получение ответа...
 C.LIN 0
 C Функция "REPLY" предназначена ...
 C . . .
 C.bln
 C Обращение:
 C.swt
 C      Istat   = Reply (A,B)   !FORTRAN
 C.bln
 C Входные данные:
 C.dfn A (char)
 C идентификатор строки, ограниченной 0 байтом;
 C.dfn B (I)
 C длина части строки, не д.б. больше 32к.
 C.bln
 C Выходные данные:
 C.dfn Istat
 C признак ошибки, если < 0.
 C.iff $SH                      ;если полный документ
 C.bln
 C Используемые подпрограммы:
 C.swt
 C      1. LenS         STRlib

                            - 28 -

                      *** DOC V7.06 ***


 C.eif $SH                      ;конец условного блока
 C--DOC                         ;начало блока документации
 C********************************************************



           2.7. Директивы условного вывода


      Директивы  условного вывода позволяют определять в файле
 с  исходным текстом или в ответ на вопрос с терминала условия
 для  вывода  или пропуска определенных фрагментов текста. При
 этом из одного файла можно получать 2 и более различных доку-
 ментов  (например,  полное  и  краткое  описание  программы и
 т.п.).

      Директивы  условного вывода работают с переменными, зна-
 чения  которых  можно  определить  как  "ЛОЖЬ"  или  "ИСТИНА"
 (".FALSE."/".TRUE.").  Эти переменные вместе со своими значе-
 ниями заносятся во внутренние таблицы программы. Максимальное
 число  переменных  задается  при  генерации  программы  "DOC"
 (обычно 10).

      Аргументом директив являются 3-символьные имена перемен-
 ных.  В  именах можно использовать латинские символы, цифры и
 знак "$".



         2.7.1. Директива ".SET VAR"


      Директива  ".SET"  определяет  переменную  VAR  (если не
 определена ранее) и устанавливает для нее значение ".TRUE.".



         2.7.2. Директива ".SEF VAR"


      Директива  ".SEF"  Определяет  переменную  VAR  (если не
 определена ранее) и устанавливает для нее значение ".FALSE.".



         2.7.3. Директива ".ASK VAR TEXT"


      Директива  ".ASK"  определяет  переменную  VAR  (если не
 определена  ранее) и устанавливает для нее значение, вводимое
 с терминала в ответ на подсказку "TEXT".

 Ответ  "Y[ES]"  или  "Д[А]"  устанавливает  значение  VAR   в

                            - 29 -

                      *** DOC V7.06 ***


 ".TRUE", "N[O]" или "Н[ЕТ]" - в ".FALSE.".



         2.7.4. Директивы ".IFT VAR/.IFF VAR"


      Директивы  определяют  условия  обработки   последующего
 фрагмента  текста  в  зависимости  от  значения    переменной
 (".TRUE." или ".FALSE.").



         2.7.5. Директива ".EIF VAR"


      Директива  ".EIF"  отменяет  условную обработку входного
 файла для данной переменной VAR.



         2.7.6. Директива ".ERA VAR"


      Директива  ".ERA"  удаляет  указанную  переменную VAR из
 внутренних  таблиц,  освобождая  место  для определения новой
 переменной.





             3. Сообщения оператору



      Сообщения и диагностика ошибок программы DOC следующие:


 1. "DOC -I- V7.00/EIS/19-ИЮН-88 -- ОНПО "ТЕХНОЛОГИЯ"
              -  идентификатор программы, печатается при нажа-
                 тии клавиши <RETURN> после подсказки;

 2. "DOC -I- КОНЕЦ ПЕРВОГО ПРОХОДА, ЛИСТОВ: NNNNN"
              -  информационное  сообщение,  не требует вмеша-
                 тельства оператора.

 3. "DOC -W- НЕВЕРНАЯ КОМАНДА В СТРОКЕ #NNN
            [ СТРОКА С НЕВЕРНОЙ КОМАНДОЙ ]
     *** -- НАЖМИТЕ <ВК> ДЛЯ ПРОДОЛЖЕНИЯ"
              -  предупреждающее сообщение, ошибочная строка в
                 выходной файл не выводится.


                            - 30 -

                      *** DOC V7.06 ***


 4. "DOC -W- ОШИБКА В КОМАНДНОЙ СТРОКЕ: [КОМАНДНАЯ СТРОКА]"
              -  программа возвращается на фазу инициализации.

 5. "DOC -F- ОШИБКА ПРИ ОТКРЫТИИ ВХОДНОГО ФАЙЛА [ИМЯ ФАЙЛА]"
              -  обработка  текста  прекращается,   происходит
                 возврат программы на фазу инициализации.

 6. "DOC -F- ОШИБКА ПРИ ОТКРЫТИИ ВЫХОДНОГО ФАЙЛА [ИМЯ ФАЙЛА]"
              -  программа возвращается на фазу инициализации.

 7. "DOC -F- ОШИБКА ЧТЕНИЯ [ИМЯ ФАЙЛА]"
              -  произошла  при  обработке  первичного  файла;
                 фатальная  ошибка,  работа  программы прекра-
                 щается.

 8. "DOC -F- ОШИБКА ЧТЕНИЯ CP%-ФАЙЛА"
              -  CP%-ФАЙЛ  -  это вторичный текстовый файл, на
                 обработку  которого  перешла программа DOC по
                 директиве  ".CPY", ".CPD" или ".CPS"; фаталь-
                 ная ошибка, работа программы прекращается.

 9. "DOC -W- ОШИБКА ПРИ ОТКРЫТИИ ВРЕМЕННОГО ФАЙЛА [ИМЯ ФАЙЛА]"
              -  невозможно  открыть файл для сбора оглавления
                 на первом проходе, программа продолжает рабо-
                 ту.

 10. "DOC -W- ОШИБКА ПРИ ОТКРЫТИИ CP%-ФАЙЛА [ИМЯ ФАЙЛА]"
              -  программа  продолжает  обработку   первичного
                 файла.

 11. "DOC  -W-  ПРЕВЫШЕНА  ГЛУБИНА  ВЛОЖЕНИЯ  ДИРЕКТИВ ".CP%";
 ИГНОРИРУЕТСЯ"
              -  предупреждающее  сообщение,  глубина вложения
                 директив  ".CPY", ".CPD" или ".CPS" превысила
                 3;  продолжается  обработка текущего входного
                 файла.

 12. "DOC -F- ОШИБКА ПРИ ОТКРЫТИИ CHA-ФАЙЛА [ИМЯ ФАЙЛА]"
              -  программа прекращает работу, управление пере-
                 дается программе связи с оператором.

 13. "DOC -W- СПРАВОЧНАЯ ИНФОРМАЦИЯ НЕДОСТУПНА"
              -  отсутствует файл "LB:[1,2]DOC.HLP".

 14. "DOC -W- ПЕРЕМЕННАЯ НЕ ОПРЕДЕЛЕНА: [СТРОКА]"
              -  в директиве условного вывода указана перемен-
                 ная, значение которой не определено.

 15. "DOC -W- СПИСОК ПЕРЕМЕННЫХ ЗАПОЛНЕН: [СТРОКА]"
              -  число  определенных  переменных для условного
                 вывода превысило максимальное значение (обыч-
                 но 10). Используйте директиву ".ERA" для уда-
                 ления из списка ненужных переменных.

