wer ist, was ist, wo ist, wann war, was war - Lexikon / Chronik / Biografie / Wissen - Erweiterte Backus-Naur-Form


Werbung

Produkte / Services :|: Chronik CD :|: als Startseite | zu den | empfehlen :|: Impressum
Lexika @ InfoBitte.de :|: Universal-Lexikon | WeltKunst | Geteiltes Deutschland | Zweiter Weltkrieg
WeltChronik.de :|: Welt | Deutschland | Kultur/Kunst/Technik :|: BildDatenBank :|: Biografien

Navigation

WeltChronik
Deutsche Chronik
KulturChronik
Biografien
Bilddatenbank
Kalenderblatt
Epochen
Lexika @ InfoBitte.de
Produkte

Suchfunktionen
Chronik-Jahr direkt

Nur Zahl eingeben
Bereich: '0'-'2001'
PARTNER
Ahnenforschung

Quellen für die Schule

FREE 4 WebMasters

Wir haben eine ganze Palette kostenloser Angebote von uns
für WebMaster und HomePage Besitzer aufbereitet

Holen Sie sich hier ab

was Sie gerne einsetzen würden
Suchfunktionen, Kalenderblatt, uam
für Ihre WebSite



Erweiterte Backus-Naur-Form

ein InfoBitte / WeltChronik
Sach-Artikel (Enzyklopädie / Lexikon)

Entwickelt von ICA-D aus der XML-Version der deutschen WikiPedia
© 2004/2005 ff by de.wikipedia.org, teilw. by ICA-D
blättern» voriger Artikel | Hauptseite | nächster Artikel «blättern

Die Erweiterte Backus-Naur-Form, kurz EBNF ist eine Erweiterung der Backus-Naur-Form (BNF). Sie ist formale Metasyntax die benutzt wird um kontextfreie Grammatiken darzustellen, beispielsweise die Syntax von Programmiersprachen.


Inhaltsverzeichnis



1 Motivation

2 Andere Ergänzungen und Modifikationen

3 Beispiel

4 Weblinks


Motivation

Die BNF benötigt teilweise umständliche Konstrukte, um optionale Elemente, also Elemente, die ausgelassen werden dürfen, sowie sich wiederholende Elemente, darzustellen. In der Spezifikation von PL/1 wurden bereits eckige Klammern "[...]" für Optionen eingeführt. Niklaus Wirth hat in der Definition der Sprache Pascal zusätzlich geschweifte Klammern "{..._}" für Wiederholungen in die BNF eingeführt und nannte dies extended BNF (erweiterte BNF).


Eine Zahl ist eine Ziffernfolge mit optionalem Minuszeichen als Vorzeichen. In BNF muss man mehrere Alternativen und eine Rekursion für die Ziffernwiederholung verwenden:


BNF


 <Zahl> ::= <Positive Zahl> | - <Positive Zahl>
<Positive Zahl> ::= <Ziffer> | <Ziffer> <Positive Zahl>

Lies: Eine Zahl ist entweder eine positive Zahl oder ein Minuszeichen gefolgt von einer positiven Zahl. Eine positive Zahl ist entweder eine Ziffer oder eine Ziffer gefolgt von einer positiven Zahl.


In EBNF kann man dies in einer einzigen Regel ohne Rekursion darstellen:


EBNF


 Zahl = [ '-' ] Ziffer { Ziffer } ;

Lies: Eine Zahl ist ein optionales Minuszeichen, gefolgt von einer Ziffer, gefolgt von keiner oder beliebig vielen weiteren Ziffern.


Das Minuszeichen kann weggelassen werden. Die Wiederholung kann auch keinmal auftreten (optionale Wiederholung). Die EBNF benötigt hier nur eine einzige Regel ohne Alternative, während die BNF zwei Regeln mit vier Alternativen benötigt, inklusive einer Rekursion (<Positive Zahl> enthält sich selbst in der eigenen Definition).



Andere Ergänzungen und Modifikationen

Zusätzlich beseitigt die EBNF einige Schwachstellen der BNF:


  • Die BNF verwendet selbst die Symbole (<, >, |, ::=). Wenn diese in der definierten Sprache auftauchen, kann die BNF nicht ohne Modifikation oder Erklärung verwendet werden.
  • Eine BNF-Syntax kann eigentlich nur einzeilige Regeln enthalten.


Die EBNF löst diese Probleme:


  • Terminalsymbole werden grundsätzlich in Anführungszeichen geschrieben ("..." oder '...'). Auf die spitzen Klammern ("<..._>") bei Nichtterminalsymbolen kann dann verzichtet werden.
  • Ein Endezeichen, normalerweise das Semikolon, kennzeichnet das Ende jeder Regel.


Darüberhinaus sind Erweiterungsmechanismen, Definition der Wiederholungszahl, Herausnehmen von Alternativen (zum Beispiel alle Zeichen ohne Anführungszeichen), Kommentare usw. vorgesehen.


Trotz aller Erweiterungen ist die EBNF nicht "mächtiger" als die BNF in Hinsicht der Sprachen, die sie definieren kann. Prinzipiell ließe sich jede in EBNF definierte Grammatik auch nach BNF übertragen, allerdings mit vermutlich wesentlich höherem Aufwand.


Die EBNF ist von der ISO standardisiert unter der Nummer ISO/IEC 14977:1996(E). Manchmal wird auch jede BNF, die mindestens um eckige Klammern für Optionen und geschweifte Klammern für optionale Wiederholung ergänzt wurde, als EBNF bezeichnet.


Beispiel

