EBNF: Unterschied zwischen den Versionen

Aus KGS-Wiki
(Beispiel ergänzt)
K (Runde Klammern ergänzt)
Zeile 1: Zeile 1:
Die [[EBNF|Erweiterte Backus-Naur-Form]] ist eine Möglichkeit, um [[Formale Sprache#Grammatik|Grammatiken]] verkürzt aufzuschreiben. Die wesentlichen neuen Syntax-Elemente sind:
Die [[EBNF|Erweiterte Backus-Naur-Form]] ist eine Möglichkeit, um [[Formale Sprache#Grammatik|Grammatiken]] verkürzt aufzuschreiben. Die wesentlichen neuen Syntax-Elemente sind:


* <code>[ ... ]</code> markiert einen optionalen Teil <code>http[s]</code> heißt: <code>http</code> oder <code>https</code>
* Runde Klammern <code>( ... )</code> funktionieren wie in der Mathematik.
* <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>
* Eckige Klammern <code>[ ... ]</code> markieren einen optionalen Teil <code>http[s]</code> heißt: <code>http</code> oder <code>https</code>
* Geschweifte Klammern <code>{ ... }</code> markieren 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 ==
== Beispiel ==

Version vom 7. September 2023, 06:21 Uhr

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

  • Runde Klammern ( ... ) funktionieren wie in der Mathematik.
  • Eckige Klammern [ ... ] markieren einen optionalen Teil http[s] heißt: http oder https
  • Geschweifte Klammern { ... } markieren 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>