| OCAMLLEX(1) | General Commands Manual | OCAMLLEX(1) |
نام (NAME)
ocamllex - تولیدکننده تحلیلگر لغوی (lexer) برای زبان OCaml
خلاصه دستور (SYNOPSIS)
ocamllex [ -o output-file ] [ -ml ] filename.mll
توضیحات (DESCRIPTION)
دستور ocamllex(1) تحلیلگرهای لغوی (lexers) زبان OCaml را بر مبنای مجموعهای از عبارات باقاعده (regular expressions) به همراه کنشهای معنایی متناظر، به سبک lex(1) تولید میکند.
اجرای ocamllex(1) روی فایل ورودی lexer.mll کد OCaml یک تحلیلگر لغوی را در فایل lexer.ml تولید مینماید.
این فایل به ازای هر نقطه ورود (entry point) در تعریف تحلیلگر لغوی، یک تابع تحلیل لغوی تعریف میکند. این توابع همنام با نقاط ورود هستند. توابع تحلیل لغوی یک بافر تحلیلگر (lexer buffer) را به عنوان آرگومان دریافت کرده و صفت معنایی نقطه ورود متناظر را بازمیگردانند.
بافرهای تحلیلگر لغوی یک نوع داده انتزاعی هستند که در ماژول کتابخانه استاندارد Lexing پیادهسازی شدهاند. توابع Lexing.from_channel، Lexing.from_string و Lexing.from_function به ترتیب بافرهای تحلیلی ایجاد میکنند که دادهها را از یک کانال ورودی، یک رشته کاراکتری یا هر تابع خواندن دیگری میخوانند.
هنگامی که همراه با یک تجزیهکننده (parser) تولیدشده توسط ocamlyacc(1) استفاده شود، کنشهای معنایی مقداری متعلق به نوع token تعریفشده توسط ماژول تجزیهکننده تولیدی را محاسبه میکنند.
گزینهها (OPTIONS)
دستور ocamllex(1) گزینههای زیر را پشتیبانی میکند:
- -ml
- کدی را در خروجی تولید میکند که از مفسر اتوماتای پیشساخته OCaml استفاده نمیکند. در عوض، خود خودکار (automaton) به صورت توابع OCaml کدگذاری میشود. این گزینه عمدتاً برای اشکالزدایی ocamllex(1) مفید است و استفاده از آن برای تحلیلگرهای محیط عملیاتی توصیه نمیشود.
- -o output-file
- نام فایل خروجی تولیدشده توسط ocamllex(1) را مشخص میکند. مقدار پیشفرض، همان نام فایل ورودی است که پسوند آن با .ml جایگزین شده است.
- -q
- حالت بیصدا (Quiet). دستور ocamllex(1) در حالت عادی پیامهای اطلاعاتی را به خروجی استاندارد میفرستد. در صورت استفاده از گزینه -q این پیامها متوقف و خاموش میشوند.
- -v یا -version
- نمایش رشته نسخه و خروج.
- -vnum
- نمایش نسخه کوتاه و خروج.
- -help یا --help
- نمایش یک خلاصه کوتاه از نحوه استفاده و خروج.
همچنین ببینید (SEE ALSO)
ocamlyacc(1).
راهنمای
کاربری OCaml,
فصل "Lexer and parser generators".