JP2001282520A - プログラム作成方法、プログラム作成装置およびプログラム作成用記録媒体 - Google Patents

プログラム作成方法、プログラム作成装置およびプログラム作成用記録媒体

Info

Publication number
JP2001282520A
JP2001282520A JP2000093259A JP2000093259A JP2001282520A JP 2001282520 A JP2001282520 A JP 2001282520A JP 2000093259 A JP2000093259 A JP 2000093259A JP 2000093259 A JP2000093259 A JP 2000093259A JP 2001282520 A JP2001282520 A JP 2001282520A
Authority
JP
Japan
Prior art keywords
developer
changeable
source code
unit
template
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
JP2000093259A
Other languages
English (en)
Inventor
Yoshiaki Fukushima
慶明 福島
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 JP2000093259A priority Critical patent/JP2001282520A/ja
Publication of JP2001282520A publication Critical patent/JP2001282520A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 ソースコードテンプレートに変更や修正がな
されソースコードを再生成する場合に、先に生成された
ソースコードに対してなされた編集・変更内容を自動的
に復帰させることで、再生成されるソースコードに既に
なされた編集・変更内容を自動的に反映させる。 【解決手段】 テンプレート32を利用して生成された
ソースコード33は記憶装置30内に格納される。開発
者変更可能部抽出部44は、ソースコード33を解析し
ソースコード中の開発者変更可能部を抽出して、抽出し
た内容を開発者変更可能部記憶部35に保存する。テン
プレート32の内容が修正・変更等されたことによって
ソースコードを再生成する際に、開発者変更可能部処理
部43は開発者変更可能部記憶部35に保存されている
開発者変更可能部の内容を再生成するソースコードにマ
ージ(結合)する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、プログラム作成
方法、プログラム作成装置およびプログラム作成用記録
媒体に係り、詳しくは、ソースコードテンプレートに変
更や修正がなされソースコードを再生成する場合に、先
に生成されたソースコードに対してなされた編集・変更
内容を再生成するソースコードに反映できるようにした
プログラム作成方法,装置,記録媒体に関するものであ
る。
【0002】
【従来の技術】プログラムを効率的に開発するために、
ソースコードテンプレート(以下、テンプレートと記
す)を利用してソースコードを生成することは有効な手
法である。例えば、特開平5−108322号公報に
は、プログラムの共通利用可能な部分を格納しているプ
ログラム・テンプレート・データベースと、個別のプロ
グラムに特有な部分のプログラム変換指示が編集コマン
ド列として与えられ、プログラム・テンプレートに対し
て編集コマンド列によりプログラム変換を行ない、プロ
グラムを作成するプログラム変換処理部とを備えたプロ
グラム作成支援システムが記載されている。また、特開
平11−327886号公報には、挿入した雛形ファイ
ルの変更可否を設定できるようにすることで、プログラ
ムテンプレートをソースプログラムに変換して組み込ん
だ後に、誤ってこのプログラムテンプレート箇所を変更
してしまうことを解消できるようにしたプログラム作成
装置および作成方法が記載されている。
【0003】図13は従来のプログラム作成装置の一例
を示すブロック構成図である。従来のプログラム作成装
置100は、外部モニタなどの出力装置110と、キー
ボードなどの入力装置120と、メモリやディスクなど
の記憶装置130と、プログラム制御により動作するデ
ータ処理装置140とから構成されている。記憶装置1
30は、変数値記憶部131と、テンプレート132の
記憶部と、ソースコード133の記憶部とを備えてい
る。データ処理装置140は、変数値入力部141と、
テンプレート解析処理部142とを備えている。なお、
図13において、実線の矢印は処理の流れを、点線の矢
印はデータの流れを示している。
【0004】次に、図13を参照して、テンプレートを
使用した一般的な開発手順を説明する。アプリケーショ
ンプログラム等の開発者は、出力装置110の画面上に
表示されたテンプレート132の内容等を参照しなが
ら、テンプレート132をソースコード133に変換す
るために必要な情報である変数値を入力装置120から
入力する。変数値入力部141は、入力装置120から
入力された変数値を出力装置110に表示させるととも
に、入力された変数値を変数値記憶部131に保存させ
る。テンプレート解析処理部142は、テンプレート1
32と変数値記憶部131に保存された変数値とに基づ
いてテンプレート132の構文を解析し、テンプレート
132の正当性の判定と変数値の展開を行ないながら、
ソースコード133を生成し、生成したソースコード1
33を記憶装置130内のソースコード133の記憶部
に格納する。なお、変数値の入力は変数値入力部141
を介して行なう方法以外に、記憶装置130内に予め保
存されている情報を受け渡すことにより行なうこともで
きる。開発者は、テンプレート132を利用して自動生
成されたソースコード133に対して編集を加えること
でアプリケーションプログラム等を作成する。
【0005】
【発明が解決しようとする課題】プログラムの信頼性を
向上させたり処理の効率化を図ったりするためにテンプ
レート132の内容を変更・修正することがある。テン
プレート132に変更や修正がなされた場合、変更・修
正がなされたテンプレート132に基づいてソースコー
ド133を再生成する必要がある。従来のプログラム作
成装置100では、ソースコード133の再生成を行な
うと、先に生成されたソースコードに対してなされた編
集内容が失われてしまう。このため、先のテンプレート
132を利用して自動生成されたソースコード133に
対して編集を加えた内容を手作業で復帰させなければな
らず、手間のかかる作業であった。
【0006】
【発明の目的】この発明はこのような課題を解決するた
めなされたもので、テンプレートに変更や修正がなされ
ソースコードを再生成する場合に、先に生成されたソー
スコードに対してなされた変更内容を反映できるように
プログラム作成方法、プログラム作成装置および記録媒
体を提供することを目的とする。
【0007】
【課題を解決するための手段】前記課題を解決するため
この発明に係るプログラム作成方法およびプログラム作
成装置は、テンプレートに基づいてソースコードを再生
成するに先立って、既存のソースコードから開発者変更
可能部の内容を抽出して一時保存しておき、この開発者
変更可能部の内容を再生成したソースコードに復帰させ
るようにしたものである。
【0008】これにより、テンプレートの変更等に伴っ
てソースコードの再生成を行なっても、開発者等によっ
てなされた編集内容や変更内容を自動的に復帰させるこ
とができる。
【0009】開発者変更可能部は、予め設定した開発者
変更可能部認識トークンに基づいて判定するようにして
もよい。これにより、開発者変更可能部を確実に抽出で
きる。
【0010】テンプレートは、1または複数の開発者変
更可能部を予め備える構成するのが望ましい。これによ
り、開発者が編集等をする箇所やその内容を規定するこ
とができ、オブジェクト指向により適したテンプレート
を提供し、オブジェクト指向のプログラム開発を支援す
ることができる。
【0011】この発明に係るプログラム作成用記録媒体
は、ソースコードの内容を解析し予め設定した規則に基
づいて開発者変更可能部の内容を抽出する変更内容抽出
処理と、ソースコードテンプレートを利用してソースコ
ードを生成する際に抽出した開発者変更可能部の内容を
復帰させる変更内容復帰処理とをコンピュータシステム
に実行させるための処理プログラムをコンピュータシス
テムに読み取り可能な記録媒体に記録したことを特徴と
する。
【0012】上記処理をコンピュータシステムに実行さ
せることで、テンプレートの変更等に伴ってソースコー
ドの再生成を行なう際に、開発者等によって既になされ
た編集内容や変更内容を自動的に復帰させることができ
る。
【0013】
【発明の実施の形態】以下、この発明の実施の形態を添
付図面に基づいて説明する。
【0014】図1はこの発明に係るプログラム作成装置
のブロック構成図である。この発明に係るプログラム作
成装置1は、外部モニタなどの出力装置10と、キーボ
ードなどの入力装置20と、メモリやディスクなどの記
憶装置30と、コンピュータシステムを用いて構成され
プログラム制御によって動作するデータ処理装置40と
からなる。なお、図1において、実線の矢印は処理の流
れを、点線の矢印はデータの流れを示している。
【0015】記憶装置30は、変数値記憶部31と、テ
ンプレート32の記憶部と、ソースコード33の記憶部
と、開発者変更可能部認識トークン記憶部34と、開発
者変更可能部記憶部35とを備える。
【0016】データ処理装置40は、変数値入力部41
と、テンプレート解析処理部42と、開発者変更可能部
抽出部44とを備える。テンプレート解析処理部42
は、開発者変更可能部処理部43を備える。
【0017】なお、データ処理装置40は、例えばCD
−ROM等の記録媒体の読取装置(図示しない)を備え
ている。そして、例えばCD−ROM等の記録媒体に記
録されている変更内容抽出処理プログラムならびに変更
内容復帰処理プログラムを読み出して、それらのプログ
ラムをコンピュータシステムに実行させることで、開発
者変更可能部処理部43ならびに開発者変更可能部抽出
部44を構成している。
【0018】テンプレート32は、アプリケーションプ
ログラムを形成するためのソースコードの雛形の情報で
ある。テンプレート32は、固定部と、特殊記号で囲ま
れた制御部とから構成している。固定部は、ソースコー
ド33にそのまま出力される情報である。制御部は、ソ
ースコード33をカスタマイズする情報であり、変数、
条件分岐、繰り返し処理などを記述する。変数は、対応
する変数値がソースコード33に出力される。特殊記号
で囲まれるとは、$・・・$や#.(・・・)や<te
mplate・・・>のように特定のルールを決め、・
・・の部分に制御部の情報を埋め込み、テンプレート解
析処理部42が解釈できるようにするものである。
【0019】開発者は、出力装置10の画面上に表示さ
れたテンプレート32の内容等を参照しながら、テンプ
レート32をソースコード33に変換するために必要な
情報である変数値を入力装置20から入力する。変数値
入力部41は、入力装置20から入力された変数値を出
力装置10に表示させるとともに、入力された変数値を
変数値記憶部31に保存させる。
【0020】変数値記憶部31は、テンプレート32の
制御部に含まれる変数の値を保存するものである。
【0021】開発者変更可能部記憶部34は、ソースコ
ード33中に含まれる開発者変更可能部を保存するため
のものである。開発者変更可能部とは、テンプレート3
2からソースコード33を初めて生成するときにソース
コード33に埋め込まれる制御部であり、ソースコード
33の再生成時にマージ(結合)される部分である。
【0022】開発者変更可能部認識トークン記憶部35
は、開発者変更可能認識トークンを保存するためのもの
である。開発者変更可能認識トークンは、テンプレート
32とソースコード33に埋め込まれた制御部が、開発
者変更可能部であるかどうかを判定するための情報であ
る。開発者変更可能認識トークンには、開始トークンと
終了トークンとがあり、開始トークンを含む制御部から
終了トークンを含む制御部までが開発者変更可能部とし
て認識される。なお、テンプレート32とソースコード
33とで異なる開始トークンならびに終了トークンを用
いることができる。このため開発者変更可能部認識トー
クン記憶部35には、テンプレート32とソースコード
33とで異なる開始トークンならびに終了トークンを保
存できるようにしている。
【0023】テンプレート解析処理部42は、テンプレ
ート32を解析し、固定部をそのままソースコード33
に出力し、制御部を処理してソースコード33に出力す
るものである。このテンプレート解析処理部42は、開
発者変更可能部処理部43を備えている。
【0024】開発者変更可能部処理部43は、開発者変
更可能部認識トークンに基づいてテンプレート32中の
制御部が開発者変更可能部であるかどうか判定し、開発
者変更可能部をソースコード33に出力する処理を行な
うものである。この開発者変更可能部処理部43は、ソ
ースコードを再生成する際には、開発者変更可能部記憶
部35に保存されている開発者変更可能部をマージ(結
合)させることで、先に生成されたソースコードに対し
てなされた編集・変更内容を復帰させる処理を行なう。
【0025】開発者変更可能部抽出部44は、開発者変
更可能部認識トークンに基づいてソースコード33中の
制御部が開発者変更可能部であるかどうかを判定し、開
発者変更可能部を開発者変更可能部記憶部35に保存す
るものである。この開発者変更可能部抽出部44は、ソ
ースコード33が記憶装置30に存在する場合、ソース
コード33から開発者変更可能部を抽出し、開発者変更
可能部記憶部35に保存する。
【0026】テンプレート解析処理部42は、開発者変
更可能部処理部44を使って開発者変更可能部の処理を
行い、テンプレート32からソースコード33を生成す
る。
【0027】次に、テンプレート32からソースコード
33を生成する一般的な手順を説明する。図2はテンプ
レートの一例を示す説明図である。テンプレート解析処
理部42が解析するテンプレート中の特殊記号の一例と
して、図2に示すように、$文字で囲んだ制御部を記述
するものとする。なお、図2では$文字で囲まれた制御
部を点線の枠で示している。
【0028】例えば、$variable$という変数
がテンプレート32に記述されている場合に、アプリケ
ーション開発者がvariableの値としてoutp
utという文字列を入力すると、ソースコード33には
outputという文字列が出力される。
【0029】条件分岐の記述方法の一例として、if構
文を導入する。ここでif構文は、次に示す形式をもつ
ものとする。 $if(条件1)$ 処理1 [$elif(条件2)$ 処理2] ……… [$elif(条件N)$ 処理N] [$else$ 処理N+1] $end$ この場合、if構文は、条件が真である場合に処理を行
なうものである。条件には論理式の記述が可能である。
【0030】 $if(count == 1)$ $variable[1]$ $else$ $variable[2]$ $end$ という例を考える。アプリケーション開発者がcoun
tの値として2を、variable[1]の値として
output1という文字列を、variable
[2]の値としてoutput2という文字列を入力し
た場合は、count== 2が真であるので、ソース
コード33には、variable[2]の値であるo
utput2という文字列が出力される。
【0031】繰り返し処理の記述方法の一例として、l
oop構文を導入する。ここでloop構文は、次に示
す形式をもつものとする。 $loop(繰り返し変数,開始値,終了値)$ ・・・(処理) $end$ この場合、loop構文は、繰り返し変数の値が、開始
値を初期値とし繰り返し処理のたびに1ずつ加算され、
繰り返し変数の値が終了値に等しくなるまで・・・に記
述した処理を繰り返し行なうものである。繰り返し変数
の値は、テンプレート解析処理部42によって自動的に
割り当てられる。
【0032】 $loop(i,1,count)$ $variable[i]$ $end$ という例を考える。アプリケーション開発者が、cou
ntの値として2を、variable[1]の値とし
てoutput1という文字列を、variable
[2]の値としてoutput2という文字列を入力し
た場合、まずiの値に1が代入され、ソースコード33
には、variable[1]の値であるoutput
1という文字列が出力される。次にiの値に2が代入さ
れ、ソースコード33には、variable[2]の
値であるoutput2という文字列が追加出力され
る。
【0033】上記の構文例では、if,elif,el
se,loop,endは制御部のトークンであり、テ
ンプレート解析処理部42はこれらのトークンを認識す
ることにより、条件分岐であるのか、繰り返し処理であ
るのかを判定し処理を行なう。条件分岐や繰り返し処理
などのいずれでもない場合には、変数として処理を行な
う。
【0034】図2に示したテンプレート例321では、
制御部として、$className$と、$loop
(i,1,fields)$と、$fieldType
[i]$と、$fieldName[i]と、$end
$とが記述されている。”class C”などの文字
列は固定部であり、ソースコード33にそのまま出力さ
れる。制御部の内容では、className、i、f
ields、fieldType[i]、fieldN
ame[i]が変数である。このうち変数classN
ameの値が出力される。また、変数iと変数fiel
dsとは繰り返し処理の制御のために使われ、fiel
dType[i]、fieldName[i]の値が繰
り返し処理により出力される。
【0035】図3は変数記憶部に保存された変数値の一
例を示す説明図、図4は自動生成されたソースコードの
一例を示す説明図である。テンプレート解析処理部42
は、図2に示したテンプレート例321と図3に示した
変数値例311とが入力されると、図4に示すソースコ
ード例331を生成する。
【0036】次に、この発明に係るプログラム作成装置
1の動作について詳細に説明する。テンプレート32に
開発者変更可能部を記述できるようにするために、制御
部の構文を追加し、テンプレート32中に開発者が変更
を行なえる部分を明示的に定義する。開発変更可能部の
記述法の一例として、escape構文を導入する。
【0037】escape構文は、次の形式をもつもの
とする。 $escape(変数)$ ……… $end$
【0038】テンプレート解析処理部42内の開発者変
更可能部処理部43は、ソースコード33が記憶装置3
に存在しない場合には、$escape(変数)$・・
・$end$のようにソースコード33中に開発者変更
可能部であることが認識可能な制御部を出力し、・・・
の内容もテンプレート32の構文に従い処理を行ない出
力を行なう。
【0039】ここで、テンプレート32の開発者変更可
能部の記述方法とソースコードに出力される開発者変更
可能部の記述方法とを異ならしめてもよい。例えば、テ
ンプレート32では$escape(変数)$・・・$
end$の形式をもつ場合に、ソースコード33では@
customize(変数値)@・・・@here@の
形式をもつよう出力することも可能である。
【0040】開発者変更可能部処理部43は、ソースコ
ード33が既に存在する場合には、開発者変更可能部抽
出部44によってそのソースコード33から抽出され開
発者変更可能部記憶部35に保存されている開発者変更
可能部であって、同じ変数値で登録されている開発者変
更可能部をソースコード33に出力する。
【0041】 $escape(test)$ //開発者変更可能部部$test$の例 $end$ という例を考える。$escape(test)$と$
end$とで囲まれた部分が開発者変更可能部である。
この例では、テンプレート32に$文字で囲んだ制御部
を記述し、開発者変更可能部認識トークンの開始トーク
ンとしてescapeを、終了トークンとしてendを
用いている。開始トークンも終了トークンもテンプレー
ト32の制御部のトークンである。
【0042】開発者変更可能部処理部43は、開発者変
更可能部認識トークン(開始トークンならびに終了トー
クン)に基づいて開発者変更可能部を認識する。この例
では、ソースコード33に$文字で囲んだ制御部を記述
し、開発者変更可能部認識トークンの開始トークンとし
てescapeを、終了トークンとしてendを用いる
ことにする。開始トークンも終了トークンもテンプレー
ト32の制御部のトークンである。
【0043】開発者変更可能部抽出部44は、ソースコ
ード33中の開発者変更可能部認識トークン(開始トー
クンならびに終了トークン)に基づいて開発者変更可能
部を認識する。
【0044】アプリケーション開発者が、変数test
の値としてsampleを入力したものとする。ソース
コード33が記憶装置30に存在しない場合には、テン
プレート32の開発者変更可能部認識トークンの開始ト
ークンと終了トークンを使って、次に示すソースコード
33が出力される。 $escape(sample)$ //開発者変更可能部sampleの例 $end$
【0045】 $escape(sample)$ a=b; $end$という開発者変更可能部をもつソースコード
33が存在する場合には、sampleという変数値を
もち、$escape(sample)$と$end$
とで囲まれた開発者変更可能部が、開発者変更可能部抽
出部44によって抽出されて開発者変更可能部記憶部3
5に保存される。
【0046】テンプレート32を処理するときには、開
発者変更可能部処理部43がsampleという変数値
をもつ開発者変更可能部を開発者変更可能部記憶部35
から検索し、保存されていた開発者変更可能部をソース
コード33に出力する。
【0047】図5はこの発明に係るプログラム作成装置
の動作を示すフローチャートである。開発者変更可能部
抽出部44は、ソースコード33が記憶装置30に存在
するか否かチェックし(ステップA0)、ソースコード
33が存在する場合にはそのソースコード33を記憶装
置30から読み出して(ステップA1)、ソースコード
33に含まれる制御部を先頭から順番に探していく(ス
テップA2)。
【0048】開発者変更可能部抽出部44は、制御部が
存在したらその制御部が開発者変更可能部であるか否か
を開発者変更可能部認識トークン(開始トークンならび
に終了トークン)に基づいて判定し(ステップA3)、
開発者変更可能部である場合には変数値と開発者変更可
能部の内容を開発者変更可能部記憶部35に保存する
(ステップA4)。開発者変更可能部抽出部44は、ソ
ースコード33の末尾に達するまで上記ステップA2〜
ステップA4の処理を繰り返す(ステップA5)。
【0049】なお、ステップA3において、開発者変更
可能部抽出部44が開発者変更可能部認識トークンに基
づいて開発者変更可能部であるか否か判定するのではな
く、開発者変更可能部抽出部44は開発者変更可能部処
理部43に開発者変更可能部であるかを問い合せ、開発
者変更可能部処理部43によって開発者変更可能部であ
るか否か判定を行なわせその判定結果を受け取ること
で、開発者変更可能部であるか否かを判断するようにし
てもよい。
【0050】ソースコード33から開発者変更可能部が
全て抽出された後に、テンプレート解析処理部42はテ
ンプレート32の読み出しを行ない(ステップB1)、
テンプレート32に含まれている制御部を先頭から順番
に探していく(ステップB2)。テンプレート解析処理
部42は制御部を検出したらその制御部が開発者変更可
能部であるか否かを開発者変更可能部処理部43に問い
合せる。開発者変更可能部処理部43は、開発者変更可
能部であるか否かを開発者変更可能部認識トークン(開
始トークンならびに終了トークン)に基づいて判定する
(ステップB3)。
【0051】開発者変更可能部である場合、開発者変更
可能部処理部43は、開発者変更可能部記憶部35を検
索し、変数値が同じものがあるときは開発者変更可能部
記憶部35に保存されている開発者変更可能部の内容を
ソースコード33に出力する(ステップB4)。また、
開発者変更可能部であって開発者変更可能部記憶部35
に変数値が同じものが存在しない場合、開発者変更可能
部処理部43は、開発者変更可能部の構文を処理してソ
ースコード33に出力する(ステップB4)。
【0052】ステップB3において開発者変更可能部で
ないと判断された場合、テンプレート解析処理部42
は、ステップB5のその他の構文の処理を行なってソー
スコード33に出力する。そして、テンプレート解析処
理部42は、テンプレート32の末尾に達するまでステ
ップB2〜ステップB5の処理を繰り返す(ステップB
6)。
【0053】図6は開発者変更可能部を組み込んだテン
プレートの一例を示す説明図である。図6に示したテン
プレート例322は、図2に示したテンプレート例32
1に開発者変更可能部を組み込んだものである。図6に
おいて、一点鎖線で囲んだ部分が図2に示したテンプレ
ート例321に対して追加されている。
【0054】図7は開発者変更可能部が組み込まれたソ
ースコードの一例を示す説明図である。ソースコード3
3がまだ生成されていない場合(ソースコードの生成を
初めて行なう場合)、開発者変更可能部処理部43を含
むテンプレート解析処理部42は、図6に示したテンプ
レート例322と図3に示した変数値の一例とに基づい
て、図7に示した開発者変更可能部が組み込まれたソー
スコード332を生成する。
【0055】図8は図7に示したソースコード中に組み
込まれた開発者変更可能部の内容を示す説明図である。
図7に示したソースコードには、図8に示した開発者変
更可能部の内容351が組み込まれている。ここで、変
数値getEmpno、getEnameは、esca
pe構文の引数を処理した値である。このように、任意
の式を記述することによって、ソースコード32中の開
発者変更可能部を一意に定義する。
【0056】図9は図7に示した開発者変更可能部が組
み込まれたソースコードに対して開発者変更可能部を編
集した結果のソースコードを示す説明図である。図10
は図9に示したソースコード中に組み込まれた開発者変
更可能部の内容を示す説明図である。図9に示したソー
スコード333は、図7に示したソースコード332に
対して一点鎖線で示す部分が追加されるとともに、二点
鎖線で示す部分が削除されたものである。図9に示した
ソースコード333には、図10に示した開発者変更可
能部の内容352が組み込まれていることになる。
【0057】図11は図6に示したテンプレートにメソ
ッドを追加したテンプレートの一例を示す説明図であ
る。図11に示したテンプレート323は、図6に示し
たテンプレート322に対して点線で囲んだ部分を追加
したものである。
【0058】ソースコード32が既に生成されていた場
合、すなわちソースコードを再生成する場合の処理例を
次に示す。図12は図11に示したテンプレートと図3
に示した変数値とに基づいて生成されたソースコードの
一例を示す説明図である。テンプレート解析処理部42
は、図11に示したテンプレート323と図3に示した
変数値311とが入力されると、図9に示したソースコ
ード333から図10に示した開発者変更可能部342
を抽出し、図12に示すソースコード334を生成す
る。図12に示したソースコード334では、テンプレ
ート32の変更内容が反映されるとともに、ソースコー
ド中の開発者変更可能部に対してなされた変更内容が反
映されている。
【0059】
【発明の効果】以上説明したようにこの発明に係るプロ
グラム作成方法およびプログラム作成装置は、テンプレ
ートに基づいてソースコードを再生成するに先立って、
既存のソースコードから開発者変更可能部の内容を抽出
して一時保存しておき、この開発者変更可能部の内容を
再生成したソースコードに復帰させるようにしたので、
テンプレートの変更等に伴ってソースコードの再生成を
行なっても、開発者等によってなされた編集内容や変更
内容を自動的に復帰させることができる。
【0060】したがって、テンプレート作成者がテンプ
レートを修正することが容易になる。その理由は、開発
者変更可能部は開発者がカスタマイズすべき場所である
ことをテンプレート作成者が明示した部分であり、テン
プレートの修正と開発者変更可能部の修正とを分離して
行なえるためである。
【図面の簡単な説明】
【図1】この発明に係るプログラム作成装置のブロック
構成図である。
【図2】テンプレートの一例を示す説明図である。
【図3】変数記憶部に保存された変数値の一例を示す説
明図である。
【図4】図2に示すテンプレートを利用して自動生成さ
れたソースコードの一例を示す説明図である。
【図5】この発明に係るプログラム作成装置の動作を示
すフローチャートである。
【図6】開発者変更可能部を組み込んだテンプレートの
一例を示す説明図である。
【図7】開発者変更可能部が組み込まれたソースコード
の一例を示す説明図である。
【図8】図7に示したソースコード中に組み込まれた開
発者変更可能部の内容を示す説明図である。
【図9】図7に示した開発者変更可能部が組み込まれた
ソースコードに対して開発者変更可能部を編集した結果
のソースコードを示す説明図である。
【図10】図9に示したソースコード中に組み込まれた
開発者変更可能部の内容を示す説明図である。
【図11】図6に示したテンプレートにメソッドを追加
したテンプレートの一例を示す説明図である。
【図12】図11に示したテンプレートと図3に示した
変数値とに基づいて生成されたソースコードの一例を示
す説明図である。
【図13】従来のプログラム作成装置の一例を示すブロ
ック構成図である。
【符号の説明】
1 プログラム作成装置 10 出力装置 20 入力装置 30 記憶装置 31 変数値記憶部 32 テンプレート 33 ソースコード 34 開発者変更可能部認識トークン記憶部 35 開発者変更可能部記憶部 40 データ処理装置 41 変数値入力部 42 テンプレート解析処理部 43 開発者変更可能部処理部 44 開発者変更可能部抽出部

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 ソースコードの内容を解析し、予め設定
    した規則に基づいて開発者変更可能部の内容を抽出する
    変更内容抽出ステップと、前記抽出した開発者変更可能
    部の内容を保存する変更内容保存ステップと、ソースコ
    ードテンプレートを利用してソースコードを生成する際
    に、前記抽出した開発者変更可能部の内容を復帰させる
    変更内容復帰ステップとを備えたことを特徴とするプロ
    グラム作成方法。
  2. 【請求項2】 アプリケーションプログラムの雛形であ
    るソースコードテンプレートを利用して生成されたソー
    スコードの内容を解析し、プログラム開発者が編集を行
    なえるようにするため予め設けた開発者変更可能部の内
    容を予め設定した規則に基づいて抽出する変更内容抽出
    ステップと、前記抽出した開発者変更可能部の内容を保
    存する変更内容保存ステップと、ソースコードテンプレ
    ートを利用してソースコードを再生成する際に、前記抽
    出した開発者変更可能部の内容を再生成するソースコー
    ドに復帰させる変更内容復帰ステップとを備えたことを
    特徴とするプログラム作成方法。
  3. 【請求項3】 前記開発者変更可能部は、予め設定した
    開発者変更可能部認識トークンに基づいて判定すること
    を特徴とする請求項1または2に記載のプログラム作成
    方法。
  4. 【請求項4】 前記ソースコードテンプレートは、1ま
    たは複数の開発者変更可能部を備えていることを特徴と
    する請求項1または2に記載のプログラム作成方法。
  5. 【請求項5】 ソースコードの内容を解析し、予め設定
    した規則に基づいて開発者変更可能部の内容を抽出する
    開発者変更可能部抽出部と、前記抽出した開発者変更可
    能部の内容を保存する開発者変更可能部記憶部と、ソー
    スコードテンプレートを利用してソースコードを生成す
    る際に、前記抽出した開発者変更可能部の内容を復帰さ
    せる開発者変更可能部処理部とを備えたことを特徴とす
    るプログラム作成装置。
  6. 【請求項6】 アプリケーションプログラムの雛形であ
    るソースコードテンプレートを利用して生成されたソー
    スコードの内容を解析し、プログラム開発者が編集を行
    なえるようにするため予め設けた開発者変更可能部の内
    容を予め設定した規則に基づいて抽出する開発者変更可
    能部抽出部と、前記抽出した開発者変更可能部の内容を
    保存する開発者変更可能部記憶部と、ソースコードテン
    プレートを利用してソースコードを再生成する際に、前
    記抽出した開発者変更可能部の内容を再生成するソース
    コードに復帰させる開発者変更可能部処理部とを備えた
    ことを特徴とするプログラム作成方法。
  7. 【請求項7】 前記開発者変更可能部抽出部は、予め設
    定した開発者変更可能部認識トークンに基づいて前記開
    発者変更可能部を抽出することを特徴とする請求項5ま
    たは6に記載のプログラム作成装置。
  8. 【請求項8】 前記ソースコードテンプレートは、1ま
    たは複数の開発者変更可能部を備えていることを特徴と
    する請求項5または6に記載のプログラム作成装置。
  9. 【請求項9】 ソースコードの内容を解析し予め設定し
    た規則に基づいて開発者変更可能部の内容を抽出する変
    更内容抽出処理と、ソースコードテンプレートを利用し
    てソースコードを生成する際に前記抽出した開発者変更
    可能部の内容を復帰させる変更内容復帰処理とをコンピ
    ュータシステムに実行させるための処理プログラムをコ
    ンピュータシステムに読み取り可能な記録媒体に記録し
    たことを特徴とするプログラム作成用記録媒体。
