next up previous
Next: 1.7 Xlispから統計処理用に拡張された xlispstat Up: 1 Lisp言語 Previous: 1.5 Emacs Lisp

1.6 C言語で記述されたLisp処理系 xlisp

C言語で記述されたLispの処理系Xlispを紹介する. David M. Betzにより作られたXlisp は,当時(1989)のMS-DOSでも走る小型の Lispである.現在, http://www.mv.com/ipusers/xlisper/ に,XLISP3.0のホームページがあるが,このXlisp3.0は 初代のXlisp1.0とはちがって,計算機科学分野での教育用Lisp 言語として大変有名なScheme言語のスーパセットになっている. Xlispの初期の処理系xlisp2.1の処理系は,以下のようなファイルから 構成されていた.

      23      60     652 osdefs.h
      39     135    1320 osptrs.h
     201     795    6120 xldmem.h
     364    1484   10300 xlisp.h
     278     785    5127 msstuff.c
     505    1218    9457 trstuff.c
     812    2850   21850 unixstuff.c
     678    1871   12891 xlbfun.c
    1411    3872   28157 xlcont.c
     202     507    3992 xldbug.c
     693    2059   14715 xldmem.c
     966    2534   26754 xleus.c
     868    2561   19240 xleval.c
     483    1440    9976 xlfio.c
     459    2704   16622 xlftab.c
      79     306    2731 xlglob.c
     216     501    4388 xlgraph.c
     380    1186    8425 xlimage.c
     225     740    7703 xlinit.c
     211     566    4057 xlio.c
     167     437    3657 xlisp.c
     169     514    3889 xljump.c
     915    2666   18761 xllist.c
     423    1589    9993 xlmath.c
      48     117     951 xlnet.c
     473    1454   11545 xlobj.c
     112     307    2119 xlpp.c
     322     796    7244 xlprin.c
     865    2480   17573 xlread.c
     517    1878   13099 xlstr.c
     435    1220   10906 xlstruct.c
     186     534    3858 xlsubr.c
     242     742    5057 xlsym.c
     162     477    3335 xlsys.c
   14129   43385  326464 total
XlispのソースはC言語でおよそ1万4千行程度であることが わかる.
http://www.jsk.t.u-tokyo.ac.jp/
  ~inaba/lisp/xlisp21x.tgz
からダウンロードして,展開して,xlisp2.1xにおいて makeすれば以下のようになる.
~/lecture/soft3/xlisp/xlisp2.1x> make
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xlisp.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xlbfun.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xlcont.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xldbug.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xldmem.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xleval.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xlfio.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xlglob.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xlimage.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xlinit.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xlio.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xljump.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xllist.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xlmath.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xlobj.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xlpp.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xlprin.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xlread.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xlstr.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xlstruct.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xlsubr.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xlsym.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xlsys.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xlgraph.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include xlnet.c 
gcc -c -DUNIX -DXWINDOW -I/usr/X11R6/include unixstuff.c 
gcc -o xlisp xlisp.o xlbfun.o xlcont.o xldbug.o
 xldmem.o xleval.o xlfio.o xlglob.o xlimage.o 
 xlinit.o xlio.o xljump.o xllist.o xlmath.o xlobj.o
 xlpp.o xlprin.o xlread.o xlstr.o xlstruct.o 
 xlsubr.o xlsym.o xlsys.o xlgraph.o xlnet.o 
 unixstuff.o xlftab.o -L/usr/X11R6/lib -lX11 -lm


generated through LaTeX2HTML. M.Inaba 平成18年5月7日