JPH04178734A - プログラム言語処理装置 - Google Patents
プログラム言語処理装置Info
- Publication number
- JPH04178734A JPH04178734A JP30651890A JP30651890A JPH04178734A JP H04178734 A JPH04178734 A JP H04178734A JP 30651890 A JP30651890 A JP 30651890A JP 30651890 A JP30651890 A JP 30651890A JP H04178734 A JPH04178734 A JP H04178734A
- Authority
- JP
- Japan
- Prior art keywords
- machine language
- program
- interpreter
- intermediate code
- language
- 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
- 238000000034 method Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 5
- 101001003187 Hordeum vulgare Alpha-amylase/subtilisin inhibitor Proteins 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〈産業上の利用分野〉
本発明は、コンピュータ・システムに設定されるソフト
ウェア・プログラムについて、同一のプログラム言語を
複数の処理方式で処理するようにしたプログラム言語処
理装置に関するものである。
ウェア・プログラムについて、同一のプログラム言語を
複数の処理方式で処理するようにしたプログラム言語処
理装置に関するものである。
〈従来の技術〉
コンピュータ・システムにおいては、内部に設定される
ソフトウェア・プログラムを処理するのにさまざまな処
理系が適用されている。
ソフトウェア・プログラムを処理するのにさまざまな処
理系が適用されている。
代表的な方式として、次のコンパイル方式、インタプリ
タ方式が挙げられる。
タ方式が挙げられる。
コンパイル方式は、入力されたソース・プログラムを完
全に機械語命令に翻訳し、実行時は単純にこの機械語命
令を実行する。
全に機械語命令に翻訳し、実行時は単純にこの機械語命
令を実行する。
インタプリタ方式は、入力されたソース・プログラムを
一旦、中間的なコード(中間コード)に翻訳し、実行時
にソフトウェアで逐次この中間コードを解釈して実行す
る。
一旦、中間的なコード(中間コード)に翻訳し、実行時
にソフトウェアで逐次この中間コードを解釈して実行す
る。
〈発明が解決しようとする課題〉
しかしながら、前者のコンパイラ方式は、実行時の速度
が速いという利点はあるが、プログラム作成時に手間か
かかるという問題がある。また、後者のインタプリタ方
式は、プログラムの作成、動作確認(デバッグ)の容易
さに利点はあるか、実行速度が遅いという欠点がある。
が速いという利点はあるが、プログラム作成時に手間か
かかるという問題がある。また、後者のインタプリタ方
式は、プログラムの作成、動作確認(デバッグ)の容易
さに利点はあるか、実行速度が遅いという欠点がある。
本発明は、上述のような欠点を解消することを課題とし
、プログラム作成効率が高くかつ10グラム実行速度の
速いプログラム言語処理装置を実現することを目的とす
る。
、プログラム作成効率が高くかつ10グラム実行速度の
速いプログラム言語処理装置を実現することを目的とす
る。
く課題を解決するための手段〉
以上の課題を解決した本発明は、入力されたソース・プ
ログラムを中間コードに翻訳し実行するインタプリタと
、前記インタプリタから起動を受け前記中間コードを走
査して機械語に変換すべき中間コードを検出した場合に
当該中間コードを機械語に翻訳するコンパイラと、前記
中間コードの記憶領域及び前記機械語の記憶領域を格納
するメモリとを有し、プログラム実行時に当該プログラ
ムにコンパイルされた中間コードがある場合は前記機械
語の命令を直ちに実行し、コンパイルされていないこと
を表わす機械語の実行時、当該機械語により前記インタ
プリタか対応する中間コードを前記中間コードの記憶領
域から読み出して実行するプログラム言語処理装置であ
る。
ログラムを中間コードに翻訳し実行するインタプリタと
、前記インタプリタから起動を受け前記中間コードを走
査して機械語に変換すべき中間コードを検出した場合に
当該中間コードを機械語に翻訳するコンパイラと、前記
中間コードの記憶領域及び前記機械語の記憶領域を格納
するメモリとを有し、プログラム実行時に当該プログラ
ムにコンパイルされた中間コードがある場合は前記機械
語の命令を直ちに実行し、コンパイルされていないこと
を表わす機械語の実行時、当該機械語により前記インタ
プリタか対応する中間コードを前記中間コードの記憶領
域から読み出して実行するプログラム言語処理装置であ
る。
く作用〉
本発明のプログラム言語処理装置は、入力されたソース
・プログラムを一旦中間コードに翻訳し、更に、この中
間コードを走査してI!械話語変換すべきものかあれば
a識語に変換してメモリに格納する。実行時は、機械語
命令か進行し、コンパイルされていない命令は直ちにイ
ンタプリタを起動して対応する中間コードを実行する。
・プログラムを一旦中間コードに翻訳し、更に、この中
間コードを走査してI!械話語変換すべきものかあれば
a識語に変換してメモリに格納する。実行時は、機械語
命令か進行し、コンパイルされていない命令は直ちにイ
ンタプリタを起動して対応する中間コードを実行する。
〈実施例〉
はじめに、本発明のプログラム言語処理装置の動作原理
を第3図のフローチャートを用いて説明する。
を第3図のフローチャートを用いて説明する。
本発明装置は、インタプリタ用の中間コードは従来通り
維持し、使用頻度の高いステートメント、演算に対して
は部分的にコンパイルして機械語化している。プログラ
ムの実行にあたっては第3図のフローチャートに示すよ
うに、機械語化されている部分か継続しているかぎり、
最短バス、即ちm識語命令列を実行し、機械語化されて
いない部分、エラー処理、割り込み受け付は処理につい
てはインタプリタ処理を行う方式を採用することを特徴
とするものである。
維持し、使用頻度の高いステートメント、演算に対して
は部分的にコンパイルして機械語化している。プログラ
ムの実行にあたっては第3図のフローチャートに示すよ
うに、機械語化されている部分か継続しているかぎり、
最短バス、即ちm識語命令列を実行し、機械語化されて
いない部分、エラー処理、割り込み受け付は処理につい
てはインタプリタ処理を行う方式を採用することを特徴
とするものである。
第1図は、以上のような原理に基づき、本発明を実現し
たプログラム言語処理装置の構成概念図である。
たプログラム言語処理装置の構成概念図である。
この図において、入出力装21はCRTll及びキーボ
ード12等から構成されソース・プログラムSPを作成
するツール、BASICプログラム・エリア2はBAS
ICインタプリタ中間語翻訳部21及びプログラム実行
制御部22を有する主記憶上の領域、BASICコンパ
イラ3は中間語翻訳部21で翻訳された中間コードを機
械語命令に変換するRASICコンパイラ、ユーザ・プ
ログラム・エリア4はプログラム管理情報41.中間語
翻訳部21にて翻訳された中間コードを格納する中間コ
ード領域42.RASICコンパイラ3により変換され
た機械語を格納する機械語領域43よりなる。尚、CP
U5は、この装置全体を制御する中央処理装置であり、
BAS I Cプログラム・エリア2はBASICイン
タプリタとして動作する。
ード12等から構成されソース・プログラムSPを作成
するツール、BASICプログラム・エリア2はBAS
ICインタプリタ中間語翻訳部21及びプログラム実行
制御部22を有する主記憶上の領域、BASICコンパ
イラ3は中間語翻訳部21で翻訳された中間コードを機
械語命令に変換するRASICコンパイラ、ユーザ・プ
ログラム・エリア4はプログラム管理情報41.中間語
翻訳部21にて翻訳された中間コードを格納する中間コ
ード領域42.RASICコンパイラ3により変換され
た機械語を格納する機械語領域43よりなる。尚、CP
U5は、この装置全体を制御する中央処理装置であり、
BAS I Cプログラム・エリア2はBASICイン
タプリタとして動作する。
このような本発明装置の動作概要は次の逆っである。
入力されたソース・プログラムSPは、適宜、中間語翻
訳部21にて中間コードに翻訳され、中間コード領域3
2に格納される。
訳部21にて中間コードに翻訳され、中間コード領域3
2に格納される。
中間語翻訳処理が終了すると、プログラム実行制御部2
2はBAS I Cコンパイラ3に起動をかけ、BAS
ICコンパイラ3は中間語コード領域32を走査し、例
えば使用頻度の高いステートメント、演算等に関する中
間コードを機械語命令に変換して機械語領域33に格納
する。
2はBAS I Cコンパイラ3に起動をかけ、BAS
ICコンパイラ3は中間語コード領域32を走査し、例
えば使用頻度の高いステートメント、演算等に関する中
間コードを機械語命令に変換して機械語領域33に格納
する。
そして、通常、BAS I Cインタプリタ(BASI
Cインタプリタ中間語翻訳部21及びプログラム実行制
御部22)は、10グラム実行時、中間コード領域42
を読み出し解釈してプログラムを実行するが、1つのプ
ログラム内にコンパイルされた部分が存在する場合は機
械語命令側に制御実行権を引き渡す。
Cインタプリタ中間語翻訳部21及びプログラム実行制
御部22)は、10グラム実行時、中間コード領域42
を読み出し解釈してプログラムを実行するが、1つのプ
ログラム内にコンパイルされた部分が存在する場合は機
械語命令側に制御実行権を引き渡す。
次に、第2図(a)、(bンのフローチャートを用いて
本発明装置の動作を詳しく説明する。
本発明装置の動作を詳しく説明する。
プログラムの実行コマンドか起動すると、CPU5はプ
ログラム管理情報41を参照し、当該プログラム内に機
械語に翻訳された部分(コンパイルされた部分)がある
か否か判断する。
ログラム管理情報41を参照し、当該プログラム内に機
械語に翻訳された部分(コンパイルされた部分)がある
か否か判断する。
当該プログラムにコンパイルされた部分がない場合は、
第2図(a)の手順を取り、従来のインタプリタ方式と
同様に、RAS ICインタプリタ初期設定、割り込み
チエツク、行間処理を行った後、各行の処理を実行し、
この動作を繰り返す。
第2図(a)の手順を取り、従来のインタプリタ方式と
同様に、RAS ICインタプリタ初期設定、割り込み
チエツク、行間処理を行った後、各行の処理を実行し、
この動作を繰り返す。
当該プログラムにコンパイルされている部分がある場合
はジャンプ命令等により、変数ポインタ設定、変数領域
クリア等のコンパイラ初期設定処理を行った後、第2図
(b)の手順に遷移する。
はジャンプ命令等により、変数ポインタ設定、変数領域
クリア等のコンパイラ初期設定処理を行った後、第2図
(b)の手順に遷移する。
即ち、外部からの割り込みをチエツクし、機械語領域4
3に制御実行権が渡されると、直ちに対応する処理が機
械語命令に従って、順次、実行される。尚、機械語領域
43には、予めBAS ICコンパイラ3によって従来
のインタプリタが行っていたプログラムと同様の内容か
一部、機械語命令に展開されている。
3に制御実行権が渡されると、直ちに対応する処理が機
械語命令に従って、順次、実行される。尚、機械語領域
43には、予めBAS ICコンパイラ3によって従来
のインタプリタが行っていたプログラムと同様の内容か
一部、機械語命令に展開されている。
機械語領域33の各行毎に処理が進行し、コンパイルさ
れていない行に達するとBASICインタプリタ2が起
動される。BASICインタプリタ2の動作は第2図(
a)に表わす通りであるにのBASICインタプリタの
処理が終了すると、再び機械語命令により動作が進行す
る6即ち、機械語に展開された行でない場合は、インタ
プリタをサブルーチンとして呼び出すような命令が機械
語領域43に生成されている。
れていない行に達するとBASICインタプリタ2が起
動される。BASICインタプリタ2の動作は第2図(
a)に表わす通りであるにのBASICインタプリタの
処理が終了すると、再び機械語命令により動作が進行す
る6即ち、機械語に展開された行でない場合は、インタ
プリタをサブルーチンとして呼び出すような命令が機械
語領域43に生成されている。
以上のようにして、中間コードと機械語に展開されたコ
ードの混在したプログラムを実行することができる。
ードの混在したプログラムを実行することができる。
〈発明の効果〉
以上述べたように、本発明のプログラム言語処理装置に
よれば、同一プログラム言語について、インタプリタ型
の実行と機械語命令の実行とを部分的に組み合わせて実
行することができる。これにより、インタプリタ型言語
の特徴である操作性の良さを失うことなく、実行速度の
向上を図ることができる0例えば、プログラムのデバッ
グに際しては、行単位の停止、実行、その時点での変数
値表示等が容易にできる。
よれば、同一プログラム言語について、インタプリタ型
の実行と機械語命令の実行とを部分的に組み合わせて実
行することができる。これにより、インタプリタ型言語
の特徴である操作性の良さを失うことなく、実行速度の
向上を図ることができる0例えば、プログラムのデバッ
グに際しては、行単位の停止、実行、その時点での変数
値表示等が容易にできる。
第1図は本発明のプログラム言語処理装置を実施した装
置の構成概念図、第2図(a)、(b)は本発明装置の
動作の一例を表わしなフローチャート、第3図は本発明
の原理を表わすフローチャーである。 1・・・入出力装置、11・・・CRT、12・・・キ
ーボード、2・・・BASICプログラム・エリア、2
1・・・RASICインタプリタ中間語翻訳部、22・
・・プログラム実行制御部、 3・・・BASICコンパイラ、 4・・・ユーザ・プログラム・エリア、41・・・プロ
グラム管理情報、42・・・中間コード領域、−ユニ一 、、゛、3 i、−(1
置の構成概念図、第2図(a)、(b)は本発明装置の
動作の一例を表わしなフローチャート、第3図は本発明
の原理を表わすフローチャーである。 1・・・入出力装置、11・・・CRT、12・・・キ
ーボード、2・・・BASICプログラム・エリア、2
1・・・RASICインタプリタ中間語翻訳部、22・
・・プログラム実行制御部、 3・・・BASICコンパイラ、 4・・・ユーザ・プログラム・エリア、41・・・プロ
グラム管理情報、42・・・中間コード領域、−ユニ一 、、゛、3 i、−(1
Claims (1)
- (1)入力されたソース・プログラムを中間コードに翻
訳し実行するインタプリタと、前記インタプリタから起
動を受け前記中間コードを走査して機械語に変換すべき
中間コードを検出した場合に当該中間コードを機械語に
翻訳するコンパイラと、前記中間コードの記憶領域及び
前記機械語の記憶領域を格納するメモリとを有し、プロ
グラム実行時に当該プログラムにコンパイルされた中間
コードがある場合は前記機械語の命令を直ちに実行し、
コンパイルされていないことを表わす機械語の実行時、
当該機械語により前記インタプリタが対応する中間コー
ドを前記中間コードの記憶領域から読み出して実行する
プログラム言語処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30651890A JPH04178734A (ja) | 1990-11-13 | 1990-11-13 | プログラム言語処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30651890A JPH04178734A (ja) | 1990-11-13 | 1990-11-13 | プログラム言語処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04178734A true JPH04178734A (ja) | 1992-06-25 |
Family
ID=17957994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP30651890A Pending JPH04178734A (ja) | 1990-11-13 | 1990-11-13 | プログラム言語処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04178734A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7958499B2 (en) | 2003-05-28 | 2011-06-07 | Panasonic Corporation | Program execution control device, program execution control method, control program, and recording medium |
-
1990
- 1990-11-13 JP JP30651890A patent/JPH04178734A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7958499B2 (en) | 2003-05-28 | 2011-06-07 | Panasonic Corporation | Program execution control device, program execution control method, control program, and recording medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5150474A (en) | Method for transferring arguments between object programs by switching address modes according to mode identifying flag | |
JP2919302B2 (ja) | Cpuシミュレーション方法 | |
JPH04178734A (ja) | プログラム言語処理装置 | |
JP2001255912A (ja) | モーションプログラムの実行方法 | |
JPH0410081B2 (ja) | ||
JPS61180344A (ja) | 高級言語のステツプ実行システム | |
KR930703641A (ko) | 자동 프로그래밍 장치의 기능 확장방법 | |
KR100216533B1 (ko) | 병행 chill 프로그램의 결정적 재실행을 위한 사건 이력 기록 방법 | |
JPS59202548A (ja) | デバツグ装置 | |
KR940005814B1 (ko) | 프로그래머블 로직 콘트롤러의 유저 프로그램 체크 방법 | |
JPS61180342A (ja) | 高級言語のステツプ実行方式 | |
KR0175469B1 (ko) | 칠프로그램 변수의 가시성 제어방법 | |
JPH0212344A (ja) | プログラム実行装置 | |
JP3019330B2 (ja) | コンパイル装置 | |
JPS63163543A (ja) | 情報処理装置 | |
JPS62108337A (ja) | プログラムデバツグ装置 | |
JPH0126091B2 (ja) | ||
JPH03139703A (ja) | プログラマブルコントローラのタイマ命令処理方式 | |
JPS63178343A (ja) | 中断点の設定方式 | |
JPH0488438A (ja) | 高級言語による原始プログラムに対するデバッガの一命令実行方式 | |
JPS5953944A (ja) | プログラム制御方式 | |
JPH04178733A (ja) | プログラム言語処理方法 | |
JPH04333146A (ja) | デバッグにおけるプログラムの実行制御方式 | |
JPS6330906A (ja) | Nc装置 | |
JPS62279431A (ja) | 入出力エミユレ−タ− |