JPS62163145A - コンパイラ装置 - Google Patents

コンパイラ装置

Info

Publication number
JPS62163145A
JPS62163145A JP421886A JP421886A JPS62163145A JP S62163145 A JPS62163145 A JP S62163145A JP 421886 A JP421886 A JP 421886A JP 421886 A JP421886 A JP 421886A JP S62163145 A JPS62163145 A JP S62163145A
Authority
JP
Japan
Prior art keywords
register
program
compiler
attribute table
mpu
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
JP421886A
Other languages
English (en)
Inventor
Kunio Ito
伊藤 邦夫
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.)
Omron Corp
Original Assignee
Omron Tateisi Electronics Co
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 Omron Tateisi Electronics Co filed Critical Omron Tateisi Electronics Co
Priority to JP421886A priority Critical patent/JPS62163145A/ja
Publication of JPS62163145A publication Critical patent/JPS62163145A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 発明の要約 複数のターゲットMPU (CPU)のそれぞれについ
てそれらが有するレジスタに関する属性を記憶したテー
ブルを設け、指定されたターゲットMPUに対応する属
性テーブルから読込んだ情報をもとに処理を行なうこと
によって、コンパイラにおけるレジスタ管理に関する部
分の汎用化を図るとともに、レジスタ属性テーブルの修
正のみでレジスタ割当てに関する仕様変更に対処でき、
コンパイラ開発の効率化を達成できる。
発明の背景 この発明は、高水準言語で作成されたソース・プログラ
ムをオブジェクト・プログラムに翻訳するコンパイラ装
置に関する。
従来、コンパイラはターゲットとなるMPU(中央処理
装置)の属性に依存する部分が多く。
特にそのMPUが有するレジスタの割当ては各ターゲッ
トMPUごとに違い、またコンパイラ作成中にレジスタ
割当ての仕様変更が起ると、コンパイラのソースそのも
のを変更しなければならないために、各ターゲットMP
Uごと、仕様変更が起るたびにコンパイラを作成しなけ
ればならなかった。
しかし、このようなやり方では対象となる夕一ゲラl−
M P Uの種類が多くなれば開発に要する期間が長く
なるため、複数のターゲットMPUが有するレジスタ割
当ての管理や、仕様変更にも対処できる汎用的なコンパ
イラの開発が強く望まれていた。
発明の概要 この発明は上記の実情に鑑み、1つの構文解析部で複数
のターゲットMPUのレジスタ管理を扱うことができ、
これによってコンパイラ開発におけるリード・タイムの
短縮および効率化を計ることができるコンパイラ装置を
提供することを目的とする。
この発明は、高水準言語で作成されたソース・プログラ
ムを再編集してオブジェクト・プログラムを作成するコ
ンパイラ装置において、複数のターゲットMPUのそれ
ぞれについてそれらが有するレジスタの属性を記憶して
いるレジスタ属性テーブルと1選択指定されたターゲラ
l−M P Uに対応する前記レジスタ属性テーブルか
ら前記ターゲットMPUが有するレジスタの属性を読み
出してソース・プログラムの構文を解析する構文解析部
とを備えたことを特徴とする。
このような構成によって、この発明によると。
ターゲットMPUが変っても、またレジスタ割当ての仕
様に変更があっても構文解析部のレジスタに関する処理
部分を変更する必要がなくなり、コンパイラ装置の1つ
の構文解析部で複数のターゲットMPUの有するレジス
タの管理を行うことができ、コンパイラ開発におけるリ
ード・タイムの短縮化、効率化を図ることができる。
実施例の説明 第1図はこの発明によるコンパイラの一実施例を示すブ
ロック図である。この図に示すコンパイラ1は、操作者
がターゲットMPUの名称を入力したときに、ソース・
プログラム2をこのターゲットMPU用のオブジェクト
・プログラム生成部5に渡すべき中間コード・プログラ
ム3に変換するために、構文解析部4と、レジスタ属性
テーブル6とを備えている。オブジェクト・プログラム
生成部5からオブジェクト・プログラム7が出力される
レジスタ属性テーブル6は、複数の各ターゲットMPU
毎に、そのMPUが有するレジスタに対応させて、その
サイズと用途タイプに関するデータとを記憶しているも
のであり、実際のレジスタとの対応は、テーブルのイン
デックスによってとられる。
モトローラ系の68000を例にとった場合のレジスタ
属性テーブルが第2図に示されている。
各レジスタの属性は同図に示されている。第2図におい
て「4」はバイト・・サイズを示す。また。
たとえばi、i、iというのはデータ・タイプのレジス
タ変数が3つ割り当て可能ということを意味する。「使
用不可」というのは、生成部5で演算レジスタなどとし
て使用されるためにレジスタ変数に割り当てることがで
きないという意味である。
構文解析部4はレジスタ属性テーブル6から供給される
レジスタ属性データにより高水準言語。
例えばC,FORTRAN、ALGOL、PLハなどで
作られたソース・プログラム2に対して、適切なレジス
タ割当てを行い、ソース・プログラムをオブジェクト・
プログラム生成部5に渡すべき中間コード・プログラム
3に変換するものである。
この構文解析部4におけるレジスタ割当てに関する処理
は次に述べるように行われる。
1、ソース・プログラム2の中で、レジスタ変数の宣言
がされであると、その変数に関する情報を得た後、たと
えば外部レジスタでポインタ変数ならば、レジスタ属性
テーブル6の中のreJをサーチし9発見すればそのサ
イズのチェックを行い、レジスタの割当てが可能と判断
すればそのインデックスをその変数に割当てた後、レジ
スタ属性テーブル6のreJをruJすなわち「使用済
み」に変える。ruJとすることによってそのレジスタ
は他の変数に割当てられることはなくなる。
他のレジスタ変数の宣言の場合も上記と同様の処理が行
なわれる。但し、宣言されたレジスタ変数の有効範囲外
へ出たときは、レジスタ属性テ−プル6のデータは初期
値にもどしておく。
2.モトローラ系の6809のAレジスタ、Bレジスタ
のように2つ合せて1つのレジスタとして使用可能な場
合は、Aレジスタに関するデータとしてrdJを持たせ
ると、Aレジスタだけではサイズが不足する場合でも1
次のレジスタ(Bレジスタ)の情報をサーチし2両者と
も使用可で割当て可能な場合は、Aレジスタ、Bレジス
タをその変数rdJに割当て両者のレジスタ属性テーブ
ル6のデータをruJとする。
3、引数用のレジスタに関しては1割当てた後、そのレ
ジスタのレジスタ属性テーブル6のデータをruJとは
せずそのままにしておく以外は、上記1.と同じである
以上がレジスタ属性テーブルの処理の説明であり、構文
解析部4は一ヒ記処理および一般的な処理によって、ソ
ース・プログラムを、ターゲットMPUに対応したオブ
ジェクト・プログラム生成部5に渡すべき中間コード・
プログラム3に変換する。
【図面の簡単な説明】
第1図はこの発明によるコンパイラの一実施例を示すブ
ロック図、第2図はこの実施例におけるレジスタ属性テ
ーブルの一例を示すものである。 1・・・コンパイラ。 2・・・ソース−プログラム。 3・・・オブジェクト・プログラム生成部に渡すべき中
間コード・プログラム。 4・・・構文解析部。 5・・・オブジェクト・プログラム生成部。 6・・・レジスタ属性テーブル。 以  」二 特許出願人  立石電機株式会社 代 理 人   弁理士 牛 久 健 司(外1名)

