Formale Semantik von Programmiersprachen

17

Ich bin neu in der Theorie der Programmiersprachen und suche nach einer guten Ressource für die formale Semantik von Programmiersprachen. Speziell auf der Suche nach struktureller operativer Semantik. Ich habe einige Buchempfehlungen erhalten. Aber ich suche eine Ressource in einer einleitenden Ebene. Insbesondere Tutorials, Webseiten und kostenlose Buchempfehlungen sind willkommen.

Systemfehler
quelle
Ich wollte genau den gleichen Link posten, bemerkte dann aber, dass das OP bereits erwähnte, dass sie Buchrezensionen hatten und nach anderen Referenzen suchten
Suresh Venkat

Antworten:

8

Structural Operational Semantics (SOS) ist ein sehr allgemeines Konzept. Es handelt sich im Wesentlichen nur um eine binäre Beziehung zu Konfigurationen (normalerweise Programme plus einen Kontext wie state oder verfügbare Fortsetzungen) oder im Fall einer bezeichneten Semantik um eine ternäre Beziehung zwischen Konfigurationen, Aktionen (die bestimmte minimale Kontexte darstellen) und Konfigurationen. Das "strukturelle" Bit ist in der Regel, dass diese Beziehungen über die beteiligte Syntax (z. B. Konfigurationen und Aktionen) induktiv definiert werden.

Ohne weitere Anforderungen sind die mathematischen Einheiten, die wir in SOS für zu allgemein halten, um für sich selbst interessant / nachvollziehbar zu sein.

SOS wird interessant und substanziell, wenn wir Sonderfälle betrachten, z. B. Äquivalenzen für Zeitberechnungen, beschriftete Übergänge für asynchrone Umgebungsberechnungen, die Reduktionen entsprechen, oder Fragen zur Expressivität bestimmter (Klassen von) Berechnungen.

Daher empfehle ich Herrn / Frau Systemsfault, allgemeine Aspekte zu überspringen und direkt auf bestimmte interessante Kalküle zuzugreifen. Allgemeine SOS-Techniken können auf dem Weg leicht aufgegriffen werden.

Martin Berger
quelle