کتاب صوتی از منبع تا استقرار: ساخت یک کامپایلر داخلی برای یک ماشین پشتهای در عمل
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره از منبع تا استقرار: ساخت یک کامپایلر داخلی برای یک ماشین پشتهای در عمل
موضوع کلی: کامپایلرها و ماشینهای پشتهای
موضوع میانی: طراحی و پیادهسازی کامپایلرهای هدفمند برای معماری پشتهای
📋 سرفصلهای دوره
- 1. مفاهیم پایهٔ ماشین پشتهای
- 2. معماری پشتهای در معماریهای محاسباتی
- 3. ورودی و خروجیٔ برنامههای ماشهای
- 4. ارزیابی عبارات با پشته
- 5. مدیریت حافظهٔ استک در کامپایلر
- 6. طراحی منبع برنامهٔ هدف
- 7. نمادگذاری و متناسبساز اولیهٔ کدها
- 8. تجزیهٔ خطوط دستوری سطح بالا
- 9. ساختار درخت نحوی انتزاعی (AST)
- 10. نقش AST در فرآیند کامپایل
- 11. تبدیل AST به کد میانی
- 12. نمایش کد میانی مناسب ماشین پشتهای
- 13. انتخاب کدهای هدف پشتهای
- 14. مقدمه بر روش کدینگ استک
- 15. استفاده از استک برای انتقال دادهها
- 16. دستورالعملهای پایهٔ ماشین پشتهای
- 17. دستورالعملهای محاسبهٔ حرفهای
- 18. دستورالعملهای شرطی و شاخهداری
- 19. دستورالعملهای حلقهای در استک
- 20. پشتهگذاری آرگومانهای تابع
- 21. فراخوانی و بازگشت از توابع
- 22. مدیریت فریمٔ فراخوانی توابع
- 23. فشردهسازی دادههای استک
- 24. حذف مقدار غیراستفادهشده از استک
- 25. بهینهسازی ثبات متغیرها در استک
- 26. بهینهسازی عملیات ریاضی در استک
- 27. بهینهسازی عملیات منطقی در استک
- 28. حذف عملیات تکراری در AST
- 29. ادغام ثابتها در زمان کامپایل
- 30. بهینهسازی جا به جاییهای غیرضروری استک
- 31. استفاده از ثبات برای مقدارهای مکرر
- 32. پیشپردازشٔ عبارات ریاضی
- 33. پیشپردازشٔ عبارات منطقی
- 34. تجزیهٔ عبارات ترکیبی
- 35. تجزیهٔ عملگرهای یکتایی و دوتایی
- 36. تعیین اولویتها و استراتژی ارزیابی
- 37. پشتیبانی از اپراتورهای سفارشی
- 38. پشتیبانی از انواع دادههای اولیه
- 39. پشتیبانی از اعداد اعشاری و صحیح
- 40. پشتیبانی از رشتهها در استک
- 41. پشتیبانی از آرایهها و ساختارهای ترکیبی
- 42. پشتیبانی از آبجکتها و کلاسها
- 43. پشتیبانی از توابع داخلی
- 44. پشتیبانی از کتابخانههای استاندارد
- 45. مدیریت خطا در زمان کامپایل
- 46. گزارش خطای نحوی
- 47. گزارش خطای معنایی
- 48. گزارش خطای زمان اجرا
- 49. استراتژیهای یکبار خواندن منبع
- 50. تحلیل لغوگر (Lexer) برای زبان ماشهای
- 51. تحلیلگر نحوی (Parser) برای منبع سطح بالا
- 52. نوشتن یک Lexer سفارشی
- 53. نوشتن یک Parser نزولی
- 54. نوشتن یک Parser حلقهای برگشتی
- 55. مدیریت جدول نمادها
- 56. مدیریت نوعها در کامپایلر
- 57. بررسی انطباق نوعها
- 58. بررسی صحت ارجاعات متغیر
- 59. پیشنهاد اصلاحات در زمان کامپایل
- 60. پیکربندی خروجی نهایی برنامه
- 61. ایجاد فایلٔ باینری قابل اجرا
- 62. بستهبندیٔ برنامهٔ کامپایلشده
- 63. تست واحد برای تکههای کامپایلر
- 64. تست یکپارچهٔ خروجی نهایی
- 65. پروفایلینگٔ عملکرد برنامهٔ تولیدشده
- 66. پیشنهاداتی برای گسترشٔ زبان هدف
- 67. پشتیبانی از ماژولاریته و وارد کردن فایل
- 68. پشتیبانی از ماکروها و پیشپردازنده
- 69. مدیریت ورژنهای خروجی کامپایلر
- 70. یکپارچهسازی کامپایلر با ساختوگری
- 71. استفاده از اسکریپتهای ساختار برای کامپایل خودکار
- 72. ایجاد یک REPL برای زبان هدف
- 73. اشتباهات رایج در طراحیٔ کامپایلرهای پشتهای
- 74. اشتباهات رایج در مدیریت استک
- 75. اشتباهات رایج در بهینهسازی
- 76. مروری بر کتابخانههای آمادهٔ کامپایلرساز
- 77. مقایسهٔ کامپایلرهای موجود برای ماشین پشتهای
- 78. مطالعهٔ مثالهای واقعی از کامپایلرهای تولیدشده
- 79. برنامهنویسی برای هدفگذاریهای گرافیکی و سختافزارهای خاص
- 80. پیشنهاداتی برای پشتیبانی از همزمانی و پردازش موازی
- 81. طراحیٔ API برای کتابخانهٔ کامپایلر
- 82. مستندسازیٔ کدهای کامپایلر
- 83. بازبینی و نگهداریٔ کدهای کامپایلر
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
تگها:
bytecode
code generation
compiler
compiler design
compiler implementation
computer science
intermediate representation
JIT compilation
lexical analysis
optimization
parsing
programming language
software engineering
stack machine
virtual machine
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.