застосування
Використовується для опису синтаксису мов програмування, даних, протоколів (наприклад, в документах RFC) і т. Д. (Причому як граматики, так і регулярної лексики, оскільки регулярні граматики є підмножиною контекстно-вільних).
Термінологія цієї статті може розходитися з традиційною.
БНФ-конструкція визначає кінцеве число символів (нетерміналів). Крім того, вона визначає правила заміни символу на якусь послідовність літер (терміналів) та символів. Процес отримання ланцюжка літер, можна визначити поетапно: спочатку є один символ (символи зазвичай полягають в кутові дужки, а їх назва не несе ніякої інформації). Потім цей символ замінюється на деяку послідовність літер і символів, відповідно до одного з правил. Потім процес повторюється (на кожному кроці один із символів замінюється на послідовність, згідно з правилом). Зрештою, виходить ланцюжок, що складається з букв (і не містить символів). Це означає, що отримана ланцюжок може бути виведена з початкового символу.
БНФ-конструкція складається з декількох пропозицій виду
описують правила. Таке правило, означає, що символ <определяемый символ> може замінюватися на одну з послідовностей посл.1. Знак визначення, зазвичай виглядає як :: =, але можливі й інші варіанти.
Деякі спеціальні символи, як наприклад <пусто> означають якусь послідовність (в даному випадку - порожню).
приклади конструкцій
- Ось приклад БНФ-конструкції, яка описує правильні дужкові послідовності:
Це проста конструкція, що складається всього з одного правила, який стверджує, що символ <правпосл> може замінитися або на порожнє місце, або на цей же символ <правпосл>, укладений в дужки, або на два символу <правпосл> що йдуть підряд.
Ось як отримати за допомогою цієї конструкції ланцюжок ((()) ()) () (нижче перераховуються всі етапи, символи <пусто> опускаються):
Дивитися що таке "Форма Бекуса - Наура" в інших словниках:
Розширена форма Бекуса - Цю статтю слід вікіфіціровать. Будь ласка, оформіть її згідно з правилами оформлення статей. Розширена форма Бекуса Наура (розширена Бекус Наурова форма (РБНФ)) (англ. Extended Backus-Naur Form (EBNF)) формальна система визначення ... ... Вікіпедія