JPH052487A - 言語処理方式 - Google Patents

言語処理方式

Info

Publication number
JPH052487A
JPH052487A JP13284391A JP13284391A JPH052487A JP H052487 A JPH052487 A JP H052487A JP 13284391 A JP13284391 A JP 13284391A JP 13284391 A JP13284391 A JP 13284391A JP H052487 A JPH052487 A JP H052487A
Authority
JP
Japan
Prior art keywords
type information
execution
musical
structural type
musical notation
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
JP13284391A
Other languages
English (en)
Inventor
Ryuji Tajima
隆二 田嶋
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP13284391A priority Critical patent/JPH052487A/ja
Publication of JPH052487A publication Critical patent/JPH052487A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【構成】 特定構造型情報抽出行程11が、算譜にある
特定構造型情報を抽出する。この特定構造型情報は、構
造型情報を補完するもので、ありえない構造型を特定構
造型情報として定義し、不要な後戻り処理を削除できた
り必要な処理のみを実行させたりすることが可能とな
る。構造型情報補完行程14は、構造型情報抽出行程1
3で算譜から得られる構造型情報に対して、特定構造型
情報に基づいて、ありえない構造型を判定して補完され
た構造型情報を作成する。実行算譜生成行程15は、そ
の補完された構造型情報に基づいて実行算譜を生成す
る。 【効果】 後戻り制御のない高速で小容量の直接実行算
譜を得れる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、言語処理方式に関す
るものであり、たとえば一階述語論理により動作を決定
する論理型言語のプログラムを直接実行算譜に変換する
方式に関するものである。
【0002】
【従来の技術】
従来例1.従来の論理型言語を直接実行算譜に変換する
論理型言語処理方式(以後、”論理型言語処理方式”と
称する)を図6、図7を用いて説明する。図6は、論理
型言語で記述された算譜の例を示す図であり、図7は、
図6で示される論理型言語で記述された算譜が計算機械
で実行できる低級の言語変換された算譜(以後、”直接
実行算譜”と称する)の例である。以下、同図に基づ
き、その論理型言語で記述された算譜と直接実行算譜及
び変換方式について説明する。
【0003】まず、図6に基づき、論理型言語で記述さ
れた算譜について説明する。1は、論理型言語で記述さ
れた特定の処理手順を定義した算譜である。1aは、算
譜1を構成する算譜の単位(以後、”算譜単位”と称す
る)であり、算譜1のある特定の処理の一部を定義した
ものである。同様に、1bも算譜単位であり、算譜1の
ある特定の処理の一部を定義したものである。また、1
cは、算譜単位の集まりであり、算譜1の算譜単位1
a、算譜単位1bを除いた残りの算譜単位のあつまりで
ある。算譜1は、各算譜単位で定義された処理手順の集
まりにより、その処理手順が定義されるものである。ま
た、算譜単位1aの[Car|Car]は、算譜単位1
aの第一仮引数であり、算譜単位1bのATOMは、算
譜単位1bの第一仮引数である。これらの第一仮引数
は、図示しない他の算譜から呼ばれて、その算譜単位が
実行されるときに、他の算譜の第一実引数の値が代入さ
れるものである(以下、呼ぶ側の算譜の引数を実引数と
いい、呼ばれる側の算譜の引数を仮引数といい、両者を
区別する必要がないときは単に引数という)。そして、
論理型言語の典型的な基本制御手段により、各算譜単位
は、この算譜1を利用する図示しない他の算譜の第一実
引数の構造型の情報(以後”構造型情報”と称する)に
より、実行される算譜単位が決定される。すなわち、こ
の算譜1を起動したときの、第一仮引数の構造型情報に
より、実行すべき算譜単位が選択される。また、同様に
論理型言語の典型的な基本制御手段により、はじめに選
択された算譜単位の実行が失敗した場合、選択された算
譜単位の次の算譜単位に実行が移される(以後、”後戻
り処理”と称する)。したがって、この算譜1を、直接
実行算譜に変換する場合、従来のような構造型情報によ
る実行制御を直接利用して、直接実行算譜を生成するこ
とができない。なぜなら、構造型情報のみの実行制御手
段にくわえて、論理型言語の特有の後戻り制御を加えた
制御手段を定義した直接実行算譜を生成しなくてはなら
ないからである。
【0004】つぎに、以上のような論理型言語で記述さ
れた特定の算譜を、従来の論理型言語処理方式により変
換した直接実行算譜について説明する。図7は図6で示
される算譜1を、従来の論理型言語処理方式により変換
した特定の直接実行算譜を示している。以下、同図に基
づき変換された直接実行算譜について説明する。4は直
接実行算譜であり、図6の算譜1を従来の論理型言語処
理方式で変換して得られた特定の直接実行算譜である。
4aは命令であり、計算機械が直接に実行することがで
きる機械言語である。命令4aは、ここで定義されてい
る処理手順を呼び出したときに、その第一仮引数の構造
型情報により実行の制御を変更することをあらわしてい
る。たとえば、構造型情報が以下の3種類である場合を
例にして説明する。 (1)未定義変数(var) (2)リスト(list) (3)コンスタント(const) この場合、命令4aのvar(lab1)により、第一
仮引数の構造型情報がvarであれば、番地部lab1
に実行の制御を移すことをあらわしている。lab1に
実行が移った後は、lab1以降の命令が実行される。
list(lab2)についても同様であり、第一仮引
数の構造型情報がlistであれば、番地部lab2に
実行の制御が移り、lab2以降の命令が実行される。
const(lab4)についても同様である。このよ
うに、図示しない他の算譜の第一実引数の構造型情報に
よって、呼ばれた算譜4の実行される部分は異なってく
る。次に、4bは、後戻り制御のための命令であり、先
頭のlab1はその命令のある番地部を示してある(以
下同様である)。命令1bは、この命令の次に定義され
ている処理が失敗した場合、lab3で示される番地部
の命令に実行の制御を移すことを表している。処理が成
功した場合は、直接実行算譜4の実行が成功したことを
あらわしている。4cは直接実行算譜の部分(以後、”
直接実行算譜部分”と称する)であり、特定の処理を定
義しているもので、図6の算譜単位1aと対応してい
る。4dは命令であり、命令4bと同様に後戻り制御の
意味を持つ。4eは直接実行算譜部分であり、特定の処
理を定義しているもので、図4の算譜単位1bと対応し
ている。4fは直接実行算譜部分であり、特定の処理を
定義しているもので、図4の算譜単位1cと対応してい
る。
【0005】以下、図6に基づき従来の論理型言語処理
方式における、論理型言語で記述された特定の算譜を直
接実行算譜に変換する方法について説明する。算譜1
は、算譜単位1a、算譜単位1bおよび1cの算譜単位
の集まりにより形勢されている。各算譜単位は、図示し
ない算譜の第一実引数の構造型情報により実行の制御が
決定されるために、各構造型情報をもとに実行制御を行
う命令として、図7で示される命令4aを生成する。し
かし、ある特定の構造型情報においては、後戻り制御を
直接実行算譜4の中に定義する必要がある。この特定の
構造型情報をもつ第一仮引数が与えられたとき、算譜単
位1aを最初に実行し、その実行が成功した場合は算譜
1の実行が成功、その実行が失敗した場合は、次の算譜
単位1bを実行する(以下、各算譜単位において同様な
実行の制御が与えられる)といった、制御を直接実行算
譜4の中に定義する。この制御の方法の記述は、図7の
命令4bと命令4dなどのように生成する。以上のよう
に、構造型情報による実行の制御および後戻り制御を記
述した図7で示される直接実行算譜4が生成される。
【0006】従来例2.従来の論理型言語を直接実行算
譜に変換する他の論理型言語処理方式を図8、図9を用
いて説明する。例えば、図8で示される論理型言語で記
述された算譜を直接実行算譜に変換すると、図9で示さ
れる直接実行算譜に変換される。この方式では、図8で
示される論理型言語で記述された算譜を、図9で示され
る直接実行算譜に変換することはできるが、直接実行算
譜を実行する速度は遅く、直接実行算譜の算譜容量も小
さくないものである。
【0007】以下、同図に基づき、その論理型言語で記
述された算譜と直接実行算譜及び変換方式について説明
する。以下、図8に基づき、論理型言語で記述された算
譜について説明する。図8は論理型言語で記述された算
譜である。1は算譜であって、特定の処理手段を記述し
た定義であり、特定の関数記号と任意の数の引数をもつ
算譜である。1aは1を構成する算譜の一つで、第一引
数に任意の定数をもつ算譜の単位(以下、”算譜単位”
と称する)であり、1を実行する場合、最初に処理され
る算譜単位である。1bは、1を構成する最後の算譜単
位であり、1aを実行し、1aの実行が失敗した場合、
次に実行される(最後に実行される)算譜単位である。
この算譜1は、実行される状態での第一引数が定数また
は未定義変数の場合、算譜単位1aを実行し、その実行
が成功した場合に算譜1の処理が終了する。算譜単位1
aの実行が失敗した場合、算譜1において次に実行(最
後に実行)される算譜単位は算譜単位1bであり、算譜
単位1bの実行が成功した場合、算譜1の実行が成功す
る。算譜単位1bの実行が失敗した場合、算譜1の実行
が失敗する。
【0008】この算譜1は、従来の論理型言語処理方式
により、図9で示される直接実行算譜に変換される。以
下、図9に基づき、変換された直接実行算譜について説
明する。4は直接実行算譜であり、変換された直接実行
算譜の全体であり、計算機械が実行できる低級言語(機
械言語)で構成されている。4aは図8で示される算譜
単位1aと対応する直接実行算譜部分である。同様に、
4bは図8で示される算譜単位1bと対応する直接実行
算譜部分である。直接実行算譜4は、直接実行算譜単位
4aと直接実行算譜単位4bから構成され、その直接実
行算譜の実行は、直接実行算譜部分4aが成功した場
合、直接実行算譜4の実行は成功し、直接実行算譜部分
4aが失敗した場合、次に(最後に)直接実行算譜部分
4bを実行する。直接実行算譜部分4bの実行が成功し
た場合、直接実行算譜4の実行は成功し、直接実行算譜
部分4bの実行が失敗した場合、直接実行算譜4の実行
が失敗することを表現している。41aは命令であり、
直接実行算譜4において最初に実行される機械言語の命
令で、最初に直接実行算譜部分4aを実行し、直接実行
算譜部分4aの実行が失敗した場合、次に直接実行算譜
部分4bを実行することを表している。42aは命令
で、第一仮引数の値が第一実引数に単一化(UNIFI
CATION)した場合この命令は成功し、単一化でき
ない場合はこの命令は失敗する。第一実引数の単一化の
ための条件は、第一仮引数がこの命令で示す定数である
か、または第一仮引数が未定義変数の場合である。43
aは命令で、直接実行算譜部分4aの実行が成功した場
合、直接実行算譜4が成功したことを表している。41
bは命令で、直接実行算譜部分4bを実行し、その実行
が失敗した場合、直接実行算譜4の実行が失敗したこと
を表している。42bは命令で、直接実行算譜部分4b
の実行が成功した場合、直接実行算譜4の実行が成功し
たことを表している。
【0009】次に、図8で示される、論理型言語で記述
された算譜1を図9で示される直接実行算譜1に変換す
る方法を、図9に基づき説明する。算譜1は、算譜単位
1aと算譜単位1bから構成されている。そのため、論
理型言語の実行制御方式から、算譜単位1aを最初に実
行し、算譜単位1aの実行が成功した場合、算譜1の実
行が成功する。算譜1単位1aの実行が失敗した場合、
次に算譜単位1bの実行を行う(以後、”後戻り制御”
と称する)。直接実行算譜として、第一仮引数の値が第
一実引数に単一化した場合この命令は成功し、単一化で
きない場合はこの命令は失敗する。第一実引数の単一化
のための条件は、第一仮引数がこの命令で示す定数であ
るか、または第一仮引数が未定義変数の場合である。こ
のため、算譜単位1aと算譜単位1bの実行制御のため
の命令として、図9で示される命令41aを生成する。
次に算譜1aの実行の成功または失敗を判定する命令と
して、図9で示される42aを生成する。算譜1の最後
の実行を表す算譜単位1bにおいては、算譜単位1bの
実行が失敗した場合、算譜1の実行が失敗するため、そ
の実行制御の命令として、図9で示される41bを生成
する。
【0010】
【発明が解決しようとする課題】従来の論理型言語処理
方式は、以上のような方式として構築されているので、
論理型言語で必要な典型的な制御方法を忠実に直接実行
算譜に表現しているという利点や論理型言語で記述され
た算譜で定義されている実行の方法を、そのまま直接実
行算譜に表現しているという利点や論理型言語が定義し
ている典型的な後戻り制御を必要とする構造型情報に対
処した直接実行算譜として表現しているといった利点等
がある。しかしながら、論理型言語で記述された算譜が
定義する実行の制御において、実際には実行時に後戻り
制御を行う構造型情報が与えられないものでも、直接実
行算譜の生成時には引数の取り得る構造型情報が判らな
いため、後戻り制御を必要とする構造型情報に対処した
直接実行算譜として表現しなくてはならず、直接実行算
譜の算譜の容量が大きく、また、直接実行算譜の実行が
高速実行を行うような直接実行算譜への変換ができない
といった問題があった。
【0011】この発明は前述のような問題に鑑みてなさ
れたもので、高速で容量の小さい直接実行算譜を生成す
る言語処理方式を得ることを目的とする。
【0012】
【課題を解決するための手段】第1の発明に係る言語処
理方式は、以下の工程を有するものである。 (a)算譜の中から構造型情報を得る構造型情報抽出工
程、 (b)算譜の中から、上記構造型情報を補完するために
定義された特定構造型情報を得る特定構造型情報抽出工
程、 (c)上記構造型情報を特定構造型情報に基づいて補完
した補完構造型情報を作成する構造型情報補完工程 (d)補完構造型情報に基づいて、実行算譜を生成する
実行算譜生成工程。
【0013】
【課題を解決するための手段】第2の発明に係る言語処
理方式は、以下の工程を有するものである。 (a)算譜を生成する際、後戻り制御を行う算譜を生成
するか否かの条件を抽出する条件抽出工程、 (b)条件抽出工程により抽出された条件に基づいて、
後戻り制御を行なう算譜と行なわない算譜のいずれか一
方を生成する変換工程。
【0014】
【作用】第1の発明に係る言語処理方式は、特定構造型
情報抽出工程が、算譜にある特定構造型情報を抽出す
る。この特定構造型情報は、構造型情報を補完するため
に追加されているもので、いくつかの構造型が存在する
ことによりそのどの構造型であっても実行できるように
後戻り処理等の冗重な実行算譜を生成していた従来の方
法に鑑みて、あらかじめわかっているありえない構造型
を特定構造型情報として定義しているものである。ある
いは、あらかじめ使用するとわかっている構造型のみを
特定構造型情報として定義しておくものである。したが
って、この特定構造型情報を用いることにより不要な後
戻り処理を削除できたり、必要な処理のみを実行させた
りすることが可能となる。構造型情報補完工程は、従来
の方式で算譜から得られる構造型情報に対して、特定構
造型情報に基づいて、ありえない構造型や必要な構造型
を判定して補完された構造型情報を作成する工程であ
り、実行算譜生成工程は、その補完された構造型情報に
基づいて実行算譜を生成するので、無駄な後戻り処理等
の生成が防止できる。
【0015】第2の発明に係る言語処理方式は、条件抽
出工程が、論理型言語で記述された特定の算譜から、特
定の条件を抽出し、その条件にあてはまる算譜は、変換
工程において後戻り制御を用いない算譜に変換できるの
で、高速で算譜の容量の小さい直接実行算譜を得ること
ができる。
【0016】
【実施例】
実施例1.以下に第1の発明を実施例に基づいて説明す
る。図1は、特定の構造型情報を与えた、論理型言語で
記述された算譜を示す図である。図2は直接実行算譜で
あり、図1で示される算譜を、この発明における論理型
言語処理方式によって変換して得られた直接実行算譜で
ある。図3はこの実施例の動作を示すフローチャートで
ある。
【0017】以下、図1に基づき特定の構造型情報を与
えた、論理型言語で記述された算譜について説明する。
1は、特定の構造型情報を与えた、論理型言語で記述さ
れた算譜である。2は、論理型言語で記述された算譜1
に与えられた特定構造型情報である。−(var)は、
未定義変数(var)が、引数の構造型情報として使用
されないことを示したものである。図示しないが、−
(list)の場合は、リスト(list)は引数の構
造型情報として使用されないことを示し、また−(co
nst)の場合は、コンスタント(const)は引数
の構造型情報として使用されないことを示すものとす
る。1bは算譜単位の集まりであり、特定の処理が記述
された算譜である。特定構造型情報2は、図示しない他
の算譜によって算譜単位の集まり1bに与えられる第一
実引数に対する構造型情報であり、図示しない他の算譜
によって算譜単位の集まり1bに与えられる第一実引数
に対応して定義されて設けられた、算譜単位の集まり1
bから抽出される第一仮引数の構造型情報を補うもので
ある。ここで−(var)という特定構造型情報2は、
第一仮引数の構造型情報が未定義変数(var)で使用
されることはなく、リスト(list)かコンスタント
(const)のいずれかであることを示している。し
たがって、この特定構造型情報2を用いることにより、
第一仮引数が未定義変数(var)である場合を考慮し
ない直接実行算譜を生成することができる。ここで算譜
単位の集まり1bから、直接制御を行うことのできる構
造型情報と後戻り制御を行わなくてはならない構造型情
報が抽出されるとする。特定構造型情報2は、抽出され
た構造型情報に対して、第一仮引数により与えれる構造
型情報を補完定義するものであり、この補完定義を用い
ることにより、算譜1の実行において後戻り制御を必要
とする構造型情報が一部または全て必要ない場合、算譜
1から後戻り制御を必要とする構造型情報の一部または
全てを除いた算譜を得ることができる。
【0018】次に、この発明により、論理型言語で記述
された算譜を直接実行算譜に変換した一例について説明
する。以下において、図2に基づき説明を行う。4は直
接実行算譜であり、図1で示される算譜1を、この発明
における論理型言語処理方式で直接実行算譜に変換した
ものである。直接実行算譜4は、図1で示される算譜1
で定義された実行の制御と同一の実行の制御を定義した
ものである。4aは命令であり、この直接実行算譜1が
起動されたときの、第一仮引数で与えられる構造型情報
により、実行の制御を変更する直接制御のための命令で
ある。4bは直接実行算譜であり、図1で示される各算
譜単位の処理を定義したものである。
【0019】次に動作について説明する。図示しない他
の算譜の第一実引数が未定義変数(var)の場合、命
令4aにより、番地部lab1に実行の制御を移るが、
図1の特定の構造型情報2により第一実引数が未定義変
数(var)の場合はありえないとして直接実行算譜を
生成しているので、exit and failにより
エラーとしてこの処理を終了する。また、図示しない他
の算譜からの第一実引数がリスト(list)の場合
は、命令4aにより、番地部lab2に実行の制御が移
り、処理1を実行する。処理1の実行後は、処理2の実
行の可否は一切問わず処理を終了する。また、図示しな
い他の算譜からの第一実引数がコンスタント(cons
t)の場合は、命令4aにより番地部lab3に実行の
制御を移り、処理2を実行する。処理2の実行後は、そ
れ以後に他の処理(たとえば処理3、4、・・・)があ
っても関係なく処理を終了する。以上のように、この直
接実行算譜は、図5で示される直接実行算譜1と比較し
た場合、後戻り制御がなくすべて直接制御のみで定義さ
れている。これは、後戻り制御を必要とする構造型情報
が、図1で示される特定の構造型情報1aにより排除さ
れたためで、高速で容量の小さい直接実行算譜となって
いる。
【0020】つぎに本実施例の典型的な動作について説
明する。以下、図3のフローチャートに基づき説明を行
う。まず、特定構造型情報2が定義されているかどうか
調べる(step 11)。特定構造型情報2が定義さ
れていない場合は、従来どおり論理型言語で記述された
算譜から、第一実引数の構造型情報を抽出する(ste
p 16)。抽出した構造型情報から直接実行算譜を生
成する(step 17)。特定構造型情報2が定義さ
れている場合は、算譜にたいして構造型情報を制限する
構造型情報を得る(step 12)。次に、算譜より
第一仮引数の構造型情報を抽出する(step 1
3)。定義から得られた構造型情報と抽出した構造型情
報を組み合せて、新しい構造型情報を得る(step
14)。算譜より抽出された構造型情報は、算譜が定義
している実行の制御を決定するものであり、従来の方式
では、論理型言語の典型的な制御の手段により、算譜の
記述者が意図しない後戻り制御のための構造型情報が含
まれてしまう。この意図しない構造型情報を算譜の定義
により排除することは、人に対して算譜を理解しずらく
し、かつ、全ての意図しない構造型情報を排除する算譜
の記述は困難なものである。そこで、step 12に
より、明示的に算譜の記述者が、この算譜に定義する処
理から必要な構造型情報または必要でない構造型情報を
与えているため、意図しない構造型情報を変換の際に与
えなくすることが可能となる。このようにして新しく得
られた構造型情報は、後戻り制御を制限した構造型情報
であるため、変換により得られた直接実行算譜は、直接
制御を用いた高速で容量の小さい直接実行算譜となる
(step 15)。
【0021】以上、この実施例では、特定の論理型言語
の直接実行算譜への変換方式と、該変換方式により特定
の条件付けられる論理型言語形式を直接実行算譜に変換
する変換手段とを備えたことを特長とする論理型言語処
理方式を説明した。
【0022】実施例2.なお、上記実施例においては、
特定構造型情報2として必要とされない構造型情報を与
える場合を示したが、必要とされる構造型情報を与える
ようにしてもかまわない。たとえば、+(var)は、
未定義変数(var)が使用されることを示し、+(l
ist)は、リスト(list)が使用されることを示
し、+(const)は、コンスタント(const)
が使用されることを示すようにしてもよい。あるいは、
特定構造型情報2として、必要とされないものと必要と
されるものを混在させて使用してもよい。たとえば−
(var)と+(list)と両方が特定構造型情報と
して与えられた場合は、未定義変数(var)はその算
譜内で使用されないことを示し、リスト(list)は
使用されることを示していることになる。
【0023】実施例3.また、上記実施例の場合は、第
一実引数および第一仮引数の場合を示したが、ここで与
えている特定の構造型情報は、論理型言語で記述した算
譜の第一実引数および第一仮引数のみでなく、それ以降
の第二、第三等の実引数および仮引数に対しても同様に
定義し効率の良い直接実行算譜を得ることができる。
【0024】実施例4.次に、第2の発明の実施例を説
明する。図4は、この発明により生成された直接実行算
譜の一例であり、図5は第2の発明の一実施例である論
理型言語処理方式の動作を示すフローチャートである。
以後、図4に基づき、この発明により生成された直接実
行算譜の一例を説明する。4は直接実行算譜であり、図
8の論理型言語で記述された算譜1を、この発明により
直接実行算譜に変換したものである。41aは直接実行
制御命令であり、第一仮引数と第一実引数が命令で示さ
れる定数として単一化(UNIFICATION)が可
能であるとき、命令で指定された番地に実行制御を移
し、単一化が可能でない場合、次の命令に実行制御を移
すことを表している。3aは単一化可能かどうかを判定
する条件であり、第1引数が定数(コンスタント、CO
NST)である場合は単一化可能であるとして、以下に
述べる命令42aを実行することを示している。また、
3bは、その条件が失敗した場合に、実行制御を変更す
る番地部を表しており、この場合は、第1仮引数が定数
(コンスタント、CONST)以外の未定義定変数(v
ar)であればlab1番地にジャンプすることを示し
ている。次に、42aは命令であり、第1仮引数と第1
実引数の単一化を行う命令である。命令42aは、図8
の算譜単位1aに対応している。43aは命令であり、
実行の終了を表している。4bは直接実行算譜部分であ
り、図8の算譜単位1bに対応している。このように、
図4に示した直接実行算譜によれば、後戻り制御がなく
なり、算譜のサイズが縮小できるとともに、実行速度も
向上することになる。
【0025】次に、図8に示した論理言語で記述された
算譜1から図4に示した直接実行算譜4を生成する本実
施例の典型的な変換方式(動作)を、図5で示されるフ
ローチャートに基づき説明する。本実施例においては、
後戻り制御を行う算譜を生成するかどうかの判定を最初
に行う。後戻り制御を行う場合は、従来の論理型言語処
理方式により、算譜が直接実行算譜に変換される(st
ep 11)。後戻り制御を用いず、直接制御を用いる
ことのできる変換の条件としては、条件抽出工程51に
より以下の条件がチェックされる。論理型言語で記述さ
れている算譜の算譜単位が二つであること(step
12)、最初に出現する算譜単位の第一実引数が構造体
でない定数であること(step 13)、最初に出現
する算譜単位の第一実引数が未定義変数であるとき、処
理系列の中で引数の定数構造判定を行っていること(s
tep 14)、最初に出現する算譜単位の引数の数が
1つであること(step 15)、最初に出現する算
譜単位の引数の数が2つ以上の場合は、2番目の引数以
上がすべて匿名変数であること(step 16)、最
初に出現する算譜単位の引数の数が2つ以上の場合で、
2番目の引数以上がすべて匿名変数でない場合、引数の
単一化および処理系列の中で単一化を行う処理がないこ
と(step 17)、最初に出現する算譜単位の処理
系列により、次の算譜単位の処理が制限されること(実
行されないこと)(step 18)。
【0026】上記の条件を満たさない場合は、従来どお
りの論理型言語処理方式により、図9に示すような後戻
り制御付きで算譜が直接実行算譜に変換される(ste
p11)。上記の条件を満たす場合、直接実行算譜命令
41aにより直接制御の直接実行算譜を生成する(st
ep 19)。ただし、この時点では実行制御を変更す
る番地部3bは未記入である。次に、判定が終った後、
最初に出現する算譜単位の処理系列を従来の変換方法で
直接実行算譜に変換し、命令42aを生成する(ste
p 20)。そして、現在までに割り付けた直接実行算
譜の最後の番地の次の番地lab1を、step 19
で生成した直接実行制御の命令41aの直接実行算譜の
制御変更番地部3bとする(step 21)。以後、
従来の変換方式で算譜単位1bを直接実行算譜4bに変
換する(step 22)。本実施例の動作は、これで
終了である(step 23)。
【0027】実施例5.なお、上記実施例1、2、3、
4では、論理型言語の処理方式を示したが、論理型言語
以外の言語の算譜生成であってもかまわない。
【0028】
【発明の効果】以上説明したように、第1の発明によれ
ば、構造型情報を補完する特定の構造型情報を算譜に与
え、その算譜から、実行算譜を生成するようにしたの
で、高速で容量の小さい実行算譜を生成する言語処理方
式を得ることができる。
【0029】また、第2の発明によれば、論理型言語で
記述された算譜において、特定の条件をもつ算譜は、後
戻り制御を行う直接実行算譜ではなく、直接制御を行う
高速な直接実行算譜を生成することができる。
【図面の簡単な説明】
【図1】この発明における特定の構造型情報を論理型言
語で記述した算譜に与えた算譜の一例を示す図。
【図2】この発明により得られた直接実行算譜の一例を
示す図。
【図3】この発明の一実施例の典型的な動作例を示すフ
ローチャート図。
【図4】この発明により生成された直接実行算譜の一変
換例を示す図。
【図5】この発明の一実施例の典型的な動作例を示すフ
ローチャート図。
【図6】論理型言語で記述された算譜の一例を示す図。
【図7】従来の論理型言語処理方式により得られた直接
実行算譜の一例を示す図。
【図8】論理型言語で記述された算譜の一例を示す図。
【図9】従来の直接実行算譜の一例を示す図。
【符号の説明】
1 算譜 1a、1b、1c 算譜単位 2 特定構造型情報 4 直接実行算譜 4a、4b、4c 命令又は直接実行算譜部分

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 以下の工程を有する言語処理方式 (a)算譜の中から構造型情報を得る構造型情報抽出工
    程、 (b)算譜の中から、上記構造型情報を補完するために
    定義された特定構造型情報を得る特定構造型情報抽出工
    程、 (c)上記構造型情報を特定構造型情報に基づいて補完
    した補完構造型情報を作成する構造型情報補完工程 (d)補完構造型情報に基づいて、実行算譜を生成する
    実行算譜生成工程。
  2. 【請求項2】 以下の工程を有する言語処理方式 (a)算譜を生成する際、後戻り制御を行う算譜を生成
    するか否かの条件を抽出する条件抽出工程、 (b)条件抽出工程により抽出された条件に基づいて、
    後戻り制御を行なう算譜と行なわない算譜のいずれか一
    方を生成する変換工程。
