.TH CAMLP5 1 "" "INRIA" .SH "نام (NAME)" camlp5 \- پیش‌پردازنده و زیباساز کد برای ocaml .br mkcamlp5 \- ساخت camlp5 سفارشی .br mkcamlp5.opt \- ساخت camlp5 سفارشی (کد بومی) .br ocpp5 \- پیش‌پردازنده همگانی .SH "خلاصه دستور (SYNOPSIS)" .B camlp5 [ load-options ] [--] [ other-options ] .br .B camlp5o [ load-options ] [--] [ other-options ] .br .B camlp5r [ load-options ] [--] [ other-options ] .br .B camlp5sch [ load-options ] [--] [ other-options ] .br .B camlp5o.cma .br .B camlp5r.cma .br .B camlp5sch.cma .br .B mkcamlp5 .br .B mkcamlp5.opt .br .B ocpp5 [ load-options ] file .LP .br .B camlp5o.opt [--] [ other-options ] .br .B camlp5r.opt [--] [ other-options ] .SH "توضیحات (DESCRIPTION)" ابزار .B camlp5 یک پیش‌پردازنده و زیباساز کد (Pre-Processor-Pretty-Printer) برای OCaml است که یک پرونده مبدا را تجزیه کرده و خروجی را در خروجی استاندارد چاپ می‌کند. .LP برنامه‌های .B camlp5o, .B camlp5r و .B camlp5sch نسخه‌هایی از .B camlp5 هستند که برخی پرونده‌ها از قبل در آن‌ها بارگذاری شده‌اند (ادامه متن را ببینید). .LP پرونده‌های .B camlp5o.cma, .B camlp5r.cma و .B camlp5sch.cma برای استفاده از سازوکار camlp5 در محیط تعاملی (toplevel) ocaml بارگذاری می‌شوند. .LP ابزارهای .B mkcamlp5 و .B mkcamlp5.opt پرونده‌های اجرایی camlp5 را تقریباً با همان گزینه‌های ocamlmktop ایجاد می‌کنند. ادامه متن را ببینید. .LP ابزار .B ocpp5 یک پیش‌پردازنده همگانی است که هر نوع پرونده مبدا را پردازش کرده و همان متن را با بسط دادن نقل‌قول‌های احتمالی تولید می‌کند. .LP برنامه‌های .B camlp5o.opt و .B camlp5r.opt نسخه‌هایی از camlp5o و camlp5r هستند که توسط کامپایلر کد بومی ocamlopt کامپایل شده‌اند. آن‌ها سریع‌تر اما غیرقابل گسترش هستند و در همه نصاب‌های camlp5 موجود نمی‌باشند. .SH "گزینه‌های بارگذاری (LOAD OPTIONS)" گزینه‌های بارگذاری، اقدامات تجزیه و چاپ ثبت‌شده در پرونده‌های شیء OCaml (با پسوند cmo. یا cma.) را انتخاب می‌کنند. استفاده چندگانه از این گزینه‌ها مجاز است. این گزینه‌ها باید قبل از سایر گزینه‌ها قرار گیرند. .LP یک علامت اختیاری .B \-\- می‌تواند پایان‌بخش گزینه‌های بارگذاری باشد. .TP .BI \-I\ directory افزودن .I directory به مسیر جستجوی پرونده‌های بارگذاری‌شده. مگر اینکه از گزینه \-nolib استفاده شود، پوشه کتابخانه camlp5 به مسیر افزوده می‌شود. هشدار: هیچ جستجوی خودکاری در پوشه جاری انجام نمی‌شود؛ برای این کار "\-I ." را اضافه کنید. .TP .B \-where چاپ نام پوشه کتابخانه camlp5 و خروج. .TP .B \-nolib عدم جستجوی خودکار برای پرونده‌های شیء در پوشه کتابخانه camlp5. .TP .BI object-file پرونده در هسته camlp5 بارگذاری می‌شود. .SH "سایر گزینه‌ها (OTHER OPTIONS)" .LP سایر گزینه‌ها عبارتند از: .TP .I file در صورتی که پسوند پرونده mli. باشد با .I file به‌عنوان پرونده رابط و در صورتی که ml. باشد به‌عنوان پرونده پیاده‌سازی رفتار می‌کند. .TP .BI \-intf\ file رفتار با .I file به‌عنوان پرونده رابط، بدون در نظر گرفتن پسوند آن. .TP .BI \-impl\ file رفتار با .I file به‌عنوان پرونده پیاده‌سازی، بدون در نظر گرفتن پسوند آن. .TP .B \-unsafe تولید دسترسی‌های ناامن به آرایه‌ها و رشته‌ها. .TP .B \-noassert عدم کامپایل بررسی‌های assertion. .TP .B \-verbose نمایش جزئیات بیشتر در خطاهای تجزیه. .TP .BI \-QD\ file تخلیه (dump) در .I file در صورت بروز خطای نحو (syntax) در نتیجه بسط نقل‌قول. .TP .BI \-o\ out-file چاپ نتیجه در out-file به‌جای خروجی استاندارد. پرونده با open_out_bin باز می‌شود (کتابخانه OCaml با نام Pervasives را ببینید). .TP .B \-v چاپ شماره نسخه و خروج. .TP .B \-help چاپ گزینه‌های موجود و خروج. این چاپ شامل گزینه‌های احتمالی اضافه‌شده توسط پرونده‌های شیء بارگذاری‌شده نیز می‌شود. .LP سایر گزینه‌ها می‌توانند توسط پرونده‌های شیء بارگذاری‌شده گسترش یابند. پرونده‌های ارائه‌شده گزینه‌های زیر را اضافه می‌کنند: .TP .BI \-l\ line-length اضافه‌شده توسط pr_o.cmo و pr_r.cmo: تنظیم طول خط (پیش‌فرض: 78). .TP .BI \-sep\ string اضافه‌شده توسط pr_o.cmo و pr_r.cmo: چاپ این رشته میان عبارت‌ها به‌جای کامنت‌ها. .TP .BI \-no_ss اضافه‌شده توسط pr_o.cmo: عدم چاپ نقطه‌ویرگول دوتایی (double semicolons). .TP .BI \-D\ ident اضافه‌شده توسط pa_macro.cmo: تعریف شناسه ident. .TP .BI \-U\ ident اضافه‌شده توسط pa_macro.cmo: لغو تعریف شناسه ident. .SH "فایل‌های ارائه‌شده (PROVIDED FILES)" این پرونده‌ها در پوشه /usr/lib/ocaml/camlp5 نصب می‌شوند. .LP پرونده‌های تجزیه (Parsing): .nf .ta 1c pa_r.cmo: revised syntax pa_rp.cmo: streams and parsers pa_lexer.cmo: lexers pa_o.cmo: normal syntax pa_op.cmo: streams and parsers pa_oop.cmo: streams and parsers (without code optimization) pa_scheme.cmo: scheme syntax pa_extend.cmo: syntax extension for grammars pa_extfold.cmo: extension of pa_extend with FOLD0 and FOLD1 pa_extfun.cmo: syntax extension for extensible functions pa_extprint.cmo: syntax extensions for extensible printers pa_pprintf.cmo: syntax extension for pprintf statement pa_fstream.cmo: syntax extension for functional streams pa_macro.cmo: add macros (ifdef, define) like in C pa_lefteval.cmo: left-to-right evaluation of parameters pa_pragma.cmo: directive #pragma .fi .LP پرونده‌های چاپ (Printing): .nf .ta 1c pr_r.cmo: revised syntax without objects and labels pr_ro.cmo: revised syntax for objects and labels pr_rp.cmo: try to rebuild streams and parsers syntax pr_o.cmo: normal syntax pr_op.cmo: try to rebuild streams and parsers syntax pr_scheme.cmo: Scheme syntax pr_schemep.cmo: try to rebuild streams and parsers syntax pr_extend.cmo: try to rebuild EXTEND statements pr_extfun.cmo: try to rebuild extfun statements pr_extprint.cmo: try to rebuild EXTEND_PRINTER statements pr_dump.cmo: dump syntax tree for ocaml compiler pr_depend.cmo: file dependencies pr_null.cmo: no output .fi .LP بسط‌دهنده‌های نقل‌قول (Quotation expanders): .nf .ta 1c q_MLast.cmo: syntax tree nodes (in revised syntax) q_ast.cmo: syntax tree nodes in user full syntax q_phony.cmo: keeping quotations for pretty printing .fi .LP دستور .B camlp5o میانبری است برای: .nf .ta 1c camlp5 pa_o.cmo pa_op.cmo pr_dump.cmo .fi .LP دستور .B camlp5r میانبری است برای: .nf .ta 1c camlp5 pa_r.cmo pa_rp.cmo pr_dump.cmo .fi .LP دستور .B camlp5sch میانبری است برای: .nf .ta 1c camlp5 pa_scheme.cmo pr_dump.cmo .fi .LP .LP پرونده .B camlp5o.cma می‌تواند برای راه‌اندازی camlp5 با نحو OCaml در محیط تعاملی بارگذاری شود. .LP پرونده .B camlp5r.cma می‌تواند برای راه‌اندازی camlp5 با نحو بازبینی‌شده در محیط تعاملی بارگذاری شود. .LP پرونده .B camlp5sch.cma می‌تواند برای راه‌اندازی camlp5 با نحو Scheme در محیط تعاملی بارگذاری شود. .SH "ابزار MKCAMLP5 (MKCAMLP5)" برنامه‌های .B mkcamlp5 و .B mkcamlp5.opt پرونده‌های اجرایی camlp5 را با تقریباً همان گزینه‌های ocamlmktop ایجاد می‌کنند. نسخه .B mkcamlp5.opt می‌تواند پرونده‌های اجرایی کد بومی ایجاد کند که سریع‌ترند اما قابل گسترش نیستند. .LP برای mkcamlp5، رابط‌هایی که باید قابل مشاهده باشند باید صریحاً در خط فرمان به عنوان پرونده‌های ".cmi" اضافه شوند. برای نمونه، نحوه افزودن ماژول OCaml با نام "str": .nf .ta 1c mkcamlp5 \-custom str.cmi str.cma \-cclib \-lstr \-o camlp5str .fi .LP .SH "متغیر محیطی (ENVIRONMENT VARIABLE)" متغیر محیطی زیر نیز بررسی می‌شود: .TP .B CAMLP5PARAM تنظیم پارامترهای الگوریتم تجزیه گرامرها. این متغیر باید دنباله‌ای از مشخصات پارامتر باشد. هر مشخصه پارامتر یک حرف است که به صورت اختیاری با یک = و یک مقدار دنبال می‌شود. چهار پارامتر ممکن وجود دارد: .TP .BR b \ (backtrack) تنظیم الگوریتم بازگشت به عقب (backtrack) به عنوان پیش‌فرض. .TP .BR t \ (trace) ردیابی نمادها (پایانی و غیرپایانی) هنگام تجزیه با پس‌گرد. .TP .BR y \ (trace-stalling) در الگوریتم پس‌گرد، ردیابی پیشرفت در جریان ورودی (تعداد توکن‌های آزادشده) و توقف احتمالی (تعداد آزمون‌های توکن). .TP .BR l \ (maximum-stalling) تنظیم حداکثر مقدار توقف. .SH "فایل‌ها (FILES)" پوشه کتابخانه camlp5 در نصب فعلی: .br /usr/lib/ocaml/camlp5 .SH "همچنین ببینید (SEE ALSO)" Camlp5 - Reference Manual .br ocamlc(1), ocaml(1), ocamlmktop(1). .SH "نویسنده (AUTHOR)" Daniel de Rauglaudre, INRIA Rocquencourt.