IMP: A meta-tooling platform for creating language-specific IDEs in eclipse
Abstract
Programming language design remains a vital field, with interest in languages targeting concurrency, scripting, and aspects, as well as in domain-specific languages. Full-featured integrated development environments (IDEs) have become critical to the adoption of new languages. A key factor in the success of these IDEs is the provision of services specifically tailored to the language. However, modern IDE frameworks are large and complex, and the cost of constructing a language-specific IDE from scratch remains prohibitive IMP is an IDE meta-tooling platform intended to relieve much of the burden of IDE development in Eclipse. IMP combines a language-independent framework, generators for partial implementations of language-specific services, and support for the completion of service implementations by programming at various levels of abstraction. Unlike much of the previous work, IMP permits signigicant customization of IDE appearance and behavior and accommodates incremental elaboration of the IDE; it also makes significant reuse of code and assists during the IDE development process. IMP-based IDEs are in use in research projects in IBM, including within IMP itself. IMP is available as an open-source release from SourceForge.net. Copyright 2007 ACM.