Langphilia! / KL1 / KLIC-3.003, 2001-10-29

KLIC-3.003

KLIC は ICOT ⇒ AITEC の KLIC 作成グループにより作成された、 KL1 言語処理系である。KLIC 以前の KL1 言語処理系として、 専用並列機 PIM 上の処理系や通訳系 pdss などがあったが、 現在では KLIC が事実上の標準となっている(KLIC しかないとも言う)。


Download KLIC-3.003 Implementation

KLIC-C Language

KLIC 翻訳系は、KLIC-KL1 言語によって記述されたプログラムを C 言語に翻訳し、その C プログラムを gcc などの C 翻訳系に渡す。 KLIC ユーザは、プログラムの一部を C 言語によって記述することができる。

KLIC Compiler

KLIC Runtime

Parallel Implementation

Generic Objects

KLIC プログラマは、オブジェクトの定義を C 言語で記述し、 そのオブジェクトを KLIC-KL1 プログラムで使用することができる。

Inline C

KLIC-KL1 プログラムには、C のコードを埋め込むことができる。 C コード内の `"' と `\' を `\' によって エスケープしなければならないことに注意せよ。

:- inline : "ここに C のコードを書く" .
KLIC-KL1 ソースの先頭に記述する。 ここに記述した C のコードは、KLIC 翻訳系の出力する C ソースの中で 標準的な宣言の後、ユーザ定義モジュールの前に置かれる。 従って、ヘッダの include やマクロと関数の定義などを書くと良い。
inline : "ここに C のコードを書く"
inline : "ここに C のコードを書く" : [ ArgSpec .. ]
ガードゴールとして記述する。C コード内で i=[0,10] 番目の引数 ArgSpec を参照するには %i と書く。 goto %f; はその節が失敗または中断することを意味する。%% は % 文字を意味する。 ArgSpec は `Variable' `Mode' `Type' であり、Mode は + または - である。 Type は any, bound, atomic, int, atom, list, functor, object, object(Class) のいずれかである。

Copyright 2001, TAKAGI Yusuke.