|
Das Dokument ist frei verfügbar. |
|
| Nachweis | Kein Nachweis verfügbar |
|
Domänen-spezifische Sprachen; Übersetzerbau; Geordnete Attributgrammatik; Modellgetriebene Softwareentwicklung; Muster | |
domain-specific languages; compiler construction; ordered attribute grammar; model-driven software development; patterns | |
Für die Spezifikation der Sprachsemantik gibt es verschiedene Lösungsansätze die jeweils nur eine der folgenden Eigenschaften bieten: entweder die Sprachspezifikation ist kompakt oder der generierte Übersetzer ist performant bzw. schnell. Sollen schnelle Übersetzer mit kompakter Spezifikation entwickelt werden gibt es dafür bisher noch keine Lösung. Diese Arbeit stellt eine Methode vor die dies leistet indem von Attributgrammatiken - eine der Standardlösungen aus dem Übersetzerbau - abstrahiert wird. Diese Abstraktion wird formal definiert und es wird bewiesen dass wichtige Eigenschaften wie Zerlegbarkeit und die Fähigkeit der Komposition eingehalten werden und anhand einer Reihe von Beispielen gezeigt dass die Spezifikation wesentlich kompakter als Attributgrammatiken sind und der resultierende Übersetzer ähnlich schnell arbeitet. | |
There are different solutions to specify the semantics of a (programming) language each offering only one of the following: the specification is compact or the generated compiler is fast. There does not exist a solution for specifying a fast compiler in a compact way. This work presents a method achieving this by abstracting away from attribute grammars - one of the standard solutions to specify language semantics. This abstraction is formally defined and various important properties like partitionability or composability are proven to hold. Using various examples from the literature it is shown that the specification is much more compact than regular attribute grammars and the resulting compiler is of similar speed. |
|
|