JPS62145422A - ソ−スプログラム自動生成方法 - Google Patents

ソ−スプログラム自動生成方法

Info

Publication number
JPS62145422A
JPS62145422A JP28837985A JP28837985A JPS62145422A JP S62145422 A JPS62145422 A JP S62145422A JP 28837985 A JP28837985 A JP 28837985A JP 28837985 A JP28837985 A JP 28837985A JP S62145422 A JPS62145422 A JP S62145422A
Authority
JP
Japan
Prior art keywords
data
source program
variable
diagram
processing
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
JP28837985A
Other languages
English (en)
Inventor
Nobuo Kimura
木邑 信夫
Yukio Asada
浅田 幸夫
Akira Fuki
布木 明
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.)
Kobe Steel Ltd
Original Assignee
Kobe Steel 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 Kobe Steel Ltd filed Critical Kobe Steel Ltd
Priority to JP28837985A priority Critical patent/JPS62145422A/ja
Publication of JPS62145422A publication Critical patent/JPS62145422A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) この発明は、入力装買出力装置および記憶装置が接続さ
れた計n機を用いて、プログラムの仕様の生成からソー
スプログラムのコーディングまでを自動的に行なう方法
に関する。
(従来の技術とその問題点) ソースプログラムを自動生成する方法として、従来、例
えば特開昭60−159939号公報に開示された如き
図式・ソースプログラム自動生成方法がある。この方法
ではまず、対話用表示端末によりモジュール関連図(各
プログラムモジュール間の接続関係を表わす図式)を作
り、更に、各モジュールについて、処理フロー図(一種
の処理フローチャート)と、内部データ定義図(各処理
において使用されるデータの形式等を指定する図式)と
、インタフェイスデータ定義図(引数やモジュール間共
通データなどの形式等を指定する図式)とを作成して、
それらの内容をファイルに蓄積する。そして、各モジュ
ールごとに、モジュール関連図、処理フロー図、内部デ
ータ定義図及びインタフェイスデータ定義図の各図式情
報をファイルから読出し、定型の文や記号を付加して、
ソースプログラムの個々の文を生成し、それから、これ
らの文を言語の規則に従って編集して、ソースプログラ
ムを完成している。
ところが上記方法では、モジュール関連図、処理フロー
図、内部データ定義図、インターフェイス定義図の4種
類の図の作成が必要であり、1本のプログラム作成にお
いて入力時間がかがるとともに、仕様書の管理が複雑で
ある。ざらに、プログラムの生成においてもソースプロ
グラムの生成とその編集の2段階に分かれていて、生成
過程を複雑にしており、またその生成処理にも時間がか
かる。
ソースプログラムを自動生成する場合まず、人間がプロ
グラムの仕様を入力する必要があるが、この入力方式が
複雑であればプログラムの自動生成までにかなりの時間
がかかり、またその使用にもある程度の熟練を必要とす
るので、結果として自動化によるソースプログラム作成
作業の効率改善の効果が薄れる傾向にある。
(発明の目的) この発明の目的は、上記従来技術の問題点を解消し、プ
ログラム仕様の入力が簡単でかつソースプログラムの生
成処理が比較的短時間で済むソースプログラム自動生成
方式を提供することである。
(目的を達成するための手段) 上記目的を達成するため、この発明ではまず、入力装置
から処・理図式データおよび変数テーブルデータをコン
パイル単位ごとに同一識別名をつけて入力し、これらを
記憶装置に記憶蓄積する。処理図式は予めその形状の意
味が定義された図形の結合関係および当該図形内の記述
文字により処理の理論的な流れを表わすものであって、
処理図式データは前記識別名のデータと前記図形形状の
データと前記図形的記述文字のデータと前記結合関係の
データとを含んでいる。また変数テーブルは、対応の処
理図式内において使用する変数の種類と型を定義するた
めのものである。続いて入力装置から所望の識別名を入
力し、記憶装置から当該識別名の処理図式データおよび
変数テーブルデータを呼出してソースプログラムを生成
する。このソースプログラムの生成は、前記結合関係デ
ータにより表わされる接続順序に従って図形ごとに逐一
その図形形状データおよび図形内記述文字データをソー
スプログラムデータに変換し、かつ使用するプログラミ
ング言語による所定の変数宣言位置あるいは変数の型指
定位置においては変数テーブルの該当変数のデータをソ
ースプログラムデータに変換することによりこれを行な
う。
(実施例) 第1図は、この発明によるソースプログラム自動生成方
法を実施するためのシステム構成の一例を示すブロック
図である。ソースプログラムの自動生成に必要な一連の
データ処理は、コンピュータ1において所定の処理手順
に従って実行される。
オペレータは対話用表示端末2を介してコンピュータ1
と対話形式で交信(データの入出力)ができる他、タブ
レット3を用いて所要データをコンピュータ1に入力す
ることができるようになっている。端末2およびタブレ
ット3から入力されたデータのうちプログラムの仕様お
よび変数テーブルに関するデータは、コンピュータ1に
接続された外部ハードディスク装置4に記憶されて蓄積
される。またオペレータが必要に応じて、作成されたソ
ースプログラムや入力した仕様書などのハードコピーを
出力できるように、プリンタ5およびブロック6の出力
装置がコンピュータ1に接続されている。
ソースプログラムの自動生成処理は、第2図のフローチ
ャートに示す管理プログラムの管理゛の下で、予め準備
されたPADエディタ7、変数テーブルエディタ8.お
よびCプログラムジェネレータ9の3種類のプログラム
に従って実行される。
この管理プログラムがロードされたとき(Sl)、端末
2のCRTディスプレー画面上には、第3図に示す如き
初期画面10が表示される。すなわちツール選択の指示
メツセージとともに、メニュー、(1)PADエディタ
、(2)変数テーブルエディタ。
(3)Cプログラムジェネレータ、(4)エンドが表示
され、オペレータは端末2のキーボードからコマンドを
入力して、必要なツールを選択する(82.83)。
PADエディタ7における処理では、オペレータは端末
2およびタブレット3を用いて処理図式データをコンパ
イル単位ごとに識別名をつけて入力し、このデータはハ
ードディスク装置4に記憶されて蓄積される。また上記
変数テーブルエディタ7における処理では、オペレータ
は端末2およびタブレット3を用いて上記処理図式中で
使用する変数の種類と型を定義する変数テーブルのデー
タをコンパイル単位ごとにその処理図式と同一識別名を
つけて入力し、このデータは上記処理図式データと同様
にハードディスク装置4に記憶されて蓄積される。そし
て上記Cプログラムジェネレータ9の選択時には、オペ
レータは端末2から所望の識別名を入力し、これに応答
してハードディスク装置4から当該識別名の処理図式デ
ータおよび変数テーブルデータが呼出されて、この2つ
のファイルを用いてソースプログラムが生成される。
第4図は、上記PADエディタ7における処理を詳細に
示すフローチャートである。第3図の初期画面10で(
1)PADエディタを選択すると、システムは開始手続
(S4)としてモジュール名を質問してくる。ここでモ
ジュール名というのは、これから作成すべきソースプロ
グラムの名称であって、コンパイル単位を1つのモジュ
ールとして扱う。このとき例えば、モジュール名として
、“@5ettable”を端末2から入力すると、第
6図に示す如き表示が端末2のCRTディスプレー上に
出る。既に’ @ 5ettab18”のファイルがハ
ードディスク装置4内に格納されているときには、後述
する″“I o−d ”コマンドの機能が自動的に働き
そのファイルがロードされる(S5)。
これ以後、オペレータはコンピュータ1との対話方式に
より、“@5ettable”の処理図式を作成ないし
修正する。ここで処理図式というのは、予 □めその形
状の意味が定義された図形の結合関係および当該図形内
の記述文字により処理の理論的な流れを表わすことがで
きるものであればよく、例えば公知のPADをこの実施
例では使用している。
PADは、3種類のブロックの接続により処理の流れを
表現するもので、単純矩形のブロックはシーケンシャル
な処理を表わし、矩形の右端に切込みのあるブロックは
選択条件によって右上又は右下の角に接続されたブロッ
クの処理を行なうことを表わし、矩形の右端部に縦線が
入ったブロックは右横に接続されたブロックの処理の反
覆遂行を表わす。例えば第17図(A>のPADによる
処理図式の271j〜9番のブロックでは、「z = 
x :l:y」という処理を行なった後にrZ>OJの
条件が満足されるならば、5番、6番の処理をn回繰り
返し、rZ>OJの条件が満足されなければ、8番、9
番の処理をrZ<OJの間反覆遂行することを表わして
いる。
処理図式の作成ないし修正は、端末2およびタブレット
3を用いて行なう。端末2のCRTディスプレーの画面
左端には第5図に示す如きメニューが表示されており、
オペレータはタブレット3の盤面上にスタイラスペンを
走らせて081画面上のカーソルを移動させ、スタイラ
スペンの押圧によりカーソル位置のメニューを選択1′
るようになっている(86.87)。コマンドには例え
ば、上述した’lod”(データのロード)の伯、ad
d”(図式の追加)、”Ch(J”(図式中の文のi更
〉、deピ(図式の削除)、end”(終了)、”ou
t”(プロッタ出力)、”ren”(リナンバー)、”
sav”(データの保存)、“wnd”(ウィンド(画
面表示領域)の変更)があり、これらを適宜選択しなが
ら処理88〜S15を逐次実行する。” b s ”は
バックスペースで、カーソルを1スペース戻してそこの
文字等を削除するものであり、“’ r e t ”は
リターンを表わす。またPADの上記3種類のブロック
がメニ1−11,12.13として準備されており、さ
らに長文を別の場所で定fiするためのディファイン(
Define)ブロック14がその下に準備されている
。メニュー15.16はそれぞれ、処理図式のスタート
、エンドマークを表示させるためのものである。
端末2のCRT画面上に第6図の表示が出ているとき、
第5図のメニューにより°’ a d d ”を選び、
追加場所の点17をカーソルにより選び、続いてメニュ
ー15を選択すると、CRT画面上の表示は第7図のよ
うになる。次にメニューの“ad d ”を選び、追加
点としてスタートマークの下の点18を選び、メニュー
11のPAD図式を選び、処理の内容” z = x 
* y ’を端末2のキーボードから打ら込む。すると
、CRT画面上の表示は第8図にようになる。このよう
にして、追加の場合は’ a d d ”を選び、追加
したい点゛・″を選び、追加したいPAD図式を選び、
次に、その中に入れる内容をキーボードで打ち込む、と
いう操作を繰り返して、処理の理論的な流れを図式に変
換していく。処理の図式化を終了すると最後は“a d
 d ”を選び、処理の流れのR後の点19(第17図
(A)参照)を選び、メニュー16を選んでエンドマー
クをつける。以上の操作により、第17図(A)に示す
ような完成したPAD図を作成する。
このようにして作成したPAD図式は一旦、メニュー”
 s a v ”を選択してハードディスク装置4に保
存しておく。このとき、このPAD図式のデータとして
、少なくともモジュール名を表わすデータ(“モジュー
ル名、 data”のファイル名で保存、例えば上の例
であれば’ @ 5ettable、 data”)、
図形形状を表わすデータ、図形内記述文字を表わすデー
タおよび、図形間の結合関係を表わすデータが保存され
る。そしてメニュー” e n d ”を選択して、処
理S15を経てPADエディタ7を終了する。このとき
端末2のCRT画面は、第3図の初期画面10に戻る。
第9図は、変数テーブルエディタ8における処理を詳細
に示すフローチャートである。第3図の初期画面10で
(2)変数テーブルエディタを選択すると、システムは
開始手続(S16)としてモジュール名を質問してくる
ので、対応のPAD図式と同一のモジュール名を入力す
る。例えば上述のPAD図式で使用する変数の種類と型
とを定義する変数テーブルを作成するのであれば、“”
 o 5ettab18”を入力する。入力した名曲の
変数テーブルが既にハードディスク装置4内にあれば、
そのファイルがロードされ(S17)、なければ新しい
ファイルが作成される。新しいファイルを作成する場合
には、第10図に示すような表示が端末2のCRT画面
上に出る。また、このCRT上に表示されたメツセージ
(a(変数の追加)、C(変数の変更)、d(変数の削
除)、e(終了)。
k(プリンタ出力)、!(変数テーブルのロード)、S
(変数テーブルの保存))に従ってキーボードによりメ
ニューを適宜選択して(818,819)、変数の追加
(S20)、変数の削除(821)、変数の変更(82
2)、変数テーブルのプリンタ出力(823)、変数テ
ーブルの保存(S24)、変数テーブルのロード(S2
5>および終了手続(326)を逐次実行する。
テーブルを作成する場合には、まず上記CRT画面上の
メニューで“aI+を選ぶ。するとシステムは例2ば、
第3図と類似のメニュー表示により、変数の種類が(1
) (llobal (グローバル変数)か、(2) 
external (外部変数)か、(3) 1nte
rnal (内部変数)かを質問してくる。そこで端末
2のキーボードにより(1)を選ぶとシステムは、同様
のメニュー表示により変数の型が(1) intege
r  (整数型)か、(2)float (実数型)か
、(3) character(文字型)かを質問して
くる。ここで(3)を選び、キーボードから°“Str
[200]”と打ち込むと、087画面上の表示は第1
1図に示すようになる。次にメニューのa”を選び、(
2) externalを選び、さらに(1) 1nt
eOerを選んでn”、(2) floatを選んで’
x、y”をそれぞれキーボードから打ち込む。すると、
087画面上の表示は第12図に示すようになる。この
ようにして、追加の場合は“a”を選び、追加したい変
数の種類と型を選び、次に、追加する変数をキーボード
から打ち込むという操作を繰り返して、変数テーブルを
作成していく。そして、第17図(B)に示すような完
全な変数テーブルを完成する。
このようにして作成した変数テーブルのデータは一旦、
メニュー“S”を選択してハードディスクWt rll
 4に保存しておく。このときのファイル名は、゛モジ
ュール名、Var”(上の例であれば“@5Gttab
le、Var” )として保存する。そしてメニュー“
e”を選択して、処1!1s26を経て変数テーブルエ
ディタ8を終了する。このとき、端末2のCR7画面は
、第3図の初期画面に戻る。
以上のように、プログラムの仕様書(PAD図式および
変数テーブル)を作成し、これらのデータをハードディ
スク装@4に蓄積した後、Cプログラムジェネレータ9
に従ってソースプログラムを自動生成する。なお以下に
は、C言語によるプログラミングの例について述べてい
るが、FORTRAN等の他の言語についても同様に適
用することが可能である。
第13図は、Cプログラムジェネレータ9における処理
を詳細に示すフローチャートである。第3図の初期画面
10で(3)Cプログラムジェネレータを選ぶと、シス
テムは開始手続(827)としてモジュール名を質問し
てくる。そこでソースプログラムを生成したい所望のモ
ジュール名を入力すると、システムは自動的に同一モジ
ュール名のPAD図式のファイルと変数テーブルのファ
イルとをハードディスク装置4から呼出して、これらを
ロードする(828.829)。このとき、端末2の0
87画面上には第14図の表示が出る。
下*g分がオペレータの入力部分、他はシステムのメツ
セージである。以後の処理により自動生成されるソース
プログラムは“モジュール名、C”のファイル名で保存
されるが、同一ファイル名が既にあれば、そのファイル
名は自動的に“ファイル名、bkp″′と変更される。
第14図のback upメツセージは、その表示のた
めのものである。
続いて、端末2の087画面上に生成開始のメツセージ
(GENER^TE ST^RT)が表示され<830
)、・C言語によるソースプログラムの生成処理が行な
われる(S31)。このとき087画面上には、生成さ
れたソースプログラムが逐次表示される。
そして、ソースプログラムの生成が終了すると、CRT
I!ii面上には生成終了のメツセージ(C0)IPL
ETE)が表示され、また生成されたソースプログラム
は″゛モジュール名、C″のファイル名でハードディス
ク装δ4に保存されて、Cプログラムジェネレータ9に
よる処理を終了する(832)。このとき端末2のCR
7画面は、第3図の初期画面に戻る。
Cプログラム生成処理831では、第15図に示すよう
に、PAD図式データの図形間の結合関係を表わすデー
タの接続順序に従って図形ごとに逐一、その図形形状デ
ータおよび図形内記述文字のデータをソースプログラム
データに変換することにより(833)、CHiWによ
るソース10グラムを生成していく。この処理は、すべ
てのPAD図式データに対する変換操作が終了するまで
繰り返し行なわれる(834)。またこのとき、C言語
によるソース70グラムの所定の変数宣言位置および変
数の型を指定する位置では、変数テーブル内の該当変数
のデータを参照してこれをソースプログラムデータに変
換し、上記生成されるソースプログラムデータに挿入し
ておく。
第16図は、上述のようにして作成したモジュール名”
 @ 5ettable”のPAD図式と変数テーブル
とからC8語のソースプログラムを生成する場合の、C
プログラム生成処理S31の具体例を詳細に示すフロー
チャートである。このとき、第17図に示すように、(
A)のPAD図式と(B)の変数テーブルとから、(C
)のソースプログラムが生成される。処理S35.83
7.839では、変数テーブルのデータをソースプログ
ラムのデータに変換C1その他の処理836.S38゜
S40〜S52ではPAD図式のデータを図形ごとに解
析してソースプログラムのデータに変換し、必要に応じ
て変数テーブルも参照している。このようなアルゴリズ
ムにより、完全なC言語ソースプログラムが自動生成さ
れる。
なお、上述の説明においては、処理図式として公知のP
AD、および自動生成されるソースプログラムの言語と
してC言語を用いた実施例につき詳述したが、この発明
は他の処理図式およびプログラミング言語にも同様に適
用し得るものであり、この場合にも上述の実施例と同様
の効果を奏する。
(発明の効果) 以上説明したように、この発明によれば、処理したい内
容の図式とそこで使用する変数のテーブルを作成するだ
けでよく、仕様の入力が非常に簡単になっている。その
ため、誰でもすぐに使用可能である。またソースプログ
ラムの生成過程も1ステツプであるため、生成の処理も
短時間で済む。
【図面の簡単な説明】
−第1図はこの発明を実施するためのシステム溝成の一
例を示すブロック図、第2図はこの発明による処理の全
体の概略を示すフローチャート、第3図、第5図、第6
図、第7図、第8図、第10図、第11図、第12図、
第14図は画面表示の説明図、第4図はPADエディタ
における処理のフローチャート、第9図は変数テーブル
エディタにおける処理のフローチャート、第13図、第
15図、第16図はCプログラムジェネレータにおける
処理のフローチャート、第17図はPAD図式、変数テ
ーブル、およびこれらから生成されるC言語ソースプロ
グラムの一例を示す説明図である。 1・・・コンピュータ、  2・・・対話用表示端末3
・・・タブレット、   4・・・ハードディスク装置
5・・・プリンタ、    6・・・ブロツタ(A) 
 PAD図八゛ へ17図

Claims (1)

    【特許請求の範囲】
  1. (1)入力装置、出力装置および記憶装置が接続された
    計算機を用いてソースプログラムを自動生成する方法で
    あって、 前記入力装置から処理図式データをコンパイル単位ごと
    に識別名をつけて入力し、これを前記記憶装置に記憶蓄
    積するステップを備え、 前記処理図式は予めその形状の意味が定義された図形の
    結合関係および当該図形内の記述文字により処理の理論
    的な流れを表わすものであって、前記処理図式データは
    前記識別名のデータと前記図形形状のデータと前記図形
    内記述文字のデータと前記結合関係のデータとを含み、 前記入力装置から前記処理図式内において使用する変数
    の種類と型を定義するための変数テーブルのデータをコ
    ンパイル単位ごとに対応の前記処理図式と同一の識別名
    をつけて入力し、これを前記記憶装置に記憶蓄積するス
    テップと、 前記入力装置から所望の識別名を入力し、前記記憶装置
    から当該識別名の前記処理図式データおよび変数テーブ
    ルデータを呼出してソースプログラムを生成するステッ
    プとをさらに備え、 前記ソースプログラムの生成は、前記結合関係データに
    より表わされる接続順序に従って図形ごとに逐一その図
    形形状データおよび図形内記述文字データをソースプロ
    グラムデータに変換し、かつ使用するプログラミング言
    語による所定の変数宣言位置および変数の型を指定する
    位置においては前記変数テーブルの該当変数のデータを
    ソースプログラムデータに変換することによりこれを行
    なう、ソースプログラム自動生成方法。
JP28837985A 1985-12-20 1985-12-20 ソ−スプログラム自動生成方法 Pending JPS62145422A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28837985A JPS62145422A (ja) 1985-12-20 1985-12-20 ソ−スプログラム自動生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28837985A JPS62145422A (ja) 1985-12-20 1985-12-20 ソ−スプログラム自動生成方法

Publications (1)

Publication Number Publication Date
JPS62145422A true JPS62145422A (ja) 1987-06-29

Family

ID=17729435

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28837985A Pending JPS62145422A (ja) 1985-12-20 1985-12-20 ソ−スプログラム自動生成方法

Country Status (1)

Country Link
JP (1) JPS62145422A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02227728A (ja) * 1989-02-28 1990-09-10 Nec Corp プログラム流れ図およびテーブル設計書生成装置
JPH03269622A (ja) * 1990-03-19 1991-12-02 Nec Corp ジョブ制御ステートメント生成装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02227728A (ja) * 1989-02-28 1990-09-10 Nec Corp プログラム流れ図およびテーブル設計書生成装置
JPH03269622A (ja) * 1990-03-19 1991-12-02 Nec Corp ジョブ制御ステートメント生成装置

Similar Documents

Publication Publication Date Title
US4956773A (en) System and method of generating a source program from inputted schematic information
US4730315A (en) Diagrammatic method of testing program
JPH0458052B2 (ja)
JPH1091412A (ja) 表示部品選択装置及び表示部品選択方法
JPH03268058A (ja) 文書作成方法及びその装置
JPH02232152A (ja) 生産システムシミュレータ生成装置
CN111506306A (zh) 一种Ansible剧本编写方法、装置和电子设备
JPS62145422A (ja) ソ−スプログラム自動生成方法
JPH07168709A (ja) プログラムジェネレータ利用仕様シミュレーション方法およびその装置
CN111124385B (zh) 一种基于数据库的电源设计软件的自动生成方法及系统
JPH08329004A (ja) アプリケーション・プログラム使用の端末操作性向上方法
JPS62145424A (ja) プログラム管理方法
JP2946715B2 (ja) プログラム生成方法およびそのための仕様入力方法
JPS62145423A (ja) プログラム仕様書自動生成方法
JPH0588863A (ja) プログラム開発支援システム
JPH04273524A (ja) プログラム自動生成装置
JPH0546377A (ja) 制御プログラム作成方法及びその作成装置
JPH04184627A (ja) プログラム合成システムのインタフェース方法
EP0315172A2 (en) Automatic program generation method with a visual data structure display
JP2001134423A (ja) 対話型既存システムを利用する新システムの画面情報出力方法
JP3305858B2 (ja) 自動図形作成装置および自動図形作成方法
JPS6249404A (ja) Ncプログラムの編集方法および編集装置
Martin The Undergraduate Guide to R
Brackett et al. Case Study in Interactive Graphics Programming: A Circuit Drawing and Editing Program for Use with a Storage-tube Display Terminal
JPH0895761A (ja) プログラム生産支援装置