KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

140 367 0
KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN KHOA HỌC MÁY TÍNH NGUYỄN VIỆT CƢỜNG – NGUYỄN THÀNH TRUNG KHẢO SÁT XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC KHÓA LUẬN TỐT NGHIỆP CỬ NHÂN CNTT TP. HCM, 2010 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN KHOA HỌC MÁY TÍNH NGUYỄN VIỆT CƢỜNG – 0612051 NGUYỄN THÀNH TRUNG – 0612468 KHẢO SÁT XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC KHÓA LUẬN TỐT NGHIỆP CỬ NHÂN CNTT GIÁO VIÊN HƢỚNG DẪN TS. NGUYỄN THANH PHƢƠNG KHÓA 2006 – 2010 i NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… TpHCM, ngày … tháng …… năm …… Giáo viên hướng dẫn ii NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… Khóa luận đáp ứng yêu cầu của Khóa luận cử nhân CNTT. TpHCM, ngày … tháng …… năm …… Giáo viên phản biện iii LỜI CÁM ƠN Đầu tiên, chúng em xin cảm ơn khoa Công nghệ Thông tin, trường Đại học Khoa học Tự nhiên Thành phố Hồ Chí Minh đã tạo điều kiện cho chúng em thực hiện đề tài này. Chúng em xin chân thành cám ơn các thầy cô khoa Công nghệ Thông tin đã truyền đạt những kiến thức hữu ích tạo nền tảng vững chắc cho chúng em định hướng trong học tập phát huy khả năng của mình khi bước vào đời. Đặc biệt, chúng em xin gởi lời cảm ơn chân thành lời chúc sức khỏe đến thầy Nguyễn Thanh Phương đã hướng dẫn dạy bảo tận tình để nhóm em hoàn thành tốt luận văn tốt nghiệp của mình. Chúng em xin cảm ơn anh Đặng Đăng Khoa anh Phan Lê Sang đã giúp đỡ tận tụy luôn sát cánh bên chúng em như những người anh trong gia đình trong suốt quá trình thực hiện khóa luận. Chúng em cũng xin cảm ơn sự động viên tích cực của các anh chị nhân viên phòng SELab trường Khoa hoc Tự nhiên bạn bè trong quá trình chúng em thực hiện đề tài. Và cuối cùng chúng con xin cảm ơn các đấng sinh thành đã nuôi dạy, dìu dắt và luôn là nguồn khích lệ để chúng con phấn đấu trong học tập. Mặc dù cố gắng nổ lực hết mình, chúng em vẫn còn mắc nhiều thiếu sót trong luận văn của mình, chúng em hy vọng sẽ nhận được sự ủng hộ đóng góp ý kiến để hoàn thiện đề tài này một cách tốt hơn. TP. Hồ Chí Minh, tháng 06, 2010. Nhóm sinh viên thực hiện Nguyễn Việt Cường – Nguyễn Thành Trung iv KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN: KHOA HỌC MÁY TÍNH ĐỀ CƢƠNG CHI TIẾT Tên đề tài: Khảo sát xây dựng thử nghiệm chuyến trước của trình biên dịch dành cho ngôn ngữ ANSI C giản lược. Giáo viên hƣớng dẫn: TS. Nguyễn Thanh Phƣơng Thời gian thực hiện: Từ ngày 01/09/2009 đến ngày 10/07/2010 Sinh viên thực hiện: 1. Nguyễn Việt Cường - 0612051 2. Nguyễn Thành Trung - 0612468 Loại đề tài: Tìm hiểu công nghệ xây dựng ứng dụng. Nội Dung Đề Tài: Nội dung: – Tìm hiểu kỹ thuật xây dựng trình biên dịch. – Khảo sát các công cụ hỗ trợ phát sinh một phần trình biên dịch. – Vận dụng vào việc xây dựng chuyến trước cho ngôn ngữ ANSI C giản lược. – Giải quyết các bài toán nảy sinh trong thực tế, vốn không xuất hiện trong lý thuyết nền tảng. Yêu cầu: – Nắm vững vận dụng có sáng tạo các kiến thức tiếp thu được từ lý thuyết cũng như thực tế. – Xây dựng thành công chuyến trước của trình biên dịch (có thể vận hành). Kết quả: Phát sinh ra mã trung gian, hướng đến họ chip VN-08 Kế Hoạch Thực Hiện: (mô tả chi tiết thời gian của các giai đoạn thực hiện phân công công việc của từng thành viên trong nhóm)  Các giai đoạn thực hiện : v o Bắt đầu : 01/09/2009 o Hoàn thành giai đoạn tìm tài liệu project liên quan : 28/09/2009 o Hoàn thành đọc tài liệu thiết kế mô hình C-Compiler : 28/12/2009 o Hoàn thành giai đoạn Coding Testing : 15/05/2010 o Hoàn thành báo cáo cuối cùng : 10/07/2010  Phân công công việc : o Xây dựng cấu trúc, quản lý bảng danh biểu : Nguyễn Thành Trung. o Tìm hiểu các công cụ phát sinh trình biên dịch : Nguyễn Việt Cường. o Phát sinh mã cho các cấu trúc khai báo, định nghĩa kiểu dữ liệu : Nguyễn Thành Trung. o Phát sinh mã cho các cấu trúc điều khiển, biểu thức : Nguyễn Việt Cường. Xác nhận của GVHD Ngày……tháng……năm…… SV Thực hiện 1 MỤC LỤC MỤC LỤC 1 DANH MỤC CÁC HÌNH VẼ 3 DANH MỤC CÁC BẢNG 5 CHƢƠNG 1: TỔNG QUAN 6 1.1. GIỚI THIỆU VỀ TRÌNH BIÊN DỊCH 6 1.1.1. Trình biên dịch là gì? 6 1.1.2. Phân loại trình biên dịch 6 1.1.3. Quá trình biên dịch 7 1.1.4. Quá trình phân tích 8 1.1.5. Quá trình tổng hợp 9 1.1.6. Các pha trong quá trình biên dịch 9 1.1.7. Các module phụ của trình biên dịch 11 1.2. CÁC GIỚI HẠN CỦA LUẬN VĂN 13 1.2.1. Các giới hạn chung 13 1.2.2. Ngôn ngữ ANSI C giản lược 13 1.3. NỘI DUNG LUẬN VĂN 17 CHƢƠNG 2: GIỚI THIỆU VỀ CHUYẾN TRƢỚC 18 2.1. VAI TRÒ, CHỨC NĂNG CỦA CHUYẾN TRƯỚC. 18 2.2. BẢNG DANH BIỂU. 18 2.2.1. Bảng danh biểu là gì? Vai trò chức năng? 18 2.2.2. Tầng dữ liệu 20 2.2.3. Tổ chức lưu trữ dạng bảng băm 21 2.2.4. Tầng quản lý 23 2.3. PHÂN TÍCH TỪ VỰNG. 24 2.4. PHÂN TÍCH CÚ PHÁP. 26 2.4.1. Phương pháp phân tích cú pháp từ dưới lên (Bottom-Up Parsing) 27 2.4.2. Kỹ thuật phân tích cú pháp LR 30 2.5. PHÂN TÍCH NGỮ NGHĨA 34 2.6. PHÁT SINH MÃ TRUNG GIAN. 35 2 CHƢƠNG 3: CÁC CÔNG CỤ HỖ TRỢ XÂY DỰNG MỘT PHẦN TRÌNH BIÊN DỊCH. 38 3.1. GIỚI THIỆU. 38 3.2. Bộ phát sinh trình phân tích từ vựng FLEX 38 3.2.1. Cấu trúc. 38 3.2.2. Quy trình vận hành. 39 3.2.3. Một số hàm hỗ trợ. 40 3.3. Bộ phát sinh trình phân tích cú pháp BISON 41 3.3.1. Cấu trúc. 41 3.3.2. Quy trình vận hành. 44 CHƢƠNG 4: XÂY DỰNG CHUYẾN TRƢỚC CỦA TRÌNH BIÊN DỊCH 46 4.1. MÔ HÌNH CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH 46 4.2. QUẢN LÝ MÃ TRUNG GIAN [9] 47 4.3. XÂY DỰNG BẢNG DANH BIỂU [1, 2, 3, 8, 9] 48 4.3.1. Cấu trúc cài đặt chung 48 4.3.2. Các cấu trúc dữ liệu lưu trữ thông tin danh biểu 49 4.3.3. Ví dụ biễu diễn một số kiểu dữ liệu 56 4.3.4. Các thao tác quản lý bảng danh biểu. 57 4.3.5. Minh họa sơ đồ lưu trữ 57 4.4. DỊCH CÁC CẤU TRÚC 59 4.4.1. Biểu thức 59 4.4.2. Mảng con trỏ 67 4.4.3. Dịch biểu thức logic - luồng điều khiển. 73 4.4.4. Khai báo 96 CHƢƠNG 5: TỔNG KẾT 115 5.1. KẾT QUẢ 115 5.2. HẠN CHẾ 115 5.3. HƯỚNG PHÁT TRIỂN 115 PHỤ LỤC 117 PHỤ LỤC 1: Bảng xác định độ ưu tiên của các toán tử. 117 PHỤ LỤC 2: Dịch chương trình mẫu. 118 THAM KHẢO 133 3 DANH MỤC CÁC HÌNH VẼ Hình 1.1. Trình biên dịch 6 Hình 1.2. Quá trình biên dịch 8 Hình 1.3. Các pha biên dịch mã nguồn 10 Hình 1.4. Quá trình dịchcho chip 11 Hình 1.5. Cấu trúc chương trình 13 Hình 2.1. Sự phân chia tầng trong cài đặt bảng danh biểu 19 Hình 2.2. Cấu trúc lưu trữ (dạng đơn giản) cho danh biểu 20 Hình 2.3. Bảng băm với kích thước khóa 256 21 Hình 2.4. Bảng danh biểu với liên kết chỉ định phạm vi 23 Hình 2.5 .Giao thức liên hệ của bộ phân tích từ vựng. 25 Hình 2.6. Vị trí của trình phân tích cú pháp trong chuyến trước của trình biên dịch 27 Hình 2.7. Cấu trúc của một bộ phân tích cú pháp LR 31 Hình 2.8. Automat của văn phạm dành cho biểu thức đơn giản[1] 32 Hình 3.1. Quá trình phân tích từ vựng 39 Hình 3.2. Quá trình phân tích cú pháp của BISON 44 Hình 4.1. Cấu trúc của một toán hạng (operand) 47 Hình 4.2. Mô hình cài đặt bảng danh biểu 48 Hình 4.3. Các cấu trúc lưu trữ thông tin danh biểu 50 Hình 4.4. Sơ đồ lưu trữ của bucket 51 Hình 4.5. Structdef trong tổ chưc lưu trữ struct 52 Hình 4.6. Declarator trong khai báo con trỏ integer 53 Hình 4.7. Symlink trong chuỗi thông tin danh biểu 55 Hình 4.8. Symbol trong tổ chức lưu trữ khai báo biến 56 Hình 4.9. Biễu diễn một sô kiểu dữ liệu 56 Hình 4.10. Sơ đồ lưu trữ biến, struct typedef 58 Hình 4.11. Quá trình lan truyền thuộc tính danh biểu thuộc tính hằng số 60 [...]... C c trình biên dịch trư c đây cho Pascal hay Borland Ctrình biên dịch một bư c 6 Chương 1 – Tổng quan 1.1.2.2 Trình biên dịch nhiều bư c C c trình biên dịch c n nhiều hơn một bư c để hoàn tất gọi là trình biên dịch nhiều bư c C c kiểu trình biên dịch nhiều bư c bao gồm:  Trình biên dịch nguồn sang nguồn: dịch từ một ngôn ngữ c p cao này sang một ngôn ngữ c p cao kh c Chẳng hạn biên dịch một chương... hợp, ngôn ngữ nguồn là ngôn ngữ c p cao như Fortran, C/ C++, Java, … ngôn ngữ đích là mã hợp ngữ ho c mã máy c a một ho c một họ hệ thống phần c ng 1.1.2 Phân loại trình biên dịch Theo số bư c biên dịch, ta chia làm hai loại chính: một bư c nhiều bư c 1.1.2.1 Trình biên dịch một bư c Vi c biên dịch mã nguồn viết bằng ngôn ngữ c p cao sang ngôn ngữ máy (hay mã máy) gọi là trình biên dịch 1 bư c C c. .. th c thi trên chip Trên th c tế, c trình biên dịch th c hiện biên dịch ngư c, dịch từ ngôn ngữ c p thấp sang lại ngôn ngữ c p cao trình biên dịch như thế đư c gọi là trình biên dịch ngư c 1.1.3 Quá trình biên dịch Quá trình biên dịch mã nguồn đư c th c hiện theo mô hình biên dịch phân tích - tổng hợp bao gồm 2 bư c:  Phân tích  Tổng hợp 7 Chương 1 – Tổng quan Chương trình nguồn (mã nguồn) Trình. .. trình biên dịch – Khảo sát c c công c hỗ trợ phát sinh một phần trình biên dịch – Vận dụng vào vi c xây dựng một trình biên dịch cho ngôn ngữ ANSI C giảnc – Giải quyết c c bài toán nảy sinh trong th c tế, vốn không đư c đề c p trong tài liệu 17 Chương 2 – Giới thiệu về chuyến trư c CHƢƠNG 2: GIỚI THIỆU VỀ CHUYẾN TRƢ C 2.1 VAI TRÒ, CH C NĂNG C A CHUYẾN TRƢ C Với nhiệm vụ chính là phân tích mã nguồn,... gianchuyến trư c cung c p, c c đ c điểm phần c ng mà mã đích th c thi trên đó Khi chuyến sau đã đư c xây dựng tốt trên một bộ mã trung gian chuẩn, thì vi c xây dựng nên một 10 Chương 1 – Tổng quan trình biên dịch ngôn ngữ mới để dịchcho c ng một loại phần c ng chỉ là vi c xây dựng lại chuyến trư c cho phù hợp với ngôn ngữ mới Quản lý bảng danh biểu quản lý lỗi là hai pha luôn đư c th c hiện... c c c quy t c diễn tả c u tr c cú pháp c a c c chương trình c định dạng đúng C c cấu tr c cú pháp này đư c mô tả bởi văn phạm phi ngữ c nh (Context Free Gramma – CFG) [4] Trình phân tích c pháp (parser) nhận chuỗi c c token từ trình phân tích từ vựng (Hình 2.6), x c định rằng chuỗi này c hợp lệ hay không bằng c ch tạo ra c y phân tích c pháp từ văn phạm c a ngôn ngữ nguồn C 2 phương pháp chính... đư c tất c c c thông tin từ c c tập tin mã nguồn 11 Chương 1 – Tổng quan riêng lẻ, c ng vi c đó sẽ đư c th c hiện ở quá trình tiền xử lý, đồng thời dịch c c macro, c c chỉ thị thành c c câu lệnh tương ứng trong chương trình Tiền xử lý th c hiện dịch c c khai báo hỗ trợ lập trình đư c viết trong chương trình, chuyển c c khai báo đó thành mã nguồn mà trình biên dịch c thể xử lý đư c Tiền xử lý th c. .. 1.1.7 C c module phụ c a trình biên dịch Chương trình nguồn (mã nguồn) Tiền xử lý Trình biên dịch Bộ dịch mã hợp ngữ Linker/Loader Thư viện Mã th c thi tuyệt đối trên chip Hình 1.4 Quá trình dịchcho chip 1.1.7.1 Tiền xử lý - Preprocessor Trong th c tế, mã nguồn c a một chương trình thường đư c tách ra thành nhiều tập tin để thuận tiện cho vi c quản lý Do đó để biên dịch đư c chương trình, ta c n... chương trình viết bằng ngôn ngữ C+ + sang một chương trình viết bằng ngôn ngữ CTrình biên dịch phân đoạn: biên dịch sang một loại mã th c thi gần với máy, thông thường là mã hợp ngữ Ví dụ biên dịch một chương trình viết bằng ngôn ngữ C sang một chương trình viết bằng mã hợp ngữ cho một con chip bất kỳ (x86, VN-08, SG-08), từ mã hợp ngữ này, ta lại c n một trình biên dịch hợp ngữ để dịch mã hợp ngữ sang... trình xử lý ngôn ngữ, làm c ng vi c dịch chương trình hay một chuỗi c c câu lệnh đư c viết bằng ngôn ngữ lập trình (gọi là ngôn ngữ nguồn hay mã nguồn) thành chương trình tương đương dưới dạng ngôn ngữ đích Một phần quan trọng trong quá trình dịch là ghi nhận thông báo lỗi Chương trình nguồn (mã nguồn) Trình biên dịch Báo lỗi Chương trình đích (mã nguồn) Hình 1.1 Trình biên dịch Trong đa số c c trường . KHOA H C MÁY TÍNH ĐỀ C ƠNG CHI TIẾT Tên đề tài: Khảo sát và xây dựng thử nghiệm chuyến trư c c a trình biên dịch dành cho ngôn ngữ ANSI C giản lư c. Giáo. KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯ C CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯ C KHÓA LUẬN TỐT NGHIỆP C NHÂN CNTT

