CIAOPP es un marco de procesador de programas para CIAO. CIAOPP realiza una serie de tareas de transformación de depuración, análisis y de origen a fuente:
Inferencia de las propiedades de los predicados y literales del programa ( tipos , modos y otras propiedades de instanciación variable , no failure , determinación , límites en el costo computacional , límites de tamaños de términos en el programa, etc.).
Ciertos tipos de depuración y verificación estática, encontrar errores antes de ejecutar el programa. Esto incluye verificar cómo los programas llaman a los predicados de la biblioteca del sistema y también verificar las afirmaciones presentes en el programa o en otros módulos utilizados por el programa. Dichas afirmaciones representan especificaciones esencialmente parciales del programa.
Varios tipos de transformaciones de programas de origen para fuente, como especialización del programa , corte , evaluación parcial , paralelización del programa (teniendo en cuenta el control de granularidad ), la inclusión de pruebas en tiempo de ejecución para afirmaciones que no se pueden verificar por completo en el tiempo de compilación, etc.
La información generada por el análisis y las afirmaciones en las especificaciones se escriben en el mismo lenguaje de afirmación , que a su vez también es utilizada por el generador de documentación del sistema CIAO, lpdoc .
Este repositorio contiene el marco del preprocesador genérico junto con algunos análisis básicos, transformaciones y soporte del lenguaje. Otras características (incluida el soporte para una variedad de lenguajes de programación) se distribuyen como paquetes separados.
CIAOPP se distribuye bajo la Licencia Pública General de GNU.
Por defecto, CIAO detectará y construirá CIAOPP durante la compilación del sistema. Para personalizar las opciones de configuración predeterminadas, consulte las instrucciones de instalación de CIAO.
Es posible hacer una compilación e instalación separada de CIAOPP con el siguiente comando:
$ ciao get ciaopp