| plex(1) | Pascal lexical analyzer generator | plex(1) |
نام (NAME)
plex - تولیدکننده تحلیلگر واژگانی Pascal Lex
خلاصه دستور (SYNOPSIS)
plex [گزینهها] lex-file[.l] [output-file[.pas]]
گزینهها (OPTIONS)
توضیحات (DESCRIPTION)
دستور plex یک تولیدکننده برنامه است که برای تولید کد منبع Turbo Pascal برای زیربرنامه تحلیلگر واژگانی از روی مشخصات زبان ورودی توسط گرامر عبارت منظم استفاده میشود.
دستور plex گرامر منبع موجود در lex-file (با پسوند پیشفرض .l) را تجزیه کرده و زیربرنامه تحلیلگر واژگانی ساختهشده را در output-file مشخصشده (با پسوند پیشفرض .pas) مینویسد؛ اگر هیچ فایل خروجی مشخص نشود، خروجی به lex-file با پسوند جدید .pas منتقل میشود. اگر در حین کامپایل خطایی یافت شود، پیامهای خطا در فایل فهرست (lex-file با پسوند جدید .lst) نوشته میشوند.
فایل خروجی تولیدشده حاوی یک روتین تحلیلگر واژگانی، yylex، است که به صورت زیر پیادهسازی شده است:
function yylex : Integer;
این روتین باید توسط برنامه اصلی شما برای اجرای تحلیلگر واژگانی فراخوانی شود. مقدار بازگشتی روتین yylex معمولاً نشاندهنده شماره یک توکن شناختهشده توسط تحلیلگر واژگانی است (روتین return در یونیت LexLib را ببینید). در انتهای فایل، روتین yylex به طور معمول مقدار 0 را برمیگرداند.
الگوی کد برای روتین yylex را میتوان در فایل yylex.cod یافت. این فایل هنگام ساخت فایل خروجی توسط TP Lex مورد نیاز است. این فایل باید در دایرکتوری جاری یا در دایرکتوریای که TP Lex از آن اجرا شده است وجود داشته باشد (TP Lex این دایرکتوریها را به ترتیب مشخصشده جستجو میکند). (توجه: برای نسخه لینوکس/Free Pascal، الگوی کد به جای مسیر اجرا، در دایرکتوری تعیینشده هنگام کامپایل جستجو میشود، که معمولاً /usr/lib/fpc/lexyacc است.)
یونیت کتابخانه TP Lex (LexLib) برای برنامههایی که از تحلیلگرهای واژگانی تولیدشده با Lex استفاده میکنند مورد نیاز است؛ بنابراین باید یک عبارت uses مناسب را در برنامه یا یونیت خود که حاوی روتین تحلیلگر واژگانی است قرار دهید. یونیت LexLib همچنین روتینهای کاربردی مفیدی را ارائه میدهد؛ برای اطلاعات بیشتر فایل lexlib.pas را ببینید.
اطلاعات بیشتر (MORE INFORMATION)
برای اطلاعات بیشتر، به مستندات همراه با plex و yacc مراجعه کنید.
نویسندگان (AUTHORS)
Albert Graeff (<ag@muwiinfa.geschichte.uni-mainz.de>, <Dr.Graef@t-online.de>)
همچنین ببینید (SEE ALSO)
| 10 Jan 2000 | Free Pascal |