Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP2842889B2 - モジュラコンパイラ - Google Patents
[go: Go Back, main page]

JP2842889B2 - モジュラコンパイラ - Google Patents

モジュラコンパイラ

Info

Publication number
JP2842889B2
JP2842889B2 JP1129992A JP12999289A JP2842889B2 JP 2842889 B2 JP2842889 B2 JP 2842889B2 JP 1129992 A JP1129992 A JP 1129992A JP 12999289 A JP12999289 A JP 12999289A JP 2842889 B2 JP2842889 B2 JP 2842889B2
Authority
JP
Japan
Prior art keywords
class
parser
dependent
scanner
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP1129992A
Other languages
English (en)
Other versions
JPH0237455A (ja
Inventor
バーバラ・ビー・パッカード
グレン・スターンズ
ラルフ・トーマス・ワトソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
HP Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by HP Inc filed Critical HP Inc
Publication of JPH0237455A publication Critical patent/JPH0237455A/ja
Application granted granted Critical
Publication of JP2842889B2 publication Critical patent/JP2842889B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Computer And Data Communications (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明はコンピュータ上で動作するエージェントエン
ジンおよび複数のアプリケーションプログラムによって
実行されるコードをコンパイルするモジュラコンパイラ
の使用に関する。
〔従来技術およびその問題点〕
例えば一般的な多くのスプレッドシートやデータベー
スのプログラム等の、ある種の商業的に入手できるアプ
リケーションプログラムでは、打ち込んだコマンドを後
でバッジ実行するためにスクリプトファイルに記憶する
ことができるコマンド言語をインプリメントしている。
これらのスクリプトを使用することにより、ユーザは複
雑なコマンドの集まりを自動的に実行することができ
る。更にユーザは、しばしば繰り返して行われる作業を
スクリプトの実行にまで簡単化することができる。
しかしながら、コマンド言語の現在のインプリメンテ
ーションでのスクリプトは、その能力がきわめて乏し
い。例えば、現行の方式はアプリケーションに依存して
いる。アプリケーションは各自が独自のコマンド言語ス
クリプトを生成し、そのようなスクリプトはそのアプリ
ケーションでしか実行できない。同一のスクリプトをい
くつものアプリケーションで実行するための機構はな
い。これに加えて、生成されたスクリプトファイルは、
理解して修正するのは困難である。それはそのようなス
クリプトファイルにはアプリケーションによって実際に
実行されるコマンドが入っているからである。
〔発明の目的〕
本発明は上述した従来技術の問題点を解消し、複数の
アプリケーションに対して共通に使用でき、またアプリ
ケーションの追加・削除に柔軟に対応できるモジュラコ
ンパイラを提供することを目的とする。
〔発明の概要〕
本発明の一実施例によれば、複数のアプリケーション
およびエージェントエンジンを含むコンピュータシステ
ムが提供される。アプリケーションプログラムは各々一
連の意味的コマンドを実行する。
アプリケーションプログラムとエージェントエンジン
が実行するためのコードをコンパイルするために、モジ
ュラコンパイラが使用される。このモジュラコンパイラ
には、エージェントエンジンが実行すべきプログラムコ
ードを構文解析するクラス独立コンパイラが含まれる。
モジュラコンパイラにはまた、各アプリケーションプロ
グラム用のグラス依存パーザも含まれている。これらク
ラス依存パーザは各々対応するアプリケーションの実行
すべきプログラムコードを構文解析する。アプリケーシ
ョンプログラムがコンピュータシステムに追加された場
合、対応するクラス依存パーザがモジュラコンパイラに
追加される。また、コンピュータシステムからアプリケ
ーションプログラムが取り除かれた場合には、それに対
応するクラス依存パーザがモジュラコンパイラから取り
除かれる。
本発明によれば、アプリケーションをコンピュータシ
ステムに追加したりあるいはそこから取り除いたりでき
るという、大きな多機能性が得られる。新たなアプリケ
ーションをコンピュータシステムに追加しなければなら
ない場合、この新たなアプリケーションで実行されるコ
マンドを考慮に入れるためにコンパイラを書き直す必要
はない。その代わりに、この新たなアプリケーションが
実行するコマンドを生成するために、別個のクラス依存
パーザを追加すればよい。
[発明の実施例] 第1図は本発明の実施例に基づくコンピュータシステ
ムのブロック図である。ユーザ111はソフトウェア環境1
12を介してコンピュータシステムと通信する。ソフトウ
ェア環境112は、例えばアメリカ合衆国の16011 NE 36th
Way,Redmond,WA98073−9717に業務上の住所を有するMi
crosoft Corporationから市販されているプログラムで
あるMicrosoft Windowsであってよい。ユーザの動作を
記述する情報を含んだメッセージは、ソフトウェア環境
112によってアプリケーション100に送られる。本実施例
では、ユーザ動作を含むメッセージは、Microsoft Wind
owsが送り出す標準メッセージである。
アプリケーション100は動作プロセッサ101を備えてお
り、これがいくつかの構文的なユーザ動作を単一の意味
的コマンドに変換する。例えば、動作プロセッサ101は
ユーザが使っているマウスのクリックと運動を観察し、
構文的に意味のあるコマンドが生成されるまで待機す
る。動作プロセッサ101は、ユーザが1つの特定のコマ
ンドを組立てる際に取り得る多くのやり方を構文的に解
釈することができる。動作プロセッサ101は構文的なユ
ーザ動作の他に、アプリケーション100に到来する他の
メッセージも処理する。いくつかのメッセージは、これ
らが与えられることによって意味的コマンドが生成さ
れ、他のメッセージはもっぱら動作プロセッサ101によ
って処理される。
アプリケーション100はまた意味的コマンドを実行す
るコマンドプロセッサ102も備えている。コマンドプロ
セッサ102は意味的コマンドを内部形式(内部形式につ
いては後に詳しく説明する。)で受け取り、またコマン
ドが実行できない場合はエラーを戻す。
アプリケーション100とソフトウェア環境112は、ソフ
トウェア環境112とアプリケーション100の間のインタフ
ェースのレベルでヘルプ環境119と相互作用する。ヘル
プ環境119は、ヘルプテキスト104を使用するヘルプアプ
リケーション103を含んでいる。ヘルプ環境119はまたヘ
ルプテキスト104を作成するためのヘルプツール105も含
んでいる。
ソフトウェア環境112はまたエージェント環境(agent
environment)118と相互作用する。エージェント環境1
18はエージェントタスク107およびエージェントエンジ
ン108を含んでいる。
エージェントエンジン108は、5つの機能を実行する
ため、5つの異なる概念的カテゴリでアプリケーション
100と相互作用する。エージェントエンジン108は質問す
るためにデータチャネル113を介して動作プロセッサ101
と相互作用する。また、アプリケーション100の活動性
を監視するため、データチャネル114を介して動作プロ
セッサ101およびコマンドプロセッサ102との間で相互作
用する。また、コマンドをアプリケーション100によっ
て実行させるため、データチャネル115を介してコマン
ドプロセッサ102と相互作用する。また、アプリケーシ
ョン100内でのコマンドの処理の際のエラーを取り扱う
ため、データ・チャネル116を介してコマンドプロセッ
サ102と相互作用する。更にまた、108はアプリケーショ
ン100の実行を記録し、またコマンドの完了通知を受け
取るため、データチャネル117を介してコマンドプロセ
ッサ102と相互作用する。
本発明の実施例では、コマンドは次の4通りの形態で
表現できる。(1)キーワードおよびパラメタとして記
憶されるタスク言語様式、(2)エージェント108によ
って解釈される付加ヘッダ付きの外部形式の2進コード
であるPコード様式、(3)アプリケーション100によ
り理解される2進データであり、かつエージェント108
とアプリケーション100との間で受け渡される外部様
式、および(4)アプリケーション100内で実行される
2進コマンドとしての内部様式。
第2図はエージェントシステム全体がどのように機能
するかを示すブロック図である。作業言語ファイル131
は作業言語が入るファイルである。作業言語はアプリケ
ーションの機能を記述するテキスト形式のコマンドであ
る。作業言語はクラス依存コマンドとクラス独立コマン
ドから成っている。クラス依存コマンドはアプリケーシ
ョンが実行すべきコマンドである。第2図では1つのア
プリケーション、すなわちアプリケーション100だけを
示しているが、エージェント108は多くのアプリケーシ
ョンと相互作用できる。
本発明の実施例では、アプリケーションによって操作
されるべきデータファイルはオブジェクトを用いて参照
される。各オブジェクトはデータファイルへの参照およ
びアプリケーションへの参照を含んでいる。同一のアプ
リケーションを参照する複数のオブジェクトは同一クラ
スのメンバであると称される。各アプリケーションは別
々のコマンド群を実行する。従って、クラス依存コマン
ドはアプリケーションごとに異なっている。
エージェントエンジン108は、エージェントエンジン1
08によって理解されるコマンドであるクラス独立コマン
ドを実行する。クラス独立コマンドはアプリケーション
によってではなく、エージェントエンジン108によって
実行される。
作業言語ファイル131はPコードファイル121を準備す
るためクラス独立パーザ122によって使用される。Pコ
ードファイル121を準備する際、クラス独立パーザ122は
クラス依存パーザ123、124等を呼出す。後に更に説明す
るように、クラス依存パーザはPコード形式にカプセル
化されたクラス依存コマンドを生成するパーザである。
エージェントエンジン108はPコード形式から外部形式
のコマンドを抽出し、それらのコマンドを適切なアプリ
ケーションへ送る。Pコード中のクラスフィールドは、
どのアプリケーションが特定のクラス依存コマンドを受
け取るかを指示する。クラス独立パーザ122はエージェ
ントエンジン108によって実行されるPコードを生成す
るパーザである。
作業言語ファイル131は、エージェント作業エディタ1
32を用いて、ユーザ111が準備することができる。ある
いは、クラス依存レコーダ126、127等を利用するクラス
独立レコーダ125を使用して、作業言語ファイルを準備
してもよい。一般に、レコーダは後に再生するためにア
プリケーションのコマンドを記録する。コンピュータシ
ステムが記録モードにある場合は、エージェント作業エ
ディタ132は、エージェントエンジン108およびアプリケ
ーションがどのような動作を取っているかを詳細に記述
する入力を、アプリケーション100のようなアプリケー
ションから受け取る。
アプリケーションはアプリケーションプログラム・イ
ンタフェース(application program interface API)1
30を介してエージェント作業エディタ132と通信する。
エージェント作業エディタ132は、コンピュータシステ
ムが記録モードにある場合はデータをクラス独立レコー
ダ125に送り、エージェント作業エディタ132をユーザ11
1が使用中の場合はデータを作業言語ファイル131に送
る。
クラス独立レコーダ125は情報を受け取って作業言語
ファイル131を構築する。エージェント作業エディタが
アプリケーションの取った動作に関する情報を送ってい
ることをクラス独立レコーダ125が検出すると、クラス
独立レコーダ125はそのアプリケーションのためのクラ
ス依存レコーダを呼出す。このクラス依存レコーダがこ
の動作についての作業言語様式を作成する。クラス独立
レコーダ108はエージェントエンジン108が取る動作につ
いての作業言語様式を作成する。
Pコードファイル121を実行するとき、エージェント
エンジン108は各Pコードコマンドを読み取り、そのP
コードコマンドがエージェントエンジン108によって実
行されるべきクラス独立コマンドを含んでいるのか、そ
れともアプリケーションによって実行されるべきクラス
依存コマンドを含んでいるのかを判定する。Pコードコ
マンドがクラス独立コマンドを含んでいる場合は、エー
ジェントエンジン108がそのコマンドを実行する。Pコ
ード指令がクラス依存コマンドを含んでいる場合は、エ
ージェントエンジン108は、このコマンドを受け取るべ
きアプリケーションをこのPコードコマンドから判定す
る。次にエージェントエンジン108は、Pコード内に埋
め込まれたクラス依存コマンドを外部形式で抜き出す。
次にこのクラス依存コマンドはアプリケーションに送出
される。例えばクラス依存コマンドがアプリケーション
100についてのものであるならば、そのクラス依存コマ
ンドはアプリケーション100に送出される。アプリケー
ション100内において、外部形式で送出されたクラス依
存コマンドを内部形式のコマンドに翻訳するため、内部
向け翻訳プロセッサ128が使用される。
エージェントエンジン108とアプリケーションの間の
相互作用を行う際、API130が使用される。API130はエー
ジェントエンジン108および他の機構をアクセスするた
めの関数とメッセージの集まりである。
システムが記録モードにあるときは、内部向け翻訳プ
ロセッサ128はエージェントエンジン108からのコマンド
を翻訳し、第3図に示すコマンドインタフェース要素14
6を介してそのコマンドをコマンドプロセッサ102へ送
る。外部向け翻訳プロセッサ129は、コマンドプロセッ
サ102によって実行された内部形式のコマンドを受け取
る。このコマンドは第3図に示すリターンインタフェー
ス要素を介して受け取られる。外部向け翻訳プログラム
129は内部形式のコマンドを外部形式のコマンドに翻訳
する。この外部形式のコマンドはこれによりAPI130を経
て作業エディタ132へ転送される。
第3図は本発明の実施例におけるアプリケーション10
0のアーキテクチャをより詳細に説明している。アプリ
ケーション100は、ソフトウェア環境112と相互作用する
ユーザ動作インタフェース要素145、および動作プロセ
ッサ101とコマンドプログラム102の双方と通信するコマ
ンドインタフェース要素146を含んでいる。図示されて
いるように、動作プロセッサ101コマンドプロセッサ102
の双方がアプリケーションデータ144をアクセスする。
リターンインタフェース要素147はコマンドプロセッサ1
02に応答して、制御をソフトウェア環境112に戻す。図
示のように、外部向け翻訳プロセッサ129はリターンイ
ンターフェース要素147と相互作用する。リターンイン
タフェース要素147は、アプリケーション100が再生モー
ドまたは記録モードにある場合だけ呼出される。これら
のモードについては後により詳細に説明する。リターン
インタフェース要素147はエージェントエンジン108に対
して、アプリケーション100によってコマンドが既に実
行され、アプリケーションは次のコマンドへの準備が完
了しているということを指示する。
アプリケーション100には、モーダルダイアローグボ
ックスプロセッサ148とエラーダイアローグボックス要
素149も含まれている。これらはいずれもソフトウェア
環境112と相互作用して、ユーザ111と通信するダイアロ
ーグボックスの表示を制御する。
ある種のアプリケーションは一度に複数のウィンドウ
中で動作することができる。これを行う際、モードなし
のユーザ動作インタフェース要素と、モードなし動作プ
ロセッサと、モードなしコマンドインタフェース要素
が、アプリケーションがその中で動作する複数のウィン
ドウのそれぞれごとに付加される。例えば、アプリケー
ション100内には、モードなしユーザ動作インタフェー
ス要素141と、モードなし動作プロセッサ142と、モード
なしコマンドインタフェース要素143が含まれている。
第4図はアプリケーション100内でのデータフローを
示す。アプリケーション100へのメッセージはユーザ動
作インタフェース要素145が受け取る。例えばヘルプア
プリケーション103からのメッセージのようなある種の
メッセージに対しては、ユーザ動作インタフェース要素
145によってアプリケーション100は即ちにリターンす
る。それ以外の場合は、メッセージは再生メッセージテ
スト要素(playback message test component)150に進
む。このメッセージが記録あるいはパージングのいずれ
かによって作成されたコマンドを再生するためのメッセ
ージである場合は、このメッセージは、メッセージに含
まれるコマンドを外部形式から内部形式へ翻訳する内部
向け翻訳プロセッサ128に送られる。コマンドは次にコ
マンドインタフェース要素146に送られる。
メッセージが再生用メッセージではない場合は、この
メッセージは例えばメッセージを生成せしめたユーザの
動作を構文的に解釈するため、動作プロセッサ101に送
られる。動作プロセッサ101により生成されたかあるい
は内部向け翻訳プロセッサ128によって作成された意味
的コマンドがない場合は、再生メッセージテスト要素15
0はアプリケーション100をリターンさせる。生成された
意味的コマンドがある場合は、そのコマンドはコマンド
インタフェース要素146に送られる。
エージェントエンジン108がアプリケーション100によ
るコマンドの実行を監視している場合は、コマンドイン
タフェース要素146は受信したデータは皆、コマンドを
外部形式に翻訳する外部向け翻訳プロセッサ129に送
り、またそのコマンドをエージェントエンジン108に転
送する。コマンドインタフェース要素はまたモーダルダ
イアローグボックステスト要素152にデータを進める。
進められたデータがダイアローグボックスに対する要
求を含んでいる場合は、モーダルダイアローグボックス
テスト要素152は処理を行うため、モーダルダイアロー
グボックスプロセッサ148にこのデータを送り出す。そ
うでない場合には、モーダルダイアローグボックステス
ト要素152はデータをコマンドテスト要素151へ送り出
す。
このデータがコマンドを含んでいる場合は、コマンド
テスト要素151は実行のためにこのコマンドをコマンド
プロセッサ102に送出す。コマンドテスト要素151はデー
タをリターンインタフェース要素147へ送り出す。
エージェントエンジン108がコマンドを記録している
場合は、リターンインタフェース要素147はデータを外
部形式に翻訳するために外部向け翻訳プロセッサ129に
送出し、またデータをリターンインタフェース要素147
を経てエージェントエンジン108へ転送する。リターン
インタフェース要素147は次のメッセージが受け取られ
るまでリターンする。
次に本発明の実施例に基づく動作の記録および再生の
態様を説明する。
第8図では、ウィンドウ205内でアプリケーション“N
ew Wave Office"が図示のように実行中である。ウィン
ドウ205内にはアイコン201で表されたオブジェクト“Jo
e"と、アイコン206で表されたフォルダ“Bill"と、アイ
コン202で表されたフォルダ“Sam"が示されている。オ
ブジェクト“Joe"には、テキストファイルへの参照およ
びこのテストファイルを操作するアプリケーションへの
参照が含まれている。フォルダ“Sam"はオープンされて
いる。従ってアイコン202には陰影がつけられており、
ウィンドウ204はフォルダ“Sam"の内容を示している。
フォルダ“Sam"内にはアイコン203で表されたフォルダ
“Fred"がある。カーソル200は第6図に示すようにマウ
ス20またはキーボード19によって制御される。
第6図には、コンピュータ18とウィンドウ205を表示
するモニタ14も図示されている。第7図はボタン27、28
を含むマウス20を図示している。
オブジェクト“Joe"は次のようにしてフォルダ“Bil
l"内に置くことができる。こうするにはまずマウス20を
使ってカーソル200をオブジェクト“Joe"の上に置き、
ボタン27を押し込み、次にカーソル200をフォルダ“Bil
l"の上に動かし、そこでボタン27を離せばよい。同様
に、マウス20を用いてカーソル200をオブジェクト“Jo
e"の上に置いてからボタン27を押し込み、次にウィンド
ウ204内にカーソル200を動かし、そこでボタン27を離す
ことによって、フォルダ“Sam"内にオブジェクト“Joe"
を置くことができる。最後に、マウス20を用いてカーソ
ル200をオブジェクト“Joe"の上に置いてボタン27を押
し込み、カーソル200をフォルダ“Fred"上へ動かしてか
らボタン27を離すことによって、フォルダ“Fred"内に
オブジェクト“Joe"を置くことでがきる。
オブジェクト“Joe"をフォルダ“Sam"や“Bill"の中
に置くのを、以下に説明するようにして記録することが
できる。ユーザがマウス20を動かすごとに、構文的なユ
ーザ動作を含むメッセージをユーザ動作インターフェー
ス要素145が受け取って、これを再生メッセージテスト
要素150を介して動作プロセッサ101へ中継する。このよ
うな構文的ユーザ動作に基づいて、動作プロセッサ101
はコマンドプロセッサ102によって実行される意味的コ
マンドを生成する。
次にフォルダ“Bill"中にオブジェクト“Joe"を置く
のを記録することについて説明する。カーソル200はウ
ィンドウ205内で自由に動かすことができる。ユーザが
マウス20を動かすと、構文的ユーザ動作は前述のように
動作プロセッサ101へ送られる。アクション・プロセッ
サ101はカーソル200の座標位置を常に掌握している。ボ
タン27が押されると、動作プロセッサ101はカーソル200
の現在の座標位置に何があるかを調べる。ボタン27が押
されたとき、カーソル200がオブジェクト“Joe"の上に
あった場合は、動作プロセッサ101は、オブジェクト“J
oe"がカーソル200の位置にあることを発見する。このと
き、プロセッサ101は意味的コマンド“Select Document
‘Joe'"(文書“Joe"を選択せよ)を生成する。この意
味的コマンドは、再生メッセージテスト要素150と、コ
マンドインターフェース要素146と、モーダルダイアロ
ーグボックステスト要素152と、コマンドテスト要素151
を通過してコマンドプロセッサ102へ送られ、ここにこ
の意味的コマンドが実行される。この意味的コマンドは
リターンインターフェース要素147にも受け取られ外部
向け翻訳プロセッサ129へ送られる。外部向け翻訳プロ
セッサはこのコマンドを外部形式にして、これをクラス
独立しレコーダ125へ、ひいてはクラス依存レコーダ126
へ送る。このクラス依存レコーダ126がこのコマンドを
作業言語形式で作業言語ファイル内に記録する。
マウス20が動かされている間、構文的ユーザ動作が継
続的に動作プロセッサ101に送られる。動作プロセッサ
はカーソル200の座標位置を掌握し続ける。第9図で
は、カーソル200はオブジェクト“Joe"の「幻影」を動
かしている。第10図ではカーソル200はフォルダ“Bill"
の上に置かれている。
ボタン27が離されると、動作プロセッサ101は意味的
コマンド“MOVE_TO Folder‘Bill'"(フォルダ“Bill"
へ移動せよ)を生成する。この意味的コマンドプロセッ
サ102へ渡され、このコマンドプロセッサが先に選択さ
れていたオブジェクト“Joe"をフォルダ“Bill"へ転送
する。第11図は転送が完了し、オブジェクト“Joe"がフ
ォルダ“Bill"内にある状態を示す。外部向け翻訳プロ
セッサ129はコマンドを外部形式に変換し、これをクラ
ス独立レコーダ125に、ひいてはコマンドを作業言語フ
ァイル内に記録するクラス依存レコーダ126へ送る。フ
ォルダ“Bill"をオープンすると、第12図に示すように
オブジェクト“Joe"が見える。
この場合、外部向け翻訳プロセッサ129はオブジェク
ト“Joe"やフォルダ“Bill"についての情報を更に得る
必要はなかった。何故ならば、アプリケーション“New
Wave Office"は自分の内部オブジェクト“Joe"およびフ
ォルダ“Bill"がそのデスクトップ上にあることを示す
情報を持っているからである。更に、アプリケーション
100“New Wave Office"はフォルダ“Bill"が閉じている
ことを知っている。
フォルダ“Sam"内へオブジェクト“Joe"を置くのを記
録する態様も上と同様である。第8図ではウインドウ20
5は活動状態である。カーソル200はウインドウ205内を
自由に移動できる。ボタン27が押されると、アクション
・プロセッサはカーソル200の現在の座標位置に何があ
るかをチェックする。ボタン27が押されたとき、カーソ
ル200がオブジェクト“Joe"の上に置かれていた場合
は、動作プロセッサ101はオブジェクト“Joe"がカーソ
ル200の位置にあることを発見する。このとき、動作プ
ロセッサ101は意味的コマンド“Select Document‘Jo
e'"(文書“Joe"を選択せよ)を生成する。この意味的
コマンドは、再生メッセージテスト要素150と、コマン
ドインターフェース要素146と、モーダルダイアローグ
ボックステスト要素152と、コマンドテスト要素151を経
て、コマンドプロセッサ102へ送られ、この意味的コマ
ンドはここで実行される。
意味指令はリターンインターフェース要素147でも受
け取られ、外部向け翻訳プロセッサ129へ送られる。外
部向け翻訳プロセッサはこのコマンドを外部形式に変換
し、これをクラス独立レコーダ125へ、ひいてはコマン
ドを作業言語ファイル内に記録するクラス依存レコーダ
126へ送る。
マウス20が移動している間、構文的ユーザ動作が継続
的に動作プロセッサ101へ送出される。動作プロセッサ
はカーソル200の座標位置を継続的に掌握している。第1
3図では、カーソル200はウインドウ204内に位置してい
る。ボタン27が離されると、動作プロセッサ101はコマ
ンド“MOVE_TO Folder‘Sam'"(フォルダ“Sam"へ移動
せよ)を生成する。この意味的コマンドはコマンドプロ
セッサ102へ渡され、コマンドプロセッサ102は先に選択
されていたオブジェクト“Joe"をフォルダ“Bill"へ転
送する。この意味的コマンドはまたリターンインターフ
ェース要素147でも受け取られ、外部向け翻訳プロセッ
サ129へ送られる。外部向け翻訳プロセッサ129は“API_
INTERROGATE_MSG"(API質問メッセージ)を送出する。
このメッセージの機能は、“API_WHO_ARE_YOU_FN"(API
機能「おまえは誰か」)である。このメッセージによ
り、外部向け翻訳プロセッサ129は、フォルダ“Sam"に
ついてのオープンしているウインドウがカーソル200の
位置にあることを示すリターンデータを受け取る。外部
向け翻訳プロセッサ129はまた“API_INTERROGATE_MSG"
を送り出す。このメッセージの機能は“API_WHATS_INSE
RTABLE_AT_FN"(API機能「そこに何を挿入可能か」)で
ある。ウインドウ204内のカーソル200の位置には何もな
いのでそれ以上の要素(entity)は見出されない。
外部向け翻訳プロセッサはコマンドを外部形式に変換
してクラス独立レコーダ125に、ひいてはクラス依存レ
コーダ126に送り、このコマンドは作業言語ファイル131
内に記録される。第14図は転送が完了した結果を示して
いる。すなわち、オブジェクト“Joe"はウインドウ204
内にある。
同様にして、オブジェクト“Joe"をフォルダ“Fred"
に転送できる。第15図では、カーソル200がウインドウ2
04内のフォルダ“Fred"上に位置している。ボタン27が
離されると、アクション・プロセッサ101は意味的コマ
ンド“MOVE_TO Folder‘Fred'WITHIN Folder‘Sam'"
(フォルダ“Sam"内にあるフォルダ“Fred"へ移動せ
よ)を生成する。この意味的コマンドはコマンドプロセ
ッサ102に渡され、それによって先に選択されていたオ
ブジェクト“Joe"がフォルダ“Sam"内のフォルダ“Fre
d"へ転送される。この意味的コマンドはリターンインタ
ーフェース要素147でも受け取られて、外部向け翻訳プ
ロセッサ129に送られる。
外部向け翻訳プロセッサ129はこのコマンドを次のよ
うにして外部形式に変換する。外部向け翻訳プロセッサ
129は“API_INTERROGATE_MSG"を送出する。このメッセ
ージの機能は“API_WHATS_INSERTABLE_AT_FN"である。
このメッセージの結果として、外部向け翻訳プロセッサ
129は、フォルダ“Fred"がカーソル200の位置にあるこ
とを示すリターンメッセージを受け取る。外部向け翻訳
プロセッサは“API_INTERROGATE_MSG"をもう一度送出す
る。今度のメッセージの機能は“API_WHO_ARE_YOU_FN"
である。このメッセージの結果として、外部向け翻訳プ
ロセッサ129はフォルダ“Sam"がカーソル200の位置にあ
ることを示すリターンデータを受け取る。
この時点で外部向け翻訳プロセッサはAPI130を経て外
部形式のコマンドをクラス独立レコーダ125に、ひいて
はクラス依存レコーダ126に送ることができる。クラス
依存レコーダ126は外部コマンドを作業言語ファイル131
に記録する。第16図は転送が終了し、オブジェクト“Jo
e"がファイル“Fred"内にあることを示している。第17
図に示すように、フォルダ“Fred"がオープンされてい
る場合はオブジェクト“Joe"が見える。
オブジェクト“Joe"をフォルダ“Fred"に転送した一
連の一旦タスク言語ファイルに記録されると、コマンド
は、一度作業言語ファイルに記録した後で再生すること
ができる。例えば、ウインドウ205が第18図のように見
える場合を想定してみる。ウインドウ204と、オブジェ
クトテキスト“Joe"とフォルダ“Fred"はどれもウイン
ドウ205内ではじめとは異なる位置にあるので、構文的
なユーザ動作を単に再生するのでは、オブジェクト“Jo
e"がフォルダ“Fred"内に配置されることにはならな
い。しかし、記録されたのは構文的ユーザ動作ではなく
意味的コマンドであるので、この意味的コマンドの再生
によって、オブジェクト“Joe"はフォルダ“Fred"内に
配置される。
具体的に作業言語ファイルに以下のコマンドが含まれ
ていたものと想定してみる。
FOCUS on Desktop“New Wave Office" (デスクトップ“New Wave Office"に焦点を合わせよ) SELECT Document“Joe" (文書“Joe"を選択せよ) MOVE TO Folder“Fred"WITHIN Folder“Sam" (フォルダ“Sam"内のフォルダ“Fred"へ移動せよ) 最初のコマンドであるFOCUS on Desktop“New Wave O
ffice"はクラス独立コマンドであり、第5図に示す作業
言語コンパイラ120によって一旦コンパイルされると、
エージエントエンジン108によって実行できる。後に詳
述するように、このFOCUSコマンドはアプリケーション
“New Wave Office"に焦点を合わせる。このことは、作
業言語指令は、可能であるなら、クラス依存コマンドと
して取り扱われ、実行されるためにアプリケーション
“New Wave Office"に送られることを意味する。説明を
簡単にするため、アプリケーション“New Wave Office"
をアプリケーション100であるとする。
2番目と3番目のコマンドであるSELECT Document“J
oe"およびMOVE_TO_Folder“Fred"WITHIN Folder“Sam"
はクラス依存コマンドである。これらのクラス依存コマ
ンドは作業言語コンパイラ120によってPコード形式に
コンパイルされてからエージェントエンジン108によっ
て受け取られる。エージェントエンジン108は、Pコー
ド形式からクラス依存コマンドを外部形式で抜き出し
て、これらのクラス依存コマンドをアプリケーション10
0へ送る。アプリケーション100のユーザ動作インターフ
ェース要素145はこの外部コマンドを含むメッセージを
受け取り、このメッセージを再生メッセージテスト要素
150へ進める。再生メッセージテスト要素150はこのコマ
ンド内部向け翻訳プロセッサ128へ送り出す。内部向け
翻訳プロセッサ128はこのコマンドを外部形式から内部
形式へ翻訳し、内部形式のコマンドを再生テスト要素15
0へ戻す。この内部形式のコマンドは次にコマンドイン
ターフェース要素146と、モーダルダイアローグボック
ステスト要素152と、コマンドテスト要素151を経て、コ
マンドプロセッサ102へ送られる。コマンドプロセッサ1
02はこのコマンドを実行する。
エージェントエンジン108はウインドウ205を活動状態
とすることによって、コマンドFOCUS on Desktop“New
Wave Office"を実行する。今や、カーソル200の位置
は、ウインドウ205の座標に関して判定される。
コマンドプロセッサ102がコマンドSELECT Document
“Joe"を受け取ると、コマンドプロセッサ102によって
オブジェクト“Joe"が選択される。オブジェクト“Joe"
はウインドウ205内にあるので別に問合わせをする必要
はない。
コマンドMOVE_TO_Folder“Fred"WITHIN Folder“Sam"
についての内部コマンドを作るときに、内部向け翻訳プ
ロセッサ128はオープンされているウインドウの各々に
“API_INTERROGATE_MSG"を送る。このメッセージの機能
は“API_WHO_ARE_YOU_FN"である。
フォルダ“Sam"についてのウインドウがこのメッセー
ジを受け取ると、このウインドウこれに応答して“Fold
er‘Sam'"(私はフォルダ“Sam"である)を戻す。内部
向け翻訳プロセッサ128はもう一度“API_INTERROGATE_M
SG"を送出する。今度のメッセージの機能は“API_WHERE
_IS_FN"(API機能「どこにいるか」)である。フォルダ
“Fred"がパラメタとして含まれている。このメッセー
ジは、ウインドウ204内でのフォルダ“Fred"座標を示す
データを返すフォルダ“Sam"へ送られる。次に内部向け
翻訳プロセッサ128が内部形式のコマンドMOVE_TO_Folde
r“Fred"WITHIN Folder“Sam"を生成する。コマンドプ
ロセッサ120はこのコマンドを受け取って、オブジェク
ト“Joe"をフォルダ“Fred"に転送する。
作業言語ファイル131はユーザによって、また記録に
よって書き込まれたコンパイルされるコードによって作
成できる。第5図には作業言語コンパイラ120を通るデ
ータフローが示されている。作業言語ファイル131には
ユーザが書き込んだコマンドが入っている。
作業言語コンパイラ120は2パスコンパイラである。
第1パスで使用されるルーチンには、入力ストリームプ
ロセッサ164と、式パーザ(expression parser)166
と、クラス独立パーザ122と、保存ファイルバッファ(s
ave file buffer)171と、第2パスルーチン群と、クラ
ス依存パーザ123、167、168として図示されているクラ
ス依存パーザ群等がある。第1パスにより、一時ファイ
ル176が作成される。
クラス独立パーザ122は種々のクラス独立作業言語コ
マンドを構文解析する。システムで実行される各アプリ
ケーションはそのアプリケーションが実行する特別のコ
マンドを有している。したがって各アプリケーション用
に各々別個のクラス依存パーザが開発される。ことパー
ザはその開発の目的となっているアプリケーションによ
って実行されるコマンドを構文解析することができる。
アプリケーションがシステムに追加したりあるいはシス
テムから抹消したりする際、作業言語コンパイラ120に
クラス依存パーザを追加したりそこから抹消したりして
よい。
コンパイルが開始されると、クラス独立パーザ122は
入力ストリームプロセッサ164に対してトークンを要求
する。入力ストリームプロセッサ164は作業言語ファイ
ル131を走査してトークンを作成する。次にクラス独立
パーザ122はいくつかの事柄のうちの1つを実行する。
クラス独立パーザ122は保存ファイルバッファ171に送る
ためのPコードを生成することができる。クラス独立パ
ーザ122が次のトークンは式であるはずであると予期し
ているならば、クラス独立パーザ12は式パーザ166を呼
出すルーチンMake Expression( )を呼出す。式パー
ザ166は、式が完成するまで、入力ストリームプロセッ
サ164に対してトークンを要求する。次に、式パーザ166
は、ファイルバッファ171に送られ、その後一時ファイ
ル176に保存されるPコードを生成する。これに加え
て、式パーザ166は入力ストリームプロセッサ164に戻さ
れる式トークンも生成する。入力ストリームプロセッサ
164は、クラス独立パーザ122から要求された場合は、こ
の式トークンをクラス独立パーザ122に送る。
FOCUSコマンドを実行すると、特定のクラス依存パー
ザが優先権を持つ。従って、クラス独立スキャナ122aは
その構文解析ループ内で現在焦点を合わせているアプリ
ケーション用のクラス依存パーザを呼出す。このクラス
依存パーザは、クラス依存パーザにより呼出された意味
ルーチンを外部コマンド形式に変換するクラス依存コマ
ンドを受け取るまで、あるいはクラス依存パーザが受け
取った式を構文解析することができないと判断するま
で、入力ストリームプロセッサ164に対してトークンを
要求する。クラス独立パーザが式に出会うと、それはMa
ke Expression( )を用いて式パーザ166を呼出すこと
ができる。クラス依存パーザが受け取ったトークンを構
文解析することができない場合は、このクラス依存パー
ザはエラーを戻し、クラス独立パーザがこのトークンを
構文解析しようとする。
FOCUS OFFコマンドを実行すると、クラス独立パーザ1
22は全てのコマンドをクラス依存パーザに送らずに直ち
に構文解析するようになる。クラス独立コマンドの素列
が構文解析されているときには、クラス依存パーザソフ
トウェアの不必要な実行を避けることができ、ひいては
作業言語をコンパイルするのに必要な計算時間が節約さ
れる。
第19図には、クラス独立パーザ122と、クラス従属パ
ーザ123、125として図示されているクラス依存パーザの
間のデータフローが示されている。これらのパーザ間の
関係に論点を絞るため、第19図の説明ではスキャナ122a
による式パーザ166への呼出しは考慮に入れないことに
する。
クラス独立パーザ122がトークンを構文解析する準備
ができると、クラス独立パーザ122はスキャナルーチン1
22aを呼出す。スキャナ122aはアプリケーションに焦点
が合わせられているか否かをチェックする。アプリケー
ションに焦点が合わせられていない場合は、スキャナ12
2aは入力ストリームプロセッサ164を呼出し、このプロ
セッサ164はスキャナ122aにトークンを戻す。スキャナ1
22aはこのトークンをクラス独立パーザ122aに戻す。
アプリケーション上に焦点が合わせられている場合
は、そのアプリケーション用のクラス依存パーザに優先
権があるので、これが呼出される。例えば、クラス依存
パーザ123に対応するアプリケーションに焦点が合って
いる場合は、クラス依存パーザ123はクラス依存スキャ
ナ123aを介してスキャナ122aを呼出す。スキャナ122aは
その状態をチェックし、自分がクラス依存パーザによっ
て呼出されていると判定し、別のクラス依存パーザの再
帰呼出しを行なわない。スキャナ122aは入力すストリー
ムプロセッサ164を呼出し、これがスキャナ122aにトー
クンを戻す。スキャナ部122aはクラス依存スキャナ123a
を介してクラス依存パーザ123にトークンを戻す。本発
明のこの実施例はクラス依存スキャナ123aを含むが、別
の実施例ではクラス依存スキャナ123aを使わず、クラス
依存パーザ123が直接スキャナ122aを呼出してもよい。
クラス依存パーザ123は、それが受け取ったトークン
を構文解析し得る限り、クラス依存スキャナ123aを介し
てトークンを要求し続ける。それらのトークンと共に、
クラス依存パーザは意味ルーチン(semantic routine
s)を呼出し、これら意味ルーチンは、Pコード内に埋
め込まれたクラス依存外部コマンドを生成する。クラス
依存パーザ123が受け取ったトークンを構文解析できな
い場合は、そのクラス依存パーザはスキャナ122aにエラ
ーを返す。この場合、スキャナ122aは入スエトリームプ
ロセッサ164を呼出して、クラス依存パーザが構文解析
できなかったトークンを入力ストリームプロセッサ164
から受け取る。このトークンはクラス独立パーザ122に
返される。クラス独立パーザ122はこのトークンを構文
解析し、エージェントエンジン108によって実行するた
めのPコードを生成する意味ルーチンを呼出す。クラス
独立パーザ122がスキャナ122aにトークンを要求した
後、スキャナ122adは、FOCUS OFFコマンドが現れるま
で、あるいは別のアプリケーションに焦点が合わせられ
るまで、再びクラス依存パーザ123を呼出す。
クラス依存パーザ124に対応するアプリケーションに
焦点が合っている場合は、スキャナ122aはクラス依存パ
ーザ124を呼出す。クラス依存パーザ124はクラス依存ス
キャナ124aを呼出して、クラス依存パーザ123と同様に
動作する。
第5図に示した保存ファイルバッファ171はクラス独
立パーザ122および式パーザ166からPコードを受け取
り、クラス依存パーザから、Pコード内に埋込まれた外
部形式のコマンドを受け取る。保存ファイルバッファ17
1はこの情報を一時ファイル176に記憶する。第2パスル
ーチン174は一時ファイル176に記憶されたPコードと外
部形式のコマンドを取り出し、作業言語ファイル121を
生成するため、例えばアドレスを決定する等の準備を行
なう。
〔発明の効果〕
以上詳細に説明したように、本発明によれば、アプリ
ケーションのシステムへの追加やそこからの削除に柔軟
に対応できる、システム全体のためのモジュラコンパイ
ラが得られる。
【図面の簡単な説明】
第1図はアプリケーション、エージェント環境およびヘ
ルプ環境の間の相互作用を示す図、 第2図はどのようにして作業言語ファイルが生成され実
行されるかを示す図、 第3図は第1図中に示されたアプリケーションの構成を
示す図、 第4図は第1図中に示されたアプリケーションのデータ
フローを示す図、 第5図はコンパイラの構成を示す図、 第6図はコンピュータ、モニタ、キーボードおよびマウ
スを示す図、 第7図は第6図中のマウスの上面図、 第8図ないし第18図はユーザとの対話中に第6図中のモ
ニタに現れる画面を示す図、 第19図は第5図中に示されたコンパイラのデータフロー
を示す図である。 14:モニタ 18:コンピュータ 19:キーボード 20:マウス 27、28:ボタン 100:アプリケーション 101:動作プロセッサ 102:コマンドプロセッサ 103:ヘルプアプリケーション 104:ヘルプテキスト 105:ヘルプツール 107:エージェントタスク 108:エージェントエンジン 111:ユーザ 112:ソフトウエア環境 118:エージェント環境 119:ヘルプ環境 120:作業言語コンパイラ 121:Pコードファイル 122:クラス独立パーザ 122a:スキャナ 123、124:クラス依存パーザ 123a、124a:クラス依存スキャナ 125:クラス独立レコーダ 126、127:クラス依存レコーダ 128:内部向け翻訳プロセッサ 129:外部向け翻訳プロセッサ 130:API 131:作業言語ファイル 132:エージェント作業エディタ 141:モードなしユーザ動作インタフェース要素 142:モードなし動作プロセッサ 143:モードなしコマンドインタフェース要素 144:アプリケーションデータ 145:ユーザ動作インタフェース要素 146:コマンドインタフェース要素 147:リターンインタフェース要素 148:モーダルダイアローグボックスプロセッサ 149:エラーダイローグボックス要素 150:再生メッセージテスト要素 151:コマンドテスト要素 164:入力ストリームプロセッサ 166:式パーザ 167、168:クラス依存パーザ 171:保存ファイルバッファ 174:第2パスルーチン群 176:一時ファイル 200:カーソル 204、205:ウインドウ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ラルフ・トーマス・ワトソン アメリカ合衆国カリフォルニア州サン・ ホゼ サラトガ‐サニーベイル・ロード 1006サウスナンバー・ケイ・205 (56)参考文献 「情報処理学会研究報告」vol. 88,No.7(88−SE−58−18) (1988−2−4) (58)調査した分野(Int.Cl.6,DB名) G06F 9/44 G06F 9/45 G06F 15/00

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のアプリケーションおよび最初に実行
    されているプログラムを備えるコンピュータシステムに
    おける、以下の(a)および(b)を有するモジュラコ
    ンパイラ装置; (a)クラス独立パーザ部:前記最初に実行されている
    プログラムによって実行されるべきコマンドを含むプロ
    グラムコードを構文解析する; (b)複数のクラス依存パーザ部:各クラス依存パーザ
    部は前記複数のアプリケーションの一つによって実行さ
    れるべきコマンドを含むプログラムコードを構文解析す
    ることができるとともに、各クラス依存パーザ部はそれ
    に関連付けられたアプリケーションが前記コンピュータ
    システムに付加されあるいはそこから除去される時前記
    モジュラコンパイラ装置に付加されあるいはそこから除
    去される。
  2. 【請求項2】以下の(c)および(d)を有する特許請
    求の範囲第1項に記載のモジュラコンパイラ装置: (c)スキャナ部:コードを含むソースファイルを操作
    し、前記クラス独立パーザ部および各前記複数のクラス
    依存パーザ部にトークンを戻す; (d)式パーザ部:前記クラス独立パーザ部と前記モジ
    ュラコンパイラ装置に付加された各クラス依存パーザ部
    によって呼ばれ、式を構文解析し式トークンを前記スキ
    ャナに戻す。
  3. 【請求項3】複数のアプリケーションおよび最初に実行
    されているプログラムを備えるコンピュータシステムに
    おける、以下の(a)および(e)を有するモジュラコ
    ンパイラ装置: (a)クラス独立パーザ部:前記最初に実行されている
    プログラムによって実行されるべきコマンドを含むプロ
    グラムコードを構文解析する; (b)第1のスキャナ部:前記クラス独立パーザ部から
    呼ばれた時、前記クラス独立パーザ部にトークンを戻
    す; (c)複数のクラス依存パーザ部:前記第1のスキャナ
    部から呼ばれ、各クラス依存パーザ部は別個のコマンド
    セットを構文解析する; (d)複数の第2のスキャナ部:これら複数の第2のス
    キャナ部のうちの一つの第2のスキャナ部は前記複数の
    クラス依存パーザ部のうちの一つのクラス依存パーザ部
    から呼ばれることにより、各クラス依存パーザ部がそれ
    自信の第2のスキャナ部を呼ぶようにし、また呼ばれた
    前記第2のスキャナ部は呼び出しを行なった前記クラス
    依存パーザ部にトークンを戻す; (e)入力ストリームプロセッサ部:前記第1のスキャ
    ナ部および各前記複数の第2のスキャナ部から呼ばれ、
    呼び出しを行なったスキャナ部にトークンを戻す。
  4. 【請求項4】コンピュータシステムにおいて、以下のス
    テップ(a)ないし(c)を含み、クラス独立パーザ
    と、少なくともひとつのクラス依存パーザと、前記クラ
    ス独立パーザ用のクラス独立スキャナと、前記クラス依
    存パーザの各々のためのクラス依存スキャナとを用い
    て、コードを生成する方法: (a)前記クラス独立パーザから前記クラス独立スキャ
    ナを呼ぶ; (b)前記クラス独立スキャナでアプリケーションに焦
    点が合わせられたことを検出すると以下のステップ(b
    −1)ないし(b−5)を実行する; (b−1)前記クラス独立スキャナから前記第1のクラ
    ス依存パーザを呼ぶ; (b−2)前記第1のクラス依存パーザからそのための
    第1のクラス依存スキャナを少なくとも1回呼ぶ; (b−3)前記第1のクラス依存パーザが前記第1のク
    ラス依存スキャナを呼ぶ毎に、前記第1のクラス依存ス
    キャナから前記第1のクラス依存パーザへトークンを戻
    す; (b−4)前記第1のクラス依存パーザを用いて、前記
    第1のクラス依存スキャナから受信されたトークンの構
    文解析を試みる; (b−5)前記第1のクラス依存パーザが前記第1のク
    ラス依存スキャナから受信されたトークンを構文解析で
    きない場合には、前記第1のクラス依存パーザから前記
    クラス独立スキャナへエラーを戻す; (c)前記クラス独立スキャナから前記クラス独立パー
    ザへトークンを戻す。
