nhận lại các thông tin ngữ cảnh để giúp thông báo lỗi trực quan hơn (chẳng hạn như ghi lại số dòng số cột của từ vựng, giúp báo lỗi chính xác hơn). Bộ PTTV trong nhiều thiết kế còn t[r]
(1)CHƯƠNG TRÌNH DỊCH
(2)Nội dung
1 Vai trị phân tích từ vựng
2 Nhiệm vụ phân tích từ vựng
3 Các mục tiêu phân tích từ vựng
4 Đầu vào đầu phân tích từ vựng
5 Các bước xây dựng phân tích từ vựng
6 Biểu diễn từ vựng biểu thức quy
7 Lỗi ngoại lệ phân tích từ vựng
(3)Vai trị phân tích từ
vựng (PTTV)
(4)Cấu trúc chương trình dịch
Phân tích từ vựng
Phân tích cú pháp Phân tích ngữ nghĩa
Sinh mã trung gian Tối ưu mã trung gian
Sinh mã đích Mã nguồn
Bộ quản lý
kí hiệu
Phân tích
(5)Vai trị phân tích từ vựng
Phân tích từ vựng pha trình dịch
PTTV nhận liệu đầu vào mã nguồn cần dịch
và chuyển đổi thành dãy từ tố (cùng với thơng tin kèm theo)
Có nhiều quan điểm tương tác PTTV
và phân tích cú pháp
Thiết kế cổ điển: coi PTTV tiến trình song song phụ thuộc vào phân tích cú pháp
(6)Vai trị phân tích từ vựng
Trong thiết kế cổ điển, PTTV đóng vai trò
cung cấp liệu cho phân tích cú pháp
Bộ phân tích cú pháp yêu cầu PTTV lấy từ tố Bộ PTTV đọc chương trình nguồn từ đầu từ vị trí
đang phân tích lần gọi trước, tách lấy từ tố trả lại cho phân tích cú pháp
(7)Vai trị phân tích từ vựng
Trong thiết kế hơn, PTTV có xu hướng
đứng tách độc lập, việc có nhiều lợi ích:
Thiết kế theo hướng module hóa, đơn giản
Tăng hiệu hoạt động PTTV, chẳng hạn PTTV độc lập xử lý macro, xử lý khoảng trắng, ghi chú,…
Tối ưu hoạt động trình dịch, PTTV sau hoạt động giải phóng tài ngun mà sử dụng thay giữ lại lúc với phân tích cú pháp
(8)Nhiệm vụ phân tích từ vựng
(9)Nhiệm vụ phân tích từ vựng
PTTV đóng vai trị chuẩn hóa liệu
đầu vào, ngồi giúp hạn chế lỗi (viết sai luật, sai từ khóa, sai cấu trúc,…)
Các nhiệm vụ (nhất thiết phải có để đảm bảo
hoạt động chương trình dịch):
Đọc chương trình nguồn, loại bỏ kí hiệu vơ ích (khoảng trắng, dấu tab, xuống dòng, ghi chú,…) Phát số lỗi từ vựng
Xác định nội dung từ vựng Xác định từ loại từ vựng
(10)Nhiệm vụ phân tích từ vựng
Để hỗ trợ cho việc báo lỗi có, PTTV cịn ghi
nhận lại thơng tin ngữ cảnh để giúp thông báo lỗi trực quan (chẳng hạn ghi lại số dòng số cột từ vựng, giúp báo lỗi xác hơn)
Bộ PTTV nhiều thiết kế cịn thực
cơng việc hỗ trợ cho soạn thảo mã nguồn
Hỗ trợ hàm tiền xử lý (các macro văn bản)
Hỗ trợ việc định dạng mã nguồn, khiến việc viết mã trở nên trực quan