JP2000093259A 2000-03-30 2000-03-30 プログラム作成方法、プログラム作成装置およびプログラム作成用記録媒体 Pending JP2001282520A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000093259A JP2001282520A (ja) 2000-03-30 2000-03-30 プログラム作成方法、プログラム作成装置およびプログラム作成用記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000093259A JP2001282520A (ja) 2000-03-30 2000-03-30 プログラム作成方法、プログラム作成装置およびプログラム作成用記録媒体

Publications (1)

Publication Number Publication Date
JP2001282520A true JP2001282520A (ja) 2001-10-12

Family

ID=18608470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000093259A Pending JP2001282520A (ja) 2000-03-30 2000-03-30 プログラム作成方法、プログラム作成装置およびプログラム作成用記録媒体

Country Status (1)

Country Link
JP (1) JP2001282520A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268299A (ja) * 2005-03-23 2006-10-05 Ns Solutions Corp ソフトウェア開発支援システム
JP2013152580A (ja) * 2012-01-25 2013-08-08 Mitsubishi Electric Corp コード生成装置及びコード生成方法及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268299A (ja) * 2005-03-23 2006-10-05 Ns Solutions Corp ソフトウェア開発支援システム
JP2013152580A (ja) * 2012-01-25 2013-08-08 Mitsubishi Electric Corp コード生成装置及びコード生成方法及びプログラム

