JPH0399329A - 目的プログラム生成方式 - Google Patents

目的プログラム生成方式

Info

Publication number
JPH0399329A
JPH0399329A JP23597889A JP23597889A JPH0399329A JP H0399329 A JPH0399329 A JP H0399329A JP 23597889 A JP23597889 A JP 23597889A JP 23597889 A JP23597889 A JP 23597889A JP H0399329 A JPH0399329 A JP H0399329A
Authority
JP
Japan
Prior art keywords
program
intermediate code
objective
code
generation
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
JP23597889A
Other languages
English (en)
Inventor
Takao 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.)
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 JP23597889A priority Critical patent/JPH0399329A/ja
Publication of JPH0399329A publication Critical patent/JPH0399329A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は原始プログラムから目的プログラムを生成する
言語処理システムにおいて、解析済み中間コードを目的
プログラムに変換する目的プログラム生成方式に関する
ものである。
〔従来の技術〕
第3図は従来の目的プログラム生成方式の構成例を示し
たものであり、原始プログラムの各命令を目的プログラ
ム生成単位に変換した中間命令である解析済みの中間コ
ード11を格納した記憶装置1と、記憶装置1から中間
コード11を入力する中間コード入力手段3と、中間コ
ード入力手段3で入力した中間コードを解析して中間コ
ード対応目的プログラム生成手段群8から対応する中間
コード対応目的プログラム生成手段81.・・・を選択
する中間コード選択手段7と、中間コード選択手段7に
より選択された際に動作し、人力した中間コードを解析
してデータおよびレジスタ番号の設定等を行うと共に、
命令コード生成手段群9から個々の命令コードの種類に
対応する命令コード生成手段91.・・・の起動を行う
中間コード対応目的プログラム生成手段81.・・・と
、中間コード対応目的プログラム生成手段81.・・・
により起動されて動作し、命令コードを生成して目的プ
ログラム6を生成する命令コード生成手段91.・・・
とから構成されている。
第4図は上記の従来例の動作例を示したものであり、中
間コード11として ADD DATA−A、 DATA−B、 DATA−
Cが与えられた場合を想定している。なお、この中間コ
ードは、DATA−Aの値とDATA−Bの値とを加算
してDATA−Cの値とする命令である。
しかして、第3図および第4図において、中間コード入
力手段3は記憶装置1から中間コード11を入力しくス
テップS1)、中間コード選択手段7は入力した中間コ
ード11を解析し、“ADD”という命令を認識して中
間コード対応目的プログラム生成手段群8から対応する
中間コード対応目的プログラム生成手段、例えば84を
選択する(ステップ52)0選択された中間コード対応
目的プログラム生成手段84は、目的プログラムの可変
部の設定、すなわちレジスタGRIにレジスタ番号°“
1′を設定すると共にメモリアドレス参照MEMIにデ
ータ参照DATA−Aを対応させ(ステップS3)、続
いて命令コード生成手段群9から対応する命令コード生
成手段、例えば94を起動して LOAD GRI、MEMI という命令コードを生成させる(ステップS4)。
なお、この命令コードはメモリMBM1の値をレジスタ
GRIに転送することを内容とするものである。そして
、同様の処理を繰り返しくステップ35〜5IO)、入
力した中間コード11に対して最終的に LOAD GRI、MEMI LOAD  GR2,MEM2 ADD GRl、GR2 STORE GR2,MEM3 という内容のコードである目的プログラム6を生成する
。なお、第3行目の命令コードはレジスタGRIO値を
レジスタGR2の値に加えるものであり、第4行目の命
令コードはレジスタGR2の値をメモリMEM3に格納
するものである。
〔発明が解決しようとする課題〕
従来の目的プログラム生成方式は上述したように行われ
ており、目的プログラムの生成に関しては何ら問題がな
かったが、生成した目的プログラム6を実行する電子計
算機(ターゲットマシン)の変更や目的プログラム60
部分的な追加・変更に対して柔軟性に欠けるという欠点
があった。
すなわち、第3図および第4図に示した従来例では、レ
ジスタ番号やアドレス情報の設定および命令コードの生
成が中間コード対応目的プログラム生成手段81.・・
・および命令コード生成手段91、・・・内の手続きに
全て依存するため、ターゲットマシンの変更にあっては
中間コード対応目的プログラム生成手段群8および命令
コード生成手段群9を原始プログラムの段階から全て作
り直さなければならず、非常に手間がかかるものであっ
た。
また、目的プログラム6の部分的な追加・変更にあって
も、対応する中間コード対応目的プログラム生成手段お
よび命令コード生成手段を原始プログラムの段階から作
り直さなければならず、よって保守性が非常に悪いもの
であった。
本発明は上記の点に鑑み提案されたものであり、その目
的とするところは、ターゲットマシンの変更や目的プロ
グラムの部分的な追加・変更に対して容易に対処できる
目的プログラム生成方式を提供することにある。
〔課題を解決するための手段〕
本発明は上記の目的を達成するため、記憶装置から解析
済み中間コードを入力する中間コード入力手段と、 目的プログラム記述言語で記述されデータ定義部および
コード生成手続き部を有する複数の目的プログラム生成
プログラムを格納した記憶装置から、前記入力手段によ
り入力された中間コードに対応する目的プログラム生成
プログラムを選択する目的プログラム選択手段と、 選択された目的プログラム生成プログラムをインタブリ
ートして目的プログラムを生成する目的プログラム記述
言語インタプリタとを備えるようにしている。
〔作用〕
本発明の目的プログラム生成方式にあっては、中間コー
ド入力手段が記憶装置から解析済み中間コードを入力し
、目的プログラム選択手段が、目的プログラム記述言語
で記述されデータ定義部およびコード生成手続き部を有
する複数の目的プログラム生成プログラムを格納した記
憶装置から、入力手段により入力された中間コードに対
応する目的プログラム生成プログラムを選択し、目的プ
ログラム記述言語インタプリタが選択された目的プログ
ラム生成プログラムをインクブリートして目的プログラ
ムを生成する。
〔実施例〕
以下、本発明の実施例につき図面を参照して説明する。
第1図は本発明の目的プログラム生成方式の一実施例を
示す構成図である。第1図において、本実施例は、原始
プログラムの各命令を目的プログラム生成単位に変換し
た中間命令である解析済みの中間コード11を格納した
記憶装置lと、記憶装置1から中間コードエ1を入力す
る中間コード入力手段3と、目的プログラム記述言語で
記述されデータ定義部およびコード生成手続き部を有す
る複数の目的プログラム生成プログラム21を格納した
記憶装置2と、入力手段3により人力された中間コード
11に対応する目的プログラム生成プログラム21を選
択する目的プログラム選択手段4と、選択された目的プ
ログラム生成プログラム21をインタブリートして目的
フ゛ログラム6を生成する目的プログラム記述言語イン
タプリタ5とから構成されている。
第2図は第1図の実施例の動作例を示したものであり、
中間コード11として MOVB DATA−A DATA−Bが与えられた場
合を想定している。なお、この中間コードは、DATA
−Aの内容をDATA−Bの内容として転記する命令で
ある。
しかして、第1図および第2図において、中間コード人
力手段3は記憶装置1から中間コード11を入力しくス
テップS1)、目的プログラム選択手段4は中間コード
11を解析し、“’MOVE″という命令を認識して記
憶装置2から対応する目的プログラム生成プログラム2
1を選択する(ステップS2)。
ここで、目的プログラム生成プログラム21は“M O
V B ”命令に対して例えば図示のような記述となっ
ており、データ宣言部21aとコード生成手続き部21
bとを有している。すなわち、データ宣言部21aでは
パラメータPAPI、PAR2として受は渡されたデー
タDATA−A、DATA−Bを宣言文“D CL ”
によりトークンTOKEN−A、TOKEN−Bと対応
付けると共に、レジスタGRI、GR2,GR3にレジ
スタ番号を割り付ける。また、コード生成手続き部21
bでは、トークンTOKEN−Aが数字である場合とそ
れ以外とに分け、数字の場合はMVD TOKEN−A
 TOKEN−B。