Ngày đăng: 16/02/2014, 02:54

Hình ảnh liên quan

o Hoàn thành đọc tài liệu và thiết kế mơ hình C-Compile r: 28/12/2009 - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

o.

Hoàn thành đọc tài liệu và thiết kế mơ hình C-Compile r: 28/12/2009 Xem tại trang 7 của tài liệu.
Hình 1.3. Các pha biên dịch mã nguồn - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

Hình 1.3..

Các pha biên dịch mã nguồn Xem tại trang 17 của tài liệu.
Quản lý bảng danh biểu và quản lý lỗi là hai pha luôn được thực hiện xuyên suốt trong quá trình biên dịch - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

u.

ản lý bảng danh biểu và quản lý lỗi là hai pha luôn được thực hiện xuyên suốt trong quá trình biên dịch Xem tại trang 18 của tài liệu.
Hình 1.5. Cấu trúc chương trình - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

Hình 1.5..

Cấu trúc chương trình Xem tại trang 20 của tài liệu.
Bảng 2.2. Mô tả từng bước hoạt động của - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

Bảng 2.2..

Mô tả từng bước hoạt động của Xem tại trang 36 của tài liệu.
Bảng phân tích - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

Bảng ph.

ân tích Xem tại trang 38 của tài liệu.
Từ tập mô tả các luật sinh, ta có thể hình thành sơ đồ automat (S xem như là trạng thái bắt đầu của văn phạm) :   - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

