JPH02151931A - 中間言語テキストの再利用方式 - Google Patents

中間言語テキストの再利用方式

Info

Publication number
JPH02151931A
JPH02151931A JP30534688A JP30534688A JPH02151931A JP H02151931 A JPH02151931 A JP H02151931A JP 30534688 A JP30534688 A JP 30534688A JP 30534688 A JP30534688 A JP 30534688A JP H02151931 A JPH02151931 A JP H02151931A
Authority
JP
Japan
Prior art keywords
text
intermediate language
language text
storage area
internal format
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.)
Granted
Application number
JP30534688A
Other languages
English (en)
Other versions
JPH0695309B2 (ja
Inventor
Yukie Matsuda
松田 幸恵
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
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP30534688A priority Critical patent/JPH0695309B2/ja
Publication of JPH02151931A publication Critical patent/JPH02151931A/ja
Publication of JPH0695309B2 publication Critical patent/JPH0695309B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は中間言語テキストの再利用方式に関し、特にコ
ンピュータシステムにおいてコンパイラなどが原始プロ
グラムから目的プログラムを生成する過程で生成される
中間言語テキストの再利用方式に関する。
〔従来の技術〕
従来、コンパイラなどが原始プログラムから目的プログ
ラムを生成する過程で生成される中間言語テキストは順
次生成されるのみで、中間言語テキストの再利用は行わ
れていなかった。
〔発明が解決しようとする課題〕
上述した従来の中間言語テキストの生成方式では、原始
プログラム中に同一内容の命令が出現するしないにかか
わらず、中間言語テキストを順次生成しているので、処
理速度が遅いとともに、ファイルやメモリ上などに中間
言語テキストを格納するときに必要となる領域が大きく
なるという欠点がある。
本発明の目的は、上述の点に鑑み、原始プログラム中に
同一内容の命令が出現したときにすでに生成されている
中間言語テキストを再利用することにより、処理速度を
向上させるとともにファイルやメモリなどを存効に使用
することができるようにした中間言語テキストの再利用
方式を提供するごとにある。
〔課題を解決するための手段〕
本発明の中間言語テキストの再利用方式は、原始プログ
ラムを入力し解析してトークンに分解しトークン列を内
部形式テキストとして内部形式テキスト格納域に出力す
る原始プログラム解析部と、この原始プログラム解析部
から出力された内部形式テキストを前記内部形式テキス
ト格納域から入力しすでに処理済の内部形式テキストで
ある検索用テキストの中に現在処理テキストのトークン
列と同じトークン列をもつ検索用テキストがあるか否か
を検索し、現在処理テキストのトークン列と同じ内容の
トークン列をもつ検索用テキストがない場合ムこは現在
処理テキストの1・−クン列から中間言語テキストを生
成して中間言語テキスト格納域に出力しこの中間言語テ
キストが前記中間言語テキスト格納域のどこに格納され
たかを示す格納位置情報を現在処理テキストに対応する
内部形式テキストに中間言語格納位置情報領域として追
加し、現在処理テキストのトークン列と同じ内容のトー
クン列をもつ検索用テキストがある場合には中間言語テ
キス1−を新たには生成せず番こ検索した検索用テキス
トに対応する格納位置情報を前記内部形式テキスト格納
域から取り出しその格納位置情報と中間言語テキストの
再利用を示す情報とを中間言語再利用テキストとじて生
成して前記中間言語テキスト格納域に出力し、内部形式
テキストが終了するまで前記現在処理テキストの入力、
検索用テキストの検索、中間言語テキストの生成および
前記中間言語テキスト格納域への出力ならびに現在処理
テキストへの格納位置情報の追加を繰り返す中間言語生
成部と、この中間言語生成部により出力された中間言語
テキストを前記中間言語テキスト格納域から入力し入力
した中間言語テキストが中間言語再利用テキストである
か否かを判定し、入力した中間言語テキストが中間言語
再利用テキストでなかった場合には入力した中間言語テ
キストに相当する目的プログラムを生成して目的プログ
ラム保持部に出力し、入力した中間言語テキストが中間
言語再利用テキストであった場合にはこの中間言語再利
用テキストから格納位置情報を取り出してこれを用いて
前記中間言語テキスト格納域から順に再利用する中間言
語テキストを入力し入力した中間言語テキストに相当す
る目的プログラムを生成して目的プログラム保持部に出
力し、中間言語テキストが終了するまで前記中間言語テ
キス′トの入力、入力した中間言語テキストが中間言語
再利用テキストか否かの判定、中間言語テキストに相当
する目的プログラムの生成または再利用する中間言語テ
キストに相当する目的プログラムの生成および生成した
目的プログラムの前記目的プログラム保持部への出力を
繰り返す目的プログラム生成部と、前記原始プログラム
解析部、前記中間言語生成部および前記目的プログラム
生成部を制御する制御部とを有する。
〔作用〕
本発明の中間言語テキストの再利用方式では、原始プロ
グラム解析部が原始プログラムを入力し解析してトーク
ンに分解しトークン列を内部形式テキストとして内部形
式テキスト格納域に出力し、中間言語生成部が原始プロ
グラム解析部から出力された内部形式テキストを内部形
式テキスト格納域から入力しすでに処理済の内部形式テ
キストである検索用テキストの中に現在処理テキストの
トークン列と同じトークン列をもつ検索用テキスI・が
あるか否かを検索し、現在処理テキストのトクン列と同
じ内容のトークン列をもつ検索用テキストがない場合に
は現在処理テキストのトークン列から中間言語テキスト
を生成して中間言語テキスト格納域に出力しこの中間言
語テキストが中間言語テキスト格納域のどこに格納され
たかを示す格納位置情報を現在処理テキストに対応する
内部形式テキストに中間言語格納位置情報領域として追
加し、現在処理テキストのトークン列と同じ内容のトー
クン列をもつ検索用テキストがある場合には中間言語テ
キストを新たには生成せずに検索した検索用テキストに
対応する格納位置情報を内部形式テキスト格納域から取
り出しその格納位置情報と中間言語テキストの再利用を
示す情報とを中間言語再利用テキストとして生成して中
間言語テキスト格納域に出力し、内部形式テキストが終
了するまで現在処理テキストの入力、検索用テキストの
検索、中間言語テキストの生成および中間言語テキスト
格納域への出力ならびに現在処理テキストへの格納位置
情報の追加を繰り返し、目的プログラム生成部が中間言
語生成部により出力された中間言語テキストを中間言語
テキスト格納域から入力し入力した中間言語テキストが
中間言語再利用テキストであるか否かを判定し、入力し
た中間言語テキストが中間言語再利用テキストでなかっ
た場合には入力した中間言語テキストに相当する目的プ
ログラムを生成して目的プログラム保持部に出力し、入
力した中間言語テキストが中間言語再利用テキストであ
った場合には中間言語再利用テキストから格納位置情報
を取り出してこれを用いて中間言語テキスト格納域から
順に再利用する中間言語テキストを入力し入力した中間
言語テキストに相当する目的プログラムを生成して目的
プログラム保持部に出力し、中間言語テキストが終了す
るまで中間言語テキストの入力2人力した中間言語テキ
ストが中間言語再利用テキストか否かの判定、中間言語
テキストに相当する目的プログラムの生成または再利用
する中間言語テキストに相当する目的プログラムの生成
および生成した目的プログラムの目的プログラム保持部
への出力を繰り返し、制御部が原始プログラム解析部中
間言語主成部および目的プログラム生成部を制御する。
〔実施例〕
次に、本発明について図面を参照して詳細に説明する。
第1図は、本発明の一実施例に係る中間言語テキストの
再利用方式の構成を示すブロック図である。本実施例の
中間言語テキストの再利用方式は、各部を呼び出して制
御する制御部10と、原始プログラム保持部50から原
始プログラムを行単位に入力して解析し内部形式テキス
トを生成して内部形式テキスト格納域60に格納する原
始プログラム解析部20と、原始プログラム解析部20
により生成された内部形式テキストを内部形式テキスト
格納域60から入力し入力した内部形式テキスト(以下
、現在処理テキストという)と同一内容のすでに処理済
の内部形式テキスト(以下、検索用テキストという)を
検索す為ことによって中間言語テキストの再利用の可否
を判定し中間言語テキストまたは中間言語再利用テキス
トを生成して中間言語テキスト格納域′70に出力し出
力した中間言語テキストの中間言語テキスト格納域70
での開始位置および終了位置を内部形式テキストに設定
して内部形式テキスト格納域60に格納する中間言語生
成部30と、中間言語テキスト格納域70より入力した
中間言語テキストから直接目的プログラム(オブジェク
ト)を生成するか中間言語テキストの再利用を行って目
的プログラムを生成するかして目的プログラム保持部8
0に出力する目的プログラム生成部40とから構成され
ている。
第2図を参照すると、制御部10における処理は、原始
プログラム解析部呼出しステップ21と、中間言語生成
部呼出しステップ22と、目的プログラム主成部呼出し
ステップ23とからなる。
第3図を参照すると、原始プログラム解析部20におけ
る処理は、原始プログラム終了検出ステップ31と、原
始プログラム人力ステップ32と、内部形式テキスト生
成ステップ33と、内部形式テキスト出力ステップ34
とからなる。
第4図を参照すると、中間言語生成部30における処理
は、内部形式テキスl了検出ステップ41と、内部形式
テキスト入力ステップ42と、中間言語格納開始位置設
定ステップ43と、検索用テ;トスト終了検出ステップ
44と、検索用チー1−スト入力ステップ45と、検索
用テキストと現在処理テキストとの同一内容判定ステッ
プ46と、中間言語テキスト生成ステップ47と、中間
言語再利用テキスト生成ステップ48と、中間言語格納
終了位置設定ステ冊 ツブ49とからなる。
第5図を参照すると、目的プログラム生成部40おける
処理は、中間言語テキス1〜P:了検出ステップ51と
、中間言語テキスト入力ステップ52と、中間言語再利
用テキスト判定ステップ53と、再利用開始位置および
終了位置取出しステップ54と、再利用する中間言語テ
キスト人力ステップ55と、目的プログラム生成ステッ
プ56と、再利用終了判定ステップ57と、目的プログ
ラム生成ステップ5日とからなる。
第6図(al〜(dlは、原始プログラム、内部形式テ
キスト、中間言語テキストおよび目的プログラムの一例
をそれぞれ示す図である。
次に、このように構成された本実施例の中間言語テキス
トの再利用方式の動作について説明する。
まず、制御部10は、原始プログラム解析部20を起動
する(ステップ21)。
原始プログラム解析部20は、原始プログラム保持部5
0中の原始プログラムが終了したか否かを判定しくステ
ップ31)、終了していない場合には、原始プログラム
保持部50から、例えば第6図+a+に示すような原始
プログラムを行単位に入力する(ステップ32)。次に
、入力された原始プログラムを解析して言語要素(以下
、トークンという)に分解して、例えば第6図(blに
示ずようなI・−クン列と中間言語格納位置情報領域と
からなる内部形式テキストを生成しくステップ33)、
生成された内部形式テキストを内部形式テキスト格納域
60に出力する(ステップ34)。ステップ31で原始
プログラム保持部50中の原始プログラムの終了が検出
されるまで、ステップ31〜34を繰り返し、原始プロ
グラムの終了が検出されると、原始プログラム解析部2
0は処理を終了する。
次に、制御部10は、中間言語生成部30を起動する 
(ステップ22)。
中間言語生成部30は、原始プログラム解析部20によ
り生成され内部形式テキスト格納域60に格納された内
部形式テキストが終了したか否かを判定しくステップ4
1)、終了していない場合には内部形式テキスト格納域
60から内部形式テキストを入力して現在処理テキスト
とする(ステップ42)。
次に、生成される中間言語テキストが中間言語テキスト
格納域70のどこから格納されるかを示す開始位置(f
rom)を内部形式テキストの中間言語格納位置情報領
域に設定する(ステップ43)。
続いて、検索用テキストがあるか否かを判定しくステッ
プ44)、検索用テキストがある場合には検索用テキス
トを入力しくステップ45)、現在処理テキストのトー
クン列と検索用テキストのトークン列とが同じ内容であ
るか否かを判定しくステップ46)、同じ場合には、例
えば第6図(C)に示すような中間言語再利用テキスト
を生成し、検索用テキストの中間言語格納位置情報領域
からこの検索用テキストのトークン列に相当する中間言
語テキストの中間言語テキスト格納域70での開始位置
(from)および終了位置(to)を取り出し、生成
した中間言語再利用テキストに設定し、中間言語テキス
ト格納域70に出力する(ステップ48)。
ステップ46で現在処理テキストのトークン列と検索用
テキストのトークン列とが同じ内容でないと判定された
場合には、検索用テキストの終了が検索されるか(ステ
ップ44)、次に入力した検索用テキストのトークン列
が現在処理テキストのトークン列と同じ内容であると判
定されるまで(ステップ46)、ステップ44〜46が
繰り返される。
ステップ44で検索用テキストの終了が検出されると、
現在処理テキストに相当する中間言語テキストを生成し
て中間言語テキスト格納域70に格納する(ステップ4
7)。
ステップ47またはステップ48で中間言語テキストま
たは中間言語再利用テキストを生成して中間言語テキス
ト格納域70に格納したならば、生成された中間言語テ
キストが中間言語テキスト格納域70のどこまで格納さ
れたかを示す終了位置(t。
)を現在処理テキストに対応する内部形式テキストの中
間言語格納位置情報領域に設定しくステップ49)、ス
テップ41で内部形式テキストの終了が検出されるまで
、ステップ41〜49が繰り返される。
ステップ41で内部形式テキストの終了が検出されると
、中間言語生成部30は処理を終了する。
続いて、制御部10は、目的プログラム生成部40を起
動する(ステップ23)。
目的プログラム生成部40は、中間言語生成部30によ
り生成され中間言語テキスト格納域70に格納された中
間言語テキストが終了したか否かを判定しくステップ5
1)、終了していない場合には中間言語テキスト格納域
70から中間言語テキストを入力する(ステップ52)
。次に、入力した中間言語テキストが中間言語再利用テ
キストであるか否かを判定しくステップ53)、中間言
語再利用テキストである場合には入力した中間言語テキ
ストから再利用する中間言語テキストの中間言語テキス
ト格納域70での開始位置(from)および終了位置
くto)を取り出しくステップ54)、中間言語テキス
ト格納域70の開始位置から順に中間言語テキストを入
力しくステップ55)、再利用するために入力した中間
言語テキストに相当する、例えば第6図(dlに示すよ
うな目的プログラムを生成して目的プログラム保持部8
0に出力しくステップ56)、取り出した終了位置の中
間言語テキストまで再刊用が終了したか否かを判定する
(ステップ57)。
終了していなければ、終了したと判定されるまでステッ
プ55〜57を繰り返す。
ステップ53で中間言語再利用テキストでないと判定さ
れた場合には、ステップ52で入力された中間言語テキ
ストに相当する目的プログラムを生成して目的プログラ
ム保持部80に出力する(ステップ58)。ステップ5
7で再利用終了と判定されるか、ステップ58で目的プ
ログラムが生成および出力された場合には、ステップ5
1に戻って処理を繰り返す。
ステップ51で中間言語テキストの終了を検出すると、
目的プログラム生成部40は処理を終了し、制御部10
も処理を終了する。
〔発明の効果〕
以上説明したように本発明は、原始プログラム中に同一
内容の命令が出現したときにすでに生成されている中間
言語テキストを再利用することにより、以下に示すよう
な効果がある。
(1)中間言語テキストを生成する処理そのものtll を省くことができるので、処理速度が向上する。
(2)中間言語テキストを格納するファイルやメモリな
どが少なくてすむので、ファイルやメモリなどを有効に
使用することができる。
【図面の簡単な説明】
第1図は本発明の一実施例に係る中間言語テキストの再
利用方式の構成を示すブロック図、第2図は第1図中の
制御部における処理を示す流れ図、 第3図は第1図中の原始プログラム解析部における処理
を示す流れ図、 第4図は第1図中の中間言語生成部における処理を示す
流孔図、 第5図は第1図中の目的プログラム生成部における処理
を示す流れ図、 第6図(al〜Fdlは原始プログラム、内部形式テキ
スト中間言語テキストおよび目的プログラムの一例をそ
れぞれ示す図である。 図において、 10・・・制御部、 ・原始プログラム解析部、 ・中間言語生成部、 ・目的プログラム生成部、 ・原始プログラム保持部、 内部形式テキスト格納域、 中間言語テキスト格納域、 ・目的プログラム保持部である。

Claims (1)

  1. 【特許請求の範囲】 原始プログラムを入力し解析してトークンに分解しトー
    クン列を内部形式テキストとして内部形式テキスト格納
    域に出力する原始プログラム解析部と、 この原始プログラム解析部から出力された内部形式テキ
    ストを前記内部形式テキスト格納域から入力しすでに処
    理済の内部形式テキストである検索用テキストの中に現
    在処理テキストのトークン列と同じトークン列をもつ検
    索用テキストがあるか否かを検索し、現在処理テキスト
    のトークン列と同じ内容のトークン列をもつ検索用テキ
    ストがない場合には現在処理テキストのトークン列から
    中筒言語テキストを生成して中間言語テキスト格納域に
    出力しこの中間言語テキストが前記中間言語テキスト格
    納域のどこに格納されたかを示す格納位置情報を現在処
    理テキストに対応する内部形式テキストに中間言語格納
    位置情報領域として追加し、現在処理テキストのトーク
    ン列と同じ内容のトークン列をもつ検索用テキストがあ
    る場合には中間言語テキストを新たには生成せずに検索
    した検索用テキストに対応する格納位置情報を前記内部
    形式テキスト格納域から取り出しその格納位置情報と中
    間言語テキストの再利用を示す情報とを中間言語再利用
    テキストとして生成して前記中間言語テキスト格納域に
    出力し、内部形式テキストが終了するまで前記現在処理
    テキストの入力、検索用テキストの検索、中間言語テキ
    ストの生成および前記中間言語テキスト格納域への出力
    ならびに現在処理テキストへの格納位置情報の追加を繰
    り返す中間言語生成部と、 この中間言語生成部により出力された中間言語テキスト
    を前記中間言語テキスト格納域から入力し入力した中間
    言語テキストが中間言語再利用テキストであるか否かを
    判定し、入力した中間言語テキストが中間言語再利用テ
    キストでなかった場合には入力した中間言語テキストに
    相当する目的プログラムを生成して目的プログラム保持
    部に出力し、入力した中間言語テキストが中間言語再利
    用テキストであった場合にはこの中間言語再利用テキス
    トから格納位置情報を取り出してこれを用いて前記中間
    言語テキスト格納域から順に再利用する中間言語テキス
    トを入力し入力した中間言語テキストに相当する目的プ
    ログラムを生成して目的プログラム保持部に出力し、中
    間言語テキストが終了するまで前記中間言語テキストの
    入力、入力した中間言語テキストが中間言語再利用テキ
    ストか否かの判定、中間言語テキストに相当する目的プ
    ログラムの生成または再利用する中間言語テキストに相
    当する目的プログラムの生成および生成した目的プログ
    ラムの前記目的プログラム保持部への出力を繰り返す目
    的プログラム生成部と、前記原始プログラム解析部、前
    記中間言語生成部および前記目的プログラム生成部を制
    御する制御部と を有する特徴とする中間言語テキストの再利用方式。
JP30534688A 1988-12-02 1988-12-02 中間言語テキストの再利用方式 Expired - Fee Related JPH0695309B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30534688A JPH0695309B2 (ja) 1988-12-02 1988-12-02 中間言語テキストの再利用方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30534688A JPH0695309B2 (ja) 1988-12-02 1988-12-02 中間言語テキストの再利用方式

Publications (2)

Publication Number Publication Date
JPH02151931A true JPH02151931A (ja) 1990-06-11
JPH0695309B2 JPH0695309B2 (ja) 1994-11-24

Family

ID=17944007

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30534688A Expired - Fee Related JPH0695309B2 (ja) 1988-12-02 1988-12-02 中間言語テキストの再利用方式

Country Status (1)

Country Link
JP (1) JPH0695309B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010198629A (ja) * 1998-10-10 2010-09-09 Internatl Business Mach Corp <Ibm> プログラムコード変換方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010198629A (ja) * 1998-10-10 2010-09-09 Internatl Business Mach Corp <Ibm> プログラムコード変換方法
US8006237B2 (en) 1998-10-10 2011-08-23 International Business Machines Corporation Program code conversion
US8037461B2 (en) 1998-10-10 2011-10-11 International Business Machines Corporation Program code conversion

Also Published As

Publication number Publication date
JPH0695309B2 (ja) 1994-11-24

Similar Documents

Publication Publication Date Title
JPH02151931A (ja) 中間言語テキストの再利用方式
JP3584204B2 (ja) 原始プログラム自動変換装置
JPH0588872A (ja) プログラム構造図作成処理システム
JPS63254533A (ja) レジスタ同値情報管理方式
JPS63156254A (ja) インタプリタにおける中間テキストの管理方法
JPH06222913A (ja) プログラム解析装置
JPH0498544A (ja) データ制約管理方式
JPH04241672A (ja) 文字列検索方式
JPH0540638A (ja) 語彙解析編集方式
JPH05257723A (ja) プログラム障害解析方式
JPH02308355A (ja) インタプリタにおける入力手続き管理方式
JPH08329095A (ja) リレーショナルデータベースにおけるデータ検索方式
JPH05233313A (ja) シンボルテーブル処理方式
JPH08234995A (ja) プログラム変換装置
JPH0449421A (ja) ファイル編集方式
JPH09198246A (ja) 関数呼出し状況の解析方法
JPH0540788A (ja) 文書フアイルの文字列検索結果出力方式
JPH0823867B2 (ja) 集合フアイルを利用した隣接検索方式
JPH0338745A (ja) データ一括処理方式
JPS63163530A (ja) プログラムリンク装置
JPH08305555A (ja) ジョブ制御言語用修正装置
JPH022465A (ja) Lsi設計システム
JPH0358225A (ja) ファイル編集方式
JPS63201833A (ja) 未解決ラベル参照解決方式
JPH0581008A (ja) 字下げ処理方式

Legal Events

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