Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 62 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
62
Dung lượng
867 KB
Nội dung
1 CHƯƠNG 3 PHÂN TÍCH TỪVỰNG Số tiết: 45t GV: Ths. Lê Ngọc Sơn Email: lengocson@hui.edu.vn 2 Vai trò của bộ phân tích từ vựng 1. Token, mẫu, trị từ vựng: 3 Sự giao tiếp giữa bộ phân tích từ vựng và bộ phân tích cú pháp 4 CÁC TÍNH CHẤT CỦA TOKEN Phân tích từ vựng phải có nhiệm vụ chọn thông tin có liên quan đến token, để cất chúng vào bảng danh biểu (Ví dụ trị từ vựng). Token luôn mang trong mình một thuộc tính duy nhất là con trỏ để chỉ đến vị trí của nó trong bảng danh biểu. Khi một token được chuyển đến bộ phân tích cú pháp nó sẽ có dạng. <Token, thuộc tính> 5 CHỨA TẠM CHƯƠNG TRÌNH NGUỒN Cặp bộ đệm: Cấu tạo: 6 Quy trình hoạt động Giải thuật: if p2 ở ranh giới một nửa bộ đệm then begin lấp đầy N ký hiệu nhập mới vào nửa bên phải. p2 := p2 + 1; end else if p2 ở tận cùng bên phải bộ đệm then begin lấp đầy N kỳ hiệu nhập vào nửa bên trái bộ đệm. chuyển p2 về ký tự tận cùng bên trái của bộ đệm. end else p2 := p2 + 1; 7 Phương pháp cầm canh 8 Phương pháp cầm canh Giải thuật: p2 := p2 + 1; If p2 ^ eof then if p2 ở ranh giới một nửa bộ đệm then begin chất đầy N kỳ hiệu nhập vào nửa bên phải bộ đệm ; p2 := p2 + 1 end 9 Phương pháp cầm canh else if p2 ở tận cùng bên phải bộ đệm then begin lấp đầy N ký hiệu vào nửa bên trái bộ đệm; chuyển p2 về đầu bộ đệm end else /* dừng sự phân tích từ vựng*/ 10 Đặc tả token Các quy tắc định nghĩa biểu thức chính quy 1. là biểu thức chính quy, biểu thị cho tập { } 2. a là ký hiệu thuộc , biểu thị cho tập {a} 3. r và s là hai biểu thức chính quy, biểu thị cho L(r) và L(s) thì: a) (r)|(s) là biểu thức chính quy, biểu thị cho L(r)| L(s). b) (r)(s) là biểu thức chính quy, biểu thị cho L(r)L(s). c) (r)* là biểu thức chính quy, biểu thị cho (L(r))*. d) r là biểu thức chính quy, biểu thị cho L(r). ∈ ∑ ∈ [...]... 30 Từ biểu thức chính quy đến NFA Xây dựng NFA từ biểu thức chính quy Giải thuật 3.3: Xây dựng NFA từ biểu thức chính quy (Cấu trúcThompson’) Nhập: Biểu thức chính quy r trên ∑ Xuất: NFA nhận dạng ngôn ngữ L(r) 31 Phương pháp Quy tắc: 32 Phương pháp Giả sử N(s) và N(t) là NFA cho biểu thức chính quy s và t 33 Phương pháp 34 Phương pháp 35 Thí dụ Dùng giải thuật để xây dựng NFA cho biểu thức chính... (a|b) |(b|a) biểu thị cho tập {aa,ab,ba,bb} 3 a* biểu thị cho tập {∈ ,a,aa,aaa,… } Hai biểu thức chính quy tương đương r và s, ký hiệu r = s 11 Định nghĩa chính quy Nếu ∑ là tập ký hiệu căn bản, thì định nghĩa chính quy là chuỗi định nghĩa có dạng: d1->r1 …… dn->rn di là tên của biểu thức chính quy ri ri là biểu thức chính quy trên các ký hiệu thuộc ( ∑ U{d1,d2…di-1}) 12 Định nghĩa chính quy 13 Nhận dạng... một cạnh có tên a xuất phát từ S 23 Automat hữu hạn tất định (DFA) 24 Chuyển NFA sang DFA Giải thuật 3.2: Xây dựng tập con (Tạo DFA từ NFA) Nhập: Cho NFA gọi là N Xuất: DFA gọi là D, nhận dạng cùng ngôn ngữ như NFA Phương pháp: Xây dựng bảng truyền cho D Mỗi trạng thái của D là tập trạng thái của N D mô phỏng đồng thời mọi chuyển động của N trên chuỗi nhập cho trước bằng các tác vụ: ∈ -closure (s); . 1 CHƯƠNG 3 PHÂN TÍCH TỪVỰNG Số tiết: 45t GV: Ths. Lê Ngọc Sơn Email: lengocson@hui.edu.vn 2 Vai trò của bộ phân tích từ vựng 1. Token, mẫu, trị từ vựng: 3 Sự giao tiếp giữa bộ. biểu thị cho L(r). ∈ ∑ ∈ 11 Đặc tả token Thí dụ 3. 1: Cho = {a, b} 1. a|b biểu thị cho tập {a,b} 2. (a|b) |(b|a) biểu thị cho tập {aa,ab,ba,bb} 3. a* biểu thị cho tập { ,a,aa,aaa,… } Hai biểu. tất định (NFA) Thí dụ: Cho NFA: Tập trạng thái S = {0, 1,2, 3} ; = {a, b}; Trạng thái bắt đầu So = 0; Tập trạng thái kết thúc F = {3} . ∑ 20 Automat hữu hạn