Similar Documents

Publication Publication Date Title
JP4165683B2 (ja) 複合データ構造の永続的表現の生成
US20070239779A1 (en) Analysis of media content via extensible object
US20040205708A1 (en) Code builders
US20050188323A1 (en) Template creation apparatus and creation method
JPH1196016A (ja) Gdmoトランスレータ及びgdmoトランスレーション方法並びにgdmoトランスレータプログラムを記録した記録媒体
US20070239780A1 (en) Simultaneous capture and analysis of media content
JP2005332146A (ja) 動的コンテンツ作成プログラムの生成装置、動的コンテンツ作成プログラムを生成するためのプログラム、及び動的コンテンツ作成プログラムの生成方法
JP2001282520A (ja) プログラム作成方法、プログラム作成装置およびプログラム作成用記録媒体
US7464368B2 (en) Logical separation of code and content
CN101110028A (zh) 用于生成运行时间消息的系统和方法
JP2007079906A (ja) ソースコード生成装置
JP4311327B2 (ja) ソースコード自動生成装置、ソースコード自動生成方法、プログラムおよび記録媒体
JP4776972B2 (ja) キャッシュ生成方法、装置、プログラム及び記録媒体
JPH05127885A (ja) 処理フロー図変換方式
JP2002182912A (ja) Webアプリケーション生成方法およびWebアプリケーション生成装置、並びに記録媒体
JPH1021066A (ja) プログラム自動生成方法
JPH056272A (ja) ソフトウエア設計装置
JPH1069380A (ja) プログラム開発支援システム
JP2000276344A (ja) オブジェクトを利用したプログラム作成システムおよびそのプログラム作成方法
JPH06314221A (ja) コンパイル方式
JPH02159629A (ja) 計算機言語翻訳方式
JP2000207188A (ja) プログラム自動生成装置、プログラム自動生成方法および記録媒体
JPH0736685A (ja) 部品処理装置
JPH0540638A (ja) 語彙解析編集方式
JPH0667949A (ja) ファイルレコード作成方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030805