JPH02224133A - 分割コード生成方式 - Google Patents

分割コード生成方式

Info

Publication number
JPH02224133A
JPH02224133A JP4574989A JP4574989A JPH02224133A JP H02224133 A JPH02224133 A JP H02224133A JP 4574989 A JP4574989 A JP 4574989A JP 4574989 A JP4574989 A JP 4574989A JP H02224133 A JPH02224133 A JP H02224133A
Authority
JP
Japan
Prior art keywords
code
information
intermediate code
input
label
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
JP4574989A
Other languages
English (en)
Inventor
Kenjiro Nishiyama
西山 健二郎
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 JP4574989A priority Critical patent/JPH02224133A/ja
Publication of JPH02224133A publication Critical patent/JPH02224133A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、コンパイラ内で生成される中間コードを分割
して入力し、コード生成を行う分割コード生成方式に関
する。
(従来の技術) 従来、コンパイラ内で生成される中間コードを分割して
コード生成を行う方式としては、メモリ上に中間コード
を出力してコード生成を行う方式、あるいは中間コード
をファイルに出力して1個づつ読み込んでコード生成を
行う方式が採用されている。
(発明が解決しようとする課題) 上述した従来の中間コードをメモリに出力して分割コー
ドを生成する方式では、メモリ容量が多く必要となり、 (1) 大規模なプログラムを翻訳する場合、メモリ容
量が不足して翻訳できない。
(2) どうしても翻訳する場合は、ユーザがソースプ
ログラムを分割しなければならない。
また、中間コードをファイルに出力して1個づつ読み込
んでコードを生成する方式では、(1) 1個づつコー
ド生成するなめ、命令の共通化が行えなくて命令個数が
増大しプログラムの実行性能が低下する。
という欠点がある。
(課題を解決するための手段) 本発明による分割コード生成方式は、コンパイラ内でフ
ァイルに出力された中間コードと構文解析処理後にメモ
リ上に生成されるラベルの参照状態を示すラベル情報と
を入力して中間コードの情報が分割可能かどうかを判定
する入力/判定手段と、 前記入力/判定手段で分割可能と判定されたとき、今ま
でに作成した情報テーブルを基に最適なコード生成を行
うコード生成手段と、 前記コード生成手段で不要になった情報テーブルを初期
化する初期化手段とを有する。
(実施例) 次に、本発明の構成について図面を参照して説明する。
第1図は本発明による分割コード生成方式の一実施例を
示す構成図であり、入力/判定手段1、コード生成手段
2、初期化手段3、中間コード4、ラベル情報5、情報
テーブル6から構成されている。
第2図には入力/判定手段1の動作処理流れ図が示され
ており、中間コード4の入力11、ラベル12、ループ
内に存在13、ラベル情報5の入力14、他文から参照
あり15、入口者16、情報テーブル6の作成17の各
ステップから構成されている。
また、第3図に示す如く、コード生成手段2はコード生
成21のステップを有する。
更に、第4図に示す如く、初期化手段3は、不要情報テ
ーブルの初期化31のステップを含んでいる。
次に、本発明の動作について、図面を参照して説明する
利用者がコンパイラを起動してコンパイラ内の入力/判
定手段1が動作すると、既に生成されている中間コード
4の入力を行い(ステップ11)、入力した情報がラベ
ル情報かどうか判定しくステラ712)、ラベル情報で
なければ、入力した情報が入口者の情報かどうか判定す
る(ステップ16)0判定の結果、入口者でなければ入
力しな情報で情報テーブル6の作成(ステップ17)を
行い次の中間コード4の情報を入力する。
一方、ステップ16において入口者であると判定されれ
ば、コード生成手段2を起動させる。
ステップ12において入力した情報がラベル情報であれ
ば、この情報からラベルがループ内に存在するかどうか
判定しくステップ13)、ラベルがループ内に存在する
と判定されると、ステップ17において入力した情報で
情報テーブルの作成を行い次の中間コード4の情報を入
力する。
ステップ12において、ラベルがループ内に存在しない
と判定されると、ラベル情報5の入力を行い(ステップ
14)、ラベルが他文から参照ありかどうかを判定しく
ステップ15)、参照なしと判定された場合は、ステッ
プ17において入力した情報で情報テーブル6の作成を
行い、次の中間コード4の情報を入力する。他文からの
参照あつと判定された場合は、コード生成手段2を起動
させる。
コード生成手段2は、ステップ21において今までに生
成された情報テーブル6で最適なコード生成を行い初期
化手段3を起動する。
初期化手段3はステップ21によるコード生成後、ステ
ップ31において不要情報テーブルの初期化を行い人力
/判定手段1へ戻る。
このようにして、中間コード4を分割して入力してコー
ド生成を行う。
(発明の効果) 以上説明したように本発明は、中間コードを分割して入
力してコード生成を行うため、コンパイラが使用するメ
モリ容量が小さくて済むメモリ制約のある計算機システ
ムにおいて、大規模プログラムの翻訳が可能である分割
単位に最適なコード生成が行えるため、実行性能の低下
が防止できる等の効果がある。
【図面の簡単な説明】
第1図は本発明による分割二r−ド生成方式の一実施例
を示す構成図、第2図は第1図中の入力/判定手段1の
処理流れ図、第3図は第1図中のコード生成手段2の流
れ図、第4図は第1図中の初期化手段3の処理流れ図で
ある。 1・・・入力/判定手段、2・・・コード生成手段、3
・・・初期化手段、4・・・中間コード、5・・・ラベ
ル情報、6・・・情報テーブル。

