.net – Choice of DSL framework

dslnet

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 :

  1. Boo language that has a customizable compiler and pythonish syntax ideal for defining a DSL.
  2. Windows powershell that supports extensible commandlets.
  3. Microsoft DSL tools that support visual modeling,but less flexible(in my opinion)
  4. ANTLR which is proven tool
  5. C# fluent interfaces.(Not so happy with this)
  6. 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.

Best Answer

In a question of mine that touched the subject of DSL's, it was suggested to me to use a combination of Irony and DLR. I don't know stable they are however. Irony is an Alpha, and DLR, although stable, is still in v0.9. I'm aiming to start using Irony myself in a week or two, so then I will be able to provide some feedback. On the bright side however - they are both opensource, so you can fix bugs yourself.

Related Topic