[an error occurred while processing this directive]

Einführung in Literale und Numerale im Rahmen der Lehre formaler Sprachen. [] (Literal, Literale, Literals, Numeral, Numerale, Numerals), Lektion, Seite 720594
https://www.purl.org/stefan_ram/pub/formal_literal_de ist die kanonische URI dieser Seite.
Stefan Ram

Literale

Ein Literal  ist ein durch seine formale Sprache festgelegter Name eines Wertes. Es repräsentiert also einen bestimmten Wert im Quelltext einer formalen Sprachen.

Die Literale entsprechend den Substantiven der deutschen Sprache, die manchmal auch „Namenswörter“ genannt werden. So wie das Wort „Mond“ es erlaubt, von dem Trabanten der Erde zu sprechen, erlauben Literale es, in einem Programm von bestimmten Werten zu sprechen

Der Wert eines Literals ist durch die verwendete formale Sprache eindeutig bestimmt. Das bedeutet, daß der Wert eines Literals bereits durch den Quelltext  festgelegt ist und nicht erst später (etwa während einer Interpretation) bestimmt wird und, daß der Wert eines Literals in einem Quelltext nicht  irgendwie „umdefiniert“ werden kann, sondern in jedem Zusammenhang der gleiche ist.

Falls der Wert eine Zahl ist, dann spricht man auch von einem Numeral.

Das Numeral »72« ist also ein Beispiel für ein Literal.

Literale werden gelegentlich auch als „Konstanten“ bezeichnet, doch könnten Konstanten auch innerhalb einer Übersetzungseinheit definiert worden sein. Daher ist die Bezeichnung „Literal“ für die hier behandelten Schreibweisen treffender.

Literal und Wert

Der Wert des Numerals "0" ist in vielen formalen Sprachen gleich dem Wert des Numerals "00". Wir haben hier also zwei verschiedene Numerale, die aber den gleichen Wert  bezeichnen. Daran kann man lernen, daß Literale nicht das gleiche sind wie Werte.

Ein Wert und seine Literale

/|\ 
/ | \ ... 
/ | \ 
0 00 000 ... 

Die Werte selber  kann man nicht hinschreiben oder aussprechen. Sobald ein Wert mindestens ein Literal hat, kann man von ihm unter Verwendung dieses Literals sprechen.

Ganzzahlige Numerale

Einfache ganzzahlige Numerale bestehen aus Ziffern.

Beispiele fuer ganzzahlige Numerale


12

Gleitkomma-Numerale

Viele formale Sprachen kommen aus englischsprachigen Ländern, in denen man meist einen Dezimalpunkt  anstelle des in Deutschland üblichen Dezimalkommas verwendet. Diese Schreibweise wird in vielen formalen Sprachen übernommen. Die Zahl 12,2 wird also in vielen formalen Sprachen durch das Numeral »12.2« geschrieben.
Eine einzelne »0« vor oder nach dem Dezimalpunkt kann oft auch weggelassen werden, so daß die Zahl 0,1 als das Numeral ».1« und die Zahl 1,0 als das Numeral »1.« geschrieben werden kann. Das Numeral »1« benennt eine Ganzzahl, während das Numeral »1.« der Name einer Gleitkommazahl ist.

Für die Darstellung von Gleitkommazahlen wird auch gelegentlich eine sogenannte „wissenschaftliche“ Darstellungsart verwendet, in der nach dem Buchstaben »E« ein Exponent angegeben wird. Die vor dem Buchstaben »E« stehende Zahl ist dann mit der durch den Exponenten angegebenen Zehnerpotenz zu vervielfachen. Das Numeral »4E3« steht also beispielsweise für 4·10³.

Ein Numeral in dieser „E-Schreibweise“ gilt in vielen formalen Sprachen als Gleitkommanumeral.

Beispiele fuer Gleitkommanumerale
0. 
17. 
0.1 
12.0001 
3.434E-14 
3.234983443E5

Übungsfrage Welche Zahlen werden durch die obigen Numerale benannt?

Ein häufiger Flüchtigkeitsfehler deutschsprachiger Autoren ist es, bei Gleitkommazahlen in formalen Sprachen statt des Dezimalpunktes ein Dezimalkomma zu schreiben.

Texte in einer formalen Sprache können aber durchaus die Verarbeitung von Eingaben  oder Herstellung von Ausgaben  beschreiben, so daß in den Ein- oder Ausgaben Dezimalkommas verwendet werden können. Das ist also unabhängig davon, daß Gleitkommaliterale in der formalen Sprache selber meist einen Dezimalpunkt verwenden.

Textliterale

Zeichenfolgen in Anführungszeichen sind in den meisten formalen Sprachen Textliterale. Der Wert  eines Textliterals ist ein Text.

So ist »"ab"« ein Literal für einen Text mit zwei Zeichen, nämlich dem Buchstaben »a« an der ersten Stelle und dem Buchstaben "b" an der zweiten Stelle. Der leere Text  hat die Länge Null, er hat gar keine Zeichen und wird meistens als »""« (das sind zwei Gänsefüßchen direkt hintereinander) geschrieben.

Beispiele fuer Textliterale
"Hallo!" 
"ab" 
"2" 
""

Solche Texte werden auch also „Zeichenketten “—oder kurz als „Ketten “—bezeichnet.

Zeichenliterale

In vielen formalen Sprachen gibt es Zeichenliterale.

Zu deren Verständnis muß man wissen, daß Zeichen meistens durch eine bestimmte Kennzahl repräsentiert werden.

Ein Zeichenliteral steht in vielen Sprachen für diese Kennzahl und damit überraschenderweise für eine bestimmte Zahl  (und nicht etwa für ein Zeichen im Sinne einer Zeichenkette der Länge 1).

Wenn die Kennzahl des Zeichens »a« beispielsweise 97 ist, hat das Zeichenliteral »'a'« den Wert 97. Verblüffenderweise ist dementsprechend auch der Wert des Zeichenliterals »'2'« im allgemeinen nicht die Zahl 2, sondern beispielsweise 50.

Zeichenliterale werden meistens in Hochkommas geschrieben (in einfachen Anführungszeichen)

Beispiele fuer Zeichen-Literale
'a' 
'2'

Wahrheitswert-Literale

In den formalen Sprachen, die auch einen Datentyp für Wahrheitswerte haben, gibt es auch Literale dieses Typs. Auch hier ist oft wieder die englische Sprache das Vorbild, so daß sich die beiden Literale oft von den englischen Begriffen für „wahr“ und „falsch“ ableiten.

Beispiele fuer Wahrheitswert-Literale
true 
false

Übungsfragen

Um welche Art von Literal handelt es sich in den folgenden Fällen?

Zu Auswahl stehen Ganzzahlliterale, Gleitkommaliterale, Textliterale, Zeichenliterale und Wahrheitswertliterale.

Beispiele fuer Literale
17.2 
12 
false 
'a' 
12E2 
"12E2" 
1.

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Von der Stefan-Ram-Startseite ausgehend finden sich oft noch mehr Informationen zu Themen, die auf einer Seite angesprochen wurden. (Eine Verbindung zur Stefan-Ram-Startseite befindet sich ganz oben auf dieser Seite.)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. slrprd, PbclevtugFgrsnaEnz