t.

ập mô tả các luật sinh, ta có thể hình thành sơ đồ automat (S xem như là trạng thái bắt đầu của văn phạm) : Xem tại trang 39 của tài liệu.
Bảng 2.3. Bảng phân tích cú pháp của văn phạm dànhcho biểu thức đơn giản Trong đó, các hành vi (Action) được mơ tả :   - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

Bảng 2.3..

Bảng phân tích cú pháp của văn phạm dànhcho biểu thức đơn giản Trong đó, các hành vi (Action) được mơ tả : Xem tại trang 40 của tài liệu.
4.3. XÂY DỰNG BẢNG DANH BIỂU [1, 2, 3, 8, 9] 4.3.1. Cấu trúc cài đặt chung   - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

4.3..

XÂY DỰNG BẢNG DANH BIỂU [1, 2, 3, 8, 9] 4.3.1. Cấu trúc cài đặt chung Xem tại trang 55 của tài liệu.
Hình 4.3. Các cấu trúc lưu trữ thông tin danh biểu - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

Hình 4.3..

Các cấu trúc lưu trữ thông tin danh biểu Xem tại trang 57 của tài liệu.
Hình 4.4. Sơ đồ lưu trữ của bucket - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

Hình 4.4..

Sơ đồ lưu trữ của bucket Xem tại trang 58 của tài liệu.
Hình 4.5. Structdef trong tổ chưc lưu trữ struct - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

