JPH02222032A - 加減算命令の最適化方式 - Google Patents

加減算命令の最適化方式

Info

Publication number
JPH02222032A
JPH02222032A JP1043673A JP4367389A JPH02222032A JP H02222032 A JPH02222032 A JP H02222032A JP 1043673 A JP1043673 A JP 1043673A JP 4367389 A JP4367389 A JP 4367389A JP H02222032 A JPH02222032 A JP H02222032A
Authority
JP
Japan
Prior art keywords
addition
subtraction
data item
instruction
subtraction instruction
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
JP1043673A
Other languages
English (en)
Inventor
Keiko Ogawa
恵子 小川
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 Solution Innovators Ltd
Original Assignee
NEC Solution Innovators 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 NEC Solution Innovators Ltd filed Critical NEC Solution Innovators Ltd
Priority to JP1043673A priority Critical patent/JPH02222032A/ja
Publication of JPH02222032A publication Critical patent/JPH02222032A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は言語処理プログラムの加減算命令の目的プログ
ラムを生成する方式に関し、特に加減算命令を施す作用
対象として指定されたデータ項目(以下、加減算対象デ
ータ項目という)と実行結果格納用の作用対象として指
定されたデータ項目(以下、実行結果格納用データ項目
という)とが同一のデータ項目であるような加減算命令
の最適化方式に関する。
〔従来の技術〕
従来、計算機のプログラミング言語で記述された原始プ
ログラムを処理する言語処理プログラムでは、加減算の
実行結果を中間結果格納領域に求めた後に実行結果格納
用の作用対象として指定された実行結果格納用データ項
目に転記する加減算命令(以下、中間結果格納領域経由
型加減算命令という)に関しては、加減算対象データ項
目と実行結果格納用データ項目とが同一のデータ項目で
あるか否かにかかわらず、加減算対象データ項目の加減
算命令を行って実行結果を中間結果格納領域に求めた後
に、その実行結果を実行結果格納用データ項目に転記す
る目的プログラムを生成する方式になっていた。
〔発明が解決しようとする課題〕
上述した従来の中間結果格納領域経由型加減算命令に対
する目的プログラムの生成方式は、加減算対象データ項
目と実行結果格納用データ項目とが同一のデータ項目で
ある場合でも、中間結果格納領域に一度加減算の実行結
果を求めた後にその実行結果を実行結果格納用データ項
目に転記する目的プログラムを生成する方式であったの
で、余分な転記のための目的プログラムを生成するとい
う欠点がある。
本発明の目的は、上述の点に鑑み、加減算の実行結果を
実行結果格納用データ項目に直接求める加減算命令(以
下、直接型加減算命令という)に変換可能でありかつ加
減算対象データ項目の一方と実行結果格納用データ項目
とが同一のデータ項目であると判断された中間結果格納
領域経由型加減算命令を直接型加減算命令に変換して、
余分な転記のための目的プログラムを生成しないで済ま
すことができるようにした加減算命令の最適化方式を提
供することにある。
〔課題を解決するための手段〕
本発明の加減算命令の最適化方式は、言語処理プログラ
ムの加減算命令の目的プログラムを生成する方式におい
て、加減算の実行結果を中間結果格納領域に求めた後に
実行結果格納用の作用対象として指定された実行結果格
納用データ項目に転記する中間結果格納領域経由型加減
算命令が加減算の実行結果を実行結果格納用データ項目
に直接求める直接型加減算命令に変換可能でありかつ中
間結果格納領域経由型加減算命令を施す作用対象として
指定された加減算対象データ項目のうちの一方と実行結
果格納用データ項目とが同一のデータ項目であるかどう
かを検査する加減算命令検査手段と、この加減算命令検
査手段により中間結果格納領域経由型加減算命令が直接
型加減算命令に変換可能でありかつ加減算対象データ項
目のうちの一方と実行結果格納用データ項目とが同一の
データ項目であると判断されたときに中間結果格納領域
経由型加減算命令を直接型加減算命令に変換する加減算
命令変換手段とを有する。
〔作用〕
本発明の加減算命令の最適化方式では、加減算命令検査
手段が加減算の実行結果を中間結果格納領域に求めた後
に実行結果格納用の作用対象として指定された実行結果
格納用データ項目に転記する中間結果格納領域経由型加
減算命令が加減算の実行結果を実行結果格納用データ項
目に直接求める直接型加減算命令に変換可能でありかつ
中間結果格納領域経由型加減算命令を施す作用対象とし
て指定された加減算対象データ項目のうちの一方と実行
結果格納用データ項目とが同一のデータ項目であるかど
うかを検査し、加減算命令変換手段が加減算命令検査手
段により中間結果格納領域経由型加減算命令が直接型加
減算命令に変換可能でありかつ加減算対象データ項目の
うちの一方と実行結果格納用データ項目とが同一のデー
タ項目であると判断されたときに中間結果格納領域経由
型加減算命令を直接型加減算命令に変換する。
〔実施例〕
次に、本発明について図面を参照して詳細に説明する。
第1図は、本発明の一実施例に係る加減算命令の最適化
方式の構成を示すブロック図である0本実施例の加減算
命令の最適化方式は、字句解析処理部1.構文解析処理
部2.加減算命令検査手段31および加減算命令変換手
段32を含む意味解析処理部3ならびにコード生成処理
部5からなる言語処理プログラム6と、言語処理プログ
ラム6に入力される原始プログラム7と、言語処理プロ
グラム6から出力される目的プログラム8と、中間結果
格納領域経由型加減算命令動詞10を持つ中間結果格納
領域経由型加減算命令9と、直接型加減算命令動詞12
を持つ直接型加減算命令11とから構成されている。
第2図を参照すると、本実施例の加減算命令の最適化方
式における処理の要部は、四捨五入句有無検査ステップ
41と、桁あふれ条件句有無検査ステップ42と、実行
結果格納用データ項目1つ検査ステップ43と、加減算
対象データ項目2つ検査ステップ44と、算術演算子加
算/減算判定ステップ45と、データ型同一検査ステッ
プ46と、整数部桁数同一検査ステップ47と、小数部
桁数同一検査ステップ48と、割付はアドレス同一検査
ステップ49と、両加減算対象データ項目検査終了判定
ステップ410と、データ型同一検査ステップ411と
、整数部桁数同一検査ステップ412と、小数部桁数同
一検査ステップ413と、割付はアドレス同一検査ステ
ップ414と、直接型加減算命令生成処理ステップ41
5とからなる。
第3図は、プログラミング言語をC0BOL言語とした
場合の中間結果格納領域経由型加減算命令動詞10が持
つ情報を例示する図である。第3図中の“ROUNDE
D句の有無”は、利用者が記述した原始プログラム7中
の中間結果格納領域経由型加減算命令動詞lOに四捨五
入句が有るか否かを示し、“ [NOT]  ON  
5IZE  ERROR句の有無”は、中間結果格納領
域経由型加減算命令動詞10に桁あふれ条件句が有るか
否かを示す。
第4図は、加減算対象データ項目および実行結果格納用
データ項目の属性情、報を示す図である。
第4図中に示すデータ型は計算機が許すデータの内部表
現形式を示す情報、整数部桁数は利用者が記述した各デ
ータ項目の整数部の大きさを示す情報、小数部桁数は各
データ項目の小数部の大きさを示す情報、割付はアドレ
スは各データ項目が計算機の記憶領域のどこに割り付け
られているかを示す情報である。
次に、このように構成された本実施例の加減算命令の最
適化方式の動作について説明する。
言語処理プログラム6は、原始プログラム7を入力し、
字句解析処理部1により字句解析を行い構文解析処理部
2により構文解析を行って原始プログラム7が文法的に
正しいことを検査した後に、意味解析処理部3を起動す
る。
意味解析処理部3では、加減算命令検査手段31が、字
句解析および構文解析が終了した原始プログラム7 (
中間テキストの状態にある)中の中間結果格納領域経由
型加減算命令9を入力し、中間結果格納領域経由型加減
算命令動詞lOに四捨五入(ROUNDED)句がある
かないかを検査しくステップ41)、桁あふれ条件(O
N  31ZE  ERROR/NOT  ON  5
IZE  ERROR)句があるかないかを検査しくス
テップ42ン、実行結果格納用データ項目の数が1つで
あるかどうかを検査しくステップ43)、加減算対象デ
ータ項目の数が2つであるかどうかを検査して(ステッ
プ44)、中間結果格納領域経由型加減算命令9が直接
型加減算命令11に変換可能であるかどうかを判断する
ステップ41〜44の検査ですべての条件を満足したと
きには、加減算命令検査手段31は、中間結果格納領域
経由型加減算命令9が直接型加減算命令11に変換可能
であると判断し、算術演算子が+(加算)であるか−(
減算)であるかを判定する(ステップ45)、また、ス
テップ41〜44の検査で条件のいずれか1つでも満足
しないときには、加減算命令検査手段31は、中間結果
格納領域経由型加減算命令9が直接型加減算命令11に
変換可能でないと判断して処理を終了する。
ステップ45の判定で算術演算子が十であるときには、
加減算命令検査手段31は、実行結果格納用データ項目
のデータ型と加減算対象データ項目のうちのいずれか一
方のデータ型とが同じかどうかを検査しくステップ46
)、実行結果格納用データ項目の整数部桁数と加減算対
象データ項目のうちのいずれか一方の整数部桁数とが同
じかどうかを検査しくステップ47)、実行結果格納用
データ項目の小数部桁数と加減算対象データ項目のうち
のいずれか一方の小数部桁数とが同じかどうかを検査し
くステップ48)、実行結果格納用データ項目の割付は
アドレスと加減算対象データ項目のうちのいずれか一方
の割付はアドレスとが同じかどうかを検査して(ステッ
プ49)、ステップ46〜49の検査ですべての条件を
満足したときには実行結果格納用データ項目と加減算対
象データ項目の一方とが同一のデータ項目であると判断
する。また、加減算命令検査手段31は、ステップ46
〜49の検査で条件のいずれか1つでも満足しないとき
には、2つの加減算対象データ項目についての検査が終
了したか否かを判定しくステップ410)、終了してい
なかった場合にはステップ46に制御を戻し、終了して
いた場合には実行結果格納用データ項目と加減算対象デ
ータ項目の一方とが同一のデータ項目でないと判断して
処理を終了する。
一方、ステップ45の判定で算術演算子が−であるとき
には、加減算命令検査手段31は、実行結果格納用デー
タ項目のデータ型と加減算対象データ項目のうちの被減
算対象データ項目のデータ型とが同じかどうかを検査し
くステップ411)、実行結果格納用データ項目の整数
部桁数と加減算対象データ項目のうちの被減算対象デー
タ項目の整数部桁数とが同じかどうかを検査しくステッ
プ412)、実行結果格納用データ項目の小数部桁数と
加減算対象データ項目のうちの被減算対象データ項目の
小数部桁数とが同じかどうかを検査しくステップ413
)、実行結果格納用データ項目の割付はアドレスと加減
算対象データ項目のうちの被減算対象データ項目の割付
はアドレスとが同しかどうかを検査して(ステップ41
4)、ステップ411〜414の検査ですべての条件を
満足したときには実行結果格納用データ項目と加減算対
象データ項目のうちの被減算対象データ項目とが同一の
データ項目であると判断とする。また、加減算命令検査
手段31は、ステップ411〜414の検査で条件のい
ずれか1つでも満足しないときには実行結果格納用デー
タ項目と加減算対象データ項目のうちの被減算対象デー
タ項目とが同一のデータ項目でないと判断して処理を終
了する。
ステップ41〜44の検査を経て中間結果格納領域経由
型加減算命令9が直接型加減算命令11に変換可能であ
り、かつステップ46〜410またはステップ411〜
414の検査を経て実行結果格納用データ項目と加減算
対象データ項目の一方とが同一のデータ項目であると判
断すると、加減算命令検査手段31は加減算命令変換手
段32に制御を渡し、加減算命令変換手段32は、中間
結果格納領域経由型加減算命令動詞10を持つ中間結果
格納領域経由型加減算命令9を直接型加減算命令動詞1
2を持つ直接型加減算命令11に変換して出力する(ス
テップ415)。
また、中間結果格納領域経由型加減算命令9が直接型加
減算命令11に変換可能でないか、あるいは実行結果格
納用データ項目と加減算対象データ項目の両方または一
方とが同一のデータ項目でないと判断すると、加減算命
令検査手段31は、中間結果格納領域経由型加減算命令
9を変換させずにそのまま出力する。
この後、言語処理プログラム6は、コード生成処理部5
を起動し、中間結果格納領域経由型加減算命令9または
直接型加減算命令11に対する目的プログラム8を出力
する。
第5図は、加減算対象データ項目の一方と実行結果格納
用データ項目とが同一のデータ項目である場合の従来の
方式による目的プログラムと本実施例の加減算命令の最
適化方式による目的プログラムとの具体例を対比して示
す図である。第5図を参照すると、原始プログラム7の
ソース記述がC0MPUTE  A  =  A  十
 B、”である場合には、本実施例によれば、従来の方
