انگلیسیفرانسویاسپانیایی

Ad


فاویکون OnWorks

antlr - آنلاین در ابر

antlr را در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا کنید.

این دستور antlr است که می تواند در ارائه دهنده میزبانی رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


antlr - ابزار دیگری برای تشخیص زبان

نحو


antlr [گزینه های] grammar_files

شرح


Antlr فرم توسعه یافته گرامر بدون متن را به مجموعه ای از توابع C تبدیل می کند که
به طور مستقیم یک شکل کارآمد از تجزیه کننده LL(k) بازگشتی-نزولی قطعی را پیاده سازی می کند.
گرامرهای بدون زمینه ممکن است با گزاره‌هایی تقویت شوند تا به معناشناسی اجازه تأثیر بگذارند
تجزیه؛ این اجازه می دهد تا شکلی از تجزیه حساس به زمینه. بازگشت انتخابی نیز وجود دارد
برای مدیریت ساختارهای غیر LL(k) و حتی غیر LALR(k) موجود است. Antlr a نیز تولید می کند
تعریف lexer که می تواند به طور خودکار به کد C برای یک DFA-based تبدیل شود
lexer توسط dg. از این رو، antlr عملکرد بسیار شبیه به yaccبا این حال ، اینگونه است
به طور قابل توجهی انعطاف پذیرتر است و با یک ژنراتور lexer یکپارچه تر است (antlr مستقیما
تولید می کند dg کد، در حالی که yacc و سافلکس توضیحات مستقل داده می شود). بر خلاف yacc
که می پذیرد LALR(1) دستور زبان، antlr گرامرهای LL(k) را در نماد BNF توسعه یافته می پذیرد -
که نیاز به احکام تقدم را از بین می برد.

پسندیدن yacc دستور زبان، antlr گرامرها می توانند از ویژگی نماد به طور خودکار حفظ شوند
مقادیری که به عنوان متغیرهای دلاری ارجاع می شوند. علاوه بر این، زیرا antlr تجزیه کننده های بالا به پایین تولید می کند،
مقادیر دلخواه ممکن است از قوانین والد به ارث برده شوند (مانند پارامترهای تابع ارسال می شوند).
Antlr همچنین مکانیزمی برای ایجاد و دستکاری درختان انتزاعی- نحوی دارد.

زیبایی های مختلف دیگری نیز در آن وجود دارد antlr، از جمله توانایی گسترش یک دستور زبان
بیش از چندین فایل یا حتی گرامرهای متعدد در یک فایل واحد، توانایی تولید یک
نسخه گرامر با اقدامات حذف شده (برای اهداف مستندسازی)، و تعداد زیادی
بیشتر است.

OPTIONS


-ck n استفاده کنید تا n نمادهای نگاه به جلو هنگام استفاده از فشرده (تقریبا خطی)
به جلو نگاه کن محاسبه این نوع پیش بینی بسیار ارزان است و قبلاً امتحان شده است
نگاه کامل LL(k) که در بدترین حالت دارای پیچیدگی نمایی است. که در
به طور کلی، چشم انداز فشرده می تواند بسیار عمیق تر از کامل باشد (به عنوان مثال -ck 10).
lookahead (که معمولاً باید کمتر از 4 باشد).

-CCC خروجی C++ را از ANTLR و DLG تولید کنید.

-سی یک مرجع متقابل برای همه قوانین ایجاد کنید. برای هر قانون، فهرستی از قوانین دیگر چاپ کنید
قوانینی که به آن ارجاع می دهند.

-e1 ابهامات/خطاها با جزئیات کم نشان داده شده است (پیش فرض).

-e2 ابهامات/خطاها با جزئیات بیشتر نشان داده شده است.

-e3 ابهامات/خطاها با جزئیات طاقت فرسا نشان داده شده است.

پرونده
تغییر نام err.c برای تشکیل پرونده

-بله پرونده
تغییر نام stdpccts.h هدر (روشن می شود ) پرونده کردن.

-fl پرونده
تغییر نام خروجی واژگانی، parser.dlg، برای تشکیل پرونده

-fm پرونده
تغییر نام فایل با تعاریف حالت لغوی، حالت.h، برای تشکیل پرونده

-fr پرونده
تغییر نام فایلی که نمادهای قابل مشاهده در سطح جهانی را مجدداً ترسیم می کند، remap.h، برای تشکیل پرونده

-فت پرونده
تغییر نام نشانه ها.h برای تشکیل پرونده

