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

XÂY DỰNG CÂY CÚ PHÁP Cây cú pháp (syntax - tree) là dạng rút gọn của cây phân tích cú pháp dùng để biểu diễn cấu trúc ngôn ngữ. • Trong cây cú pháp các toán tử và từ khóa không phải là nút lá mà là các nút trong. Ví dụ với luật sinh S ( if B then S1 else S2 được biểu diễn bởi cây cú pháp: if - then - else B S1 S2 • Một kiểu rút gọn khác của cây cú pháp là chuỗi các luật sinh đơn được rút gọn lại. Chẳng hạn. | II. XÂY DỰNG CÂY CÚ PHÁP Cây cú pháp syntax - tree là dạng rút gọn của cây phân tích cú pháp dùng để biểu diễn cấu trúc ngôn ngữ. Trong cây cú pháp các toán tử và từ khóa không phải là nút lá mà là các nút trong. Ví dụ với luật sinh S if B then S1 else S2 được biểu diễn bởi cây cú pháp if - then - else B s S2 Một kiểu rút gọn khác của cây cú pháp là chuỗi các luật sinh đơn được rút gọn lại. Chẳng hạn ta có được rút gọn từ 1. Xây dựng cây cú pháp cho biểu thức Tương tự như việc dịch một biểu thức thành dạng hậu tố. Xây dựng cây con cho biểu thức con bằng cách tạo ra một nút cho toán hạng và toán tử. Con của nút toán tử là gốc của cây con biểu diễn cho biểu thức con toán hạng của toán tử đó. Mỗi một nút có thể cài đặt bằng một mẩu tin có nhiều trường. Trong nút toán tử có một trường chỉ toán tử như là nhãn của nút các trường còn lại chứa con trỏ trỏ tới các nút toán hạng. Để xây dựng cây cú pháp cho biểu thức chúng ta sử dụng các hàm sau đây 1. mknode op left right Tạo một nút toán tử có nhãn là op và hai trường chứa con trỏ trỏ tới con trái left và con phải right. 120 2. mkleaf id entry Tạo một nút lá với nhãn là id và một trường chứa con trỏ entry trỏ tới ô trong bảng ký hiệu. 3. mkleaf num val Tạo một nút lá với nhãn là num và trường val giá trị của số. Ví dụ Để xây dựng cây cú pháp cho biểu thức a - 4 c ta dùng một dãy các lời gọi các hàm nói trên. 1 p1 mkleaf id entrya 4 p4 mkleaf id entryc 2 p2 mkleaf num 4 5 p5 mknode p3 p4 3 p3 mknode - p1 p2 Cây được xây dựng từ dưới lên entrya là con trỏ trỏ tới ô của a trong bảng ký hiệu entryc là con trỏ trỏ tới ô của c trong bảng ký hiệu entrya Hình Cây cú pháp cho biểu thức a - 4 c 2. Xây dựng cây cú pháp từ định nghĩa trực tiếp cú pháp Căn cứ vào các luật sinh văn phạm và luật ngữ nghĩa kết hợp mà ta phân bổ việc gọi các hàm mknode và mkleaf để tạo ra cây cú pháp. Ví dụ Định nghĩa trực tiếp cú pháp giúp việc xây dựng cây cú pháp cho biểu thức là Luật sinh Luật ngữ nghĩa E E1 T mknode

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.