Master Thesis Seminar: Integrated Development Environments for Domain Specific Languages

Date: May 24, 2005 (Tuesday) at 14:00 to 15:00

By: Willy Vanlid and Johan Odin

Abstract:

Increasing demands on help to achieve faster editing and to supply information shortcuts pushes the editor evolution forward. An editor of today should have as much time saving features as possible while still being user friendly. This Masters Thesis looks into making an editor that can provide both time saving features and user friendliness by using the Abstract Syntax Tree (AST), normally generated in the compilation process, as a primary permanent information base.
In doing this several advantages are gained:
o First the primary source of information becomes editor independent making it possible to edit the same information in many different types of editors.
o Secondly the ASTs tree structure is a good way of structuring data because the tree structure is easily traversed and its possible to get context sensitive information from it when used together with the AST grammar.
o Thirdly this makes the system flexible in the way that if another language is added that needs a new type of information then new attributes, methods and nodes are easily added to the AST and old ones can be reused.
The development of powerful integrated development environments (IDE:s) demands a lot of resources and leads to that many hesitate when it comes to implementing new domain specific languages or language extensions. In this Masters thesis we try to improve on this by working with more generic environments where large parts are reusable and in common for many languages.
We do this by using well known compiler techniques and the Eclipse platform as our framework for the user interface, as well as our development tool and JastAdd II as our compiler generator tool. The languages this editor was implemented for are parts of the IEC61131-3 standard used by ABB.
The result of this thesis demostrastrates the powerful help an AST is in an editor. For example we show that its possible to edit the same information both textually and graphically. We also show that its possible to write a complete program without knowing the syntax of the language but just using the help the AST provides to the editor.

Room: E:4130 (LUCAS-room)

Last modified Dec 9, 2011 12:59 pm

0990