JPH0527979A - プログラム言語の演算子管理方式 - Google Patents

プログラム言語の演算子管理方式

Info

Publication number
JPH0527979A
JPH0527979A JP3182171A JP18217191A JPH0527979A JP H0527979 A JPH0527979 A JP H0527979A JP 3182171 A JP3182171 A JP 3182171A JP 18217191 A JP18217191 A JP 18217191A JP H0527979 A JPH0527979 A JP H0527979A
Authority
JP
Japan
Prior art keywords
operator
data
function
user
definition
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
JP3182171A
Other languages
English (en)
Inventor
Yoshikatsu Akagi
義勝 赤城
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.)
Meidensha Corp
Meidensha Electric Manufacturing Co Ltd
Original Assignee
Meidensha Corp
Meidensha Electric Manufacturing 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 Meidensha Corp, Meidensha Electric Manufacturing Co Ltd filed Critical Meidensha Corp
Priority to JP3182171A priority Critical patent/JPH0527979A/ja
Publication of JPH0527979A publication Critical patent/JPH0527979A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 演算子の誤りチェツク機能を持たせながらユ
ーザ定義を容易にする。 【構成】 プログラム言語が持つ基本演算子データのほ
かにユーザ定義による演算子データを用意し、該演算子
データは構造体を持つ関数データによって誤りチェツク
できるようにし、プログラム言語の作成,実行に際して
読み込まれる言語の演算子について誤りチェツクを行
う。また、演算子定義のデータ入力編集及び定義された
演算子についての代表的な値等を与えた試験を行うエデ
ィタを設けて演算子定義を確実,容易にする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラム言語の演算
子管理方式に関する。
【0002】
【従来の技術】高水準プログラム言語にはデータに対す
る演算を表す演算子が用意されており、例えば算術演算
子(+,−,×,/等)や比較演算子(=,>,<,
等)さらに論理演算子(And,Or,Not等)が定
義されている。
【0003】このような演算子は、システムの要求に従
って作成されるプログラム中で演算機能を実現する。例
えば、エキスパートシステムでは推論シエルによる推論
連鎖を行うための判断基準となる値や確信度を導くため
の式として使用される。
【0004】演算子は、基本的にはプログラム言語に定
義されたものに限られ、特殊な演算機能を実現するため
にユーザが演算子を増減することはできない。即ち、言
語に定義されていない演算子を使った演算は基本的には
実現不可能である。
【0005】特別な場合として、C言語やLisp等に
はユーザが定義した関数として特殊な演算機能を実現で
きるようにしている。この場合は関数が特殊な演算子に
なり、言語仕様にない演算をユーザが定義,実行でき
る。
【0006】
【発明が解決しようとする課題】従来のプログラム言語
では演算子の種類が限定されるため、ユーザが必要とす
る演算子が定義されていない場合には演算に必要な演算
子を持つ他のプログラム言語を利用するか、又はユーザ
定義関数を利用しなければならない。
【0007】前者の方法では元のプログラム言語で作成
したデータを新らしいプログラム言語で利用できないこ
とが殆どで、新たなデータ入力を行わなければならな
い。さらに、データベースの作成方法など言語の文法も
大きく異なることが多く、ユーザは新しい言語でのプロ
グラム法を会得しなければならないなど作業としては非
効率的なものになる。
【0008】一方、後者の方法ではユーザ定義関数によ
って任意の演算子を持たせることができるが、ユーザ定
義関数の管理及びその引数の型チェック等の管理は一般
の演算子のように言語自体が行うことが無く、ユーザが
管理しなければならないし、該関数に誤りを発生し易く
するし、誤りの発見にも多くの作業を必要とする。
【0009】本発明の目的は、演算子の誤りチェック機
能を持たせながらユーザ定義を容易にする演算子管理方
式を提供することにある。
【0010】
【課題を解決するための手段】本発明は、前記課題の解
決を図るため、プログラム言語が持つ基本演算子データ
を格納する基本演算子データファイルと、ユーザが任意
に定義した演算子データを格納するユーザ定義演算子デ
ータファイルと、前記ユーザ定義演算子データを構造体
で定義した関数データを格納する関数データファイル
と、プログラムの作成実行に際して読み込まれる言語の
演算子の誤りをチェックする演算子管理部とを備え、前
記演算子管理部は前記基本演算子データとユーザ定義演
算子データとを統合した演算子データを作成し、前記言
語の演算子及びその引数について前記統合した演算子デ
ータ及び関数データに適合するか否かで該演算子の誤り
をチェックすることを特徴とする。
【0011】
【作用】プログラム言語が持つ基本演算子とユーザ定義
演算子について関数データによる引数のチェック機能を
持つ演算子管理を行い、プログラム言語の読み込み時に
該言語に使用される演算子について誤りのチェックを行
う。ユーザ定義演算子とその関数データを持った管理に
より、ユーザ定義による任意の演算子追加を可能とす
る。
【0012】
【実施例】図1は本発明の一実施例を示す構成図であ
り、エキスパートシステムに適用した場合である。エキ
スパートシステムは、基本的には知識ベース1に専門家
の知識をコーティングしたルールとして格納しておき、
このルールをリーダ部2を通して推論実行部3に読み込
み、推論実行部3によって推論を行うことで与えられた
問題に対する解答を得る。推論実行部3による推論にワ
ーキングメモリ4が事実データの格納や推論途中のデー
タ格納がなされる。
【0013】推論実行部3を含む推論シエル5は、演算
子管理部6及び演算子管理用データファイル7〜10を
モジュールとして備える。基本演算子データファイル7
は推論シエル5が使用するプログラム言語に予め定義さ
れる基本演算子データを格納しておく。ユーザ定義演算
子データファイル8は、構造体のデータ構成にしたユー
ザ定義演算子データを格納しておく。総合演算子データ
ファイル9は基本演算子データとユーザ定義演算子デー
タをファイル7,8から読み込みシステムの演算子とし
て作成及び保管する。ユーザ定義演算子用関数データフ
ァイル10は、ユーザ定義演算子を使った関数データを
格納する。
【0014】演算子管理部6は、関数定義ファイルを読
み込みリーダ部2が知識ベース1から読み込むルールに
使用される演算子について引数の数,型等について適合
性をチェックし、誤った演算子が存在するときにエラー
メッセージを出力すると共に推論実行部には推論中止を
指令する。
【0015】演算子定義ファイルは下記表1及び2に例
示する構造体にされる。
【0016】
【表1】
【0017】
【表2】
【0018】上述の構成において、推論シエル5はその
起動時に基本演算子データファイル7からの演算子デー
タを読み込む。さらに、ユーザ定義演算子データを読み
込むように指定されていて、実際にファイル8に存在す
れば該演算子データを読み込む。同時に、演算子に対応
する関数の入っている関数定義ファイル(表参照)も読
み込む。
【0019】以上の読み込み動作によって推論シエル5
が利用できる演算子データが定義される。この後、リー
ダ部2が知識ベース1からルールを読み込むときに、演
算子データとその引数は演算子管理部6に引き渡され
る。
【0020】演算子管理部6は演算子が取る引数の数や
型が演算子定義に反する場合には関数定義ファイルで定
義されるエラーメッセージを表示し、正しければ推論内
部データとして演算子名と関数名を置換し、ワーキング
メモリ4に保存する。そして、推論実行部3はこの推論
用知識ベースを基にして推論を実行する。
【0021】従って、基本演算子として持たない演算子
についてはユーザ定義演算子データとしてユーザが自由
に定義でき、しかも該定義演算子の引数の型や数等につ
いて自動的にチェックされてユーザ自身が誤りをチェッ
クすることを不要にする。ユーザ定義演算子のチェック
は、例えば (1)演算子 + (1−a)引数2 確信度default 1.0 (1−b)引数3 確信度default 1.0 について演算子名が+になって前記表2の関数定義を使
ったチェックを行う。このとき、引数の数は2つ以上に
なって引数の数(>=2)に適合し、引数の型はどちら
もnumberになって型(number,floa
t)に適合し、確信度の型はどちらもfloatになっ
て確信度演算方法(MIN)に適合し、当該演算子に誤
りはないとしてその使用が許容されるし、エラー表示も
行われない。
【0022】ここで、確信度演算方法MINは演算関数
になるもので、下記表3に示す。
【0023】
【表3】
【0024】上記表中、確信度の演算関数は確信度を持
つことはないので「確信度演算方法」及び「確信度の
型」は定義を持たない。
【0025】他のユーザ定義演算子のチェックとして、 (2)演算子 + (2−a)引数(X=234)確信度 0.8 (2−b)引数3 確信度 1.0 の場合、引数の数は2つで引数の数(=>2)に適合
し、引数の型は(2−a)がnumberあるいはfl
oatになるし(2−b)がnumberになって引数
の型(number,float)に適合し、確信度の
型はどちらもfloatになって確信度演算方法の関数
MINに適合し誤りは無いと判定される。
【0026】図2は本発明の他の実施例を示す。同図が
図1と異なる部分は、ユーザ定義演算子のエディタ11
を設けた点にある。ユーザによる演算子定義を容易に
し、また定義した演算子が正常に動作するか否かのチェ
ック機能をもたせることで誤った定義を防止するもので
ある。
【0027】エディタ11の入出力装置にはCRT表示
装置12やマウス13さらにキーボード14を備え、メ
ニユーやコマンドさらに編集ウィンドウなどの画面表示
方式によるユーザとのマン・マシン・インターフェース
を構成する。
【0028】エディタ11のソフトウェア構成には演算
子試験用データファイル15と演算子定義試験部16及
び知識ベースエディタ部17を備える。
【0029】演算子試験用データファイル15には演算
子定義メニユーデータやユーザが定義入力する引数の型
や値を格納し、さらに編集途中に使用するデータを格納
する。演算子定義試験部16はユーザによる演算子定義
入力処理及び該定義入力した演算子についての引数の型
や値の適合性を試験する。知識ベースエディタ部17は
知識ベース1へのルール入力処理をテキスト画面又はウ
ィンドウ機能を有して編集する。
【0030】演算子定義試験部16による処理にはマウ
ス13のクリック等によってメニユーや編集ウィンドウ
が開くものとそうでないものに区別されるが、編集を簡
単にするためメニユーによる編集を可能とし、演算子定
義の難しさを解消する。図3は演算子定義エディタ画面
例を示し、前述の演算子定義構造体のメンバ名表示と、
マウス操作又は順次操作によるカーソル(矢印で示す)
が指示するメンバ名に必要なキー入力結果の表示と、カ
ーソル位置の各メンバについての入力ガイドライン表示
及び関数試験実行や定義入力に必要なガイドを画面表示
するヘルプ実行の選択窓が表示される。
【0031】また、演算子定義構造体のメンバについて
は、斜線部分をマウスクリックすることでその入力編集
を行うためのメニユーや編集ウィンドウへの分割画面表
示(マルチウィンドウ)処理を行う。図4及び図5はメ
ニユー例を示し、図4では確信度演算についてのメニユ
ー例を示し、演算選択メニユーの選択には演算方法MI
N(最小値)やMAX(最大値)を選択できるように
し、演算編集では選択された演算方法についての確信度
の型を制約した編集を行う。
【0032】図5では引数の型や返却値の型を選択する
メニユー例を示し、斜線部分で示すカラー表示部分の型
が選択されていることを示す。
【0033】これらメニユーや編集ウィンドウによる演
算子定義機能のほか、エディタ11は通常の文字編集用
エディタ(テキストエディタ)機能を備える。この機能
により、新しい確信度演算子を定義するときや関数定義
ファイルで新規作成するときにユーザが自由に入力でき
るようにする。
【0034】図3の画面表示において、関数試験の選択
では定義した関数に定義した引数の数と型にしたがった
代表的な値を組合わせて当該関数を実行し、この結果を
データファイル15に保存する。この保存データは図6
に示すメニユー選択によりユーザが画面表示からエラー
があるかどうかをチェツクしたり、エラーが出る引数の
組合わせをチェツクすること、さらにエラーがでる引数
の値をチェツクすることで定義関数の適合性チェツクを
可能にする。
【0035】ここで、引数の組合わせについて説明す
る。前述の表又は図3に示す演算子定義構造体から、定
義関数の引数の数が(=2)で引数の型が(numbe
r又はfloat)及び返却値の型が(number)
であるとき、定義関数に対してnumber×numb
er、number×float、float×flo
atの組合わせで夫々の代表値を与えて演算を実行す
る。その結果になる返却値の型がnumberであると
きに定義関数に誤りがないことになる。同様に、確信度
についても引数の組合わせでチェツクする。
【0036】なお、実施例ではエキスパートシステムに
適用する場合を示すが、他のアプリケーションプログラ
ムに適用できるのは勿論である。
【0037】
【発明の効果】以上のとおり、本発明によれば、ユーザ
定義演算子を関数データによる誤りチェツク管理機能を
有して基本演算子に追加できるようにしたため、以下の
効果を奏する。
【0038】(1)ユーザ定義による任意の演算子追加
ができ、ユーザ定義関数と同等の機能を持ちながら誤り
チェツクをユーザが行うことを不要にする。
【0039】(2)任意演算子の追加により、演算内容
によって複数のプログラム言語を使い分ける必要性が無
くなる。
【0040】(3)演算子の誤りをメッセージ表示する
ことで演算子定義の誤りを容易に知ることができる。
【0041】(4)プログラムの作成,実行に際して演
算子の誤りをチェツクできるため、プログラムの実行前
に誤りのチェツクができ、プログラムの実行途中での誤
り発見に較べてプログラム作成の効率を高め、またプロ
グラム実行途中で誤りを発見できない場合のバグ残りの
問題も起きない。
【0042】また、本発明によれば、演算子定義のため
のデータ入力編集と試験機能を持つエディタを設けたた
め、以下の効果を奏する。
【0043】(a)演算子定義を初心者でも簡単にでき
る。一方熟練者には定義のための制約事項がかえって難
しくすることがあるが、メニユー方式によって容易にす
る。
【0044】(b)定義した演算子について代表的な数
値等を使った試験を行うことで演算子定義の適合性を定
義時にチェツクする。
【図面の簡単な説明】
【図1】実施例の構成図。
【図2】他の実施例の構成図。
【図3】エディタの画面表示例を示す図。
【図4】確信度演算メニユー画面図。
【図5】型選択メニユー画面図。
【図6】関数試験メニユー画面図。
【符号の説明】
1…知識ベース、2…リーダ部、3…推論実行部、4…
ワーキングメモリ、5…推論シエル、6…演算子管理
部、7…基本演算子データファイル、8…ユーザ定義演
算子データファイル、9…統合演算子データファイル、
10…ユーザ定義演算子用関数データファイル、11…
エディタ、15…演算子試験用データファイル、16…
演算子定義試験部。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 プログラム言語が持つ基本演算子データ
    を格納する基本演算子データファイルと、ユーザが任意
    に定義した演算子データを格納するユーザ定義演算子デ
    ータファイルと、前記ユーザ定義演算子データを構造体
    で定義した関数データを格納する関数データファイル
    と、プログラムの作成実行に際して読み込まれる言語の
    演算子の誤りをチェックする演算子管理部とを備え、前
    記演算子管理部は前記基本演算子データとユーザ定義演
    算子データとを統合した演算子データを作成し、前記言
    語の演算子及びその引数について前記統合した演算子デ
    ータ及び関数データに適合するか否かで該演算子の誤り
    をチェックすることを特徴とするプログラム言語の演算
    子管理方式。
  2. 【請求項2】 演算子試験用データファイルと演算子定
    義試験部を有し、ユーザが定義する演算子についてのメ
    ニユー方式によるデータ入力編集及び試験を行うエディ
    タを備えた請求項1記載のプログラム言語の演算子管理
    方式。
