Estoy creando una DSL con un editor tipo plantilla, muy parecido a los sistemas de reglas en Alice. Los usuarios podrán seleccionar relaciones de una lista así como los objetos para aplicar la relación. Estas dos listas deben filtrarse en función de los tipos aceptables; por ejemplo, si la relación es "mayor que", los objetos disponibles deben ser de un tipo para el que se implemente "mayor que".Implementación del comportamiento similar a IntelliSense en editores personalizados para lenguajes específicos de dominio
Del mismo modo, si se selecciona un objeto que es no comparable con mayor que, entonces esa relación no debe estar en la lista de relaciones potenciales. Creo que el corazón de este problema es un verificador de tipos, pero no estoy seguro de la mejor manera de incorporar ese tipo de lógica en mi aplicación. ¿Alguien conoce las bibliotecas de comprobación de tipos existentes para DSL?
Estoy especialmente interesado en las tecnologías de código abierto y multiplataforma. Java es probablemente el lenguaje que terminaremos usando, pero eso no es fijo.
Me pregunto qué pasó con esto? ¿Encontraste una buena solución? En mi opinión, Intellisense sería monstruosamente difícil de implementar desde el punto de vista de la usabilidad. Encontrar el equilibrio adecuado entre receptividad e intrusión parece una tarea increíblemente complicada. Según mi experiencia, la implementación de Microsoft está muy por encima de cualquier otra cosa. La implementación de Eclipse se siente tan torpe. Me interesaría mucho saber si encontraste algo bueno. – Alex
Este fue un proyecto de trabajo, y me detuvieron para trabajar en otro proyecto, por lo que mis esfuerzos en este (sortof) desaparecieron. Aparte de eso, creo que (Alex) y yo estamos interesados en diferentes aspectos de 'intellisense'. En lugar de trabajar en la interfaz de usuario real, estaba más preocupado por el diseño detrás de un sistema de autocompletar de propósito general. (La IU vendría más tarde). – rcreswick