.ICI ファイルとは何ですか?
解釈され、柔軟なデータ型とともに動的型付けなどのいくつかの機能を含む汎用プログラミング言語は、ICI (頭字語ではない) プログラミング言語として知られています。 Perl 言語に似ていると考えられています。この ICI 言語は、フロー制御構造で構成され、C 言語の演算子もいくつか含まれています。オブジェクト指向言語ではありませんが、OOP の機能の一部は、上部構造と呼ばれる特定の継承方法によって実現できます。 C と同様に、この ICI プログラミング言語には、同じシステム インターフェイスと組み込み関数用の標準ライブラリがあります。
簡単な歴史
1980 年代後半に、Tim Long によって汎用インタープリター型プログラミング言語として開発されました。この言語の機能のほとんどは C に似ており、いくつかの特別な方法を適用することで一部の機能を実現することもできます。この言語はパブリック ドメインとして所有されており、再販可能な言語として利用可能であり、ソース コードをどこから入手したかについて言及する義務はありません。 ICI のドキュメントは、Canon Information System Research Australia の著作権の下にあります。
技術仕様
この言語では、2 つの異なるデータ型が使用されます。これら 2 つは、プリミティブ データ型と集計データ型です。これらには両方とも、言語で事前に定義された構成に従って異なる表現が含まれています。この言語では、ネストされたサブルーチンなどのさまざまなモジュールがサポートされています。一部のプロパティは Perl に似ているため、正規表現と厳密に統合されています。
セットは、異種混合およびネストに限定されます。これらのセットは、Union や Intersection などの一般的に使用されるセット操作のサポートを提供します。主に、多国籍組織が所有するアプリケーションのコア実装のための言語として使用されます。
ほぼすべてのタイプのプログラムをこの言語で作成でき、複雑なデータ構造を含む特定のプログラムのほとんどは ICI プログラミング言語で作成されます。アプリケーションは、ICI 実装に記述すべき方法で ICI 実装を含めることができます。アプリケーションの機能部分は、ICI のモジュールによって実装できます。 ICI の言語は C 言語に多少似ていますが、ICI のデータ モデルはかなり高度であり、辞書 (構造体)、セット、動的配列、正規表現、および (実) 文字列などの型が異なります。
ICI ファイル形式の例
printf("Hello world.\n");
s = [set 200, 300, "a string"];
if (s[200])
printf("200 is in the set\n");
if (s[400])
printf("400 is in the set\n");
if (s["a string"])
printf("\"a string\" is in the set\n");
s[200] = 0;
if (s[200])
printf("200 is in the set\n");
forall (colour in [array "red", "green", "blue"])
printf("%s\n", colour);