کتاب طراحی و پیادهسازی کامپایلر با ANTLR با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
دوره جامع طراحی و پیادهسازی کامپایلر با ANTLR دوره جامع و پروژه محور: طراحی و پیادهسازی کامپایلر با ANTLR از تئوری تا عمل: زبان برنامهنویسی خودتان را خلق کنید! معرفی دوره: به دنیای معماران زبانهای...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره طراحی و پیادهسازی کامپایلر با ANTLR
موضوع کلی: برنامه نویسی
موضوع میانی: حوزههای تخصصی**
📋 سرفصلهای دوره
- 1. مقدمهای بر طراحی کامپایلر
- 2. چرخه حیات یک برنامه و نقش کامپایلر
- 3. فازهای اصلی کامپایلر: نمای کلی
- 4. انواع مترجمها: کامپایلر، مفسر، JIT
- 5. چرا طراحی کامپایلر را یاد بگیریم؟
- 6. آشنایی با ابزار ANTLR و قابلیتهای آن
- 7. نصب و راهاندازی محیط ANTLR
- 8. ساختار کلی گرامرهای ANTLR
- 9. مفاهیم اولیه: تجزیه لغوی در مقابل تجزیه نحوی
- 10. اولین گرامر ANTLR: سلام دنیا
- 11. نقش تحلیلگر لغوی (اسکنر)
- 12. توکنها و لکسمها
- 13. مروری بر عبارات منظم (Regular Expressions)
- 14. ماشینهای حالت متناهی (FSMs): DFA و NFA
- 15. تبدیل عبارات منظم به NFA
- 16. تبدیل NFA به DFA و بهینهسازی
- 17. نوشتن یک Lexer دستی (مفهومی)
- 18. قوانین Lexer در ANTLR
- 19. تعریف توکنها و الگوهای لغوی در ANTLR
- 20. مدیریت فضای خالی (Whitespace) و کامنتها
- 21. تفاوت بین کلمات کلیدی و شناسهها
- 22. توکنهای لیترال: اعداد صحیح، اعشاری، رشتهها
- 23. تقدم و تداخل قوانین لغوی
- 24. مدیریت خطا در تحلیل لغوی
- 25. پیادهسازی یک Lexer کامل با ANTLR
- 26. نقش تحلیلگر نحوی (پارسر)
- 27. گرامرهای مستقل از متن (Context-Free Grammars - CFGs)
- 28. اشتقاق (Derivations) و درخت تجزیه (Parse Tree)
- 29. ابهام در گرامرها
- 30. حذف ابهام با استفاده از تقدم و شرکتپذیری (Precedence & Associativity)
- 31. بازگشت به چپ (Left Recursion) و حذف آن
- 32. فاکتورگیری چپ (Left Factoring)
- 33. پارسرهای بالا به پایین (Top-Down Parsers)
- 34. پارسرهای پایین به بالا (Bottom-Up Parsers)
- 35. پارسر Recursive Descent (مفهومی)
- 36. مفهوم LL(k) و LL(*) در ANTLR
- 37. ساختار قوانین Parser در ANTLR
- 38. تعریف قوانین گرامر برای یک زبان ساده
- 39. اعمال تقدم و شرکتپذیری عملگرها در گرامر ANTLR
- 40. ساختار گرامر برای زبانهای برنامهنویسی کوچک
- 41. تولید درخت تجزیه با ANTLR
- 42. معرفی الگوی Listener در ANTLR
- 43. معرفی الگوی Visitor در ANTLR
- 44. انتخاب بین Listener و Visitor
- 45. پیمایش درخت تجزیه با Listener
- 46. پیمایش درخت تجزیه با Visitor
- 47. بازیافت خطا (Error Recovery) در پارسینگ
- 48. درخت نحو انتزاعی (Abstract Syntax Tree - AST)
- 49. ساخت AST با استفاده از ANTLR Listeners/Visitors
- 50. پیادهسازی یک Parser کامل با ANTLR و ساخت AST
- 51. نقش تحلیلگر معنایی
- 52. جداول نماد (Symbol Tables): ساختار و کاربرد
- 53. مدیریت حوزه (Scope Management): سراسری و محلی
- 54. بررسی نوع (Type Checking): انواع دادههای اصلی
- 55. قوانین سازگاری انواع (Type Compatibility)
- 56. بررسی اعلان و استفاده از شناسهها
- 57. گرامرهای ویژگی (Attribute Grammars) (مفهومی)
- 58. پیادهسازی جدول نماد با ANTLR Listener/Visitor
- 59. پر کردن جدول نماد در حین پیمایش AST
- 60. انجام بررسی نوع حین پیمایش AST
- 61. گزارشدهی خطاهای معنایی
- 62. مدیریت اعلان توابع و متدها
- 63. بررسی تعداد و نوع پارامترها
- 64. تفکیک توابع سربارگذاری شده (Overloading Resolution) (مفهومی)
- 65. تحلیل جریان کنترل (Control Flow Analysis) مقدماتی
- 66. تحلیل جریان داده (Data Flow Analysis) مقدماتی
- 67. نمایش میانی (Intermediate Representation - IR)
- 68. انواع نمایشهای میانی: کد سه آدرسی، چهارتایی، سه تایی
- 69. تولید یک IR ساده برای عبارات
- 70. تولید IR برای ساختارهای کنترل با ANTLR
- 71. هدف از تولید کد میانی
- 72. ترجمه ساختارهای کنترل (if, loop, switch) به IR
- 73. ترجمه عبارات پیچیده به IR
- 74. ترجمه فراخوانی توابع/متدها به IR
- 75. تولید کد سه آدرسی (Three-Address Code - TAC)
- 76. نمایش TAC در حافظه
- 77. بلوکهای اساسی (Basic Blocks)
- 78. گراف جریان کنترل (Control Flow Graph - CFG)
- 79. پیادهسازی ژنراتور IR با ANTLR Visitor
- 80. مثال جامع تولید IR برای یک زبان کوچک
- 81. مبانی تولید کد ماشین
- 82. معماری ماشین مقصد و ملاحظات آن
- 83. تخصیص رجیسترها (Register Allocation) (مفاهیم پایه)
- 84. انتخاب دستورالعمل (Instruction Selection)
- 85. بهینهسازیهای محلی (Peephole Optimization)
- 86. تکنیکهای بهینهسازی پایه (Constant Folding, Dead Code Elimination)
- 87. ترجمه IR به کد مقصد (مثلاً اسمبلی، بایتکد)
- 88. استفاده از ANTLR برای تولید کد نهایی از IR
- 89. ملاحظات محیط زمان اجرا (Runtime Environment)
- 90. تولید کد قابل اجرا و آزمایش نهایی
- 91. ویژگیهای پیشرفته ANTLR: Predicates
- 92. استراتژیهای پیشرفته مدیریت و بازیابی خطا در ANTLR
- 93. ساخت یک زبان کامل از ابتدا تا انتها با ANTLR
- 94. یکپارچهسازی ANTLR با زبانهای میزبان (Java, C#, Python)
- 95. اشکالزدایی (Debugging) گرامرهای ANTLR
- 96. ابزارهای کمکی و ANTLRWorks
- 97. ساخت زبانهای خاص دامنه (Domain-Specific Languages - DSLs) با ANTLR
- 98. آزمایش و اعتبارسنجی (Validation) کامپایلر
- 99. ملاحظات کارایی و بهینهسازی زمان کامپایل
- 100. روندهای آینده در طراحی کامپایلر و ابزارهای زبان
تگها:
ANTLR
Compiler design
Compiler Implementation
lexer
Parser
آموزش ANTLR
آموزش برنامه نویسی
آموزش کامپایلر
برنامه نویسی
پیادهسازی کامپایلر
حوزه تخصصی کامپایلر
زبانهای برنامهنویسی
ساخت کامپایلر
طراحی کامپایلر
کامپایلر
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.