Backusova–Naurova forma: Porovnání verzí
Smazaný obsah Přidaný obsah
m →Varianty: typo |
m Odkazy, formát, styl |
||
Řádek 1:
{{Upravit - informatika}}
'''Backus-Naurova forma''' ('''BNF''') je [[metasyntaxe]] používaná k vyjádření [[bezkontextová gramatika|bezkontextové gramatiky]]
BNF se často využívá k zápisu (notaci) gramatik počítačových programovacích jazyků, sad instrukcí a komunikačních protokolů, ale také jako notace zastupující části gramatik skutečných jazyků. Řada učebnic o teorii programovacích jazyků nebo [[sémantika|sémantiky]] popisuje programovací jazyky pomocí BNF. Existuje řada rozšíření a jiných variant BNF.
== Historie ==
John Backus vytvořil tuto notaci, aby vyjádřil gramatiku [[Algol|ALGOLu]]. 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
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 Naurovo jméno přidáno do názvu jako uznání za jeho práci v oboru a nahradilo „N“ ve zkratce, neboť Knuth argumentoval tím, že BNF
== Úvod ==
Řádek 32:
Přeloženo do češtiny:
Poštovní adresa se skládá z části ''Jméno'', ''Adresa'' (ulice) a ''PSČ'' (Poštovní směrovací číslo
*část ''Jméno'' se skládá z:
**buď z ''Osobní části'', po níž následuje příjmení a dále nepovinná tzv. ''Jr. část'' (obsahující zkratky typu Jr., Sr., nebo pořadové číslo v dynastii) a konec řádku
**nebo z ''Osobní části'' následované částí ''Jméno'' (tato varianta ilustruje možnost [[rekurze]] v BNF, bude použita pro případy, kdy lidé používají mnohonásobná křestní nebo střední jména, resp. iniciály)
***''Osobní část'' se skládá buď z křestního jména, nebo z iniciály následované tečkou
*''Adresa
*část ''PSČ'' se skládá z názvu města, následované čárkou, kódem státu a číslem, za nímž je opět konec řádku
Berme v úvahu, že řada položek by mohla být dále specifikována na levé straně (např. formát jména, PSČ apod.) pomocí dalších pravidel BNF.
Řádek 54:
<literal> ::= '"' <text> '"' | "'" <text> "'"
== Varianty ==
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á Backus-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á Backus-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 a je často používán jako definovací jazyk pro komunikační protokol [[IETF]].
▲*{{Překlad|en|Backus-Naur form}}
[[Kategorie:Informatika]]
|