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

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

برنامه:

نام


yacc - یک کامپایلر-کامپایلر دیگر

خلاصه


yacc [ انتخاب ... ] دستور زبان

شرح


یاک یک گرامر و کد ترجمه بدون متن را به مجموعه ای از جداول برای یک تبدیل می کند
LR(1) تجزیه کننده و مترجم. گرامر ممکن است مبهم باشد. قوانین تقدم مشخص شده هستند
برای رفع ابهامات استفاده می شود

فایل خروجی، y.tab.c، برای تولید برنامه This باید توسط کامپایلر C کامپایل شود
برنامه باید با یک تابع تحلیل واژگانی بارگذاری شود، yylex (باطل) (اغلب توسط
سافلکس(1))، با یک اصلی (بین بحث کردن ، ارابه *argv[]) برنامه و با روال رسیدگی به خطا،
yyerror (char*).

گزینه ها هستند

-o تولید خروجی مستقیم به فایل مشخص شده به جای y.tab.c.

-Dn فایل ایجاد کنید y.debug، حاوی پیام های تشخیصی است. برای ادغام آنها در
تجزیه کننده، آن را با نماد پیش پردازنده کامپایل کنید yydebug تعریف شده است. مقدار
خروجی تشخیصی از تجزیه کننده با مقدار تنظیم می شود n. مقدار 0 گزارش می دهد
خطاها؛ 1 گزارش کاهش. مقادیر بالاتر (تا 4) شامل اطلاعات بیشتر است
در مورد انتقال دولت

-v فایل ایجاد کنید خروجی y، حاوی توضیحات جداول تجزیه و از
درگیری های ناشی از ابهامات در دستور زبان.

-d فایل ایجاد کنید y.tab.hحاوی #تعريف كردن اظهاراتی که مرتبط است yacc-اختصاص داده
«کدهای توکن» با «نام های نشانه» اعلام شده توسط کاربر. آن را در فایل های منبع قرار دهید
به غیر از y.tab.c برای دسترسی به کدهای توکن

-s ساقه پیشوند نام فایل ها را تغییر دهید y.tab.c, y.tab.h, y.debugو خروجی y به
ساقه.

-S تجزیه کننده ای بنویسید که به جای آن از Stdio استفاده کند چاپ روتین ها در libc

-l دستورات #خط را در تجزیه کننده تولید شده غیرفعال کنید.

-a تجزیه‌کننده‌ای ایجاد کنید که آرگومان‌هایی از نوع Yyarg را می‌گیرد و این آرگومان را پاس می‌کند
به هر فراخوانی تابع lexer، yylex. Yyarg شامل هر نمونه است
حالت و یک عضو قابل مشاهده برای کاربر، arg، از نوع void*.

مشخصات yacc خود اساساً همان نسخه یونیکس است که در آن توضیح داده شده است
مراجع ذکر شده در زیر علاوه بر -D گزینه، تفاوت های اصلی مربوطه عبارتند از:

رابط به محیط C به طور پیش فرض از طریق به جای
؛ -S گزینه این را معکوس می کند.

تجزیه کننده متن ورودی UTF را می پذیرد (نگاه کنید به utf(7))، که چند اثر دارد.
اول، مقدار بازگشتی از yylex() دیگر در الف نمی گنجد کوتاه; دوم، شروع
مقدار برای غیر پایانه ها اکنون 0xE000 به جای 257 است.

تجزیه کننده تولید شده می تواند بازگشتی باشد: اقدامات می توانند فراخوانی کنند yyparse، به عنوان مثال به
اجرا کردن نوعی #include بیانیه در مترجم

در نهایت، برخی از کارهای داخلی غیرمستند تجزیه کننده تغییر کرده است که
ممکن است بر برنامه هایی که اطلاعات زیادی در مورد ساختار آن دارند تأثیر بگذارد.

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



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