JPS6381528A - プログラム自動合成装置 - Google Patents

プログラム自動合成装置

Info

Publication number
JPS6381528A
JPS6381528A JP22764986A JP22764986A JPS6381528A JP S6381528 A JPS6381528 A JP S6381528A JP 22764986 A JP22764986 A JP 22764986A JP 22764986 A JP22764986 A JP 22764986A JP S6381528 A JPS6381528 A JP S6381528A
Authority
JP
Japan
Prior art keywords
processing
program
flow diagram
storage means
processing flow
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
JP22764986A
Other languages
English (en)
Inventor
Chiyoko Yagisawa
八木澤 チヨ子
Seiji Kishimoto
岸本 誠司
Yoshihiro Oki
沖 佳広
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP22764986A priority Critical patent/JPS6381528A/ja
Publication of JPS6381528A publication Critical patent/JPS6381528A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は処理フロー図と処理要素を関連づけることによ
りプログラムを自動合成するプログラム自動合成装置に
関する。
(従来の技術) 従来、プログラムの作成は、まず要求事項から仕様をま
とめ、これに基づき処理フロー図等を作成し、処理フロ
ー図を展開し処理フロー図を参照しながら処理に対する
ソースコードを記述することによりコーディングしてい
た。
上記コーディングは、処理フロー図から得られる情報、
例えば、制御構璋の要素を表す制御記号、処理の区切り
、処理の説明等を重複して記述しなければならず、人出
作業によるケアレスミスも多かった。
(発明が解決しようとする問題点) 従来の処理フロー図を展開してコーディングする作業で
は、処理フロー図から得られる情報を繰り返し作成する
むだがあったことと、人出作業によるケアレスミスが多
かったという欠点があった。また、処理フロー図を細か
な処理まで記述すると、仕様書としては処理の流れが掴
みにくくなってしまう等、処理フロー図をどの程度細か
く記述し、どの時点でコーディング段階に移るかが問題
となった。
本発明の目的は、このような従来の欠点を除去し、処理
の説明を文章で記述でき処理の概要を表すことができる
保守し易く分かり易い処理フロー図を作成し、注釈によ
り処理の説明が十分されているプログラムを自動的に合
成することができるプログラム自動合成装置を提供する
ことにより、プログラムの設計と構造の連続性を保証し
、プログラム作成作業および保守作業を効率化すること
にある。
(問題を解決するための手段) 本発明のプログラム合成装置は、処理フロー図における
制御構造の要素を表す制御記号データと、処理を説明す
る処理説明データとを記憶する処理フロー図記憶手段と
、処理フロー図記憶手段と関連して処理要素を記憶する
処理要素記憶手段と、処理フロー図記憶手段と処理要素
記憶手段からプログラムを合成するプログラム合成手段
とから成ることを特徴とする。
(作用) プログラム設計段階での処理フロー図を、処理の説明に
ついては文章を記述して処理フロー図記憶手段で記憶さ
せ、随時処理要素を処理要素記憶手段により関連する処
理に対応づけながら記憶する。この処理フロー図記憶手
段と処理要素記憶手段からの情報をプログラム合成に必
要な情報に変換しプログラムを自動合成する。このよう
にして、処理フロー図と処理要素を関連させながら同時
に作成することで、プログラムの設計と製造を同時に行
うことができるため、プログラム製造の工数を減少させ
ることができ、かつ処理の説明を文章で記述することに
より、分がり易い処理フロー図と注釈により処理の説明
が十分になされているプログラムが得られるため、プロ
グラムの保守の工数を減少させることができる。・(実
施例) 以下本発明の実施例を図面に基づいて説明する。
第1図は本発明の全体構成図である。12は処理フロー
図における制御構造の要素を表す制御記号と処理を説明
する処理説明の対話的に入力したデータを記憶する処理
フロー図記憶手段、13は処理フロー図記憶手段と関連
させて対話的に入力された処理要素のデータを記憶する
処理要素記憶手段、14は処理要素記憶手段の内、処理
フロー図の処理と処理要素の対応付けを行う処理説明位
置認識処理、15は処理要素記憶手段の内、処理要素を
蓄積し記憶する処理要素格納処理、16は処理フロー図
記憶手段と処理要素記憶手段の情報からプログラムを合
成するプログラム合成手段、17はプログラム合成手段
の内、処理フロー図記憶手段と処理要素記憶手段の情報
をプログラムの合成に必要な情報への変換を行う情報変
換処理、18はプログラム合成手段の内、変換した情報
からプログラムを合成し、記憶するプログラム合成処理
である。
第1図を基に本発明の処理の流れについて以下に示す。
以下の説明では、処理フロー図として5PD(Stru
ctured Programming Diagra
m)を例に用いている。処理フロー図は他に、フローチ
ャート、HCP(Hierarchial and C
ompact description chart)
、PAD(Problrem Analysis Di
agram)等がある。ここで用いたSPDは、構造化
プログラミングを支援するプログラム構造図法の1つで
ある。また、第5図はフローチャートでの箱に相当する
SPDの制御構造の要素を表す制御記号を示す図である
。SPDにおいては、第5図に示したような簡単な縦横
の線と簡単な記号により制御構造の要素を表すことがで
きる。
第1図の入力手段11がらは、以下の3種類のデータが
供給される。この入力手段11としてはキーボードある
いは70ツピデイスク等を用いることができる。
■処理フロー図を作成するためのデータ処理フロー図中
の制御記号(例えば第5図の条件を表すif溝構造)を
表し、キーボードのファンクションキー等に特定の信号
として割り当てたデータ、および処理の説明を表した日
本語もしくは英字の文字列等。
■処理要素(ソースコード)のデータ 合成したいプログラム言語のソースコードを表す文字列
等。
■現入力データ以降に入力されるデータが、上記■、■
のいずれであるかを示すデータ、および■。
■のデータ列の終わりを示すデータ等。(この意味を持
たせた特性の記号、もしくは記号列。)入力手段11で
は、上記■のデータと、すでに入力済みのデータから■
のデータが入力された状況を判断することにより、以降
入力される記号の例が■、■のいずれかのデータかを判
断し、■のデータは信号線51により処理フロー図記憶
手段12に、■のデータは信号線52により処理要素記
憶手段13に記号の列として渡す。
処理フロー図記憶手段12では、渡されたデータが処理
フロー図を構成する制御記号であるのか処理の説明の文
字列であるのかを、特定の割り付けた記号により判I析
し1.制御記号と制御記号のつながり、および制御記号
と処理の説明の関連を、各接点でのノード位置として記
憶しながら、処理フロー図を構成し、言己憶していく。
このとき、構成した処理フロー図は、信号線57により
表示19に転送されディスプレイ画面に表示したり、プ
リンタに接続すれば紙面に出力することもできる。
処理要素記憶手段13では、渡された処理要素(ソース
コード)のデータが、処理フロー図中のどの処理に関連
するかを判断するために、信号線53を介して処理フロ
ー図記憶手段12から対応するノード位置を持つことに
より、処理フロー図と対応をとりながらソースコードの
記号列(プログラムの断片)を信号線54を介して処理
要素格納手段15に記憶していく。このとき、ソースコ
ードの記号列は、信号線60により表示19に転送され
画面で表示できる。
入力の終了を表す記号を受は取りすべてのデータの入力
が完了した時点で、処理フロー図記憶手段12に記憶さ
れている処理フロー図のデータと、処理要素記憶手段1
3に記憶されている処理要素(ソースコード)は、各々
信号線55.58によりプログラム合成手段16に送ら
れる。また、任意の時点でプログラム合成手段16は、
信号線55.58を介することにより、処理フロー図記
憶手段12と処理要素記憶手段13との記憶にアクセス
できる。プログラム合成手段16では、処理フロー図の
データを、プログラム合成に必要なデータに変換して、
信号線61によりプログラム合成処理部18に転送され
、これと%31’素(ソースフード)とからプログラム
を合成する。合成したプログラムは、信号線63から表
示19に転送され、表示により画面に表示したり、プリ
ンタに接続すれば紙面に出力することもできる。
次に、各手段について説明する。
第6図において、入力手段11より処理フロー図記憶手
段12にデータが渡されると、そのデータが処理フロー
図における制御記号であるのか処理の説明であるのかを
判断しく101)、制御記号であれば制御記号の記号列
の終了を表す文字が来るまで(102)、入力されたデ
ータから制御記号を判断して、制御記号および制御記号
と制御記号のつながりをノードとして記憶しく105)
、画面に表示する(106)。また、このとき編集(挿
入、削除、複写等)を指定する記号があれば(103)
、記号に従い処理フロー図の編集を行う(104)。編
集は、すでに記憶したデータに対して、指定されたデー
タを削除したり、新たにデータを挿入したり、同じ内容
を複写したりして記憶したデータの修正をする。一方、
渡されたデータが、処理の説明であった場合には(10
1)、処理の説明を表す記号列の終了を表す記号がくる
まで(107)、渡された文字列に日本語を指定する記
号があれば、記号に従い日本語に変換して(110)、
この文字列と制御記号との関連をあられすノードとを記
憶しく110)、画面に表示する(112)。またこの
とき編集(挿入、削除、複写等)を指定する記号があれ
ば、記号に従い文字列の編集を行う(109)。
第7図において、入力手段11より処理要素記憶手段1
3にデータが渡されると、処理要素(ソースコード)の
記号列の終了を表す記号が来るまで(201,)、処理
要素の記号列の始まりを示すデータがら、処理要素と対
応する処理フロー図の処理を判断し、処理フロー図記憶
手段からその処理のノード位置を持ち、処理フロー図と
対応をとりながら処理の要素を記憶しく204)、処理
要素を画面に表示する(205)。また、このとき編集
(挿入、削除、複写等)を指定する記号があれば(20
2)、記号に従い処理要素の編集を行う(203)。
第8図において、処理フロー図記憶手段12より処理フ
ロー図のデータが処理要素記憶手段13より処理要素が
プログラム合成手段16に渡されると、処理フロー図の
制御記号をソースコードに変換しく301)、処理フロ
ー図の処理の説明をプログラム各処理への注釈に変換し
く302)、処理要素を注釈に対応させるようにして情
報の変換を行う(303)。これにより、プログラムの
骨格は、処理フロー図の制御記号から得られ、各ソース
コードは処理要素がら得られ、各ソースコードに対する
コメントは、処理フロー図の処理の説明がら得られるこ
とになり、前出の変換した情報からプログラムを自動的
に合成することができる(304)。
第1図の表示19は得られたプログラム等を表示するも
ので、処理フロー図記憶手段12に記憶されている処理
フロー図(例えば第2図)、処理要素記憶手段13に記
憶されている処理要素対応させた処理フロー図(例えば
第3図)、第1図のプログラム合成手段16に記憶しで
あるプログラム(例えば第4図)を、CRTディスプレ
イ」二に表示したり、ラインプリンタ等で紙面に出力さ
せることができる。
以上のようなプログラム自動合成装置において、本発明
の詳細な説明するために、第2図、第3図、第4図を用
いて、キーボードから対話的に処理フロー図および処理
要素を作成する場合の処理手順の一例を示す。
第2図は本発明において、第1図の処理フロー図記憶手
段12で記憶される完成した処理フロー図の一例である
。処理説明は日本語の文章で記述されているが、これは
英数文字の文章でもよい。また、第2図は主処理mai
nに)というモジュールの始めであり、データ宣言の後
に、入力文字が終了するまで値を読むことをwhile
文の中で繰り返し、5w1tch文の中で四則演算する
というプログラムSPDの例である。第3図は、第1図
の処理要素記憶手段13で記憶する処理要素を第2図の
処理フロー図中の関連する処理に対応させて表示した一
例である。処理要素を表すプログラム記述言語として、
FORTRAN、 C0BOL、 PASCAL、 C
等があるが、ここではC言語を例として用いている。
処理手順として、まず、処理フロー図および処理要素を
対話的に入力する。処理フロー図SPDのモジュール名
として、主処理を入力する。処理説明を入力する指定を
キー人力により行い、”5YUSYORI”とキー人力
をして、これを漢字゛′主処理″に変換するようにキー
人力により指定し、変換する。処理フロー図記憶手段は
、この′”主処理″を記憶し、画面に出力する。そして
、″主処理”に対する処理要素を記述する。パ主処理″
に対する処理要素を記述する指定をキー人力により行い
、”main()”と入力し、処理要素の記述の終了を
キー人力により指定する。次に、データ宣言という順次
処理を記述する。順次処理の制御記号に対応づけたキー
を入力することにより、順次処理を表す制御記号が画面
に出力される。データ宣言という文章を入力し、それに
対応する処理要素を前記と同様に記述する。そしてIT
whilellという制御記号に対応付けたキーを入力
すると、”while”の制御構造が画面に出力される
。次に、この繰り返し構造で行う処理を記述する。wh
ileの条件の説明とそれに対する処理要素を入力し、
次に繰り返す処理を入力する。入力の仕方は前出の場合
と同様である。このようにして、処理フロー図および処
理要素を入力していく。入力する順番については、処理
フロー図の制御構造を最初に入力しなければならないが
、処理フロー図の処理の説明、および処理要素を、どの
ような順に入力してもよい。
処理フロー図、および処理要素の入力が終了した時、キ
ー人力によりプログラム合成の指定をする。合成された
プログラムは、記憶されており、画面に出力されたり、
紙面に出力することができる。このようにして合成した
プログラムの出力例が第4図である。
第4図は、第3図に表示したような処理フロー図と処理
要素から、第1図のプログラム合成手段16で合成プロ
グラムの一例である。このプログラムはC言語で記述さ
れているが、これは第1図の処理要素記憶手段13で記
憶されている処理要素がC言語で記述されているためで
、処理要素記憶手段で記憶する時に他の言語で記憶させ
れば、記憶させた言語で記述されたプログラムを自動合
成することができる。
完成したプログラムは、通常のコンパイルにかけてエラ
ーがあった場合には、通常のエディタで修正し、コンパ
イルが通った時点で、本発明により修正後のプログラム
から最新の処理フロー図を得ることができる。また、本
発明により、プログラムを処理フロー図に変換してがら
処理フロー図上で修正し、修正完了後にプログラムを再
合成することもできる。
(発明の効果) 本発明によれば、プログラムの設計と構造を同時に行い
、処理の説明を文章で記述した処理フロー図と各処理に
対応した処理要素を作成することで、プログラムを自動
的に合成することができるので、プログラム作成作業を
効率よく行うことができると同時に、プログラムの保守
に当たっても、プログラムと処理フロー図が一体化して
いるだけでなく、処理フロー図は、処理の説明を文章で
記述でき、処理の概要を記述できるために分かり易く、
また、自動合成したプログラムも注釈により処理の説明
が十分なされているので分かり易いため、保守作業を効
率よく行うことができる。
【図面の簡単な説明】
第1図は本発明の全体構成図、第2図は処理フロー図記
憶手段に記憶される処理フロー図の一例を示す図、第3
図は処理要素記憶手段に記憶される処理要素を第2図の
関連する処理に対応させて表示した一例を示す図、第4
図はプログラム合成手段で第3図に示したような処理フ
ロー図と処理要素からプログラムを合成した例を示す図
、第5図は処理フロー図SPDの制御構造の要素を表す
制御記号を示す図、第6図は処理フロー図記憶手段の、
第7図は処理要素記憶手段の、第8図はプログラム合成
手段の概要の処理フローを示したフローチャートである
。 図において、 11は入力手段、12は処理フロー図記憶手段、13は
処理要素記憶手段、14は処理説明位置認識手段、15
は処理要素格納処理、16はプログラム合成手段、17
は情報変換処理、18はプログラム合成処理、19は表
示手段をそれぞれ示す。      :、: 、f+ 
:。 工廻埋 [−0−3,W1工。H」1和 キ   3   回 error(”unknown operatoビつ;
eXIt(Iン; キ  4   m exit (1) ’。 享  5   図 多   7   面

Claims (1)

    【特許請求の範囲】
  1. 処理フロー図における制御構造の要素を表す制御記号デ
    ータと、処理を説明する処理説明データとを記憶する処
    理フロー図記憶手段と、処理フロー図記憶手段と関連し
    て処理要素を記憶する処理要素記憶手段と、処理フロー
    図記憶手段出力と処理要素記憶手段出力とからプログラ
    ムを合成するプログラム合成手段とから成ることを特徴
    とするプログラム自動合成装置。
JP22764986A 1986-09-25 1986-09-25 プログラム自動合成装置 Pending JPS6381528A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22764986A JPS6381528A (ja) 1986-09-25 1986-09-25 プログラム自動合成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22764986A JPS6381528A (ja) 1986-09-25 1986-09-25 プログラム自動合成装置

Publications (1)

Publication Number Publication Date
JPS6381528A true JPS6381528A (ja) 1988-04-12

Family

ID=16864181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22764986A Pending JPS6381528A (ja) 1986-09-25 1986-09-25 プログラム自動合成装置

Country Status (1)

Country Link
JP (1) JPS6381528A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02263232A (ja) * 1989-04-03 1990-10-26 Matsushita Electric Ind Co Ltd 段階的詳細化図面出力装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02263232A (ja) * 1989-04-03 1990-10-26 Matsushita Electric Ind Co Ltd 段階的詳細化図面出力装置

Similar Documents

Publication Publication Date Title
US5280573A (en) Document processing support system using keywords to retrieve explanatory information linked together by correlative arcs
JPS6195458A (ja) 図式プログラム・テスト方法
US20020007483A1 (en) Interactive flow visualization, graphical editing and analysis of textual languages
JPH0640302B2 (ja) 図式・ソ−スプログラム自動生成方法
JPH06110701A (ja) コンピユータ・プログラム言語変換装置及びその方法
JP2019091361A (ja) 翻訳支援装置、翻訳支援プログラム、および情報処理装置により翻訳を支援する方法
JPS6381528A (ja) プログラム自動合成装置
JPS6020284A (ja) 電子翻訳装置
JP7447574B2 (ja) サポート装置、サポートプログラムおよびサポート方法
JPH0157812B2 (ja)
JPS63109578A (ja) 論理図概要表示処理方式
JP3003459B2 (ja) プログラム作成支援装置
JPH0451871B2 (ja)
JPS62217294A (ja) 音声情報辞書作成装置
JPS62145424A (ja) プログラム管理方法
JPS6361329A (ja) プログラム作成装置
JPS60100226A (ja) 木構造チヤ−ト・テキスト処理装置
JPH04370829A (ja) ソースコード編集方式
WO1986005025A1 (en) Collection and editing system for speech data
JPH05150924A (ja) ネツトワーク監視画面テキストフアイル生成装置
JPH1091411A (ja) ソースプログラム生成システム
CROSS II The control structure diagram: an automated graphical stepwise refinement tool with control constructs (software)
JPH0895761A (ja) プログラム生産支援装置
JPH05233255A (ja) エディタ
Beauregard et al. Schematic coding on an IBM-PC