Бакус–Наурова форма

У рачунарству, Бакус–Наурова форма (Бакусова нотација или БНФ) је мета језик који се користи за изражавање контекстно слободних граматика: то је формални начин да се опишу формални језици.

Џон Бакус и Питер Наур, су развили контекстно слободну граматику да би дефинисали синтаксу програмских језика, користећи две групе правила: тј, лексичка правила и синтаксичка правила.

БНФ је широм коришћена нотација за граматике програмских језика, листа инструкција и комуникацијских протокола, као и нотација за представљање граматика свакодневног језика. У Бакусовој нотацији синтакса програмског језика описује се помоћу коначног скупа металингвистичких формула (МЛФ).

Постоје многа проширења и варијанте БНФ-а.

Историја

Џон Бакус је створио нотацију да би изразио граматику АЛГОЛ-а. На Првом светском рачунарском конгресу, који је одржан у Паризу 1959. године, Бакус је представио Синтаксу и семантику предложеног интернационалног алгебарског језика на АЦМ-ГАММ конференцији у Цириху, формални опис ИАЛ-а, који је касније назван АЛГОЛ 58. Формални језик који је он представио, заснован је на систему извођења Емила Поста.

Генеративне граматике биле су активни предмет математичке студије, као на пример Ноама Чомског, који их је користио у граматици свакодневног језика.

Питер Наур, (АЛГОЛ 60, 1963) дефинисао је Бакусову нотацију као Бакусову нормалну форму и поједноставио је да би умањио класу коришћених карактера и, на предлог Доналда Кнута, његово име је додато као признање његовог доприноса. Кнут је демантовао његово првобитно замењивање Н за Нормална, говорећи да БНФ није нормална форма у било ком смислу.

Граматике БНФ-а имају значајне сличности са правилима Панинијеве граматике, тако да се нотација често тумачи као Панини-Бакус форма.

други језици