Bài giảng môn học Trình biên dịch - Chương 3: Phân tích từ vựng
Số trang: 33
Loại file: pdf
Dung lượng: 169.22 KB
Lượt xem: 12
Lượt tải: 0
Xem trước 4 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng chương 3 trình bày những nội dung cơ bản như: Vai trò cuả bộ phân tích từ vựng, các tính chất của token, chứa tạm chương trình nguồn, đặc tả token, nhận dạng token, sơ đồ dịch,... Mời các bạn cùng tham khảo để biết thêm chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng môn học Trình biên dịch - Chương 3: Phân tích từ vựng CHÖÔNG 3 PHAÂN TÍCH TÖØ VÖÏNG 3.1. Vai troø cuaû boä phaân tích töø vöïng 1. Token, maãu, trò töø vöïng Baûng 3.1 Baûng danh bieåu cuûa token Token const if then ralation num id Trò töø vöïng const if then < , < =, < >, = , > = 3.14, 2.5, 7.6 abc, ou, bc1… literal ‘abcef’ YÙ nghóa cuûa maãu const if then caùc toaùn töû quan heä haèng soá baát kyø chuoãi goàm kyù töï chöõ vaø soá, baét ñaàu laø kyù töï chöõ laø chuoãi kyù töï baát kyø naèm giöõa 2 daáu ‘ Chöông trình nguoàn Boä phaân tích töø vöïng token yeâu caàu token Boä phaân tích CP Baûng danh bieåu Hình 3.1. Söï giao tieáp giöõa boä phaân tích töø vöïng vaø boä phaân tích cuù phaùp 3.2. CAÙC TÍNH CHAÁT CUÛA TOKEN 3.3. CHÖÙA TAÏM CHÖÔNG TRÌNH NGUOÀN 1. Caëp boä ñeäm Caáu taïo A : p1 = B * . - 2 eof p2 Hình 3.2. Caëp boä ñeäm Quy trình hoaït ñoäng Giaûi thuaät: if p2 ôû ranh giôùi moät nöûa boä ñeäm then begin laáp ñaày N kyù hieäu nhaäp môùi vaøo nöûa beân phaûi p2 := p2 + 1; end else if p2 ôû taän cuøng beân phaûi boä ñeäm then begin laáp ñaày N kyø hieäu nhaäp vaøo nöûa beân traùi boä ñeäm chuyeån p2 veà kyù töï taän cuøng beân traùi cuûa boä ñeäm end else p2 := p2 + 1; 2. Phöông phaùp caàm canh A B * X EOF - 2 EOF : = N kyù töï p1 p2 EOF N kyù töï Hình 3.3. Caëp boä ñeäm theo phöông phaùp caàm canh Giaûi thuaät: p2 := p2 + 1; if p2 ^ eof then if p2 ôû ranh giôùi moät nöûa boä ñeäm then begin chaát ñaày N kyø hieäu nhaäp vaøo nöûa beân phaûi boä ñeäm; p2 := p2 + 1 end else if p2 ôû taän cuøng beân phaûi boä ñeäm then begin laáp ñaày N kyù hieäu vaøo nöû beân traùi boä ñeäm; chuyeån p2 veà ñaàu boä ñeäm end else /* döøng söï phaân tích töø vöïng */ 3.4. Ñaëc taû token Caùc quy taéc ñònh nghiaõ bieåu thöùc chính quy 1. ∈ laø bieåu thöùc chính quy, bieåu thò cho taäp {∈} 2. a laø kyù hieäu thuoäc Σ, bieåu thò cho taäp {a} 3. r vaø s laø hai bieåu thöùc chính quy, bieåu thò cho L (r) vaø L (s) thì: ø a) (r) | (s) laø bieåu thöùc chính quy, bieåu thò cho L(r) ∪ L(s). b) (r) (s) laø bieåu thöùc chính quy, bieåu thò cho L(r) L(s). c) (r)* laø bieåu thöùc chính quy, bieåu thò cho (L(r))*. d) r laø bieåu thöùc chính quy, bieåu thò cho L(r).
Nội dung trích xuất từ tài liệu:
Bài giảng môn học Trình biên dịch - Chương 3: Phân tích từ vựng CHÖÔNG 3 PHAÂN TÍCH TÖØ VÖÏNG 3.1. Vai troø cuaû boä phaân tích töø vöïng 1. Token, maãu, trò töø vöïng Baûng 3.1 Baûng danh bieåu cuûa token Token const if then ralation num id Trò töø vöïng const if then < , < =, < >, = , > = 3.14, 2.5, 7.6 abc, ou, bc1… literal ‘abcef’ YÙ nghóa cuûa maãu const if then caùc toaùn töû quan heä haèng soá baát kyø chuoãi goàm kyù töï chöõ vaø soá, baét ñaàu laø kyù töï chöõ laø chuoãi kyù töï baát kyø naèm giöõa 2 daáu ‘ Chöông trình nguoàn Boä phaân tích töø vöïng token yeâu caàu token Boä phaân tích CP Baûng danh bieåu Hình 3.1. Söï giao tieáp giöõa boä phaân tích töø vöïng vaø boä phaân tích cuù phaùp 3.2. CAÙC TÍNH CHAÁT CUÛA TOKEN 3.3. CHÖÙA TAÏM CHÖÔNG TRÌNH NGUOÀN 1. Caëp boä ñeäm Caáu taïo A : p1 = B * . - 2 eof p2 Hình 3.2. Caëp boä ñeäm Quy trình hoaït ñoäng Giaûi thuaät: if p2 ôû ranh giôùi moät nöûa boä ñeäm then begin laáp ñaày N kyù hieäu nhaäp môùi vaøo nöûa beân phaûi p2 := p2 + 1; end else if p2 ôû taän cuøng beân phaûi boä ñeäm then begin laáp ñaày N kyø hieäu nhaäp vaøo nöûa beân traùi boä ñeäm chuyeån p2 veà kyù töï taän cuøng beân traùi cuûa boä ñeäm end else p2 := p2 + 1; 2. Phöông phaùp caàm canh A B * X EOF - 2 EOF : = N kyù töï p1 p2 EOF N kyù töï Hình 3.3. Caëp boä ñeäm theo phöông phaùp caàm canh Giaûi thuaät: p2 := p2 + 1; if p2 ^ eof then if p2 ôû ranh giôùi moät nöûa boä ñeäm then begin chaát ñaày N kyø hieäu nhaäp vaøo nöûa beân phaûi boä ñeäm; p2 := p2 + 1 end else if p2 ôû taän cuøng beân phaûi boä ñeäm then begin laáp ñaày N kyù hieäu vaøo nöû beân traùi boä ñeäm; chuyeån p2 veà ñaàu boä ñeäm end else /* döøng söï phaân tích töø vöïng */ 3.4. Ñaëc taû token Caùc quy taéc ñònh nghiaõ bieåu thöùc chính quy 1. ∈ laø bieåu thöùc chính quy, bieåu thò cho taäp {∈} 2. a laø kyù hieäu thuoäc Σ, bieåu thò cho taäp {a} 3. r vaø s laø hai bieåu thöùc chính quy, bieåu thò cho L (r) vaø L (s) thì: ø a) (r) | (s) laø bieåu thöùc chính quy, bieåu thò cho L(r) ∪ L(s). b) (r) (s) laø bieåu thöùc chính quy, bieåu thò cho L(r) L(s). c) (r)* laø bieåu thöùc chính quy, bieåu thò cho (L(r))*. d) r laø bieåu thöùc chính quy, bieåu thò cho L(r).
Tìm kiếm theo từ khóa liên quan:
Trình biên dịch Bài giảng Trình biên dịch Ngôn ngữ lập trình Chương trình dịch Đặc tả ngôn ngữ lập trình Tính chất của token Bộ phân tích từ vựngGợi ý tài liệu liên quan:
-
Chuyên đề: Nghiên cứu Ngôn ngữ hình thức, Văn phạm phi ngữ cảnh và Automata đẩy xuống
84 trang 350 0 0 -
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 258 0 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 247 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 247 0 0 -
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 229 0 0 -
Bài giảng Một số hướng nghiên cứu và ứng dụng - Lê Thanh Hương
13 trang 210 0 0 -
Giáo án Tin học lớp 11 (Trọn bộ cả năm)
125 trang 200 1 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 188 0 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 164 0 0 -
Giáo trình Lập trình C căn bản: Phần 1
64 trang 160 0 0