CIAOPP adalah kerangka kerja prosesor program untuk CIAO. CIAOPP melakukan sejumlah tugas debugging, analisis, dan transformasi sumber ke sumber:
Kesimpulan sifat-sifat predikat dan literal program ( jenis , mode dan sifat instantiasi variabel lainnya, non-kegagalan , determinasi , batas pada biaya komputasi , batas pada ukuran istilah dalam program, dll.).
Jenis -jenis debugging dan verifikasi statis tertentu, menemukan kesalahan sebelum menjalankan program. Ini termasuk memeriksa bagaimana program Call System Library Predicate dan juga memeriksa pernyataan yang ada dalam program atau di modul lain yang digunakan oleh program. Pernyataan semacam itu pada dasarnya mewakili spesifikasi parsial program.
Beberapa jenis transformasi program sumber ke sumber seperti spesialisasi program , pengiris , evaluasi parsial , paralelisasi program (dengan mempertimbangkan kontrol granularitas ), dimasukkannya tes run-time untuk pernyataan yang tidak dapat diperiksa sepenuhnya pada waktu kompilasi, dll.
Informasi yang dihasilkan oleh analisis dan pernyataan dalam spesifikasi semuanya ditulis dalam bahasa pernyataan yang sama, yang pada gilirannya juga digunakan oleh generator dokumentasi sistem CIAO, lpdoc .
Repositori ini berisi kerangka preprocessor generik bersama dengan beberapa analisis dasar, transformasi, dan dukungan bahasa. Fitur lain (termasuk dukungan untuk berbagai bahasa pemrograman) didistribusikan sebagai bundel terpisah.
CIAOPP didistribusikan di bawah Lisensi Publik Umum GNU.
Secara default, Ciao akan mendeteksi dan membangun CIAOPP selama kompilasi sistem. Untuk menyesuaikan opsi konfigurasi default, silakan merujuk ke instruksi instalasi CIAO.
Dimungkinkan untuk melakukan build dan pemasangan CIAOPP yang terpisah dengan perintah berikut:
$ ciao get ciaopp