اپلیکیشن اندرویدی فلشکارت آموزشی Lex و Flex از صفر تا حرفهای: ساخت تحلیلگر لغوی برای کامپایلر
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره Lex و Flex از صفر تا حرفهای: ساخت تحلیلگر لغوی برای کامپایلر
موضوع کلی: طراحی و پیادهسازی کامپایلر
موضوع میانی: تولیدکنندههای تحلیلگر لغوی Lex و Flex
📋 سرفصلهای دوره
- 1. جایگاه تحلیلگر لغوی در خط مقدم کامپایلر
- 2. معماری تبدیل متن منبع به توکن
- 3. تفاوت نویسه، رشتهٔ لغوی، الگو و توکن
- 4. طراحی ویژگیها و مقادیر معنایی توکن
- 5. مدل ارتباط تحلیلگر لغوی و نحوپرداز
- 6. طبقهبندی خطاهای لغوی
- 7. زبانهای منظم و محدودیتهای آنها
- 8. دستور زبان عبارات منظم در POSIX ERE
- 9. کلاسهای نویسهای و بازههای نویسهای
- 10. تکرار، انتخاب و گروهبندی در الگوها
- 11. لنگرها و قانونهای وابسته به زمینه
- 12. تقدم عملگرها و اشتباهات رایج regex
- 13. از NFA تا DFA
- 14. ساخت خودکار DFA از عبارت منظم
- 15. کمینهسازی DFA
- 16. تطبیق طولانیترین بخش و اولویت قوانین
- 17. تفاوت Lex و Flex و انتخاب ابزار
- 18. نصب Flex و آمادهسازی زنجیره ابزار
- 19. ساختار فایل ورودی Flex
- 20. بخش تعریفها، اعلامها و تنظیمات
- 21. بخش قوانین و نگاشت الگو به عمل
- 22. بخش کد کاربر و مدیریت چرخه عمر
- 23. فایلهای تولیدشده و اجزای زمان اجرای Flex
- 24. کامپایل، اتصال و اجرای تحلیلگر لغوی
- 25. خودکارسازی ساخت پروژه با Make
- 26. طراحی قرارداد توکن میان lexer و parser
- 27. کار با yytext، yyleng و yylval
- 28. نوشتن actionهای ساده و قابل نگهداری
- 29. بازگرداندن توکن و مقدار معنایی
- 30. قانون پیشفرض و مدیریت نویسههای تطبیقنیافته
- 31. گزینههای %option برای کنترل رفتار scanner
- 32. شرایط شروع انحصاری
- 33. شرایط شروع فراگیر
- 34. تغییر حالت و طراحی ماشین حالت لغوی
- 35. پیادهسازی کامنتهای تکخطی و چندخطی
- 36. پیادهسازی رشتهها و دنبالههای فرار
- 37. پیادهسازی اعداد صحیح، اعشاری و نمای توان
- 38. پیادهسازی شناسهها و جدول کلیدواژهها
- 39. پیادهسازی عملگرها و جداسازها
- 40. مدیریت فاصلهها، تورفتگی و شماره خط
- 41. الگوهای چندخطی و ساختارهای مرزدار
- 42. مدیریت کامنتهای تودرتو با حالتهای لغوی
- 43. معماری بافر ورودی Flex
- 44. توابع YY_INPUT، yyinput و unput
- 45. اسکن فایل، stdin و ورودی تعاملی
- 46. ایجاد و جابهجایی میان چند بافر ورودی
- 47. اسکن رشته و محدوده حافظه با API بافرها
- 48. مدیریت مالکیت و آزادسازی بافرها
- 49. ساخت scannerهای reentrant
- 50. استفاده از yyextra برای دادههای اختصاصی scanner
- 51. یکپارچهسازی Flex با Bison
- 52. تطبیق YYSTYPE، YYLTYPE و مقادیر توکن
- 53. محاسبه و انتقال مکان دقیق نویسهها
- 54. گزارش خطاهای لغوی و بازیابی امن
- 55. فعالسازی debug و تحلیل trace اجرای Flex
- 56. ساخت ابزار نمایش جریان توکن
- 57. گزینههای بهینهسازی جدول و اندازه خروجی
- 58. مقایسه حالتهای full، fast و table compression
- 59. پروفایلینگ سرعت و مصرف حافظه scanner
- 60. ساخت scannerهای شیگرا با C++
- 61. ملاحظات UTF-8 و محدودیتهای پردازش بایتی
- 62. ساخت چندسکویی بهویژه روی ویندوز
- 63. آزمون واحد برای الگوها، توکنها و خطاها
- 64. آزمون golden و مقایسه خروجی توکنها
- 65. Fuzzing ورودی برای کشف حالتهای مرزی
- 66. Sanitizerها و بررسی نشت حافظه
- 67. مهاجرت پروژه از Lex به Flex
- 68. بستهبندی scanner برای استفاده در پروژههای بزرگ
- 69. پروژه عملی: ساخت lexer برای زبان پیکربندی
- 70. پروژه عملی: ساخت lexer برای JSON
- 71. یکپارچهسازی نهایی lexer با parser و گزارش خطا
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.