| CAMLP5(1) | General Commands Manual | CAMLP5(1) |
نام (NAME)
camlp5 -
پیشپردازنده
و زیباساز
کد برای ocaml
mkcamlp5 - ساخت camlp5
سفارشی
mkcamlp5.opt - ساخت camlp5
سفارشی (کد
بومی)
ocpp5 -
پیشپردازنده
همگانی
خلاصه دستور (SYNOPSIS)
camlp5 [ load-options ] [--] [ other-options ]
camlp5o [ load-options ] [--] [ other-options ]
camlp5r [ load-options ] [--] [ other-options ]
camlp5sch [ load-options ] [--] [ other-options ]
camlp5o.cma
camlp5r.cma
camlp5sch.cma
mkcamlp5
mkcamlp5.opt
ocpp5 [ load-options ] file
camlp5o.opt [--] [ other-options ]
camlp5r.opt [--] [ other-options ]
توضیحات (DESCRIPTION)
ابزار camlp5 یک پیشپردازنده و زیباساز کد (Pre-Processor-Pretty-Printer) برای OCaml است که یک پرونده مبدا را تجزیه کرده و خروجی را در خروجی استاندارد چاپ میکند.
برنامههای camlp5o, camlp5r و camlp5sch نسخههایی از camlp5 هستند که برخی پروندهها از قبل در آنها بارگذاری شدهاند (ادامه متن را ببینید).
پروندههای camlp5o.cma, camlp5r.cma و camlp5sch.cma برای استفاده از سازوکار camlp5 در محیط تعاملی (toplevel) ocaml بارگذاری میشوند.
ابزارهای mkcamlp5 و mkcamlp5.opt پروندههای اجرایی camlp5 را تقریباً با همان گزینههای ocamlmktop ایجاد میکنند. ادامه متن را ببینید.
ابزار ocpp5 یک پیشپردازنده همگانی است که هر نوع پرونده مبدا را پردازش کرده و همان متن را با بسط دادن نقلقولهای احتمالی تولید میکند.
برنامههای camlp5o.opt و camlp5r.opt نسخههایی از camlp5o و camlp5r هستند که توسط کامپایلر کد بومی ocamlopt کامپایل شدهاند. آنها سریعتر اما غیرقابل گسترش هستند و در همه نصابهای camlp5 موجود نمیباشند.
گزینههای بارگذاری (LOAD OPTIONS)
گزینههای بارگذاری، اقدامات تجزیه و چاپ ثبتشده در پروندههای شیء OCaml (با پسوند cmo. یا cma.) را انتخاب میکنند. استفاده چندگانه از این گزینهها مجاز است. این گزینهها باید قبل از سایر گزینهها قرار گیرند.
یک علامت اختیاری -- میتواند پایانبخش گزینههای بارگذاری باشد.
- -I directory
- افزودن directory به مسیر جستجوی پروندههای بارگذاریشده. مگر اینکه از گزینه -nolib استفاده شود، پوشه کتابخانه camlp5 به مسیر افزوده میشود. هشدار: هیچ جستجوی خودکاری در پوشه جاری انجام نمیشود؛ برای این کار "-I ." را اضافه کنید.
- -where
- چاپ نام پوشه کتابخانه camlp5 و خروج.
- -nolib
- عدم جستجوی خودکار برای پروندههای شیء در پوشه کتابخانه camlp5.
- object-file
- پرونده در هسته camlp5 بارگذاری میشود.
سایر گزینهها (OTHER OPTIONS)
سایر گزینهها عبارتند از:
- file
- در صورتی که پسوند پرونده mli. باشد با file بهعنوان پرونده رابط و در صورتی که ml. باشد بهعنوان پرونده پیادهسازی رفتار میکند.
- -intf file
- رفتار با file بهعنوان پرونده رابط، بدون در نظر گرفتن پسوند آن.
- -impl file
- رفتار با file بهعنوان پرونده پیادهسازی، بدون در نظر گرفتن پسوند آن.
- -unsafe
- تولید دسترسیهای ناامن به آرایهها و رشتهها.
- -noassert
- عدم کامپایل بررسیهای assertion.
- -verbose
- نمایش جزئیات بیشتر در خطاهای تجزیه.
- -QD file
- تخلیه (dump) در file در صورت بروز خطای نحو (syntax) در نتیجه بسط نقلقول.
- -o out-file
- چاپ نتیجه در out-file بهجای خروجی استاندارد. پرونده با open_out_bin باز میشود (کتابخانه OCaml با نام Pervasives را ببینید).
- -v
- چاپ شماره نسخه و خروج.
- -help
- چاپ گزینههای موجود و خروج. این چاپ شامل گزینههای احتمالی اضافهشده توسط پروندههای شیء بارگذاریشده نیز میشود.
سایر گزینهها میتوانند توسط پروندههای شیء بارگذاریشده گسترش یابند. پروندههای ارائهشده گزینههای زیر را اضافه میکنند:
- -l line-length
- اضافهشده توسط pr_o.cmo و pr_r.cmo: تنظیم طول خط (پیشفرض: 78).
- -sep string
- اضافهشده توسط pr_o.cmo و pr_r.cmo: چاپ این رشته میان عبارتها بهجای کامنتها.
- -no_ss
- اضافهشده توسط pr_o.cmo: عدم چاپ نقطهویرگول دوتایی (double semicolons).
- -D ident
- اضافهشده توسط pa_macro.cmo: تعریف شناسه ident.
- -U ident
- اضافهشده توسط pa_macro.cmo: لغو تعریف شناسه ident.
فایلهای ارائهشده (PROVIDED FILES)
این پروندهها در پوشه /usr/lib/ocaml/camlp5 نصب میشوند.
پروندههای تجزیه (Parsing):
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
پروندههای چاپ (Printing):
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
بسطدهندههای نقلقول (Quotation expanders):
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
دستور camlp5o میانبری است برای:
camlp5 pa_o.cmo pa_op.cmo pr_dump.cmo
دستور camlp5r میانبری است برای:
camlp5 pa_r.cmo pa_rp.cmo pr_dump.cmo
دستور camlp5sch میانبری است برای:
camlp5 pa_scheme.cmo pr_dump.cmo
پرونده camlp5o.cma میتواند برای راهاندازی camlp5 با نحو OCaml در محیط تعاملی بارگذاری شود.
پرونده camlp5r.cma میتواند برای راهاندازی camlp5 با نحو بازبینیشده در محیط تعاملی بارگذاری شود.
پرونده camlp5sch.cma میتواند برای راهاندازی camlp5 با نحو Scheme در محیط تعاملی بارگذاری شود.
ابزار MKCAMLP5 (MKCAMLP5)
برنامههای mkcamlp5 و mkcamlp5.opt پروندههای اجرایی camlp5 را با تقریباً همان گزینههای ocamlmktop ایجاد میکنند. نسخه mkcamlp5.opt میتواند پروندههای اجرایی کد بومی ایجاد کند که سریعترند اما قابل گسترش نیستند.
برای mkcamlp5، رابطهایی که باید قابل مشاهده باشند باید صریحاً در خط فرمان به عنوان پروندههای ".cmi" اضافه شوند. برای نمونه، نحوه افزودن ماژول OCaml با نام "str":
mkcamlp5 -custom str.cmi str.cma -cclib -lstr -o camlp5str
متغیر محیطی (ENVIRONMENT VARIABLE)
متغیر محیطی زیر نیز بررسی میشود:
- CAMLP5PARAM
- تنظیم پارامترهای الگوریتم تجزیه گرامرها. این متغیر باید دنبالهای از مشخصات پارامتر باشد. هر مشخصه پارامتر یک حرف است که به صورت اختیاری با یک = و یک مقدار دنبال میشود. چهار پارامتر ممکن وجود دارد:
- b (backtrack)
- تنظیم الگوریتم بازگشت به عقب (backtrack) به عنوان پیشفرض.
- t (trace)
- ردیابی نمادها (پایانی و غیرپایانی) هنگام تجزیه با پسگرد.
- y (trace-stalling)
- در الگوریتم پسگرد، ردیابی پیشرفت در جریان ورودی (تعداد توکنهای آزادشده) و توقف احتمالی (تعداد آزمونهای توکن).
- l (maximum-stalling)
- تنظیم حداکثر مقدار توقف.
فایلها (FILES)
پوشه
کتابخانه camlp5
در نصب فعلی:
/usr/lib/ocaml/camlp5
همچنین ببینید (SEE ALSO)
Camlp5 - Reference Manual
ocamlc(1), ocaml(1), ocamlmktop(1).
نویسنده (AUTHOR)
Daniel de Rauglaudre, INRIA Rocquencourt.
| INRIA |