I am working on a project that requires me to define a DSL. Since coming up with the right DSL is critical for my project, I decided to evaluate existing frameworks that help in defining DSLs,parsing it and code generation(which has to be in a .NET based language) The frameworks I considered are :
- Boo language that has a customizable compiler and pythonish syntax ideal for defining a DSL.
- Windows powershell that supports extensible commandlets.
- Microsoft DSL tools that support visual modeling,but less flexible(in my opinion)
- ANTLR which is proven tool
- C# fluent interfaces.(Not so happy with this)
- Oslo framework (Is it mature to be used in production?)
There are pros and cons of each of the framework mentioned above and I am unable to make a decision.Given a choice between the above frameworks, which one would you choose and why?
Is there any other framework so fundamental that I might have missed out?
Any help or guidance would be greatly appreciated.