Ich bin dabei, eine domänenspezifische Sprache zur Darstellung sozialer Lernkonventionen zu implementieren. Teil der Implementierung ist eine formale Beschreibung einer Sprache - ihrer 'Analysis', Symbole und logischen Ausdrücke.
Mein Ansatz wäre es, die Sprache durch Beschreibung ihrer Grammatik zu beschreiben, aber es gibt auch Konzepte wie Beziehungen, Dialoge, Erwartungen, die einen theoretischeren Ansatz und die Beschreibung der Logik erfordern.
Ich möchte um ein Beispiel und eine Literaturempfehlung (Papiere, Bücher) bitten, die mir bei dieser Beschreibung helfen würden. Ich fühle mich relativ kompetent bei der Bewältigung dieser Aufgabe, daher bitte ich nicht um eine vollständige Handhaltung, aber die Hilfe eines Theoretikers in diesem Bereich wäre sehr dankbar.
Antworten:
Es gibt zwei Teile der Semantik, die Sie beschreiben müssen:
statische Semantik : Struktur wohlgeformter Programme
Dynamische Semantik : Bedeutung der Ausführung von Programmierungen
Statische Semantik hat normalerweise die Form von Typsystemen. Ich würde empfehlen, die Bücher von Benjamin C Pierce und Robert Harper zu lesen . Alternativ können Sie die Regeln wohlgeformter Programme als Sammlung von (formellen oder informellen) Aussagen schreiben, die die Gültigkeitsbedingungen Ihres Programms beschreiben. Der formale Ansatz von Typsystemen bietet einen bekannten Rahmen für solche Spezifikationen.
Es gibt viele Formalismen, um die dynamische Semantik auszudrücken, die Sie als Grundlage betrachten sollten:
Es sollte viele Bücher zu diesen Themen geben. Eine gute Einführung ist Nielson und Nielsons Semantik mit Anwendungen . Eine herunterladbare Version ist auf der Website der Autoren verfügbar . Es gibt auch eine neuere Ausgabe, aber ich habe sie nicht gesehen.
In jedem von diesen gibt es Entscheidungen zu treffen. Wenn Sie sich beispielsweise für die Verwendung der operativen Semantik entscheiden, gibt es eine Semantik mit großen Schritten, eine Semantik mit kleinen Schritten, eine Semantik basierend auf beschrifteten Übergangssystemen und eine Semantik basierend auf einer Umschreibungslogik.
Beim Verfassen von Verträgen: Ein Abenteuer in der Finanztechnik geben Simon Peyton Jones et al. Einer finanziellen DSL eine denotationale Semantik.
Die denotationale und statische Semantik einer domänenspezifischen Sprache für das Flow-Network-Design von Assaf Kfoury präsentiert eine denotationale Semantik für ein Flow-Network-DSL
Andrei Lapets 'Dissertation Algebraische Semantik domänenspezifischer Sprachen diskutiert die algebraische Semantik von DSLs.
Es gibt viel mehr: dies , dass , einen in Bezug auf den abstrakten Maschinen , ein anderer .
Welchen Ansatz Sie wählen sollten, hängt davon ab, welche Sprache Ihr DSL ist, welche Erfahrung Sie mit dem Entwerfen von Semantik haben und welche persönlichen Vorlieben Sie haben.
Ohne konkrete Details kann ich nicht weiter helfen.
quelle