KNAW

Research

First Class Syntax, Semantics and Their Composition

Pagina-navigatie:


Update content


Title First Class Syntax, Semantics and Their Composition
Period 01 / 2009 - 03 / 2013
Status Completed
Dissertation Yes
Research number OND1332599
Data Supplier METIS Universiteit Utrecht

Abstract (NL)

Marcos Viera bedacht een nieuwe benadering voor het gebruik van een domeinspecifieke programmeertaal (Domain Specific Language, DSL). Een DSL is een programmeertaal die op een specifiek toepassingsgebied is toegesneden. De benadering van Viera combineert het implementatiegemak van een gasttaal met de voordelen van een echte DSL. Het bieden van ondersteuning bij het gebruik van een DSL is geen sinecure: telkens moet een volledige vertaler worden geschreven. De vertaler beeldt de DSL af op een code die door een computer kan worden verwerkt. Daarom wordt een DSL ook wel ingebed in een bestaande taal, gebruikmakend van de taalconstructies die deze gasttaal al biedt, zoals functies, combinatoren of macro's. Dit levert het voordeel van een DSL in de vorm van een bibliotheek uitgedrukt in de gasttaal. Dit levert echter weer een ander probleem op. Omdat nieuwe constructies eerst worden afgebeeld op bestaande constructies, is de uiteindelijke feedback van de compiler, bijvoorbeeld over geconstateerde fouten, uitgedrukt in termen van de gasttaal. Viera bedacht daarom een benadering waarbij de gasttaal zelf gemakkelijk uitgebreid kan worden met nieuwe taalconstructies. Hij ontwikkelde een aantal vertalerbouwtechnieken (Compositional Compiler Construction), die de voordelen van een echte DSL combineren met het implementatiegemak van het gebruik van een gasttaal. Hierbij worden vertalers samengesteld uit apart vertaalde, statisch getypeerde taal-definitie-fragmenten . Voor deze vertalerbouwtechnieken gebruikt Viera een collectie EDSL's uitgedrukt in de moderne functionele programmeertaal Haskell. Zowel syntax als semantiek van de door hem ontwikkelde (uitbreidbare) talen zijn normale Haskell-waarden, die kunnen worden gedefinieerd, samengesteld, getransformeerd, geparameteriseerd en geïnstantieerd. Het gebruik van Haskell garandeert de consistentie-eigenschappen van de geconstrueerde vertalers.

Related organisations

Related people

Supervisor Prof.dr. S.D. Swierstra
Doctoral/PhD student Dr.ing. M.O. Viera Larrea

Classification

D16200 Software, algorithms, control systems

Go to page top
Go back to contents
Go back to site navigation