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:http
oderhttps
- Geschweifte Klammern
{ ... }
markieren einen Teil, der beliebig oft wiederholt werden darf.h{t}ps
heißt:hps
,htps
oder 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>