Chương 2: Phân tích từ vựng
Số trang: 15
Loại file: pdf
Dung lượng: 378.16 KB
Lượt xem: 24
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
IT4073:NGÔN NGỮ và PHƯƠNG PHÁP DỊCH
1. Nhiệm vụ của bộ phân tích từ vựng 2. Biểu thức chính quy 3. Ô tô mát hữu hạn 4. Phân tích từ vựng của ngôn ngữ PL/0
1. Nhiệm vụ của bộ phân tích
1. Nhiệm vụ của bộ phân tích
Mục đích & Nhiệm vụ
• Mục đích:
– Tìm chuỗi dài nhất các ký tự đầu vào, bắt đầu từ ký tự hiện tại tương ứng với một từ tố và trả về từ tố này...
Nội dung trích xuất từ tài liệu:
Chương 2: Phân tích từ vựng Chương 2: Phân tích từ vựng 1. Nhiệm vụ của bộ phân tích từ vựng IT4073:NGÔN NGỮ và 2. Biểu thức chính quy PHƯƠNG PHÁP DỊCH 3. Ô tô mát hữu hạn Phạm Đăng Hải haipd@soict.hut.edu.vn 4. Phân tích từ vựng của ngôn ngữ PL/0 9/18/2012 2 1. Nhiệm vụ của bộ phân tích 1. Nhiệm vụ của bộ phân tích Mục đích & Nhiệm vụ Từ vựng và Từ tố • Mục đích: – Tìm chuỗi dài nhất các ký tự đầu vào, bắt đầu từ ký tự • Từ vựng (Lexeme) hiện tại tương ứng với một từ tố và trả về từ tố này – Là đơn vị nhỏ nhất trong ngôn ngữ lập trình • Nhiệm vụ • Được coi là ký hiệu của một bảng chữ của ngôn ngữ – Duyệt từng ký tự của văn bản nguồn – Được xây dựng từ các ký tự ASCII • Loại bỏ các ký tự không cần thiết như dấu cách, chú thích,.. – Xây dựng từ vựng từ những ký tự đọc được • Từ tố (Token) – Nhận dạng từ tố và gửi tới pha tiếp – Là thuật ngữ dùng chỉ các từ vựng có cùng ý Nhận biết từ tố gồm nghĩa cú pháp – Nhận biết các từ khóa, tên do người dùng định nghĩa • Có thể coi từ vựng là những từ cụ thể trong từ điển: – Nhận biết các con số, hằng chuỗi, hằng ký tự “hôm nay”, “trời”, “đẹp”; còn từ tố là loại từ: “trạng từ”, – Nhận biết các ký tự đặc biệt (+,*,..), ký hiệu kép (:=,!=,..) “danh từ”, “tính từ”,.. 9/18/2012 3 9/18/2012 4 1. Nhiệm vụ của bộ phân tích 1. Nhiệm vụ của bộ phân tích Từ tố→Ví dụ Từ tố→Chú ý pos := start + 10 * size; • Các từ tố Ident, number, plus, assign,... do người viết trình dịch tự định nghĩa để dễ dàng cho việc mã • “pos”, “start”, “size”, “+”, “10”, “*”,”:=“, “;” là từ vựng hóa chương trình. Đây là việc số hóa ký hiệu • “pos”, “start”, “size”, → các từ vựng thuộc lớp từ tố • Một từ tố có thể ứng với tập các từ vựng khác nhau tên (ident) nên cần thêm một số thông tin khác để biết được • ”:=“→ từ vựng của từ tố gán (assign) cụ thể đó là từ vựng nào • “10” → từ vựng của từ tố số nguyên (number) – Các chuỗi “19”, “365” đều là chuỗi số, có từ tố “number”, nhưng khi sinh mã cần phải biết rõ giá trị là 19 hay 365 • “+” → từ vựng của từ tố cộng (plus) • Bộ phân tích từ vựng không chỉ nhận dạng được • “*” → từ vựng của từ tố nhân (times) các từ tố mà còn phải biết thuộc tính tương ứng • “;” → từ vựng của từ tố chấm phẩy (semicolon) – Từ tố tác động đến bộ phân tích cú pháp – Thuộc tính sử dụng trong bộ sinh mã 9/18/2012 5 9/18/2012 6 1. Nhiệm vụ của bộ phân tích 1. Nhiệm vụ của bộ phân tích Thực hiện Mẫu (Pattern) Token • Là luật để mô tả một từ tố nào đó Chương Phân tích Phân tích trình nguồn từ vựng cú pháp – Cơ sở phân biệt & nhận dạng các từ tố khác nhau getToken() • Chuỗi ký tự cùng thỏa mãn một luật⇒có cùng một từ tố • Từ tố là tên riêng của một luật mô tả, từ vựng là một trường hợp thỏa mãn luật Bảng ký hiệu • Ví dụ • Thực hiện lặp dựa vào yêu cầu từ bộ ptcp – Luật mô tả của từ tố Ident – Bộ ptcp khi cần một từ tố sẽ gọi getToken( ...
Nội dung trích xuất từ tài liệu:
Chương 2: Phân tích từ vựng Chương 2: Phân tích từ vựng 1. Nhiệm vụ của bộ phân tích từ vựng IT4073:NGÔN NGỮ và 2. Biểu thức chính quy PHƯƠNG PHÁP DỊCH 3. Ô tô mát hữu hạn Phạm Đăng Hải haipd@soict.hut.edu.vn 4. Phân tích từ vựng của ngôn ngữ PL/0 9/18/2012 2 1. Nhiệm vụ của bộ phân tích 1. Nhiệm vụ của bộ phân tích Mục đích & Nhiệm vụ Từ vựng và Từ tố • Mục đích: – Tìm chuỗi dài nhất các ký tự đầu vào, bắt đầu từ ký tự • Từ vựng (Lexeme) hiện tại tương ứng với một từ tố và trả về từ tố này – Là đơn vị nhỏ nhất trong ngôn ngữ lập trình • Nhiệm vụ • Được coi là ký hiệu của một bảng chữ của ngôn ngữ – Duyệt từng ký tự của văn bản nguồn – Được xây dựng từ các ký tự ASCII • Loại bỏ các ký tự không cần thiết như dấu cách, chú thích,.. – Xây dựng từ vựng từ những ký tự đọc được • Từ tố (Token) – Nhận dạng từ tố và gửi tới pha tiếp – Là thuật ngữ dùng chỉ các từ vựng có cùng ý Nhận biết từ tố gồm nghĩa cú pháp – Nhận biết các từ khóa, tên do người dùng định nghĩa • Có thể coi từ vựng là những từ cụ thể trong từ điển: – Nhận biết các con số, hằng chuỗi, hằng ký tự “hôm nay”, “trời”, “đẹp”; còn từ tố là loại từ: “trạng từ”, – Nhận biết các ký tự đặc biệt (+,*,..), ký hiệu kép (:=,!=,..) “danh từ”, “tính từ”,.. 9/18/2012 3 9/18/2012 4 1. Nhiệm vụ của bộ phân tích 1. Nhiệm vụ của bộ phân tích Từ tố→Ví dụ Từ tố→Chú ý pos := start + 10 * size; • Các từ tố Ident, number, plus, assign,... do người viết trình dịch tự định nghĩa để dễ dàng cho việc mã • “pos”, “start”, “size”, “+”, “10”, “*”,”:=“, “;” là từ vựng hóa chương trình. Đây là việc số hóa ký hiệu • “pos”, “start”, “size”, → các từ vựng thuộc lớp từ tố • Một từ tố có thể ứng với tập các từ vựng khác nhau tên (ident) nên cần thêm một số thông tin khác để biết được • ”:=“→ từ vựng của từ tố gán (assign) cụ thể đó là từ vựng nào • “10” → từ vựng của từ tố số nguyên (number) – Các chuỗi “19”, “365” đều là chuỗi số, có từ tố “number”, nhưng khi sinh mã cần phải biết rõ giá trị là 19 hay 365 • “+” → từ vựng của từ tố cộng (plus) • Bộ phân tích từ vựng không chỉ nhận dạng được • “*” → từ vựng của từ tố nhân (times) các từ tố mà còn phải biết thuộc tính tương ứng • “;” → từ vựng của từ tố chấm phẩy (semicolon) – Từ tố tác động đến bộ phân tích cú pháp – Thuộc tính sử dụng trong bộ sinh mã 9/18/2012 5 9/18/2012 6 1. Nhiệm vụ của bộ phân tích 1. Nhiệm vụ của bộ phân tích Thực hiện Mẫu (Pattern) Token • Là luật để mô tả một từ tố nào đó Chương Phân tích Phân tích trình nguồn từ vựng cú pháp – Cơ sở phân biệt & nhận dạng các từ tố khác nhau getToken() • Chuỗi ký tự cùng thỏa mãn một luật⇒có cùng một từ tố • Từ tố là tên riêng của một luật mô tả, từ vựng là một trường hợp thỏa mãn luật Bảng ký hiệu • Ví dụ • Thực hiện lặp dựa vào yêu cầu từ bộ ptcp – Luật mô tả của từ tố Ident – Bộ ptcp khi cần một từ tố sẽ gọi getToken( ...
Tìm kiếm theo từ khóa liên quan:
Phân tích cú pháp cú pháp quay lui phương pháp dịch phân tích bảng cú pháp tất định chương trình dịchTài liệu có liên quan:
-
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 242 0 0 -
Bài giảng Lập trình C căn bản: Chương 2 - Phạm Thế Bảo
31 trang 98 0 0 -
Dịch thì và thể ở thức trực chỉ từ tiếng Anh sang tiếng Việt
11 trang 39 0 0 -
Giáo trình Lập trình nâng cao: Phần 1 - Nguyễn Văn Vinh
126 trang 36 0 0 -
Tập bài giảng Chương trình dịch
218 trang 33 0 0 -
Bài giảng Điện tử tin học lớp 11: Bài 1
9 trang 33 0 0 -
Bài giảng Thực hành chương trình dịch: Bài 5 - Phạm Đăng Hải
66 trang 31 0 0 -
Nhập môn Chương trình dịch - Bài 1
17 trang 31 0 0 -
Một số cải tiến giải thuật earley cho việc phân tích cú pháp trong xử lý ngôn ngữ tự nhiên
10 trang 30 0 0 -
22 trang 30 0 0