JP2932812B2 - 言語処理プログラム実行装置 - Google Patents

言語処理プログラム実行装置

Info

Publication number
JP2932812B2
JP2932812B2 JP4022886A JP2288692A JP2932812B2 JP 2932812 B2 JP2932812 B2 JP 2932812B2 JP 4022886 A JP4022886 A JP 4022886A JP 2288692 A JP2288692 A JP 2288692A JP 2932812 B2 JP2932812 B2 JP 2932812B2
Authority
JP
Japan
Prior art keywords
subroutine
information
interrupt
source program
access memory
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 - Lifetime
Application number
JP4022886A
Other languages
English (en)
Other versions
JPH05224947A (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.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP4022886A priority Critical patent/JP2932812B2/ja
Publication of JPH05224947A publication Critical patent/JPH05224947A/ja
Application granted granted Critical
Publication of JP2932812B2 publication Critical patent/JP2932812B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、命令によってデータを
高速に読み出しおよび書き込み可能な特定のメモリ領域
(以下、高速アクセスメモリという)をもち、かつ複数
の割り込み機能を持つマイクロコンピュータ用の言語処
理プログラムの実行手段に関する。
【0002】
【従来の技術】言語処理プログラムが入力したソースを
翻訳し、その結果として生成したファイルをオブジェク
トモジュール(以下、オブジェクトという)と呼ぶ。マ
イクロコンピュータ特にシングルチップマイクロコンピ
ュータでは、コストの低減を図るために性能面では制限
が生じる傾向にある。したがって、言語処理プログラム
では、言語処理を行った結果であるオブジェクトの実行
が速いこととオブジェクトのサイズが小さいこととが望
まれている。一般にマイクロコンピュータでは、短い命
令コードによりアクセスできるメモリ領域を持つことが
普通であり、これを高速アクセスメモリと呼ぶ。短いコ
ードによりアクセスできるので、命令バイト数を小さく
することができるだけでなく命令フェッチおよび命令デ
コードが高速にでき、命令実行時間も短くなる利点があ
る。したがって、従来の言語処理プログラムの実行方式
では、サブルーチン内部でのみ使用されサブルーチンが
実行されている間のみメモリ上にデータが保持される一
時的な変数(以下、内部変数という)を、以前はメモリ
上で一時的に使用可能な領域(以下、スタックという)
に割り当てていたものを高速アクセスメモリに割り当て
ることにより高速化を図っている。
【0003】高速アクセスメモリに割り当てる変数には
三種類ある。一つは、サブルーチン内部から自分自身を
含む他のサブルーチンを呼んでいるサブルーチンの内部
変数である。これは、サブルーチン内で使用する内部変
数用の領域をそれぞれ使用前に退避しておき、使用後に
復帰している。残る二つは、サブルーチン内部から自分
自身を含む他のサブルーチンを呼ばないサブルーチンす
なわちリーフ関数の引数と内部変数とである。リーフ関
数の引数と内部変数とは高速アクセスメモリ中のある固
定領域に割り当てられており、関数から他のサブルーチ
ンを呼ばないので、通常は割り当てる領域を退避しまた
復帰することなくそのまま使用するだけで良い。ただ
し、リーフ関数処理中に割り込みが発生して他の割り込
みサブルーチンが実行されると、リーフ関数の引数およ
び内部変数領域が破壊される危険性があるので、割り込
みサブルーチンの本体処理の前後では、リーフ関数の引
数と内部変数とを割り当てる高速アクセスメモリ中の固
定領域全体(以下、リーフ関数用高速アクセスメモリと
いう)を退避しまた復帰しなければならなかった。
【0004】図12に示したサブルーチンの処理の流れ
を参照して説明する。まず、着目したサブルーチンが割
り込み時のサブルーチンかを調べる(ステップ120
1)。割り込み時のサブルーチンならば、リーフ関数用
全高速アクセスメモリを退避する(ステップ120
2)。次に、サブルーチン内で使用する内部変数用高速
アクセスメモリを退避する(ステップ1203)。そし
て、割り込み処理本体のオブジェクトを出力し(ステッ
プ1204)、ステップ1203で退避した内部変数用
高速アクセスメモリを復帰し(ステップ1205)、ス
テップ1202で退避したリーフ関数用全高速アクセス
メモリを復帰し(ステップ1206)、サブルーチンの
処理を終了する(ステップ1207)。割り込み時のサ
ブルーチンではないすなわち通常のサブルーチンなら
ば、サブルーチン内で使用する分の内部変数用高速アク
セスメモリを退避し(ステップ1208)、サブルーチ
ン本体のオブジェクトを出力し(ステップ1209)、
ステップ1208で退避した高速アクセスメモリを復帰
し(ステップ1210)、サブルーチンの処理を終了す
る(ステップ1207)。
【0005】
【発明が解決しようとする課題】このような従来例で
は、高速アクセスメモリに変数類を割り当てることによ
り内部変数を取り扱う処理で出力されるオブジェクトは
短くかつ実行が速くなるが、割り込み時のサブルーチン
本体処理の前後にリーフ関数用高速アクセスメモリを全
て退避および復帰しなければならないので、オブジェク
トの増大と実行速度の低下とが発生し、全体的に見て内
部変数を高速アクセスメモリに割り当てたメリットが低
下または逆に割り当てたためにオブジェクトが悪化する
問題が発生する。
【0006】仮に、内部変数をスタックから高速アクセ
スメモリに割り当てることにより、その内部変数を1回
取り扱うにつきオブジェクトが1バイト短く、また実行
速度が1クロック速くなるとする。同時に、割り込みサ
ブルーチン本体処理の前後でリーフ関数用全高速アクセ
スメモリを退避しまた復帰するのに、オブジェクトが5
バイト、リーフ関数用高速アクセスメモリとスタック間
の1バイトの転送に8クロック、リーフ関数用高速アク
セスメモリが全部で10バイトあるとすれば、ブロック
転送命令を持たないマイクロコンピュータでは約8クロ
ック×10バイト=80クロックの実行時間を必要とす
ると仮定する。あるソースプログラムで二つの割り込み
サブルーチンがあり、片方の割り込みサブルーチンから
呼ばれる別な一つのサブルーチン(リーフ関数)でのみ
内部変数が1個定義され、3回参照されている場合に
は、高速アクセスメモリに割り当てることにより、オブ
ジェクトが3バイト短く、実行速度が3クロック速くな
る。しかし、割り込みサブルーチンの前処理および後処
理でリーフ関数用全高速アクセスメモリを退避しまた復
帰するのに、オブジェクトが5×2=10バイト増加
し、クロック数が80×2=160クロック増加する。
トータルでは、オブジェクトが10−3=7バイト増加
し、クロック数が160−3=157クロック増加して
しまい、明らかにオブジェクトが悪化している。実際に
は内部変数の使用個数や使用頻度により、全体的なオブ
ジェクトが悪化するか改善されるかが変化する。しか
し、シングルチップマイクロコンピュータでは、元々メ
モリが少なくスタックへのアクセスが遅いことから、プ
ログラム作成者が外部変数データの管理を行い、内部変
数はそれほど多く使用されず、また割り込み機能の種類
が豊富であるので、前例のようにオブジェクトがかえっ
て悪化してしまう可能性は高い。
【0007】本発明は、割り込みサブルーチンであるこ
とを示す情報と各サブルーチンの呼び出しの相関関係情
報とから各サブルーチンの内部変数を各割り込みサブル
ーチン群専用の高速アクセスメモリに割り当てることに
より、割り込みサブルーチン本体処理の前後に必要とし
ていたリーフ関数用高速アクセスメモリの退避および復
帰処理および割り込みサブルーチン自身で使用している
内部変数用の高速アクセスメモリの退避および復帰処理
を削除し、出力するオブジェクトのサイズおよび実行速
度を向上させることができる言語処理プログラム実行装
置を提供することを目的とする。
【0008】
【課題を解決するための手段】本発明は、データの高速
読み出しおよび書き込みができるメモリ領域と複数の割
り込み手段とを備えたマイクロコンピュータ用のソース
プログラム情報を入力する入力部と、この入力部で入力
されたソースプログラム情報を解析する構文解析部と、
この構文解析部で解析されたソースプログラム情報に対
応するオブジェクト情報を生成するオブジェクト出力部
とを備えた言語処理プログラム実行装置において、
構文解析部は、割り込み発生時に分岐するサブルーチン
であることを示す情報を含むソースプログラム情報を解
析して割り込みサブルーチン情報を生成する手段と、こ
のソースプログラム情報を解析して各サブルーチンの呼
び出しの相関関係情報を生成する手段と、このソースプ
ログラム情報中で使用する変数を割り付ける場所を確定
する変数配置処理部とを備え、記変数配置処理部は、
割り込みサブルーチン情報および呼び出しの相関関
係情報をもとに関連する割り込みサブルーチンをまとめ
て一つのサブルーチン群とし、このサブルーチン群を前
記メモリ領域を分割した特定の領域に割り当てる内部変
数配置処理部を含むことを特徴とする。
【0009】
【作用】サブルーチン専用のメモリ領域を領域分割し、
割り込みサブルーチン情報を含むソースプログラム情報
ファイルを解析して得られた割り込みサブルーチン情報
と各サブルーチンの呼び出しの相関関係情報とから、
連のあるものをまとめておなじ領域に割り付ける。これ
により、割り込み時に変数の退避、復帰が不要なサブル
ーチン領域とスタック領域に分かれることにより処理が
遅れることを防止し、割り込み実行処理時間を短縮する
ことができる。
【0010】
【実施例】以下、本発明の一実施例につき図面を参照し
て説明する。
【0011】まず、第一実施例を説明する。図1は本実
施例のシステムブロック図である。言語処理プログラム
実行手段102は、図1に示すように、ソースプログラ
ム情報ファイル101からソースプログラムを入力する
入力部103と、入力されたソースプログラムを解析す
る構文解析部104と、解析されたソースプログラムに
対してオブジェクトプログラムを生成しオブジェクトフ
ァイル110に出力するオブジェクト出力部109とか
ら構成され、さらに、構文解析部104は、ソースプロ
グラム中で使用する変数を割り付ける場所を確定する変
数配置処理部105を含み、変数配置処理部105は、
構文解析部104から生成されたデータである割り込み
サブルーチン情報107と同じく構文解析部104から
生成された各サブルーチンの呼び出しの相関関係情報1
08とを参照して内部変数を各割り込みサブルーチン群
専用の高速アクセスメモリに配置する内部変数配置処理
部106を含む。すなわち、この実施例は、図1に示す
ように、データの高速読み出しおよび書き込みができる
メモリ領域と複数の割り込み手段とを備えたマイクロコ
ンピュータ用のソースプログラム情報を入力する入力部
103と、この入力部103で入力されたソースプログ
ラム情報を解析する構文解析部104と、この構文解析
部104で解析されたソースプログラム情報に対応する
オブジェクト情報を生成するオブジェクト出力部109
とを備え、さらに、本発明の特徴とする手段として、構
文解析部104は、割り込み発生時に分岐するサブルー
チンであることを示す情報を含むソースプログラム情報
を解析して割り込みサブルーチン情報を生成する手段
と、このソースプログラム情報を解析して各サブルーチ
ンの呼び出しの相関関係情報を生成する手段と、このソ
ースプログラム情報中で使用する変数を割り付ける場所
を確定する変数配置処理部105とを備え、変数配置処
理部105は、上記二つの情報をもとに各割り込みサブ
ルーチン群の変数を上記特定のメモリ領域中に割り込み
専用の領域を設けて割り当てる内部変数配置処理部10
6を含む。
【0012】次に、この実施例の動作を説明する。この
実施例では、各割り込みサブルーチン群専用の高速アク
セスメモリは高速アクセスメモリを分割することにより
確保する。また、一つのプログラム中のメインサブルー
チンも割り込みサブルーチンの一つに含まれる。ソース
プログラム情報ファイル101は、図2に示すように、
内部変数用高速アクセスメモリを何分割するかを示すメ
モリ分割指示201と、割り込み発生時に分岐するサブ
ルーチンであることを示す割り込みサブルーチン指示2
02と、通常のソースプログラム203とから構成され
る。メモリ分割指示201はキーワードA204とメモ
リの分割数205とからなり、割り込みサブルーチン指
示202はキーワードB206と割り込みサブルーチン
名207とからなる。なお、メモリ分割数は、通常は割
り込みサブルーチンの個数を指定してもらうが、分割数
が多すぎて割り当て可能な変数が減少してしまうのを避
ける場合には使用者の希望する分割数を指定することが
できる。また、この実施例では、1つのソースプログラ
ム情報ファイルにすべての割り込みサブルーチンおよび
割り込みサブルーチンから呼ばれるサブルーチン群が記
述されているとする。割り込みサブルーチン情報107
は、図3に示すように、メモリ分割数301が先頭に格
納され、以降は割り込みサブルーチン名302が順番に
格納されている。
【0013】実行手順は、まず、ソースプログラム情報
ファイル101を入力部103で入力し、構文解析部1
04でソースプログラムの解析を行う。このときに、キ
ーワードA204を認識したならばメモリ分割指示20
1であるので、オペランドのメモリ分割数205を読み
込み、割り込みサブルーチン情報107の先頭に格納す
る。キーワードB206を認識したならば割り込みサブ
ルーチン指示202であるので、オペランドの割り込み
サブルーチン名207を読み込み、割り込みサブルーチ
ン情報107に格納していく。また、構文解析部104
ではソースプログラムの解析にともなって各サブルーチ
ンの呼び出しの相関関係情報を生成する。図4に生成し
た相関関係情報のイメージ図を示す。相関関係情報生成
処理は既存の言語処理プログラムの構文解析が生成する
情報により実現が可能である。通常、構文解析にともな
って使用されている変数を格納する場所を変数配置処理
部105が決定していくが、特に内部変数に関してはす
べての割り込みサブルーチン指示を読み終り各サブルー
チンの呼び出しの相関関係を認識した後に、内部変数配
置処理部106が割り込みサブルーチン情報107およ
び相関関係情報108を参照しながら内部変数用高速ア
クセスメモリに配置する。次に、オブジェクト出力部1
09では、構文解析の結果を受けて対応するオブジェク
トプログラムを生成し、オブジェクトファイル110に
出力していく。
【0014】次に、内部変数配置処理部106の処理の
流れを図5を参照して説明する。まず、構文解析により
得られた割り込みサブルーチン情報を読み込み(ステッ
プ501)、先頭のデータであるメモリ分割数を入力す
る(ステップ502)。それがN個であると、高速アク
セスメモリを1/Nに分割する(ステップ503)。分
割された領域をバンク1からバンクNと呼ぶことにす
る。ここからが内部変数を実際にメモリに割り当てる処
理である。まず、内部変数割り当ての終わっていないサ
ブルーチンが残っているか否かを調べ(ステップ50
4)、残っているならば最初のサブルーチンに着目し
(ステップ505)、相関関係情報を検索してどの割り
込みサブルーチンに属するかを調べる(ステップ50
6)。次に検索した結果である割り込みサブルーチン名
が割り込みサブルーチン情報の何番目かを調べ、m番目
であったとする(ステップ507)。次にmがN以下な
らば(ステップ508)、サブルーチン内の内部変数を
分割した高速アクセスメモリのバンクmに割り当てる
(ステップ509)。次に内部変数を割り当てる高速ア
クセスメモリが足りたか否かを調べ(ステップ51
0)、足りなければ割り当てられなかった内部変数を通
常のスタックに割り当てる(ステップ511)。以上で
一つのサブルーチンの内部変数割り当てが終了したの
で、次のサブルーチンの処理に入るために再びステップ
504に処理を戻す。ステップ508でmがNよりも大
きい場合は、すでに分割した高速アクセスメモリは使い
切っているので分割した高速アクセスメモリのバンク1
に割り当てる(ステップ512)。そして、内部変数を
割り当てる高速アクセスメモリが足りたか否かを調べ
(ステップ510)、足りなければ割り当てられなかっ
た内部変数を通常のスタックに割り当てる(ステップ5
11)。これで一つのサブルーチンの内部変数割り当て
が終了したので、再びステップ504に処理を戻す。以
上を内部変数割り当ての終わっていないサブルーチンが
なくなるまで繰り返し、なくなったときに処理が終了す
る。例として、図4の相関関係である割り込みサブルー
チンA、BおよびCとサブルーチン1〜5とが存在し、
それぞれ内部変数あるとし、メモリ分割数として「3」
を指定したとすると、高速アクセスメモリの割り当ては
図6に示す通りバンク1(601)は割り込みサブルー
チンAとサブルーチン1、バンク2(602)は割り込
みサブルーチンBとサブルーチン2および3、バンク3
(603)は割り込みサブルーチンCとサブルーチン4
および5の内部変数が割り当てられる。
【0015】次に、オブジェクト出力部の処理の中の割
り込みサブルーチンのオブジェクト出力処理の流れを図
7を参照して説明する。割り込みサブルーチンのオブジ
ェクトを出力するときに、まずその割り込みサブルーチ
ンが割り込みサブルーチン情報の何番目のものかを調
べ、m番目であると(ステップ701)、次にmがN以
下でかつ「1」でないかを調べる(ステップ702)。
mがN以下でかつ1ではないならば、すぐに割り込みサ
ブルーチン本体のオブジェクトを出力して(ステップ7
03)終了する。ステップ702でmがNより大きいか
またはmが「1」ならば、該当割り込みサブルーチンお
よび割り込みサブルーチンから呼ばれるサブルーチン群
の内部変数は高速アクセスメモリのバンク1に割り当て
られているので、バンク1をスタックに退避し(ステッ
プ704)、サブルーチン本体の処理に制御を渡し(ス
テップ705)、本体の処理が終わったならばスタック
に退避した高速アクセスメモリのバンク1を復帰し(ス
テップ706)、割り込みサブルーチンのオブジェクト
出力が終了する。なお、割り込みサブルーチンではない
サブルーチンでリーフ関数でないものは、通常のように
サブルーチン内部で使用する内部変数用の領域のみスタ
ックに退避および復帰すれば良い。例として挙げた図4
に示したソースプログラム情報ファイルの場合は、割り
込みサブルーチンの個数とメモリ分割数が等しいので、
割り込みサブルーチンの本体処理の前後に高速アクセス
メモリの退避および復帰を行う必要はない。
【0016】以上の処理を行うことによって、割り込み
サブルーチンであることを示す情報と各サブルーチンの
呼び出しの相関関係情報とをもとに割り込みサブルーチ
ン本体処理の前後に行っていた高速アクセスメモリの退
避および復帰を削除することができる。
【0017】次に、第二実施例をついて説明する。第一
実施例は、割り込みサブルーチン情報を含むソースプロ
グラム情報ファイルを1個入力して内容を解析し、オブ
ジェクトファイルを1個出力していたのに対し、一つの
ソフトウェアが複数のソースプログラム情報ファイルか
ら構成される場合に、複数のソースプログラム情報ファ
イルを入力して内容を解析し、複数のオブジェクトファ
イルを出力することも可能である。システム全体の構成
は、図8に示すように、ソースプログラム情報ファイル
(801−1、801−2、801−n)と、オブジェ
クトファイル(810−1、810−2、810−n)
とが複数個である以外は第一実施例の図1に等しい。ま
た、ソースプログラム情報ファイルの構成は、図9に示
すように、図2からメモリ分割指示が削除された形式で
あり、割り込みサブルーチン情報は、図10に示すよう
に、図3からメモリ分割数が削除された形式である。
【0018】実行手順は、まず、ソースプログラム情報
ファイル801を入力部803で入力し、構文解析部8
04でソースプログラムの解析を行う。このときにキー
ワード902を認識したならば、割り込みサブルーチン
指示であるのでオペランドの割り込みサブルーチン名9
03を読み込み、割り込みサブルーチン情報807に格
納していく。以上の入力および構文解析をソースプログ
ラム情報ファイル801の全てについて順次行う。そし
て、全構文解析が終わった後に、全プログラム情報ファ
イルに渡る各サブルーチンの呼び出しの相関関係情報を
生成する。生成した相関関係情報は第一実施例に等し
い。通常、構文解析にともなって使用されている変数を
格納する場所を変数配置処理部805が決定していく
が、特に内部変数に関しては、全てのソースプログラム
情報ファイル801の構文解析が終わった後に内部変数
配置処理部806が割り込みサブルーチン情報807お
よび相関関係情報808を参照しながら内部変数用高速
アクセスメモリに配置する。次に、オブジェクト出力部
109は構文解析の結果を受けて対応するオブジェクト
プログラムを生成し、オブジェクトファイル810に出
力していく処理を複数の出力オブジェクトに対して行
う。内部変数配置処理部806での処理は、複数のソー
スプログラム情報ファイルの解析結果をまとめて処理す
る点、および高速アクセスメモリの分割数Nを割り込み
サブルーチン情報中の割り込みサブルーチンの個数とす
る点以外は第一実施例に等しい。
【0019】次に、オブジェクト出力部の処理の中の割
り込みサブルーチンのオブジェクト出力処理の流れを図
11を参照して説明する。割り込みサブルーチンのオブ
ジェクトを出力するときにサブルーチン本体のオブジェ
クトを出力し(ステップ1101)、そのサブルーチン
のオブジェクト出力は終了する。割り込みサブルーチン
の個数と高速アクセスメモリの分割数とが等しいので、
割り込み発生時にはバンクを変更するだけで高速アクセ
スメモリの退避および復帰を必要としない。
【0020】以上の処理を行うことによって、複数のソ
ースプログラム情報ファイルを入力し、割り込みサブル
ーチンであることを示す情報と各サブルーチンの呼び出
しの相関関係情報とをもとに、割り込みサブルーチンの
前後に行っていた高速アクセスメモリの退避および復帰
を削除できる。
【0021】
【発明の効果】本発明は、以上のように、割り込み発生
時に分岐するサブルーチンであることを示す情報を含む
ソースプログラム情報を入力し、割り込み時サブルーチ
ン情報と各サブルーチンの呼び出しの相関関係情報をも
とに該当割り込みサブルーチンと割り込みサブルーチン
から呼ばれているサブルーチン群の変数を各割り込みサ
ブルーチン群専用の高速アクセスメモリ領域に割り当
て、割り込みサブルーチンの前後に必要としていた高速
アクセスメモリの退避および復帰処理を削除するので、
高速アクセスメモリを有効に使用し、かつ、割り込み時
に必要となる初期化および終了処理のオブジェクトを小
さくし、実行時間を短縮できる効果がある。仮に内部変
数をスタックから高速アクセスメモリに割り当てること
により、その内部変数を1回取り扱うにつきオブジェク
トが1バイト短くまた実行速度が1クロック速くなると
すると、あるソースプログラムで二つの割り込みサブル
ーチンがあり、片方の割り込みサブルーチンから呼ばれ
る別な一つのサブルーチン(リーフ関数)でのみ内部変
数が1個定義され、3回参照されている場合は、内部変
数が高速アクセスメモリに割り当てられることにより、
オブジェクトが3バイト短くかつ実行速度が3クロック
速くなり、従来必要とされていた割り込みサブルーチン
の前後での高速アクセスメモリの退避および復帰処理が
ないために、総合的にも3バイト短くかつ3クロック速
いオブジェクトを生成できたことになるので、高速アク
セスメモリに割り当てたメモリを最大限に生かすことが
できる効果がある。
【図面の簡単な説明】
【図1】本発明第一実施例の構成を示すブロック構成
図。
【図2】図1に含まれるソースプログラム情報ファイル
の構成図。
【図3】図1に含まれる割り込みサブルーチン情報の構
成図。
【図4】各サブルーチンの呼び出しの相関関係情報を示
す図。
【図5】本発明第一実施例の動作を示すフローチャー
ト。
【図6】高速アクセスメモリの分割状態を示す図。
【図7】本発明第一実施例の動作を示すフローチャー
ト。
【図8】本発明第二実施例の構成を示すブロック構成
図。
【図9】図8に含まれるソースプログラム情報ファイル
の構成図。
【図10】図8に含まれる割り込みサブルーチン情報の
構成図。
【図11】本発明第二実施例の動作を示すフローチャー
ト。
【図12】従来例の動作を示すフローチャート。
【符号の説明】
101 ソースプログラム情報ファイル 102 言語処理プログラム実行手段 103 入力部 104 構文解析部 105 変数配置処理部 106 内部変数配置処理部 107 割り込みサブルーチン情報 108 相関関係情報 109 オブジェクト出力部 110 オブジェクトファイル 201 メモリ分割指示 202 割り込みサブルーチン指示 203 通常のソースプログラム 204 キーワードA 205 メモリ分割数 206 キーワードB 207 割り込みサブルーチン名 301 メモリ分割数 302 割り込みサブルーチン名 401 各サブルーチンの呼び出しの相関関係情報 601、602、603 バンク1、バンク2、バン
ク3 801−1〜801−n ソースプログラム情報ファ
イル 802 言語処理プログラム実行手段 803 入力部 804 構文解析部 805 変数配置処理部 806 内部変数配置処理部 807 割り込みサブルーチン情報 808 相関関係情報 809 オブジェクト出力部 810−1〜810−n オブジェクトファイル 901 割り込みサブルーチン指示 902 キーワード 903 割り込みサブルーチン名 904 通常のソースプログラム 1001 割り込みサブルーチン名
フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 9/45

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 データの高速読み出しおよび書き込みが
    できるメモリ領域と複数の割り込み手段とを備えたマイ
    クロコンピュータ用のソースプログラム情報を入力する
    入力部と、この入力部で入力されたソースプログラム情
    報を解析する構文解析部と、この構文解析部で解析され
    たソースプログラム情報に対応するオブジェクト情報を
    生成するオブジェクト出力部とを備えた言語処理プログ
    ラム実行装置において、 記構文解析部は、割り込み発生時に分岐するサブルー
    チンであることを示す情報を含むソースプログラム情報
    を解析して割り込みサブルーチン情報を生成する手段
    と、 このソースプログラム情報を解析して各サブルーチンの
    呼び出しの相関関係情報を生成する手段と、 このソースプログラム情報中で使用する変数を割り付け
    る場所を確定する変数配置処理部とを備え、 記変数配置処理部は、割り込みサブルーチン情報
    および呼び出しの相関関係情報をもとに関連する割り込
    みサブルーチンをまとめて一つのサブルーチン群とし、
    このサブルーチン群を前記メモリ領域を分割した特定の
    領域に割り当てる内部変数配置処理部を含むことを特徴
    とする言語処理プログラム実行装置。
JP4022886A 1992-02-07 1992-02-07 言語処理プログラム実行装置 Expired - Lifetime JP2932812B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4022886A JP2932812B2 (ja) 1992-02-07 1992-02-07 言語処理プログラム実行装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4022886A JP2932812B2 (ja) 1992-02-07 1992-02-07 言語処理プログラム実行装置

Publications (2)

Publication Number Publication Date
JPH05224947A JPH05224947A (ja) 1993-09-03
JP2932812B2 true JP2932812B2 (ja) 1999-08-09

Family

ID=12095162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4022886A Expired - Lifetime JP2932812B2 (ja) 1992-02-07 1992-02-07 言語処理プログラム実行装置

Country Status (1)

Country Link
JP (1) JP2932812B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1887462A1 (en) 2006-07-26 2008-02-13 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device, memory circuit, and machine language program generation device, and method for operating semiconductor device and memory circuit

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
「情報処理学会第43回(平成3年後期)全国大会講演論文集」P.5−201〜202発明協会公開技報 公技89−12955号

Also Published As

Publication number Publication date
JPH05224947A (ja) 1993-09-03

Similar Documents

Publication Publication Date Title
US4777588A (en) General-purpose register file optimized for intraprocedural register allocation, procedure calls, and multitasking performance
US6363522B1 (en) Method and apparatus for handling exceptions as normal control flow
JP3974742B2 (ja) コンパイル装置、最適化方法および記録媒体
US20020056078A1 (en) Program optimization
CN109739824B (zh) 日志获取方法及设备
US20040205697A1 (en) Transferring data along with code for program overlays
JPH06309178A (ja) 割込処理コードによって割込みを処理するための方法およびコンピュータシステム
US7240341B2 (en) Global constant pool to allow deletion of constant pool entries
US5519860A (en) Central processor index sort followed by direct record sort and write by an intelligent control unit
JP2932812B2 (ja) 言語処理プログラム実行装置
JP2000353097A (ja) 低密回の干渉グラフを生成する方法および装置
JP3049814B2 (ja) マイクロコンピュータの言語処理装置
US20030217356A1 (en) Register allocation for program execution analysis
JP3566602B2 (ja) コンパイル方法、および、コンパイル用プログラムを記録した記録媒体
JP3279706B2 (ja) オンライン・コンパイル方式
JPH08212081A (ja) メモリ割り付け方法、並びにコンパイル方法およびコンパイラ
JPH11134202A (ja) タスク切替え装置
JP2721377B2 (ja) Basicプログラム圧縮方法
JP3018666B2 (ja) 言語処理装置
JP3018783B2 (ja) コンパイル方式
JPS63121929A (ja) スタツク処理方式
JPH03218529A (ja) 高速割込み処理装置
JPH07129408A (ja) 言語処理プログラムの実行方式
JPH06324882A (ja) コンパイラ装置
El Naga et al. A hardware Algol machine

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees