این پروژه ی درس کامپایلر من باشد و عملیات یک پارسر پیشگو را شبیه سازی می نماید. هدف این پروژه تشخیص این مقوله است که آیا گرامر ورودی ، یک گرامر LL1 می باشد یا خیر!
در طی این پروژه عملیات حذف بازگشتی چپ غیر مستقیم ، حذف بازگشتی چپ مستقیم و حذف فاکتور چپ جهت رفع ابهام انجام می شود ، سپس مجموعه های First و Follow به ازای هر NonTerminal ساخته می شود و در نهایت جدول LL1 ساخته می شود ، در صورتی که در هیچ یک از خانه های جدول تولید شده بیش از یک Role موجود نباشد گرامر LL1 می باشد.
نکته : برای نمایش Lambda از _ درگرامر استفاده شده است!
نکته : به ازای هر Nonterminal دقیقا در ورودی بیان کنید که چه Role هایی وجود دارد ! یعنی اگر Nonterminal ای با نام X وجود دارد حتما باید حداقل Source Token یک Role گرامر X باشد!
نکته : اگر گرامر نیاز به تولید Nonterminal دارد ، حتما Nonterminal های موجود در گرامر را به صورت دنباله ای از حروف الفبا انتخاب نمایید ، مثلا اگر ۳ Nonterminal دارید ، از حروف A تا C برای نام گذاری استفاده نمایید !
نمونه گرامر ورودی :
A->iBtAC|a;
C->eC|_|Cf;
B->b|Dg;
D->Ar|_;
نمونه خروجی : کلیک کنید
برای زیبایی کار ، من خروجی را به صورت جدول های HTML نمایش داده ام که با اجرای برنامه جاوا ، فایل Export.html ساخته می شود!
سلام می خواستم در مورد پارسر در جاوا بدانم چیست و چه کار می کند.
سلام. من این پروژه رو می خوام. چجوری باید بگیرم؟ لطفا راهنمایی کنید
salam, chejoori mitoonam in proje ro download konam?
mamnoon misham komakam konid