Claims (1)

  1. 【特許請求の範囲】 コンパイラ内でファイルに出力された中間コードと構文
    解析処理、後にメモリ上に生成されるラベルの参照状態
    を示すラベル情報とを入力して中間コードの情報が分割
    可能かどうかを判定する入力/判定手段と、 前記入力/判定手段で分割可能と判定されたとき、今ま
    でに作成した情報テーブルを基に最適なコード生成を行
    うコード生成手段と、 前記コード生成手段で不要になった情報テーブルを初期
    化する初期化手段とを有することを特徴とする分割コー
    ド生成方式。
JP4574989A 1989-02-27 1989-02-27 分割コード生成方式 Pending JPH02224133A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4574989A JPH02224133A (ja) 1989-02-27 1989-02-27 分割コード生成方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4574989A JPH02224133A (ja) 1989-02-27 1989-02-27 分割コード生成方式

Publications (1)

Publication Number Publication Date
JPH02224133A true JPH02224133A (ja) 1990-09-06

Family

ID=12727955

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4574989A Pending JPH02224133A (ja) 1989-02-27 1989-02-27 分割コード生成方式

Country Status (1)

Country Link
JP (1) JPH02224133A (ja)

Similar Documents

Publication Publication Date Title
US8032873B2 (en) Computer program code size partitioning system for multiple memory multi-processing systems
KR20140006911A (ko) Fsm을 구현하기 위한 특수 목적 요소의 이용
JPH08314728A (ja) ソースプログラムをオブジェクトプログラムに変換する方法および装置
JPH08202545A (ja) ターゲット言語コードを生成するためのオブジェクト指向システム及びその方法
US5964861A (en) Method for writing a program to control processors using any instructions selected from original instructions and defining the instructions used as a new instruction set
JPH02224133A (ja) 分割コード生成方式
Gorlatch Stages and transformations in parallel programming
JP2006338190A (ja) 実装コード開発システム、及び実装コード開発プログラム
JPH09288580A (ja) ソースプログラムの最適化装置および最適化方法
JPS63115236A (ja) オブジエクト選択方式
JP2004021425A (ja) コンパイラにおけるメモリ配置方式
JPS58112127A (ja) デ−タ入力手段形成方式
JP2956591B2 (ja) ループ外への条件付き飛び出しがあるループの並列化方法及び装置
JP3370243B2 (ja) コンパイル方法及び装置
KR20180098213A (ko) 단계형 중간언어 변환 장치 및 방법
JPH04116721A (ja) システム定義ディレクティブの解析方式
JP3327634B2 (ja) プログラム変換装置、およびプログラム変換方法
JP2004046747A (ja) ベクトル化方式
JP3124000B2 (ja) 構造型の利用者定義演算のインライン展開装置
JPH0383140A (ja) 算術式展開方式
KR20180057317A (ko) 단계형 중간언어 변환 장치 및 방법
JPS62235643A (ja) プログラム言語トランスレ−タ
JP2848609B2 (ja) 論理回路変換方法及び装置
JPH01246643A (ja) エラーメッセージ出力方式
JPH02128224A (ja) 内部構造データ付加処理方法