を生成し、数字以外の場合には AGIP  G9LY”n”! LOAD  GR2,$LENGTH(TOKEN−^
);LO^D G)13.$LENGT)l(TOにU
N−B);?’1VLCL TOKEN−A(GR2)
、TOKEN−B(GR3)、GRI;を生成するよう
にしている。ここで、MVDは通常の転送命令であり、
MVLCLは括弧内で指定した長さ(LENGTH)の
データの転送命令である。ACIPは値を設定する命令
である。
次いで、選択された目的プログラム生成プログラム21
は目的プログラム記述言語インタプリタ5によりインタ
ブリート(翻訳および実行)され(ステップS3)、デ
ータDATA−A、DATA−Bが数字であるか否かに
よって、上記の目的プログラムに対応するコードが生成
され、目的プログラム6が生成される。
〔発明の効果〕
以上説明したように、本発明の目的プログラム生成方式
にあっては、目的プログラム生成プログラムを中間コー
ドに応じて選択し、インクブリートすることにより目的
プログラムを得るため、ターゲ、Iトマ・シン8座−す
ス福呑tごL土日的780グらム記述言語インタプリタ
等はそのままで目的プログラム生成プログラムを変更す
るだけでよく、この際、目的プログラム生成プログラム
は目的プログラム記述言語で記述されデータ定義部およ
びコード生成手続き部を有し構造が理解しやすいため、
変更(書き直し)が非常に簡単であり、対処が容易であ
るという効果がある。また、目的プログラムの部分的な
追加・変更に対しても同様に変更が簡単であり、対処が
容易である。
【図面の簡単な説明】
第1図は本発明の目的プログラム生成方式の一実施例を
示す構成図、 第2図は第1図の実施例の動作説明図、第3図は従来の
目的プログラム生成方式を示す構成図および、 第4図は第3図の従来例の動作説明図である。 図において、 ■・・・・・・・・・記憶装置 11・・・・・・中間コード 2・・・・・・・・・記憶装置 21・・・・・・目的プログラム生成プログラム21a
・・・データ宣言部 21b・・・コード生成手続き部 3・・・・・・・・・中間コード入力手段4・・・・・
・・・・目的プログラム選択手段5・・・・・・・・・
目的プログラム記述言語インクプリ6・・・・・・・・
・目的ブログラム タ

