これまで述べてきた例は、CファイルのI/O手続きとして定義済みのI/O操作のみを使ったとても簡単な例でした。さらに複雑な例として、UNIXベースの字句解析プログラムであるlexとのインタフェースのための新しいストリーム・クラスを定義するプログラムが、ディレクトリ$PROROOT/demos/stream/lexにあります。...
移動
次へ 前へ
上へ 最上
参考
IF/Prologからのストリームの使用
新しいストリーム・クラスの定義
ストリームの制御
File_stream定義を試す
定義済みのCストリーム・ルーチン
さらに複雑なユーザ定義のストリーム
イフコンピュータ > IF/Prolog > マニュアル > IF/Prolog V4.1 マニュアル > IF/Prolog Interfaces > IF/PrologからC言語へのインタフェ−ス > IF/Prolog ストリーム ・インタフェース > さらに複雑なユーザ定義のストリーム

さらに複雑なユーザ定義のストリーム

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.

これまで述べてきた例は、CファイルのI/O手続きとして定義済みのI/O操作のみを使ったとても簡単な例でした。さらに複雑な例として、UNIXベースの字句解析プログラムであるlexとのインタフェースのための新しいストリーム・クラスを定義するプログラムが、ディレクトリ$PROROOT/demos/stream/lexにあります。

Lexのためのストリーム定義によって、コンパイラのフロントエンドとしての構文解析器を簡単に開発することができるようになります。さらにいえば、lexがトークンに切り分け、他の外部デバイスが決定するようなプロトコルへのインタフェースを提供します。

lexストリーム定義がget述語と一緒に働くことを保証するために、トークン・バッファとそれへのインデックスを含むように、ストリームの定義を拡張することが必要でした。バッファが空になると、字句解析器が呼び出され、次のトークンを供給するようになっています。

マッチしたトークンはトークン値とマッチした文字列を含む構造としてIF/Prologに渡されますが、これは容易に変更することができます。

続く..
IF/Prolog by Siemens
言語
English
Japanese
German
サーバー
USA
Japan
サイトマップ
索引
目次
全体目次
全体索引
印刷向き
imode
PDA
探索
document: http://www.ifcomputer.co.jp/IFProlog/Manuals/v4.1/advanced_feature/c_interface/strint/morcuds/home_jp.html
published 2008/8/19 update 1994/7/28 (c) 1996-2006 IF Computer Japan
IF Computer 〒113-0022 Tel 03-5814-3352 start (AT) ifcomputer.com
Customer Support 東京都文京区千駄木5-28-2   http://www.ifcomputer.co.jp
冒頭へ managed with ubiCMS