Xtext would be the perfect fit for these requirements. All you need to do is to define your grammar and you have your parser, linker, editor, etc. Of course all of this can be customized to your needs.
If your language compiles down to Java, you also get expressions and debugging out of the box.