کامپایلر
کتاب اصلی درس
دیگر منابع
https://www.csd.uwo.ca/~mmorenom/CS447/Lectures/Syntax.html/node8.html
https://www.tutorialspoint.com/compiler_design/compiler_design_syntax_analysis.htm
در وبگاههای زیر ابزارهای خوبی برای کار با عبارتهای منظم آماده شده است. برای فراگیری بهتر عبارتهای منظم میتوانید این ابزارها را به کار ببرید.
ابزارهای دیگری برای انجام کارهای یک کامپایلر در زیر فهرست شده است.
- JS/CC , github
old website: http://jscc.phorward-software.com/>
http://jsmachines.sourceforge.net/machines/ll1.html , http://jsmachines.sourceforge.net/machines/ll1.html , https://sourceforge.net/projects/jsmachines/
http://www.boost.org/doc/libs/1_38_0/libs/spirit/classic/doc/introduction.html
برای تبدیل دستور زبان به جدولهای گوناگون مانند SLR , LALR , LR(1) ابراز jison_try را میتوانید به کار ببرید.
در سایت زیر ابزار شایستهای برای درس کامپایلر آماده شده است. این ابزار بر روی انواع مروگرهای اجرا میشود. این ابزار کار تحلیلگر لغوی را انجام میدهد. همچنین بسته به گرامر ورودی جدول تجزیهٔ LALR آن را نمایش میدهد.
گذاشته شده است. در این برنامه تغییر یافته نیز کمترین نیاز به دانستن زبان javascript است و jscc به طور خودکار جدول LALR را میسازد. افزون بر این میتوان به کمک این ابزار درخت تجزیه یک برنامه ساده را نیز ساخت. در
/files/course/compiler/jscc/sample_input_of_simplified_program.txt
یک کد ساده برنامه به زبان داده شده نوشته شده است که پس از اجرای آن درخت تجزیه ساخته شده نشان میدهد که تصمیم jscc برای برطرف کردن برخورد به خاطر else به درستی انجام شده است.
بهتر است هنگام به کار گیری jscc کادر Show warnings را انتخاب نمایید تا اخطارها و برخوردهای یافت شده در دستور زبان به شما نشان داده شود.
برای گرفتن جدول LALR از jscc در مرورگر firefox همه جدول را انتحاب کرده و کلیک راست کنید سپس گزینه view selection source ر ا برگزینید تا کد جدول ساخته شده نمایش داده شود