.\" Man page for lexgrog .\" .\" Copyright (c) 2001 Colin Watson .\" .\" You may distribute under the terms of the GNU General Public .\" License as specified in the file docs/COPYING.GPLv2 that comes with the .\" man-db distribution. .\" .ds mC CW .if t .if \n(.g .ds mC CR .if n .ds mC R . .nr mE 0 \" in an example (EX/EE)? . .if !\n(.g \{\ .de EX . br . if !\\n(mE \{\ . nr mF \\n(.f . nr mP \\n(PD . nr PD 1v . nf . ft \\*(mC . nr mE 1 . \} .. .\} . . .\" End example. .if !\n(.g \{\ .de EE . br . if \\n(mE \{\ . ft \\n(mF . nr PD \\n(mP . fi . nr mE 0 . \} .. .\} . .pc .TH LEXGROG 1 "2025-05-02" "2.13.1" "Manual pager utils" .SH "نام (NAME)" lexgrog \- تجزیه اطلاعات سرآیند در صفحات راهنما .SH "خلاصه دستور (SYNOPSIS)" .B lexgrog .RB [\| \-m \||\| -c \|] .RB [\| \-dfw?V \|] .RB [\| \-E .IR encoding \|] .I file \&.\|.\|. .SH "توضیحات (DESCRIPTION)" برنامهٔ .B lexgrog یک پیاده‌سازی از ابزار سنتی \(lqgroff guess\(rq در .BR lex است. این ابزار فهرست فایل‌ها را در خط فرمان خود به عنوان فایل‌های منبع صفحه راهنما یا صفحات پیش‌قالب‌بندی‌شدهٔ \(lqcat\(rq می‌خواند، و نام و شرح آن‌ها را همان‌گونه که توسط .B apropos و .BR whatis استفاده می‌شود، فهرست فیلترهای پیش‌پردازشی مورد نیاز صفحه راهنما پیش از ارسال به .B nroff یا .BR troff ، یا هر دو را نمایش می‌دهد. .PP اگر ورودی آن قالب‌بندی نامناسبی داشته باشد، .B lexgrog عبارت \(lqparse failed\(rq را چاپ می‌کند؛ این ویژگی ممکن است برای برنامه‌های خارجی که نیاز به بررسی صحت صفحات راهنما دارند مفید باشد. اگر یکی از فایل‌های ورودی .B lexgrog علامت \(lq\-\(rq باشد، از ورودی استاندارد می‌خواند؛ اگر هر یک از فایل‌های ورودی فشرده باشد، نسخهٔ از فشرده خارج‌شدهٔ آن به طور خودکار خوانده خواهد شد. .SH "گزینه‌ها (OPTIONS)" .TP .BR \-d ", " \-\-debug چاپ اطلاعات اشکال‌زدایی. .TP .BR \-m ", " \-\-man تجزیه ورودی به عنوان فایل‌های منبع صفحه راهنما. اگر هیچ‌یک از .B \-\-man یا .B \-\-cat مشخص نشده باشد، این حالت پیش‌فرض است. .TP .BR \-c ", " \-\-cat تجزیه ورودی به عنوان صفحات راهنمای پیش‌قالب‌بندی‌شده (\(lqcat pages\(rq). گزینه‌های .B \-\-man و .B \-\-cat را نمی‌توان به‌طور هم‌زمان استفاده کرد. .TP .BR \-w ", " \-\-whatis نمایش نام و شرح از سرآیند صفحه راهنما، همان‌طور که توسط .B apropos و .B whatis استفاده می‌شود. اگر هیچ‌یک از .B \-\-whatis یا .B \-\-filters مشخص نشده باشد، این حالت پیش‌فرض است. .TP .BR \-f ", " \-\-filters نمایش فهرست فیلترهای مورد نیاز برای پیش‌پردازش صفحه راهنما قبل از قالب‌بندی با .B nroff یا .BR troff . .TP \fB\-E\fP \fIencoding\fP, \fB\-\-encoding\fP \fIencoding\fP بازنویسی مجموعه نویسه‌های حدس‌زده‌شده برای صفحه به .IR encoding . .TP .BR \-? ", " \-\-help چاپ یک پیام راهنما و خروج. .TP .B \-\-usage چاپ پیام کوتاه نحوه استفاده و خروج. .TP .BR \-V ", " \-\-version نمایش اطلاعات نسخه. .SH "وضعیت خروج (EXIT STATUS)" .TP .B 0 اجرای موفقیت‌آمیز برنامه. .TP .B 1 خطای استفاده. .TP .B 2 برنامهٔ .B lexgrog در تجزیه یک یا چند فایل ورودی خود ناموفق بود. .SH "مثال‌ها (EXAMPLES)" .nf $ lexgrog man.1 man.1: "man \- an interface to the system reference manuals" $ lexgrog \-fw man.1 man.1 (t): "man \- an interface to the system reference manuals" $ lexgrog \-c whatis.cat1 whatis.cat1: "whatis \- display manual page descriptions" $ lexgrog broken.1 broken.1: parse failed .fi .SH "تجزیه چهرهنما (WHATIS PARSING)" برنامهٔ .B mandb (که از همان کد .BR lexgrog استفاده می‌کند) بخش .B NAME را در بالای هر صفحه راهنما با هدف یافتن نام‌ها و توصیفات قابلیت‌های مستندشده در هر یک، تجزیه می‌کند. اگرچه تجزیه‌کننده بسیار منعطف است، زیرا باید با چندین شکل متفاوت که در طول تاریخ مورد استفاده قرار گرفته‌اند سازگار باشد، اما ممکن است گاهی در استخراج اطلاعات مورد نیاز با شکست مواجه شود. .PP هنگام استفاده از مجموعه ماکروهای سنتی .IR man ، یک بخش .B NAME صحیح شبیه به این خواهد بود: .PP .RS .EX \&.SH NAME foo \e\- program to do something .EE .RE .PP برخی از صفحه‌بندهای راهنما نیازمند این هستند که عبارت \(oq\e\-\(cq دقیقاً به صورت نمایش‌داده‌شده باشد؛ .B mandb انعطاف بیشتری دارد، اما برای سازگاری با سایر سیستم‌ها، بهتر است بک‌اسلش حفظ شود. .PP در سمت چپ، ممکن است چندین نام با کاما از هم جدا شده باشند. نام‌های دارای نویسهٔ فاصله برای جلوگیری از رفتارهای غیرعادی در بخش‌های .B NAME نادرست، نادیده گرفته می‌شوند. متن سمت راست آزاد است و می‌تواند در چندین خط پخش شود. اگر چندین ویژگی با توصیف‌های متفاوت در یک صفحه راهنما مستند شده باشند، از قالب زیر استفاده می‌شود: .PP .RS .EX \&.SH NAME foo, bar \e\- programs to do something \&.br baz \e\- program to do nothing .EE .RE .PP (به جای ماکروی شکست خط \fB.br\fP می‌توان از ماکرویی که پاراگراف جدید را شروع می‌کند، مانند \fB.PP\fP استفاده کرد.) .PP هنگام استفاده از مجموعه ماکروهای برگرفته از BSD یعنی .IR mdoc ، یک بخش .B NAME صحیح شبیه به این خواهد بود: .PP .RS .EX \&.Sh NAME \&.Nm foo \&.Nd program to do something .EE .RE .PP چند دلیل متداول برای ناموفق بودن تجزیه چهره‌نما (whatis) وجود دارد. گاهی نویسندگان صفحات راهنما عبارت \(oq.SH NAME\(cq را با \(oq.SH MYPROGRAM\(cq جایگزین می‌کنند، و در نتیجه .B mandb نمی‌تواند بخشی را که باید اطلاعات مورد نیازش را از آن استخراج کند بیابد. گاهی نویسندگان بخش NAME را قرار می‌دهند، اما به جای \(oqname \e\- description\(cq متنی آزاد در آن قرار می‌دهند. با این وجود، هر دستوری که مشابه موارد فوق باشد باید پذیرفته شود. .SH "همچنین ببینید (SEE ALSO)" .IR apropos (1), .IR man (1), .IR whatis (1), .IR mandb (8) .SH "نکات (NOTES)" .B lexgrog تلاش می‌کند تا فایل‌های حاوی درخواست‌های .so را تجزیه کند، اما تنها در صورتی قادر به انجام صحیح این کار خواهد بود که فایل‌ها به درستی در ساختار سلسله‌مراتبی صفحات راهنما نصب شده باشند. .SH "نویسندگان (AUTHORS)" کد استفاده شده توسط .B lexgrog جهت پویش صفحات راهنما توسط افراد زیر نوشته شده است: .PP .nf Wilf.\& (G.Wilford@ee.surrey.ac.uk). Fabrizio Polacco (fpolacco@debian.org). Colin Watson (cjwatson@debian.org). .fi .PP کالین واتسون (Colin Watson) نسخهٔ کنونی رابط خط فرمان و همچنین این صفحه راهنما را نوشته است. .SH "گزارش اشکال (REPORTING BUGS)" https://gitlab.com/man-db/man-db/\-/issues .br https://savannah.nongnu.org/bugs/?group=man\-db