Claims (1)

    【特許請求の範囲】
  1. 高水準言語で作成されたソース・プログラムを再編集し
    てオブジェクト・プログラムを作成するコンパイラ装置
    において、複数のターゲット中央処理装置のそれぞれに
    ついてそれらが有するレジスタの属性を記憶しているレ
    ジスタ属性テーブルと、選択されたターゲット中央処理
    装置に対応する前記レジスタ属性テーブルから前記ター
    ゲット中央処理装置が有するレジスタの属性を読み出し
    てソース・プログラムの構文を解析する構文解析部とを
    備えたことを特徴とするコンパイラ装置。
JP421886A 1986-01-14 1986-01-14 コンパイラ装置 Pending JPS62163145A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP421886A JPS62163145A (ja) 1986-01-14 1986-01-14 コンパイラ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP421886A JPS62163145A (ja) 1986-01-14 1986-01-14 コンパイラ装置

Publications (1)

Publication Number Publication Date
JPS62163145A true JPS62163145A (ja) 1987-07-18

Family

ID=11578471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP421886A Pending JPS62163145A (ja) 1986-01-14 1986-01-14 コンパイラ装置

Country Status (1)

Country Link
JP (1) JPS62163145A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269569A (ja) * 2007-03-27 2008-11-06 Matsushita Electric Ind Co Ltd コード変換装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269569A (ja) * 2007-03-27 2008-11-06 Matsushita Electric Ind Co Ltd コード変換装置
US8392905B2 (en) 2007-03-27 2013-03-05 Panasonic Corporation Compiling apparatus

Similar Documents

Publication Publication Date Title
US6832369B1 (en) Object oriented method and apparatus for class variable initialization
US5287444A (en) Message processing system
US6286133B1 (en) Method and apparatus for strategic compilation of source programs into two or more target languages
JP2000035893A (ja) デ―タ処理システムの配列の静的初期化方法、デ―タ処理方法、並びにデ―タ処理システム及びその制御手順をコンピュ―タに実行させるプログラムを記憶したコンピュ―タ読み取り可能な記憶媒体
US6175935B1 (en) Software debugging method and recording medium to which debugging program has been recorded
JPS62163145A (ja) コンパイラ装置
US9274929B2 (en) Constraint derivation in context following for use with object code insertion
JP3239907B2 (ja) レジスタ割り付け方式
JPH0667871A (ja) プログラム自動更新方式
JPS6234240A (ja) デ−タ割付け方式
JP3192177B2 (ja) オブジェクト処理装置
JPH07105013A (ja) レジスタ割り付け方式
JP2000029716A (ja) レジスタ割り付け方法
JPH0695890A (ja) コンパイラにおける名前置換方式
JPH05241851A (ja) 定数最適割り付け方式
CN117892836A (zh) 支持多后端计算硬件的深度学习机器指令生成方法及装置
JP2001101028A (ja) 並列プログラム開発支援装置および並列プログラム開発支援方法ならびに該方法を記録した記録媒体
JPH07239789A (ja) データコード処理方式
WO1997007452A1 (en) Programmable compiler
JPH06324882A (ja) コンパイラ装置
JPH0371233A (ja) コンパイラにおける最適データ割付け方式
JPH02171831A (ja) コンパイラのデータ接近方式
JPH06282443A (ja) プログラム編集方法と装置
JPH0373026A (ja) コンパイル方式
JPH05216683A (ja) 非言語依存のファイル化手順自動生成方法