Hình 4.5..

Structdef trong tổ chưc lưu trữ struct Xem tại trang 59 của tài liệu.
Hình 4.7. Symlink trong chuỗi thông tin danh biểu - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

Hình 4.7..

Symlink trong chuỗi thông tin danh biểu Xem tại trang 62 của tài liệu.
Hình 4.9. Biễu diễn một sô kiểu dữ liệu - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

Hình 4.9..

Biễu diễn một sô kiểu dữ liệu Xem tại trang 63 của tài liệu.
Hình 4.10. Sơ đồ lưu trữ biến, struct và typedef - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

Hình 4.10..

Sơ đồ lưu trữ biến, struct và typedef Xem tại trang 65 của tài liệu.
xác định như trong bảng độ ưu tiên của các toán tử (PHỤ LỤC 1: Bảng xác định độ - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

x.

ác định như trong bảng độ ưu tiên của các toán tử (PHỤ LỤC 1: Bảng xác định độ Xem tại trang 71 của tài liệu.
Bảng 4.2. (tiếp theo) - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

Bảng 4.2..

(tiếp theo) Xem tại trang 72 của tài liệu.
Hình 4.12. Cây cú pháp và lan truyền thuộc tính cho biểu thức ++a +b *c - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

Hình 4.12..

Cây cú pháp và lan truyền thuộc tính cho biểu thức ++a +b *c Xem tại trang 73 của tài liệu.
Hình 4.14. Phân bố mã cho các câu lệnh if - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

Hình 4.14..

Phân bố mã cho các câu lệnh if Xem tại trang 82 của tài liệu.
Hình 4.15. Cây phân tích cú pháp sử dụng cho luật sinh 3 và 3’ - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

Hình 4.15..

Cây phân tích cú pháp sử dụng cho luật sinh 3 và 3’ Xem tại trang 85 của tài liệu.
Bảng 4.4. Mô tả các hành vi ngữ nghĩa và phát sinh mã ba địa chỉ của lệnh if - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

Bảng 4.4..

Mô tả các hành vi ngữ nghĩa và phát sinh mã ba địa chỉ của lệnh if Xem tại trang 91 của tài liệu.
GOTO SW2 SW1:  - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

2.

SW1: Xem tại trang 100 của tài liệu.
Hình 4.25. Sự tương quan giửa khai báo và external_definition Dịch các khai báo bao gồm các công việc chính:  - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

Hình 4.25..

Sự tương quan giửa khai báo và external_definition Dịch các khai báo bao gồm các công việc chính: Xem tại trang 105 của tài liệu.
Hình 4.26. Sự lan truyền thuộc tính “int” và “x” - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

Hình 4.26..

Sự lan truyền thuộc tính “int” và “x” Xem tại trang 108 của tài liệu.
Bảng 4.8. Hệ thống luật phân tích tên hàm và tham số - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

Bảng 4.8..

Hệ thống luật phân tích tên hàm và tham số Xem tại trang 110 của tài liệu.
Hình 4.29. Sơ đồ tổ chức lưu trữ hàm inc trong Ví dụ 4.20: - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

Hình 4.29..

Sơ đồ tổ chức lưu trữ hàm inc trong Ví dụ 4.20: Xem tại trang 113 của tài liệu.
Hình 4.30. Cây phân tích cú pháp và q trình lan truyền thuộc tính cho khai báo struct - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

Hình 4.30..

Cây phân tích cú pháp và q trình lan truyền thuộc tính cho khai báo struct Xem tại trang 116 của tài liệu.
Bảng 4.11. Hệ thống luật dànhcho khai báo con trỏ - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

Bảng 4.11..

Hệ thống luật dànhcho khai báo con trỏ Xem tại trang 117 của tài liệu.
Hình 4.32. Cây phân tích cú pháp cho khai báo con trỏ - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

Hình 4.32..

Cây phân tích cú pháp cho khai báo con trỏ Xem tại trang 118 của tài liệu.
Ta sẽ hình thành cây phân tích cú pháp để lan truyền các thông tin khai  báo,  phục  vụ  cho  việc  cập  nhật  bảng  lưu  trữ  các  thông  tin  - KHẢO SÁT VÀ XÂY DỰNG THỬ NGHIỆM CHUYẾN TRƯỚC CỦA TRÌNH BIÊN DỊCH DÀNH CHO NGÔN NGỮ ANSI C GIẢN LƯỢC

a.

sẽ hình thành cây phân tích cú pháp để lan truyền các thông tin khai báo, phục vụ cho việc cập nhật bảng lưu trữ các thông tin Xem tại trang 119 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan