JPH0383140A - 算術式展開方式 - Google Patents

算術式展開方式

Info

Publication number
JPH0383140A
JPH0383140A JP22101889A JP22101889A JPH0383140A JP H0383140 A JPH0383140 A JP H0383140A JP 22101889 A JP22101889 A JP 22101889A JP 22101889 A JP22101889 A JP 22101889A JP H0383140 A JPH0383140 A JP H0383140A
Authority
JP
Japan
Prior art keywords
instruction
data type
basic
instructions
data
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
JP22101889A
Other languages
English (en)
Inventor
Isao Taguchi
功 田口
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 JP22101889A priority Critical patent/JPH0383140A/ja
Publication of JPH0383140A publication Critical patent/JPH0383140A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は言語処理プログラムにおける算術式展開方式に
関し、特に中間結果領域を使用した算術式展開方式に関
する。
〔従来の技術〕
従来、原始プログラム中算術式(原始プログラムにおけ
る算術式であることを明確にするために原始プログラム
中算術式という。これに対して、原始プログラム中算術
式の字句解析や構文解析等の結果により生成される算術
式を単に算術式という〉を記述できるプログラム言語で
記述された原始プログラム中算術式に基づく算術式を基
本命令の並びに展開する際に生成される中間結果領域に
はデータ型属性を持たせることはできず(中間結果領域
の識別番号のみを持たせることができた)、中間結果領
域は常にあらかじめ決められたデータ型属性であるもの
として処理されていた。
〔発明が解決しようとする課題〕
上述した従来の算術式展開方式では、算術式を基本命令
の並びに展開する際に生成される中間結果領域にはデー
タ型属性を持たせることはできず、中間結果領域は常に
あらかじめ決められたデータ型属性であるものとして処
理されているので、算術式の作用対象(当該算術式に基
づく基本命令の作用対象)があらかじめ決められたデー
タ型属性以外のデータ型属性を持つときに、余分なデー
タ型変換命令を生成しなければならないという欠点があ
る。
本発明の目的は、上述の点に鑑み、算術式を基本命令の
並びに展開する際に余分なデータ型変換命令を生成する
必要がなくなる算術式展開方式を提供することにある。
〔課題を解決するための手段〕
本発明の算術式展開方式は、原始プログラム中算術式に
基づく算術式を中間結果領域を使用した基本命令の並び
に展開する算術式展開方式において、算術式をデータ型
属性を持たない中間結果領域を使用した基本命令の並び
に展開する基本命令展開手段と、この基本命令展開手段
により出力された基本命令によって示される演算が除算
および巾乗算のいずれでもない場合に当該基本命令の中
間結果領域のデータ型属性を当該基本命令の作用対象の
データ型属性に基づいて決定し当該基本命令をデータ型
付き基本命令に変換するデータ型属性決定手段と、この
データ型属性決定手段により生成された当該データ型付
き基本命令の中間結果領域のデータ型属性等に基づいて
当該データ型付き基本命令の2項演算命令の命令型を決
定し当該データ型付き基本命令をデータ型付き命令型付
き基本命令に変換する命令型決定手段とを有する。
〔作用〕
本発明の算術式展開方式では、基本命令展開手段が算術
式をデータ型属性を持たない中間結果領域を使用した基
本命令の並びに展開し、データ型属性決定手段が基本命
令展開手段により出力された基本命令によって示される
演算が除算および巾乗算のいずれでもない場合に当該基
本命令の中間結果領域のデータ型属性を当該基本命令の
作用対象のデータ型属性に基づいて決定し当該基本命令
をデータ型付き基本命令に変換し、命令型決定手段がデ
ータ型属性決定手段により生成された当該データ型付き
基本命令の中間結果領域のデータ型属性等に基づいて当
該データ型付き基本命令の2項演算命令の命令型を決定
し当該データ型付き基本命令をデータ型付き命令型付き
基本命令に変換する。
〔実施例〕
次に、本発明について図面を参照して説明する。
第1図は、本発明の算術式展開方式の一実施例を含む言
語処理方式の構成を示すブロック図である。この言語処
理方式は、原始プログラム1と、言語処理プログラム2
と、目的プログラム12と、算術式13と、基本命令1
4と、データ型付き基本命令15と、データ型付き命令
型付き基本命令16とを含んで構成されている。
言語処理プログラム2は、字句解析処理部3と、構文解
析処理部4と、意味解析処理部5と、コード生成処理部
10と、目的プログラム出力処理部11とを含んで構成
されている。
意味解析処理部5内の算術式展開処理部6(本実施例の
算術式展開方式を実現する処理部)は、基本命令展開手
段7と、データ型属性決定手段8と、命令型決定手段9
とを含んで構成されている。
基本命令14は、2項演算命令(この2項演算命令は、
第1作用対象と第2作用対象との間で2項演算を行い、
その演算結果を第3作用対象に設定する命令である)と
、3つの作用対象(第1作用対象、第2作用対象および
第3作用対象)とから戒り立っており、第3作用対象と
して中間結果領域が使用されている(作用対象の数およ
び中間結果領域が使用される作用対象の数は限定される
ものではない)。
データ型付き基本命令15は、第3作用対象である中間
結果領域にデータ型属性情報を持つ基本命令である。
データ型付き命令型付き基本命令16は、細分類された
2項演算命令(データ型属性の要素を持った2項演算命
令)である命令型付き2項演算命令を持つ基本命令であ
る。
第2図は、データ型付き基本命令が生成される際にデー
タ型属性決定手段8により参照される(データ型属性決
定手段8に記憶されている)データ型属性対応表の一例
を示す図である。
このデータ型属性対応表は、基本命令14の2項演算命
令の第1作用対象および第2作用対象の2つの作用対象
のデータ型属性の組合せによって決まる中間結果領域(
第3作用対象)のデータ型属性を示している。ここで、
「COMPJは10進データ項目のデータ型属性を示し
ており、rcOMP−1」は単精度2進データ項目のデ
ータ型属性を示しており、rcOMP−2Jは倍精度2
進データ項目のデータ型属性を示している。第1作用対
象および第2作用対象のデータ型属性が共に「COMP
−IJの場合には、有効桁数を考慮して中間結果領域の
データ型属性はrcOMP−2Jに設定される。
第3図を参照すると、データ型属性決定手段8による中
間結果領域のデータ型属性の決定処理は、2項演算命令
判定ステップ81と、除算・巾乗算判定ステフプ82と
、第1作用対象データ型属性判定ステップ83と、第2
作用対象データ型属性判定ステップ84と、第1作用対
象データ型属性rcOMP−2」決定ステップ85と、
第1作用対象データ型属性rcOMPJ決定ステップ8
6とからなる。
次に、このように構成された本実施例の算術式展開方式
を含む言語処理方式の動作について説明する。
言語処理プログラム2は、原始プログラム中算術式を有
する原始プログラムlを入力し、字句解析処理部3およ
び構文解析処理部4において原始プログラム1の構文的
な正しさのチエツク等を行い(原始プログラム中算術式
に基づく算術式13の生成も行う)、その後に意味解析
処理部5を起動する。
意味解析処理部5は、意味解析処理の過程で算術式展開
処理部6を起動する。
算術式展開処理部6は、算術式13が意味的に正しいこ
とをチエツクし、基本命令展開手段7を起動する。
基本命令展開手段7は、算術式13(意味的に正しいこ
とがチエツクされた算術式13)を人力し、2項演算命
令と3つの作用対象とからなる基本命令14を含む基本
命令の並びに展開して出力し、算術式展開処理部6に制
御を戻す。
算術式展開処理部6は、データ型属性決定手段8を起動
する。
データ型属性決定手段8は、以下に示すような処理を行
う(第3図参照)。
まず、基本命令の並びの中の基本命令を入力し、当該基
本命令が2項演算命令に係るものであるか否かを判定す
る(ステップ81)。
この判定で当該基本命令が2項演算命令に係るものであ
る場合には、当該基本命令が除算または巾乗算を示す命
令であるか否かを判定する(ステップ82〉。
この判定で当該基本命令が除算または巾乗算を示す命令
でない場合には(この場合の当該基本命令が基本命令1
4であるものとする)、第2図に示すデータ型属性対応
表に基づいて中間結果領域データ型属性決定処理を行う
すなわち、基本命令14の第1作用対象のデータ型属性
がrcOMP−IJであるか否かを判定する(ステップ
83)。
この判定で基本命令14の第1作用対象のデータ型属性
がrcOMP−IJである場合には、基本命令14の第
2作用対象のデータ型属性がrCQMP−1」であるか
否かを判定する(ステップ84)。
この判定で基本命令14の第2作用対象のデータ型属性
がrcOMP−IJである場合には、中間結果N域であ
る第3作用対象のデータ型属性を「COMP−2Jと決
定する(第2図参照)(ステップ85〉。
ステップ83の判定で基本命令14の第1作用対象のデ
ータ型属性がrcOMP−IJ基以外ある場合またはス
テップ84の判定で基本命令14の第2作用対象のデー
タ型属性がrcOMP−IJ基以外ある場合には、中間
結果H域である第3作用対象のデータ型属性をrcOM
PJと決定する(第2図参照) (ステップ86)。
ステップ81の判定で当該基本命令が2項演算命令に係
るものでない場合またはステップ82の判定で当該基本
命令が除算または巾乗算を示す命令である場合には、中
間結果領域データ型属性決定処理を行わない(基本命令
が除算または中乗算を示す命令である場合にはデータ型
属性を特定することが困難であるので、中間結果領域デ
ータ型属性決定処理が行われない)。
データ型属性決定手段8は、以上のような中間結果領域
データ型属性決定処理により決定されたデータ型属性を
示すデータ型属性情報を有するデータ型付き基本命令1
5を生成する(基本命令14をデータ型付き基本命令1
5に変換する)。
上述のような処理を全ての基本命令を対象として行い、
データ型付き基本命令15を含む基本命令の並びを出力
すると、データ型属性決定手段8は算術式展開処理部6
に制御′nを戻す。
算術式展開処理部6は、命令型決定手段9を起動する。
命令型決定手段9は、データ型属性決定手段8により出
力された基本命令の並びの中のデータ型付き基本命令1
5等のデータ型付き基本命令(以下、データ型付き基本
命令15を対象として説明する)を入力し、第1作用対
象、第2作用対象および中間結果領域である第3作用対
象の3つの作用対象のデータ型属性の組合せに基づいて
2項演算命令を細分類しく2項演算命令の命令型を決定
し)、2項演算命令を命令型付き2項演算命令(データ
型属性の要素を持つ2項演算命令)に変換し、この変換
に基づいてデータ型付き命令型付き基本命令16を生威
する(データ型付き基本命令15をデータ型付き命令型
付き基本命令16に変換する〉。
上述のような処理を全てのデータ型付き基本命令を対象
として行い、データ型付き命令型付き基本命令16を含
む基本命令の並びを出力すると、命令型決定手段9は算
術式展開処理部6および意味解析処理部5を介して言語
処理プログラム2に制御を戻す。
言語処理プログラム2は、コード生成処理部10を起動
する。
コード生成処理部10は、命令型決定手段9により出力
されたデータ型付き命令型付き基本命令16を含む基本
命令の並びに基づいて機械語のコード群を生威し、言語
処理プログラム2に制御を戻す。
言語処理プログラム2は目的プログラム出力処理部11
を起動し、目的プログラム出力処理部11はコード生成
処理部10により生成された機械語のコード群に基づい
て目的プログラム12を出力する。
次に、本実施例の算術式展開方式の具体的な動作につい
て第4図を参照して説明する。
第4図は、C0BOLプログラム(COBOLで記述さ
れた原始プログラム1)41内の原始プログラム中算術
式43等に基づいてデータ型付き命令型付き基本命令の
並び(データ型付き命令型付き基本命令を含む基本命令
の並び)47が生成される態様を示す図である。
C0BOLプログラム41は、データ宣言42および原
始プログラム中算術式43を含んでいる。
算術式展開処理部6内の基本命令展開手段7は、データ
宣言42および原始プログラム中算術式43に基づいて
字句解析処理部3および構文解析処理部4を介して生成
された算術式13を、データ型属性を持たない中間結果
領域を使用した基本命令の並び44に展開する。
ここで、基本命令の並び44中のrADDJおよびrM
OVEJは、それぞれC0BOL(7)ADD命令およ
びMOVB命令に対応している〈「T#1」は中間結果
領域を示している〉。
データ型属性決定手段8は、基本命令の並び44を入力
し、各基本命令の中間結果領域のデータ型属性を決定し
、中間結果領域データ型属性情報46を有するデータ型
付き基本命令の並び(データ型付き基本命令を含む基本
命令の並び)45を出力する。
命令型決定手段9は、中間結果領域データ型頭性情fI
146を有するデータ型付き基本命令の並び45を入力
し、データ型付き命令型付き基本命令の並び47を出力
する。
ここで、データ型付き命令型付き基本命令の並び47中
のrADD−COMP 1−1−2Jという命令型付き
2項演算命令は、rcOMP−IJデータ項目とrcO
MP−IJデータ項目との間の加算結果をrcOMP−
2Jデ一タ項目に入れるADD命令を示している。また
、rMOVE−COMP2−COMPJという命令型付
き2項演算命令は、rcOMP−2Jデ一タ項目から「
C○MPJデータ項目へのMOVB命令を示している。
〔発明の効果〕
以上説明したように本発明は、算術式を中間結果領域を
使用した基本命令の並びに展開する際に中間結果領域へ
のデータ型属性の付与を可能にすることにより、余分な
データ型変換命令を生成する必要がなくなり、データ型
属性に関して基本命令を最適に生成することができると
いう効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を含む言語処理方式の構成を
示すブロフク図、 第2図は第1図中のデータ型属性決定手段により参照さ
れるデータ型属性対応表の一例を示す図、第3図は第1
図中のデータ型属性決定手段の処理を示す流れ図、 第4図は第1図中の算術式展開処理部(本実施例の算術
式展開方式)の具体的な処理を説明するための図である
。 図において、 1・・・原始プログラム、 2・・・言語処理プログラム、 3・・・字句解析処理部、 4・・・構文解析処理部、 5・・・意味解析処理部、 6・・・算術式展開処理部、 7・・・基本命令展開手段、 8・・・データ型属性決定手段、 9・・・命令型決定手段、 IO・・・コード生成処理部、 11・・・目的プログラム出力処理部、12・・・目的
プログラム、 13・・・算術式、 14・・・基本命令、 15・・・データ型付き基本命令、 16・・・データ型付き命令型付き基本命令、41・・
・C0BOLプログラム、 42・・・データ宣言、 43・・・原始プログラム中算術式、 44・・・基本命令の並び、 45・・・データ型付き基本命令の並び、46・・・中
間結果領域データ型属性情報、47・・・データ型付き
命令型付き基本命令の並びである。

Claims (1)

  1. 【特許請求の範囲】 原始プログラム中算術式に基づく算術式を中間結果領域
    を使用した基本命令の並びに展開する算術式展開方式に
    おいて、 算術式をデータ型属性を持たない中間結果領域を使用し
    た基本命令の並びに展開する基本命令展開手段と、 この基本命令展開手段により出力された基本命令によっ
    て示される演算が除算および巾乗算のいずれでもない場
    合に当該基本命令の中間結果領域のデータ型属性を当該
    基本命令の作用対象のデータ型属性に基づいて決定し当
    該基本命令をデータ型付き基本命令に変換するデータ型
    属性決定手段と、 このデータ型属性決定手段により生成された当該データ
    型付き基本命令の中間結果領域のデータ型属性等に基づ
    いて当該データ型付き基本命令の2項演算命令の命令型
    を決定し当該データ型付き基本命令をデータ型付き命令
    型付き基本命令に変換する命令型決定手段と を有することを特徴とする算術式展開方式。
JP22101889A 1989-08-28 1989-08-28 算術式展開方式 Pending JPH0383140A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22101889A JPH0383140A (ja) 1989-08-28 1989-08-28 算術式展開方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22101889A JPH0383140A (ja) 1989-08-28 1989-08-28 算術式展開方式

Publications (1)

Publication Number Publication Date
JPH0383140A true JPH0383140A (ja) 1991-04-09

Family

ID=16760195

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22101889A Pending JPH0383140A (ja) 1989-08-28 1989-08-28 算術式展開方式

Country Status (1)

Country Link
JP (1) JPH0383140A (ja)

Similar Documents

Publication Publication Date Title
JP2609093B2 (ja) ソフトウエアプログラムを生成するための装置及びその方法
JPH08202545A (ja) ターゲット言語コードを生成するためのオブジェクト指向システム及びその方法
US20060200796A1 (en) Program development apparatus, method for developing a program, and a computer program product for executing an application for a program development apparatus
Coleman et al. The mobile programming system, Janus
JPH11288375A (ja) 可変ターゲットコンパイル処理方法、その処理装置、そのプログラムの記憶媒体および変換テーブルの記憶媒体
JP2004342107A (ja) オブジェクト指向パイプラインを用いるシステム及び方法
US6157901A (en) Type annotation method for use in verification tools
JPH0383140A (ja) 算術式展開方式
GB2420638A (en) Method of substituting code fragments in Internal Representation
JP2659264B2 (ja) コマンドオプション指定処理装置
JP2899316B2 (ja) 呼び出し元のコード系認識処理方式
KR0169909B1 (ko) 목표 프로세서용 어셈블리 코드 생성기를 작성하는 방법
JPH07121379A (ja) 複数言語混在コンパイラ
JPH08286927A (ja) アセンブラ処理方式
JP2002132502A (ja) 言語機能解釈による分散オブジェクト自動生成システム及び方法
JP3018783B2 (ja) コンパイル方式
JPH0795273B2 (ja) コンパイラにおける和計算の部分展開処理方式
JP3370243B2 (ja) コンパイル方法及び装置
JPH02205930A (ja) インタフェースチェック処理方法
JPH04248624A (ja) プログラム変換処理装置
JPH02178845A (ja) データベース操作言語のプリコンパイル方式
JPH02222032A (ja) 加減算命令の最適化方式
JPH01304539A (ja) 機能レベルシュミレータのシュミレータ生成方式
JPS62269238A (ja) コンパイル方式
JPH02105224A (ja) コンパイラにおけるデータ割付け方式