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
Một trình biên dịch dịch mã được viết bằng một ngôn ngữ (như c) sang một số ngôn ngữ khác (như ngôn ngữ máy) mà không thay đổi ý nghĩa của chương trình. Người ta cũng hy vọng rằng một trình biên dịch sẽ làm cho mã mục tiêu hiệu quả và tối ưu hóa về thời gian và không gian.
Ứng dụng hướng dẫn này rất hữu ích để hiểu lý thuyết và thực hành thực hiện trình biên dịch. Hướng dẫn này bao gồm các lý thuyết về thiết kế trình biên dịch như Phân tích từ điển, Phân tích cú pháp, Phân tích ngữ nghĩa, Tạo mã trung gian, Tối ưu hóa mã và Tạo mã. Một mô tả của tất cả các giai đoạn được đưa ra trong mẫu trình bày.
Hướng dẫn này được thiết kế cho những sinh viên quan tâm đến việc học và hiểu các nguyên tắc cơ bản của trình biên dịch. Cũng hữu ích cho những người quan tâm đến việc thiết kế một trình biên dịch. Mỗi giai đoạn dễ dàng mô tả với các ví dụ.
Hướng dẫn này đòi hỏi một số kiến thức cơ bản về ngôn ngữ lập trình như c, java, v.v.
Đặc trưng:
1. Chủ đề / chương bài học khôn ngoan.
2. Bài học khôn ngoan của từng chủ đề.
3. Cũng bao gồm các liên kết video youtube do tôi chuẩn bị.
4. Ngân hàng câu hỏi.
5. Hoàn thành ghi chú ngoại tuyến trong slide.
Chủ đề:
1. Thiết kế trình biên dịch: Giới thiệu
2. Bootstrapping
3. Phân tích từ điển: Biểu hiện thường xuyên, Xây dựng Thompson
4. Phân tích cú pháp: Phân tích cú pháp từ trên xuống và từ dưới lên
5. Phân tích cú pháp từ trên xuống: Phân tích cú pháp dự đoán (Phân tích cú pháp LL)
6. Phân tích cú pháp từ dưới lên: Đơn giản LR (SLR), Nhìn về phía trước LR (LALR)
7. Phân tích ngữ nghĩa
8. Tạo mã trung gian: Mã ba địa chỉ
9. Tối ưu hóa mã: Các khối cơ bản
10. Tạo mã: Thuật toán, hàm getreg ()