-GA کد سازگار با ANSI (حوزه پیش فرض) ایجاد کنید. این به طور دقیق آزمایش نشده است
مطابق با ANSI XJ11 C باشد، اما نزدیک است. خروجی عادی از antlr is
در حال حاضر تحت هر دو K&R، ANSI C و C++ قابل کامپایل است — این گزینه هیچ کاری انجام نمی دهد
زیرا antlr مجموعه ای از #ifdef را ایجاد می کند تا بسته به آن کار درست را انجام دهد
زبان

-gc نشان میدهد که antlr نباید کد C تولید کند، یعنی فقط روی آن تجزیه و تحلیل انجام دهد
دستور زبان

-gd کد C در هر یک از آنها درج شده است antlr توابع تجزیه تولید شده برای ارائه
مدیریت تعریف شده توسط کاربر از یک ردیابی تجزیه دقیق. کد درج شده شامل
فراخوانی به ماکروها یا توابع ارائه شده توسط کاربر فراخوانی می شود zzTRACEIN و zzTRACEOUT.
تنها استدلال الف است ارابه * اشاره به رشته ای به سبک C که گرامر است
قانون شناسایی شده توسط تابع تجزیه فعلی. اگر تعریفی برای
توابع ردیابی، با ورود و خروج قانون، پیامی چاپ می شود که نشان می دهد
که یک قانون خاص به عنوان وارد یا خارج شده است.

-GE برای هر غیر ترمینال یک کلاس خطا ایجاد کنید.

تولید stdpccts.h برای گنجاندن فایل های تولید شده توسط ANTLR. این فایل حاوی
تمام تعاریف مورد نیاز برای توصیف نوع تجزیه کننده تولید شده توسط antlr (مثلا چقدر
از lookahead استفاده می شود و خواه درخت ساخته شده باشد یا نه) و شامل هدر
اقدام مشخص شده توسط کاربر

-gk تجزیه‌کننده‌هایی تولید کنید که واکشی‌های پیش‌رو را تا زمانی که نیاز باشد به تأخیر می‌اندازند. بدون این گزینه،
antlr تجزیه کننده هایی را تولید می کند که همیشه دارند k نشانه های پیش بینی موجود است.

-گل اطلاعات خطی در مورد اقدامات گرامری در تجزیه کننده C فرم ایجاد کنید # خط "پرونده"
که باعث می‌شود پیام‌های خطا از کامپایلر C/C++ هر طور که می‌شود منطقی‌تر باشد
به فایل گرامر اشاره کنید نه فایل C حاصل. اشکال زدایی نیز آسان تر است،
زیرا شما از طریق فایل گرامر و نه C قدم خواهید گذاشت.

-ggs مجموعه هایی را برای لیست های عبارت نشانه ایجاد نکنید. در عوض تولید a ||-جدا از هم
دنباله از LA(1)==رمز_شماره. پیش فرض تولید مجموعه است.

-بله کد برای درختان Abstract-Syntax ایجاد کنید.

-gx فایل های تحلیلگر واژگانی (مربوط به dlg) را ایجاد نکنید. این گزینه باید باشد
زمانی که کاربر مایل به ارائه یک تحلیلگر واژگانی سفارشی است، داده می شود. همچنین ممکن است
در استفاده شود ساخت اسکریپت‌ها باعث می‌شوند که فقط تجزیه‌کننده بازسازی شود، در صورتی که تغییری ایجاد نشود
بر ساختار واژگانی گرامرهای ورودی تأثیر می گذارد.

-k n k از LL(k) را روی n; به عنوان مثال نشانه های نگاه به آینده را تنظیم کنید (پیش فرض ==1).

-o dir دایرکتوری جایی که فایل های خروجی باید بروند (پیش فرض = "."). این خیلی خوبه برای
پاک نگه داشتن دایرکتوری منبع از ANTLR و DLG.

-p گرامر کامل، از همه فایل‌های دستور زبان ورودی جمع‌آوری شده و از همه حذف شده است
نظرات و اقدامات تعبیه شده، فهرست شده است stdout. این برای کمک به
مشاهده کل دستور زبان به عنوان یک کل و از بین بردن نیاز به حفظ اقدامات
به طور مختصر بیان شود تا گرامر راحت تر خوانده شود. از این رو ترجیح داده می شود
حتی اعمال پیچیده را مستقیماً در دستور زبان جاسازی کنید، نه اینکه آنها را به عنوان نامگذاری کنید
زیر برنامه ها، زیرا سربار تماس زیربرنامه ذخیره می شود.

-پا این گزینه همان است -p به جز اینکه خروجی با اولی حاشیه نویسی می شود
مجموعه های تعیین شده از تجزیه و تحلیل گرامری