Eine ganz einfache Programmiersprache, die nur Zuweisungen erlaubt, kann in EBNF so definiert werden:


 (* ein einfaches Beispiel in EBNF - Wikipedia *)
Programm = 'PROGRAM' Bezeichner
'BEGIN' { Zuweisung [";"] } 'END' "." ;
Bezeichner = Buchstabe { ( Buchstabe | Ziffer ) } ;
Zahl = [ "-" ] Ziffer { Ziffer } ;
String = '"' { AlleZeichen - '"'} '"' ;
Zuweisung = Bezeichner ":=" ( Zahl |
Bezeichner |
String ) ;
Buchstabe = "A" | "B" | "C" | "D" | "E" | "F" | "G"
| "H" | "I" | "J" | "K" | "L" | "M" | "N"
| "O" | "P" | "Q" | "R" | "S" | "T" | "U"
| "V" | "W" | "X" | "Y" | "Z" ;
Ziffer = "0" | "1" | "2" | "3" | "4" | "5" | "6"
| "7" | "8" | "9" ;
AlleZeichen = ? alle sichtbaren Zeichen ? ;

Hier wurden die Standardsymbole ("=" für Definitionen, ";" als Endezeichen usw.) verwendet. Bei Bedarf darf davon abgewichen werden.


Ein syntaktisch zulässiges Programm wäre dann


 PROGRAM DEMO1
BEGIN
A0:=3;
B:=45;
H:=-100023;
C:=A;
D123:=B34A;
ESEL:=GIRAFFE;
TEXTZEILE:="Hallo, Welt!"
END.

Die Sprache kann leicht um Kontrollstrukturen, arithmetische Ausdrücke und Ein- beziehungsweise Ausgabeanweisungen ergänzt werden. Dann entstünde bereits eine brauchbare, kleine Programmiersprache.


Die folgenden Zeichen, die im Standard als normale Darstellung empfohlen werden, wurden hier verwendet:


VerwendungZeichen
Definition=
Endezeichen;
Option[ ... ]
Optionale Wiederholung{ ... }
Gruppierung( ... )
Anführungszeichen, 1. Variante" ... "
Anführungszeichen, 2. Variante' ... '
Kommentar(* ... *)
Spezielle Sequenz? ... ?
Ausnahme-

Weblinks



blättern» voriger Artikel | Hauptseite | nächster Artikel «blättern

Dieser Beitrag ist aus der XML-Version der deutschen WikiPedia® entwickelt worden und unterliegt inhaltlich den GNU FDL-Lizenzbestimmungen. Linkziele außerhalb der wikipedia-Inhalte unterliegen den Urheberrechten der jeweiligen Anbieter




Wörterbuch


Produkte
2000 Jahre
Chronik CD-ROM


Kalenderblatt in
Schmuckblatt
Ausführung


Geburtstags-Bios

Suchen/Google-Ads
Kalenderblatt
druckfertig
( DirectDownloads )
Kalenderblätter
druckfertig aufbereitet für Schmuckblätter
zum Selbstdrucken

im Word DOC6/RTF Format, je Euro 5
über Click&Buy
JAN | FEB | MÄRZ
APRIL | MAI | JUNI
JULI | AUG | SEPT
OKT | NOV | DEZ

Das Geschenk für jeden Anlass, nicht nur bei 'runden' Jubiläen
Andere Einzeltage
oder Zahlungsarten

bitte HIER bestellen


© 2000 ff by ICA-D, D-76751 Jockgrim, Germany
Verantwortlich im Sinne des Presse- und Multimedia-Rechts: Dipl.-Ing. Rainer Detering, Waidweg 18, 76189 Karlsruhe


| Immer | Unsere | InfoBitte weiterempfehlen
KALENDERBLATT von HEUTE | SUCH-Funktionen ALLE und nach BEREICHEN | Startseite
Welt-Chronik | Kunst-, Kultur-, Technik-Geschichte | Deutsche Chronik | 2000 Biografien | Bild-Datenbank
Gesetzestexte | SkateGuide | Online Jigsaw Puzzles | GeschenkTip | Produkte, Services, Impressum



*NEU* bei InfoBitte *NEU*



die deutsche WikiPedia
bei InfoBitte.de mit
650,000 Querverweisen zu
2000 Jahre Chronik



InfoBitte
Portal zu Portalen
Hauptseite


Suchfunktionen

Wissen, Biografien, Geschichte
besser gezielt suchen mit
domain-Filterung

die Links führen im neuen Fenster
zu den jeweiligen Hauptseiten,
das Anklicken eines Buttons zur
Filterung für die Google-Suche



Google
Lexika @ InfoBitte.de

ib InfoBitte.de (alle Lexika)
ib Universal-/Hand-Lexikon
die WikiPedia @ InfoBitte
ib L. WeltKunstGeschichte
ib L. Geteiltes Deutschland
ib L. Zweiter Weltkrieg

2000 Jahre Chronik

WeltChronik.de (Texte)
  
WeltChronik auf CDROM
deutsche Geschichte
Kultur-/TechnikGeschichte
WeltChronik Bilder
Chronik Biografien

Google
2000 Jahre Chronik
offline auf CDROM

Hier Kaufen


WeltChronik Jahr...
(eigene Suchfunktion)

Nur Zahl eingeben
Bereich: '0'-'2001'





Diese Web Site verdient ihr Geld durch Produktverkäufe (CD-ROM, downloads) und in erster Linie durch Anzeigen. Wenn Sie als Webmaster zuverlässige Partner suchen für Ihr eigenes Anzeigenschäft, dürfen Sie sich gerne auf unsere Empfehlungen stützen:
z.B.: GigaCash & ProfiWin