TAILIEUCHUNG - Bài giảng Nguyên lý ngôn ngữ lập trình - Chương 3: Phân tích từ vựng

Chương này trình bày các kỹ thuật xác định và cài đặt bộ phân tích từ vựng. Kỹ thuật đơn giản để xây dựng một bộ phân tích từ vựng là xây dựng các lược đồ - automata hữu hạn xác định (Deterministic Finite Automata - DFA) hoặc không xác định (Nondeterministic Finite Automata - NFA) – mô tả cấu trúc của các thẻ từ (token) của ngôn ngữ nguồn và sau đó dịch “thủ công” chúng sang chương trình nhận dạng các token. | CHƯƠNG III PHÂN TÍCH TỪ VỰNG Nội dung chính: Chương này trình bày các kỹ thuật xác định và cài đặt bộ phân tích từ vựng. Kỹ thuật đơn giản để xây dựng một bộ phân tích từ vựng là xây dựng các lược đồ - automata hữu hạn xác định (Deterministic Finite Automata - DFA) hoặc không xác định (Nondeterministic Finite Automata - NFA) – mô tả cấu trúc của các thẻ từ (token) của ngôn ngữ nguồn và sau đó dịch “thủ công” chúng sang chương trình nhận dạng các token. Một kỹ thuật khác nhằm tạo ra bộ phân tích từ vựng là sử dụng Lex – ngôn ngữ hành động theo mẫu (pattern). Trước tiên, người thiết kế trình biên dịch phải mô tả các mẫu được xác định bằng các biểu thức chính quy, sau đó sử dụng trình biên dịch của Lex để tự động tạo ra một bộ định dạng automata hữu hạn hiệu quả (bộ phân tích từ vựng). Các mô tả và cách thức hoạt động chi tiết của công cụ Lex được trình bày rõ hơn trong phần phụ lục A. Mục tiêu cần đạt: Sau khi học xong chương này, sinh viên phải nắm được các kỹ thuật tạo ra bộ phân tích từ vựng. Cụ thể, • Xây dựng các lược đồ cho các biểu thức chính quy mô tả ngôn ngữ cần được viết trình biên dịch. Sau đó chuyển đổi chúng sang một chương trình phân tích từ vựng. • Sử dụng công cụ có sẵn Lex để sinh ra bộ phân tích từ vựng. Kiến thức cơ bản: Sinh viên phải có các kiến thức về: • DFA và NFA. Các automata hữu hạn xác định và không xác định này được sử dụng để nhận dạng chính xác ngôn ngữ mà các biểu thức chính quy có thể biểu diễn. • Cách chuyển đổi từ NFA sang DFA nhằm làm đơn giản hóa quá trình cài đặt bộ phân tích từ vựng. Tài liệu tham khảo: [1] Automata and Formal Language. An Introduction – Dean Kelley – Prentice Hall, Englewood Cliffs, New Jersey 07632. [2] Compilers : Principles, Technique and Tools - Alfred , Jeffrey - Addison - Wesley Publishing Company, 1986. [3] Compiler Design – Reinhard Wilhelm, Dieter Maurer - Addison - Wesley Publishing Company, 1996. [4] Design of Compilers : Techniques of Programming Language Translation - Karen A. .

TỪ KHÓA LIÊN QUAN
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.