JPH04112229A - 高精度数値計算プログラム生成方式 - Google Patents
高精度数値計算プログラム生成方式Info
- Publication number
- JPH04112229A JPH04112229A JP23213190A JP23213190A JPH04112229A JP H04112229 A JPH04112229 A JP H04112229A JP 23213190 A JP23213190 A JP 23213190A JP 23213190 A JP23213190 A JP 23213190A JP H04112229 A JPH04112229 A JP H04112229A
- Authority
- JP
- Japan
- Prior art keywords
- numerical calculation
- precision
- calculation program
- string
- degraded
- 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 13
- 238000004458 analytical method Methods 0.000 claims description 19
- 238000000034 method Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は高精度数値計算プログラム生成方式に関するも
のである。
のである。
従来の高精度数値計算プログラム生成においては、計算
機による精度落ち箇所の自動検出、高精度数値計算プロ
グラムの自動生成が確立されておらず、経験者の人手に
よる精度落ち箇所の検索プログラムの作成が行なわれて
いた。
機による精度落ち箇所の自動検出、高精度数値計算プロ
グラムの自動生成が確立されておらず、経験者の人手に
よる精度落ち箇所の検索プログラムの作成が行なわれて
いた。
上述した従来の高精度数値計算プログラム生成方式にお
いては、計算機による自動検出、プログラムの自動生成
の方式が充分に確立されておらず、数値計算プログラム
を作成した経験者がプログラム上で精度落ちの可能性を
調べ、実際にプログラムを実行させて精度落ちの箇所を
検索し、それらの情報を基に高精度数値計算プログラム
を作成しているので、計算機による数値計算プログラム
の精度落ちの生じる箇所の検出、高精度数値計算プログ
ラムの生成が不可能であったという欠点がある。
いては、計算機による自動検出、プログラムの自動生成
の方式が充分に確立されておらず、数値計算プログラム
を作成した経験者がプログラム上で精度落ちの可能性を
調べ、実際にプログラムを実行させて精度落ちの箇所を
検索し、それらの情報を基に高精度数値計算プログラム
を作成しているので、計算機による数値計算プログラム
の精度落ちの生じる箇所の検出、高精度数値計算プログ
ラムの生成が不可能であったという欠点がある。
本発明の高精度数値計算プログラム生成方式は、高精度
化を行ないたい数値計算プログラムの入力に対して、 字句の列を生成する字句解析部と、字句の列から四つ組
の列を生成する構文解析部と、四つ組の列をパターン比
較して精度落ちの生じる箇所を検出する演算比較部と、 検出した箇所を精度落ちを防止したもので置き替える演
算変換部と、 修正された四つ組の列から高精度数値計算プログラムを
復元する逆変換部とから構成され、数値計算プログラム
を中間言語に変換し、精度落ちを生じる箇所を検出して
その部分を精度落ちの防止を行なったものに変換するこ
とで高精度数値計算プログラムを生成することを特徴と
する。
化を行ないたい数値計算プログラムの入力に対して、 字句の列を生成する字句解析部と、字句の列から四つ組
の列を生成する構文解析部と、四つ組の列をパターン比
較して精度落ちの生じる箇所を検出する演算比較部と、 検出した箇所を精度落ちを防止したもので置き替える演
算変換部と、 修正された四つ組の列から高精度数値計算プログラムを
復元する逆変換部とから構成され、数値計算プログラム
を中間言語に変換し、精度落ちを生じる箇所を検出して
その部分を精度落ちの防止を行なったものに変換するこ
とで高精度数値計算プログラムを生成することを特徴と
する。
次に、本発明について図面を参照して説明する。
第1図は本発明の一実施例のプロ5.り図である。
1は入力された数値計算プログラムを字句の列に区切り
、各字句の種別を情報としてその字句ζこ付加する字句
解析部、2は字句解析部1(こよって得られた字句の列
としてのプログラムから四つ組と呼ばれる中間言語の列
を生成する構文解析部、3は構文解析部2によって得ら
れた四つ組の列をパターン比較して精度落ちを生じる可
能性のある列を検索する演算比較部、4は演算比較部3
て検出した列を精度落ちを防止した列に置き替える演算
変換部、5は演算変換部4て得られた精度落ちを防止し
た四つ組の列から数値計算プログラムを復元する逆変換
部である。以下に各部の役割を説明する。
、各字句の種別を情報としてその字句ζこ付加する字句
解析部、2は字句解析部1(こよって得られた字句の列
としてのプログラムから四つ組と呼ばれる中間言語の列
を生成する構文解析部、3は構文解析部2によって得ら
れた四つ組の列をパターン比較して精度落ちを生じる可
能性のある列を検索する演算比較部、4は演算比較部3
て検出した列を精度落ちを防止した列に置き替える演算
変換部、5は演算変換部4て得られた精度落ちを防止し
た四つ組の列から数値計算プログラムを復元する逆変換
部である。以下に各部の役割を説明する。
第一に、数値計算プログラムを第1図の字句解析部1に
入力する。字句解析部1では、字句の構文規則を参照し
ながら数値計算プログラムを字句の列に区切り直し、各
字句の種別を情報としてその字句に付加する。また同時
に各字句を外部表現から内部表現に変換する。
入力する。字句解析部1では、字句の構文規則を参照し
ながら数値計算プログラムを字句の列に区切り直し、各
字句の種別を情報としてその字句に付加する。また同時
に各字句を外部表現から内部表現に変換する。
次に、字句解析部1で得られた数値計算プログラムの字
句の列を構文解析部2で演算子順位解析を行ない、その
結果を中間言語として四つ組の列を生成する。
句の列を構文解析部2で演算子順位解析を行ない、その
結果を中間言語として四つ組の列を生成する。
演算比較部3では、構文解析部2から生成された四つ組
の列に対して精度落ちを生じる四つ粗列のパターン群と
比較し、これらのパターンと一致する四つ組の列を検出
する。
の列に対して精度落ちを生じる四つ粗列のパターン群と
比較し、これらのパターンと一致する四つ組の列を検出
する。
続いて演算変換部4では、演算比較部3で検出された四
つ組の列のパターンに対して精度落ちを防止した四つ組
の列に置換し、数値計算プログラムの修正した四つ組の
列を生成する。
つ組の列のパターンに対して精度落ちを防止した四つ組
の列に置換し、数値計算プログラムの修正した四つ組の
列を生成する。
最後に逆変換部5は演算変換部4で得られた修正した四
つ組の列から精度落ち防止を施した数値計算プログラム
を復元する。
つ組の列から精度落ち防止を施した数値計算プログラム
を復元する。
以下に具体的な動作例を説明する。ここでは数値計算プ
ログラムで問題になる精度落ちを生じるプログラムを例
にして高精度演算変換方式の具体的な動作について説明
する。
ログラムで問題になる精度落ちを生じるプログラムを例
にして高精度演算変換方式の具体的な動作について説明
する。
次のセンテンスは、よく見られる数値計算プログラムの
一部である。
一部である。
Y=SQRT (X十A*A)−A
このプログラムが字句解析部1に入力されて字句の列に
区切られ、続いて構文解析部2で四つ組の列を生成し演
算比較部に入力される。演算比較部3では入力された四
つ組の列に対してノくターン比較が行なわれる。
区切られ、続いて構文解析部2で四つ組の列を生成し演
算比較部に入力される。演算比較部3では入力された四
つ組の列に対してノくターン比較が行なわれる。
その結果、入力された四つ組の列のプログラムは、Xの
値がAの2乗の値に比へて十分小さくない場合には問題
が無いが、Aの2乗の値に較べてXの値が十分小さい場
合には精度落ちを生じるプログラムであることが検出さ
れる。
値がAの2乗の値に比へて十分小さくない場合には問題
が無いが、Aの2乗の値に較べてXの値が十分小さい場
合には精度落ちを生じるプログラムであることが検出さ
れる。
従って、次の演算変換部4では検出された四つ組の列に
対して精度落ちを防止した四つ組の列に置換が行なわれ
る。修正された四つ組の列が逆変換部5に入力されて精
度落ちを防止した数値計算プログラムが復元される。
対して精度落ちを防止した四つ組の列に置換が行なわれ
る。修正された四つ組の列が逆変換部5に入力されて精
度落ちを防止した数値計算プログラムが復元される。
次のセンテンスが生成された修正版の数値計算プログラ
ムである。
ムである。
IF (X/A/A、GT、EPS) THENY=
SQRT (X十A*A)−A LSE Y=X/ (SQRT (X+A*A) +A)END
IF 〔発明の効果〕 以上説明したように本発明は、数値計算プログラムから
高精度数値計算プログラムを生成するために、数値計算
プログラムを中間言語の四つ組の列に変換してパターン
比較を行ない、精度落ちを生じる箇所を検出し精度落ち
を防止したもので置き替えて数値計算プログラムを復元
することにより、数値計算プログラムにおける精度落ち
の生しる箇所を検出するための経験的知識および煩雑な
数値実験を不必要とし、高精度数値計算プログラムを自
動的に生成することかできる効果がある。
SQRT (X十A*A)−A LSE Y=X/ (SQRT (X+A*A) +A)END
IF 〔発明の効果〕 以上説明したように本発明は、数値計算プログラムから
高精度数値計算プログラムを生成するために、数値計算
プログラムを中間言語の四つ組の列に変換してパターン
比較を行ない、精度落ちを生じる箇所を検出し精度落ち
を防止したもので置き替えて数値計算プログラムを復元
することにより、数値計算プログラムにおける精度落ち
の生しる箇所を検出するための経験的知識および煩雑な
数値実験を不必要とし、高精度数値計算プログラムを自
動的に生成することかできる効果がある。
第1図は本発明の一実施例の構成図である。
1・・・字句解析部、2・・・構文解析部、3・・・演
算比較部、4・・・演算変換部、5・・・逆変換部。
算比較部、4・・・演算変換部、5・・・逆変換部。
Claims (1)
- 【特許請求の範囲】 高精度化を行ないたい数値計算プログラムの入力に対し
て、字句の列を生成する字句解析部と、字句の列から四
つ組の列を生成する構文解析部と、 四つ組の列をパターン比較して精度落ちの生じる箇所を
検出する演算比較部と、 検出した箇所を精度落ちを防止したもので置き替える演
算変換部と、 修正された四つ組の列から高精度数値計算プログラムを
復元する逆変換部とから構成され、数値計算プログラム
を中間言語に変換し、精度落ちを生じる箇所を検出して
その部分を精度落ちの防止を行なったものに変換するこ
とで高精度数値計算プログラムを生成することを特徴と
する高精度数値計算プログラム生成方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23213190A JPH04112229A (ja) | 1990-08-31 | 1990-08-31 | 高精度数値計算プログラム生成方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23213190A JPH04112229A (ja) | 1990-08-31 | 1990-08-31 | 高精度数値計算プログラム生成方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04112229A true JPH04112229A (ja) | 1992-04-14 |
Family
ID=16934487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23213190A Pending JPH04112229A (ja) | 1990-08-31 | 1990-08-31 | 高精度数値計算プログラム生成方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04112229A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017215903A (ja) * | 2016-06-02 | 2017-12-07 | 株式会社デンソー | 検証装置、検証プログラム、及び、検証方法 |
-
1990
- 1990-08-31 JP JP23213190A patent/JPH04112229A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017215903A (ja) * | 2016-06-02 | 2017-12-07 | 株式会社デンソー | 検証装置、検証プログラム、及び、検証方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR920020317A (ko) | 프로그램처리장치 및 프로그램처리방법 | |
Aone et al. | A language-independent anaphora resolution system for understanding multilingual texts | |
JPH04112229A (ja) | 高精度数値計算プログラム生成方式 | |
JP2704945B2 (ja) | 重複表現処理装置 | |
JPH0287273A (ja) | 自動翻訳装置 | |
JP2580336B2 (ja) | 言語処理系における名前の属性検査処理方式 | |
JPH0449432A (ja) | 構文エラー解析方式 | |
Helzerman et al. | Parallel parsing of spoken language | |
JP2742280B2 (ja) | 日本語自動解析装置 | |
JP2742059B2 (ja) | 翻訳用辞書編集装置 | |
JP3339006B2 (ja) | 機械翻訳装置における並列名詞句処理装置 | |
JPH0340033A (ja) | 呼び出し元のコード系認識処理方式 | |
JPS63305464A (ja) | 文脈理解装置 | |
KR950015127A (ko) | 칠(chill) 분리 컴파일 방법 | |
JPH0269832A (ja) | 式処理における定義演算子処理方式 | |
JP2895137B2 (ja) | 日本文誤り自動検出および訂正装置 | |
JPH02178844A (ja) | 翻訳リスト出力制御方式 | |
JPS6386072A (ja) | 日本文解析制御方式 | |
JP2009048404A (ja) | プログラム生成実行方法およびシステムならびにそのプログラム | |
Khanna et al. | A parallel compilation technique based on grammar partitioning | |
JPH06105462B2 (ja) | 多義解消装置 | |
JPH0728671A (ja) | テストカバレージ測定におけるソースプログラムの差分管理方式 | |
Aßmann | A short review of high speed compilation | |
JPH0250730A (ja) | 共通機械語による言語変換方式 | |
JPH01287771A (ja) | 形態素解析装置 |