A compiler translates the code written in one language (like c) to some other language (like machine language) without changing the meaning of the program. It is also expected that a compiler should make the target code efficient and optimize in terms of time and space.
This tutorial app is very useful to understand the theory and practice of compiler implementation. This tutorial includes theories of compiler design as Lexical Analysis, Syntax Analysis, Semantic Analysis, Intermediate Code Generation, Code Optimization, and Code Generation. A description of all the phases is given in the presentation form.
This tutorial is designed for those students who are interested in learning and understand the basic principles of the compiler. Also helpful for those to interested in design a compiler. Each phase easily describes with examples.
This tutorial requires some basic knowledge of programming language like c, java etc.
Features:
1. Topic/chapter wise lesson.
2. Subtopics wise lesson of each topic.
3. Also includes the youtube videos links prepared by me.
4. Question Bank.
5. Complete Offline notes in slid.
Topics:
1. Compiler Design: Introduction
2. Bootstrapping
3. Lexical Analysis: Regular Expression, Thompson Construction
4. Syntax Analysis: Top-down and Bottom-up Parsing
5. Top-down Parsing: Predictive Parsing (LL Parsing)
6. Bottom-up Parsing: Simple LR(SLR), Look Ahead LR(LALR)
7. Semantic Analysis
8. Intermediate Code Generation: Three-Address Code
9. Code Optimization: Basic Blocks
10. Code Generation: Algorithm, getreg() function
يترجم المترجم الشفرة المكتوبة بلغة واحدة (مثل ج) إلى لغة أخرى (مثل لغة الآلة) دون تغيير معنى البرنامج. من المتوقع أيضًا أن يقوم المترجم بجعل كود الهدف فعالًا ويحسن من حيث الزمان والمكان.
هذا التطبيق التعليمي مفيد للغاية لفهم نظرية وممارسة تنفيذ المترجم. يتضمن هذا البرنامج التعليمي نظريات تصميم المترجم مثل التحليل المعجمي ، تحليل البناء ، التحليل الدلالي ، إنشاء الشفرة الوسيطة ، تحسين الشفرة ، وإنشاء الشفرة. ويرد وصف لجميع المراحل في نموذج العرض.
تم تصميم هذا البرنامج التعليمي للطلاب المهتمين بالتعلم وفهم المبادئ الأساسية للمترجم. مفيد أيضا لأولئك المهتمين بتصميم مترجم. تصف كل مرحلة بسهولة مع الأمثلة.
يتطلب هذا البرنامج التعليمي بعض المعرفة الأساسية بلغة البرمجة مثل c ، java إلخ.
الميزات:
1. درس / موضوع حكيم.
2. درس حكيم من المواضيع الفرعية لكل موضوع.
3. يشمل أيضًا روابط مقاطع فيديو youtube التي أعدتها.
4. بنك الأسئلة.
5. إكمال الملاحظات دون اتصال في الشريحة.
المواضيع:
1. تصميم المترجم: مقدمة
2. التمهيد
3. التحليل المعجمي: التعبير المنتظم ، بناء طومسون
4. تحليل البناء: تحليل من أعلى إلى أسفل ومن أسفل إلى أعلى
5. تحليل من أعلى لأسفل: تحليل تنبؤي (تحليل LL)
6. التحليل من أسفل لأعلى: LR بسيط (SLR) ، انظر إلى الأمام LR (LALR)
7. التحليل الدلالي
8. توليد كود متوسط: كود ثلاثة عناوين
9. تحسين الشفرة: الكتل الأساسية
10. توليد الكود: الخوارزمية ، دالة getreg ()