CIAOPPは、CIAOのプログラムプロセッサフレームワークです。 CIAOPPは、多くのプログラムのデバッグ、分析、ソースからソースへの変換タスクを実行します。
プログラムの述語とリテラルのプロパティの推論(タイプ、モード、およびその他の変数インスタンス化プロパティ、非障害、決定性、計算コストの境界、プログラムの用語のサイズの境界など)。
特定の種類の静的デバッグと検証、プログラムを実行する前にエラーを見つけます。これには、プログラムがシステムライブラリの述語を呼び出す方法を確認し、プログラムやプログラムで使用される他のモジュールに存在するアサーションを確認することも含まれます。このようなアサーションは、プログラムの本質的に部分的な仕様を表しています。
プログラムの専門化、スライス、部分評価、プログラムの並列化(粒度制御を考慮して)、コンパイル時に完全にチェックできないアサーションのランタイムテストを含めるなど、いくつかの種類のソースからソースへの変換。
分析によって生成された情報と仕様のアサーションはすべて同じアサーション言語で記述されており、CIAOシステムドキュメントジェネレーターlpdocでも使用されます。
このリポジトリには、いくつかの基本的な分析、変換、言語サポートとともに、汎用プリプロセッサフレームワークが含まれています。他の機能(さまざまなプログラミング言語のサポートを含む)は、個別のバンドルとして配布されます。
CIAOPPは、GNU General Public Licenseの下で配布されています。
デフォルトでは、CIAOはシステムコンパイル中にCIAOPPを検出および構築します。デフォルトの構成オプションをカスタマイズするには、CIAOのインストール手順を参照してください。
次のコマンドを使用して、CIAOPPの個別のビルドとインストールを行うことができます。
$ ciao get ciaopp