Formale Sprache        zurück ]      [ Stichworte ]      [ Die Hyper-Bibliothek ]      [ Systemtheorie ]         [ Meine Bücher ]

Als formale Sprache bezeichne ich ein selbstferentielles Definitionsverfahren, durch welches die in den Texten der Sprache möglichen Folgen von Zeichenkörpern bestimmt werden.
In einer formale Sprache verweisen die Zeichen auf ihre eigene "Form", respektive auf Instanzen von sich selbst.

Beispiel:

Die Zeichen des Alphabetes der Backus-Naur-"Form" stehen als Symbole für die Pixelmuster, die sie selbst darstellen:


"T" steht für    bild     usw.
So wird der Zeichensatz durch eine Aufzählung eingeführt:

bild


  bild

Das Prinzip der selbstreferentiellen Codierung ist hier anhand von Rom versinnbildlicht.

{Zeichen} := T | U | V
{Wort} := {Zeichen} | {Zeichen} {Wort} (Wort im Sinne von Zeichenfolge)
bedeutet,
dass T, U und V Zeichenn sind und dass ein Wort aus einem Zeichen und allenfalls aus einem angehängten Wort besteht
dass also unter anderem folgende Gegenstände produziert werden können: T, TT, TTT, TU, TUU, VVV, UV, die in der damit beschriebenen Sprachsyntax als Symbole verwenden werden können.

Die populärste formale Sprache heisst sinnigerweise Backus-Naur-Form, eben weil sie eine Art Form darstellt. Sie wurde von J. Backus und P. Naur zur Definition der Programmiersprache Algol eingeführt. Die Bakus-Naur-Form kann nicht nur als Form für andere Sprachen verwendet werden, sondern - wie hier etwas verkürzt angedeutet - auch zur Beschreibung der eigenen Syntax:

bild

Syntax BNF Þ { Produktionsregel }
Produktionsregel Þ NichtTerminalSymbol "Þ" Ausdruck
Ausdruck ÞTsym | NTSym | { Ausdruck }

Die Backus-Naur-Form ist nur bedingt eine Sprache. Ich verwende sie, um Sprach-Formen zu erzeugen. Die Terminalsymbole von formalen Sprachen stehen als Platzhalter für in bezug auf die Zeichen identische Ausdücke von nicht-formalen Sprachen. Die formalsprachliche Form "ich spreche" bedeutet nichts anderes, als dass der Ausdruck "ich spreche" in der beschriebenen Sprache, wo er für etwas Bestimmtes steht, zulässig ist, weil er aus derselben Zeichenfolge besteht. Die tiefste Stufe der Backus-Naur-Form, die diesen Zusammenhang sichtbar macht, indem sie das jeweilige Alphabet einführt, wird häufig impliziert. Wir nehmen dann stillschweigend an, dass unsere "Ausdrücke" aus Buchstaben und Ziffern (und Spezialzeichen) bestehen:

bild

Buchstabe Þ A | B | C | D | ... | Z
Ziffer Þ 0 | 1 | 2 | 3 | ... | 9
Ausdruck Þ Buchstabe | Ziffer | Ausdruck

In dieser Darstellung steht ”|” für ”oder”. ”Ausdruck” wird, wie früher erwähnt, rekursiv generiert. Jeder Ausdruck beginnt mit einem einzelnen Zeichen. Wenn der Ausdruck mehrstellig ist, enthält er das Nichtterminal ”Ausdruck”, das wiederum ”Ausdruck” enthalten kann.

Formale Sprachen beschreiben die zu beschreibende Sprache in einer sehr unmittelbaren Weise. Sie verweisen wie analoge Bilder ohne explizite Vereinbarung. Da die Referenten der Bilder mit den Bildern vollständig identisch sind, entfällt sogar die Abstraktion der Form. Formale Sprachen sind in dem Sinne eigentliche Sprachen, als sie in gewisser Hinsicht auf etwas Aussersprachliches verweisen. Sie sind unmittelbar selbstbezügliche Sprachen, deren Terminale für produzierte Gegenstände, nämlich für die Entitäten eines physischen Alphabets, also für die materiellen Pixelanordnungen stehen.

