B.9 Команды ooc

Предыдущая  Содержание  Следующая V*D*V

ooc может загрузить произвольное количество отчётов и описаний, вывести несколько файлов интерфейсов и представлений, и предложить или предварительно обработать различные файлы реализации, всё за один запуск. Это следствие модульной реализации. Однако, ooc представляет собой подлинный фильтр, то есть он считывает файлы в соответствии с указаниями в командной строке, но записывает только в поток стандартного вывода. Если за один проход генерируется несколько выходов, они должны были быть разделены и записаны в различные файлы постпроцессором на основе awk или csplit. Вот некоторые типичные вызовы ooc:

 

$ ooc -R Object -h > Object.h       # корневой класс

$ ooc -R Object -r > Object.r

$ ooc -R Object Object.dc > Object.c

 

$ ooc Point -h > Point.h            # другие классы

$ ooc -M Point Circle >> makefile   # зависимости

$ echo ’Point.c: Point.d’ >> makefile

$ ooc Circle -dc > Circle.dc        # старт реализации

$ ooc Circle -dc | ooc Circle - > Circle.c  # жульничество...

 

Если ooc вызывается без аргументов, он выводит следующее описание использования:

 

$ ooc

usage:   ooc [опции ...] [отчёт ...] описание цель ...

 

options:     -d          подготовка для отладки

             -l          создать штампы #line

             -Dnm=val    определить val для `nm (одно слово)

             -M          создать зависимость для каждого описания

             -R          описание корневого процесса

             -7 -8 ...   версии для разделов книги

report:      report.rep  загрузить альтернативный файл отчёта

description: class       загрузить файл описания класса

targets:     -dc         создать преобразователь для последнего ’класса’

             -h          создать интерфейс для последнего ’класса’

             -r          создать представление для последнего ’класса’

             -           предобработка stdin для последнего ’класса’

             source.dc   предобработка исходника для последнего ’класса’

 

Надо отметить, что если какой-либо файл отчёта загружен, стандартные отчеты не грузятся. Для замены только одного файла стандартного отчета надо указать файл с тем же именем ранее в OOCPATH.

Командный скрипт ooc должен быть просмотрен во время установки. Он содержит AWKPATH, путь для процессора awk, чтобы определить расположение модулей, и OOCPATH, чтобы определить расположение отчётов. Эта последняя переменная устанавливается для поиска в стандартном месте как последний шанс; если ooc вызывается с уже определённым OOCPATH, это значение добавляется в начало стандартного места.

Чтобы всё ускорить, командный скрипт проверяет всю командную строку и загружает только необходимые файлы отчёта. Если ooc используется неправильно, скрипт выводит описание использования, показанное выше. В противном случае awk выполняется тем же процессом.

 

Предыдущая  Содержание  Следующая