The Xtext framework, as part of the Eclipse project, is used to develop domain specific or general purpose languages. It provides rich capabilities for integrating a DSL with the Java programming language and the Eclipse IDE.
Using the Xbase expression language in a DSL, it can directly be mapped to Java types. Also accessing Java types in a DSL is really easy with Xbase.
For any Xtext language Eclipse's IDE capabilities can be adapted really easy by generating class stubs for automatic formatting patterns, scopes and cross references, static validation, content proposals, the outline view or providing quick fixes. Once a stub is implemented it is automatically used by the DSL editor in Eclipse.