ISLISP処理系TISLにおけるネイティブインタフェースの設計および実装 Design and Implementation of a Native Interface for an ISLISP Processor TISL

この論文にアクセスする

この論文をさがす

著者

    • 泉 信人 IZUMI NOBUTO
    • 東北大学大学院情報科学研究科 Department of Computer and Mathematical Sciences, Graduate School of Information Sciences, Tohoku University
    • 伊藤貴康 ITO TAKAYASU
    • 東北大学大学院情報科学研究科 Department of Computer and Mathematical Sciences, Graduate School of Information Sciences, Tohoku University

抄録

プログラミング言語LispのISO標準であるISLISPの言語処理系としてTISLが筆者らにより作成され,公開されている.ISLISPはLispの基本機能である記号処理やリスト処理に加えてオブジェクト指向機能を備えた強力な言語であるが,ISLISPの機能のみではアプリケーション作成に必要な機能を満たせないため外部手続きを利用したい状況がある.このような状況に対応するために,JavaNative Interfaceを参考にTISLのためのネイティブプログラミングインタフェースを設計し,TISLネイティブインタフェースTNIと名付け,実装を行った.本発表ではTNIの機能および実装について報告し,TNIの使用法を説明する.TISL側では,新に導入したdeflink定義形式を使用し,外部手続きとISLISPの関数のリンクを行う.リンクを行ったISLISP関数は他のISLISP関数と同様に呼び出すことが可能である.外部手続き側では,TNIを通してISLISPのオブジェクトを参照したり,ISLISP関数を呼び出したりすることができる.TNIを用いることにより,C言語やC++言語で記述されたアプリケーションとTISLで実行されるISLISPアプリケーションとの相互作用を行うことが可能になる.ISLISP is the ISO standard Lisp language. We implemented its processor, called the TISL system. There are situations that ISLISP lacks in supporting facilities to realize some applications that incorporate other languages and systems. In order to implement various ISLISP applications for such situations, we designed a native interface for TISL programmer, called the TISL Native Interface (TNI), borrowing some ideas from the Java Native Interface. We implemented the TISL system with the TISL Native Interface. In this presentation, we report the design of the TISL Native Interface and its implementation in TISL. And we explain how to use the TISL Native Interface, using several examples. The 'deflink' construct is introduced into the TISL system to link a ISLISP function to a foreign procedure. A 'deflink' function can be used in the same way as ISLISP functions. The foreign procedures and applications can utilize ISLISP functions through the TISL Native Interface. The TISL Native Interface enables ISLISP applications on TISL to interact with applications written in C and C++.

ISLISP is the ISO standard Lisp language. We implemented its processor, called the TISL system. There are situations that ISLISP lacks in supporting facilities to realize some applications that incorporate other languages and systems. In order to implement various ISLISP applications for such situations, we designed a native interface for TISL programmer, called the TISL Native Interface (TNI), borrowing some ideas from the Java Native Interface. We implemented the TISL system with the TISL Native Interface. In this presentation, we report the design of the TISL Native Interface and its implementation in TISL. And we explain how to use the TISL Native Interface, using several examples. The 'deflink' construct is introduced into the TISL system to link a ISLISP function to a foreign procedure. A 'deflink' function can be used in the same way as ISLISP functions. The foreign procedures and applications can utilize ISLISP functions through the TISL Native Interface. The TISL Native Interface enables ISLISP applications on TISL to interact with applications written in C and C++.

収録刊行物

  • 情報処理学会論文誌プログラミング(PRO)

    情報処理学会論文誌プログラミング(PRO) 42(SIG11(PRO12)), 97-97, 2001-11-15

    一般社団法人情報処理学会

各種コード

  • NII論文ID(NAID)
    110002726075
  • NII書誌ID(NCID)
    AA11464814
  • 本文言語コード
    JPN
  • 資料種別
    Article
  • ISSN
    1882-7802
  • データ提供元
    CJP書誌  NII-ELS  IPSJ 
ページトップへ