man-pages/ru/man1/lexgrog.1.html
2021-03-31 01:06:50 +01:00

255 lines
11 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD><TITLE>Man page of LEXGROG</TITLE>
</HEAD><BODY>
<H1>LEXGROG</H1>
Section: Утилиты просмотра справочных страниц (1)<BR>Updated: 2020-02-25<BR><A HREF="#index">Index</A>
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
<A NAME="lbAB">&nbsp;</A>
<H2>НАЗВАНИЕ</H2>
lexgrog - анализирует заголовочную информацию справочных страниц
<A NAME="lbAC">&nbsp;</A>
<H2>СИНТАКСИС</H2>
<B>lexgrog</B> [<B>-m</B>|<B>-c</B>] [<B>-dfw?V</B>] [<B>-E</B> <I>кодировка</I>]
<I>файл</I> ...
<A NAME="lbAD">&nbsp;</A>
<H2>ОПИСАНИЕ</H2>
<B>lexgrog</B> — это реализация традиционной "groff guess" утилиты с
помощью <B>lex</B>. Она читает список файлов из командной строки, которые
являются файлами исходников справочных страниц или уже отформированными
("cat") страницами, и показывает их названия и описания, используемые
<B>apropos</B> и <B>whatis</B>, список предварительных фильтров обработки, требуемый
man страницей перед тем как она будет передана <B>nroff</B> или <B>troff</B>, или
обеим программам.
<P>
Если входные данные неправильно отформатированы, <B>lexgrog</B> выведет
"parse failed"; это может оказаться полезным для внешних программ,
которым нужно проверять правильность написания man страниц. Если в качестве
одного из имён файлов <B>lexgrog</B> передан символ "-", то данные будут
читаться из стандартного входного потока; если любой входной файл сжат, то
будет автоматически читаться его расжатая версия.
<A NAME="lbAE">&nbsp;</A>
<H2>ПАРАМЕТРЫ</H2>
<DL COMPACT>
<DT id="1"><B>-d</B>, <B>--debug</B>
<DD>
Показывать отладочную информацию.
<DT id="2"><B>-m</B>, <B>--man</B>
<DD>
Анализировать входные данные как файлы исходников справочных
страниц. Является действием по умолчанию, если не указан параметр <B>--man</B>
или <B>--cat</B>.
<DT id="3"><B>-c</B>, <B>--cat</B>
<DD>
Анализировать входные данные как уже отформатированные справочные страницы
("cat страницы"). <B>--man</B> и <B>--cat</B> не могут указываться
одновременно.
<DT id="4"><B>-w</B>, <B>--whatis</B>
<DD>
Показать название и описание из заголовка справочной страницы, используемого
<B>apropos</B> и <B>whatis</B>. Является действием по умолчанию, если не указан
параметр <B>--whatis</B> или <B>--filters</B>.
<DT id="5"><B>-f</B>, <B>--filters</B>
<DD>
Показать список фильтров, необходимых для предварительной обработки
справочной страницы перед форматированием с помощью <B>nroff</B> или <B>troff</B>.
<DT id="6"><B>-E</B> <I>кодировка</I>, <B>--encoding</B> <I>кодировка</I><DD>
Использовать <I>кодировку</I> вместо предполагаемой кодировки символов страницы.
<DT id="7"><B>-?</B>, <B>--help</B>
<DD>
Показать справочное сообщение и закончить работу.
<DT id="8"><B>--usage</B>
<DD>
Показать короткое сообщение об использовании и завершить работу.
<DT id="9"><B>-V</B>, <B>--version</B>
<DD>
Показать информацию о версии.
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>КОД ВЫХОДА</H2>
<DL COMPACT>
<DT id="10"><B>0</B>
<DD>
Успешное выполнение программы.
<DT id="11"><B>1</B>
<DD>
Ошибка использования.
<DT id="12"><B>2</B>
<DD>
<B>lexgrog</B> не удалось разобрать один или более входных файлов.
</DL>
<A NAME="lbAG">&nbsp;</A>
<H2>ПРИМЕРЫ</H2>
<PRE>
$ lexgrog man.1
man.1: &quot;man - an interface to the system reference manuals&quot;
$ lexgrog -fw man.1
man.1 (t): &quot;man - an interface to the system reference manuals&quot;
$ lexgrog -c whatis.cat1
whatis.cat1: &quot;whatis - display manual page descriptions&quot;
$ lexgrog broken.1
broken.1: parse failed
</PRE>
<A NAME="lbAH">&nbsp;</A>
<H2>ЧТО АНАЛИЗИРУЕТСЯ</H2>
<B>mandb</B> (использует тот же код, что и <B>lexgrog</B>) анализирует раздел
<B>NAME</B> (<B>НАЗВАНИЕ</B>), расположенный в самом начале каждой справочной
страницы, в поиске названий и описаний возможностей. Хотя анализатор
допускает различные вариации и понимает много различных форматов, которые
сложились за время использования, иногда он не может извлечь требуемую
информацию.
<P>
При использовании традиционных наборов макросов <I>man</I>, правильно
оформленный раздел <B>NAME</B> выглядит так:
<P>
<DL COMPACT><DT id="13"><DD>
<PRE>
<TT>.SH NAME
foo \- программа, выполняющая что-то</TT>
</PRE>
</DL>
<P>
Некоторые справочные пейджеры требуют '\-' точно как показано;
<B>mandb</B> более терпим, но для совместимости с другими системами всё же
лучше оставлять символ обратной косой черты.
<P>
Слева от черты могут быть несколько названий, разделённых через
запятую. Названия с пробелами будут игнорироваться во избежании необычного
поведения для определённо плохо оформленных разделов <B>NAME</B>. У текста
справа нет специального формата, и он может располагаться на нескольких
строках. Если в одной справочной странице содержатся несколько свойств с
различными описаниями, то используется следующая форма:
<P>
<DL COMPACT><DT id="14"><DD>
<PRE>
<TT>.SH NAME
foo, bar \- программы, выполняющие что-то
.br
baz \- программа ничего не делающая</TT>
</PRE>
</DL>
<P>
(Вместо макроса разрыва <TT>.br</TT> может использоваться макрос, начинающий
новый параграф, типа <TT>.PP</TT>.)
<P>
Если используется BSD-производный набор макросов <I>mdoc</I>, то правильно
оформленный раздел <B>NAME</B> выглядит так:
<P>
<DL COMPACT><DT id="15"><DD>
<PRE>
<TT>.Sh NAME
.Nm foo
.Nd программа, выполняющая что-то</TT>
</PRE>
</DL>
<P>
Есть несколько распространённых причин, по которым анализ может завершаться
неудачно. Иногда авторы справочных страниц заменяют '.SH NAME' на
'.SH MYPROGRAM', и поэтому <B>mandb</B> не может найти раздел, из
которого нужно извлекать информацию. Иногда авторы включают раздел NAME, но
размещают его в свободной форме, а не как положено 'название \-
описание'. Однако любой синтаксис, приведённый выше, будет понят.
<A NAME="lbAI">&nbsp;</A>
<H2>СМОТРИТЕ ТАКЖЕ</H2>
<I><A HREF="/cgi-bin/man/man2html?1+apropos">apropos</A></I>(1),
<I><A HREF="/cgi-bin/man/man2html?1+man">man</A></I>(1),
<I><A HREF="/cgi-bin/man/man2html?1+whatis">whatis</A></I>(1),
<I><A HREF="/cgi-bin/man/man2html?8+mandb">mandb</A></I>(8)
<A NAME="lbAJ">&nbsp;</A>
<H2>ЗАМЕЧАНИЯ</H2>
<B>lexgrog</B> пытается проанализировать файлы, содержащие запросы .so, но
сможет это сделать, если только файлы правильно установлены в иерархии
справочных страниц.
<A NAME="lbAK">&nbsp;</A>
<H2>АВТОР</H2>
Авторы кода, используемого <B>lexgrog</B> для сканирования справочных страниц:
<P>
<PRE>
Wilf. (<A HREF="mailto:G.Wilford@ee.surrey.ac.uk">G.Wilford@ee.surrey.ac.uk</A>).Fabrizio Polacco (<A HREF="mailto:fpolacco@debian.org">fpolacco@debian.org</A>).Colin Watson (<A HREF="mailto:cjwatson@debian.org">cjwatson@debian.org</A>).</PRE>
<P>
Колин Ватсон (Colin Watson) написал текущий вариант для интерфейса командной
строки, а также данную справочную страницу.
<P>
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT id="16"><A HREF="#lbAB">НАЗВАНИЕ</A><DD>
<DT id="17"><A HREF="#lbAC">СИНТАКСИС</A><DD>
<DT id="18"><A HREF="#lbAD">ОПИСАНИЕ</A><DD>
<DT id="19"><A HREF="#lbAE">ПАРАМЕТРЫ</A><DD>
<DT id="20"><A HREF="#lbAF">КОД ВЫХОДА</A><DD>
<DT id="21"><A HREF="#lbAG">ПРИМЕРЫ</A><DD>
<DT id="22"><A HREF="#lbAH">ЧТО АНАЛИЗИРУЕТСЯ</A><DD>
<DT id="23"><A HREF="#lbAI">СМОТРИТЕ ТАКЖЕ</A><DD>
<DT id="24"><A HREF="#lbAJ">ЗАМЕЧАНИЯ</A><DD>
<DT id="25"><A HREF="#lbAK">АВТОР</A><DD>
</DL>
<HR>
This document was created by
<A HREF="/cgi-bin/man/man2html">man2html</A>,
using the manual pages.<BR>
Time: 00:06:22 GMT, March 31, 2021
</BODY>
</HTML>