کتاب زبان انگلیسی برای مهندسان در درک و کاربرد مفاهیم مربوط به مهندسی کامپایلر

انتخاب پلن

انتخاب پلن برای ادامه خرید الزامی است.

📚 کتاب آموزشی جامع

📚 اطلاعات کتاب

عنوان کتاب: کتاب زبان انگلیسی برای مهندسان در درک و کاربرد مفاهیم مربوط به مهندسی کامپایلر

موضوع کلی: آموزش زبان‌های خارجی

موضوع میانی: زبان در حوزه مهندسی

📋 سرفصل‌های کتاب (100 موضوع)

  • 1. مقدمه‌ای بر آموزش زبان‌های خارجی
  • 2. اهمیت زبان انگلیسی در دنیای مهندسی
  • 3. مهندسی کامپایلر: تعاریف و مفاهیم اولیه
  • 4. چرا زبان انگلیسی برای مهندسی کامپایلر؟
  • 5. مروری بر سرفصل‌های دوره
  • 6. آشنایی با ساختار کلی یک کامپایلر
  • 7. فازهای تحلیل (Analysis Phases)
  • 8. فازهای سنتز (Synthesis Phases)
  • 9. مفاهیم پایه‌ی زبان‌شناسی در کامپایلرها
  • 10. انواع گرامرها (Grammars)
  • 11. گرامرهای مستقل از متن (Context-Free Grammars - CFG)
  • 12. نمادگذاری (Notation) در گرامرها
  • 13. مثال‌هایی از گرامرهای CFG برای زبان‌های برنامه‌نویسی
  • 14. قواعد تولید (Production Rules)
  • 15. اشتقاق (Derivation) و درخت اشتقاق (Parse Tree)
  • 16. تحلیل لغوی (Lexical Analysis)
  • 17. تعریف توکن (Token)
  • 18. ماشین‌های حالت متناهی (Finite Automata - FA)
  • 19. ماشین حالت متناهی قطعی (Deterministic Finite Automata - DFA)
  • 20. ماشین حالت متناهی غیرقطعی (Nondeterministic Finite Automata - NFA)
  • 21. تبدیل NFA به DFA
  • 22. عبارات منظم (Regular Expressions)
  • 23. رابطه بین عبارات منظم و FA
  • 24. ابزارهای تولید تحلیل‌گر لغوی (Lexer Generators) مانند Lex/Flex
  • 25. اهمیت حذف ابهام (Ambiguity) در گرامرها
  • 26. تحلیل نحوی (Syntax Analysis)
  • 27. تقسیم‌بندی تحلیل نحوی
  • 28. تجزیه از بالا به پایین (Top-Down Parsing)
  • 29. تجزیه بازگشتی پیش‌بین (Recursive Descent Parsing)
  • 30. تجزیه پیش‌بین (Predictive Parsing)
  • 31. جدول پیش‌بینی (Prediction Table)
  • 32. تحلیل LL(1)
  • 33. تجزیه از پایین به بالا (Bottom-Up Parsing)
  • 34. تجزیه شیفت-کاهش (Shift-Reduce Parsing)
  • 35. پشته (Stack) در تحلیل نحوی
  • 36. تجزیه LR (LR Parsing)
  • 37. LR(0), SLR(1), LALR(1), LR(1)
  • 38. ابزارهای تولید تحلیل‌گر نحوی (Parser Generators) مانند Yacc/Bison
  • 39. مفاهیم ساختاری در زبان‌های برنامه‌نویسی
  • 40. ساختار جملات (Statements)
  • 41. ساختار عبارات (Expressions)
  • 42. محدودیت‌ها در گرامرها
  • 43. بررسی ساختار انتزاعی (Abstract Syntax Tree - AST)
  • 44. نمایش AST
  • 45. عملیات بر روی AST
  • 46. تبدیلات AST
  • 47. تحلیل معنایی (Semantic Analysis)
  • 48. بررسی نوع (Type Checking)
  • 49. سیستم‌های نوع (Type Systems)
  • 50. انواع داده‌ها (Data Types)
  • 51. تایپ‌های ساده (Primitive Types)
  • 52. تایپ‌های مرکب (Compound Types)
  • 53. انواع پویا (Dynamic Typing) در مقابل انواع ایستا (Static Typing)
  • 54. جبران‌ناپذیری (Type Coercion) و تبدیل نوع (Type Conversion)
  • 55. اعلان متغیرها (Variable Declarations)
  • 56. دامنه (Scope) متغیرها
  • 57. اتصال نام (Name Resolution)
  • 58. بررسی خطا در تحلیل معنایی
  • 59. مدیریت خطا (Error Handling) در کامپایلر
  • 60. تولید کد میانی (Intermediate Code Generation)
  • 61. انواع کدهای میانی
  • 62. نمایش سه آدرسی (Three-Address Code)
  • 63. دستورالعمل‌های تک آدرسی (Single-Address Instructions)
  • 64. نمایش گراف وابستگی (Dependency Graph)
  • 65. تعبیه کدهای میانی
  • 66. بهینه‌سازی کد (Code Optimization)
  • 67. انواع بهینه‌سازی‌ها
  • 68. بهینه‌سازی‌های محلی (Local Optimizations)
  • 69. بهینه‌سازی‌های سراسری (Global Optimizations)
  • 70. بهینه‌سازی‌های وابستگی داده (Data Flow Analysis)
  • 71. آنالیز جریان داده (Data Flow Analysis)
  • 72. بردارهای در جریان داده (Data Flow Equations)
  • 73. کاهش کد ثابت (Constant Folding)
  • 74. انتشار ثابت (Constant Propagation)
  • 75. حذف زیرعبارات مشترک (Common Subexpression Elimination)
  • 76. حذف کد مرده (Dead Code Elimination)
  • 77. بازسازی حلقه (Loop Unrolling)
  • 78. تخصیص ثبات (Register Allocation)
  • 79. روش‌های تخصیص ثبات
  • 80. گراف تداخل (Interference Graph)
  • 81. تکنیک‌های تخصیص ثبات
  • 82. تولید کد نهایی (Code Generation)
  • 83. معماری‌های هدف (Target Architectures)
  • 84. دستورالعمل‌های ماشین (Machine Instructions)
  • 85. نقشه‌برداری کدهای میانی به دستورالعمل‌های ماشین
  • 86. تکنیک‌های تولید کد
  • 87. بهینه‌سازی‌های وابسته به معماری
  • 88. مدیریت حافظه (Memory Management)
  • 89. پشته فراخوانی (Call Stack)
  • 90. تخصیص حافظه ایستا (Static Memory Allocation)
  • 91. تخصیص حافظه پویا (Dynamic Memory Allocation)
  • 92. زمان اجرا (Runtime)
  • 93. مفاهیم ارث‌بری (Inheritance) در کامپایلرها
  • 94. چندریختی (Polymorphism) و کامپایلر
  • 95. کلاس‌ها و اشیاء (Classes and Objects) در کامپایلر
  • 96. دستورالعمل‌های شیءگرا (Object-Oriented Instructions)
  • 97. ویژگی‌های زبان‌های برنامه‌نویسی مدرن
  • 98. مفاهیم تابع (Function) و کامپایلر
  • 99. توابع لامبدا (Lambda Functions) و کامپایلر
  • 100. کلاس‌های عمومی (Generics) و کامپایلر

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.