Estoy pensando en escribir un DSL para ejecutar en el entorno .Net. Es muy probable que implemente esto en C#, aunque soy flexible en esto.escribir un DSL para la plataforma .Net
¿Hay recursos recomendados en línea que muestren los principales pasos para escribir una DSL para la plataforma .Net?
Idealmente, me gustaría un recurso que proporcionaría al menos una visión general de lo siguiente:
- 'spec'ing una conexión DSL
- cómo asignar las especificaciones para el marco .Net
- preferiblemente, un ejemplo holamundo de un DSL trivial implementado en un lenguaje .Net
[Editar]
En realidad, acabo de ver this article - pero está un poco anticuado. ¿Alguien tiene una opinión sobre si el artículo es un buen punto de partida o no (el .Net framework y C# parecen evolucionar a un ritmo muy rápido)
Puede consultar ANTLR (http://www.antlr.org/). No estoy seguro de a qué se refiere cuando dice mapear las especificaciones a .NET Fx. ¿Está buscando construir un lenguaje y compilador que genere código IL y pueda usar tipos de FCL fácilmente? Si es así, puede que esto no funcione. Había usado ANTLR para analizar una expresión de fórmula (que solía referirme a entidades comerciales y funciones personalizadas), pero el árbol analizado fue luego interpretado por mi programa. – VinayC
Quiero evitar los compiladores de compiladores/compiladores de analizadores de "bajo nivel" como lexx/yacc/antlr, etc. Básicamente, estoy buscando crear un lenguaje .Net 'de juguete' (como plantilla inicial). Para ser más específico, este lenguaje de "juguetes" generará código CIL y puede usar el CLR. – morpheous
Dada la "D" en "DSL", la primera pregunta que preguntaría es, "¿cuál es el dominio?" Un DSL no es sinónimo de "lenguaje de juguete". Parece que estás buscando un lenguaje de propósito general pequeño/simple, no exactamente específico de un dominio. – nerraga