-prc on
محاسبه و بالا بردن زمینه محمول را روشن کنید.

-prc خاموش
محاسبات و بالا بردن زمینه محمول را خاموش کنید. این گزینه 1.10 می کند
مانند نسخه 1.06 با گزینه رفتار کنید -pr بر. محاسبات زمینه خاموش است
به طور پیش فرض

-rl n حداکثر تعداد گره های درختی مورد استفاده در تجزیه و تحلیل گرامری را محدود کنید n.
گاه و بیگاه، antlr قادر به تجزیه و تحلیل دستور زبان ارسال شده توسط کاربر نیست. این
وضعیت نادر تنها زمانی می تواند رخ دهد که گرامر بزرگ و مقدار نگاه پیش رو باشد
بزرگتر از یک است یک الگوریتم تحلیل غیرخطی توسط PCCTS برای مدیریت استفاده می شود
مورد کلی تجزیه LL(k). با این حال، میانگین پیچیدگی تجزیه و تحلیل است
نزدیک به خطی به دلیل برخی از پاهای فانتزی در اجرا که کاهش می دهد
تعداد تماس‌ها با الگوریتم کامل LL(k). یک پیغام خطا نمایش داده خواهد شد،
در صورت رسیدن به این حد، که نشان می دهد ساختار دستور زبان در حال تجزیه و تحلیل زمانی است
antlr به یک غیر خطی برخورد کنید. اگر از این گزینه استفاده کنید antlr به نظر می رسد برای ناهار بیرون می رود و
دیسک شما شروع به کوبیدن می کند. تلاش كردن n=10000 برای شروع. هنگامی که سازه متخلف دارد
شناسایی شد، سعی کنید این ابهام را برطرف کنید antlr سعی در غلبه بر با
تجزیه و تحلیل چشم انداز بزرگ معرفی (...)؟ بلوک های عقبگرد
برخی از این مشکلات را از بین می برد - antlr جایگزین هایی را که شروع می کنند تجزیه و تحلیل نمی کند
با (...)؟ (در صورت لزوم در زمان اجرا به سادگی به عقب برمی گردد).

-w1 سطح هشدار پایین را تنظیم کنید. اگر محمول های معنایی و/یا (...) هستند هشدار ندهید؟ بلوک ها هستند
فرض می شود جایگزین های مبهم را پوشش دهد.

-w2 تصمیمات تجزیه مبهم اخطار می دهد حتی اگر محمول های معنایی یا (...) باشد؟
بلوک استفاده می شود. در صورت محاسبه زمینه محمول و محمول های معنایی هشدار دهید
ابهام‌زدایی ناقص از تولیدات جایگزین.

- گرامر را از ورودی استاندارد بخوانید و تولید کنید stdin.c به عنوان فایل تجزیه کننده

ویژه بحث در مورد


Antlr کار می کند ... فکر می کنیم. هیچ تضمین ضمنی برای هیچ چیز وجود ندارد. شماره را رزرو می کنیم
حقوقی حقوق نرم افزار معروف به مجموعه ابزار کامپایلر Purdue Construction (PCCTS) —
PCCTS در مالکیت عمومی است. یک فرد یا شرکت ممکن است هر کاری را که می خواهد انجام دهد
کد منبع توزیع شده با PCCTS یا کد تولید شده توسط PCCTS، از جمله
ادغام PCCTS یا خروجی آن در نرم افزار تجاری. ما کاربران را تشویق می کنیم
توسعه نرم افزار با PCCTS با این حال، ما درخواست می کنیم که برای توسعه به ما اعتبار داده شود
PCCTS. منظور ما از "اعتبار" این است که اگر کد منبع ما را در یکی از کدهای خود بگنجانید
برنامه هایی (محصول تجاری، پروژه تحقیقاتی یا موارد دیگر) که شما این را تصدیق می کنید
واقعیت جایی در اسناد، گزارش تحقیق و غیره... اگر PCCTS را دوست دارید و دارید
یک ابزار خوب با خروجی ایجاد کرد، لطفاً ذکر کنید که آن را با استفاده از PCCTS توسعه داده اید.
تا زمانی که این دستورالعمل ها رعایت شود، ما انتظار داریم که به تقویت این سیستم ادامه دهیم و
انتظار داشته باشید که ابزارهای دیگر را پس از تکمیل در دسترس قرار دهید.

با استفاده از خدمات onworks.net از antlr به صورت آنلاین استفاده کنید


سرورها و ایستگاه های کاری رایگان

دانلود برنامه های ویندوز و لینوکس

دستورات لینوکس

Ad