Backus-Naur-Form

Die Backus-Naur-Form oder Backus-Normalform (kurz BNF) ist eine kompakte formale Metasprache zur Darstellung kontextfreier Grammatiken (Typ-2-Grammatiken in der Chomsky-Hierarchie). Hierzu zählt die Syntax gängiger höherer Programmiersprachen. Sie wird auch für die Notation von Befehlssätzen und Kommunikationsprotokollen verwendet.

Ursprünglich war sie nach John W. Backus benannt, später wurde sie (auf Anregung von Donald E. Knuth) auch nach Peter Naur benannt. Beide waren Pioniere der Informatik, die sich mit der Erstellung der Algol-60-Regeln und insbesondere mit der Kunst des Compilerbaus beschäftigten.[1][2] Durch die Backus-Naur-Form im Algol 60 Report wurde es erstmals möglich, die Syntax einer Programmiersprache formal exakt, also ohne die Ungenauigkeiten natürlicher Sprachen, darzustellen.

Es gibt viele Varianten der Backus-Naur-Form. Die erweiterte Backus-Naur-Form (EBNF) ist eine gebräuchliche Variante, die unter anderem eine kompakte Notation von sich wiederholenden Elementen erlaubt. Für Syntaxdefinitionen in Internetnormen wird überwiegend die angereicherte Backus-Naur-Form (ABNF) verwendet.

  1. J. W. Backus: The syntax and semantics of the proposed international algebraic language of the Zurich ACM-GAMM conference. Hrsg.: International Business Machines Corp. New York 1959, Syntax of IAL (englisch).
  2. John Backus: Programming in America in the 1950s – Some Personal Impressions. Hrsg.: IBM research laboratory, San Jose CA. 9. Emil Post and Syntax Description (englisch).

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by razib.in