2. Đặc trưng của ngôn ngữlập trình cấp cao
3. Các giaiđoạn chính của chương trình dịch
4. Khái niệm ngôn ngữ5. Văn phạm phi ngữcảnh 5. Văn phạm phi ngữcảnh
6. Giới thiệu ngôn ngữPL/0 mởrộng
879/4/2012 9/4/2012
Dạng chuẩn BNF
• Siêu ngữ(metalanguage)
– Ngôn ngữsửdụng các lệnhđểmô tảngôn ngữkhác
•Dạng chuẩn BNF
– Backus-Normal-Form/Backus-Naur-Form
– Là dạng siêu cú phápđểmô tảcác ngôn ngữ
lập trình
– BNF được sử dụng rộng rãi để mô tả văn phạm của các ngôn ngữlập trình, tập lệnh và các giao thức truyền thông.
889/4/2012 9/4/2012 Ký pháp BNF 6. Giới thiệu ngôn ngữPL/0 mởrộng Là một tập các luật thỏa mãn: – Vếtrái của mỗi luật là một cấu trúc cú pháp. – Tên cấu trúc cú pháp là ký hiệu không kết thúc. – Ký hiệu không kết thúcđược bao trong cặp<>
– Ký hiệu kết thúcđược phân cách bằng cặp nháy
đơn hoặc nháy kép
– Mỗi ký hiệu không kết thúcđượcđịnh nghĩa bằng một hay nhiều luật.
– Các luật có dạngN ::= s
•N là ký hiệu không kết thúc,
•s là một xâu gồm 0 hay nhiều ký hiệu kết thúc và không kết thúc.
–Các luật có chung vếtráiđược phân cách bằng|
899/4/2012 9/4/2012 Ký pháp BNF→Ví dụ • Mô tảcách viết một sốnguyên, thực dấu phẩy tĩnh <Số>::=’-’<Sốthập phân>|<sốthập phân> <Sốthập phân>::=<Dãy chữsố>|<Dãy chữ số>’.’<Dãy chữsố> <Dãy chữsố>::=<Chữsố>|<Chữsố><Dãy chữsố> <Chữsố>::=’0’|’1’|’2’|’3’|’4’|’5’|’6’|’7’|’8’|’9’ 6. Giới thiệu ngôn ngữPL/0 mởrộng 90 9/4/2012 Ký pháp EBNF (Extended BNF )
Được phát triển từBNF, có ký pháp tương tựnhưngđượcđơn giản hoá bằng cách dùng một