4. Các chức năng của một chương trình biên dịch
4.7. Sinh mã đối tượng
- Giai đoạn cuối của trình biên dịch.
- Mã đối tượng có thể là mã máy, hợp ngữ hay
một ngôn ngữ khác ngôn ngữ nguồn.
Các pha (giai đoạn) có thể thực hiện song hành Một vài pha có thể ghép lại thành lượt (chuyến) Một lượt sẽ đọc toàn bộ CT nguồn hay một dạng
trung gian của CT nguồn, sau đó ghi kết quả để lượt sau đọc và xử lý tiếp.
Giáo trình Kiến trúc máy tính và Hệ điều hành
27
4. Các chức năng của một chương trình biên dịch
Ví dụ: a:=(b+c)*6 5 Bộ PTTV id1:=(id2+id3)*Num4 Bộ PTCP n1 id1 := n2 * n3 id2 Num4 id3 + Bộ PTNN n1 id1 := n2 * n3 id2 Intoreal(65) id3 +
Bộ sinh mã trung gian
Temp1:=intoreal(65) Temp2:=id2+id3 Temp3:=temp2*temp1 Id1:=temp3
Bộ tối ưu sinh mã trung gian
Temp1:=id2+id3 Id1:=temp1*65.0
Bộ sinh mã đối tượng
MovF id2, R1 MovF id3, R2 Add R2, R1 Mult #65.0, R1 MovF R1, id1
Giáo trình Kiến trúc máy tính và Hệ điều hành
28- Mục đích - Mục đích
- Nội dung
- Otomat hữu hạn đơn định - Bộ phân tích từ vựng
Giáo trình Kiến trúc máy tính và Hệ điều hành
29
1. Mục đích
- Chia cắt xâu vào (CT nguồn) thành dãy các
từ tố.
- Hai cách cài đặt
• Sử dụng một lượt cho việc phân tích từ
vựng dãy các token phân tích cú pháp.
• Phân tích từ vựng dùng chung một lượt
với phân tích cú pháp. Một lần chỉ phát hiện 1 token gọi là từ tố tiếp đến.
Giáo trình Kiến trúc máy tính và Hệ điều hành
30
2. Nội dung
- Đọc xâu vào từng ký tự một gom lại
thành token đến khi gặp ký tự không thể kết hợp thành token.
- Luôn luôn đọc trước một ký tự.
- Loại bỏ các ký tự trống và chú thích.
- Chuyển những thông tin của những từ tố
(văn bản, mã phân loại) vừa phát hiện cho bộ phân tích cú pháp.
Giáo trình Kiến trúc máy tính và Hệ điều hành
31
2. Nội dung
- Sự giao tiếp giữa bộ phân tích từ vựng và bộ
phân tích cú pháp CT nguồn Bộ phân tích từ vựng Gửi token Bộ phân tích cú pháp Yêu cầu token
Bảng danh biểu
Giáo trình Kiến trúc máy tính và Hệ điều hành
32
3. Otomat hữu hạn đơn định