Claims (1)

  1. 【特許請求の範囲】 記憶装置から解析済み中間コードを入力する中間コード
    入力手段と、 目的プログラム記述言語で記述されデータ定義部および
    コード生成手続き部を有する複数の目的プログラム生成
    プログラムを格納した記憶装置から、前記入力手段によ
    り入力された中間コードに対応する目的プログラム生成
    プログラムを選択する目的プログラム選択手段と、 選択された目的プログラム生成プログラムをインタプリ
    ードして目的プログラムを生成する目的プログラム記述
    言語インタプリタとを備えたことを特徴とする目的プロ
    グラム生成方式。
JP23597889A 1989-09-12 1989-09-12 目的プログラム生成方式 Pending JPH0399329A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23597889A JPH0399329A (ja) 1989-09-12 1989-09-12 目的プログラム生成方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23597889A JPH0399329A (ja) 1989-09-12 1989-09-12 目的プログラム生成方式

Publications (1)

Publication Number Publication Date
JPH0399329A true JPH0399329A (ja) 1991-04-24

Family

ID=16994013

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23597889A Pending JPH0399329A (ja) 1989-09-12 1989-09-12 目的プログラム生成方式

Country Status (1)

Country Link
JP (1) JPH0399329A (ja)

Similar Documents

Publication Publication Date Title
JPH05197535A (ja) アプリケーション・プログラム・ステップのための対話式インタフェースを提供する表示画面パネルをダイナミックに生成するコンピュータ・システム
JPH0399329A (ja) 目的プログラム生成方式
Ichbiah et al. General concepts of the simula 67 programming language
Popović et al. PTB-FLA development paradigm adaptation for ChatGPT
Berthold et al. High-level process control in eden
JP3057904B2 (ja) ベクトル化方式
JP2554169B2 (ja) データ駆動型プロセッサの相対ランク解析方式
JPH04286031A (ja) プログラムのループ並列実行処理方法
López-Rubio Instruction set and language for chemical nomenclature
JPS63138427A (ja) 配列に対する命令のスケジユ−リング処理方式
JPH02230330A (ja) 推論装置
JPH04340628A (ja) ファジィ推論処理コンパイルシステム
JPH07129408A (ja) 言語処理プログラムの実行方式
JPH05224943A (ja) 原始プログラム変換装置
JPH0226244B2 (ja)
JPH03248230A (ja) パラメータ解析方式
JPH0264739A (ja) Do形並びに出力方式
JPH0291766A (ja) 制御依存解析方式
JPH0231208A (ja) プログラミングユニット
Terekhov et al. Academic vs. industrial software engineering: Closing the gap
JPH01270135A (ja) コンパイル変数引継方式
JPH03269638A (ja) レジスタ割り付け管理処理方式
JPS6162141A (ja) 論理型情報処理装置
JPH05233241A (ja) プログラム作成装置
JPS63280335A (ja) 言語処理システム