Приемы профессиональной работы в UNIX


Ctags - создание файла признаков исходного кода проекта - часть 2


Ctags просматривает файлы с исходным кодом на Си, переданные в командной строке, и печатает список имен функций в каждом исходном файле. Имена функций имеют специальный синтаксис и должны быть именно в таком формате, иначе awk не распознает их как таковые. Эти правила заключаются в том, что имя функции должно находиться в начале строки, состоять из разрешенных символов и за ним должна следовать левая скобка. Пробелы в имени функции не допускаются. Вот пример модуля программы на Си, подаваемого на рассмотрение командному файлу ctags:

main() { }

func1(arg1,arg2) int arg1,arg2; { }

func2(arg1,arg2)int arg1,arg2; { }

Результат работы ctags направляется в стандартный вывод (на экран), поэтому он должен быть перенаправлен, чтобы попасть в файл. Входом для ctags является любое число имен файлов. Напомним, что если на входе имеется несколько файлов, то выход представляет собой один непрерывный поток данных, попадающий в один файл. Если вам нужен выводной файл для каждого входного файла, то для управления ctags можно применить такой командный файл с циклом:

for F in *.c do ctags $F > $F.tags done

Выход ctags состоит из трех полей в таком формате:

признак имя_файла шаблон_поиска

Реальный выход для примера программы на Си, приведенного выше, был бы таким:

main /usr/russ/src/program.c /^main()$/ func1 /usr/russ/src/program.c /^func1(arg1,arg2)$/ func2 /usr/russ/src/program.c /^func2(arg1,arg2)$/

Первое поле является именем признака (которое совпадает с именем функции). Второе поле - маршрутное имя файла, содержащего данную функцию. Третье поле - шаблон поиска, используемый признаковыми средствами редактора для доступа к функции внутри файла (более подробно об этом позже).

Предположим, вы можете сгенерировать правильный файл признаков. Как согласовать файл признаков с редакторами таким образом, чтобы вы могли найти интересующую вас функцию? Редактор vi предоставляет много путей для этого. Первый способ - поместить имя используемого файла признаков в файл .exrc. (Файл .exrc является аналогом файла .profile для редактора ex и работает также с редактором vi, что не удивительно, так как vi построен na ex. Поскольку vi - наиболее популярный редактор системы UNIX, мы применяем его здесь для наших примеров.) Вы можете иметь файл .exrc, который выглядит примерно так:




Начало  Назад  Вперед



Книжный магазин