Tham khảo sách 'ngôn ngữ hình thức và ôtômat - chương 3', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | Ngôn ngữ hình thức và Ôtômat Formal Language Automata . Phan Huy Khánh khanhph@ Chương 3 Văn phạm Grammar jjg Chương 3 Văn phạm Định nghĩa một ngôn ngữ lập trình NNLT Khái niệm văn phạm Phân cấp các loại văn phạm của Chomsky Văn phạm chính qui Ngôn ngữ chính quy Tính chất của ngôn ngữ chính quy Định lí bơm Pumping Theorem Ứng dụng của ngôn ngữ chính qui 2 61 Định nghĩa một ngôn ngữ lập trình NNLT Bộ ký tự Các ngôn ngữ lập trình NNLT bậc cao được xây dựng mô phỏng một cách thô thiển ngôn ngữ tự nhiên thường là tiếng Anh hoặc tiếng Nga từ bốn yêu tố o Bộ ký tự Character Set o Bộ từ vựng Vocabulary o Cú pháp Semantic o Ngữ nghĩa Semantic Căn cứ vào cú pháp của NNLT người lập trình viết chương trình gồm các câu lệnh để giải quyết bài toán của mình Để đạt được mục đích đó mỗi câu lệnh viết ra không những đúng đắn về mặt cú pháp mà còn phải đúng đắn cả về mặt ngữ nghĩa hay ý nghĩa logic của câu lệnh để giải quyết bài toán K Ngoài ra người ta cũng thường thêm yếu tố một thứ năm là tính thực dụng Pragmatic 3 61 Bộ ký tự Character Set o Gồm một tập hợp hữu hạn các ký tự được phép dùng trong ngôn ngữ thường là các ký tự ASCII o Có thể hiểu bộ ký tự có vai trò như bảng chữ cái Alphabet của một ngôn ngữ tự nhiên 4 61 Bộ từ vựng Cú pháp Bộ từ vựng Vocabulary e Gồm các từ Word hay đơn vị từ vựng Token dùng để tạo thành câu lệnh và được phân loại tuỳ theo vai trò của chúng trong ngôn ngữ e Mỗi loại từ vựng lại được chia ra thành các nhóm nhỏ hơn tuỳ theo chức năng sử dụng Ví dụ Chương trình Pascal Các đơn vị từ vựng Program P Var X y Integer Begin Read x y x 2 Write y End. - Tên hay định danh Identifier Read Write P x y - Hằng Constants 2 - Toán tử Operators - Dấu phân cách Delimiters Program Var Begin End. Cú pháp Syntax hay văn phạm Grammar là tập hợp các quy tắc cho phép o Quy định cách thức kết hợp các ký tự thành từ kết hợp các từ thành câu lệnh đúng Statement - Instruction kết hợp các câu lệnh đúng thành một chương trình hoàn chỉnh o Có thể hình dung cách kết .