کتاب صوتی 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 و گزارش خطا
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
تگها:
Bison
C
C++
DFA
Flex
Lex
NFA
Scanner
پردازش زبان
تحلیلگر لغوی
تولیدکننده لغوی
ساخت کامپایلر
عبارات منظم
کامپایلر
مهندسی کامپایلر
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.