式に比べて、加減算対象データ項目”A”から言語処理
プログラム6が用意した中間結果格納領域“T#1”へ
の転記“MOVE″と中間結果格納領域“T#1”から
実行結果格納用データ項目“A”への転記“MOVE“
との2つの余分な転記のための目的プログラムを生成せ
ずに済ますことができることがわかる。
〔発明の効果〕
以上説明したように本発明は、直接型加減算命令に変換
可能でありかつ加減算対象データ項目の一方と実行結果
格納用データ項目とが同一のデータ項目であると判断さ
れた中間結果格納領域経由型加減算命令を直接型加減算
命令に変換することにより、余分な転記のための目的プ
ログラムを生成せずに済ますことができるという効果が
ある。
【図面の簡単な説明】
第1図は本発明の一実施例に係る加減算命令の最適化方
式の構成を示すブロック図、 第2図は本実施例の加減算命令の最適化方式における処
理の要部を示す流れ図、 第3図はプログラミング言語をC0BOL言語とした場
合の中間結果格納領域経由型加減算命令動詞が持つ情報
を例示する図、 第4図は加減算対象データ項目および実行結果格納用デ
ータ項目の属性情報を示す図、第5図は加減算対象デー
タ項目の一方と実行結果格納用データ項目とが同一のデ
ータ項目である場合の従来の方式による目的プログラム
と本実施例の加減算命令の最適化方式による目的プログ
ラムとの具体例を対比して示す図である。 図において、 l・・・字句解析処理部、 2・・・構文解析処理部、 3・・・意味解析処理部、 5・・・コード生成処理部、 6・・・言語処理プログラム、 7・・・原始プログラム、 8・・・目的プログラム、 9・・・中間結果格納領域経由型加減算命令、10・・
中間結果格納領域経由型加減算命令動詞、 11・・直接型加減算命令、 12・・直接型加減算命令動詞、 31・・加減算命令検査手段、 32・・加減算命令変換手段である。