JP3182171A 1991-07-23 1991-07-23 プログラム言語の演算子管理方式 Pending JPH0527979A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3182171A JPH0527979A (ja) 1991-07-23 1991-07-23 プログラム言語の演算子管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3182171A JPH0527979A (ja) 1991-07-23 1991-07-23 プログラム言語の演算子管理方式

Publications (1)

Publication Number Publication Date
JPH0527979A true JPH0527979A (ja) 1993-02-05

Family

ID=16113590

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3182171A Pending JPH0527979A (ja) 1991-07-23 1991-07-23 プログラム言語の演算子管理方式

Country Status (1)

Country Link
JP (1) JPH0527979A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022177793A (ja) * 2021-05-18 2022-12-01 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド ディープラーニングフレームワークのオペレータ登録方法、装置、デバイス及び記憶媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022177793A (ja) * 2021-05-18 2022-12-01 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド ディープラーニングフレームワークのオペレータ登録方法、装置、デバイス及び記憶媒体

Similar Documents

Publication Publication Date Title
US6658622B1 (en) Self-diagnosing and self-correcting data entry components with dependency behavior
JP4058118B2 (ja) プログラム生成システム及び方法
JP3136035B2 (ja) データベースシステム用インターフェースのための自動レイアウト・ジェネレータ及びその生成方法
US5206950A (en) Software development system and method using expanding outline interface
US6678716B1 (en) System and method for managing processes
US8386919B2 (en) System for displaying an annotated programming file
US6341359B1 (en) Self-diagnosing and self correcting data entry components
US20050210445A1 (en) Graphical editor for program files
JPH02272645A (ja) プログラム・デバツグ支援方法
WO2006003485A2 (en) Automatic guide for data analysis
Chapin New format for flowcharts
KR101137067B1 (ko) 출판 디자인 문제점을 검사 및 해결하기 위한 시스템 및방법
US20050060685A1 (en) Program generator
US5781905A (en) Program generating method combining data item part with database manipulation part
Dix Formal methods: an introduction to and overview of the use of formal methods within HCI
JPH0527979A (ja) プログラム言語の演算子管理方式
EP0378899A2 (en) Operating environment for software using different data structures
JPH02275539A (ja) デバッグ処理方式
KR102588597B1 (ko) Uml 시퀀스 다이어그램의 대체 에디터로서 오퍼레이션 로직 디자이너를 이용하여 프로그램을 설계하는 방법 및 그를 이용한 장치
Amsellem ChyPro: A hypermedia programming environment for SmallTalk-80
JPS6383861A (ja) 数式自動処理方式
Ludewig et al. SPADES—a specification and design system and its graphical interface
Hansen Mastering Excel 2003 Programming with VBA
JP4127318B2 (ja) プログラム生成方法および装置
McEwan A Visual Single-Step Navigator for the Eclipse PEPA Plug-in