Tài liệu trình biên dịch C (ĐH Cần Thơ) part 5

SỰ HÌNH THÀNH BẢNG KÝ HIỆU Một cấu trúc dữ liệu gọi là bảng ký hiệu (symbol table) thường được dùng để lưu giữ thông tin về các cấu trúc của ngôn ngữ nguồn. Các thông tin này được tập hợp từ các giai đoạn phân tích của trình biên dịch và được sử dụng bởi giai đoạn tổng hợp để sinh mã đích. Ví dụ trong quá trình phân tích từ vựng, các chuỗi ký tự tạo ra một token (trị từ vựng của token) sẽ được lưu vào một mục ghi trong bảng danh biểu. Các giai đoạn. | VI. SỰ HÌNH THÀNH BẢNG KÝ HIỆU Một cấu trúc dữ liệu gọi là bảng ký hiệu symbol table thường được dùng để lưu giữ thông tin về các cấu trúc của ngôn ngữ nguồn. Các thông tin này được tập hợp từ các giai đoạn phân tích của trình biên dịch và được sử dụng bởi giai đoạn tổng hợp để sinh mã đích. Ví dụ trong quá trình phân tích từ vựng các chuỗi ký tự tạo ra một token trị từ vựng của token sẽ được lưu vào một mục ghi trong bảng danh biểu. Các giai đoạn sau đó có thể bổ sung thêm các thông tin về kiểu của danh biểu cách sử dụng nó và vị trí lưu trữ. Giai đoạn sinh mã sẽ dùng thông tin này để tạo ra mã phù hợp cho phép lưu trữ và truy xuất biến đó. 1. Giao diện của bảng ký hiệu Các thủ tục trên bảng ký hiệu chủ yếu liên quan đến việc lưu trữ và truy xuất các trị từ vựng. Khi một trị từ vựng được lưu trữ thì token kết hợp với nó cũng được lưu. Hai thao tác sau được thực hiện trên bảng ký hiệu. Insert s t Trả về chỉ mục của một ô mới cho chuỗi s token t. Lookup s Trả về chỉ mục của ô cho chuỗi s hoặc 0 nếu chuỗi s không tồn tại. Bộ phân tích từ vựng sử dụng thao tác tìm kiếm lookup để xác định xem một ô cho một trị từ vựng của một token nào đó đã tồn tại trong bảng ký hiệu hay chưa Nếu chưa thì dùng thao tác xen vào insert để tạo ra một ô mới cho nó. 2. Xử lý từ khóa dành riêng Ta cũng có thể sử dụng bảng ký hiệu nói trên để xử lý các từ khóa dành riêng reserved keyword . Ví dụ với hai token div và mod với hai trị từ vựng tương ứng là div và mod. Chúng ta có thể khởi tạo bảng ký hiệu bởi lời gọi insert div div insert mod mod Sau đó lời gọi lookup div sẽ trả về token div do đó div không thể được dùng làm danh biểu. Với phương pháp vừa trình bày thì tập các từ khóa được lưu trữ trong bảng ký hiệu trước khi việc phân tích từ vựng diễn ra. Ta cũng có thể lưu trữ các từ khóa bên ngoài 30 bảng ký hiệu như là một danh sách có thứ tự của các từ khóa. Trong quá trình phân tích từ vựng khi một trị từ vựng được xác định thì ta phải tìm nhị phân trong danh sách các từ khóa xem có trị .

Không thể tạo bản xem trước, hãy bấm tải xuống
TÀI LIỆU MỚI ĐĂNG
9    96    2    15-05-2024
44    325    1    15-05-2024
Đã 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.