JPH01147624A - 言語処理系システム - Google Patents
言語処理系システムInfo
- Publication number
- JPH01147624A JPH01147624A JP62304876A JP30487687A JPH01147624A JP H01147624 A JPH01147624 A JP H01147624A JP 62304876 A JP62304876 A JP 62304876A JP 30487687 A JP30487687 A JP 30487687A JP H01147624 A JPH01147624 A JP H01147624A
- Authority
- JP
- Japan
- Prior art keywords
- intermediate code
- object code
- program
- interpreter
- processing system
- 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.)
- Pending
Links
- 230000004913 activation Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 10
- 238000000034 method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
この発明はコマンドによる逐次処理ができ、かつ実行時
間が速い言語処理系システムに関するものである。
間が速い言語処理系システムに関するものである。
一般に、言語処理系システムには、大きく分けてインタ
プリタ型とコンパイラ型の2つの型がある。第4図はイ
ンタプリタ型の言語処理系システムの一例を示すブロッ
ク図で、(1)は入力したソースプログラムを第6図に
示す逆ボーランド記法や第7図に示す木構造などの中間
コードに変換する中間コード生成部、(2) は上記中
間コード生成部(1)により生成した中間コードを格納
する中間コード格納メモリ、(3)は上記中間コード格
納メモリ(2)より1命令分ずつ中間コードを入力し、
その中間コードを解釈しながら実行するインタプリタ部
である。
プリタ型とコンパイラ型の2つの型がある。第4図はイ
ンタプリタ型の言語処理系システムの一例を示すブロッ
ク図で、(1)は入力したソースプログラムを第6図に
示す逆ボーランド記法や第7図に示す木構造などの中間
コードに変換する中間コード生成部、(2) は上記中
間コード生成部(1)により生成した中間コードを格納
する中間コード格納メモリ、(3)は上記中間コード格
納メモリ(2)より1命令分ずつ中間コードを入力し、
その中間コードを解釈しながら実行するインタプリタ部
である。
また、第5図はコンパイラ型言語処理系システムの一例
を示すブロック図で、(1)は入力したソースプログラ
ムを逆ボーランド記法(第6図参照)や木構造(第7図
参照)などの中間コードに変換する中間コード生成部、
(4)は上記中間コード生成部(1)により生成した中
間コードを機械語のオブジェクトコードに変換するオブ
ジェクトコード生成部、(5)は上記オブジェクトコー
ド生成部(4)で生成したオブジェクトコードを格納す
るオブジェクトコード格納メモリである。
を示すブロック図で、(1)は入力したソースプログラ
ムを逆ボーランド記法(第6図参照)や木構造(第7図
参照)などの中間コードに変換する中間コード生成部、
(4)は上記中間コード生成部(1)により生成した中
間コードを機械語のオブジェクトコードに変換するオブ
ジェクトコード生成部、(5)は上記オブジェクトコー
ド生成部(4)で生成したオブジェクトコードを格納す
るオブジェクトコード格納メモリである。
次に動作について説明する。
第4図構成のインタプリタ型の言語処理系システムでは
、人力したソースプログラムは、中間コード生成部(1
)で、逆ボーランド記法(第6図)や木構造(第7図)
などの中間コードに変換され、中間コード格納メモリ(
2)に格納される。
、人力したソースプログラムは、中間コード生成部(1
)で、逆ボーランド記法(第6図)や木構造(第7図)
などの中間コードに変換され、中間コード格納メモリ(
2)に格納される。
次いで、中間コード格納メモリ(2)から1命令分ずつ
読み取り、インタプリタ部(3)で解釈しながら実行す
る。
読み取り、インタプリタ部(3)で解釈しながら実行す
る。
従りて、インタプリタ型では1命令ずつの逐次処理が可
能であるが、実行時に中間コードを解釈するための時間
を要することになる。
能であるが、実行時に中間コードを解釈するための時間
を要することになる。
他方、第5図構成のコンパイラ型の言語処理系システム
では入力したソースプログラムは中間コード生成部(1
) で逆ポーランド艷法(第6図)や木構造(第7図)
などの中間コードに変換され、次いで、オブジェクトコ
ード生成部(4)で計算機によって直接実行可能な機械
語のオブジェクトコードに変換され、オブジェクトコー
ド格納メモリ(5)に格納される。実行時には計算機が
直接オブジェクトコードを実行する。
では入力したソースプログラムは中間コード生成部(1
) で逆ポーランド艷法(第6図)や木構造(第7図)
などの中間コードに変換され、次いで、オブジェクトコ
ード生成部(4)で計算機によって直接実行可能な機械
語のオブジェクトコードに変換され、オブジェクトコー
ド格納メモリ(5)に格納される。実行時には計算機が
直接オブジェクトコードを実行する。
従フて、コンパイラ型では計算機が直接実行できる機械
語オブジェクトコードの形でメモリに格納するため、実
行時間が速い。しかし、実行するためにはオブジェクト
コードが必要であるため1命令ずつの逐次処理をするこ
とができない。
語オブジェクトコードの形でメモリに格納するため、実
行時間が速い。しかし、実行するためにはオブジェクト
コードが必要であるため1命令ずつの逐次処理をするこ
とができない。
従来のインタプリタ型の言語処理系システムは以上のよ
うに構成されているので、実行時に中間コードを解釈す
るための解釈時間が必要であるため、実行時間が遅いと
いう問題点があった。逆に、コンパイラ型の言語処理系
システムはオブジェクトコードを直接実行するので実行
時間は速いが、コマンドによる逐次処理はできないとい
う問題点があった。
うに構成されているので、実行時に中間コードを解釈す
るための解釈時間が必要であるため、実行時間が遅いと
いう問題点があった。逆に、コンパイラ型の言語処理系
システムはオブジェクトコードを直接実行するので実行
時間は速いが、コマンドによる逐次処理はできないとい
う問題点があった。
この発明は、上記のような問題点を解消するためになさ
れたもので、実行時間が速く、かつコマンドによる逐次
処理ができる言語処理系システムを得ることを目的とす
る。
れたもので、実行時間が速く、かつコマンドによる逐次
処理ができる言語処理系システムを得ることを目的とす
る。
この発明に係る言語処理系システムは、オペレータによ
り与えられるコマンド文字列又はプログラムに従って特
定のハードウェアを動作させる言語処理系システムにお
いて、オペレータより与えられるコマンド文字列又はプ
ログラムを構文解析して中間コードを生成する中間コー
ド生成部と、上記中間コードを解釈し実行するインタプ
リタ部と、上記中間コードを機械語のオブジェクトコー
ドに変換するオブジェクトコード生成部と、上記オブジ
ェクトコードを格納するオブジェクトコード格納メモリ
と、オペレータによりコマンド文字列が与えられた時は
上記インタプリタ部に起動信号を送出すると共に、プロ
グラムが与えられた時には上記オブジェクトコード生成
部に起動信号を送出する判断部とを備えたものである。
り与えられるコマンド文字列又はプログラムに従って特
定のハードウェアを動作させる言語処理系システムにお
いて、オペレータより与えられるコマンド文字列又はプ
ログラムを構文解析して中間コードを生成する中間コー
ド生成部と、上記中間コードを解釈し実行するインタプ
リタ部と、上記中間コードを機械語のオブジェクトコー
ドに変換するオブジェクトコード生成部と、上記オブジ
ェクトコードを格納するオブジェクトコード格納メモリ
と、オペレータによりコマンド文字列が与えられた時は
上記インタプリタ部に起動信号を送出すると共に、プロ
グラムが与えられた時には上記オブジェクトコード生成
部に起動信号を送出する判断部とを備えたものである。
コマンドによる逐次処理かプログラムによる処理かを判
断する判断部を有し、コマンドによる逐次処理用のイン
タプリタ部とプログラム処理用のオブジェクトコード生
成部及びオブジェクトコード格納メモリを有するように
したものである。
断する判断部を有し、コマンドによる逐次処理用のイン
タプリタ部とプログラム処理用のオブジェクトコード生
成部及びオブジェクトコード格納メモリを有するように
したものである。
この発明における判断部は、コマンド文字列が与えられ
た時はインタプリタ部を起動して逐次処理を行い、プロ
グラムが与えられた時はオブジェクトコード生成部を起
動してプログラム処理を実行させる。
た時はインタプリタ部を起動して逐次処理を行い、プロ
グラムが与えられた時はオブジェクトコード生成部を起
動してプログラム処理を実行させる。
(実施例)
以下、この発明の一実施例を図について説明する。第1
図において、(1)は入力したソースプログラムを逆ボ
ーランド記法(第6図)又は木構造(第7図)などに変
換する中間コード生成部、(3)はコマンドによる逐次
処理を行うとき、中間コードを解釈し実行するインタプ
リタ部、(4)はプログラムによる処理を行うとき、中
間コードを機tt4語のオブジェクトコードに変換する
オブジェクトコード生成部、(5)は上記オブジェクト
コード生成部(4)で生成したオブジェクトコードを格
納するオブジェクトコード格納メモリである。
図において、(1)は入力したソースプログラムを逆ボ
ーランド記法(第6図)又は木構造(第7図)などに変
換する中間コード生成部、(3)はコマンドによる逐次
処理を行うとき、中間コードを解釈し実行するインタプ
リタ部、(4)はプログラムによる処理を行うとき、中
間コードを機tt4語のオブジェクトコードに変換する
オブジェクトコード生成部、(5)は上記オブジェクト
コード生成部(4)で生成したオブジェクトコードを格
納するオブジェクトコード格納メモリである。
しかして、(6)はコマンドによる逐次処理を行う時に
は上記インタプリタ部(3) を起動し、プログラムに
よる処理を行うときには上記オブジェクトフード生成部
(4)を起動する判断部で、この判断部(6)は、入力
した文字列中のキャリッジリターンで区切られる文字列
の単位をカウントするカウンタを内蔵し、そのカウント
値が1の時は上記インタプリタ部(3) に起動信号を
送出すると共に、2以上の時は上記オブジェクトコード
生成部(4)に起動信号を送出するようになっている。
は上記インタプリタ部(3) を起動し、プログラムに
よる処理を行うときには上記オブジェクトフード生成部
(4)を起動する判断部で、この判断部(6)は、入力
した文字列中のキャリッジリターンで区切られる文字列
の単位をカウントするカウンタを内蔵し、そのカウント
値が1の時は上記インタプリタ部(3) に起動信号を
送出すると共に、2以上の時は上記オブジェクトコード
生成部(4)に起動信号を送出するようになっている。
次に動作について第2図(a)、(b)および第3図を
参照して説明する。入力したソースプログラムは中間コ
ード生成部(1)で構文解析し、その結果として逆ボー
ランド記法(第6図)や木構造(第7図)などの中間コ
ードに変換される。次に、判断部(6)は、入力した中
間コードの文字列中の0D)l (キャリッジリターン
)で区切られる単位をカウントしく第3図のステップS
1)、そのカウント数が1である時(第2図(b)、第
3図のステップS2)はコマンドによる逐次処理と判断
し、インタプリタ部(3)を起動する(第3図のステッ
プS3)。しかして、これに基いてインタプリタ部(3
)は上記中間コードを解釈し実行する。
参照して説明する。入力したソースプログラムは中間コ
ード生成部(1)で構文解析し、その結果として逆ボー
ランド記法(第6図)や木構造(第7図)などの中間コ
ードに変換される。次に、判断部(6)は、入力した中
間コードの文字列中の0D)l (キャリッジリターン
)で区切られる単位をカウントしく第3図のステップS
1)、そのカウント数が1である時(第2図(b)、第
3図のステップS2)はコマンドによる逐次処理と判断
し、インタプリタ部(3)を起動する(第3図のステッ
プS3)。しかして、これに基いてインタプリタ部(3
)は上記中間コードを解釈し実行する。
また、判断部(6)は人力した中間コードの文字列中に
ODH(キャリッジリターン)で区切られる単位が複数
個ある時(第2図(a)、第3図のステップS1と52
)にはプログラムによる処理と判断し、オブジェクトコ
ード生成部(4)を起動する(第3図のステップ54)
。これに基いてオブジェクトコード生成部(4)は上記
中間コードを計算機が直接実行できる機械語のオブジェ
クトコードに変換し、オブジェクトコード格納メモリ(
5)に格納する。
ODH(キャリッジリターン)で区切られる単位が複数
個ある時(第2図(a)、第3図のステップS1と52
)にはプログラムによる処理と判断し、オブジェクトコ
ード生成部(4)を起動する(第3図のステップ54)
。これに基いてオブジェクトコード生成部(4)は上記
中間コードを計算機が直接実行できる機械語のオブジェ
クトコードに変換し、オブジェクトコード格納メモリ(
5)に格納する。
従って実行時はメモリ内にあるオブジェクトコードを直
接実行するため、実行時間が速い。
接実行するため、実行時間が速い。
(発明の効果)
以上のようにこの発明によれば、コマンドによる逐次処
理時にはインタプリタ部を起動し、プログラムによる処
理時にはオブジェクトコード生成部を起動するように構
成したので、プログラムによる処理時にはコンパイラ型
の言語処理系と同様に動作するので処理時間が速く、か
つインタプリタ部を起動することによってコマンドによ
る逐次処理も可能であるという効果がある。
理時にはインタプリタ部を起動し、プログラムによる処
理時にはオブジェクトコード生成部を起動するように構
成したので、プログラムによる処理時にはコンパイラ型
の言語処理系と同様に動作するので処理時間が速く、か
つインタプリタ部を起動することによってコマンドによ
る逐次処理も可能であるという効果がある。
第1図はこの発明の一実施例による言語処理系システム
のブロック図、第2図(a)、(b)はこの発明による
判断部の判断方法の一例を示す説明図、第3図はその判
断の流れ図、第4図は従来のインタプリタ型の言語処理
系のブロック図、第5図は従来のコンパイラ型のブロッ
ク図、第6図は逆ボーランド記法の例を示す説明図、第
7図は木構造の例を示す説明図である。 (1)は中間コード生成部、 (2)は中間コード格納メそり、 (3)はインタプリタ部、 (4)はオブジェクトコード生成部、 (5)はオブジェクトコード格納メモリ、(6)は判断
部。 なお、各図中、同一符号は同−又は相当部分を示す。
のブロック図、第2図(a)、(b)はこの発明による
判断部の判断方法の一例を示す説明図、第3図はその判
断の流れ図、第4図は従来のインタプリタ型の言語処理
系のブロック図、第5図は従来のコンパイラ型のブロッ
ク図、第6図は逆ボーランド記法の例を示す説明図、第
7図は木構造の例を示す説明図である。 (1)は中間コード生成部、 (2)は中間コード格納メそり、 (3)はインタプリタ部、 (4)はオブジェクトコード生成部、 (5)はオブジェクトコード格納メモリ、(6)は判断
部。 なお、各図中、同一符号は同−又は相当部分を示す。
Claims (2)
- (1)オペレータにより与えられるコマンド文字列又は
プログラムに従って特定のハードウェアを動作させる言
語処理系システムにおいて、オペレータより与えられる
コマンド文字列又はプログラムを構文解析して中間コー
ドを生成する中間コード生成部と、上記中間コードを解
釈し実行するインタプリタ部と、上記中間コードを機械
語のオブジェクトコードに変換するオブジェクトコード
生成部と、上記オブジェクトコードを格納するオブジェ
クトコード格納メモリと、オペレータによりコマンド文
字列が与えられた時は上記インタプリタ部に起動信号を
送出すると共に、プログラムが与えられた時には上記オ
ブジェクトコード生成部に起動信号を送出する判断部と
を備えたことを特徴とする言語処理系システム。 - (2)上記判断部は、入力した文字列中のキャリッジリ
ターンで区切られる文字列の単位をカウントするカウン
タを備え、そのカウント値が1の時は上記インタプリタ
部に起動信号を送出すると共に、2以上の時は上記オブ
ジェクトコード生成部に起動信号を送出する特許請求の
範囲第1項記載の言語処理系システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62304876A JPH01147624A (ja) | 1987-12-02 | 1987-12-02 | 言語処理系システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62304876A JPH01147624A (ja) | 1987-12-02 | 1987-12-02 | 言語処理系システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01147624A true JPH01147624A (ja) | 1989-06-09 |
Family
ID=17938344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62304876A Pending JPH01147624A (ja) | 1987-12-02 | 1987-12-02 | 言語処理系システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01147624A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07244602A (ja) * | 1994-03-07 | 1995-09-19 | Pfu Ltd | データベース検索処理方式 |
-
1987
- 1987-12-02 JP JP62304876A patent/JPH01147624A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07244602A (ja) * | 1994-03-07 | 1995-09-19 | Pfu Ltd | データベース検索処理方式 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH05298052A (ja) | ウインドウシステムおよびイベント処理方法 | |
JPH01147624A (ja) | 言語処理系システム | |
JP3328056B2 (ja) | 構文解析木からの情報抽出装置 | |
JP2001255912A (ja) | モーションプログラムの実行方法 | |
JPS62216040A (ja) | プリコンパイラ・コンパイラ呼出し制御方式 | |
JPH045703A (ja) | シーケンスプログラム作成装置 | |
JPH0250730A (ja) | 共通機械語による言語変換方式 | |
JPS6115236A (ja) | オブジエクトリストの部分作成方法 | |
JPH02220145A (ja) | プログラムトレース方式 | |
JPH02207343A (ja) | デバッグ装置 | |
JPS63228341A (ja) | プログラム構文チエツク方式 | |
JPH04116756A (ja) | アプリケーション内のユーザ定義コマンドのダイナミックリンクシステム | |
JPH0546434A (ja) | プログラムデバツグ方式 | |
JPS63163543A (ja) | 情報処理装置 | |
JPH0371229A (ja) | プログラム制御装置 | |
JPH03242736A (ja) | 異常処理方式 | |
JPH01194053A (ja) | コマンドプロシジャの処理方式 | |
JPS6375830A (ja) | コマンド制御方式 | |
JPH0327453A (ja) | プログラム文指定処理方式 | |
JPH01188956A (ja) | プログラム例外処理方式 | |
JPH06274351A (ja) | コンパイラの最適化方式 | |
JPH04107605A (ja) | 制御プログラム用言語処理装置 | |
JPS62182930A (ja) | 機能分割型並列コンパイル方式 | |
JPS63640A (ja) | デ−タフロ−の部分ユニツト実行制御方式 | |
JPS629950B2 (ja) |