• Giáo trình Chương trình dịch - Chương 5: Kiểm tra kiểuGiáo trình Chương trình dịch - Chương 5: Kiểm tra kiểu

    Ép kiểu (coercion): Việc chuyển một kiểu dữ liệu sang một kiểu khác được gọi là ẩn (implicit) nếu nó được làm tự động bởi compiler và được gọi là hiện (explicit) nếu được giải quyết bởi người lập trình Ví dụ 5.2: Hàm ord() trong pascal chuyển kiểu kí tự sang số nguyên, phép chuyển đổi là hiện Lệnh a:=b; trong đó a kiểu real, b kiểu integer khi t...

    ppt11 trang | Chia sẻ: huongthu9 | Ngày: 18/08/2021 | Lượt xem: 685 | Lượt tải: 0

  • Giáo trình Chương trình dịch - Chương 4: Dịch trực tiếp cú phápGiáo trình Chương trình dịch - Chương 4: Dịch trực tiếp cú pháp

    Trường hợp chứa cả thuộc tính tổng hợp và thuộc tính kế thừa phải thoả mãn 3 điều kiện: 1. Thuộc tính kế thừa của một ký hiệu trong vế phải của luật sinh phải được xác định trong hành vi nằm trước ký hiệu đó 2. Một hành vi không được tham khảo tới thuộc tính tổng hợp của một ký hiệu nằm bên phải hành vi đó 3. Thuộc tính tổng hợp của ký hiệu c...

    ppt27 trang | Chia sẻ: huongthu9 | Ngày: 18/08/2021 | Lượt xem: 887 | Lượt tải: 0

  • Giáo trình Chương trình dịch - Chương 3: Phân tích cú phápGiáo trình Chương trình dịch - Chương 3: Phân tích cú pháp

    Xây dựng LALR parsing table 1. Xây dựng họ tập hợp các mục LR(1) của G': C = {I0, I1,., In } 2. Nhóm các mục có cùng core trong C được C' = {J0, J1,., Jm } 3. Trạng thái i được xây dựng từ  Ji .Các action tương ứng trạng thái i xác định tương tự như canonical LR Nếu một action đụng độ được sinh ra bởi các luật trên, ta nói văn phạm không phải...

    ppt60 trang | Chia sẻ: huongthu9 | Ngày: 18/08/2021 | Lượt xem: 729 | Lượt tải: 0

  • Giáo trình Chương trình dịch - Chương 2: Phân tích từ vựngGiáo trình Chương trình dịch - Chương 2: Phân tích từ vựng

    DFA là một trường hợp đặc biệt của NFA, DFA có thêm các dặc diểm sau: - Không có chuyển đổi trạng thái ứng với kí tự rỗng  - Từ một trạng thái s khi có một kí tự x được đọc vào, DFA sẽ chuyển sang một trạng thái s' duy nhất

    ppt31 trang | Chia sẻ: huongthu9 | Ngày: 18/08/2021 | Lượt xem: 747 | Lượt tải: 0

  • Giáo trình Chương trình dịch - Chương 1: Giới thiệu về chương trình dịchGiáo trình Chương trình dịch - Chương 1: Giới thiệu về chương trình dịch

    Mỗi giai đoạn biên dịch có thể gặp nhiều lỗi, ví dụ: Giai đoạn phân tích từ vựng gặp lỗi khi các ký tự không thể ghép thành một token. Giai đoạn phân tích cú pháp gặp lỗi khi các token không thể kết hợp với nhau theo đúng cấu trúc ngôn ngữ Giai đoạn phân tích ngữ nghĩa gặp lỗi khi các toán hạng có kiểu không đúng yêu cầu của phép toán Sau khi ...

    ppt28 trang | Chia sẻ: huongthu9 | Ngày: 18/08/2021 | Lượt xem: 702 | Lượt tải: 0

  • Giáo trình Chương trình dịch - Bài 13: Tối ưu mã - Nguyễn Thị Thu HươngGiáo trình Chương trình dịch - Bài 13: Tối ưu mã - Nguyễn Thị Thu Hương

    Input: Dãy lệnh ba địa chỉ. Output: Danh sách các khối cơ bản với mã lệnh ba địa chỉ của từng khối Phương p p háp: 1. Xác định tập các lệnh đầu (leader), của từng khối cơ bản i) Lệnh đầu tiên của chương trình là lệnh đầu. ii) Bất kỳ lệnh nào là đích nhảy đến của các lệnh GOTO có hoặc không có điều kiện là lệnh đầu iii) Bất kỳ lệnh nào đi sa...

    pdf8 trang | Chia sẻ: huongthu9 | Ngày: 18/08/2021 | Lượt xem: 775 | Lượt tải: 0

  • Giáo trình Chương trình dịch - Bài 11: Sinh mãm đích - Nguyễn Thị Thu HươngGiáo trình Chương trình dịch - Bài 11: Sinh mãm đích - Nguyễn Thị Thu Hương

    Bộ sinh mã trung gian đưa ra mã ba địa chỉ „ Tối ưu trên mã ba địa chỉ „ Từ mã ba địa chỉ đã tối ưu sinh ra mã đích phù hợp với một mô tả máy ảo

    pdf11 trang | Chia sẻ: huongthu9 | Ngày: 18/08/2021 | Lượt xem: 693 | Lượt tải: 0

  • Giáo trình Chương trình dịch - Bài 11: Sinh mã trung gian - Nguyễn Thị Thu HươngGiáo trình Chương trình dịch - Bài 11: Sinh mã trung gian - Nguyễn Thị Thu Hương

    Nếu E có dạng: a

    pdf10 trang | Chia sẻ: huongthu9 | Ngày: 18/08/2021 | Lượt xem: 857 | Lượt tải: 0

  • Giáo trình Chương trình dịch - Bài 10: Phân tích ngữ cảnh - Nguyễn Thị Thu HươngGiáo trình Chương trình dịch - Bài 10: Phân tích ngữ cảnh - Nguyễn Thị Thu Hương

    mktable(previous) Tạo một bảng ký hiệu mới và trả lại con trỏ của bảng ký hiệu đó. Tham số previous là con trỏ tới thủ tục chứa nó. „ Stack tblptr chứa con trỏ tới các bảng ký hiệu và các thủ tục chứa nó. „ Stack offset chứa dấu vết các địa chỉ tương ứng ở mức ồ l ng nhau nào đó „ enter(table,name,type,offset) tạo một lối vào mới cho định ...

    pdf9 trang | Chia sẻ: huongthu9 | Ngày: 18/08/2021 | Lượt xem: 700 | Lượt tải: 0

  • Giáo trình Chương trình dịch - Bài 9: Phương pháp đệ quy trên xuống - Nguyễn Thị Thu HươngGiáo trình Chương trình dịch - Bài 9: Phương pháp đệ quy trên xuống - Nguyễn Thị Thu Hương

    int expect(symbol s) { if(accept(s)) return 1; error("expect: unexpected symbol"); return 0; }

    pdf5 trang | Chia sẻ: huongthu9 | Ngày: 18/08/2021 | Lượt xem: 687 | Lượt tải: 0