Estoy trabajando en un proyecto que requiere que defina un DSL. Como crear el DSL correcto es fundamental para mi proyecto, decidí evaluar los marcos existentes que ayudan a definir DSL, analizarlo y generar código (que debe estar en un lenguaje basado en .NET). Los marcos que consideré son:Elección del marco DSL
- Idioma Boo que tiene un compilador personalizable y una sintaxis pythonish ideal para definir un DSL.
- Windows powershell que admite comandos extensibles.
- herramientas DSL Microsoft que admiten modelado visual, pero menos flexible (en mi opinión)
- antlr que se ha demostrado herramienta
- C# interfaces fluidas. (No tan felices con esto)
- marco de Oslo (¿Es maduro para ser utilizado en producción?)
Existen ventajas y desventajas de cada uno de los marcos mencionados anteriormente y no puedo tomar una decisión. ¿Pudo elegir entre los marcos anteriores, cuál elegiría y por qué?
¿Hay algún otro marco tan fundamental que podría haber perdido?
Cualquier ayuda u orientación sería muy apreciada.
+1 - gran pregunta, y una con la que estoy lidiando también. Miré la versión Early Access del libro Building Domain Specific Languages en Boo y me pareció frustrante: las herramientas no parecían maduras. También creo que PowerShell muestra una gran promesa en esta área. Y también recogí el libro sobre ANTLR. ;) – TrueWill