
Cú pháp
•Là khuôn dạng hay cấu trúc của chương trình
•Không liên quan đến ý nghĩa chương trình
•Được mô tả bằng văn phạm phi ngữ cảnh
Tại sao chúng ta sử dụng văn phạm phi ngữ
cảnh (VPPNC) cho phân tích cú pháp
•Cho phép mô tả rõ ràng và dễ hiểu cú pháp một ngôn ngữ
lập trình
•Dễ sửa đổi và mở rộng ngôn ngữ lập trình
•Dễ tạo ra các bộ parser
•Cho phép dịch dựa vào cú pháp
15/11/15 2
Nguyễn Phương Thái - Coltech - Compiler 2009

Văn phạm
Phân loại văn phạm của Chomsky
Cây phân tích, dẫn xuất, và văn phạm nhập
nhằng
Ôtômát đẩy xuống
15/11/15 3
Nguyễn Phương Thái - Coltech - Compiler 2009

Một ngôn ngữ L trên bộ chữ Σ là một tập con
của Σ*.
Bài toán đối với L:
•Cho một xâu w, xâu w có thuộc L?
•Làm thế nào để sinh ra w trong L?
15/11/15 4
Nguyễn Phương Thái - Coltech - Compiler 2009

Thường dùng: văn phạm
•Là một công cụ mô tả hữu hạn ngôn ngữ rất hiệu
quả
•Là công cụ có định nghĩa toán học chặt chẽ, đã được
nghiên cứu kỹ
văn phạm = ngữ pháp = cú pháp
15/11/15 5
Nguyễn Phương Thái - Coltech - Compiler 2009