JPH0991131A - 計算式のチェック方法 - Google Patents

計算式のチェック方法

Info

Publication number
JPH0991131A
JPH0991131A JP7250520A JP25052095A JPH0991131A JP H0991131 A JPH0991131 A JP H0991131A JP 7250520 A JP7250520 A JP 7250520A JP 25052095 A JP25052095 A JP 25052095A JP H0991131 A JPH0991131 A JP H0991131A
Authority
JP
Japan
Prior art keywords
calculation
program
read
calculation formula
application screen
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
JP7250520A
Other languages
English (en)
Inventor
Shigeru Orito
茂 折戸
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.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co 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 Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP7250520A priority Critical patent/JPH0991131A/ja
Publication of JPH0991131A publication Critical patent/JPH0991131A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【目的】 複雑な手順やエディタ等の特別なプログラム
を使用することなく計算式の正否を判定すること。 【構成】 計算式のアプリケーションプログラムへの組
み込み部分を空欄にしておき、この空欄に目的とする計
算式を組み込んだ後、コンパイルし、そのコンパイルエ
ラーの有無によって前記計算式の正否を判定する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータのコンパ
イラを利用した計算式のチェック方法に関するものであ
る。
【0002】
【従来の技術】コンピュータのアプリケーションプログ
ラムで使用する各種の計算式は、エディタ等でプログラ
ム中に記述し、そのコンパイルを行なうことによって実
行モジュールを生成している。この場合、計算式にエラ
ーがあったり、計算式に変更が生じた場合は、エディタ
等で計算プログラムを修正し、再びコンパイルしてい
る。
【0003】
【発明が解決しようとする課題】しかし、計算式に修正
があった場合は、上記のようにアプリケーションプログ
ラムを終了し、計算式を含んだプログラムをエディタ等
で再度編集し、再びコンパイルし直す手順が必要になる
ため、エディタ等を備えていないユーザは計算式の再編
集およびチェックを行うことができないという問題があ
る。
【0004】本発明の目的は、複雑な手順やエディタ等
の特別なプログラムを使用することなく計算式の正否を
判定することができる計算式のチェック方法を提供する
ことにある。
【0005】
【課題を解決するための手段】本発明は上記目的を達成
するため、計算式のアプリケーションプログラムへの組
み込み部分を空欄にしておき、この空欄に目的とする計
算式を組み込んだ後、コンパイルし、そのコンパイルエ
ラーの有無によって前記計算式の正否を判定することを
特徴とする。
【0006】
【作用】本発明の計算式のチェック方法では、アプリケ
ーション画面から計算式を読み込み、エラーチェックす
ることにより、アプリケーション中から計算式のエラー
チェックを行なうことが可能となる。
【0007】
【実施例】以下、本発明を図示する実施例に基づいて詳
細に説明する。
【0008】図1は、本発明を実施する計算機システム
の一実施例を示すハードウェア構成図である。
【0009】本実施例の計算機システムは、中央処理装
置1、ディスプレイ2、キーボード3、マウス(ポイン
ティングデバイス)4、磁気ディスク装置5、磁気テー
プ装置6、フロッピーディスク装置7、プリンタ8で構
成されている。
【0010】中央処理装置1はメモリ9を含んでいる。
【0011】図2は、本実施例の計算機システムのソフ
トウェア構成図であり、大別すると、アプリケーション
部21と、計算部22とから構成されている。
【0012】アプリケーション部21は、画面制御部2
11とプログラム制御部212とから構成され、アプリ
ケーション画面の生成および制御を行ない、ユーザーイ
ンターフェースを形成すると共に、計算を実行するため
の計算プログラムをユーザーインターフェースであるア
プリケーション画面から入力された計算式より生成す
る。
【0013】計算部22は、アプリケーション部21で
生成された計算プログラムをコンパイルして生成された
実行モジュールに相当し、計算データファイル24から
計算データを読み込む計算データファイル読み込み部2
21と、計算結果を計算結果ファイル23に書き込む計
算結果ファイル書き込み部222と、演算部223と、
外部関数部224とから構成される。
【0014】図3は、入力された計算式のチェックにコ
ンパイラを用いる方法の概略処理フロー図であり、ま
ず、同図を参照して本実施例の概要を説明する。
【0015】ステップ31 ディスプレイ2のアプリケーション画面の数式入力欄か
ら入力された数式を読み込む。
【0016】ステップ32 数式部分を空白にして予め作成しておいた計算プログラ
ムにステップ31で読み込んだ数式をあてはめ、完全な
計算プログラムを生成する。
【0017】ステップ33 ステップ32で生成した計算プログラムをコンパイル
し、コンパイラのリターンコードを読み出す。
【0018】ステップ34 ステップ33におけるコンパイルの成否を、読み出した
コンパイラのリターンコードを使って判定する。
【0019】ステップ35 ステップ34でエラー無しと判定した場合は、ステップ
33のコンパイルによって生成された実行形式のプログ
ラムを実行し、計算を行なう。
【0020】ステップ36 ステップ35で実行した計算結果をディスプレイ2のア
プリケーション画面に表示する。
【0021】ステップ37 ステップ34でエラー有りと判定した場合は、アプリケ
ーション画面にエラーメッセージを表示する。
【0022】図4は、図3のステップ31の詳細を示す
フローチャートであり、図2のアプリケーション部21
の画面制御部211の処理に相当する。
【0023】図5は、図3のステップ31で表示される
アプリケーション画面の数式入力欄の例を示す図であ
り、ここでの数式入力欄は第1の計算式入力欄51、第
2の計算式入力欄52、第3の計算式入力欄53、各計
算式で使用する添字の範囲の入力欄54、添字の範囲の
指定欄55、添字の範囲の開始値である前範囲値を入力
する前範囲値入力欄56、添字の終了値である後範囲値
を入力する後範囲値入力欄57が表示されている。
【0024】図6,図7,図8は、それぞれの計算式で
使用する添字の範囲数、添字の範囲値および計算式をメ
モリ9に格納する際のテーブル61,71,81の形式
を示す図であり、それぞれ文字列の形で入力される。
【0025】以下、図4の各処理ステップについて説明
する。
【0026】ステップ41 このアプリケーション例では、添字の値の範囲を複数指
定することが可能である。この機能を使用すると、下記
の計算式例のように、添字の値によって使用する計算式
を変更する場合に対応可能である。
【0027】
【数1】 X(t)=A(t)+B(t) (0≦t<5) =A(t)+0.2B(t) (5≦t<10) =A(t)+0.4B(t) (10≦t<20) ………(1) 以下、計算式(1)の例にしたがって説明する。なお、
この計算式(1)では添字tの範囲数は「3」となる。
【0028】図5のアプリケーション画面例において、
添字の範囲数入力欄54に図1のキーボード3から
「3」を入力すると、画面制御部211はこの数値
「3」を読み取り、図6のテーブル61の形式でメモリ
9に格納する。
【0029】ステップ42 図5のアプリケーション画面例の添字の範囲指定欄55
において、添字の範囲が指定されると、画面制御部21
1はそれを読み込み、テーブル61に格納した値と比較
し、指定された値の方が大きい場合はエラーであるので
エラーメッセージを出力し、指定された値を無効にす
る。
【0030】ステップ43 ステップ42で指定された添字の範囲のそれぞれに対応
した添字の範囲値を読み込む。
【0031】図5のアプリケーション画面例では、添字
の前範囲値入力欄56に添字の開始値、添字の後範囲値
入力欄57に添字の終了値が入力されると、画面制御部
211はそれを読み込み、図7のテーブル71に格納す
る。その際、ステップ42で読み込んだ添字の範囲に対
応したレコードに格納する。
【0032】図7の例では、「範囲1」のとき、1レコ
ード目に前範囲値に相当する「=0」を格納し、2レコ
ード目に後範囲値に相当する「<5」を格納したことを
示している。
【0033】また、「範囲2」のとき、3レコード目に
前範囲値に相当する「=5」を格納し、4レコード目に
後範囲値に相当する「<10」を格納したことを示して
いる。さらに、「範囲3」のとき、5レコード目に前範
囲値に相当する「=10」を格納し、6レコード目に後
範囲値に相当する「<20」を格納したことを示してい
る。
【0034】ステップ44 ステップ42で読み込んだ添字の範囲に応じた計算式を
読み込む。
【0035】図5のアプリケーション画面例では、計算
式入力欄51に入力された計算式を読み込み、テーブル
81に格納する。その際、ステップ42で読み込んだ添
字の範囲に対応したレコードに格納する。
【0036】図8の例の場合、「範囲1」のとき、テー
ブル81の1レコード目に「A(t)+B(t)」を格
納したことを示している。
【0037】また、「範囲2」のとき、テーブル81の
2レコード目に「A(t)+0.2B(t)」を格納し
たことを示している。
【0038】さらに、「範囲3」のとき、テーブル81
の3レコード目に「A(t)+0.4B(t)」を格納
したことを示している。
【0039】ステップ45 ステップ41で入力された添字の範囲数に応じたデータ
が全て入力されたかを判定する。入力が終了したなら
ば、図4の処理を終了し、入力が終了していない場合
は、再び入力されたデータを読み込むためステップ42
に戻る。
【0040】次に、図3のステップ32の詳細を説明す
る。
【0041】図9は、図3のステップ32の詳細を示す
フローチャートであり、アプリケーション部21のプロ
グラム生成部212の前半部の処理に相当する。
【0042】ステップ91 図3のステップ311でテーブル61,71,81に書
き込んだ計算式、添字の範囲数、添字の範囲値を読み込
む。
【0043】ステップ92 計算プログラム本体を書き込むためのファイルをオープ
ンする。
【0044】ステップ93 計算プログラムの最初から添字の範囲値手前までをファ
イルに書き込み、予め作成しておいた計算プログラムを
ファイルに書き込む。
【0045】計算プログラムは文字列の形式で計算プロ
グラム生成プログラムの中に記述してある。
【0046】図10は、計算プログラム生成プログラム
例の一部を示すものであり、C言語を使って記述してい
る。図10の中の「static Char 」の1文のそれぞれが
計算プログラムの一部分になっている。このように、計
算プログラムは分割して記述する。
【0047】ステップ94 添字の範囲値をファイルに書き込む。図11は計算プロ
グラム生成プログラムの一部分の例である。ここでは、
L1行とL2行で添字の範囲値をファイルに書き込んで
いる。
【0048】ステップ95 計算式をファイルに書き込む。図11の計算プログラム
生成プログラム例のL3行で計算式をファイルに書き込
んでいる。
【0049】ステップ96 ステップ91で読み込んだ添字の範囲数分だけ、添字の
範囲値と計算式とをファイルに書き込んだか否かを判定
する。書き込みが終了している場合には、次のステップ
97に進み、書き込みが終了していなければ、ステップ
94に戻って再び添字の範囲値をファイルに書き込む。
【0050】ステップ97 添字の範囲値と計算式をすべてファイルに書き込んだな
らば、計算プログラムを完成させるため、計算プログラ
ムの最後までをファイルに書き込む。
【0051】ステップ98 計算プログラム本体を書き込むためのファイルをクロー
ズする。
【0052】以上で計算プログラムの生成を完了する。
計算プログラム用ファイルのクローズが終了すると、次
のステップに処理を移す。
【0053】次に、図3のステップ33の詳細を説明す
る。
【0054】図12は、図3のステップ33の詳細を示
すフローチャートであり、図2のアプリケーション部2
1のプログラム生成部212の後半部の処理に相当す
る。
【0055】ステップ121 本実施例では、サブ計算プログラムを定義し、メイン計
算プログラムと一緒にコンパイルすることにより、外部
関数として利用可能となる。
【0056】図13は、そのサブ計算プログラムの例を
示すものであり、本例ではC言語を使って記述してお
り、“INT”131と“RND”132という2つの
外部関数が定義されている。
【0057】このサブ計算プログラムが存在するかを判
定し、あると判定した場合はステップ122へ進み、な
いと判定した場合はステップ123へ進む。
【0058】ステップ122 ステップ121でサブ計算プログラムが存在すると判定
した場合は、図3のステップ32で生成した計算プログ
ラムと前記サブ計算プログラムのコンパイルを実行す
る。
【0059】ステップ123 ステップ121でサブ計算プログラムが存在しないと判
定した場合は、図3のステップ32で生成した計算プロ
グラムのみのコンパイルを実行する。
【0060】ステップ124 コンパイラは、通常、処理が終了するとリターンコード
を返すが、終了状態によってリターンコードが変わるよ
うになっている。次のステップでコンパイルが正常終了
したかどうか判定するために、コンパイラのリターンコ
ードを検出する。
【0061】ステップ125 ステップ124で検出したリターンコードをメモリ9に
格納する。
【0062】メモリ9への格納が終了すると、次のステ
ップに処理を移す。
【0063】次に、図3のステップ34の詳細を説明す
る。
【0064】図14は、図3のステップ34のコンパイ
ルエラーの有無を判定する部分の詳細を示すフローチャ
ートである。
【0065】ステップ141 図12のステップ125でメモリ9に格納したリターン
コードを読み出す。
【0066】ステップ142 ステップ141で読み出したリターンコードが“0”か
否かによってコンパイルエラーが発生したか否かを判定
する。
【0067】通常のコンパイラは正常終了すると“0”
を返し、異常終了すると“0”以外のリターンコードを
返す。これを利用してコンパイルが正常終了したか判定
する。
【0068】本実施例では、コンパイラのリターンコー
ドが“0”であったならば、コンパイルが正常終了した
ものとして次のステップに処理を移す。しかし、コンパ
イラのリターンコードが“0”以外のときは、コンパイ
ルが異常終了したものとしてステップ143へ処理を移
す。
【0069】ステップ143 ステップ142でリターンコードが“0”以外と判定し
たときは、図3のステップ37のエラーメッセージ出力
に処理を移す。
【0070】すなわち、入力された計算式にエラーがあ
った場合は、コンパイラの出力するエラーを読み取り、
エラーメッセージを出力する。
【0071】次に、図3のステップ35の詳細を説明す
る。
【0072】図15は、図3のステップ35の詳細を示
すフローチャートであり、図2の演算部223の処理に
相当する。
【0073】ステップ151 この実施例では、計算の対象となるデータは計算式デー
タファイル24にファイル形式で格納してある。この計
算対象のデータはエディタ等で入力するか、DBから転
送してファイルに書き込む等の方法で生成される。
【0074】そこで、この計算対象データが格納されて
いるファイル24を読み込み属性でオープンする。
【0075】ステップ152 この実施例では、計算結果データは計算結果ファイル2
3にファイル形式で格納される。そこで、計算結果ファ
イル23を書き込み属性でオープンする。
【0076】ステップ153 ステップ151でオープンした計算データファイル24
から計算対象のデータをメモリ9に読み込む。
【0077】ステップ154 ステップ153で読み込んだ計算対象データの演算を行
い、計算結果データを生成する。
【0078】ステップ155 ステップ154で生成した計算結果データを計算結果フ
ァイル23に書き込む。
【0079】ステップ156 ステップ151でオープンした計算データファイル24
をクローズする。
【0080】ステップ157 ステップ152でオープンした計算結果ファイル23を
クローズし、次のステップに処理を移す。
【0081】次に、図3のステップ36の詳細を説明す
る。
【0082】図16は、図2のステップ36の詳細を示
すフローチャートであり、図17は図3のステップ36
の実行結果の表示のアプリケーション画面例である。
【0083】ステップ161 図15のステップ157でクローズした計算結果ファイ
ル23を読み込み属性でオープンする。
【0084】ステップ162 計算結果ファイル23から計算結果データをメモリ9に
読み込む。
【0085】ステップ163 図17のアプリケーション画面例では計算結果データは
テーブル171に表示される。ステップ162で読み込
んだ計算結果データをこのテーブル171に書き込む。
【0086】ステップ164 ステップ163で書き込んだ計算結果テーブル171を
図17に示すようにアプリケーション画面に表示する。
【0087】ステップ165 ステップ161でオープンした計算結果ファイル23を
クローズする。
【0088】次に、図3のステップ37の詳細を説明す
る。
【0089】図18は、図3のステップ37の詳細を示
すフローチャートである。
【0090】ステップ181 アプリケーション画面のエラーメッセージ欄あるいは所
定の場所に所定のエラーメッセージを出力する。
【0091】ステップ182 エラーメッセージ出力と同時にベルを鳴らし、アプリケ
ーション使用者に警告する。
【0092】ステップ183 再び計算式を読み込むため、図3のステップ31に処理
を移す。
【0093】
【発明の効果】本発明によれば、以下の効果が得られ
る。
【0094】(1)コンピュータで計算処理を行う場合
で、計算式の修正を行うときに計算処理を行うプログラ
ムそのものを修正することなく、アプリケーション画面
から計算式の修正が可能である。
【0095】(2)計算式の妥当性をチェックするとき
に特別な計算式評価システムを付加することなく、コン
パイラを使用してチェックが行え、またアプリケーショ
ン画面にチェック結果を表示することが可能である。
【図面の簡単な説明】
【図1】本発明を実施する計算機システムの一実施例を
示すシステム構成図である。
【図2】計算式のチェック方法に用いるソフトウェア構
成図である。
【図3】計算式のチェック方法の概略処理を示すフロー
チャートである。
【図4】計算式入力部分の概略処理を示すフローチャー
トである。
【図5】計算式入力部分のアプリケーション画面例を示
す図である。
【図6】計算式の添字の範囲数を格納するテーブルの構
成図である。
【図7】添字の範囲を格納するテーブルの構成図であ
る。
【図8】計算式を格納するテーブルの構成図である。
【図9】計算式より計算プログラムを生成する部分の概
略処理を示すフローチャートである。
【図10】計算プログラムを生成するプログラムリスト
の例を示す図である。
【図11】計算プログラムを生成するプログラムリスト
の例を示す図である。
【図12】計算プログラムのコンパイル部分の概略処理
を示すフローチャートである。
【図13】サブ計算プログラムのプログラムリストの例
を示す図である。
【図14】計算プログラムのコンパイルエラーを有無を
判定する部分の概略処理を示すフローチャートである。
【図15】計算プログラムの実行を行う部分の概略処理
を示すフローチャートである。
【図16】実行結果表示部分の概略処理を示すフローチ
ャートである。
【図17】実行結果表示部分のアプリケーション画面例
を示す図である。
【図18】エラーメッセージ表示部分の概略処理を示す
フローチャートである。
【符号の説明】
1…中央処理装置、2…ディスプレイ、3…キーボー
ド、5…磁気ディスク装置、9…メモリ、21…アプリ
ケーション部、22…計算部、23…計算結果ファイ
ル、24…計算データファイル、212…プログラム生
成部。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 アプリケーションプログラムに組み込む
    計算式をチェックする方法であって、 前記計算式のアプリケーションプログラムへの組み込み
    部分を空欄にしておき、この空欄に目的とする計算式を
    組み込んだ後、コンパイルし、そのコンパイルエラーの
    有無によって前記計算式の正否を判定することを特徴と
    する計算式のチェック方法。
