TAILIEUCHUNG - Bài giảng môn học Trình biên dịch - Chương 8: Tổ chức bảng danh biểu

Bài giảng chương 8 trình bày những nội dung cơ bản như: Các tác vụ trên bảng danh biểu, Bảng danh biểu tuyến tính (linear symbol table), Bảng danh biểu băm (hash symbol table), Hàm băm (hashing function),. . | CHƯƠNG 8 TỔ CHỨC BẢNG DANH BIỂU . Giới thiệu Có bốn phương pháp truy xuất trên bảng danh biểu: 1. Tìm kiếm tuyến tính (linear search) 2. Tìm kiếm nhị phân (binary search) 3. Tìm kiếm trên cây (tree search) 4. Mã hóa băm (hash coding) . Các tác vụ trên bảng danh biểu Bảng . Các tác vụ trên bảng danh biểu Tên chương trình con Cách gọi Hành vi thực thi Enter Enter (id) Khi gặp một danh biểu mới được khai báo, thủ tục này sẽ kiểm tra xem danh biểu mới đó có trùng với tên nào trong cùng một tầm vực? Nếu không, thủ tục enter sẽ đưa danh biểu mới vào bảng danh biểu. Ngược lại enter sẽ thông báo lỗi về việc khai báo một danh biểu nhiều lần trong cùng một tầm vực. loc (hàm) n := loc (id) Khi cần truy xuất một danh biểu, loc sẽ tìm trên bảng danh biểu từ phân tử mới nhất của tầm vực mới nhất đến phân tử cũ nhất của tầm vực cũ nhất để tìm vị trí của id và trả về thông qua tên loc của hàm. Scopeentry Scopeentry Khi trình biên dịch đi vào một tầm vực mới, scopeentry sẽ đánh dấu trên Stack (bảng danh biểu) một tầm vực mới. Scopeexit Scopeexit Khi trình biên dịch đi hết một tầm vực scopeenxit sẽ thải hồi những tên biến không còn có ý nghĩa và tái lập một tầm vực ngoài cùng gần nhất. . Bảng danh biểu tuyến tính (linear symbol table) Thí dụ . Cho đoạn chương trình trong ngôn ngữ Algol. begin real A, B; begin real C, A; . end; end; I=5 5 4 A 3 2 1 C B A TAB B=3 3 2 1 3 1 BTAB Hình . Bảng danh biểu tuyến tính của thí dụ Các tác vụ trên bảng danh biểu tuyến tính được trình bày như sau: Giải thuật: const tab lim = ; btablim = ; type tabinden = 1 tablim; item = record key: alfa; /* alfa là kiểu chuỗi các ký tự */ end; var btab: array [1 btablim] of integer; tab: array [1 Tablim] of item; b: 1 • • tablim; t: .

TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.