エディタを作る為のフレームワーク。

まだIncubation中だけども、これがちゃんと動くんなら、
エディタ作るのが、とてつもなく敷居が下がるヨカーン。

Building a state-of-the-art Eclipse IDE for a new programming language is a difficult undertaking. Although much of this work is inevitable and requires an in-depth understanding of the language structure and semantics, a significant portion embodies common themes and code structures, and requires extensive knowledge of Eclipse API's, which represent a great opportunity for code and knowledge reuse in the form of a meta-tooling framework for IDE development.

IMP is an ongoing project, begun at IBM Watson Research, to develop such meta-tooling for Eclipse. The goal of the project is to ease the development of commercial-quality IDE support for new programming languages, including the following features:

* generation and management of parsers, AST's, and semantic analysis
* syntax highlighting, outline view population, package explorer-like navigation, content assistance, project natures and builders, error markers
* refactoring support (not only "Move" and "Rename", but type- and code-related refactorings requiring non-trivial analysis, e.g. "Extract Method" and "Infer Type Arguments")
* static program analysis (pointer analysis, type analysis, etc.) in support of the above
* execution and debugging support

コードはこのへん。

まだ、中身をちゃんと読んでないけど、素晴らしい事にEMFに対する依存性がない。
パーサジェネレータがあるみたいなんだけど、何を使ってるのか、
自前実装してるのかは、まだちょっと良く分からない。