JP7250520A 1995-09-28 1995-09-28 計算式のチェック方法 Pending JPH0991131A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7250520A JPH0991131A (ja) 1995-09-28 1995-09-28 計算式のチェック方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7250520A JPH0991131A (ja) 1995-09-28 1995-09-28 計算式のチェック方法

Publications (1)

Publication Number Publication Date
JPH0991131A true JPH0991131A (ja) 1997-04-04

Family

ID=17209118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7250520A Pending JPH0991131A (ja) 1995-09-28 1995-09-28 計算式のチェック方法

Country Status (1)

Country Link
JP (1) JPH0991131A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001325420A (ja) * 2000-05-12 2001-11-22 Joho System Kenkyusho:Kk マネジメント情報生成システム
JP2016176658A (ja) * 2015-03-20 2016-10-06 アイシン精機株式会社 調湿装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001325420A (ja) * 2000-05-12 2001-11-22 Joho System Kenkyusho:Kk マネジメント情報生成システム
JP4503135B2 (ja) * 2000-05-12 2010-07-14 株式会社 情報システム研究所 マネジメント情報生成システム
JP2016176658A (ja) * 2015-03-20 2016-10-06 アイシン精機株式会社 調湿装置

Similar Documents

Publication Publication Date Title
Reps et al. The Synthesizer Generator: A system for constructing language-based editors
JP4366065B2 (ja) リソース・ファイル・ビルダ・ツール及びコンピュータ可読コード
US6016467A (en) Method and apparatus for program development using a grammar-sensitive editor
US7610545B2 (en) Annotations for tracking provenance
US8566793B2 (en) Detecting and displaying errors in database statements within integrated development environment tool
AU2003233316B2 (en) Automated software testing system and method
US9047337B2 (en) Database connectivity and database model integration within integrated development environment tool
EP0528640A2 (en) Computer system for generating a user interface
US20030177441A1 (en) Method and system for stylesheet execution interactive feedback
JPH08512152A (ja) インクリメンタル生成システム
US5033008A (en) Dynamic selection of logical element data format as a document is created or modified
JPS6375835A (ja) 目的コ−ド、プログラム・リスト及び設計文書を生成する装置
US5513350A (en) Update constraints in transactions which may abort
Dillinger et al. ACL2s:“The ACL2 Sedan”
US5721929A (en) Method for extending a fourth generation programming language
JPH08212106A (ja) システム試験支援装置及びシステム試験支援方法
JPH0991131A (ja) 計算式のチェック方法
CN111459483B (zh) 界面的处理方法和装置
JP2632212B2 (ja) 文書処理方法
JPH07146785A (ja) プログラム自動生成方法および装置
Sherrell et al. FunZ: An intermediate specification language
Korol Microsoft® Access® 2010 Programming By Example: with VBA, XML, and ASP
JP3417960B2 (ja) 文章校正支援方法および装置
US20220156466A1 (en) Method, System, and Computer Program Product for Natural Language Programming of a New Function or Skill
JPH06131232A (ja) データ辞書の多重定義修正支援装置