R. Herschel schreibt in seinem Pascal-Lehrbuch unter dem Titel Darstellung der Syntax: ”Ein Programm ist eine Folge von Zeichen, die nach bestimmten Regeln aneinandergefügt werden müssen. Diese Regeln nennt man die Grammatik oder Syntax der Sprache” (Herschel/Pieper, 1979,14).

Der Informatik-Duden schreibt: ”Eine Sprache wird durch eine Folge von Zeichen, die nach bestimmten Regeln aneinandergereiht werden dürfen, definiert. Den hierdurch beschriebenen formalen Aufbau der Sätze oder Wörter, die zur Sprache gehören, bezeichnet man als ihre Syntax” (Duden, Informatik,1988, 591).

Hinweis:
Programmiersprachen sind - in dieser Vereinbarung - keine formalen Sprachen, sondern werden durch formale Sprachen vollständig definiert. In einem umgangssprachlichen Sinn sind Programmiersprachen Formelsprachen.
In einem alternativen Vereinbarungszusammenhang wird das, was ich hier als "formale Sprache" bezeichnee, als formale "Meta-Sprache" bezeichnet, wobei dann Programmiersprachen als formale Sprachen bezeichnet werden. Der Ausdruck "formal" steht dann weniger für Form, sondern eher für eine Art Künstlichkeit im Gegensatz zu einer vermeintlichen Natürlichkeit der "natürlichen Sprachen.

Formal bedeutet nicht unnatürlich sondern inhaltsleer. Siehe dazu formale Begriffe

S. Krämer (siehe unten) spricht in diesem Zusammenhang anstelle von Sprache von Typographie, was die Sache aber auch nicht wirklich trifft, aber wenigstens zeigt, dass es um Formgebung geht.


 

Alte Version:
Differenztheoretisch kann eine formale Sprache als Differenz zwischen einer Sprache und einem Definitionsverfahren gesehen werden, durch welches die in der Sprache möglichen Folgen von Zeichenkörper bestimmt werden.
In einer formale Sprache verweisen die Zeichen auf ihre eigene Form, respektive auf Instanzen von sich selbst.


 

Literatur:

R. Keil-Slawik, 1992, 179, verweist auf S. Krämer, 1988, 176-183: "(...) the notion of formal language is (...) already misleading. What matematicians and computer scientists develop and work with are, striktly speaking, formal typographies."
"Die Grenzen der Formalisierbarkeit sind die Grenzen eines mechanisch verfahrenden, phantasielosen Verstandes. Die Auszeichnung unserer Vernunft liegt nicht nur darin, einer Regel zu folgen, sondern auch darin, eine Regel gegebenenfalls ausser Kraft setzen zu können. Ohne diese Fähigkeit zur Ausserkraftsetzung könnten die Bedingungen, die erfüllt sein müssen, damit wir formalisierte Systeme aufbauen können, überhaupt nicht erfüllt werden" (Krämer, 1988, 181).
"Die Möglichkeit, einen Vorgang formal zu beschreiben, d.h. ihn in den Termini einer formalen Sprache ausdrücken zu können, ist an drei Bedinungen gebunden: die Bedinung des schriftlichen Symbolgebrauches, die Bedingung des schematischen Symbolgebrauchs und die Bedingung des interpretationsfreien Symbolgebrauchs" (ebd., 1). Oder wie Keil-Slawik, 1990 (2), 146, es ausdrückt: "Schriftlichkeit ist, wie Sybille Krämer feststellt, neben Schematisierbarkeit und Interpretationsfreiheit die Vorraussetzung zur Formalisierung."

Die Interpretationsfreiheit meint, "dass wir bei Operationen innerhalb der formalen Sprache keinen Bezug zu nehmen brauchen auf das, was ihre Zeichen bedeuten. Über die Richtigkeit oder Falschheit eines Ausdrucks innerhalb einer formalen Sprache lässt sich entscheiden ohne Bezugnahme auf die Interpretation diese Ausdruckes" (ebd., 2).
"Formal beschreibbare Welten verfügen über keine Geschichte" (ebd., 4).

Vgl. Keil-Slawik, 1990 (2), 155f. Es gibt eigentlich keine formalen Sprachen, sondern nur formale Schriften!

Vgl. Weizenbaum, 1977, 77ff.


 
[wp]