Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.27 MB, 268 trang )
TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƯƠNG 2. PHÂN TÍCH TỪ VỰNG
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
29
hiện 1 token gọi là từ tố tiếp đến.
TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƯƠNG 2. PHÂN TÍCH TỪ VỰNG
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ỏ ký tự trống và xác định 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.
- Phát hiện lỗi.
30
TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƯƠNG 2. PHÂN TÍCH TỪ VỰNG
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
Yêu cầu token
Bộ
phân tích
cú pháp
Bảng
danh biểu
31
TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƯƠNG 2. PHÂN TÍCH TỪ VỰNG
3. Otomat hữu hạn đơn định
3.1. Định nghĩa: M(Σ, Q, δ, q0, F)
Σ: bộ chữ vào
Q: tập hữu hạn các trạng thái
q0 ∈ Q: trạng thái đầu
F ⊆ Q: tập các trạng thái kết thúc
δ: hàm chuyển trạng thái có dạng δ(q,a)=p
Với q,p ∈ Q, a ∈ Σ
δ(q,a)=p: nghĩa là ở trạng thái q, đọc a, chuyển
32
sang trạng thái p
TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƯƠNG 2. PHÂN TÍCH TỪ VỰNG
3. Otomat hữu hạn đơn định
3.2. Biểu diễn các hàm chuyển trạng thái
Dùng bảng: sử dụng ma trận δ có:
- Chỉ số hàng: trạng thái
- Chỉ số cột: ký hiệu vào
- Giá trị tại hàng q, cột a là trạng thái p,
sao cho δ(q,a)=p
33
TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƯƠNG 2. PHÂN TÍCH TỪ VỰNG
3. Otomat hữu hạn đơn định
3.2. Biểu diễn các hàm chuyển trạng thái
Dùng bảng:
Ví dụ: có hàm chuyển của một Otomat như
sau: δ(1,a)=2, δ(2,b)=2, δ(2,c)=2
δ
a
1
2
2
b
c
2
2
34
TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƯƠNG 2. PHÂN TÍCH TỪ VỰNG
3. Otomat hữu hạn đơn định
3.2. Biểu diễn các hàm chuyển trạng thái
Hình vẽ:
- mỗi trạng thái q∈Q được đặt trong các vòng
tròn.
- Trạng thái bắt đầu q0 có thêm dấu ‘>’ ở đầu.
- Trạng thái kết thúc q∈F được đặt trong vòng
tròn kép.
- Các cung nối từ trạng thái q sang trạng35
thái p
có mang các nhãn a∈Σ, có nghĩa δ(q,a)=p
TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƯƠNG 2. PHÂN TÍCH TỪ VỰNG
3. Otomat hữu hạn đơn định
3.2. Biểu diễn các hàm chuyển trạng thái
Hình vẽ:
Ví dụ: có hàm chuyển của một Otomat như
sau: δ(1,a)=2, δ(2,b)=2, δ(2,c)=2
b
1
a
2
c
36
TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƯƠNG 2. PHÂN TÍCH TỪ VỰNG
3. Otomat hữu hạn đơn định
3.2. Biểu diễn các hàm chuyển trạng thái
Nhận xét:
- Biểu diễn hàm chuyển trạng thái bằng hình
vẽ có ưu điểm hơn. Trong hình vẽ ta xác
định đầy đủ tất cả các thành phần của
Otomat.
- Biểu diễn bằng bảng xác định hàm chuyển
trạng thái, tập các trạng thái, bộ chữ vào
nhưng không phân biệt được trạng thái37bắt
đầu và trạng thái kết thúc.
TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƯƠNG 2. PHÂN TÍCH TỪ VỰNG
3. Otomat hữu hạn đơn định
3.3. Hoạt động của Otomat
- Đọc các ký hiệu của xâu vào từ trái sang phải,
bắt đầu từ trạng thái q0.
- Mỗi bước đọc một ký hiệu thì chuyển sang
trạng thái theo δ. Có thể đọc xong hay không
đọc xong xâu vào.
38
TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƯƠNG 2. PHÂN TÍCH TỪ VỰNG
3. Otomat hữu hạn đơn định
3.3. Hoạt động của Otomat
- Đọc xong xâu vào đến một trạng thái p∈F
thì xâu vào được đoán nhận (xâu đúng).
- Đọc xong xâu vào mà rơi vào trạng thái p∉F
thì xâu vào không được đoán nhận.
- Không đọc xong xâu vào (do δ rơi vào điểm
không xác định) thì xâu vào không được
đoán nhận.
39