/**********************************************************************/
/*             kima - Analyzer of Ill-moded KL1 Programs              */
/*                                                                    */
/*                            Version 1.0                             */
/*                             April 1997                             */
/*                                                                    */
/*                         $B>eED(B $BOB5*!"D9(B $B7rB@(B                         */
/*                     $BAa0pEDBg3XM}9)3XIt>pJs3X2J(B                     */
/*                    ueda@ueda.info.waseda.ac.jp                     */
/*                                                                    */
/*               Copyright (C) 1997  $B>eED(B $BOB5*!"D9(B $B7rB@(B               */
/*                                                                    */
/**********************************************************************/

$B35MW(B:

kima$B$O!"%b!<%I$E$1$G$-$J$$(B(ill-moded$B$J(B)$B%W%m%0%i%`$N!"%b!<%I8m$j(B(mode
error)$B$r!"J88%(B[4]$B$NJ}K!$G2r@O$9$k%D!<%k$G$"$k!#(Bkima$B$rMQ$$$F%b!<%I8m$j$r(B
$BFCDj$9$k$3$H$G!"(BKL1$B%W%m%0%i%`$NDL?.%W%m%H%3%k$N8m$j$r!"@EE*$K8!=P$9$k$3(B
$B$H$,$G$-$k!#(B

kima$B$O!"%b!<%I8m$j$r!"%b!<%I@)Ls$NL7=b$9$k6K>.ItJ,=89g$H$7$FFCDj$9$k!#%b!<(B
$B%I8m$j$KBP1~$9$k6K>.ItJ,=89g!"$*$h$S$=$l$K4^$^$l$k3F@)Ls$,%W%m%0%i%`Cf$N(B
$B$I$N%7%s%\%k$+$i$I$N5,B'$K$h$C$FF@$i$l$?$b$N$G$"$k$+$rI=<($9$k$3$H$G!"%W(B
$B%m%0%i%^$N%P%0H/8+$rB.$/$+$DMF0W$K$9$k!#(B

$B2DG=$J>l9g$O!"$5$i$K!"6K>.ItJ,=89gCf$N$b$C$H$b!H5?$o$7$$!I@)Ls$H!"%b!<%I(B
$BL7=b$r2r>C$9$k$h$&$J%W%m%0%i%`$N=$@50F$rDs<($9$k!#(B

kima$B$O!"%b!<%I@k8@$J$I$N!"2r@OBP>]$N(BKL1$B%W%m%0%i%`0J30$NF~NO$OI,MW$H$7$J(B
$B$$!#(B

kima$B$O(B2$B$D$N%W%m%0%i%`$G9=@.$5$l$F$$$k!#0l$D$O%b!<%I@)Ls@8@.7O(B(klint101)
$B$G$b$&0l$D$O%b!<%I@)Ls2r@O7O(B(kima2)$B$G$"$k!#%b!<%I@)Ls@8@.7O$O!"(BKL1$B%W%m%0(B
$B%i%`$,9=J8E*$K2]$9$k%b!<%I@)Ls$r@8@.$9$k!#%b!<%I@)Ls2r@O7O$O!"%b!<%I@)Ls(B
$B$,A4BN$H$7$FL7=b$9$k>l9g!"$=$NL7=b$9$k6K>.ItJ,=89g$r8+$D$1!"$5$i$K2DG=$J(B
$B>l9g!"$=$NCf$+$i8m$j$N??$N860x$H;W$o$l$k%b!<%I@)Ls$H$=$l$r2]$7$?5-9f$KBP(B
$B$9$k=$@50F$rDs<($9$k!#(B

kima$B$,0M5r$7$F$$$kJB9TO@M}!?@)Ls%W%m%0%i%_%s%0$N6/%b!<%IBN7O$K$D$$$F$OJ8(B
$B8%(B[1]$B$r;2>H$7$F$[$7$$!#%b!<%I2r@O$N35MW$OJ88%(B[2]$B$K=R$Y$i$l$F$$$k!#(B


$B%$%s%9%H!<%k(B:

klint101$B$*$h$S(Bkima2$B$O40A4$K(BKL1$B$G=q$+$l!"(BKLIC$B$G%3%s%Q%$%k$G$-$k!#$3$l$i$r(B
$B:n@.$9$k$K$O(BMakefile$B$r;HMQ$9$l$P$h$$!#(Bkima$B$O%7%'%k%9%/%j%W%H$H$7$FDj5A$7(B
$B$F$"$k!#(B


$B%U%!%$%k(B:

klint101-main.kl1, read_program.kl1, normalize.kl1, unify.kl1,
        numbergoal.kl1, findpath.kl1, constraints.kl1, stdinout.kl1,
        getpgraph.kl1, pnode.kl1, stack.kl1: 
        klint101$B$N%=!<%9%W%m%0%i%`(B (KL1)
kima2-main.kl1, checkprocess.kl1, fixvariable.kl1, copygraph.kl1,
        renamegraph.kl1, getminimal200.kl1, graph.kl1, decode.kl1,
        reduce.kl1, stdinout.kl1, outmessage.kl1:
        kima2$B$N%=!<%9%W%m%0%i%`(B (KL1)
kima:      $B%H%C%W%l%Y%k%3%^%s%I(B (Bourne Shell)
Readme-J:  $B$3$N%U%!%$%k(B
Readme-E:  $B$3$N%U%!%$%k$N1Q8lHG(B
GUIDE.txt: $B%f!<%6%,%$%I(B (plain text)
Makefile:  Make $B%U%!%$%k(B
        

$BL$%5%]!<%H5!G=(B:

(1) $B%^%/%mE83+5!G=!#>-Mh!"(Bklic$B=hM}7O$,!"#C%3%s%Q%$%i$N(B -E $B%*%W%7%g%s$KBP(B
    $B1~$9$k5!G=$rDs6!$7$?CJ3,$G%5%]!<%H$7$?$$!#(B

(2) 'inline' $B5!G=!#(B

(3) $BAH9~=R8l$N$$$/$D$+!#(B


$B%P%0(B:

(1) $BAH9~=R8l$HL>A0$,0lCW$7$F$$$k=R8l$N8F=P$7$O!"$=$N=R8l$N%b%8%e!<%kL>$,(B
    $BL@5-$7$F$"$C$F$b!"$9$Y$FAH9~=R8l$N8F=P$7$H8+$J$5$l$F$7$^$&!#2~D{HG$G(B
    $B$O=$@5$NM=Dj!#(B

(2) 'arg', 'setarg', 'vector_element', 'set_vector_element' $B$O!"9=B$BNA4(B
    $BBN$H$=$NMWAG$H$N%b!<%I$N@09g@-$r8!::$7$F$$$J$$!#$3$l$b2~D{HG$G=$@5$N(B
    $BM=Dj!#(B

(3) $B#32s0J>e=P8=$9$kJQ?t$K$+$+$o$k%b!<%I@)Ls$G!"C1=c$J@)Ls$K4JLs2=$G$-$J(B
    $B$+$C$?$b$N$N=<B-2DG=@-$O8!::$7$F$$$J$$!#(B


$B;29MJ88%(B:

[1] Ueda, K. and Morita, M., Moded Flat GHC and Its Message-Oriented
    Implementation Technique.  New Generation Computing, Vol.13, No.1
    (1994), pp.3-43.

[2] Ueda, K., I/O Mode Analysis in Concurrent Logic Programming.  In
    Theory and Practice of Parallel Programming, LNCS 907, Springer,
    1995, pp.356-368.

[3] Ueda, K., Experiences with Strong Moding in Concurrent
    Logic/Constraint Programming.  In Proc. Int. Workshop on Parallel
    Symbolic Languages and Systems (PSLS'95), T. Ito, R.H. Halstead,
    Jr., and C. Queinnec (eds.), LNCS 1068, Springer, 1996, pp.134-153.

[4] Cho, K. and Ueda, K., Diagnosing Non-Well-Moded Concurrent Logic
    Programs.  In Proc. 1996 Joint International Conference and
    Symposium on Logic Programming (JICSLP'96), M. Maher (ed.), The MIT
    Press, 1996, pp.215-229.
