Nhập môn Chương trình dịch - Bài tập ppt
... III. Cải tiến chương trình phân tích từ vựng - Thêm vào các từ tố cho các câu lệnh for, switch … case - Thông báo lỗi từ vựng: chỉ ra vị trí xảy ra lỗi - Hồi phục lỗi: bỏ qua lỗi và dịch tiếp ... lỗi: bỏ qua lỗi và dịch tiếp để bắt hết các lỗi từ vựng IV. Nộp bài tập Sinh viên cần nộp các tài liệu sau - Chương trình - Tài liệu: khoảng 2 trang A4 o Giớ...
Ngày tải lên: 24/07/2014, 08:21
... Nhập môn Chương trình dịch Học kì II 2006 - 2007 Bài 11: Luật ngữ nghĩa Ví dụ A ├ E 1 : int A ├ E 2 : int A ├ E 1 + E 2 : ... giá kiểu (kiểm tra kiểu) là quá trình lần ngược cây cú pháp dựa vào các luật Luật ngữ nghĩa: lệnh While • Với các lệnh không có kiểu, ta đưa vào một kiểu giả - unit (unit = có kiểu đúng) A ├
Ngày tải lên: 24/07/2014, 08:21
... kiểu: typedef, class Nội dung • Kiểm tra kiểu • Cài đặt các biểu thức kiểu Nhập môn Chương trình dịch Học kì II 2006 – 2007 Bài 10: Biểu thức kiểu Ví dụ: C++ • Kiểu cơ bản: int, char, … • Kiểu phức ... toán tử == trong lớp Type Hệ thống kiểu (2): định nghĩa kiểu • Một số ngôn ngữ cho phép người lập trình tự định nghĩa kiểu • VD: C++ typedef int int_array[ ]; class cView { … };...
Ngày tải lên: 24/07/2014, 08:21
Nhập môn Chương trình dịch - Bài 8 ppt
... khi thu gọn Nhập môn Chương trình dịch Học kì II 200 6-2 007 Bài 8: Phân tích LR (tiếp) Lập trình bộ phân tích cú pháp Trước đây: tự viết bộ phân tích cú pháp Hiện nay: sử dụng các trình sinh ... pháp Lỗi ngữ nghĩa Chương trình đúng: cây cú pháp điều khiển cây cú pháp dãy từ tố Chương trình nguồn Cây cú pháp Là kết quả của bộ phân tích cú pháp Là một dạng thể h...
Ngày tải lên: 24/07/2014, 08:21
Nhập môn Chương trình dịch - Bài 7 pptx
... (2) (s 1 x 1 s 2 x 2 … s n-r x n-r … s n-1 x n-1 s n ) Hoạt động: với a là kí hiệu vào – Gạt a, chuyển tới trạng thái s với s = (s n , a) = gạt s (s 1 x 1 s 2 x 2 … s n-r x n-r … s n-1 x n-1 s n a s) – ... (L)S (L) 6 s8s65 104 g5g7s2s33 SidSidSidSidSid 2 g4s2s31 LS$,id)( Nhập môn Chương trình dịch Học kì II 200 6-2 007 Bài 7: Phân tích LR Phân tích LR(1) Tận dụng...
Ngày tải lên: 24/07/2014, 08:21
Nhập môn Chương trình dịch - Bài 15 docx
... Nhập môn Chương trình dịch Học kì II 2006 – 2007 Bài 15: Làm phẳng cây IR Cài đặt class CanonicalExpr { IRStmt[ ] pre_stmts; IRExpr ... gốc của cây IR • Một hàm được biểu diễn dưới dạng SEQ(s 1 , s 2 , … s n ) • Có thể dịch thành mã mãy bằng cách dịch lần lượt s 1 , s 2 , …, s n rồi nối mã lại với nhau. SEQ s 1 s 2 s n … Cú pháp ... CALL(…) … … SEQ EXP CALL(…) … … Cú pháp điều...
Ngày tải lên: 24/07/2014, 08:21
Nhập môn Chương trình dịch - Bài 14 pps
... LABEL(t), [s], LABEL(f)) làm phẳng cây IR SEQ SEQ s 3 s 1 s 2 SEQ s 2 s 3 s 1 Nhập môn Chương trình dịch Học kì II 200 6-2 007 Bài 14: Sinh mã trung gian (tiếp) Tổng kết • Cú pháp điều khiển mô tả cách ... nút con • Cú pháp điều khiển – Mô tả chính xác chương trình dịch cần làm gì – Có thể cài đặt dễ dàng – Có thể chứng minh tính đúng của chương trình dịch Các lệnh...
Ngày tải lên: 24/07/2014, 08:21
Nhập môn Chương trình dịch - Bài 13 pps
... địa chỉ của một tên trên bộ nhớ • VD: địa chỉ của một nhãn nhảy NAME(n) Nhập môn Chương trình dịch Học kì II 200 6-2 007 Bài 13: Sinh mã trung gian ... đại diện cho hằng số • Giá trị của nút là i CONST(i) Phép gán • Cách dịch • Vấn đề: nút MOVE không có giá trị, làm thế nào để dịch x = (y = 2)? e 1 = e 2 MOVE [e 2 ][e 1 ] ESEQ [e 1 ] e 1 = e 2 MOVE [e 2 ][e 1 ] Ví ... dưới...
Ngày tải lên: 24/07/2014, 08:21
Nhập môn Chương trình dịch - Bài 12 pps
... x*fact(x-1) : int A 2 ├ x : int A 2 ├ 0 : int A 2 ├ x == 0 : bool A 2 ├ 1 : int Nhập môn Chương trình dịch Học kì II 2006 – 2007 Bài 12: Luật ngữ nghĩa (tiếp) Luật ngữ nghĩa: định nghĩa hàm • C/C++: hàm ... fact(x-1); } A 1 = {fact: int int} A 2 = {fact: int int, x : int} A 2 ├ x : int A 2 ├ 1 : int A 2 ├ x - 1 : int A 2 ├ fact : int int A 2 ├ fact(x-1) : int A 2 ├ x : i...
Ngày tải lên: 24/07/2014, 08:21
Nhập môn Chương trình dịch - Bài 9 pot
... i++) { boolean b = } { i: int, n: int } { i: int, n: int, b: boolean } ? Nhập môn Chương trình dịch Học kì II 200 6-2 007 Bài 09: Phân tích ngữ nghĩa ... Nộp bài tập lập trình số 1: tuần sau Tổng kết • Phân tích ngữ nghĩa = duyệt cây cú pháp đệ quy xuống • Quản lý phạm vi biến bằng bảng kí hiệu • Có thể tận dụng tính lặp lại của các bước dịch ... chương trình ngu...
Ngày tải lên: 24/07/2014, 08:21