MINERVA superseeded IF/Prolog.
Please see
http://www.ifcomputer.co.jp/MINERVA
for details.
We discontinued to sell IF/Prolog Dec 31. 2003.
For current customers, we continue to provide
professional support for IF/Prolog until Dec 31, 2008.
Emacsインタフェ−スには、以下のファイルとディレクトリが必要です。
$PROROOT/util/emacs/ep-interface LispとPrologのコ−ドを定義します。これにより、IF/PrologからLispを呼び出したり、その逆もできるようになります。
$PROROOT/util/emacs/TAGS ptags.cとprolog.el用のTAGSファイルです。
$PROROOT/util/emacs/prolog.el Prologgモ−ドと下位のPrologを定義するEmacsのLispファイルです。
$PROROOT/util/emacs/ptags.c
$PROROOT/util/emacs/ptags.man Lisp,Cなどと同様に、PrologのためにタグファイルをつくるCプログラムと、そのオンライン・マニュアルです。このプログラムは、GNU-Emacsに含まれているetags.cプログラムの代わりに使われます。ptags.cは、/usr/local/, /usr/local/binに置くことができます。 あるいは、$path 変数にpathをつけ加えなければなりません。
$PROROOT/util/emacs/term/* Emacsのファンクションキ−を、セットアップするのを助けるファイルです。
$PROROOT/util/emacs/lisp/* emacsのロードパスに含めるべきEmacs Lispファイルです。これらは、他のディレクトリ中のオリジナルへのリンクです。これらは、emacsの自動ロード機能が正常に作動するようにここに集められています。
GNU-Emacsのインスト−ルが終了すると、以下の手続きで簡単にPrologモ−ドを使用することができます。
1) localとLispソ−スを含んだディレクトリ$PROROOT/util/emacsを、load-pathにつけ加える
(以下参照)。
2) Prologファイルが編集される時に、Prologモ−ドになるように、auto-load-alistを変更する
(以下参照)。
上の2つを実現するためには、初期化ファイルのいずれか(パス名は適当に変えて下さい)に、以下のいずれかをつけ加えて下さい。
yourlocalpath/emacs/lisp/default.el
~/.emacs
以下のコ−ドは、$PROROOT/util/emacs/INSTALLのオンラインで見ることができます。ファイルdefault.elは、emacsによりユ−ザのファイル .emacsより前にロ−ドされ、emacsのサイトごとの設定に使うことができます。
;;; Modify the load path so that our prolog mode definition
;;; shadows any distributed ones, and include the ep-interface
;;; code in the path as well.
;;;
;;; These path names are typical for installation on a UNIX system
;;; yours may vary.
;;;
(setq load-path
(append(list "$PROROOT/util/emacs/lisp"
load-path))
;;;
;;; Arrange things so that emacs automatically enters prolog mode
;;; when files have the proper extensions
;;;
(setq auto-mode-alist
(append '(("\\.pro$" . prolog-mode)
("\\.pre$" . prolog-error-mode)
auto-mode-alist))
(autoload 'prolog-error-mode "prolog"
"Special mode to use with IF/Prolog's edit/1 and correct/0
Predicates and the emacsclient program.
This is still an experimental interface and not
guaranteed to work." t nil)
|