Claims (1)

  1. 【特許請求の範囲】 言語処理プログラムの加減算命令の目的プログラムを生
    成する方式において、 加減算の実行結果を中間結果格納領域に求めた後に実行
    結果格納用の作用対象として指定された実行結果格納用
    データ項目に転記する中間結果格納領域経由型加減算命
    令が加減算の実行結果を実行結果格納用データ項目に直
    接求める直接型加減算命令に変換可能でありかつ中間結
    果格納領域経由型加減算命令を施す作用対象として指定
    された加減算対象データ項目のうちの一方と実行結果格
    納用データ項目とが同一のデータ項目であるかどうかを
    検査する加減算命令検査手段と、 この加減算命令検査手段により中間結果格納領域経由型
    加減算命令が直接型加減算命令に変換可能でありかつ加
    減算対象データ項目のうちの一方と実行結果格納用デー
    タ項目とが同一のデータ項目であると判断されたときに
    中間結果格納領域経由型加減算命令を直接型加減算命令
    に変換する加減算命令変換手段と を有することを特徴とする加減算命令の最適化方式。
JP1043673A 1989-02-23 1989-02-23 加減算命令の最適化方式 Pending JPH02222032A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1043673A JPH02222032A (ja) 1989-02-23 1989-02-23 加減算命令の最適化方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1043673A JPH02222032A (ja) 1989-02-23 1989-02-23 加減算命令の最適化方式

