Backus–Naur-muoto

Wikipediasta
Siirry navigaatioon Siirry hakuun

Backus–Naur-muoto (BNF, Backus–Naur form) on metakieli, jota käytetään ilmaisemaan kontekstiriippumattomia kielioppeja.[1] BNF on nimetty sen kehittäneiden John Backuksen ja Peter Naurin mukaan.[2] Kieltä oli aluksi kutsuttu myös nimellä "Backus Normal Form" mutta nimi muutettiin Naurin mukaan seurauksena Donald Knuthin kirjeestä Communications of the ACM:lle (1964).[3] Knuthin mukaan Backus–Naur form nimi:[4]

  • antaa sopivan tunnustuksen molemmille kieleen vaikuttaneille
  • säilyttää usein käytetyn lyhenteen "BNF"
  • BNF ei ole varsinaisesti "normaalimuoto" ja siksi vain "muoto"

Backus–Naur-muotoa käytetään usein ohjelmointikielien, tiedostomuotojen ja protokollien kielioppien esitysmuotona.[5] Sitä käytetään myös esittämään osia luonnollisten kielten kieliopeista. Useimmat ohjelmointikielien oppikirjoista dokumentoivat kielen BNF-muodossa. Joillain muunnelmilla on omat kielioppinsa.

Extended BNF (EBNF) on kielen laajennettu muoto.[1] EBNF-muodosta on julkaistu ISO-standardi ISO/IEC 14977:1996.[6] BNF-muodolla on ongelmia mikäli metasymbolit < > | ::= esiintyvät määriteltävässä kielessä.[7] Niklaus Wirth ehdotti EBNF-muotoa Communications of the ACM -lehdessä vuonna 1977.[8]

Augmented Backus–Naur (ABNF) -muodosta on IETF:n määrittelyt RFC 5234 (korvaa RFC 4234) ja sen päivitetty versio RFC 7405

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. a b Robert D. Cameron: Grammatical Description of Syntax: The BNF Metalanguage cs.sfu.ca. 7.1.2002. Viitattu 5.10.2019. (englanniksi)
  2. John Backus computerhistory.org. Viitattu 3.9.2019. (englanniksi)
  3. Backus Normal Form vs. Backus Naur Form boost-spirit.com. Viitattu 5.10.2019. (englanniksi) 
  4. T.R.N. Rao & Subhash Kak: The Panini-Backus Form in Syntax of Formal Languages infinityfoundation.com. 1998. Viitattu 5.10.2019. (englanniksi) 
  5. The language of languages matt.might.net. Viitattu 10.2.2020. (englanniksi) 
  6. ISO/IEC 14977:1996 ISO. Viitattu 5.10.2019. (englanniksi) 
  7. ISO/IEC 14977 Information technology - Syntactic metalanguage - Extended BNF. Geneve: International Organization for Standardization, 15.12.1996. (englanniksi)
  8. What Can We Do about the Unnecessary Diversity of Notation for Syntactic Definitions (PDF) cs.tufts.edu. 1977. Viitattu 5.10.2019. (englanniksi)

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]

Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.