JPH0357022A - 演算処理方式 - Google Patents
演算処理方式Info
- Publication number
- JPH0357022A JPH0357022A JP19136389A JP19136389A JPH0357022A JP H0357022 A JPH0357022 A JP H0357022A JP 19136389 A JP19136389 A JP 19136389A JP 19136389 A JP19136389 A JP 19136389A JP H0357022 A JPH0357022 A JP H0357022A
- Authority
- JP
- Japan
- Prior art keywords
- operation mode
- arithmetic
- type
- binary
- types
- 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
Links
- 238000006243 chemical reaction Methods 0.000 claims abstract description 9
- 230000014509 gene expression Effects 0.000 claims description 23
- 238000003672 processing method Methods 0.000 claims description 7
- 238000000034 method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 4
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 238000013518 transcription Methods 0.000 description 1
- 230000035897 transcription Effects 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は複数の型を持つ言語の言語処理プロセッサーに
おけるオブジェクト生成方式に関し,特に複数の型を持
った算術式の演算処理方式に関する。
おけるオブジェクト生成方式に関し,特に複数の型を持
った算術式の演算処理方式に関する。
従来,この種の演算処理方式では,ソースプログラムに
記述されたー算術命令は,中間語においては複数の2項
演算と転記命令に分解され,2項演算形式の中間語のオ
ペランドの型が2コとも2進型の場合は演算モードを2
進型とし,それ以外の場合は10進型としている。そし
て,演算モードと違うオペランドに対して演算モードを
合わせるために.演算モードと同じ型に変換するオブジ
ェクトを出力する。これらの演算モードの決定と型変換
の処理を各中間語毎に行っている。
記述されたー算術命令は,中間語においては複数の2項
演算と転記命令に分解され,2項演算形式の中間語のオ
ペランドの型が2コとも2進型の場合は演算モードを2
進型とし,それ以外の場合は10進型としている。そし
て,演算モードと違うオペランドに対して演算モードを
合わせるために.演算モードと同じ型に変換するオブジ
ェクトを出力する。これらの演算モードの決定と型変換
の処理を各中間語毎に行っている。
上述した従来の演算処理方式では,一つの算術式として
の演算モードを決定するのではなく,各中間語毎に演算
モードを決定して,その演算モードに従った型変換のオ
ブジェクトを出力するので,複数のオペランドを持ち,
最初に行われる演算の一つのオペランドが2進型ではな
く,他の全てのオペランドが2進型のような算術式の場
合,各中間語毎の演算モードは全て2進型以外と決定さ
れ,型変換のオブジェクトが各中間語毎に出力される。
の演算モードを決定するのではなく,各中間語毎に演算
モードを決定して,その演算モードに従った型変換のオ
ブジェクトを出力するので,複数のオペランドを持ち,
最初に行われる演算の一つのオペランドが2進型ではな
く,他の全てのオペランドが2進型のような算術式の場
合,各中間語毎の演算モードは全て2進型以外と決定さ
れ,型変換のオブジェクトが各中間語毎に出力される。
このため,オブジェクト効率が悪く,さらに,実行する
時間がかかるという問題点がある。
時間がかかるという問題点がある。
本発明の演算処理方式は,複数の型を持つ言語の言語処
理プロセッサにおける演算のオブジェクト生成において
,2項演算ではなく複数のオペランドを扱う演算で,各
々のオペランドが各々の型を持ち,式として複数の型を
持った算術式を入力して,各々のオペランドの型を認識
し,それらの型の組み合わせにより,その算術式を実行
するにあたっての演算モードを2進型かIQ進型かに決
定する演算モード決定手段と,前記手段で央定した2進
型か1o進型かの演算モードに従わないオペランドに対
して,演算モードに合わせる型変換のオブジェクト及び
演算を行うオブジェクIf生成するオブジェクト生成手
段を有することを特徴としている。
理プロセッサにおける演算のオブジェクト生成において
,2項演算ではなく複数のオペランドを扱う演算で,各
々のオペランドが各々の型を持ち,式として複数の型を
持った算術式を入力して,各々のオペランドの型を認識
し,それらの型の組み合わせにより,その算術式を実行
するにあたっての演算モードを2進型かIQ進型かに決
定する演算モード決定手段と,前記手段で央定した2進
型か1o進型かの演算モードに従わないオペランドに対
して,演算モードに合わせる型変換のオブジェクト及び
演算を行うオブジェクIf生成するオブジェクト生成手
段を有することを特徴としている。
本発明について実施例によって説明する。
第1図を参照して1,本発明による演算処理方式は,コ
ンパイラ1,演算モード決定手段2.オブジェクト生戒
千段5,ソースファイル4,中間語ファイル5,オブジ
ェクトファイル6を備えている。
ンパイラ1,演算モード決定手段2.オブジェクト生戒
千段5,ソースファイル4,中間語ファイル5,オブジ
ェクトファイル6を備えている。
コンパイラ1はソースファイル4よりソースプログラム
中の2項演算ではなく複数のオペランドを扱う演算で,
各々のオペランドが各々の型を持ち式として複数の型を
持った算術式を認識したら,演算モード決定千段2を起
動する。
中の2項演算ではなく複数のオペランドを扱う演算で,
各々のオペランドが各々の型を持ち式として複数の型を
持った算術式を認識したら,演算モード決定千段2を起
動する。
演算モード決定手段2は算術式の各々のオペランドの型
を認識し,その型の組み合わせにより,その算術方式を
実行するにあたっての2進型か10進型かの演算モード
を一つ決定する。その後,中間語ファイル5へ,その算
術式の中間語全出力する前に,決定した演算モードを出
力する。
を認識し,その型の組み合わせにより,その算術方式を
実行するにあたっての2進型か10進型かの演算モード
を一つ決定する。その後,中間語ファイル5へ,その算
術式の中間語全出力する前に,決定した演算モードを出
力する。
コンパイラ1よりオブジェクト生成手段5が起動される
と,中間語ファイル5よシ算術式の演算モードを認識し
て,その算術式の演算モードに従わないオペランドに対
して演算モードに合わせる型変換のオブジェクトと演算
を行うオブジェクト’t生成し,オブジェクトファイル
6へ出力する。
と,中間語ファイル5よシ算術式の演算モードを認識し
て,その算術式の演算モードに従わないオペランドに対
して演算モードに合わせる型変換のオブジェクトと演算
を行うオブジェクト’t生成し,オブジェクトファイル
6へ出力する。
次に具体的な例を用いて説明する。
第2図に,ソースファイル1中のソースプログラムの一
部を示す。
部を示す。
第2図も参照して,.DATA−1は4バイトの2進型
データ,DATA−2は10進型データ,D A T
A−5は2バイトの2進型データとして定義される。手
続き処理では,DATA−2とDATA−3金乗算した
結果と,DATA−1を加算した値をDATA−1に代
入する。コンパイラ1は算術命令( COMPUTFI
:命令)を認識すると演算モード決定千段2を起動する
。演算モード決定手段2は,2進型データと10進型デ
ータと2進型データとを計算した結果を2進型データに
代入することによって算術式のオペランドの型を知るこ
とにより,その算術式の演算モードを2進型か10進型
かに決定する。この演算モードを決定するには,例えば
第6図に示す表を弓いても良い。この場合,演算モード
は2進型となる。決定した演算モードを算術式の中間語
の前に,中間語ファイル5へ出方する。
データ,DATA−2は10進型データ,D A T
A−5は2バイトの2進型データとして定義される。手
続き処理では,DATA−2とDATA−3金乗算した
結果と,DATA−1を加算した値をDATA−1に代
入する。コンパイラ1は算術命令( COMPUTFI
:命令)を認識すると演算モード決定千段2を起動する
。演算モード決定手段2は,2進型データと10進型デ
ータと2進型データとを計算した結果を2進型データに
代入することによって算術式のオペランドの型を知るこ
とにより,その算術式の演算モードを2進型か10進型
かに決定する。この演算モードを決定するには,例えば
第6図に示す表を弓いても良い。この場合,演算モード
は2進型となる。決定した演算モードを算術式の中間語
の前に,中間語ファイル5へ出方する。
第4図に,中間語ファイル5において第2図の算術命令
( C!OMPUTm命令)に当る部分を示す。処理4
1は算術式の演算モードが2進型であること金意味する
。処理42はDATA−2とD A T A−5とを乗
算した結果iT#1に代入すること,処理45はDAT
A−1とT#1とを加算した結果をDATA−1に代入
することを意味する。オブジェクト生成手段3がコンパ
イラ1から起動されると,中間語ファイル5の処理41
を読み込み,算術式の演算モードが2進型であることを
認識する。処理42を読み込み,演算モードの2進型に
合わないオペランドであるDATA−2に対して,2進
型に合わせる型変換のオブジェクIf生成してから,乗
算するオブジェクトヲ生成する。処理46を読み込み,
演算モードの2進型に合わないオペランドはないので型
変換のオブジェクトは生成しないで,加算のオブジェク
If生成する。生成されたオブジェクトはオブジェクト
ファイル6へ出力する。
( C!OMPUTm命令)に当る部分を示す。処理4
1は算術式の演算モードが2進型であること金意味する
。処理42はDATA−2とD A T A−5とを乗
算した結果iT#1に代入すること,処理45はDAT
A−1とT#1とを加算した結果をDATA−1に代入
することを意味する。オブジェクト生成手段3がコンパ
イラ1から起動されると,中間語ファイル5の処理41
を読み込み,算術式の演算モードが2進型であることを
認識する。処理42を読み込み,演算モードの2進型に
合わないオペランドであるDATA−2に対して,2進
型に合わせる型変換のオブジェクIf生成してから,乗
算するオブジェクトヲ生成する。処理46を読み込み,
演算モードの2進型に合わないオペランドはないので型
変換のオブジェクトは生成しないで,加算のオブジェク
If生成する。生成されたオブジェクトはオブジェクト
ファイル6へ出力する。
以上説明したように本発明では,算術式の各中間梧毎に
演算モードを決定し,その中間語毎にその演算モードに
合わせる型変換のオブジェクトk出力するのではなく,
算術式として一つの演算モードを決定することにより複
数のオペランドを持ち,最初に行われる演算の一つのオ
ペランドが2進型ではなく,他の全てのオペランドが2
進型のような算術式の場合,演算モードを2進型と決定
することで,2進型演算が行われるため実行時間が短縮
できるという効果がある。
演算モードを決定し,その中間語毎にその演算モードに
合わせる型変換のオブジェクトk出力するのではなく,
算術式として一つの演算モードを決定することにより複
数のオペランドを持ち,最初に行われる演算の一つのオ
ペランドが2進型ではなく,他の全てのオペランドが2
進型のような算術式の場合,演算モードを2進型と決定
することで,2進型演算が行われるため実行時間が短縮
できるという効果がある。
4
第1図は本発明による演算処理方式の一実施例を示す全
体構成図,第2図は第1図に示すソースファイルの一部
を示す図,第3図は第1図に示す演算モード決定手段で
使用する演算モードを決定するために引く表を示す図,
第4図は第1図に示す中間語ファイルの一部を示す図で
ある。 1・・・コンパイラ,2・・・演算モード決定手段,6
・・・オブジェクト生成手段,4・・・ソースファイル
,5・・・中間語ファイル,6・・・オブジェクトファ
イル。 N−二“二,二〉′
体構成図,第2図は第1図に示すソースファイルの一部
を示す図,第3図は第1図に示す演算モード決定手段で
使用する演算モードを決定するために引く表を示す図,
第4図は第1図に示す中間語ファイルの一部を示す図で
ある。 1・・・コンパイラ,2・・・演算モード決定手段,6
・・・オブジェクト生成手段,4・・・ソースファイル
,5・・・中間語ファイル,6・・・オブジェクトファ
イル。 N−二“二,二〉′
Claims (1)
- 1、複数の型を持つ言語の演算におけるオブジェクト生
成の際、複数のオペランドを扱う演算であり、各々のオ
ペランドが各々の型を持ち、複数の型を持った算術式を
入力して、各々のオペランドの型を認識し、それらの型
の組み合わせにより前記算術式を実行するにあたっての
演算モードを2進型か10進型かに決定する演算モード
決定手段と、該演算モード決定手段で決定した2進型か
10進型かの演算モードに従わないオペランドに対して
、演算モードに合わせる型変換のオブジェクト及び演算
を行うオブジェクトを生成するオブジェクト生成手段と
を有することを特徴とする演算処理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19136389A JPH0357022A (ja) | 1989-07-26 | 1989-07-26 | 演算処理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19136389A JPH0357022A (ja) | 1989-07-26 | 1989-07-26 | 演算処理方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0357022A true JPH0357022A (ja) | 1991-03-12 |
Family
ID=16273334
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP19136389A Pending JPH0357022A (ja) | 1989-07-26 | 1989-07-26 | 演算処理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0357022A (ja) |
-
1989
- 1989-07-26 JP JP19136389A patent/JPH0357022A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5815719A (en) | Method and apparatus for easy insertion of assembler code for optimization | |
| JPH04307625A (ja) | ループ最適化方法及び装置 | |
| JPS6124729B2 (ja) | ||
| JPH0523447B2 (ja) | ||
| JPH0357022A (ja) | 演算処理方式 | |
| JPH11242598A (ja) | コンパイル方法およびコンパイル装置ならびにオブジェクトプログラム実行方法およびオブジェクトプログラム実行装置ならびにプログラム記憶媒体 | |
| JP2004046747A (ja) | ベクトル化方式 | |
| JPS6155738A (ja) | 演算モ−ドの決定方式 | |
| JPH0689166A (ja) | 部品処理記述展開方式 | |
| JPH0210429A (ja) | プログラム構造化処理方式 | |
| JPS58200349A (ja) | マイクロプログラム制御装置 | |
| JPH04343140A (ja) | コンパイラの最適化処理方法 | |
| JP3079090B2 (ja) | プロセッサ及びプログラム変換装置 | |
| JP4327533B2 (ja) | 演算処理プログラム、演算処理方法、および演算処理装置 | |
| JPH0383140A (ja) | 算術式展開方式 | |
| JP2026004611A5 (ja) | ソフトウェア開発装置、ソフトウェア開発プログラムおよびソフトウェア開発方法 | |
| JPH0721031A (ja) | 言語処理方法 | |
| JPH0250730A (ja) | 共通機械語による言語変換方式 | |
| JPH02170235A (ja) | サブルーチン呼び出し時のレジスタの退避/復旧方式 | |
| JPH04248624A (ja) | プログラム変換処理装置 | |
| JP2722493B2 (ja) | レジスタ割り付け処理方法 | |
| JPS62269238A (ja) | コンパイル方式 | |
| JPH01258122A (ja) | データ形式変換方式 | |
| JPH01128136A (ja) | コンパイル処理装置 | |
| JPH10222377A (ja) | マクロ命令定義方法およびアセンブラ装置 |