Bộ sinh thể nhận nguyên liệu (scanner generator) Chúng tạo ra các thể phân từ

Một phần của tài liệu Tổng quan về biên dịch (Trang 25 - 26)

vựng một cách tự động, thường qua một. đặc tả dựa trên các biểu thức chính qui

một automat hữu hạn. Một bộ sinh thể nhận nguyên liệu và việc cài đặt nó được

thảo luận trong Phần 3.5 và 3.8.

3. Động cơ dịch dựa cú pháp (syntax-directed translation engine). Chúng tạo ra các

thủ tục đuyệt cây phân tích cú pháp, như ở Hình 1.4, và sinh mã trung gian. X

tưởng cơ bản là một hoặc nhiều "bán địch" được liên kết với mỗi nút của cây phân

tích cú pháp, và mỗi bản dịch được định nghĩa theo các bản dịch tại các nút lân cận của nó trong cây. Những động cơ như thế được thảo luận trong Chương õ. 4. Bộ tự động sinh mã (automatic code generator). Một công cụ như thế nhận một

tập qui tắc định nghĩa phương pháp địch mỗi thao tác trong ngôn ngữ trung gian thành ngôn ngữ máy cho máy đích. Những qui tắc này phải chứa đủ chỉ tiết để

chúng ta có thể xử lý được các phương pháp truy xuất đữ liệu khác nhau; thí dụ các

biến có thê nằm trong các thanh ghỉ (register), ở một vị trí cố định (tĩnh) trong bộ

nhớ, hoặc có thể được cấp phát một vị trí trên chồng xếp (stack). Kỳ thuật cơ bản là "đối sánh mẫu", Các lệnh của mã trung gian được thay bằng các mầu biểu diễn các chuỗi chỉ thị máy sao cho các giả thiết về không gian lưu trừ các biến tương hợp giữa mẫu này với mẫu khác. Vì thường có nhiều chọn lựa liên quan đến vị trí đặt các biến (thí dụ ở một trong số thanh ghi boặc trong bộ nhớ), có nhiều cách có thể bố trí mã trung gian với một tập khuôn mẫu đã cho, và chúng ta cần chọn ra được một cách bố trí thích hợp mà không bị bùng nổ tổ hợp về thời gian chạy của

trình biên dịch. Các công cụ thuộc loại này được để cập đến trong Chương 9 (Tập 1U.

5. Động cơ phân tích dòng dữ liệu (data-flow engine). Nhiễu thông tin cần cho việc tối ưu hóa mã đều cần phải phân tích dòng dữ liệu, là việc thu thập thông tin về cách thức truyền giá trị từ phần này của chương trình đến mỗi phần khác. Các tác vụ thuộc loại này có thể được thực hiện chủ yếu bằng một thủ tục giống nhau, trong đó người sử dụng sẽ cung cấp các chỉ tiết về mối liên hệ giữa các cầu lệnh

mã trung gian và thông tỉn cẩn thu thập. Một công cụ thuộc loại này được mô tả

trong Phần 10.11.

Một phần của tài liệu Tổng quan về biên dịch (Trang 25 - 26)

Tải bản đầy đủ (PDF)

(27 trang)