Vergleich von Unotal mit s-Ausdrücken. (Unotal, s-expressions, s-Ausdrücke), Lektion, Seite 721992
https://www.purl.org/stefan_ram/pub/unotal_verglichen_mit_s-ausdruecken (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram

Unotal  verglichen mit S-Ausdrücken

Attribute

Bei S-Ausdrücken gibt es keine standardisierte Schreibweise für Attribute. Zwar kann man mit S-Ausdrücken Attribute darstellen, aber, wie dies geschieht, wird nicht einheitlich gehandhabt.

Es folgen verschiedene Schreibweisen für eine Liste mit der Zuordnung "name=value" und der Zuordnung "name1=value1", die so alle verschiedenen Quellen entnommen wurden.

Verschiedene Schreibweisen einer Zuordnung mit S-Ausdrücken
(Beispiel (Name "Wert") (Name1 "Wert1"))
(Beispiel (Name -> "Wert") (Name1 -> "Wert1"))
(Beispiel ((Name "Wert") (Name1 "Wert1")))
(Beispiel '((Name "Wert")(Name1 "Wert1")))
(Beispiel Name: "Wert" Name1: "Wert1" )
(Beispiel 'Name "Wert" 'Name1 "Wert1")

In Unotal  schriebe man:

Schreibweise einer Zuordnung in Unotal 
< &Beispiel Name=Wert Name1=Wert1 >

Spezifikation

Die zuvor beschriebene Uneinheitlichkeit der Attributschreibweise ist eine Konsequenz des Fehlens einer allgemein anerkannten Spezifikation für S-Ausdrücke. Es gibt nur verschiedene Varianten. Anders gesagt, wenn man von „S-Ausdrücken“ spricht, ist nicht klar, welche formale Sprache damit genau gemeint ist, solange dies nicht ausdrücklich angegeben wird.

Unotal  hat allerdings auch noch keine Spezifikation.

Typen

Das erste Element eines S-Ausdrucks wird gelegentlich als dessen „Etikett“ bezeichnet. In Unotal  hat der erste Eintrag in einem Raume hingegen keine besondere Bedeutung oder Rolle.

In Unotal  wird der Typ eines Raums ausdrücklich mit einem kaufmännischen Und-Zeichen "&" gekennzeichnet. Räume können einen Typ haben, der folgende hat den Typ "href":

Unotal -Raum mit dem Typ "href"
< &href a=[http://yahoo.com] Yahoo >

Es ist aber auch möglich, daß ein Raum zwei  Typen hat:

Unotal -Raum mit dem Typ "emph" und dem Typ "bold"
< &emph &bold [Wichtig!] >

Es ist nicht klar, wie eine Liste mit zwei Etiketten mit S-Ausdrücken geschrieben wird. Vielleicht ist folgendes eine gute Näherung, die den Autor aber zwingt, eine Verschachtelung zu notieren, die nicht unbedingt beabsichtigt ist.

S-Ausdruck, der einem Text zwei Etikette zuordnet
( emph ( bold "Wichtig!" ))

Ein Raum kann auch gar keinen  Typ haben:

Typlose Räume in Unotal
< &bookmarks &UnoDB
< [Der Katalog Yahoo] [http://www.yahoo.de] >
< [Die Suchmaschine Google] [http://www.google.de] >>

Hier ist die Bedeutung der Einträge ("Spalten") in den beiden Innenräumen (die in den beiden letzten Zeilen stehen) bereits durch den Außentyp "&bookmarks" gegeben. Sie sind selber typlos.

Mit S-Ausdrücken ließe sich etwas Vergleichbares ebenfalls notieren. Falls die verwendete Spezifikation festlegt, daß das erste Element immer  ein „Etikett“ sein soll, so kann dort ja "NIL" angegeben werden. Falls die verwendete Spezifikation keine Aussage darüber macht, was als Etikett einer Liste gilt, so kann dieses Detail der Schreibweise irgendwie von der Anwendung festgelegt werden, ist dann aber weniger einheitlich in verschiedenen Anwendungen geregelt.

Anführungszeichen

In Unotal -Kettenliteralen können auch Anführungszeichen durch Anführungszeichen dargestellt werden, während in S-Ausdrücken Zeichenpaare verwendet werden müssen.

Kettenliteral in Unotal 
< &Lektion [In C ist "a[0]" ein Ausdruck.] >
Kettenliteral in einem S-Ausdruck
( Lektion "In C ist \"a[0]\" ein Ausdruck." )

Auch gepaarte eckige Klammern werden in Unotal -Kettenliteralen durch sich selbst dargestellt. Nur einzelne eckige Klammern und der inverse Schrägstrich müssen umschrieben werden.

Symbole

In Unotal  gibt es keine Symbole, nur Kettenliterale. (Auf Unotal  aufbauende Notationen können allerdings bestimmte Ketten als „Symbole“ interpretieren.)

In dem Raumliteral "< alpha & beta gamma=delta >" sind also der Text "alpha", der Text "beta", der Text "gamma" und der Text "delta" zunächst alles Kettenliterale. Daher kann dieser Raum auch als durch das Raumliteral "< [alpha] & [beta] [gamma] = [delta] >" geschrieben werden.

Die Kette "[beta]" wird dann wegen des kaufmännischen Und-Zeichens "&" als ein Typ des Raums interpretiert und die Kette "[gamma]" wegen des ihr folgenden Gleichheitszeichens "=" als Name eines Namen-Wert-Paares. Daher können solche Namen auch alle druckbaren Zeichen des Unicode enthalten und nicht nur spezielle „Namenszeichen“.

Zeichensatz

Für Unotal  ist der Zeichensatz Unicode  ausdrücklich festgelegt, und alle Werkzeuge müssen die Darstellung UTF-8  unterstützen.

Gepunktete Paare

In Unotal  gibt es keine gepunkteten Paare.

Mengen

Für Unotal  ist eine—bisher noch nicht implementierte—Mengenschreibweise mit (den auch in der Mathematik für Mengen verwendeten) geschweiften Klammern vorgesehen.

Mengenwertige Eigenschaft in Unotal 
< name = [Peter Müller] Staatsangehörigkeit = { DE US } >

Dies hätte die gleiche Bedeutung wie die Zuordnung der beiden Elemente zum selben Namen.

Zuordnung zweier Elemente an einen Namen
< name = [Peter Müller] 
Staatsangehörigkeit = DE
Staatsangehörigkeit = US >

Unotal  definiert eine Standardsemantik für Eigenschaften:

Raum mit einer Eigenschaft in Unotal
< gamma = delta >

Die Standardsemantik besagt, daß der angegebene Raum einen Deskriptanden beschreibt und die Relation mit dem Namen "gamma" zwischen dem Deskriptanden und dem Text "delta" oder dem Objekt "delta" besteht.

Interpretation einer Eigenschaft in Unotal 
                  gamma >
Deskriptand --------------------- delta

Da ein Deskriptand aber in derselben  Relation zu mehreren Entitäten stehen kann, sind in Unotal  mehrere Eigenschaften mit demselben  Namen innerhalb eines Raumes gestattet, wie das obige Beispiel anhand der Staatsangehörigkeit illustrierte.

Wegen analoger Überlegungen kann ein Raum auch mehrere Typen haben. So kann ein Artikel  eines Warenhauses gleichzeitig ein Tonträger  sein.

Ein Raum mit mehreren Typen
< &Artikel   Artikelnummer=[93728] Preis=< 12 &EUR >
&Tonträger Interpret=[Jethro Tull] Spieldauer=< 2520 &seconds >>

Die Einheiten zeigen auch noch einmal einen Typ, der am Ende des Raumes steht.

Einige Varianten von S-Ausdrücken erlauben tatsächlich die Notation von Mengen durch eine Notation wie beispielsweise "(* set alpha beta gamma )".

Terminologie

Bei S-Ausdrücken spricht man von einer „Liste“, die „Elementen“ (Listen oder Atome) und manchmal Plätze (“slots ”) enthält.

Eine Liste mit zwei Elementen: Einem Atom und einem Platze "beta"
( alpha beta: gamma )

In Unotal  spricht man von einem „Raum“, der „Einträge“, nämlich Räume, Ketten und „Zuordnungen“, enhält.

Ein Raum mit zwei Einträgen: Einer Kette und einer Zuordnung
( alpha beta=gamma )

Die Bezeichnung „Element“ wird in Unotal  nur für die Elemente einer Menge verwendet.

Glaubwürdigkeit

Als „Glaubwürdigkeit“ wird hier beschrieben, wie sehr die Befürworter einer Notation diese auch selber verwenden.

Es zeigt sich, daß Dokumentation für LISP, Scheme  oder S-Ausdrücke selten selber mit S-Ausdrücken notiert wird, sondern beispielsweise oft mit LaTeX. Dies ist dann nicht selbstverständlich, wenn gleichzeitig auf die Eignung von S-Ausdrücken als Sprache zur Textauszeichnung, etwas als Alternative zu XML, hingewiesen wird.

Die Spezifikation von Unotal  wird vermutlich mit Microsoft ® Word 2000 geschrieben werden. Die Textauszeichnungssprache Portark  basiert auf Unotal , ist aber noch nicht implementiert.

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 stefanram721992 stefan_ram:721992 Unotal, s-expressions, s-Ausdrücke Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd721992, slrprddef721992, 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/unotal_verglichen_mit_s-ausdruecken