Ein Blick in die Grammatik von Python
Regeln zur Beschreibung von Gleitkommazahlen
Die Darstellung von Gleitkommazahlen wird - neben vielen anderen Bestandteilen von Python - in der Grammatik von Python festgelegt. Auf der Seite Lexical analysis findest du einen Auszug aus dieser Grammatik, in der es um die Darstellung von Gleitkommazahlen geht. Benutzt wird die sogenannte Extended-Backus-Naur-Form (EBNF).
... floatnumber ::= pointfloat | exponentfloat pointfloat ::= [intpart] fraction | intpart "." exponentfloat ::= (intpart | pointfloat) exponent intpart ::= digit+ fraction ::= "." digit+ exponent ::= ("e" | "E") ["+" | "-"] digit+ digit ::= "0"..."9" ...
Diese Grammatikregeln können folgendermaßen in Syntaxdiagramme übersetzt werden:
floatnumber:
pointfloat:
exponentfloat:
intpart:
fraction:
exponent:
digit:
Aufgabe 1
(a) Versuche, mit Hilfe der Syntaxdiagramme die Bedeutung der Symbole in den zugehörigen Regeln zu erschließen.
(b) Erläutere mit den Grammatikregeln bzw. Syntaxdiagrammen, dass alle im Folgenden aufgelisteten Zeichenketten korrekt gebildete Gleitkommazahlen in Python sind.
- 3.14
- .14
- 3.
- 007.007
- 2e2
- .2e2
- 0e+0
- 0e-0