Читать книгу Algorithmen und Datenstrukturen - Gunter Saake - Страница 43
Beispiel 2.6 Syntax für Pseudocode-Algorithmen
ОглавлениеAls etwas komplexeres Beispiel betrachten wir die Syntax für die eingeführten Pseudocode-Algorithmen.
atom | ::= | ’addiere 1 zu x’ | … |
bedingung | ::= | ’x=0’ | … |
sequenz | ::= | block; block |
auswahl | ::= | falls bedingung dann block | falls bedingung dann block sonst block |
schleife | ::= | wiederhole block bis bedingung | solange bedingung führe aus block |
block | ::= | atom | sequenz | auswahl | schleife |
Für Atome und Bedingungen müssen jeweils geeignete Konstanten aufgelistet werden, da die Syntax an dieser Stelle nicht festgelegt war.
BNF-Syntax-Festlegungen sind insbesondere relevant für die Definition der Syntax für Programmiersprachen und die Definition komplexerer Dateiformate. Die BNF bildet dabei eine spezielle Form kontextfreier Grammatiken (diese werden später im Studium genauer behandelt).
EBNF und Syntaxdiagramme
Verbreitet sind Erweiterungen der BNF (oft EBNF für Extended BNF). Diese integrieren Elemente regulärer Ausdrücke (optionale Teile mittels [...], Iterationen mittels {...}) in die einfache BNF-Notation (siehe etwa den Eintrag Backus-Naur-Form im Duden Informatik [Vol03]). Die verbreiteten Syntaxdiagramme bilden eine grafische Variante (siehe ebenfalls in [Vol03]).