Publications (1)

Publication Number Publication Date
JPH02222032A true JPH02222032A (ja) 1990-09-04

Family

ID=12670359

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1043673A Pending JPH02222032A (ja) 1989-02-23 1989-02-23 加減算命令の最適化方式

Country Status (1)

Country Link
JP (1) JPH02222032A (ja)

Similar Documents

Publication Publication Date Title
JP2000347872A (ja) 例外を正規制御フローとして処理する方法及び装置
JP3318051B2 (ja) 翻訳処理方法
JPH02222032A (ja) 加減算命令の最適化方式
JPS5922140A (ja) 対話型コンパイル方式
JP2778025B2 (ja) 共起関係辞書の学習方法
JP2539070B2 (ja) コンパイラ処理装置
JPH1040089A (ja) データ移行プログラム生成方式
JP2507676B2 (ja) 索引入出力文実行処理方式
JP2527055B2 (ja) タスク内共有変数検出処理方式
JPH02178845A (ja) データベース操作言語のプリコンパイル方式
JPH07244601A (ja) 関係データベースのアクセス方法および装置
JPH01230132A (ja) ジェネレータ
JPH04248624A (ja) プログラム変換処理装置
JPH02197925A (ja) Evaluate命令の記憶領域削減型基本命令展開方式
JPH0431933A (ja) 原始プログラム解析装置
JPH04107738A (ja) リテラルの最適化割り付け方式
JPH0383140A (ja) 算術式展開方式
JPH04257029A (ja) エディタ
JPH0426748B2 (ja)
US20060225063A1 (en) Method for configuring non-script language library files to be run as scripts
JPS63138426A (ja) プログラム生成方式
JPS6162141A (ja) 論理型情報処理装置
JPH0250730A (ja) 共通機械語による言語変換方式
JPH01226038A (ja) テストプログラム自動生成方法
JPH03123937A (ja) ファイル記述形式変換方法