Backusova–Naurova forma: Porovnání verzí

Přidáno 25 bajtů ,  před 2 lety
m
typografie, reference
(Oprava formulací a odkazů)
m (typografie, reference)
'''Backusova-NaurovaBackusova–Naurova forma''' ('''BNF''') je [[metasyntaxe|způsob zápisu]] [[bezkontextová gramatika|bezkontextových gramatik]] používaných pro popis [[formální jazyk|formálních jazyků]]. BNF vytvořil [[John Backus]] pro popis [[syntax]]e [[Programovací jazyk|programovacího jazyka]] [[ALGOL]] a zdokonalil [[Peter Naur]]. BNF používá dva typy pravidel: lexikální a syntaktická.
 
BNF a její varianty EBNF ([[rozvinutá Backusova–Naurova forma]]) a ABNF ([[rozšířená Backusova–Naurova forma]]) se používají i k zápisu (notaci) instrukčních sad a komunikačních protokolů, ale také jako notace pro popis částí gramatik [[Jazyk (lingvistika)|přirozených jazyků]].
BNF vytvořil [[John Backus]] pro popis syntaxe jazyka [[ALGOL]]. Na prvním Světovém počítačovém kongresu konaném v Paříži v roce 1959 Backus přednesl příspěvek ''Syntaxe a sémantika navrhovaného mezinárodního algebraického jazyka z curyšské konference ACM-GAMM'', v němž formálně popsal mezinárodní algebraický jazyk (IAL) později nazvaný ALGOL 58. Formální jazyk, který Backus představil, byl založen na produkčním systému [[Emil Leon Post|Emila Posta]]. Generativní gramatiky se pak staly objektem intenzivních matematických studií, prováděných např. [[Noam Chomsky|Noamem Chomskym]], který je aplikoval na gramatiky přirozených jazyků.
 
Peter Naur označil Backusovu notaci za Backusovu normální formu (ALGOL 60, 1963) a zjednodušil ji, aby minimalizoval počet používaných znaků. Na návrh [[Donald Knuth|Donalda Knutha]] bylo do názvu přidáno Naurovo jméno jako uznání za jeho práci v oboru a nahradilo „N“ ve zkratce, neboť Knuth argumentoval tím, že BNF ''není v žádném případě normální''. Backusova-NaurovaBackusova–Naurova forma, resp. gramatika BNF, je do značné míry podobná [[Pánini|Paniniho]] gramatickým pravidlům, proto bývá někdy nazývána Paniniova-BackusovaPaniniova–Backusova forma.
 
== Úvod ==
Existuje řada variant a rozšíření BNF, které vznikly z důvodu dosažení větší jednoduchosti nebo stručnosti, popřípadě za účelem adaptace BNF pro specifické účely. Jedním společným znakem řady variant BNF je použití opakovacích operátorů z regulárních výrazů, např. <CODE>*</CODE> a <CODE>+</CODE>.
 
[[Rozvinutá Backusova-NaurovaBackusova–Naurova forma]] (Extended Backus–Naur form, EBNF) je metasyntaktická notace používaná k vyjádření bezkontextové gramatiky. Původně byla vyvinuta [[Niklaus Wirth|Niklausem Wirthem]], dnes je však většina proměnných EBNF standardizována a definována normami, zejm. ISO-14977 pod kódovým označením ISO/IEC 14977:1996(E).
 
[[Rozšířená Backusova-Naurova forma]] (Augmented Backus–Naur form, ABNF) vychází z BNF, má však svůj vlastní specifický syntax a pravidla odvozování. Základním principem tohoto meta-jazyka je popsat formální systém jazyka. ABNF je zanesen do [[rfc:4234|RFC 4234]] a je často používán jako definovací jazyk pro komunikační protokol [[IETF]].
 
[[Rozšířená Backusova-NaurovaBackusova–Naurova forma]] (Augmented Backus–Naur form, ABNF) vychází z BNF, má však svůj vlastní specifický syntax a pravidla odvozování. Základním principem tohoto meta-jazyka je popsat formální systém jazyka. ABNF je zanesen do [[rfc:4234|RFC 4234]] a je často používán jako definovací jazyk pro komunikační protokol [[IETF]].
== Reference ==
{{Překlad|en|Backus-Naur form|177890932}}