ข้ามไปเนื้อหา

รูปแบบแบกคัส-เนาร์

จากวิกิพีเดีย สารานุกรมเสรี

รูปแบบแบกคัส-เนาร์ (อังกฤษ: 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.