ISLISP処理系TISLにおけるネイティブインタフェースの設計および実装

書誌事項

タイトル別名
  • Design and Implementation of a Native Interface for an ISLISP Processor TISL

この論文をさがす

抄録

プログラミング言語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++.

収録刊行物

キーワード

詳細情報 詳細情報について

  • CRID
    1050001337891657088
  • NII論文ID
    110002726075
  • NII書誌ID
    AA11464814
  • ISSN
    18827802
  • Web Site
    http://id.nii.ac.jp/1001/00016853/
  • 本文言語コード
    ja
  • 資料種別
    article
  • データソース種別
    • IRDB
    • CiNii Articles

問題の指摘

ページトップへ