[…] Die Sprache soll eine Beschreibungssprache werden, die
Datensätze beschreibt […] Gehe ich beim Entwurf da entsprechend vor
wie bei einem DB-Entwurf? […]
Ja, die Methodik kann man durchaus vergleichen. Bei der Datenbankmodellierung betrachtest Du Entitäten, die Du in Relation zueinander setzen musst. Beim Sprachentwurf überlegst Du Dir analog, welche Eigenschaften der Objekte Du in Deine Sprache integrieren willst. Bei einer Datenbeschreibungssprache sind das z.B. Datenformat, ggf.- Länge, Ausprägungsmöglichkeiten. Schau Dir beispielsweise mal die Property- Eigenschaft im Field- Objekt in Visual Basic an.
Eine Metasprache stellt mir keine Methodiken zum Entwurf bereit, sondern ist lediglich eine Möglichkeit zur Umsetzung. Es geht schließlich ja auch ohne Metasprache…
Was ich suche ist eine methodische Herangehensweise für den Entwurf einer Sprache.
Grüße
Dirk
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
ich stehe gerade vor folgender Frage:
Wie entwirft man ordentlich eine Sprache?
Das ist schon die falsche Frage.
Was ich suche ist eine methodische Herangehensweise für den
Entwurf einer Sprache.
WARUM und WOZU entwerfe ich eine neue Sprache.
Daraus ergibt sich dann die zu verwendende Methodik.
Es bestand mal die Idee eine Programmiersprache zu haben, welche sich (fast) wie ien englischer Text liest, kennt man heute als COBOL.
Dann gab es einen armen Kerl in einer astronomischen Abteileun, welche mit den unterschiedlichsten Computern astronomische Geräte steuern musste. Zudem war er auch noch gezwungen alles selber zu portieren
-> FORTH (eigentlich sollte sie FO U RTH heissen, weil es die vierte Version war, aber das verwendete Dateisystem liess nur 5 Zeichen für den Dateinamen zu).
Übrigens sind FORTH und PostScript eigentlich eng verwandte Sparachen.
Es gab auch einen Ansatz sehr mächtige Operationen, so einfach wie in der Mathematik zu schreiben
-> APL (Zur damaligen Zeit benötigte man aber spezielle Terminals für APL, da APL für Operationen diverse eigene Graphik-Zeichen verwendet).
Dann war da der Professor, welchen seinen Studenten richtiges modulares Programmieren beibringen wollte
-> PASCAL.
Parser benötigt man schon bei jeder Comanndo-Zeile, das ist somit auch schon eine Sprachdefinition.
Und dann war noch die Idee, eine „Sprache für Alles“ zu haben. Dazu konnte damals jeder seine Wünsche anbringen. In einem Gremium wurde dann die eigentlich Sprache entwickelt, was zu einem sehr inkonsistenten Gebilde führte
-> ADA
Auch bei Sprachen, wie bei jeder Entwicklung, muss zuerst ein Ziel vorgegeben werden. Daraus kann man dann die Anforderungen ableiten und die Technologie gibt dann die Wege vor.