JPH04140834A - プログラム生成方法およびそのための仕様入力方法 - Google Patents
プログラム生成方法およびそのための仕様入力方法Info
- Publication number
- JPH04140834A JPH04140834A JP26448090A JP26448090A JPH04140834A JP H04140834 A JPH04140834 A JP H04140834A JP 26448090 A JP26448090 A JP 26448090A JP 26448090 A JP26448090 A JP 26448090A JP H04140834 A JPH04140834 A JP H04140834A
- Authority
- JP
- Japan
- Prior art keywords
- description
- natural language
- language
- formal
- program
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 230000014509 gene expression Effects 0.000 claims abstract description 83
- 238000005457 optimization Methods 0.000 claims abstract description 10
- 238000004590 computer program Methods 0.000 claims abstract description 4
- 238000012545 processing Methods 0.000 claims description 55
- 238000010586 diagram Methods 0.000 claims description 20
- 238000006243 chemical reaction Methods 0.000 claims description 18
- 230000015572 biosynthetic process Effects 0.000 claims description 6
- 238000003786 synthesis reaction Methods 0.000 claims description 6
- 230000004931 aggregating effect Effects 0.000 claims description 2
- 230000003068 static effect Effects 0.000 claims description 2
- 238000007792 addition Methods 0.000 claims 1
- 238000012217 deletion Methods 0.000 claims 1
- 230000037430 deletion Effects 0.000 claims 1
- 238000012986 modification Methods 0.000 claims 1
- 230000004048 modification Effects 0.000 claims 1
- 238000012795 verification Methods 0.000 abstract description 5
- 238000013461 design Methods 0.000 abstract description 4
- 238000004519 manufacturing process Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 36
- 230000006870 function Effects 0.000 description 23
- 230000009471 action Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 241001590997 Moolgarda engeli Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000007373 indentation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- MYWUZJCMWCOHBA-VIFPVBQESA-N methamphetamine Chemical group CN[C@@H](C)CC1=CC=CC=C1 MYWUZJCMWCOHBA-VIFPVBQESA-N 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は、電子計算機によるソフトウェア開発の支援、
特にソフトウェア開発に関わる設計仕様書およびプログ
ラムの作成ならびに保守の支援に好適な、プログラム生
成方法およびそのための仕様入力方法に関する。
特にソフトウェア開発に関わる設計仕様書およびプログ
ラムの作成ならびに保守の支援に好適な、プログラム生
成方法およびそのための仕様入力方法に関する。
[従来の技術1
従来、ソフトウェアの開発は、設計者が各種の設計仕様
書を作成した後、プログラマが目的プログラミング言語
のプログラムを汎用のテキストエディタを介して入力し
、それをコンパイル、デバッグ、テストすることによっ
て進められてきた。
書を作成した後、プログラマが目的プログラミング言語
のプログラムを汎用のテキストエディタを介して入力し
、それをコンパイル、デバッグ、テストすることによっ
て進められてきた。
ところが、ソフトウェアへの要求が増大するにつれ、熟
練した設計者やプログラマの不足が顕著となり、計算機
を用いてソフトウェア開発を支援することにより、設計
者やプログラマの負荷を軽減しようとする試みが行われ
ている。
練した設計者やプログラマの不足が顕著となり、計算機
を用いてソフトウェア開発を支援することにより、設計
者やプログラマの負荷を軽減しようとする試みが行われ
ている。
情報処理学会ソフトウェア工学研究会44−4掲載の論
文「計算機誘導型構造エディタPAR3Eの自動生成シ
ステム」および特開昭63−47829号公報に開示さ
れた[ソースプログラム自動生成方式」もこのような支
援システムの例である。前者は、システムが対象とする
プログラミング言語の文法を内蔵し、これに基づいて構
文的誤りのないプログラムを誘導することにより、未熟
なプログラマにも構文的に正しいプログラムの作成を可
能とするものである。また、後者は、日本語文を含む木
構造チャートからプログラムを生成することによって、
木構造チャート祭ソースプログラムを生成する原始デー
タとして利用するだけでなく、処理の概要を示す開発・
保守資料としての役割も担わせるものである。以下、こ
れら従来技術の概要を説明する。
文「計算機誘導型構造エディタPAR3Eの自動生成シ
ステム」および特開昭63−47829号公報に開示さ
れた[ソースプログラム自動生成方式」もこのような支
援システムの例である。前者は、システムが対象とする
プログラミング言語の文法を内蔵し、これに基づいて構
文的誤りのないプログラムを誘導することにより、未熟
なプログラマにも構文的に正しいプログラムの作成を可
能とするものである。また、後者は、日本語文を含む木
構造チャートからプログラムを生成することによって、
木構造チャート祭ソースプログラムを生成する原始デー
タとして利用するだけでなく、処理の概要を示す開発・
保守資料としての役割も担わせるものである。以下、こ
れら従来技術の概要を説明する。
上述の「計算機誘導型構造エディタPAR3Eの自動生
成システム」は、言語の構文単位の扁集操作とプログラ
ミング技法の言語への適用、エディタのユーザインタフ
ェースの対象ユーザレベルへの適合を特徴とする。主な
基本機能は、段階的詳細化機能、構造化コーディング機
能、構文要素単位の編集機能、構文要素単位の画面編集
機能。
成システム」は、言語の構文単位の扁集操作とプログラ
ミング技法の言語への適用、エディタのユーザインタフ
ェースの対象ユーザレベルへの適合を特徴とする。主な
基本機能は、段階的詳細化機能、構造化コーディング機
能、構文要素単位の編集機能、構文要素単位の画面編集
機能。
コマンド入力の誘導機能およびシステム状態表示機能で
ある。また、構造エディタを自動生成するツールを用意
することで、他言語への対応を行っている。以下では、
これらの機能のうち、特にプログラムの入力、生成に関
わる部分を取り上げて説明する。
ある。また、構造エディタを自動生成するツールを用意
することで、他言語への対応を行っている。以下では、
これらの機能のうち、特にプログラムの入力、生成に関
わる部分を取り上げて説明する。
段階的詳細化機能は、プログラムの中に詳細化未定義部
分を導入することにより、処理の詳細記述を部分的に遅
らせることを可能にするものである。詳細化未定義部分
には、文法を表す規則に現れる非終端記号、擬似文、未
定義手続き参照、未定義データ型参照がある。非終端記
号は、そこに記述できる文法グラスを明示するものであ
り、例えば次のように詳細化される。ここで、矢印の左
側は詳細化的を、右側は詳細化後を表す。
分を導入することにより、処理の詳細記述を部分的に遅
らせることを可能にするものである。詳細化未定義部分
には、文法を表す規則に現れる非終端記号、擬似文、未
定義手続き参照、未定義データ型参照がある。非終端記
号は、そこに記述できる文法グラスを明示するものであ
り、例えば次のように詳細化される。ここで、矢印の左
側は詳細化的を、右側は詳細化後を表す。
<statement> →
if <expression>
then <5nat、ement>else <
5tat、ement、>擬似文は、詳細化によりコメ
ントと文に変わる。
5tat、ement、>擬似文は、詳細化によりコメ
ントと文に変わる。
データを加える →
(本データを加える京)
C:=A+B
未定義手続き参照は、詳細化によ
続き定義と参照に変わる。
ADD(A、B、C) →
C:=A+B;
または
ADD(A、B、C) →
ADD(A、B、C) ;
り文あるいは手
procedure ADD(X、Y、Z) ;Z:
;X+Y er+d 未定義データ型参照は、詳細化によりコメン)・とデー
タ型定義に変わる。
;X+Y er+d 未定義データ型参照は、詳細化によりコメン)・とデー
タ型定義に変わる。
var S : 5TACK −1
var S : !NTEGER(本5TACK
寡);構造化コーディング機能は、構造化プログラミン
グの基本構造である選択2反復、複合の基本構造文をメ
ニューから選択あるいはコマンド入力することより、対
応するテンプレートが自動生成される機能である。W文
要素単位の編集機能は、挿入、削除、置換、移動、探索
を構文要素単位に行う機能である。構文要素単位の画面
編集機能は、ソースプログラムの自動インデンテーショ
ン、モジュールおよび手続き単位の画面スクロール、構
文要素単位の移動等の機能である。
寡);構造化コーディング機能は、構造化プログラミン
グの基本構造である選択2反復、複合の基本構造文をメ
ニューから選択あるいはコマンド入力することより、対
応するテンプレートが自動生成される機能である。W文
要素単位の編集機能は、挿入、削除、置換、移動、探索
を構文要素単位に行う機能である。構文要素単位の画面
編集機能は、ソースプログラムの自動インデンテーショ
ン、モジュールおよび手続き単位の画面スクロール、構
文要素単位の移動等の機能である。
構造エディタを自動生成するツールは、プログラミング
言語の仕様およびユーザインタフェースの仕様をB N
F (Backus Naur Form)を拡張し
た定義言語で与えることにより、高級言語で書かれた構
造エディタを自動生成する。
言語の仕様およびユーザインタフェースの仕様をB N
F (Backus Naur Form)を拡張し
た定義言語で与えることにより、高級言語で書かれた構
造エディタを自動生成する。
一方、[ソースプログラム自動生成方式」は、日本語文
を含む木構造チャートからソースプログラムを生成する
方式である。この方式では、パターン変数を含む日本語
文照合パターンを用意して木構造チャート中の日本語文
と照合する。照合パターンには、照合が成功した時その
日本語文を目的プログラミング言語のステートメント群
に変換する手rきの記述を含み、照合時にパターン変数
に束縛された文字列の組をもとにステートメント群を合
成する。以下、明細書に記載された実施例に基づき、こ
の方式の概要を示す。
を含む木構造チャートからソースプログラムを生成する
方式である。この方式では、パターン変数を含む日本語
文照合パターンを用意して木構造チャート中の日本語文
と照合する。照合パターンには、照合が成功した時その
日本語文を目的プログラミング言語のステートメント群
に変換する手rきの記述を含み、照合時にパターン変数
に束縛された文字列の組をもとにステートメント群を合
成する。以下、明細書に記載された実施例に基づき、こ
の方式の概要を示す。
照合パターンの例を次に挙げる。
メツセージボックス#1を#2(する〕ここで、「メツ
セージボックス」と「を」は、照合する日本語文中に同
一の文字列として同一の順序で必ず現れなければならな
い固定文字列であり、「する」は、現れても現れなくて
も良い存在任意文字列、#1.#2は、どのような文字
列として現れても良いパターン変数である。このパター
ンに対応する変換手続きを、 Pl:=#1 case #2 of “作成” : begin putstate($IOAREA(MBX、”、Pi
、”);“):putstate(”MBX、CMD=
7;”);putstate(”MBX、CMF=O;
″)put、5tate(CALL IIIEQIO
(MBX);”)nd end とする。
セージボックス」と「を」は、照合する日本語文中に同
一の文字列として同一の順序で必ず現れなければならな
い固定文字列であり、「する」は、現れても現れなくて
も良い存在任意文字列、#1.#2は、どのような文字
列として現れても良いパターン変数である。このパター
ンに対応する変換手続きを、 Pl:=#1 case #2 of “作成” : begin putstate($IOAREA(MBX、”、Pi
、”);“):putstate(”MBX、CMD=
7;”);putstate(”MBX、CMF=O;
″)put、5tate(CALL IIIEQIO
(MBX);”)nd end とする。
日本語文を含む本構造チャートの例として、のちのを考
える。
える。
次
先の照合パターンはこの日本語文との照合に成功し、#
1にはMBX lが、#2には「作成」が束縛される。
1にはMBX lが、#2には「作成」が束縛される。
この結果に対して、パターンに対応する変換手続きが作
用し、最終的には次のステートメント群が合成される。
用し、最終的には次のステートメント群が合成される。
$ N0AREA (MBX 、 MBX l ) ;
MBX、CMD=7 。
MBX、CMD=7 。
MBX、CMF=O。
CALL REQIO(MBX);
(発明が解決しようとする課題〕
上記P A、 RS Eシステムは、システムが対象と
するプログラミング言語の文法を内蔵し、これに基づい
て利用者を誘導することにより、構文的に正しいプログ
ラムの生成を可能とする。しかし、この技術は主として
プログラムの製作の支援を対象とするものであり、プロ
グラムの設計や仕様書の作成も含めたソフトウェア開発
全般の支援という観点からは、次の問題点があげられる
。
するプログラミング言語の文法を内蔵し、これに基づい
て利用者を誘導することにより、構文的に正しいプログ
ラムの生成を可能とする。しかし、この技術は主として
プログラムの製作の支援を対象とするものであり、プロ
グラムの設計や仕様書の作成も含めたソフトウェア開発
全般の支援という観点からは、次の問題点があげられる
。
(1)作成されるのが目的プログラムそのものであり、
作成した部分については内容の理解が困難である。
作成した部分については内容の理解が困難である。
(2)作成過程が目的プログラミング言語に依存し、作
成したプログラムを他のプログラミング言語に移植する
には再度入力し直す必要がある。
成したプログラムを他のプログラミング言語に移植する
には再度入力し直す必要がある。
(3)入力内容がそのまま目的プログラムに反映され、
全体を見渡した大域的な解析や最適化が行われないので
、目的プログラムの実行効率を作成段階で意識する必要
がある。
全体を見渡した大域的な解析や最適化が行われないので
、目的プログラムの実行効率を作成段階で意識する必要
がある。
一方、「ソースプログラム自動生成方式」は、日本語文
を含む木構造チャートからプログラムを生成することに
より、木構造チャートをソースプログラム生成の原始デ
ータとしてだけでなく、処理の概要を示す開発・保守資
料としても利用する。
を含む木構造チャートからプログラムを生成することに
より、木構造チャートをソースプログラム生成の原始デ
ータとしてだけでなく、処理の概要を示す開発・保守資
料としても利用する。
この点では、上記問題点の(1)、(2)を解決するも
のであるが、日本語文の意味が生成されたソースプログ
ラムによって決定され、更に入力された日本語文と照合
パターンの照合がプログラム生成時に行われるため、次
の問題点がある。
のであるが、日本語文の意味が生成されたソースプログ
ラムによって決定され、更に入力された日本語文と照合
パターンの照合がプログラム生成時に行われるため、次
の問題点がある。
(1)日本語文人力時に、入力した文と意図した照合パ
ターンとの一致を記述者が意識しなければならない。
ターンとの一致を記述者が意識しなければならない。
(2)入力した日本語文が意図した機能を表しているか
どうかは、変換後のプログラムによってしか確認できな
い。
どうかは、変換後のプログラムによってしか確認できな
い。
(3)照合パターンを増やすことにより利用できる日本
語文の表現が豊富になるが、上記(1)。
語文の表現が豊富になるが、上記(1)。
(2)の意味で記述者の負担が増すとともに、照合に要
する時間が長くなる。
する時間が長くなる。
(4)日本語文の入力が文字列を基本としたものになる
ため、文の構造に合わせた誘導が行い難い。
ため、文の構造に合わせた誘導が行い難い。
本発明は上記事情に鑑みてなされたもので、その目的と
するところは、作成する記述と目的プログラムを分離す
ることにより上述の如き問題点を解決して、電子計算機
による電子計算機プログラムの設計、製作の支援に適し
たプログラム生成方法およびそのための仕様入力方法を
提供することにある。
するところは、作成する記述と目的プログラムを分離す
ることにより上述の如き問題点を解決して、電子計算機
による電子計算機プログラムの設計、製作の支援に適し
たプログラム生成方法およびそのための仕様入力方法を
提供することにある。
本発明の上述の目的は、電子計算機プログラムの生成方
法において、目的プログラムが行うべき処理手順を自然
言語表現を用いた文章パターンの組合せによって記述し
た自然言語記述を入力するステップと、前記文章パター
ンを言語構造が明瞭に定められた形式言語の構文パター
ンで置換することにより前記自然言語記述を形式言語を
用いた表現へ変換して形式言語記述を生成するステップ
と、前記形式言語記述を目的プログラミング言語の構文
に変換して合成および最適化処理することにより目的プ
ログラムを生成するステップより成ることを特徴とする
プログラム生成方法、もしくは、自然言語記述、形式言
語記述、目的プログラムのいずれかあるいはそれらの組
合せを入力するステップと、入力された自然言語記述、
形式言語記述、目的プログラムを形式言語記述ないしこ
れに相当する自然言語記述に変換し集約するステップと
、集約された自然言語記述あるいは形式言語記述を編集
するステップを有することを特徴とする仕様入力方法に
よって達成される。
法において、目的プログラムが行うべき処理手順を自然
言語表現を用いた文章パターンの組合せによって記述し
た自然言語記述を入力するステップと、前記文章パター
ンを言語構造が明瞭に定められた形式言語の構文パター
ンで置換することにより前記自然言語記述を形式言語を
用いた表現へ変換して形式言語記述を生成するステップ
と、前記形式言語記述を目的プログラミング言語の構文
に変換して合成および最適化処理することにより目的プ
ログラムを生成するステップより成ることを特徴とする
プログラム生成方法、もしくは、自然言語記述、形式言
語記述、目的プログラムのいずれかあるいはそれらの組
合せを入力するステップと、入力された自然言語記述、
形式言語記述、目的プログラムを形式言語記述ないしこ
れに相当する自然言語記述に変換し集約するステップと
、集約された自然言語記述あるいは形式言語記述を編集
するステップを有することを特徴とする仕様入力方法に
よって達成される。
(作用〕
本発明に係るプログラム生成方法においては、言語構造
が明瞭に定められた形式言語表現とそれに対応する自然
言語表現を設定し、目的プログラムが行うべき処理手順
をこれらの表現を用いて記述し、自然言語表現による文
章パターンに形式言語の構文パターンを対応させた文型
を用いることにより、自然言語記述の記述性、理解性を
高めるとともに、形式言語表現との間の変換を可能にし
て、目的プログラムを、形式言語表現から変換。
が明瞭に定められた形式言語表現とそれに対応する自然
言語表現を設定し、目的プログラムが行うべき処理手順
をこれらの表現を用いて記述し、自然言語表現による文
章パターンに形式言語の構文パターンを対応させた文型
を用いることにより、自然言語記述の記述性、理解性を
高めるとともに、形式言語表現との間の変換を可能にし
て、目的プログラムを、形式言語表現から変換。
合成および最適化によって生成する。これらの記述の入
力は、自然言語、形式言語、目的プログラミング言語の
いずれか、あるいはそれらの組合せによって行い、前記
変換を通じて自然言語記述あるいは形式言語記述上に集
約して編集する。ここで、目的プログラミング言語の処
理要素に自然言語表現による旬を対応させることにより
、目的プログラムの処理要素を自然言語記述中では句に
よって表現する。
力は、自然言語、形式言語、目的プログラミング言語の
いずれか、あるいはそれらの組合せによって行い、前記
変換を通じて自然言語記述あるいは形式言語記述上に集
約して編集する。ここで、目的プログラミング言語の処
理要素に自然言語表現による旬を対応させることにより
、目的プログラムの処理要素を自然言語記述中では句に
よって表現する。
本発明に係るプログラム生成方法においては、自然言語
表現を設定することにより、理解性が高い仕様入力方法
を実現することができる。すなわち、言語構造が明瞭に
定められた形式言語を設定することにより、形式言語記
述からの変換による目的プログラムの生成が可能になる
。更に、文型を通じて自然言語表現と形式言語表現とを
対応させることにより、目的プログラムの生成を保証し
つつ、開発者が作成する記述と目的プログラムを分離す
ることができる。
表現を設定することにより、理解性が高い仕様入力方法
を実現することができる。すなわち、言語構造が明瞭に
定められた形式言語を設定することにより、形式言語記
述からの変換による目的プログラムの生成が可能になる
。更に、文型を通じて自然言語表現と形式言語表現とを
対応させることにより、目的プログラムの生成を保証し
つつ、開発者が作成する記述と目的プログラムを分離す
ることができる。
自然言語表現は文章のパターンの組合せ、形式言語表現
は構文パターンの組合せである。本発明に係るプログラ
ム生成方法においては、目的プログラムを分離するので
、自然言語表現および形式言語表現のこのような構造は
保存され、記述者による作成や編集もこの構造に従って
行われる。
は構文パターンの組合せである。本発明に係るプログラ
ム生成方法においては、目的プログラムを分離するので
、自然言語表現および形式言語表現のこのような構造は
保存され、記述者による作成や編集もこの構造に従って
行われる。
上述の文型は自然言語表現の文章の定形パターンと形式
言語の構文パターンを対応させたものであり、それぞれ
の表現を変更することも可能である。形式言語表現は記
述に厳密な意味を与え、プログラムへの変換を保証する
と共に、記述内容の検証、最適化を可能にする。また、
自然言語表現は文型を通じて形式言語表現に対応する一
方で、文型を変更することにより記述者の好みにあわせ
た表現が可能であり、記述者との親和性の高い表現と成
り得る。
言語の構文パターンを対応させたものであり、それぞれ
の表現を変更することも可能である。形式言語表現は記
述に厳密な意味を与え、プログラムへの変換を保証する
と共に、記述内容の検証、最適化を可能にする。また、
自然言語表現は文型を通じて形式言語表現に対応する一
方で、文型を変更することにより記述者の好みにあわせ
た表現が可能であり、記述者との親和性の高い表現と成
り得る。
自然言語記述と形式言語記述を一体化して管理すること
により、一方の記述を編集した結果は他方の記述に同時
に反映され、両者のずれが無くなる。この結果、記述の
効果を即座に確認できる。
により、一方の記述を編集した結果は他方の記述に同時
に反映され、両者のずれが無くなる。この結果、記述の
効果を即座に確認できる。
形式言語と目的プログラミング言語の対応は、形式言語
の意味の目的プログラミング言語上の解釈によって与え
ることができる。従って、これを交換、追加、修正、削
除可能な規則として提供することにより、他のプログラ
ミング言語のプログラム生成が可能となる。
の意味の目的プログラミング言語上の解釈によって与え
ることができる。従って、これを交換、追加、修正、削
除可能な規則として提供することにより、他のプログラ
ミング言語のプログラム生成が可能となる。
上述の如く、自然言語表現および形式言語表現は、目的
プログラムを生成するための入力であるだけでなく、目
的プログラムに比較して、より抽象化された設計仕様書
として機能する。ここで、入力した自然言語記述あるい
は形式言語記述の意味は形式言語上で与えられる。
プログラムを生成するための入力であるだけでなく、目
的プログラムに比較して、より抽象化された設計仕様書
として機能する。ここで、入力した自然言語記述あるい
は形式言語記述の意味は形式言語上で与えられる。
なお、目的プログラム生成のための入力は自然言語記述
のみでなく、形式言語記述で行っても同等の作用を有す
る。また、プログラミング言語で記述した処理要素を取
り込み、それを自然言語記述あるいは形式言語記述で呼
び出す場合についても同様である。
のみでなく、形式言語記述で行っても同等の作用を有す
る。また、プログラミング言語で記述した処理要素を取
り込み、それを自然言語記述あるいは形式言語記述で呼
び出す場合についても同様である。
〔実施例]
以下、本発明の実施例を図面に基づいて詳細に説明する
。
。
第1図(8)は、本発明のプログラム生成方法の処理概
要を示すフローチャート、同図(b)は、それに伴う記
述過程の一例である。第1図(b)において、1は自然
言語記述、2は文型に管理される文書パターン、3は同
構文パターン、4は形式言語記述、5は目的プログラム
を示している。
要を示すフローチャート、同図(b)は、それに伴う記
述過程の一例である。第1図(b)において、1は自然
言語記述、2は文型に管理される文書パターン、3は同
構文パターン、4は形式言語記述、5は目的プログラム
を示している。
本実施例においては、目的プログラムが行うべき処理手
順を、自然言語表現による文章パターン(2)の組合せ
により記述した自然言語記述を入力しくステップ101
)、文型に管理される文書パターン(2)と構文パター
ン(3)との対応を基に、自然言語記述を形式言語表現
に変換して形式言語記述(4)を生成する(ステップ1
02)。更に、形式言語記述(4)を目的プログラミン
グ言語の構文に変換して目的プログラム(5)を得る(
ステップ103)。
順を、自然言語表現による文章パターン(2)の組合せ
により記述した自然言語記述を入力しくステップ101
)、文型に管理される文書パターン(2)と構文パター
ン(3)との対応を基に、自然言語記述を形式言語表現
に変換して形式言語記述(4)を生成する(ステップ1
02)。更に、形式言語記述(4)を目的プログラミン
グ言語の構文に変換して目的プログラム(5)を得る(
ステップ103)。
第2図は、本発明の一実施例に係るプログラム生成装置
の機能プロラグダイアグラムを示す図である。図におい
て、11は自然言語記述(1)を格納する自然言語記述
管理部、12は形式言語記述(4)を格納する形式言語
記述管理部を示している。両者の対応を取る文型は、文
型管理部14に格納される。形式言語記述管理部12に
格納された形式言語記述は、変換部15の機能によって
目的プログラム(5)に変換され、目的プログラム管理
部I3に格納される。処理要素記述は、処理要素記述管
理部17に格納される6制御部IOは、変換を制御して
各管理部に格納された記述の関連を保つと同時に、記述
内容の整合性の検証、入出力装置16を通じた記述の入
力、H集、出力を行う。
の機能プロラグダイアグラムを示す図である。図におい
て、11は自然言語記述(1)を格納する自然言語記述
管理部、12は形式言語記述(4)を格納する形式言語
記述管理部を示している。両者の対応を取る文型は、文
型管理部14に格納される。形式言語記述管理部12に
格納された形式言語記述は、変換部15の機能によって
目的プログラム(5)に変換され、目的プログラム管理
部I3に格納される。処理要素記述は、処理要素記述管
理部17に格納される6制御部IOは、変換を制御して
各管理部に格納された記述の関連を保つと同時に、記述
内容の整合性の検証、入出力装置16を通じた記述の入
力、H集、出力を行う。
第3図は、第2図の機能を実現する装置の構成の一例で
ある。この装置は、演算処理を行う中央処理装置20と
、データを記憶する主記憶装置21および補助記憶装置
22.入出力を制御する入出力制御装置23.入力装置
24.出力装置25から成る。中央処理装置20および
入出力制御装置23は、主として上記制御部lOおよび
変換部15の機能を担い、主記憶装置21および補助記
憶装置22は、主として自然言語記述管理部11.形式
言語記述管理部12.目的プログラム管理部139文型
管理部14.処理要素記述管理部17の機能を担う。
ある。この装置は、演算処理を行う中央処理装置20と
、データを記憶する主記憶装置21および補助記憶装置
22.入出力を制御する入出力制御装置23.入力装置
24.出力装置25から成る。中央処理装置20および
入出力制御装置23は、主として上記制御部lOおよび
変換部15の機能を担い、主記憶装置21および補助記
憶装置22は、主として自然言語記述管理部11.形式
言語記述管理部12.目的プログラム管理部139文型
管理部14.処理要素記述管理部17の機能を担う。
以下、本実施例の動作を詳細に説明する。
第4図は、本実施例に係る記述の詳細であり、第1図(
b)に対応するものである。図において、401は自然
言語記述の一例、402は形式言語記述の一例、403
は目的プログラムの一例である。ここで、自然言語記述
401と形式言語記述402は文型を通じて対応し、形
式言語記述402と目的プログラム403は変換を通じ
て対応する。
b)に対応するものである。図において、401は自然
言語記述の一例、402は形式言語記述の一例、403
は目的プログラムの一例である。ここで、自然言語記述
401と形式言語記述402は文型を通じて対応し、形
式言語記述402と目的プログラム403は変換を通じ
て対応する。
第5図は、本実施例に係る形式言語の言MM造の一例で
ある。ここで例示した形式言語は、オブジェクトと呼ぶ
基本単位を持ち、各オブジェクトは更にいくつかの処理
単位から構成される。各処理単位は表形式の表現を持ち
、一つの表は501に示すように6つの領域から成る。
ある。ここで例示した形式言語は、オブジェクトと呼ぶ
基本単位を持ち、各オブジェクトは更にいくつかの処理
単位から構成される。各処理単位は表形式の表現を持ち
、一つの表は501に示すように6つの領域から成る。
左上の領域はオブジェクト名であり、オブジェクトの名
前が書かれる。その右は内部変数並びであり、その処理
が内部変数を利用するならば、ここに内部変数名が宣言
される。右上は関連オブジェクト名並びであり、その処
理を行う際に必要なオブジェクト名が宣言される。左下
は処理宣言であり、処理を行う条件や順序を規定する。
前が書かれる。その右は内部変数並びであり、その処理
が内部変数を利用するならば、ここに内部変数名が宣言
される。右上は関連オブジェクト名並びであり、その処
理を行う際に必要なオブジェクト名が宣言される。左下
は処理宣言であり、処理を行う条件や順序を規定する。
その右は更新アクション表であり、内部変数の更新を表
わす。右下は処理呼び出しアクション表であり、関連オ
ブジェクトの処理の呼び出しを表す。処理宣言は、50
2の構造を持つ枠か、空である。処理宣言502の上の
領域は処理ヘッダであり、処理名と呼び出し時のパラメ
ータを規定する。その構文は、 meth□d (処理名〉[(<仮パラメータの並び〉
)コニ「(<返す値の型〉)コis である。処理宣言502の下の領域は、条件図である。
わす。右下は処理呼び出しアクション表であり、関連オ
ブジェクトの処理の呼び出しを表す。処理宣言は、50
2の構造を持つ枠か、空である。処理宣言502の上の
領域は処理ヘッダであり、処理名と呼び出し時のパラメ
ータを規定する。その構文は、 meth□d (処理名〉[(<仮パラメータの並び〉
)コニ「(<返す値の型〉)コis である。処理宣言502の下の領域は、条件図である。
条件図は、503あるいは504あるいは空のいずれか
の構造を持つ、503は条件による場合分けを表わし、
上の枠にある条件式の値が中表側の条件定数の値と一致
するとき、その右側の条件図が評価されることを意味す
る。504の上の枠は、処理内容の注釈のためのコメン
トである。508は内部変数名並びであり、枠を区切っ
て内部変数名を並べたものである。505は関連オブジ
ェクト名並びであり、内部変数名並びと同様、枠を区切
って関連オブジェクト名を並べたものである。506は
更新アクション表であり、条件図中のコメント行Jと内
部変数iの交差する場所に、更新アクションを記入した
ものである。なお、更新アクションの構文は、 <−<
式〉 である、507は処理呼び出しアクション表であ
り、条件図中のコメント行jと、関連オブジェクト1の
交差する場所に処理呼び出しアクションを記入したもの
である。処理呼び出しアクションの構文は、 く処理名〉[(り実パラメータ並び〉)]である。形式
言語記述402は、これらの領域の組合せにより構成さ
れる。
の構造を持つ、503は条件による場合分けを表わし、
上の枠にある条件式の値が中表側の条件定数の値と一致
するとき、その右側の条件図が評価されることを意味す
る。504の上の枠は、処理内容の注釈のためのコメン
トである。508は内部変数名並びであり、枠を区切っ
て内部変数名を並べたものである。505は関連オブジ
ェクト名並びであり、内部変数名並びと同様、枠を区切
って関連オブジェクト名を並べたものである。506は
更新アクション表であり、条件図中のコメント行Jと内
部変数iの交差する場所に、更新アクションを記入した
ものである。なお、更新アクションの構文は、 <−<
式〉 である、507は処理呼び出しアクション表であ
り、条件図中のコメント行jと、関連オブジェクト1の
交差する場所に処理呼び出しアクションを記入したもの
である。処理呼び出しアクションの構文は、 く処理名〉[(り実パラメータ並び〉)]である。形式
言語記述402は、これらの領域の組合せにより構成さ
れる。
第6図は、第4因に示した自然言語記述401と形式言
語記述402に係わる文型の一例である。記述者は、自
然言語表現の文章パターン601の組合せによって、自
然言語記述401を作成する。ここで、′条件と′処理
はパターンの穴であり、ここに別の文章パターン、式ま
たは名前を記入することができる。文型には、自然言語
表現の文章パターン601に対応する形式言語の構文パ
ターン602が管理されており、このパターンに°条件
と′処理に記入された内容を展開することにより、形式
言語記述を得る。
語記述402に係わる文型の一例である。記述者は、自
然言語表現の文章パターン601の組合せによって、自
然言語記述401を作成する。ここで、′条件と′処理
はパターンの穴であり、ここに別の文章パターン、式ま
たは名前を記入することができる。文型には、自然言語
表現の文章パターン601に対応する形式言語の構文パ
ターン602が管理されており、このパターンに°条件
と′処理に記入された内容を展開することにより、形式
言語記述を得る。
第7図(a)は、自然言語表現および形式言語表現のパ
ターンの、計算機内部における構造化した表現の一例で
ある。ここでは、自然言語表現と形式言語表現の共通す
る構造を持つ部分は共有し、一つの構造の中に両者を埋
め込んでいる。各パターンは、701 および702を
ノードとし、その間をポインタで結んだグラフによって
表現される。ノード701は自然言語表現および形式言
語表現に係わる9つのフィールドより成り、自然言語表
現の下位の構造を表す自然語子ノードへのポインタ、自
然言語表現における並立する構造を表す自然語第ノード
へのポインタ、自然言語表現の計算機出力装置上での表
示位置を表す自然語表示位置、自然語表現の計算機出力
装置上での表示すイズを表す自然語表示すイズ、パター
ンを管理する文型の名前または旬へのポインタ、形式言
語の子ノードおよび第ノードへのポインタ、形式言語表
現の計算機出力装置上での表示位置およびサイズを表す
形式言語表示位置およびサイズを格納する。ノード70
2は旬を表す。
ターンの、計算機内部における構造化した表現の一例で
ある。ここでは、自然言語表現と形式言語表現の共通す
る構造を持つ部分は共有し、一つの構造の中に両者を埋
め込んでいる。各パターンは、701 および702を
ノードとし、その間をポインタで結んだグラフによって
表現される。ノード701は自然言語表現および形式言
語表現に係わる9つのフィールドより成り、自然言語表
現の下位の構造を表す自然語子ノードへのポインタ、自
然言語表現における並立する構造を表す自然語第ノード
へのポインタ、自然言語表現の計算機出力装置上での表
示位置を表す自然語表示位置、自然語表現の計算機出力
装置上での表示すイズを表す自然語表示すイズ、パター
ンを管理する文型の名前または旬へのポインタ、形式言
語の子ノードおよび第ノードへのポインタ、形式言語表
現の計算機出力装置上での表示位置およびサイズを表す
形式言語表示位置およびサイズを格納する。ノード70
2は旬を表す。
第7図(b)は、第6図の文型の第7図(a)を用いた
表現を示す図である。最上位のノードは712であり、
ここには自然言語表現の構造と表示位置およびサイズ、
文型の名前、形式言語表現の構造と表示位置およびサイ
ズ701が格納される。ノード711から自然言語表現
をたどると、下位の構造はノード712によって表わさ
れ、これはパターンの穴である°条件を表すノード71
3を指す。′条件がパターンあるいは句によって展開さ
れた場合、ノード713はその最上位ノードによって置
き換わる。ノード7]、2は、ノード711に対して並
立するノード714を持ち、ノード714は゛処理を表
すノード715を指す。ノード711から形式言語表現
をたどると、下位の構造は自然言語表現と同様にノード
712によって表わされ、これはパターンの穴である“
条件を表すノード713を指す。形式言語表現では、ノ
ード712はノード711に対して並立するノード71
6を持ち、ノード716から句YES Noを表わすノ
ード71.7.718を含んで、ノード714に至る。
表現を示す図である。最上位のノードは712であり、
ここには自然言語表現の構造と表示位置およびサイズ、
文型の名前、形式言語表現の構造と表示位置およびサイ
ズ701が格納される。ノード711から自然言語表現
をたどると、下位の構造はノード712によって表わさ
れ、これはパターンの穴である°条件を表すノード71
3を指す。′条件がパターンあるいは句によって展開さ
れた場合、ノード713はその最上位ノードによって置
き換わる。ノード7]、2は、ノード711に対して並
立するノード714を持ち、ノード714は゛処理を表
すノード715を指す。ノード711から形式言語表現
をたどると、下位の構造は自然言語表現と同様にノード
712によって表わされ、これはパターンの穴である“
条件を表すノード713を指す。形式言語表現では、ノ
ード712はノード711に対して並立するノード71
6を持ち、ノード716から句YES Noを表わすノ
ード71.7.718を含んで、ノード714に至る。
上述の構造により、自然言語表現と形式言語表現を同一
の内部表現に埋め込み、いずれか一方の表現上での記述
の編集結果を、他の表現に反映することができる。
の内部表現に埋め込み、いずれか一方の表現上での記述
の編集結果を、他の表現に反映することができる。
第8@は、本発明に係わるプログラム生成装置の処理概
要の一例を示すフローチャートである。
要の一例を示すフローチャートである。
この装置は、起動されると入出力装置の設定を含む初期
設定(ステップ801)を行い、処理対象の指定と処理
コマンドの入力を待つ。処理コマンドが入力されると(
ステップ802)、処理種別を判定しくステップ803
)、自然言語記述の編集であれば自然言語記述編集処理
(ステップ804)を、また、形式言語記述の編集であ
れば形式言語記述編集処理(ステップ805)を、文型
の編集であれば文型編集処理(ステップ806)を、目
的プログラムへの変換であれば変換処理(ステップ80
7)を行い、再び、処理対象の指定と処理コマンドの入
力を待つ。また、入力コマンドが処理の終了であれば、
未格納な記述の格納を含む終了処理(ステップ808)
を行い、処理を終了する。
設定(ステップ801)を行い、処理対象の指定と処理
コマンドの入力を待つ。処理コマンドが入力されると(
ステップ802)、処理種別を判定しくステップ803
)、自然言語記述の編集であれば自然言語記述編集処理
(ステップ804)を、また、形式言語記述の編集であ
れば形式言語記述編集処理(ステップ805)を、文型
の編集であれば文型編集処理(ステップ806)を、目
的プログラムへの変換であれば変換処理(ステップ80
7)を行い、再び、処理対象の指定と処理コマンドの入
力を待つ。また、入力コマンドが処理の終了であれば、
未格納な記述の格納を含む終了処理(ステップ808)
を行い、処理を終了する。
第9図は、自然言語記述編集処理の詳細を示す図である
。自然言語記述編集処理では、入力コマンドを解析しく
ステップ901)、コマンド種別によって処理を振り分
ける(ステップ902)。コマンドが編集対象の指定で
あれば、指定された場所を編集対象として特定し、画面
上の編集対象表示を指定された場所に変更する(ステッ
プ903と904)。
。自然言語記述編集処理では、入力コマンドを解析しく
ステップ901)、コマンド種別によって処理を振り分
ける(ステップ902)。コマンドが編集対象の指定で
あれば、指定された場所を編集対象として特定し、画面
上の編集対象表示を指定された場所に変更する(ステッ
プ903と904)。
コマンドが文型による文章パターンの展開であれば、記
述の内部表現の対象ノードにパターンの内部表現を展開
して内部構造を変更し、画面上の自然言語記述を修正す
る(ステップ905と906)。コマンドが句の入力で
あれば、内部表現の対象ノードの内部属性を変更し、や
はり画面上の自然言語記述を変更する(ステップ907
と906)。また、コマンドが新しい自然言語記述の読
み込みならば、ファイルから対応する記述の内部表現を
読み込んで、新しいウィンドウを作って自然言語表現で
表示する(ステップ908と909)。なお、コマンド
が書き込み処理ならば、内部表現をファイルに書き込む
(ステップ91O)。
述の内部表現の対象ノードにパターンの内部表現を展開
して内部構造を変更し、画面上の自然言語記述を修正す
る(ステップ905と906)。コマンドが句の入力で
あれば、内部表現の対象ノードの内部属性を変更し、や
はり画面上の自然言語記述を変更する(ステップ907
と906)。また、コマンドが新しい自然言語記述の読
み込みならば、ファイルから対応する記述の内部表現を
読み込んで、新しいウィンドウを作って自然言語表現で
表示する(ステップ908と909)。なお、コマンド
が書き込み処理ならば、内部表現をファイルに書き込む
(ステップ91O)。
第10図は、形式言語記述編集処理の詳細を示す図であ
る。形式言語記述編集処理も上述の自然言語記述編集処
理と同様に、入力コマンドを解析しくステップ+001
)、コマンド種別によって処理を振り分ける(ステップ
1002)、コマンドが編集対象の指定であれば、指定
された場所を編集対象として特定し、画面上の編集対象
表示を指定された場所に変更する(ステップ1003と
1oo4)。コマンドが形式言語の構文要素の生成であ
れば、記述の内部表現の対象ノードにパターンの内部表
現を展開して内部構造を変更し、画面上の形式言語記述
を修正する(ステップ1005と1006)、また、コ
マンドが句の入力であれば、内部表現の対象ノードの内
部属性を変更し、やはり画面上の形式言語記述を変更す
る(ステップ1007と1006)、コマンドが新しい
形式言語記述の読み込みならば、ファイルがら対応する
記述の内部表現を読み込み、新しいウィンドウを作って
形式言語表現で表示する(ステップ1008と1009
)、コマンドが書き込み処理ならば、内部表現をファイ
ルに書き込む(ステップ1010)。
る。形式言語記述編集処理も上述の自然言語記述編集処
理と同様に、入力コマンドを解析しくステップ+001
)、コマンド種別によって処理を振り分ける(ステップ
1002)、コマンドが編集対象の指定であれば、指定
された場所を編集対象として特定し、画面上の編集対象
表示を指定された場所に変更する(ステップ1003と
1oo4)。コマンドが形式言語の構文要素の生成であ
れば、記述の内部表現の対象ノードにパターンの内部表
現を展開して内部構造を変更し、画面上の形式言語記述
を修正する(ステップ1005と1006)、また、コ
マンドが句の入力であれば、内部表現の対象ノードの内
部属性を変更し、やはり画面上の形式言語記述を変更す
る(ステップ1007と1006)、コマンドが新しい
形式言語記述の読み込みならば、ファイルがら対応する
記述の内部表現を読み込み、新しいウィンドウを作って
形式言語表現で表示する(ステップ1008と1009
)、コマンドが書き込み処理ならば、内部表現をファイ
ルに書き込む(ステップ1010)。
第12図は、文型編集処理の詳細を示す図である。
文型編集処理では、ステップ1201で、入力コマ〉ド
を解析し、コマンド種別によって処理を振り分ける(ス
テップ!202)。コマンドが文章パターンの編集であ
れば、指定された文型の文章パターンをテキストエデイ
゛りに取り込む(ステップ1203)。コマンドが文章
パターンの新規作成であれば、ステップ1204で、指
定された文章パターンを持つ文型を生成する。コマンド
が文章パターンの変更であれば、ステップ】205で、
指定された文型の文章パターンを変更する。コマンドが
構文パターンの編集であれば、指定された文型の構文パ
ターンを形式言語エディタに取り込む(ステップ120
6)。コマン1が構文パターンの変更であれば、指定さ
れた文型の構文パターンを変更する(ステップ1.20
7)。
を解析し、コマンド種別によって処理を振り分ける(ス
テップ!202)。コマンドが文章パターンの編集であ
れば、指定された文型の文章パターンをテキストエデイ
゛りに取り込む(ステップ1203)。コマンドが文章
パターンの新規作成であれば、ステップ1204で、指
定された文章パターンを持つ文型を生成する。コマンド
が文章パターンの変更であれば、ステップ】205で、
指定された文型の文章パターンを変更する。コマンドが
構文パターンの編集であれば、指定された文型の構文パ
ターンを形式言語エディタに取り込む(ステップ120
6)。コマン1が構文パターンの変更であれば、指定さ
れた文型の構文パターンを変更する(ステップ1.20
7)。
第11図は、変換処理の詳細を示す図である。変換処理
では、目的プログラミング言語への変換規則4合成、最
適化規則を読み込み(ステップ1101)、内部表現を
解析して規則に適合する中間表現を生成する(ステップ
1102)、この中間表現に対して、先に読み込んだ合
成、最適化規則に従って、合成処理(ステップ!+03
)および最適化処理(同月04)を行い、変換規則によ
って目的プログラミング言語の構文に変換する(ステッ
プ!105)。
では、目的プログラミング言語への変換規則4合成、最
適化規則を読み込み(ステップ1101)、内部表現を
解析して規則に適合する中間表現を生成する(ステップ
1102)、この中間表現に対して、先に読み込んだ合
成、最適化規則に従って、合成処理(ステップ!+03
)および最適化処理(同月04)を行い、変換規則によ
って目的プログラミング言語の構文に変換する(ステッ
プ!105)。
上記実施例では、形式言語はオブジェクトを基本単位と
し、各処理はオブジェクト単位に管理される。従って、
同一の機能を持つ処理を一つのオブジェクトの機能によ
って表現し、オブジェクトをまたがる処理を、関連オブ
ジェクトの処理呼び出しとして、詳細を隠蔽して記述す
ることが可能である。これにより、記述の静的な検証は
、処理中で呼び出される機能が呼び出す記述に適合する
か否かを調べることによって行うことができる。
し、各処理はオブジェクト単位に管理される。従って、
同一の機能を持つ処理を一つのオブジェクトの機能によ
って表現し、オブジェクトをまたがる処理を、関連オブ
ジェクトの処理呼び出しとして、詳細を隠蔽して記述す
ることが可能である。これにより、記述の静的な検証は
、処理中で呼び出される機能が呼び出す記述に適合する
か否かを調べることによって行うことができる。
−例として、記述者への表示は、編集処理において、未
定義あるいは定義されていても呼び出す記述には適合し
ない、オブジェクト名、処理名2句を色を変えて表示す
ることによって行う。また、処理が機能単位にまとめら
れているので、動的な検証は、呼びだされる処理を順に
画面上に表示することによって行う。
定義あるいは定義されていても呼び出す記述には適合し
ない、オブジェクト名、処理名2句を色を変えて表示す
ることによって行う。また、処理が機能単位にまとめら
れているので、動的な検証は、呼びだされる処理を順に
画面上に表示することによって行う。
なお、第7図の内部表現には、句と対応させて処理要素
記述を埋め込むこともでき、その編集を自然言語記述や
形式言語記述と同様に行うことが可能である。
記述を埋め込むこともでき、その編集を自然言語記述や
形式言語記述と同様に行うことが可能である。
以上、詳細に説明した如く、本発明によれば、目的プロ
グラムの生成を保証しつつ、目的プログラミング言語に
依存しない、記述者との親和性が高い記述が行える。ま
た、自然言語表現を文章の定形パターンの組合せによっ
て構成するため、記述者は最適な文章パターンを選択し
組合せる操作で自然言語記述を作成でき、記述者の負担
が軽減する。更に、選択したパターンとその組合せ方の
情報は保存されるので、記述内容の変更や修正を構造的
に行うことができる。
グラムの生成を保証しつつ、目的プログラミング言語に
依存しない、記述者との親和性が高い記述が行える。ま
た、自然言語表現を文章の定形パターンの組合せによっ
て構成するため、記述者は最適な文章パターンを選択し
組合せる操作で自然言語記述を作成でき、記述者の負担
が軽減する。更に、選択したパターンとその組合せ方の
情報は保存されるので、記述内容の変更や修正を構造的
に行うことができる。
文章パターンは、形式言語の構文要素と対応して、文型
によって管理されている。従って、文型を参照して自然
言語記述の文章パターンを形式言語の構文要素で置き換
えて組合せることにより、自然言語表現を機械的に形式
言語表現へと変換する。ここで、自然言語表現と形式言
語表現を一つの構造の中に一体化することにより、自然
言語表現から形式言語表現を得るだけでなく、形式言語
表現から自然言語表現を得ることができる。従って、自
然言語記述、形式言語記述のいずれかを入力することに
よって、目的プログラムの生成が可能である。
によって管理されている。従って、文型を参照して自然
言語記述の文章パターンを形式言語の構文要素で置き換
えて組合せることにより、自然言語表現を機械的に形式
言語表現へと変換する。ここで、自然言語表現と形式言
語表現を一つの構造の中に一体化することにより、自然
言語表現から形式言語表現を得るだけでなく、形式言語
表現から自然言語表現を得ることができる。従って、自
然言語記述、形式言語記述のいずれかを入力することに
よって、目的プログラムの生成が可能である。
形式言語記述により記述の意味が厳密に規定されるので
、記述内容の整合性の検証や大域的な最適化を形式言語
記述上で行うことが可能になる。
、記述内容の整合性の検証や大域的な最適化を形式言語
記述上で行うことが可能になる。
このとき、文型の形式言語の構文要素はそのままで、文
章パターンを記述者の好みに合わせて変更することによ
り、同一の形式言語記述に対して異なる自然言語表現を
与えることが可能である。また、記述が目的プログラミ
ング言語には依存しないため、形式言語から目的プログ
ラミング言語への変換規則を変更することにより、他の
プログラミング言語のプログラムを生成することが容易
に可能になる。このため、自然言語記述あるいは形式言
語記述は、記述者あるいはプログラムの保守者にとって
理解し易く、複数のプログラミング言語への展開が可能
な、抽象化された記述として機能し、プログラムの設計
や保守作業を軽減する。
章パターンを記述者の好みに合わせて変更することによ
り、同一の形式言語記述に対して異なる自然言語表現を
与えることが可能である。また、記述が目的プログラミ
ング言語には依存しないため、形式言語から目的プログ
ラミング言語への変換規則を変更することにより、他の
プログラミング言語のプログラムを生成することが容易
に可能になる。このため、自然言語記述あるいは形式言
語記述は、記述者あるいはプログラムの保守者にとって
理解し易く、複数のプログラミング言語への展開が可能
な、抽象化された記述として機能し、プログラムの設計
や保守作業を軽減する。
更に、本発明では、自然言語表現、形式言語表現、目的
プログラム間の変換を用いて、プログラム生成の基にな
る仕様の入力をこれらのいずれかあるいはこれらの組合
せによって行うので、既存のプログラムを自然言語記述
あるいは形式言語記述上で編集、結合して新たなプログ
ラムを生成することができる。このような性質は、特に
プログラムの保守において有効である。
プログラム間の変換を用いて、プログラム生成の基にな
る仕様の入力をこれらのいずれかあるいはこれらの組合
せによって行うので、既存のプログラムを自然言語記述
あるいは形式言語記述上で編集、結合して新たなプログ
ラムを生成することができる。このような性質は、特に
プログラムの保守において有効である。
以上、詳細に説明した如く、本発明によれば、電子計算
機による電子計算機プログラムの設計。
機による電子計算機プログラムの設計。
製作の支援に適したプログラム生成方法およびそのため
の仕様入力方法を実現できるという顕著な効果を奏する
ものである。
の仕様入力方法を実現できるという顕著な効果を奏する
ものである。
第1図(a)は本発明のプログラム生成方法の処理概要
を示すフローチャート、第1図(b)はそれに伴う記述
過程の一例、第2図は本発明に係わるプログラム生成装
置の機能ブロック図、第3図は第2図の機能を実現する
装置の構成の一例を示す図、第4図は本発明に係わる記
述の詳細を示す図、第5図は形式言語の言語構造の一例
を示す図、第6図は文型の一例を示す図、第7図は自然
言語表現および形式言語表現のパターンの計算機内部に
おける表現の一例を示す図、第8図〜第12図は本発明
に係わるプログラム生成装置の処理概要の一例を示すフ
ローチャートである。 1:自然言語記述、2:自然言語表現の文章パターン、
3.形式言語表現の構文パターン、4.形式言語記述、
5:目的プログラム、lO二副制御部11、自然言語記
述管理部、12.形式言語記述管理部、138目的プロ
グラム管理部、14:文型管理部、15:変換部、16
:入出力装置、17:処理要素記述管理部。 第 図(その1 (a) 第 図 第 図 第 図(その1 第 図(その2) 第 図(その2) 第 図 平成3年2月5日 平成2年特許願第264.480号 2、発明の名称 プログラム生成方法およびそのための仕様入力方法3、
補正をする者 事件との関係 特許出願人 住 所 東京都千代田区神田駿河台四丁目6番地名
称 (510)株式会社 日 立 製 作 所代
表者 三田勝茂(ほか1名) 4、代理人 住 所 東京都新宿区西新宿1丁目18番15号発送日 平
成3年1月22日 6、補正により増加する請求項の数 なし7、補
正の対象 明細書の「図面の簡単な説明」の欄8、補
正の内容 別紙の通り (1)「図面の簡単な説明」の欄の記載を、下記の通り
補正する。 l)第33頁18行目の「第1図(a)は」から同20
行目の「記述過程の一例」までを、「第1図は本発明の
一実施例であるプログラム生成方法の処理過程を示す説
明図」と補正する。
を示すフローチャート、第1図(b)はそれに伴う記述
過程の一例、第2図は本発明に係わるプログラム生成装
置の機能ブロック図、第3図は第2図の機能を実現する
装置の構成の一例を示す図、第4図は本発明に係わる記
述の詳細を示す図、第5図は形式言語の言語構造の一例
を示す図、第6図は文型の一例を示す図、第7図は自然
言語表現および形式言語表現のパターンの計算機内部に
おける表現の一例を示す図、第8図〜第12図は本発明
に係わるプログラム生成装置の処理概要の一例を示すフ
ローチャートである。 1:自然言語記述、2:自然言語表現の文章パターン、
3.形式言語表現の構文パターン、4.形式言語記述、
5:目的プログラム、lO二副制御部11、自然言語記
述管理部、12.形式言語記述管理部、138目的プロ
グラム管理部、14:文型管理部、15:変換部、16
:入出力装置、17:処理要素記述管理部。 第 図(その1 (a) 第 図 第 図 第 図(その1 第 図(その2) 第 図(その2) 第 図 平成3年2月5日 平成2年特許願第264.480号 2、発明の名称 プログラム生成方法およびそのための仕様入力方法3、
補正をする者 事件との関係 特許出願人 住 所 東京都千代田区神田駿河台四丁目6番地名
称 (510)株式会社 日 立 製 作 所代
表者 三田勝茂(ほか1名) 4、代理人 住 所 東京都新宿区西新宿1丁目18番15号発送日 平
成3年1月22日 6、補正により増加する請求項の数 なし7、補
正の対象 明細書の「図面の簡単な説明」の欄8、補
正の内容 別紙の通り (1)「図面の簡単な説明」の欄の記載を、下記の通り
補正する。 l)第33頁18行目の「第1図(a)は」から同20
行目の「記述過程の一例」までを、「第1図は本発明の
一実施例であるプログラム生成方法の処理過程を示す説
明図」と補正する。
Claims (1)
- 【特許請求の範囲】 1、電子計算機プログラムの生成方法において、目的プ
ログラムが行うべき処理手順を自然言語表現を用いた文
章パターンの組合せによって記述した自然言語記述を入
力するステップと、前記文章パターンを言語構造が明瞭
に定められた形式言語の構文パターンで置換することに
より前記自然言語記述を形式言語を用いた表現へ変換し
て形式言語記述を生成するステップと、前記形式言語記
述を目的プログラミング言語の構文に変換して合成およ
び最適化処理することにより目的プログラムを生成する
ステップより成ることを特徴とするプログラム生成方法
。 2、自然言語表現を用いた文章パターンを組合せて記述
した自然言語記述と、言語構造が明瞭に定められた形式
言語を用いた形式言語記述と、目的プログラミング言語
のプログラムと、自然言語表現による文章パターンに形
式言語の構文パターンを対応させた文型を管理し、自然
言語記述と形式言語記述とを文型によって対応づけると
ともに、形式言語記述とプログラムとを変換によって対
応づけることを特徴とする請求項1記載のプログラム生
成方法。 3、文型の自然言語表現による文章のパターンと形式言
語の構文パターンの対応の交換、追加、修正、削除が可
能であることを特徴とする請求項1または2記載のプロ
グラム生成方法。 4、目的プログラムの処理要素に自然言語表現による句
を対応させた処理要素記述を入力することにより、目的
プログラムの個々の処理要素を自然言語記述中で句によ
って表現することを特徴とする請求項1〜3のいずれか
に記載のプログラム生成方法。 5、記述内容の静的な整合性を、形式言語記述上で機械
的に検証することを特徴とする請求項1〜4のいずれか
に記載のプログラム生成方法。 6、記述内容の動的な整合性を、形式言語記述の模擬実
行によって検証することを特徴とする請求項1〜4のい
ずれかに記載のプログラム生成方法。 7、自然言語表現による文章および句に図ならびに表を
含むことを特徴とする請求項1〜6のいずれかに記載の
プログラム生成方法。 8、図や表形式の形式言語を用いることを特徴とする請
求項1〜7のいずれかに記載のプログラム生成方法。 9、請求項1〜8記載のプログラム生成方法のための入
力方法すなわち仕様入力方法であって、自然言語記述、
形式言語記述、目的プログラムのいずれかあるいはそれ
らの組合せを入力するステップと、入力された自然言語
記述、形式言語記述、目的プログラムを形式言語記述な
いしこれに相当する自然言語記述に変換し集約するステ
ップと、集約された自然言語記述あるいは形式言語記述
を編集するステップを有することを特徴とする仕様入力
方法。 10、請求項9記載の仕様入力方法を用いて、自然言語
記述および形式言語記述を構造化するとともに、自然言
語記述と形式言語記述が共通の構造を持つ部分では部分
構造を共有することにより、自然言語記述と形式言語記
述を一体化して管理することを特徴とする請求項1〜8
記載のプログラム生成方法。 11、自然言語表現を用いた文章パターンとそれに対応
する形式言語の構文パターンを一体化した文型を用い、
これを組合せることにより自然言語記述および形式言語
記述を一体化して作成することを特徴とする請求項10
記載のプログラム生成方法。 12、自然言語記述および形式言語記述のいずれか一方
の修正、追加、削除を他方に即座に反映することを特徴
とする請求項10または11記載のプログラム生成方法
。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2264480A JP2946715B2 (ja) | 1990-10-02 | 1990-10-02 | プログラム生成方法およびそのための仕様入力方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2264480A JP2946715B2 (ja) | 1990-10-02 | 1990-10-02 | プログラム生成方法およびそのための仕様入力方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04140834A true JPH04140834A (ja) | 1992-05-14 |
JP2946715B2 JP2946715B2 (ja) | 1999-09-06 |
Family
ID=17403820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2264480A Expired - Fee Related JP2946715B2 (ja) | 1990-10-02 | 1990-10-02 | プログラム生成方法およびそのための仕様入力方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2946715B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07311677A (ja) * | 1994-05-18 | 1995-11-28 | Nec Corp | 操作処理装置 |
JP3373517B2 (ja) * | 1992-10-02 | 2003-02-04 | 富士通株式会社 | 個人の言語によるプログラム作成システム |
JP2005228075A (ja) * | 2004-02-13 | 2005-08-25 | Institute Of Physical & Chemical Research | 日常言語プログラム処理システム、その方法および修辞構造解析方法 |
WO2014115189A1 (en) | 2013-01-28 | 2014-07-31 | Nec Corporation | Method and system for transforming specification scripts to program code |
-
1990
- 1990-10-02 JP JP2264480A patent/JP2946715B2/ja not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3373517B2 (ja) * | 1992-10-02 | 2003-02-04 | 富士通株式会社 | 個人の言語によるプログラム作成システム |
JPH07311677A (ja) * | 1994-05-18 | 1995-11-28 | Nec Corp | 操作処理装置 |
JP2005228075A (ja) * | 2004-02-13 | 2005-08-25 | Institute Of Physical & Chemical Research | 日常言語プログラム処理システム、その方法および修辞構造解析方法 |
WO2014115189A1 (en) | 2013-01-28 | 2014-07-31 | Nec Corporation | Method and system for transforming specification scripts to program code |
Also Published As
Publication number | Publication date |
---|---|
JP2946715B2 (ja) | 1999-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5341469A (en) | Structured text system | |
US6769095B1 (en) | Hierarchically structured control information editor | |
Alderson | Meta-CASE technology | |
US6993487B2 (en) | Software code comments management method and system supporting speech recognition technology | |
JPS6195458A (ja) | 図式プログラム・テスト方法 | |
US7237226B2 (en) | Method and system for storing pending changes to data | |
JP5147240B2 (ja) | リバーシブルなデザイン・ツリーの変換のための方法とシステム | |
KR20040004619A (ko) | 구식 소프트웨어 애플리케이션을 최신의 객체 지향시스템으로 전환하는 방법과 시스템 | |
JP2004094487A (ja) | 文書作成支援システム | |
Coppit et al. | Spotlight: A prototype tool for software plans | |
JP2946715B2 (ja) | プログラム生成方法およびそのための仕様入力方法 | |
Lohmann et al. | Towards automatical migration of transformation rules after grammar extension | |
Lunney et al. | Syntax-directed editing | |
WO2001082232A1 (en) | Navigation links in generated documentation | |
JP3299259B2 (ja) | プログラムの構造図編集処理方式 | |
Gapeyev et al. | Statically typed document transformation: An Xtatic experience | |
KR20050063404A (ko) | 메타모델에 기반한 모델 변환 지원 시스템 | |
JP4354719B2 (ja) | プログラム開発支援プログラム | |
JPH0683594A (ja) | ウィズィウィグ式エディターとコンパイラーとを統合したグラフィカル・ユーザ・インターフェース | |
JPS63109578A (ja) | 論理図概要表示処理方式 | |
TW552557B (en) | Automatic program generating system and the method thereof | |
EP1208426A2 (en) | Hierarchically structured control information editor | |
JPS61234434A (ja) | プログラム編集方式 | |
Maverick | Presentation by tree transformation | |
Heckel et al. | Advanced Modelling-Language Definition: Integrating Metamodelling with Graph Transformation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |