รูปแบบแบกคัส-เนาร์
หน้าตา
รูปแบบแบกคัส-เนาร์ (อังกฤษ: Backus-Naur Form) เป็นรูปแบบการเขียนและอธิบายไวยากรณ์ที่ใช้สำหรับอธิบายโครงสร้างวากยสัมพันธ์ ของภาษาโปรแกรมโดยใช้สัญลักษณ์ต่าง ๆ เพื่อแสดงรูปแบบนิพจน์ของภาษาซึ่งเป็นตัวแปรแบบไม่สิ้นสุด (nonterminal) และนิพจน์ซึ่งอาจประกอบด้วยสัญลักษณ์แบบสิ้นสุด (terminal) หรือไม่สิ้นสุด (nonterminal) ก็ได้
รูปแบบการเขียน
[แก้] <symbol> ::= __expression__
<symbol>
คือส่วนของสัญลักษณ์ที่เป็นตัวแปรแบบไม่สิ้นสุด (nonterminal variable) และ__expression__
คือส่วนของนิพจน์ที่อาจประกอบด้วยสัญลักษณ์แบบสิ้นสุดหรือไม่สิ้นสุดก็ได้ ซึ่งอาจมีได้หลายตัวเช่นกัน::=
คือเครื่องหมายที่ใช้แสดงว่าสัญลักษณ์ด้านซ้ายจะถูกแทนที่ด้วยนิพจน์ด้านขวา- หากต้องการแบ่งเงื่อนไขการแทนที่ของสัญลักษณ์ที่อยู่ในนิพจน์ออกเป็นแต่ละเงื่อนไข เราสามารถใช้เครื่องหมายขีดตั้ง (vertical line) "|" เพื่อแบ่งแต่ละเงื่อนไขออกเป็นทางเลือก (choice) หลาย ๆ ทางได้
- สัญลักษณ์ที่ปรากฏอยู่ด้านซ้ายของประโยค (sentence) จะถือว่าเป็นสัญลักษณ์แบบไม่สิ้นสุด (nonterminals) และมีการปิดด้วยเครื่องหมาย <> ส่วนสัญลักษณ์ที่ไม่ปรากฏอยู่ด้านซ้ายของประโยคเลยจะถือว่าเป็นสัญลักษณ์แบบสิ้นสุด (terminals)
แหล่งข้อมูลอื่น
[แก้]- Garshol, Lars Marius, BNF and EBNF: What are they and how do they work?, NO: Priv.