Una gran cantidad de software similar a un compilador es “bootstrapped”, es decir, usa una versión para construir la siguiente. Esto es en esencia “reescribirse a sí mismo”.
Hubo una gran oleada de “metacompiladores” en los años 60 y 70 que funcionaban de manera adecuada; Estas son herramientas que mezclan BNF y la generación de código en lo que es un DSL orientado a la compilación. Muchos compiladores de C y C ++ (especialmente GCC y Clang) se utilizan para admitir su propia extensión y compilación.
Nuestro kit de herramientas de reingeniería de software DMS ofrece un conjunto de 6 DSL cooperantes. Grandes porciones de DMS se escriben usando esos mismos DSL, inspirados en gran medida por el trabajo del metacompilador. Los compiladores DSL implementados con DMS se utilizan para implementar las próximas iteraciones de DMS. Probablemente hagamos esto una vez cada dos semanas, continuamente desde 1995. Más importante aún, DMS puede leer sus propias descripciones, aplicar transformaciones y regenerar las descripciones con mejoras dictadas por las transformaciones. Hacemos esto también, pero no con tanta frecuencia.
- ¿Por qué se considera el reconocimiento de secuencia como un problema de clasificación temporal?
- ¿Una IA nacida de la singularidad sabría sobre el chantaje? ¿Qué sería lo primero que aprende?
- ¿Dónde puedo aprender sobre aprendizaje automático e inteligencia artificial en India?
- Cómo explicar la inteligencia artificial en términos simples
- ¿Cómo funciona la inteligencia de enjambre?