การทำความเข้าใจเกี่ยวกับไวยากรณ์ของแบบฟอร์ม (BNF) Nauer แบกคัส

สคริปต์ที่ใช้ โดยนายทะเบียน ATL ตาม BNF ไวยากรณ์ และใช้สัญกรณ์ที่แสดงในตารางต่อไป?

แบบแผน/สัญลักษณ์ ความหมาย
::= เทียบเท่า
| OR
X + อย่าง น้อยหนึ่ง X s?
[X] Xหรือไม่ก็ เลือกตัวคั่นจะกล่าวคือโดย[]?
ข้อความตัวหนา สายอักขระสัญพจน์?
ข้อความใด ๆitalicized วิธีการสร้างสายอักขระสัญพจน์?

ตามที่ระบุในตารางก่อนหน้านี้ นายทะเบียนสคริปต์ใช้สายอักขระตัวอักษร ค่าเหล่านี้คือ ข้อความจริงที่ต้องการปรากฏในสคริปต์ของคุณ ตารางต่อไปนี้อธิบายถึงตัวอักษรของสายอักขระที่ใช้ในสคริปต์การนายทะเบียน ATL?

สายอักขระสัญพจน์ คำอธิบาย
ForceRemove เอาคีย์ต่อไปนี้ทั้งหมด (ถ้ามี) และจากนั้น ทำการสร้างใหม่?
NoRemove ไม่เอาคีย์ต่อไปนี้ระหว่าง Unregister?
val ต่อไปนี้ lt;Key Name> เป็นค่าชื่อจริง?
ลบ ลบคีย์ต่อไปนี้ในระหว่างการลงทะเบียน?
s ค่าต่อไปนี้คือ สาย?
d ค่าต่อไปนี้เป็นแบบDWORD?

ตัวอย่างของไวยากรณ์ BNF

ที่นี่มีไวยากรณ์อย่างเพื่อช่วยให้คุณเข้าใจวิธีการทำงานของตัวอักษรในสัญกรณ์และสายอักขระในสคริปต์การนายทะเบียน ATL?

ไวยากรณ์ของตัวอย่าง 1

lt นิพจน์ของรีจิสทรี >:: = < เพิ่มคีย์ & gt

ระบุที่ registry expression จะเท่ากับAdd Key?

ไวยากรณ์ของตัวอย่างที่ 2

lt นิพจน์ของรีจิสทรี >:: = <เพิ่มคีย์ > | < ลบคีย์ & gt

ระบุที่ registry expression จะเท่ากับ Add Key หรือDelete Key?

ไวยากรณ์ของตัวอย่าง 3

ltคีย์ชื่อ >:: '= <AlphaNumeric> +'

ระบุที่ Key Name จะเท่ากับอย่างน้อยหนึ่งอย่างAlphaNumerics?

ไวยากรณ์ของตัวอย่างที่ 4

ltเพิ่มคีย์ >:: = [ForceRemove | NoRemove | val]< ชื่อคีย์ & gt

ระบุที่ Add Key จะเท่ากับ Key Name และที่ตัวอักษรของสตริงที่ ForceRemove , NoRemove และ val ก็ได้?

ไวยากรณ์ของตัวอย่าง 5

ltตัวเลขพยัญชนะ >:: =ไม่มีอักขระ NULL, ASCII เช่น 0

ระบุที่ AlphaNumeric เท่ากับการไม่ใช่-NULL อักขระใด ๆ?

Index