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
Application number
JP30651890A
Other languages
English (en)
Inventor
Noritoshi Wakabayashi
若林 文紀
Chiaki Ito
伊東 千明
Tomoyoshi Sato
佐藤 智義
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP30651890A priority Critical patent/JPH04178734A/ja
Publication of JPH04178734A publication Critical patent/JPH04178734A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〈産業上の利用分野〉 本発明は、コンピュータ・システムに設定されるソフト
ウェア・プログラムについて、同一のプログラム言語を
複数の処理方式で処理するようにしたプログラム言語処
理装置に関するものである。
〈従来の技術〉 コンピュータ・システムにおいては、内部に設定される
ソフトウェア・プログラムを処理するのにさまざまな処
理系が適用されている。
代表的な方式として、次のコンパイル方式、インタプリ
タ方式が挙げられる。
コンパイル方式は、入力されたソース・プログラムを完
全に機械語命令に翻訳し、実行時は単純にこの機械語命
令を実行する。
インタプリタ方式は、入力されたソース・プログラムを
一旦、中間的なコード(中間コード)に翻訳し、実行時
にソフトウェアで逐次この中間コードを解釈して実行す
る。
〈発明が解決しようとする課題〉 しかしながら、前者のコンパイラ方式は、実行時の速度
が速いという利点はあるが、プログラム作成時に手間か
かかるという問題がある。また、後者のインタプリタ方
式は、プログラムの作成、動作確認(デバッグ)の容易
さに利点はあるか、実行速度が遅いという欠点がある。
本発明は、上述のような欠点を解消することを課題とし
、プログラム作成効率が高くかつ10グラム実行速度の
速いプログラム言語処理装置を実現することを目的とす
る。
く課題を解決するための手段〉 以上の課題を解決した本発明は、入力されたソース・プ
ログラムを中間コードに翻訳し実行するインタプリタと
、前記インタプリタから起動を受け前記中間コードを走
査して機械語に変換すべき中間コードを検出した場合に
当該中間コードを機械語に翻訳するコンパイラと、前記
中間コードの記憶領域及び前記機械語の記憶領域を格納
するメモリとを有し、プログラム実行時に当該プログラ
ムにコンパイルされた中間コードがある場合は前記機械
語の命令を直ちに実行し、コンパイルされていないこと
を表わす機械語の実行時、当該機械語により前記インタ
プリタか対応する中間コードを前記中間コードの記憶領
域から読み出して実行するプログラム言語処理装置であ
る。
く作用〉 本発明のプログラム言語処理装置は、入力されたソース
・プログラムを一旦中間コードに翻訳し、更に、この中
間コードを走査してI!械話語変換すべきものかあれば
a識語に変換してメモリに格納する。実行時は、機械語
命令か進行し、コンパイルされていない命令は直ちにイ
ンタプリタを起動して対応する中間コードを実行する。
〈実施例〉 はじめに、本発明のプログラム言語処理装置の動作原理
を第3図のフローチャートを用いて説明する。
本発明装置は、インタプリタ用の中間コードは従来通り
維持し、使用頻度の高いステートメント、演算に対して
は部分的にコンパイルして機械語化している。プログラ
ムの実行にあたっては第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イン
タプリタとして動作する。
このような本発明装置の動作概要は次の逆っである。
入力されたソース・プログラムSPは、適宜、中間語翻
訳部21にて中間コードに翻訳され、中間コード領域3
2に格納される。
中間語翻訳処理が終了すると、プログラム実行制御部2
2はBAS I Cコンパイラ3に起動をかけ、BAS
ICコンパイラ3は中間語コード領域32を走査し、例
えば使用頻度の高いステートメント、演算等に関する中
間コードを機械語命令に変換して機械語領域33に格納
する。
そして、通常、BAS I Cインタプリタ(BASI
Cインタプリタ中間語翻訳部21及びプログラム実行制
御部22)は、10グラム実行時、中間コード領域42
を読み出し解釈してプログラムを実行するが、1つのプ
ログラム内にコンパイルされた部分が存在する場合は機
械語命令側に制御実行権を引き渡す。
次に、第2図(a)、(bンのフローチャートを用いて
本発明装置の動作を詳しく説明する。
プログラムの実行コマンドか起動すると、CPU5はプ
ログラム管理情報41を参照し、当該プログラム内に機
械語に翻訳された部分(コンパイルされた部分)がある
か否か判断する。
当該プログラムにコンパイルされた部分がない場合は、
第2図(a)の手順を取り、従来のインタプリタ方式と
同様に、RAS ICインタプリタ初期設定、割り込み
チエツク、行間処理を行った後、各行の処理を実行し、
この動作を繰り返す。
当該プログラムにコンパイルされている部分がある場合
はジャンプ命令等により、変数ポインタ設定、変数領域
クリア等のコンパイラ初期設定処理を行った後、第2図
(b)の手順に遷移する。
即ち、外部からの割り込みをチエツクし、機械語領域4
3に制御実行権が渡されると、直ちに対応する処理が機
械語命令に従って、順次、実行される。尚、機械語領域
43には、予めBAS ICコンパイラ3によって従来
のインタプリタが行っていたプログラムと同様の内容か
一部、機械語命令に展開されている。
機械語領域33の各行毎に処理が進行し、コンパイルさ
れていない行に達するとBASICインタプリタ2が起
動される。BASICインタプリタ2の動作は第2図(
a)に表わす通りであるにのBASICインタプリタの
処理が終了すると、再び機械語命令により動作が進行す
る6即ち、機械語に展開された行でない場合は、インタ
プリタをサブルーチンとして呼び出すような命令が機械
語領域43に生成されている。
以上のようにして、中間コードと機械語に展開されたコ
ードの混在したプログラムを実行することができる。
〈発明の効果〉 以上述べたように、本発明のプログラム言語処理装置に
よれば、同一プログラム言語について、インタプリタ型
の実行と機械語命令の実行とを部分的に組み合わせて実
行することができる。これにより、インタプリタ型言語
の特徴である操作性の良さを失うことなく、実行速度の
向上を図ることができる0例えば、プログラムのデバッ
グに際しては、行単位の停止、実行、その時点での変数
値表示等が容易にできる。
【図面の簡単な説明】
第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. (1)入力されたソース・プログラムを中間コードに翻
    訳し実行するインタプリタと、前記インタプリタから起
    動を受け前記中間コードを走査して機械語に変換すべき
    中間コードを検出した場合に当該中間コードを機械語に
    翻訳するコンパイラと、前記中間コードの記憶領域及び
    前記機械語の記憶領域を格納するメモリとを有し、プロ
    グラム実行時に当該プログラムにコンパイルされた中間
    コードがある場合は前記機械語の命令を直ちに実行し、
    コンパイルされていないことを表わす機械語の実行時、
    当該機械語により前記インタプリタが対応する中間コー
    ドを前記中間コードの記憶領域から読み出して実行する
    プログラム言語処理装置。
JP30651890A 1990-11-13 1990-11-13 プログラム言語処理装置 Pending JPH04178734A (ja)

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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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) 入出力エミユレ−タ−