RML IDE plugin for Eclipse (Plugin för automatgenerering av kompilatorer och interpretatorer inom
Eclipse-miljön.)
- [Engelska]
Integrated Environment for Compiler Specification and Generation based on the Eclipse Platform
Relational Meta-Language (RML) is a practical language for writing
Natural Semantics specifications. From these specifications the RML
compiler automatically generates executable C code.
The RML environment is used
at PELAB to define formal specifications (and automatically build compilers from these specifications) for programming languages (i.e. Java, Modelica etc). However, the RML environment is not user
friendly.
This master's thesis will design and implement an RML
Integrated Development Environment (IDE) that provides
advanced editing, compilation manager and source code debugging for the RML language.
Eclipse is a well-known Java platform for building highly integrated development environments.
The RML-IDE will be implemented as one or several Eclipse
plugin(s) adapting and integrating existing RML tools:
compiler frontend, compiler and debugger.
Compiler Construction knowledge and programming,
both in imperative languages [C/C++, Java] and in
functional languages [Standard ML (SML)] will be used in this
project.
-
[Svenska]
Plugin för automatgenerering av kompilatorer och interpretatorer inom
Eclipse-miljön.
RML är ett språk för att automatiskt generera kompilatorer och
interpretatorer från specifikationer i naturlig semantik.
Eclipse är en programmeringsmiljö, främst för Java, med interaktiv
syntaxkontroll, programmeringsstöd som automatisk uppslagning av
variabler, metoder via variabeltyper, tillägg av importsatser etc. och
viss refaktoriseringsstöd samt automatisk testexekvering. Eclipse är
designat mha design patterns och det finns stöd för att skriva plugins
för andra programmeringsspråk. Detta examenssarbete går ut på
att skriva en grundläggande plugin för RML, i första hand med stöd för
syntaxbaserad märkning av källkod, navigering mha modul, relation och
regelhierarki i separat fönster i Eclipse. Programmeringshjälp såsom
hjälp med att ange relationsargument och automatisk komplettering av
relationsnamn med och utan modulnamn är önskvärda funktioner. Andra
funktioner kan vara refaktoriseringar som t.ex. tillägg av fält i
existerande datastrukturer med tillhörande enkla ändringar av
existerande relationer som använder datastrukturen, nambyte på
relationer, moduler och lokala variabler etc.
-
More detailed information
on the project
Contact:
Adrian Pop or
Peter Fritzson or
Levon Saldamli