EBNF: Unterschied zwischen den Versionen

Aus KGS-Wiki
(Seite begonnen, da darf noch ein Beispiel)
 
(Beispiel ergänzt)
Zeile 3: Zeile 3:
* <code>[ ... ]</code> markiert einen optionalen Teil <code>http[s]</code> heißt: <code>http</code> oder <code>https</code>
* <code>[ ... ]</code> markiert einen optionalen Teil <code>http[s]</code> heißt: <code>http</code> oder <code>https</code>
* <code>{ ... }</code> markiert einen Teil, der beliebig oft wiederholt werden darf. <code>h{t}ps</code> heißt: <code>hps</code>, <code>htps</code> oder auch <code>htttttttttttttttttps</code>
* <code>{ ... }</code> markiert einen Teil, der beliebig oft wiederholt werden darf. <code>h{t}ps</code> heißt: <code>hps</code>, <code>htps</code> oder auch <code>htttttttttttttttttps</code>
== Beispiel ==
Die folgende Grammatik definiert Telefonnummern in EBNF:<syntaxhighlight lang="ebnf" line="1">
<Telefonnummer> ::= 0 <ZifferAusserNull> {<Ziffer>} / <ZifferAusserNull> {<Ziffer>}
<ZifferAusserNull> ::= 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<Ziffer> ::= 0 | <ZifferAusserNull>
</syntaxhighlight>
[[Kategorie:Sprache]]
[[Kategorie:Theoretische Informatik]]

Version vom 5. September 2023, 13:46 Uhr

Die Erweiterte Backus-Naur-Form ist eine Möglichkeit, um Grammatiken verkürzt aufzuschreiben. Die wesentlichen neuen Syntax-Elemente sind:

  • [ ... ] markiert einen optionalen Teil http[s] heißt: http oder https
  • { ... } markiert einen Teil, der beliebig oft wiederholt werden darf. h{t}ps heißt: hps, htps oder auch htttttttttttttttttps

Beispiel

Die folgende Grammatik definiert Telefonnummern in EBNF:

<Telefonnummer> ::= 0 <ZifferAusserNull> {<Ziffer>} / <ZifferAusserNull> {<Ziffer>}
<ZifferAusserNull> ::= 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<Ziffer> ::= 0 | <ZifferAusserNull>