DLR provides a lot of infrastructure, which is also useful for static languages. For example, it has default implementations for bind method calls and overload resolution. This is normal if the semantics of your language match the default behavior.
Error handling can be a bit complicated. If the method is not searched, for example, the default binders will still return the correct expression, but this will be the code to throw an exception ...
DLR will not help you with parsing or vocabulary.
There are other options. For example, you can see the project Common Compiler Infrastructure , created by Herman Witter from MSR. In fact, this may be a better match.
source share