EBNF: Unterschied zwischen den Versionen
Aus KGS-Wiki
Sn (Diskussion | Beiträge) Beispiel ergänzt |
Sn (Diskussion | Beiträge) 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> | * Runde Klammern <code>( ... )</code> funktionieren wie in der Mathematik. | ||
* <code>{ ... }</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 Teilhttp[s]heißt:httpoderhttps - Geschweifte Klammern
{ ... }markieren einen Teil, der beliebig oft wiederholt werden darf.h{t}psheißt:hps,htpsoder auchhtttttttttttttttttps
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>
