Backus-Naurov oblik

Backus-Naurov oblik (još i Backus-Naurov formalizam, Backusov normalni oblik ili Panini-Backusov oblik, te Backus-Naurova forma[1] - obično samo kratko kao BNF, od engl. Backus-Naur form), je metasintaksa korištena za izražavanje kontekstno neovisnih gramatika: to jest, formalnih način opisa formalnih jezika.

BNF je naširoko korištena notacija za gramatike računalnih programskih jezika, instrukcijskih skupova i komunikacijskih protokola, te kao jedna od mogućih notacija za prikaz dijelova gramatike prirodnog jezika (npr. u Sanskrit pjesništvu). Većina udžbenika iz teorije programskih jezika i/ili semantike dokumentiraju programski jezik baš u BNF notaciji.

Postoje mnoga proširenja i varijante BNF.

Povijest

John Backus je stvorio ovu notaciju kako bi izrazio gramatiku ALGOL-a. Na prvoj konferenciji World Computer Congress, koja se dogodila u Parizu 1959., Backus je predstavio svoj rad pod nazivom "The syntax and semantics of the proposed international algebraic language of the Zurich ACM-GAMM Conference", formalni opis jezika IAL koji je kasnije prozvan ALGOL 58. Formalni jezik koji je on predstavio je bio zasnovan na sustavu produkcija Emila Posta. Generativne gramatike su bile aktivno područje matematičkog proučavanja, npr. od strane Noama Chomskyja, koji ih je primjenio na gramatiku prirodnih jezika.[2] [3]

Peter Naur je kasnije pojednostavio Backusovu notaciju kako bi minimizirao skup korištenih znakova (karaktera), te se na prijedlog Donalda Knutha njegovo ime dodalo u znak priznanja njegova doprinosa.

Backus-Naurov oblik ili BNF gramatike imaju značajne sličnosti sa Pāṇinijevim gramatičkim pravilima, te se notacija stoga ponekad naziva i Panini-Backusov oblik.

Other Languages