JPH05233241A - プログラム作成装置 - Google Patents
プログラム作成装置Info
- Publication number
- JPH05233241A JPH05233241A JP7349592A JP7349592A JPH05233241A JP H05233241 A JPH05233241 A JP H05233241A JP 7349592 A JP7349592 A JP 7349592A JP 7349592 A JP7349592 A JP 7349592A JP H05233241 A JPH05233241 A JP H05233241A
- Authority
- JP
- Japan
- Prior art keywords
- name
- program
- data
- source code
- identifier
- 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
Links
Landscapes
- Stored Programmes (AREA)
Abstract
(57)【要約】
【目的】 プログラム仕様から、ユーザにも比較的分か
りやすい関数名、変数名、データ型名などの識別子を用
いたソースコードを、自動的に作成すること。 【構成】 プログラム生成手段2は、プログラム仕様1
を入力として、ソースコード5を生成する。識別子生成
手段4は、プログラム生成手段2において識別子の生成
が必要な場合、プログラム仕様1において用いられてい
るプロセス名、データ名などから、識別子生成情報3を
用いて、識別子を生成する。
りやすい関数名、変数名、データ型名などの識別子を用
いたソースコードを、自動的に作成すること。 【構成】 プログラム生成手段2は、プログラム仕様1
を入力として、ソースコード5を生成する。識別子生成
手段4は、プログラム生成手段2において識別子の生成
が必要な場合、プログラム仕様1において用いられてい
るプロセス名、データ名などから、識別子生成情報3を
用いて、識別子を生成する。
Description
【0001】
【産業上の利用分野】本発明は、プログラム仕様からソ
ースコードを自動的に作成するプログラム作成装置に関
するものである。
ースコードを自動的に作成するプログラム作成装置に関
するものである。
【0002】
【従来の技術】従来のプログラム開発過程においては、
プログラム仕様を作成し、プログラマーがプログラム仕
様に基づいて、人手によってソースコードを作成してい
た。近年、作成したプログラム仕様から、自動的にソー
スコードを作成するプログラム作成装置が実用化されつ
つある。作成するプログラム仕様は、ユーザーにとって
分かりやすく、例えば、日本であれば日本語を用いて記
述される。自動的に作成されるソースコードは、通常は
そのままコンパイラやインタプリタなどで実行される。
そのため、作成されたソースコード内で使用される変数
名や関数名などの識別子は、単なる識別記号としての意
味しか持たない。
プログラム仕様を作成し、プログラマーがプログラム仕
様に基づいて、人手によってソースコードを作成してい
た。近年、作成したプログラム仕様から、自動的にソー
スコードを作成するプログラム作成装置が実用化されつ
つある。作成するプログラム仕様は、ユーザーにとって
分かりやすく、例えば、日本であれば日本語を用いて記
述される。自動的に作成されるソースコードは、通常は
そのままコンパイラやインタプリタなどで実行される。
そのため、作成されたソースコード内で使用される変数
名や関数名などの識別子は、単なる識別記号としての意
味しか持たない。
【0003】しかし、時によって作成されたソースコー
ド上で、デバッグなどの作業が必要になる場合がある。
従来の方法によって自動的に作成されたソースコードで
は、使用されている変数名や関数名が、プログラム仕様
を反映した処理上の意味を表していないため、ソースコ
ード上でのデバックはかなり困難であった。
ド上で、デバッグなどの作業が必要になる場合がある。
従来の方法によって自動的に作成されたソースコードで
は、使用されている変数名や関数名が、プログラム仕様
を反映した処理上の意味を表していないため、ソースコ
ード上でのデバックはかなり困難であった。
【0004】
【発明が解決しようとする課題】本発明は、上述した問
題点に鑑みてなされたもので、ユーザーにも比較的分か
りやすい関数名、変数名、データ型名などの識別子を用
いたソースコードを、自動的に作成することを目的とす
るものである。
題点に鑑みてなされたもので、ユーザーにも比較的分か
りやすい関数名、変数名、データ型名などの識別子を用
いたソースコードを、自動的に作成することを目的とす
るものである。
【0005】
【課題を解決するための手段】本発明は、プログラム作
成装置において、プログラム仕様からソースコードを生
成するプログラム生成手段と、プログラム生成手段にお
いて識別子を生成する際に用いられ、識別子生成情報に
従って識別子の生成を行なう識別子生成手段を有するこ
とを特徴とするものである。
成装置において、プログラム仕様からソースコードを生
成するプログラム生成手段と、プログラム生成手段にお
いて識別子を生成する際に用いられ、識別子生成情報に
従って識別子の生成を行なう識別子生成手段を有するこ
とを特徴とするものである。
【0006】
【作用】本発明によれば、自動的に作成されたソースコ
ード内の識別子を、識別子生成情報を参照し、識別子生
成手段によって、生成することによって、ユーザーにと
ってわかりやすい識別子名(変数名、関数名等)の使用
されたソースコードを自動的に生成することが可能にな
り、ソースコード上でのデバッグが容易になる。
ード内の識別子を、識別子生成情報を参照し、識別子生
成手段によって、生成することによって、ユーザーにと
ってわかりやすい識別子名(変数名、関数名等)の使用
されたソースコードを自動的に生成することが可能にな
り、ソースコード上でのデバッグが容易になる。
【0007】
【実施例】図1は本発明のプログラム作成装置の一実施
例の概略構成図である。図中、1はプログラム仕様、2
はプログラム生成手段、3は識別子生成情報、4は識別
子生成手段、5はソースコードである。
例の概略構成図である。図中、1はプログラム仕様、2
はプログラム生成手段、3は識別子生成情報、4は識別
子生成手段、5はソースコードである。
【0008】プログラム仕様1および識別子生成情報3
は、ある定められた記述法にしたがって、予めユーザー
によって作成される。プログラム生成手段2は、プログ
ラム仕様1が入力され、ソースコード5を生成する。こ
の処理の中で、識別子の生成が必要になると、識別子生
成手段4を呼び出し、生成すべき識別子を得る。識別子
生成情報3は、ソースコード上の識別子を識別子生成手
段4で自動的に生成する際に用いるための情報である。
たとえば、プロセス名−関数名対応表、データ名−変数
名対応表などからなる。識別子生成情報3は、プログラ
ム仕様と一体となっていてもよいし、プログラム仕様と
は別体としてもよい。識別子生成手段4は、プログラム
生成手段2において識別子の生成が必要な場合、プログ
ラム仕様1において用いられているプロセス名、データ
名などを、識別子生成情報3を用いて、該情報に指示さ
れている識別子を生成する。
は、ある定められた記述法にしたがって、予めユーザー
によって作成される。プログラム生成手段2は、プログ
ラム仕様1が入力され、ソースコード5を生成する。こ
の処理の中で、識別子の生成が必要になると、識別子生
成手段4を呼び出し、生成すべき識別子を得る。識別子
生成情報3は、ソースコード上の識別子を識別子生成手
段4で自動的に生成する際に用いるための情報である。
たとえば、プロセス名−関数名対応表、データ名−変数
名対応表などからなる。識別子生成情報3は、プログラ
ム仕様と一体となっていてもよいし、プログラム仕様と
は別体としてもよい。識別子生成手段4は、プログラム
生成手段2において識別子の生成が必要な場合、プログ
ラム仕様1において用いられているプロセス名、データ
名などを、識別子生成情報3を用いて、該情報に指示さ
れている識別子を生成する。
【0009】図2は、プログラム仕様および識別子生成
情報の具体的な構成図である。プログラム仕様1として
は、データフローダイアグラム、プロセスフローダイア
グラム、データ構造定義などが記述される。
情報の具体的な構成図である。プログラム仕様1として
は、データフローダイアグラム、プロセスフローダイア
グラム、データ構造定義などが記述される。
【0010】データフローダイアグラムには、プログラ
ム中のデータの流れが記述される。図3は、データフロ
ーダイアグラムの記述例を示す図である。図示された例
では、入力された座標データは、座標配列データとして
格納され、X、Y座標値が入れ換えられ、入れ換えられ
た座標データが出力されて座標点が画面にプロットされ
る、というデータの流れが記述されている。
ム中のデータの流れが記述される。図3は、データフロ
ーダイアグラムの記述例を示す図である。図示された例
では、入力された座標データは、座標配列データとして
格納され、X、Y座標値が入れ換えられ、入れ換えられ
た座標データが出力されて座標点が画面にプロットされ
る、というデータの流れが記述されている。
【0011】プロセスフローダイアグラムには、プログ
ラムの処理手順が記述される。図4は、プロセスフロー
ダイアグラムの記述例を示す図である。図示された例で
は、座標データを入力したのち、X、Y座標値を入れ換
えて座標点を画面にプロットする処理を、10回繰り返
して行う、という処理手順が記述されている。
ラムの処理手順が記述される。図4は、プロセスフロー
ダイアグラムの記述例を示す図である。図示された例で
は、座標データを入力したのち、X、Y座標値を入れ換
えて座標点を画面にプロットする処理を、10回繰り返
して行う、という処理手順が記述されている。
【0012】データ構造定義には、プログラムにおいて
使用するデータの構造の定義が記述される。図5は、デ
ータ構造定義の記述例を示す図である。図示された例で
は、位置というデータはREAL型であり、X座標、Y
座標というデータは位置データであり、座標データとい
うデータはX座標とY座標とから構成され、座標配列デ
ータというデータは100個の座標データから構成され
る、というデータ構造が記述されている。
使用するデータの構造の定義が記述される。図5は、デ
ータ構造定義の記述例を示す図である。図示された例で
は、位置というデータはREAL型であり、X座標、Y
座標というデータは位置データであり、座標データとい
うデータはX座標とY座標とから構成され、座標配列デ
ータというデータは100個の座標データから構成され
る、というデータ構造が記述されている。
【0013】また、識別子生成情報3としては、プロセ
ス名−関数名対応表、データ名−変数名対応表などが記
述される。
ス名−関数名対応表、データ名−変数名対応表などが記
述される。
【0014】プロセス名−関数名対応表は、プログラム
仕様1、特にプロセスフローダイアグラムにおいて用い
ているプロセス名と、自動的に作成されるソースコード
上における関数名との対応が記述される。図6は、プロ
セス名−関数名対応表の記述例を示す図である。左欄に
はプログラム仕様1において用いているプロセス名が記
述されており、例として、図4に示されたプロセスフロ
ーダイアグラムの中で用いているプロセス名が記述され
ている。右欄には、左欄の各プロセス名に対応させた関
数名、例えば「座標データを入力する」というプロセス
名が、ソースコード上で ”input_coord_
array_data”という関数名として変換するこ
とが記述されている。
仕様1、特にプロセスフローダイアグラムにおいて用い
ているプロセス名と、自動的に作成されるソースコード
上における関数名との対応が記述される。図6は、プロ
セス名−関数名対応表の記述例を示す図である。左欄に
はプログラム仕様1において用いているプロセス名が記
述されており、例として、図4に示されたプロセスフロ
ーダイアグラムの中で用いているプロセス名が記述され
ている。右欄には、左欄の各プロセス名に対応させた関
数名、例えば「座標データを入力する」というプロセス
名が、ソースコード上で ”input_coord_
array_data”という関数名として変換するこ
とが記述されている。
【0015】データ名−変数名対応表は、プログラム仕
様1、特にデータ構造定義において用いているデータ名
と、自動的に作成されるソースコード上における変数名
との対応が記述される。図7は、データ名−変数名対応
表の記述例を示す図である。左欄にはプログラム仕様1
において用いているデータ名が記述されており、例とし
て、図5に示されたデータ構造定義の中で用いているデ
ータ名が記述されている。右欄には、左欄の各データ名
に対応させた変数名、例えば「位置」というデータ名
が、ソースコード上で”position”という変数
名として変換することが記述されている。
様1、特にデータ構造定義において用いているデータ名
と、自動的に作成されるソースコード上における変数名
との対応が記述される。図7は、データ名−変数名対応
表の記述例を示す図である。左欄にはプログラム仕様1
において用いているデータ名が記述されており、例とし
て、図5に示されたデータ構造定義の中で用いているデ
ータ名が記述されている。右欄には、左欄の各データ名
に対応させた変数名、例えば「位置」というデータ名
が、ソースコード上で”position”という変数
名として変換することが記述されている。
【0016】図1に示された本発明の一実施例の動作を
説明する。プログラム仕様1および識別子生成情報3と
しては、図2ないし図7に示された内容の情報が与えら
れるものとする。
説明する。プログラム仕様1および識別子生成情報3と
しては、図2ないし図7に示された内容の情報が与えら
れるものとする。
【0017】 プログラム生成手段2がプログラム仕
様1を受け取ると、プログラム仕様1のデータフローダ
イアグラムより各プロセス間のデータの入出力関係の情
報を抽出する。次に、プロセスフローダイアグラムより
各プロセスを実行する際の、制御構造についての情報を
抽出する。さらに、データ構造定義よりデータ構造に関
する情報を抽出し、さらに関数の引数の順序に関する情
報などを全て得る。そして、プログラムのスケルトンを
生成する。
様1を受け取ると、プログラム仕様1のデータフローダ
イアグラムより各プロセス間のデータの入出力関係の情
報を抽出する。次に、プロセスフローダイアグラムより
各プロセスを実行する際の、制御構造についての情報を
抽出する。さらに、データ構造定義よりデータ構造に関
する情報を抽出し、さらに関数の引数の順序に関する情
報などを全て得る。そして、プログラムのスケルトンを
生成する。
【0018】 ソースコード上の関数名が必要になる
と、識別子生成手段によって、識別子生成情報3中のプ
ロセス名−関数名対応表を参照して、必要な関数名を生
成する。
と、識別子生成手段によって、識別子生成情報3中のプ
ロセス名−関数名対応表を参照して、必要な関数名を生
成する。
【0019】 データの型の宣言部分の生成は、型名
の部分を識別子生成手段によって、識別子生成情報3中
のデータ名−変数名対応表を参照して生成し、型宣言の
語とともに型宣言文を生成する。型名の具体例として
は、アンダースコア(_)の後にデータ名−変数名対応
表の変数名を続ける。例えば、該対応表の変数名が ”
position”であれば、”_position”
という型名を生成する。この時の型宣言文としては、生
成するソースコードの言語がC言語であれば、 typedef double _position; といった文が生成される。
の部分を識別子生成手段によって、識別子生成情報3中
のデータ名−変数名対応表を参照して生成し、型宣言の
語とともに型宣言文を生成する。型名の具体例として
は、アンダースコア(_)の後にデータ名−変数名対応
表の変数名を続ける。例えば、該対応表の変数名が ”
position”であれば、”_position”
という型名を生成する。この時の型宣言文としては、生
成するソースコードの言語がC言語であれば、 typedef double _position; といった文が生成される。
【0020】 変数宣言部分の生成は、型名の部分は
上述のにおいて生成した型名と同様に生成し、変数名
は識別子生成手段によって、識別子生成情報3中のデー
タ名−変数名対応表を参照して作成し、型名とともに変
数宣言文を生成する。変数名の具体例としては、データ
名−変数名対応表の変数名の後にアンダースコア(_)
を続け、さらにその後に通し番号を続ける。例えば、”
position”という変数名は、”positio
n_1”のように作成される。この時の変数宣言文とし
ては、 _position position_1; といった文が生成される。また、手続部における変数名
も同様に生成する。
上述のにおいて生成した型名と同様に生成し、変数名
は識別子生成手段によって、識別子生成情報3中のデー
タ名−変数名対応表を参照して作成し、型名とともに変
数宣言文を生成する。変数名の具体例としては、データ
名−変数名対応表の変数名の後にアンダースコア(_)
を続け、さらにその後に通し番号を続ける。例えば、”
position”という変数名は、”positio
n_1”のように作成される。この時の変数宣言文とし
ては、 _position position_1; といった文が生成される。また、手続部における変数名
も同様に生成する。
【0021】これらの手順により、プログラム仕様1お
よび識別子生成情報3から、ソースコード5が自動的に
生成される。図8は、生成されたソースコードの例を示
す図である。図3ないし図7に示された具体例をもと
に、生成するソースコードの言語をC言語として、生成
されたソースコードの要部のみ示している。
よび識別子生成情報3から、ソースコード5が自動的に
生成される。図8は、生成されたソースコードの例を示
す図である。図3ないし図7に示された具体例をもと
に、生成するソースコードの言語をC言語として、生成
されたソースコードの要部のみ示している。
【0022】なお、生成するソースコードの言語は、C
言語に限定されるものではなく、例えば、Pascal
やFORTRAN、COBOLなどの既存の言語のほ
か、処理系特有の言語であってもよい。
言語に限定されるものではなく、例えば、Pascal
やFORTRAN、COBOLなどの既存の言語のほ
か、処理系特有の言語であってもよい。
【0023】
【発明の効果】以上の説明から明らかなように、本発明
によれば、プログラム作成装置によってプログラム仕様
からソースコードを自動的に生成でき、しかも、ユーザ
ーにとって分かりやすい識別子名(関数名、変数名、デ
ータ型名等)を用いた形式で生成することができるか
ら、生成されたソースコード上でデバックする場合にお
いても、デバッグの負担を軽減することができるという
効果がある。
によれば、プログラム作成装置によってプログラム仕様
からソースコードを自動的に生成でき、しかも、ユーザ
ーにとって分かりやすい識別子名(関数名、変数名、デ
ータ型名等)を用いた形式で生成することができるか
ら、生成されたソースコード上でデバックする場合にお
いても、デバッグの負担を軽減することができるという
効果がある。
【図1】本発明の一実施例の概略構成図である。
【図2】プログラム仕様および識別子生成情報の具体的
な構成図である。
な構成図である。
【図3】データフローダイアグラムの記述例を示す図で
ある。
ある。
【図4】プロセスフローダイアグラムの記述例を示す図
である。
である。
【図5】データ構造定義の記述例を示す図である。
【図6】プロセス名−関数名対応表の記述例を示す図で
ある。
ある。
【図7】データ名−変数名対応表の記述例を示す図であ
る。
る。
【図8】生成されたソースコードの例を示す図である。
1 プログラム仕様 2 プログラム生成手段 3 識別子生成情報 4 識別子生成手段 5 ソースコード
Claims (1)
- 【請求項1】 プログラム仕様からソースコードを生成
するプログラム生成手段と、プログラム生成手段におい
て識別子を生成する際に用いられ、識別子生成情報に従
って識別子の生成を行なう識別子生成手段を有すること
を特徴とするプログラム作成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7349592A JPH05233241A (ja) | 1992-02-25 | 1992-02-25 | プログラム作成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7349592A JPH05233241A (ja) | 1992-02-25 | 1992-02-25 | プログラム作成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05233241A true JPH05233241A (ja) | 1993-09-10 |
Family
ID=13519902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7349592A Pending JPH05233241A (ja) | 1992-02-25 | 1992-02-25 | プログラム作成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05233241A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9513875B2 (en) | 2011-11-22 | 2016-12-06 | International Business Machines Corporation | Processing instruction information |
-
1992
- 1992-02-25 JP JP7349592A patent/JPH05233241A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9513875B2 (en) | 2011-11-22 | 2016-12-06 | International Business Machines Corporation | Processing instruction information |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6877155B1 (en) | System and method for generating target language code utilizing an object oriented code generator | |
JPH08202545A (ja) | ターゲット言語コードを生成するためのオブジェクト指向システム及びその方法 | |
JPH05233241A (ja) | プログラム作成装置 | |
JPS5922140A (ja) | 対話型コンパイル方式 | |
JPH07295612A (ja) | 高級言語シーケンス命令プログラム生成装置および汎用シーケンサ | |
JPS59183441A (ja) | 拡張言語のデバツグ処理方式 | |
JPH03144832A (ja) | プリコンパイラ言語プログラムのシンボリックデバッグ装置 | |
JPH0272407A (ja) | ラダー・プログラム変換装置 | |
JP2786689B2 (ja) | コンパイラ処理方法 | |
JPH0250730A (ja) | 共通機械語による言語変換方式 | |
JPH03126103A (ja) | ロボット用プログラム作成装置 | |
JPH02205930A (ja) | インタフェースチェック処理方法 | |
JP3041919B2 (ja) | プログラム結合処理装置 | |
JPH05108372A (ja) | コンパイラ最適化処理内容の出力方式 | |
JPS6386031A (ja) | プログラム生成装置 | |
JPH04248624A (ja) | プログラム変換処理装置 | |
JPH02267627A (ja) | データ内容表示プログラム自動生成方法 | |
JPH04257028A (ja) | プログラム生成/合成装置および方法 | |
JPH05197538A (ja) | プリコンパイラ方式における例外発生行番号表示方式 | |
JPS63245519A (ja) | プログラム制御構造生成装置 | |
JPH11149368A (ja) | 図式編集プログラム開発方法および方式 | |
JPH03246634A (ja) | スケルトンコンパイラによるコード生成方式 | |
JPH0258125A (ja) | 処理部品生成方式 | |
JPS6359629A (ja) | プログラム編集装置 | |
JPH0266631A (ja) | 日本語名標による番地対応表出力方式 |