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) เป็นภาษาอื่น (เช่นภาษาเครื่อง) โดยไม่เปลี่ยนความหมายของโปรแกรม นอกจากนี้ยังคาดว่าคอมไพเลอร์ควรทำให้โค้ดเป้าหมายมีประสิทธิภาพและเพิ่มประสิทธิภาพในแง่ของเวลาและพื้นที่
แอพบทช่วยสอนนี้มีประโยชน์มากในการทำความเข้าใจทฤษฎีและการปฏิบัติของการใช้งานคอมไพเลอร์ บทช่วยสอนนี้รวมถึงทฤษฎีการออกแบบคอมไพเลอร์เช่นการวิเคราะห์คำศัพท์, การวิเคราะห์ไวยากรณ์, การวิเคราะห์ความหมาย, การสร้างรหัสระดับกลาง, การเพิ่มประสิทธิภาพรหัสและการสร้างรหัส คำอธิบายของขั้นตอนทั้งหมดจะได้รับในแบบฟอร์มการนำเสนอ
บทช่วยสอนนี้ได้รับการออกแบบสำหรับนักเรียนผู้ที่มีความสนใจในการเรียนรู้และเข้าใจหลักการพื้นฐานของคอมไพเลอร์ ยังมีประโยชน์สำหรับผู้ที่สนใจออกแบบคอมไพเลอร์ แต่ละเฟสอธิบายตัวอย่างได้ง่าย
บทช่วยสอนนี้ต้องการความรู้พื้นฐานเกี่ยวกับการเขียนโปรแกรมภาษาเช่น c, java เป็นต้น
คุณสมบัติ:
1. หัวข้อ / บทบทเรียนที่ชาญฉลาด
2. หัวข้อย่อยบทเรียนที่ชาญฉลาดของแต่ละหัวข้อ
3. รวมถึงลิงก์วิดีโอ youtube ที่จัดทำโดยฉัน
4. ธนาคารคำถาม
5. บันทึกย่อแบบออฟไลน์ในแบบเลื่อน
หัวข้อ:
1. การออกแบบคอมไพเลอร์: บทนำ
2. Bootstrapping
3. การวิเคราะห์คำศัพท์: การแสดงออกปกติทอมป์สันก่อสร้าง
4. การวิเคราะห์ไวยากรณ์: การแยกวิเคราะห์จากบนลงล่างและจากล่างขึ้นบน
5. การแยกวิเคราะห์จากบนลงล่าง: การแยกวิเคราะห์แบบคาดการณ์ (การแยก LL)
6. การแยกวิเคราะห์จากล่างขึ้นบน: LR ง่าย ๆ (SLR), Look Ahead LR (LALR)
7. การวิเคราะห์ความหมาย
8. การสร้างรหัสระดับกลาง: รหัสสามที่อยู่
9. การเพิ่มประสิทธิภาพรหัส: บล็อกพื้นฐาน
10. การสร้างรหัส: อัลกอริทึมฟังก์ชั่น getreg ()