MPS allows you can design your own DSL (domain specific language).
This runs on IntelliJ IDEA which is a commercial product with some cut-down free versions available.
- MPS constructs a (projectional) editor to edit this language.
- MPS has a code generator which targets Java, C or XML.
see,