như tập số tự nhiên), không thể liệt kê bởi từ điển, lúc này ta cần hình thức hóa các chuỗi w thuộc L bằng cách chỉ ra các đặc điểm của các chuỗi đó. Chẳng hạn: L = { w * | số k[r]
(1)CHƯƠNG TRÌNH DỊCH
(2)Nội dung
1 Ngôn ngữ biểu diễn ngôn ngữ
2 Các lớp văn phạm (phân loại chomsky)
3 Văn phạm quy automat hữu hạn
4 Văn phạm phi ngữ cảnh automat đẩy xuống
5 Văn phạm có đệ quy trái
6 Văn phạm đơn nghĩa
(3)Ngôn ngữ biểu diễn ngôn ngữ
(4)Ngơn ngữ
Kí hiệu (symbol): khái niệm sở để xây dựng
ngôn ngữ, định nghĩa cách hình thức
Các chữ số, chữ cái, dấu kí hiệu,…
Bộ chữ (alphabet): tập hợp hữu hạn kí hiệu
Bộ chữ tiếng Việt (a, ă, â,…, x, y, A, Ă,…, Y)
Chuỗi (string): dãy hữu hạn ký hiệu thuộc
một ký hiệu
“2016” chuỗi gồm ký hiệu thuộc ký hiệu chữ số
“2016” gọi chuỗi sinh bởi ký hiệu chữ số
(5)Ngôn ngữ
Ngôn ngữ (language): tập hợp chuỗi
Ngôn ngữ tiếng Việt tập số chuỗi sinh chữ tiếng Việt
Có chuỗi sinh từ chữ tiếng Việt không thuộc ngôn ngữ tiếng Việt (chẳng hạn chuỗi “lẫnh”)
Chuỗi thuộc ngôn ngữ tiếng Việt sinh chữ tiếng Việt
Tổng quát:
Cho chữ
* tập tất chuỗi sinh từ (gồm )
(6)Biểu diễn ngôn ngữ
Định nghĩa ngôn ngữ L tập *
q trừu tượng khơng có ý nghĩa thực tế, khó sử dụng với thuật tốn
Cần có phương pháp biểu diễn ngơn ngữ có tính
hình thức
Nếu kích cỡ ngôn ngữ L đủ nhỏ, ta việc liệt kê
mọi chuỗi L
(7)Biểu diễn ngôn ngữ
Nếu ngôn ngữ L lớn vô hạn (chẳng hạn
như tập số tự nhiên), liệt kê từ điển, lúc ta cần hình thức hóa chuỗi w thuộc L cách đặc điểm chuỗi
Chẳng hạn: L = { w * | số ký hiệu = số ký hiệu }
Biểu diễn L văn phạm nhiều
phương pháp biểu diễn ngơn ngữ, phương pháp ưa thích có lợi thế:
Tính chặt chẽ, vạn
(8)Biểu diễn ngôn ngữ
Bài tốn biểu diễn ngơn ngữ:
1 Ngơn ngữ L sinh , cho chuỗi w thuộc *, hỏi w có thuộc L hay khơng?
2 Nếu w thuộc L, w tạo từ quy tắc nào?
Bài toán số có liên hệ với việc phân tích văn
phạm chương trình dịch
Hai tốn không giải trường hợp
tổng quát, giải số tình
(9)Văn phạm
Văn phạm G hệ thống (, , P, S) đó:
tập hữu hạn ký hiệu kết thúc (terminal)
tập hữu hạn ký hiệu khơng kết thúc
(nonterminal)
• Cịn gọi ký hiệu trung gian hay biến •
S gọi ký hiệu khởi đầu (initial)
P tập hữu hạn cặp chuỗi (, ) gọi luật văn
phạm (syntax rule) hay luật sinh
• Thường viết
(10)Ngôn ngữ sinh văn phạm
Suy dẫn (sinh):
Chuỗi gọi suy dẫn trực tiếp từ áp dụng luật , ký hiệu
• Việc áp dụng luật việc thay chuỗi chuỗi ban đầu vế phải luật
Nếu từ A áp dụng liên tiếp số suy dẫn B ta gọi B suy dẫn gián tiếp từ A, kí hiệu A * B
Ngôn ngữ văn phạm G tập hợp chuỗi
chứa kí hiệu kết thúc sinh (trực tiếp gián tiếp) từ S, kí hiệu L(G)