Towards common language toolkit for IDE development
Sergey Gomanyuk (UniTESK Lab (www.unitesk.com) based on Institute for System Programming of Russian Academy of Sciences (www.ispras.ru)), Alexey Khoroshilov (Linux Verification Center (www.linuxtesting.org) based on Institute for System Programming of Russian Academy of Sciences (www.ispras.ru))
UniTESK Lab (www.unitesk.com) works on test automation tools and uses extensions of several programming languages. We choose Eclipse as an ideal IDE platform for multi-language development and as an integration base for our tools. For this purpose we need to develop an IDE suitable for a family of heterogeneous programming languages.
A search for language neutral toolkit that can help to create such Eclipse-based IDE gives the only candidate — DLTK. Unfortunately, DLTK code model is unsuitable to represent code in our extensions of Java or C.
Taking into account an experience of JDT, CDT, AJDT, and DLTK developers we propose our own technique that became the base of now developing common language toolkit. This toolkit helps to reduce considerably the cost of developing IDE for programming language on the base of Eclipse platform. The main task of the proposed short talk is to present our technique for developers community and compare it with techniques used in other approaches to IDE development. The proposed toolkit has the following unique features.
- Possibility to create unified IDE for several programming languages with completely different code models.
- Embedded code model size scalability and search support.
- Possibility to use existing front-end compilers written both in Java or other programming languages.
This topic will be interesting for developers who plan to create an extensible IDE for one or several programming languages. Our presentation targets people who are familiar with IDE development problems and has some experience in integrating their tools on the base of Eclipse.
Presentation Outline (average time ~ 8 min)
- Developing IDE on base of Eclipse Platform. Benefits and problems. (1 min)
- Existing techniques overview. JDT, CDT, AJDT, DLTK, Babel (MS Visual Studio) examples. (2 min)
- Proposed technique and supporting common language toolkit description. (3 min)
- Proposed and existing techniques comparison. (2 min)