1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng xây dựng chương trình dịch bài 2 các giai đoạn chính của chương trình dịch

23 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Bài Các giai đoạn chương trình dịch Các thành phần trình biên dịch Các giai đoạn trình biên dịch • Phân tích từ vựng (Lexical Analysis - Scanner) Lần lượt xem xét ký tự chương trình nguồn, phân nhóm chúng thành đơn vị cú pháp gọi từ tố (token) • Phân tích cú pháp (Syntax Analysis) Dãy token phân tích từ vựng đưa kiểm tra xem có cú pháp khơng? Các giai đoạn trình biên dịch • Phân tích ngữ nghĩa (Semantic Analysis) phân tích ý nghĩa lệnh ngơn ngữ nguồn • Sinh mã trung gian (Intermediate Code Generation)thường mã địa Mã trung gian không phụ thuộc máy nên dễ tối ưu Các giai đoạn trình biên dịch • Sinh mã đích: Sinh lệnh máy để thực thao tác • Tối ưu mã: Thực với mã trung gian mã đích nhằm làm cho chương trình hiệu Tập luật văn phạm  id :=  +  *  id  num Quá trình dịch câu lệnh Pha 1:Phân tích từ vựng • Bộ từ vựng:Chương trình làm nhiệm vụ phân tích từ vựng • Các cơng việc từ vựng Nhóm ký tự thành từ tố Từ tố :đơn vị cú pháp xử lý trình dịch thực thể khơng thể chia nhỏ Nhóm từ tố theo loại Một số loại từ tố Loại từ tố (token) Thể (Lexeme) • Định danh • Từ khóa • Số • Tốn tử • Dấu phân cách • a, chuongtrinh, x1 • if, else, for • -1, -2.3E10 • +, -, *, /, =, ==, >> • :, ;, (, ) Pha 2: Phân tích cú pháp • Trình biên dịch kiểm tra xem từ tố mà từ vựng nhận biết có kết hợp thành câu lệnh cú pháp khơng • Do phân tích cú pháp đảm nhận Pha 2: Phân tích cú pháp • Đầu phân tích cú pháp: • Cây phân tích cú pháp (nếu có) • Thơng báo lỗi ngược lại • Việc xây dựng phân tích cú pháp chứng tỏ chương trình cú pháp 10 Cây phân tích cú pháp câu lệnh Position := Inition + Rate * 60 11 Văn phạm, ngôn ngữ, BNF, sơ đồ cú pháp • Cú pháp • Cấu trúc văn phạm ngơn ngữ • Bộ phân tích cú pháp cần đưa phân tích cho câu ngơn ngữ (chương trình) • BNF : Dạng chuẩn để mơ tả văn phạm ngơn ngữ • Sơ đồ cú pháp:cách mô tả văn phạm trực quan dạng đồ thị định hướng 12 Biểu diễn văn phạm BNF • Các luật BNF văn phạm hình thức sử dụng loại ký hiệu vế phải • Ký hiệu kết thúc : • Từ tố ngơn ngữ • Khơng xuất vế trái • Ký hiệu khơng kết thúc • Ký hiệu trung gian văn phạm để mô tả cấu trúc ngơn ngữ • Cần xuất vế trái luật • Bao cặp 13 Biểu diễn văn phạm BNF • Ký hiệu đầu : • Ký hiệu khơng kết thúc mức cao • Xuất gốc cú pháp Ví dụ: xét tập luật BNF  id :=  +  *  id  num Cho biết tập ký hiệu kết thúc, không kết thúc, ký hiệu đầu? 14 Khái niệm kỹ thuật phân tích cú pháp • Bằng cách áp dụng liên tục luật mô tả văn phạm • Nếu PTCP chuyển thành cơng từ xâu vào thành ký hiệu đầu xâu vào cú pháp • Ngược lại, câu xem xét không cú pháp 15 Khái niệm kỹ thuật phân tích cú pháp • Vấn đề quan trọng xây dựng trình biên dịch xây dựng văn phạm • Bao gồm đầy đủ cấu trúc chương trình • Khơng thể tạo nên luật khác 16 Khái niệm kỹ thuật phân tích cú pháp • Văn phạm phải khơng nhập nhằng • Nếu văn phạm nhập nhằng, xây dựng nhiều cho câu đưa phân tích 17 Pha 3: Phân tích ngữ nghĩa • Duyệt cú pháp chương trình để xem cấu trúc ngữ nghĩa có khơng • Chương trình cú pháp ngữ nghĩa sinh mã 18 Pha 4: Sinh mã trung gian • Chương trình với mã nguồn chuyển sang chương trình tương đương ngôn ngữ trung gian sinh mã trung gian • Mã trung gian mã máy độc lập tương tự với tập lệnh máy 19 Ưu điểm mã trung gian 1.Thuận lợi cần thay đổi cách biểu diễn chương trình đích 2.Có thể tối ưu hóa mã độc lập với máy đích cho dạng biểu diễn trung gian 3.Giảm thời gian thực thi chương trình đích mã trung gian tối ưu 20 Ngôn ngữ trung gian  Được người thiết kế trình biên dịch định, là:  Cây cú pháp  Ký pháp Ba Lan sau (hậu tố)  Mã địa … 21 Pha 5: Sinh mã đích • Vào: biểu diễn trung gian chương trình nguồn • Ra: chương trình đích • Mã Assembly • Mã mơ máy đích ảo 22 Các vấn đề thiết kế sinh mã đích • • • • • Input Output Lựa chọn câu lệnh Cấp phát ghi Máy đích 23

Ngày đăng: 10/10/2023, 18:49

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN