Lexikalische Einheiten und Leerraum in C# [] (Lexikalische Einheiten und Leerraum in C#), Lektion, Seite 723256
https://www.purl.org/stefan_ram/pub/lexikalische_einheiten_csharp (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
C#-Kurs

Lexikalische Einheiten und Leerraum in C♯ 

Ein Numerale, wie das Literal »32«, besteht zwar aus zwei  Zeichen, stellt aber eine einzige Einheit (ein bestimmtes Numerale) dar. Solche Schreibweise werden auch oder lexikalische Einheiten  genannt. Die lexikalischen Einheiten entsprechen den Wörtern  des Deutschen.

Eine lexikalische Einheit ist ein wortartiges Gebilde.

Jeder Operator und jedes Literal gilt immer als jeweils eine lexikalische Einheit.

Quelltext wird als eine Folge lexikalischer Einheiten angesehen.

die bisher behandelten lexikalischen Einheiten
lexikalische Einheit
.----------.
|-|---.--->| Literal |---.--->|-|
| '----------' ^
| .----------. |
'--->| Operator |---'
'----------'

Das Zeichen »-« und das Numerale »65« sind beide jeweils eine lexikalische Einheit. Der Quelltext »-65« besteht beispielsweise aus zwei direkt aufeinanderfolgenden lexikalischen Einheiten.

Die Lehre vom Aufbau von Wörtern wird Morphologie  genannt. Da unsere Diagramme lexikalische Einheiten, also praktisch die Wörter der Programmiersprache, beschreiben, nennen wir sie auch morphologische Diagramme.

Das Leerzeichen

Das Leerzeichen gilt als ein Schriftzeichen wie jedes andere. Wenn ein Leerzeichen einmal besonders sichtbar gemacht werden soll, wird es auch als »« geschrieben.

Vergrößerte Darstellung eines sichtbar gemachten Leerzeichens


| |
'-------------------'

Das Zeilenendzeichen

Das Zeilenendzeichen beendet eine Zeile

Die Zeichen »a« und »b« hintereinander
ab
Die Zeichen »a« und »b« mit einem Zeilenendzeichen dazwischen
a
b

Das Zeilenendzeichen wird auch „Zeilenende“ genannt.

Leerraum

Das Gegenstück zu lexikalischen Einheiten ist der Leerraum. Leerraum  besteht aus einem oder mehreren direkt aufeinanderfolgenden Leerraumzeichen. Ein Leerraumzeichen  ist ein Leerzeichen (welches man im Deutschen normalerweise in einer Zeile zwischen  zwei Wörtern findet) oder ein Zeilenende. Auch im Deutschen können Wörter ja entweder durch ein Leerzeichen oder durch ein Zeilenende getrennt werden.

Leerraum wird durch ein oder mehrere direkt aufeinanderfolgende Leerzeichen und Zeilenendzeichen gebildet.

Leerraum ist also …
— ein Leerzeichen oder
— ein Zeilenendzeichen oder
— mehrere direkt aufeinanderfolgende Leerzeichen oder
— mehrere direkt aufeinanderfolgende Zeilenendzeichen oder
— eine beliebige Kombination mehrerer direkt aufeinanderfolgender Leerzeichen und Zeilenendzeichen.

Auch im Deutschen hängt die Bedeutung zweier aufeinanderfolgender Wörter ja normalerweise nicht davon ab, ob sie durch einem oder durch zwei Leerzeichen getrennt sind. Es ist auch oft schwierig genau zu sagen, wie viele Leerzeichen zwischen zwei Wörtern stehen. Deswegen wäre es unpassend, hier unterschiedliche Bedeutungen festzulegen. In C♯  ist dies genauso: Mehrere aufeinanderfolgende Leerzeichen haben keine andere Bedeutung als ein einzelnes Leerzeichen. Entsprechendes gilt für Zeilenenden oder Kombination aus Leerzeichen und Zeilenenden.

Leerraumdiagramme

Leerraum ist keine  lexikalische Einheit. Da wir mit morphologischen Diagrammen lexikalische Einheiten beschreiben, nennen wir die beiden folgenden Diagramme Leerraumdiagramme  (und nicht morphologische Diagramme). Die Regeln für die Interpretation dieser Diagramme sind aber dieselben wie bei lexikalischen Diagrammen.

Die Schreibweise von Leerraum
Leerzeichen
.-.
| |--->( ␣ )--->| |
'-' Zeilenende
.-.
| |--->( ↵ )--->| |
'-' Leerraumzeichen
.-------------.
| |---.--->| Leerzeichen |---.--->| |
| '-------------' ^
| .-------------. |
'--->| Zeilenende |---'
'-------------' Leerraum
.-----------------.
| |---.--->| Leerraumzeichen |---.--->| |
^ '-----------------' |
| |
'--------------------------'

Vor oder hinter eine lexikalische Einheit darf immer Leerraum eingefügt werden, ohne daß dies die Bedeutung des Programmes ändert.

Zwischen die beiden lexikalischen Einheiten »-« (Operator) und »65« (Numerale) darf also Leerraum eingefügt werden, dieser ist aber nicht nötig. Da ein Operator ja keine Ziffern enthalten kann, ist es klar, daß mit der Ziffer »6« eine neue lexikalische Einheit beginnen muß. Es spielt also keine Rolle, ob man ohne  Leerzeichen »-65« oder mit  Leerzeichen »- 65« schreibt.

Program.cs
public static class Program
{ public static void Main()
{ global::System.Console.WriteLine
( -65 ); }}
global::System.Console.Out
-65
Program.cs
public static class Program
{ public static void Main()
{ global::System.Console.WriteLine
( - 65 ); }}
global::System.Console.Out
-65
Program.cs
public static class Program
{ public static void Main()
{ global::System.Console.WriteLine
( -
65
); }}
global::System.Console.Out
-65

Leerraum innerhalb  lexikalischer Einheiten

In  eine lexikalische Einheit darf kein Leerraum eingefügt werden. Das Numerale »65« darf also nicht als »6 5« geschrieben werden.

Eine Ausnahme von der eben gegebenen Regel sind Zeichenfolgenliterale : Ein Zeichenfolgenliteral, wie »"a z"« ist auch dann eine einzige lexikalische Einheit, wenn es zwischen den Anführungszeichen Leerzeichen enthält. Dort macht es auch ein Unterschied, ob ein oder zwei Leerzeichen verwendet werden, weil dadurch jeweils eine andere Zeichenfolge festgelegt wird.

Ein Zeilenendzeichen darf innerhalb eines Zeichenfolgenliterals aber nicht verwendet werden.

Übungsfragen

?   Lexikalische Einheiten zählen

Aus wie vielen lexikalischen Einheiten besteht der Quelltext »-65« in dem folgenden Programm?

Program.cs
public static class Program
{ public static void Main()
{ global::System.Console.WriteLine
( -65 ); }}

?   Lexikalische Einheiten zählen (1)

Aus wie vielen lexikalischen Einheiten besteht der Quelltext »- 65« in dem folgenden Programm?

Program.cs
public static class Program
{ public static void Main()
{ global::System.Console.WriteLine
( - 65 ); }}

?   Lexikalische Einheiten zählen (2)

Aus wie vielen lexikalischen Einheiten besteht der Quelltext »-
65
« in dem folgenden Programm?

Program.cs
public static class Program
{ public static void Main()
{ global::System.Console.WriteLine
( -
65
); }}

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram723256 stefan_ram:723256 Lexikalische Einheiten und Leerraum in C# Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd723256, slrprddef723256, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/lexikalische_einheiten_csharp