JPH0269832A - 式処理における定義演算子処理方式 - Google Patents

式処理における定義演算子処理方式

Info

Publication number
JPH0269832A
JPH0269832A JP22211988A JP22211988A JPH0269832A JP H0269832 A JPH0269832 A JP H0269832A JP 22211988 A JP22211988 A JP 22211988A JP 22211988 A JP22211988 A JP 22211988A JP H0269832 A JPH0269832 A JP H0269832A
Authority
JP
Japan
Prior art keywords
operator
definition
processing
expression
definition operator
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
JP22211988A
Other languages
English (en)
Inventor
Kazunari Nagashima
長島 千成
Ryuichi Umekawa
竜一 梅川
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP22211988A priority Critical patent/JPH0269832A/ja
Publication of JPH0269832A publication Critical patent/JPH0269832A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 式に現れた定義演算子の式処理を行う定義′/?i算子
処連子処理方式、 ユーザ固有の定義演算子を定義および処理を記述した関
数副プログラムを予め作成しておき、式処理で定義演算
子の織りが現れた場合に該当する関数副プログラムを式
処理結果としで出力し、ユーザが定義した定義演算子に
よる処理を可能にすることを目的とし、 定義演算子の定義およびこの定義演算子によって実行す
る処理を予め記述した関数副プログラムと、この関数副
プログラムによって定義された定義演算子の綴りおよび
この関数副プログラムに対応づけるための指票を予め登
録した演算子副局簿とを備え、入力された式言から取り
出した定義演算子の綴りに対応する該当演算子副局簿を
見つけ出し、この見つけ出した演算子副局簿の指票に対
応する」二記関数副プログラムを定義演算子の式処理結
果として出力するように構成する。
〔産業上の利用分野〕
本発明は、式に現れた定義演算子の式処理を行う定義演
算子処理方式に関するものである。
〔従来の技術と発明が解決しようとする課題〕従来のコ
ンパイラ(例えばFORTRAN77ご1ンパイラなど
)は、ユーザ自身が使用したい特別な処理を行う式を、
定義した演算子(定義演算子)という形で実現していな
かった。このため、ユーザが頻繁にある式を用いて処理
を行おうする場合、使い勝手の悪いしかも正確性などの
面で問題があった。
本発明は、ユーザ固有の定義演算子を定義および処理を
記述した関数副プログラムを予め作成しておき、式処理
で定義演算子の啜りが現れた場合に該当する関数副プロ
グラムを式処理結果として出力し、ユーザが定義した定
義演算子による処理を可能にすることを目的としている
〔課題を解決する手段〕 第1図を参照して課題を解決する手段を説明する。
第1図において、関数副プログラム4は、定義演算子を
定義および処理を予め記述したものである。
式解析部12は、入力された式言を解析して定義演算子
の綴りなどを取り出すものである。
定義演算子判別部13は、式解析部12によって解析さ
れて取り出された定義演算子の綴りに対応する関数副プ
ログラム4を見つけ出すなどするものである。
〔作用〕
本発明は、第1図に示すように、定義演算子の定義およ
びこの定義演算子によって実行する処理を予め記述した
関数副プログラム4を作成しておき、式解析部12が入
力された式言を解析して定義演算子の啜りなどを取り出
し、定義演算子判別部13がこの取り出した定義演算子
の啜りに対応する関数副プログラム4を見つけ出し、式
処理結果として出力(例えば手続き引用簿に関連づけて
格納)するようにしている。
従って、式処理で定義演算子を含む式が現れた場合に、
定義演算子の綴りに対応する関数副プログラム4を検索
して見つけ出し、手続き引用簿に関連づけて格納などす
ることにより、定義演算による処理を展開することが可
能となる。
〔実施例〕
次に、第1図から第3図を用いて本発明の1実施例の構
成および動作を順次詳細に説明する。
第1図において、演算子周溝1は、演算で使用する定義
演算子を含む全ての演算子をコードの形で登録したもの
である。
演算子副局簿2は、定義演算子の綴り(例えば“、TE
IGl、” )および単位y13への指票などを格納す
るものである。この演算子副局簿2は、同じ演算子コー
ドのものを図示のように複数連鎖させてもよい。
単位i’ii3は、関数副プログラム4の基点悄輻を格
納したものである。
関数副プログラム4は、■に示す定義演算子の啜り“、
TEIGl、”およびこの定義演算子によって実行する
処理などを記述したものである。
入力5は、図示外の構文解析部によって式(例えば“^
、TE[G1.B”)を解析した式言である。
定義演算子綴り棚6は、式言から取り出した綴りを格納
した綴り’;116 1をポイントするポインタ(PO
INTER)を格納するものである。
区切り棚7は、式言から取り出した定義演算子のコード
などを格納するものである。
文節部8は、式言から取り出した文節部(例えば文節(
A、B)など)を格納するものである。
定義処理部11は、定義演算子を定義および定義演算子
によって実行する処理を予め関数副プログラムとして記
述などする定義処理を行うためのものである。
次に、第1図構成の動作を順次説明する。
第1に、定義処理部11が定義演算子およびこの定義演
算子による処理を定義する関数副プログラム4を作成す
る手順を説明する。
(1−1)定義演算子“、TETGl、”を図中■に示
すように定義する。
(1−2)式の変数A、変数Bの型を図中■に示すよう
に定義する。
(1−3)式の変数A、変数Bによる処理を図中■に示
ずように定義する。これは、CHAR型のBの長さを求
めて、INT型のAと加算する処理を定義している。
以上の手順によって、ユーザ固有の定義演算子“、TE
IGl、”およびこの定義演算子による処理を定義した
こととなる。
第2に、定義処理部11が定義演算子を記憶しておく簿
を作成する手順を説明する。
(2−1)定義演算子の綴り“、TEIGl、”を演算
子副局簿2中に■に示すように登録する。
(2−2)実行する単位13へのポインタを演算子副局
簿2中の■に示すように登録する。この際、併せて単位
71w3から関数副プログラム4を図示のようにポイン
トすると共に、演算子周溝1の該当定義演算子のコード
の位置からこの演算子副局簿2の先頭を図示のようにポ
イントする。尚、演算子周溝1の定義演算子の同一コー
ドから複数の定義演算子の綴りが図示“、TEIGl、
”  “、TEIGl2.”のように複数ある場合には
、演算子副局′;12から連鎖(ポインタ)によって連
結する。また、同じ織りで違う定義がある場合には、第
2図に示すように、要素並び周溝を連鎖させ、そこから
それぞれの単位連を指票させる。
第3に、式解析部12が入力された式言について、棚(
スタック)を使用して式を解析する手順を説明する。
(3−1)入力5の先頭の式言から取り出した文節部“
A”を文節部8に■に示すように格納する。
(3−2)入力5の先頭の式言から取り出した区切り記
号部“、TEIG[、”のコードを区切り棚7に■に示
すように格納すると共に、この区切り記号部“。
TEIGl、”の織りを綴り簿6−1に格納し、これを
ポイントするポインタを■に示すように定義演算子綴り
棚6に格納する。
(3−3)入力5の第2番目の式言から取り出した文節
部“B”を文節部8に■に示すように格納する。
以上の手順によって、式言の解析が実行され、各欄に図
示のような情報が格納されることとなる。
第4に、定義演算子判別部13が弐解析の一環として定
義演算子が現れたときの判別について説明する。
(4−1) (3−3)の続きとして式言の第2番目の
区切り記号部のコードと、現在の区切り棚7に格納され
ている区切り記号部のコードとを比較する。
比較の結果、定義演算子のコードの方が優先順位が高い
ので、以下のものを取り出す。
区切りコード 文節部8の文節(A、B) 綴り16−1の織り“、TEIGl、”(4−2)この
取り出した区切りコードと、同じコードを持つものを演
算子局7fIJ1から検索して見つける。
(4−3) (4−2)で見つけた演算子周溝1の定義
演算子から指票される演算子副局簿2の啜りあるいは更
に連鎖されている他の演算子副局簿2の啜りと、(4−
1)で取り出した定義演算子織り“、TEIGI”とを
順次比較し、一致する演算子副局簿2を見つける。ここ
では、■の綴りが一致するので、これが見つけた演算子
副局7IJ2となる。
(4−4) (4−3)で見つけた演算子副局簿2から
指票される単位連3の先の関数副プログラム4の型宣言
と、(4〜1)で取り出した文節(A、B)の型、およ
び形状が一致するか否かを検査する。
(4−5) (4−4)の検査で一致した場合には、定
義演算と判定し、関数を表す第3図に示す手続き引用周
溝を作成する。
(4−6) (4−4)の検査で一致しなかった場合に
は、同じ織りで他の定義がされている第2図に示す要素
および周溝の連鎖を順次辿り同様に検索する。
以上の手順によって、定義演算子の区切りコード、文節
、および綴りが一致した関数副プログラム4を検索して
見つけ出したこととなる。
第5に、第4で定義演算と判定した関数副プログラム4
などについて、第3図手続き引用周溝に図示にように格
納する。手続き引用周溝は、関数を解決する情報を格納
した簿である。この手続き引用周溝の指票から単位溝を
介してポイントされる関数副プログラムは、(4−5)
で定義演算と判定した関数副プログラム4である。
【図面の簡単な説明】
第1図は本発明の1実施例構成および動作説明図、第2
図は同し綴りの定義演算子がある場合の説明図、第3図
は手続き引用周溝例を示す。 図中、2は演算子副局簿、4は関数副プログラム、5は
入力(式言)、6は定義演算子綴り棚、6−1は綴り棚
、7は区切り棚、8は文節棚、11は定義処理部、12
は式解析部、13は定義演算子判別部を表す。 〔発明の効果〕 以上説明したように、本発明によれば、ユーザ固をの定
義演算子を定義および処理を記述した関数副プログラム
を予め作成しておき、式処理で定義演算子の綴りが現れ
た場合に該当する関数副プログラムなどを式処理結果と
して出力(手続き引用周溝に格納)する構成を採用して
いるため、ユーザが定義した定義演算子による処理を展
開することができる。これにより、ユーザ固有の処理を
容易にプログラミングすることが可能となる。

Claims (1)

  1. 【特許請求の範囲】 式に現れた定義演算子の式処理を行う定義演算子処理方
    式において、 定義演算子の定義およびこの定義演算子によって実行す
    る処理を予め記述した関数副プログラム(4)と、 この関数副プログラム(4)によって定義された定義演
    算子の綴りおよびこの関数副プログラム(4)に対応づ
    けるための指票を予め登録した演算子副局簿(2)とを
    備え、 入力された式言から取り出した定義演算子の綴りに対応
    する該当演算子副局簿(2)を見つけ出し、この見つけ
    出した演算子副局簿(2)の指票に対応する上記関数副
    プログラム(4)を定義演算子の式処理結果として出力
    するように構成したことを特徴とする式処理における定
    義演算子処理方式。
JP22211988A 1988-09-05 1988-09-05 式処理における定義演算子処理方式 Pending JPH0269832A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22211988A JPH0269832A (ja) 1988-09-05 1988-09-05 式処理における定義演算子処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22211988A JPH0269832A (ja) 1988-09-05 1988-09-05 式処理における定義演算子処理方式

Publications (1)

Publication Number Publication Date
JPH0269832A true JPH0269832A (ja) 1990-03-08

Family

ID=16777456

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22211988A Pending JPH0269832A (ja) 1988-09-05 1988-09-05 式処理における定義演算子処理方式

Country Status (1)

Country Link
JP (1) JPH0269832A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5010624A (en) * 1988-12-09 1991-04-30 Hans Stahlecker Spinning machine having several spinning points

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5010624A (en) * 1988-12-09 1991-04-30 Hans Stahlecker Spinning machine having several spinning points

Similar Documents

Publication Publication Date Title
Reddy et al. Transforming dependency structures to logical forms for semantic parsing
US6219831B1 (en) Device and method for converting computer programming languages
JPH0269832A (ja) 式処理における定義演算子処理方式
Hastings Design and implementation of a speech recognition database query system
JPH02129756A (ja) 単語照合装置
Nirenburg et al. HUHU: the hebrew university hebrew understander
JP3007356B2 (ja) コンパイル装置
JP3311775B2 (ja) ポインタベクトル化方式
CN121657981A (zh) 基于图模型与多阶段dsl生成的ai编码工具增强方法
JPH02178845A (ja) データベース操作言語のプリコンパイル方式
JPH02208775A (ja) 機械翻訳方式
JPH036622A (ja) コンパイルリスト出力装置
JPH034366A (ja) データベース問い合わせ処理方式
Stognii et al. A symbolic manipulation language for hypertext systems
JPH06214798A (ja) プログラミング言語のコンパイラ
JPS62282329A (ja) 情報処理装置
Novikov File mapping Rule-based DBMS and Natural Language Processing
JPH0752391B2 (ja) 複数データベース記述を含む原始プログラムの翻訳方式
JPH0490051A (ja) 自然言語自動翻訳装置
Perwaiz An extensible system for the automatic translation of a class of programming languages
Gracida et al. NPS-PASCAL: a partial implementation of PASCAL for a microprocessor-based computer system.
JPH04149636A (ja) クロスリファレンス処理方式
JPH0468664B2 (ja)
JPH0239241A (ja) コンパイラ
JPH0425970A (ja) 名標登録検索方式