Langphilia! /
KL1 /
KLIC-3.003 /
Patch
くりっく
このページでは、KL1言語処理系 KLIC-3.003 の不具合をいくつか修正します。
KL1言語やKLIC処理系については他の文書を参照して下さい。
Licence
- KLIC-3.003のライセンスに準じます。基本的に利用・改変・再配布自由です。
- 修正部分の著作権は私たち(五十嵐宏および高木祐介、上田研)にあります。
- 修正を加えたことに起因するどのような被害についても、
私たちが責任を負うことはありません。御自分の責任で修正を行なって下さい。
- この宣言は、私たちが修正コードを自由に取り扱うための保険です。
修正コードの使用者に対して、私たちが金銭その他の要求をすることはありません。
(要約:邪魔しないでね。こっちも邪魔はしないから。)
Tar balls
- klic-3.003.tgz
- 元版
=
ftp://ftp.logos.t.u-tokyo.ac.jp/klic/v3.0/klic-3.003.tgz
-
klic-3.003-extio-shared.tar.gz
- 下記2つの修正版 extio版と shared版をマージしたものです。
- klic-3.003-extio.tar.gz
- 次の2つのバグを修正したものです。
- ソケット入出力が同期されてしまう → 入出力ストリームを分けた。
- サーバ側で accept したソケットがProlog風のIOメッセージを受け付けない。
- klic-3.003-shared.tar.gz
- libklic を共有ライブラリ化したものです。
LinuxとSolarisしか確認していません(FreeBSDでLinux版が何とか動いてます)。
How to install
インストール方法は元版と同じです。好きな版 ${KLIC_SRC}.tar.gz
を選んで下記のコマンドでインストールして下さい。
- % tar xzf ${KLIC_SRC}.tar.gz
z オプションが使えない場合は、% gzcat ${KLIC_SRC}.tar.gz | tar xf -
- % cd ${KLIC_SRC}/
- % ./Configure
- % make all && make tests
- # make install
How to use
現shared版では、LD_LIBRARY_PATH を人手で指定する必要があります。
% setenv LD_LIBRARY_PATH ${KLIC_INST}/lib
bashなら、
$ export LD_LIBRARY_PATH=${KLIC_INST}/lib
として、ライブラリ libklic*.so
をインストールしたディレクトリを教えてから使って下さい。
.cshrc や .login に書いておくと良いでしょう。
extio版の非同期入出力ソケットを取得するメッセージ connect2, accept2
は元版と仕様が異なり、ストリームを2本返します。
元版のメッセージ connect, accept
も残してあるので既存アプリケーションには影響ありません。
Messages on unix stream
connect +SPEC normal(^Stream)
connect2 +SPEC normal(^Sin,^Sout)
Messages on bound socket
accept normal(^Stream)
accept2 normal(^Sin,^Sout)
Copyright ICOT, JIPDEC / AITEC,
2000, IGARASHI hiroshi,
2001, TAKAGI Yusuke.