JP13284391A 1991-04-19 1991-06-04 言語処理方式 Pending JPH052487A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13284391A JPH052487A (ja) 1991-04-19 1991-06-04 言語処理方式

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP8807991 1991-04-19
JP3-88079 1991-04-19
JP13284391A JPH052487A (ja) 1991-04-19 1991-06-04 言語処理方式

Publications (1)

Publication Number Publication Date
JPH052487A true JPH052487A (ja) 1993-01-08

Family

ID=26429518

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13284391A Pending JPH052487A (ja) 1991-04-19 1991-06-04 言語処理方式

Country Status (1)

Country Link
JP (1) JPH052487A (ja)

Similar Documents

Publication Publication Date Title
US4853873A (en) Knowledge information processing system and method thereof
US6055368A (en) Batch execution control programming device and method
US10884714B2 (en) Method for modifying models for generating source code
JP3765923B2 (ja) ハードウェア合成方法およびハードウェア合成装置並びにハードウェア合成プログラムを記録した記録媒体
US20030195726A1 (en) Hybrid model generation method and program product
JP2801931B2 (ja) 論理設計処理装置および回路変換ルール翻訳装置ならびに回路変換ルール翻訳方法
JP3318051B2 (ja) 翻訳処理方法
JPH052487A (ja) 言語処理方式
JPS5922140A (ja) 対話型コンパイル方式
JP3940922B2 (ja) ソフトウェアコード生成装置、ソフトウェアコード生成方法および記録媒体並びにプログラム
JP3637606B2 (ja) データ処理装置
JPH0689166A (ja) 部品処理記述展開方式
JP2002312167A (ja) 変数の値をコンピュータに算出させるためのプログラム、コンパイルプログラム、変数値確定方法およびプログラム生成方法
WO2026009375A1 (ja) 指令変換システム、方法およびプログラム
JP4407819B2 (ja) テストパターン編集装置、テストパターン編集プログラム及びテストパターン編集方法
JPH07129384A (ja) 操作手順の自然言語形式ファイルへの変換システム
JP2539070B2 (ja) コンパイラ処理装置
JPH07306801A (ja) プログラムテスト実行方式
JPH05143356A (ja) コンパイラ装置
JPH04242420A (ja) 磁気テープデータ記録方式
WO2021260888A1 (ja) 情報処理装置、情報処理方法、及び、記録媒体
JPH01184539A (ja) アセンブリ言語の並列記述方式
JP2000242482A (ja) アプリケーションプログラムの生成方法並びにアクセスモジュール変形処理方法及びアクセスモジュール変形処理プログラムを記録した媒体
JPS6297031A (ja) 仮数部のビツト数整合方式
JPH02253443A (ja) プログラム生成方法