JP1129992A 1988-05-23 1989-05-23 モジュラコンパイラ Expired - Fee Related JP2842889B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US197,795 1988-05-23
US07/197,795 US4914585A (en) 1988-05-23 1988-05-23 Modular complier with a class independent parser and a plurality of class dependent parsers

Publications (2)

Publication Number Publication Date
JPH0237455A JPH0237455A (ja) 1990-02-07
JP2842889B2 true JP2842889B2 (ja) 1999-01-06

Family

ID=22730798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1129992A Expired - Fee Related JP2842889B2 (ja) 1988-05-23 1989-05-23 モジュラコンパイラ

Country Status (9)

Country Link
US (1) US4914585A (ja)
EP (1) EP0343883B1 (ja)
JP (1) JP2842889B2 (ja)
KR (1) KR970007760B1 (ja)
CN (1) CN1018206B (ja)
AU (1) AU617776B2 (ja)
CA (1) CA1331887C (ja)
DE (1) DE68926835T2 (ja)
HK (1) HK33197A (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276880A (en) * 1989-12-15 1994-01-04 Siemens Corporate Research, Inc. Method for parsing and representing multi-versioned computer programs, for simultaneous and synchronous processing of the plural parses
US5204960A (en) * 1990-01-08 1993-04-20 Microsoft Corporation Incremental compiler
EP0546151B1 (en) * 1991-06-28 2000-04-12 Telefonaktiebolaget Lm Ericsson Application modularity in telecommunications exchanges
US5386570A (en) * 1993-05-24 1995-01-31 Hewlett-Packard Company Method for a two pass compiler with the saving parse states from first to second pass
KR100404274B1 (ko) * 1994-09-30 2004-04-30 코닌클리케 필립스 일렉트로닉스 엔.브이. 멀티플랫폼인터프리터를포함한응용프로그램을포함하는대량데이타의표현을수신하는멀티미디어시스템,상기멀티플랫폼인터프리터와상호작용하는플랫폼서브시스템및,그시스템또는서브시스템용대용량메모리
TW504632B (en) 1997-03-21 2002-10-01 Ibm Apparatus and method for optimizing the performance of computer tasks using intelligent agent with multiple program modules having varied degrees of domain knowledge
US6085178A (en) * 1997-03-21 2000-07-04 International Business Machines Corporation Apparatus and method for communicating between an intelligent agent and client computer process using disguised messages
US6192354B1 (en) 1997-03-21 2001-02-20 International Business Machines Corporation Apparatus and method for optimizing the performance of computer tasks using multiple intelligent agents having varied degrees of domain knowledge
US6401080B1 (en) 1997-03-21 2002-06-04 International Business Machines Corporation Intelligent agent with negotiation capability and method of negotiation therewith
US5991539A (en) * 1997-09-08 1999-11-23 Lucent Technologies, Inc. Use of re-entrant subparsing to facilitate processing of complicated input data
KR20010076775A (ko) * 2000-01-28 2001-08-16 오길록 스크립트 자동 생성 에이전트 및 그 방법
US7089541B2 (en) * 2001-11-30 2006-08-08 Sun Microsystems, Inc. Modular parser architecture with mini parsers
US7480657B1 (en) * 2003-01-06 2009-01-20 Cisco Technology, Inc. Caching information for multiple service applications
US8334995B2 (en) * 2007-09-19 2012-12-18 Sharp Laboratories Of America, Inc. Method and system for adaptive control of imaging node
CN102012900B (zh) * 2009-09-04 2013-01-30 阿里巴巴集团控股有限公司 信息检索方法和系统
US10379825B2 (en) 2017-05-22 2019-08-13 Ab Initio Technology Llc Automated dependency analyzer for heterogeneously programmed data processing system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4787035A (en) * 1985-10-17 1988-11-22 Westinghouse Electric Corp. Meta-interpreter
CA1267229A (en) * 1986-03-10 1990-03-27 Randal H. Kerr Reconfigurable automatic tasking system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
「情報処理学会研究報告」vol.88,No.7(88−SE−58−18)(1988−2−4)

Also Published As

Publication number Publication date
AU617776B2 (en) 1991-12-05
KR900018809A (ko) 1990-12-22
US4914585A (en) 1990-04-03
KR970007760B1 (ko) 1997-05-16
CN1037977A (zh) 1989-12-13
DE68926835T2 (de) 1996-11-21
DE68926835D1 (de) 1996-08-22
EP0343883A3 (en) 1990-07-11
AU3151789A (en) 1989-11-23
HK33197A (en) 1997-03-27
CN1018206B (zh) 1992-09-09
JPH0237455A (ja) 1990-02-07
EP0343883A2 (en) 1989-11-29
EP0343883B1 (en) 1996-07-17
CA1331887C (en) 1994-09-06

Similar Documents

Publication Publication Date Title
US6434629B1 (en) Computing system which implements recording and playback of semantic commands
US5317688A (en) Software agent used to provide instruction to a user for a plurality of computer applications
JP2842889B2 (ja) モジュラコンパイラ
Ousterhout Tcl: An embeddable command language
US6049342A (en) System and method for controlling the downloading and display of an animated sequence from a network
US7072951B2 (en) HTTP transaction monitor with capacity to replay in debuggings session
Knabe Language support for mobile agents
US8156471B2 (en) Multi-language execution method
JP4420968B2 (ja) コマンディングのために方法及びコンピュータ可読媒体
JPH1055269A (ja) 情報処理装置
AU9674598A (en) A method for extending the hypertext markup language (html) to support enterprise application data binding
WO2002029641A2 (en) Http transaction monitor with replay capacity
Ladd et al. Programming the Web: An application-oriented language for hypermedia service programming
KR100303407B1 (ko) 인터넷웹페이지계층에서네트워크페이지로신속하게복귀하는방법및장치
US6847999B1 (en) Application server for self-documenting voice enabled web applications defined using extensible markup language documents
EP0352908A2 (en) Computing system and method used to provide instruction to a user for a plurality of computer applications
US6625805B1 (en) Dynamic byte code examination to detect whether a GUI component handles mouse events
Crowley TkReplay: Record and Replay for Tk.
US7137108B1 (en) Identifying non-externalized text strings that are not hard-coded
KR100321764B1 (ko) 이질적운용환경을갖는통신망운용관리시스템들의통합관리에의한통합응용서비스구현방법
Dennis ExL: The Ensemble extension language
JPH05181652A (ja) プログラムリバース装置
Hari et al. CHILL toolset for C-DOT DSS
O'Leary Modular Data Serialisation and Mobile Code
JPH03156660A (ja) 構文解析処理方式

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees