----------------------------------------------------------------------------------------------------
Backus–Naur Form or BNF
Eng:
a metasyntax used to express context-free grammars: that is, a formal way to describe formal languages.
ไทย:
วิธีการพื้นฐานที่ใช้อธิบายโครงสร้างของภาษาโปรแกรม หรือ มาตราฐานในการะบุรูปแบบ
----------------------------------------------------------------------------------------------------
--- ตัวอย่าง 1 ----------------------------------------------------------------------------------
< number > ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
--- ความหมาย ---------------------------------------------------------------------------------
คือ ตัวเลขจะเป็น 0 หรือ 1 หรือ 2..... หรือ 9
--- ความหมายของสัญลักษณ์ --------------------------------------------------------------
< > อะไรก็ตามที่อยู่ในนี้ก็คือยังมีตัวที่ต่อไปได้อีกหรือยังไม่สิ้นสุด (nonterminal) ถ้าไม่อยู่ในนี้คือสิ้นสุด (terminal)
::= คือ ให้คำจำกัดความว่า (is defined as)
| คือ หรือ (or)
----------------------------------------------------------------------------------------------------
--- ตัวอย่าง 2 ----------------------------------------------------------------------------------
< if statement="" > ::= if ( < condition > ) < statement > [ else < statement > ]
--- ความหมาย ---------------------------------------------------------------------------------
คือ if statement จะมี if หรือ มี if แล้ว else ก็ได้
--- ความหมายของสัญลักษณ์ -------------------------------------------------------------
[ ] จะใส่ก็ได้ไม่ใส่ก็ได้แล้วแต่จะเลือก
---------------------------------------------------------------------------------------------------
--- ตัวอย่าง 3 ----------------------------------------------------------------------------------
< parameter list > ::= ( ) | ( { < parameter > , } < parameter > )
--- ความหมาย ---------------------------------------------------------------------------------
คือ ลิสต์ของพารามิเตอร์จะไม่มี หรือมี1ตัว หรือมากกว่าก็นั้นได้
--- ความหมายของสัญลักษณ์ -------------------------------------------------------------
{ } การทำซ้ำตั้งแต่ 0 ไปเรื่อยๆ
---------------------------------------------------------------------------------------------------
จะเห็นได้ว่าไม่ยากจนเกินไป
---อ้างอิง-------------------------------------------------------------------------------------
http://en.wikipedia.org/wiki/Backus%E2%80%93Naur_Form
http://www.cis.upenn.edu/~matuszek/cit594-2004/Lectures/15-bnf.ppt
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment