"ソースプログラムに記述されたマクロを展開する指示を行うマクロ展開指示部と、前記マクロをソースプログラムに展開したマクロ展開ソースプログラムを作成し、前記マクロ展開ソースプログラムを表示部に表示するマクロ展開処理部と、前記表示部に表示される前記マクロ展開ソースプログラムに対して、ソースプログラムへの特定箇所への移動を指示するソースプログラム移動指示部と、指示された前記特定箇所に移動して前記ソースプログラムを前記表示部に表示するソースプログラム移動部と、を備えるマクロ展開装置。前記ソースプログラム移動指示部は、前記ソースプログラムに記述されている前記マクロの使用箇所、又は前記ソースプログラムに記述されたマクロの定義が記述されている箇所を前記特定箇所とし、前記特定箇所への移動指示を、前記マクロ展開ソースプログラムに表示される選択ボタンの操作によって行う請求項1記載のマクロ展開装置。前記マクロ展開処理部は、前記ソースプログラムのバックアップとして作成したバックアップソースプログラムをバックアップソースプログラム記憶部に保存するバックアップソースプログラム保存部と、プリプロセス処理により前記ソースプログラムをマクロ展開した前記マクロ展開ソースプログラムを前記表示部に出力するプリプロセス制御部と、を備え、前記ソースプログラム移動部は、前記バックアップソースプログラム記憶部から読み出した前記バックアップソースプログラムを前記ソースプログラム記憶部に上書きする回復処理を行うバックアップソースプログラム回復部と、前記ソースプログラム記憶部に上書きした前記バックアップソースプログラムを、前記バックアップソースプログラム記憶部から削除するバックアップソースプログラム削除部と、を備え、前記ソースプログラム移動指示部によって指示された前記特定箇所への移動指示に基づいて、前記ソースプログラム記憶部から読み出した前記ソースプログラムを表示して前記特定箇所に移動する請求項2記載のマクロ展開装置。前記マクロ展開処理部は、前記マクロ展開ソースプログラムに展開したマクロの名称をコメントとして挿入し、前記プリプロセス制御部は、展開した前記マクロのマクロ名、前記マクロの展開箇所、及び前記マクロが定義されている箇所、前記マクロが前記ソースプログラムに記述されている箇所を前記記憶部に作成したテーブルに保存する請求項3記載のマクロ展開装置。前記マクロ展開処理部は、展開した前記マクロの引数に色をつけて前記表示部に表示する請求項4記載のマクロ展開装置。前記マクロ展開指示部は、前記ソースプログラムに記述されている個別のマクロ毎、又は前記ソースプログラムに記述されている全てのマクロを選択して展開することを指示する請求項5記載のマクロ展開装置。ソースプログラムに記述されたマクロを展開する指示を行う手順、前記マクロをソースプログラムに展開したマクロ展開ソースプログラムを作成し、前記マクロ展開ソースプログラムを表示部に表示する手順、前記表示部に表示される前記マクロ展開ソースプログラムに対して、ソースプログラムへの特定箇所への移動を指示する手順、指示された前記特定箇所に移動して前記ソースプログラムを前記表示部に表示する手順とを、コンピュータに実行させるプログラム。ここで、マクロ展開した後のソースプログラムをデバッグ中に、ユーザが特定した不良箇所を修正する場合を想定する。このとき、特許文献1に開示されたプログラムコンパイラを用いると、ユーザはマクロ展開される前のソースプログラムを目視で検索して、特定したマクロの不良箇所を修正できる。しかし、プログラムコードの量が膨大になっても、展開したデバッグ用のソースプログラムとソースプログラムの2つからマクロの位置関係を手動で特定しなければいけない。このため、マクロ展開した後のソースプログラムから不良箇所を特定しても、マクロ展開する前のソースプログラムから不良箇所のマクロを特定することは困難であった。本発明はこのような状況に鑑みて成されたものであり、マクロ展開したソースプログラム内に記述されたマクロのコメントから、マクロ展開される前のソースプログラムにおけるマクロの特定箇所に移動して表示する方法を提供するものである。本発明は、ソースプログラムに記述されたマクロを展開する指示を行い、マクロをソースプログラムに展開したマクロ展開ソースプログラムを作成し、マクロ展開ソースプログラムを表示部に表示する。そして、表示部に表示されるマクロ展開ソースプログラムに対して、ソースプログラムへの特定箇所への移動を指示し、指示された特定箇所に移動してソースプログラムを表示部に表示する。本発明によれば、ソースプログラムをマクロ展開することによって、ユーザがデバッグを行うソースプログラム内のマクロを特定し易くなる。また、マクロ展開ソースプログラムから、ユーザが修正するマクロ箇所を指定するだけで、ソースプログラム内のマクロの不良箇所に移動してソースプログラムを表示部に表示する。このため、ユーザが目視でソースプログラムからマクロを検索しなくてもよくなり、ソフトウェア開発の効率が向上する。以下、本発明の一実施の形態例について、添付図面を参照して説明する。本実施の形態例では、ソースプログラムに記述されるマクロを展開して表示部5に表示し、ユーザが直接マクロを編集することを可能とするマクロ展開装置10に適用した例について説明する。このマクロ展開装置10は、コンピュータがプログラムを実行することにより、内部ブロックが連携して行うソースプログラムのマクロ展開方法を実現する。図1は、マクロ展開装置10の内部構成例を示すブロック図である。マクロ展開装置10は、ソースプログラムに記述されたマクロの展開を指示するマクロ展開指示部1と、指示されたマクロのマクロ展開を行って、マクロ展開ソースプログラムを表示部5に表示するマクロ展開処理部2とを備える。また、マクロ展開装置10は、ソースプログラムの特定箇所への移動を指示するソースプログラム移動指示部3と、ソースプログラム内に記述されるマクロの使用箇所又は定義箇所へ移動してソースプログラムを表示するソースプログラム移動部4とを備える。また、マクロが展開される前後のソースプログラム等は表示部5に表示され、ユーザが操作する操作部6の操作入力により展開されるマクロ等が特定される。次に、マクロ展開装置10の動作例を説明する。始めに、ユーザが操作部6を操作してソースプログラム内のマクロをクリックし、マクロ展開を指示すると、マクロ展開指示部1は、指示内容を受け付け、マクロ展開を指示する。マクロ展開処理部2は、マクロ展開指示部1からの指示に基づいて、マクロ展開ソースプログラムを表示部5に表示する。そして、ユーザがソースプログラムのデバッグを行う際には、マクロ展開ソースプログラム内のマクロの不良箇所を特定すると、ソースプログラムに移動して特定されたマクロが表示される。以下の説明では、マクロ展開ソースプログラム内でマクロを指定して、このマクロが記述されているソースプログラムの特定箇所を表示することを、ジャンプと呼ぶ。図2は、マクロ展開装置10の詳細な内部構成例を示すブロック図である。上述したように、マクロ展開装置10は、マクロ展開指示部1、マクロ展開処理部2、ソースプログラム移動指示部3、ソースプログラム移動部4を備える。さらに、マクロ展開装置10は、ソースプログラム51aを保存する記憶部7を備える。記憶部7は、ソースプログラム記憶部51とバックアップソースプログラム記憶部53を備える。そして、ソースプログラム記憶部51は、ソースプログラム記憶部51内に記述されたマクロの使用箇所等の情報が書き込まれるテーブル52を備える。テーブル52には、プリプロセス制御部によって、展開したマクロのマクロ名、マクロの展開箇所、及びマクロが定義されている箇所、マクロがソースプログラムに記述されている箇所が保存される。ソースプログラム記憶部51は、マクロ展開される前のソースプログラム51aを記憶する。そして、ソースプログラム51aがマクロ展開されると、ソースプログラム記憶部51にマクロ展開ソースプログラム51bが上書き保存される。バックアップソースプログラム記憶部53には、バックアップとしてコピーされたマクロ展開される前のソースプログラム51aを記憶する。また、マクロ展開処理部2は、バックアップソースプログラム保存部21とプリプロセス制御部22を備える。バックアップソースプログラム保存部21は、ソースプログラム記憶部51から読み出したソースプログラム51aをバックアップしたバックアップソースプログラム53aを、バックアップソースプログラム記憶部53に保存する。プリプロセス制御部22は、C言語等でコンパイルを行う前にソースプログラム51aにプリプロセス処理を行って、マクロ展開したマクロ展開ソースプログラム51bをソースプログラム記憶部51に保存する。また、ソースプログラム移動部4は、バックアップソースプログラム回復部41と、バックアップソースプログラム削除部42と、ソースプログラムジャンプ処理部43とを備える。バックアップソースプログラム回復部41は、ソースプログラム記憶部51に記憶されているソースプログラム51aに対して、バックアップソースプログラム記憶部53から読み出したバックアップソースプログラム53aを上書きする回復処理を行う。バックアップソースプログラム削除部42は、バックアップソースプログラム記憶部53からマクロ展開ソースプログラム51bを削除する処理を行う。ソースプログラムジャンプ処理部43は、ソースプログラム記憶部51に保存されているソースプログラム51aにアクセスして、マクロの特定箇所にジャンプする処理を行う。ここで、各処理ブロックの動作を説明する前に、マクロ展開装置10が画面に表示する画面表示メニュー11に含まれる各種のボタンの例を説明する。図3は、マクロ展開装置10を制御する画面表示メニュー11である。ユーザがソースプログラム51aを右クリックすると、表示部5に画面表示メニュー11が表示される。なお、右クリックとしたのは一例であり、画面表示メニュー11を出現させる手法は限定されない。そして、ユーザが画面表示メニュー11からマクロ展開ボタン12を選択すると、選択されたマクロ展開ボタン12は反転表示され、プリプロセス制御部22によってマクロ展開が実行される。なお、マクロ展開はソースプログラム51aに含まれる全てのマクロ、又は指定したマクロ毎に展開することが可能である。その後、マクロ展開ソースプログラム51b内のマクロに対して、ユーザが定義移動ボタン13を選択すると、ソースプログラム51a内のユーザが選択したマクロの定義箇所にジャンプすることができる。一方、ユーザが使用箇所移動ボタン14を選択すると、ソースプログラム51a内のユーザが選択したマクロの使用箇所にジャンプすることができる。また、デバッグにてソースプログラム記憶部51の修正が不要である場合には、ソースプログラム51aのマクロ展開した箇所に戻るという意味で、使用箇所移動ボタン14を選択すればよい。ここで、図2に戻って、マクロ展開装置10の動作例を説明する。マクロ展開指示部1は、マクロ展開装置10が動作するための画面を表示するプロセスであり、ユーザが画面表示メニュー11からマクロ展開ボタン12を選択すると、マクロ展開処理部2が行うマクロ展開処理の開始を指示する。また、マクロ展開指示部1は、ソースプログラムに記述されている個別のマクロ毎、又はソースプログラムに記述されている全てのマクロを選択して展開することを指示することができる。マクロ展開処理部2は、ソースプログラム51aに対してマクロ使用箇所をマクロの実体に置換するプロセスであり、マクロ展開指示部1からマクロ展開の指示を受けると、ソースプログラム記憶部51をマクロ展開して表示する。また、マクロ展開処理部2は、マクロ展開ソースプログラム51bに展開したマクロの名称をコメントとしてソースプログラム51aに挿入する。このとき、バックアップソースプログラム保存部21は、マクロ展開をする前のソースプログラム51aをバックアップしたバックアップソースプログラム53aをバックアップソースプログラム記憶部53に保存する。そして、プリプロセス制御部22は、ソースプログラム記憶部51から読み出したソースプログラム51aをマクロ展開したマクロ展開ソースプログラム51bをソースプログラム記憶部51に上書き保存する。ソースプログラム移動指示部3は、ソースプログラム移動部4の実行を、ユーザが定義移動ボタン13又は使用箇所移動ボタン14等の選択ボタンを選択することによって制御する。ソースプログラム移動部4は、マクロ展開ソースプログラム51bから、ユーザが指定したマクロの定義がされている箇所又はマクロが使用されている箇所を特定箇所とし、この特定箇所にジャンプするプロセスである。ソースプログラム移動部4は、ソースプログラム51aへの移動、バックアップソースプログラム記憶部53に保存したバックアップソースプログラム53aの削除、及びソースプログラム51aに記述されるマクロの特定箇所へジャンプ処理を行う。バックアップソースプログラム回復部41は、バックアップソースプログラム記憶部53から読み出したバックアップソースプログラム53aをソースプログラム記憶部51に上書き保存する。バックアップソースプログラム削除部42は、バックアップソースプログラム記憶部53からバックアップソースプログラム53aを削除する。ソースプログラムジャンプ処理部43は、ユーザが指定したソースプログラム51aの特定箇所へ移動して、ソースプログラム51aを表示する。なお、ソースプログラム51aに移動するときにマクロ展開ソースプログラム51bを自動的に削除しているが、マクロ展開ソースプログラム51bを残したままとしてもよい。図4は、マクロ展開装置10の使用例を示す説明図である。始めに、ユーザがソースプログラム51aのテスト又はデバッグを行う前に、ソースプログラム51aをマクロ展開する方法について説明を行う。上述したように、ユーザがソースプログラム51aに記述されている特定のマクロを指定して、画面表示メニュー11のマクロ展開ボタン12を選択する。この選択により、マクロ展開処理部2は、指定されたマクロを展開したマクロ展開ソースプログラム51bを表示部5に表示する。一方、ユーザが特定のマクロを指定せずに、マクロ展開ボタン12を選択すると、マクロ展開処理部2は、ソースプログラム51aに記述されている全てのマクロを展開したマクロ展開ソースプログラム51bを表示部5に表示する。その後、ユーザは、マクロ展開ソースプログラム51bを使用してテストとデバッグを行うこととなる。そして、ユーザが特定のマクロを指定して定義移動ボタン13を選択すると、ソースプログラム移動部4は、指定されたマクロがソースプログラム51a内で定義されている箇所に移動して、この指定されたマクロを表示部5に表示する。次に、ユーザがテストデバッグを行った後に、ソースプログラム51aに戻る方法について説明を行う。ユーザがマクロ展開ソースプログラム51bに記述されたマクロを指定して定義移動ボタン13を選択すると、ソースプログラム51a内でマクロが定義されているマクロ定義箇所55を表示する。また、ユーザがマクロを指定して使用箇所移動ボタン14を選択すると、ソースプログラム51a内でマクロが使用されているマクロ使用箇所56を表示する。また、ソースプログラム51a内におけるマクロ定義がネスト入れ子で記述されている場合であっても、任意のマクロ定義箇所55へジャンプすることも可能である。<マクロ展開指示部1及びマクロ展開処理部2の処理例>図5は、マクロ展開指示部1及びマクロ展開処理部2の処理例を示すフローチャートである。図5において、マクロ展開指示部1は、ステップS1のマクロ展開判定処理を行い、マクロ展開処理部2は、ステップS2~S4のマクロ展開処理を行う。始めに、マクロ展開指示部1は、ソースプログラム51aに対してマクロ展開の実施を指示したか否かを判定するステップS1。マクロ展開の実施は、ユーザがソースプログラム51aに対してマクロ展開ボタン12を選択することによりステップS2以降の動作が開始する。マクロ展開を実施しない時は全ての処理を終了する。次に、マクロ展開処理部2内のバックアップソースプログラム保存部21は、マクロ展開前のソースプログラム51aをバックアップしたバックアップソースプログラム53aを作成しステップS2、バックアップソースプログラム記憶部53に保存する。バックアップソースプログラム53aは、マクロ展開ソースプログラム51bをソースプログラム51aに戻す際に使用する。次に、マクロ展開処理部2は、プリプロセス処理によりソースプログラム51aのマクロ展開を行い、マクロ展開ソースプログラム51bを作成するステップS3。マクロ展開されるマクロが関数型マクロである場合は、マクロ展開処理部2は、引数を展開した部分に色をつける。このため、マクロ展開ソースプログラム51b内で、色が付けられ引数が展開された部分と、マクロ処理が行われる部分を明確に区別して表示部5に表示することが可能となる。最後に、マクロ展開処理部2は、マクロ展開ソースプログラム51bを表示部5に出力して表示させるステップS4。<ソースプログラム移動指示部3及びソースプログラム移動部4の処理例>図6は、ソースプログラム移動指示部3及びソースプログラム移動部4のフローチャートである。図6において、ソースプログラム移動指示部3は、ステップS11のソースプログラム51aへの移動判定処理を行い、ソースプログラム移動部4は、ステップS12~S16のジャンプ処理を行う。始めに、ソースプログラム移動指示部3は、ソースプログラム51aへの移動を指示したか否かを判定するステップS11。ソースプログラム51aへの移動は、ユーザが画面表示メニュー11の定義移動ボタン13又は使用箇所移動ボタン14を選択したことに連動して開始する。移動を指示しない時は全ての処理を終了する。ステップS11で移動指示が実施されたと判定されると、ソースプログラム移動部4内のバックアップソースプログラム回復部41は、表示しているマクロ展開ソースプログラム51bにバックアップソースプログラム53aを上書き更新する処理を行うステップS12。そして、バックアップソースプログラム削除部42は、バックアップソースプログラム記憶部53からバックアップソースプログラム53aを削除するステップS13。次に、ソースプログラム移動部4は、ソースプログラムの移動箇所を判定するステップS14。画面表示メニュー11の定義移動ボタン13が選択されると、ソースプログラム51a内でユーザが指定したマクロの定義箇所にジャンプするステップS15。また、画面表示メニュー11の使用箇所移動ボタン14が選択されると、ソースプログラム51a内でユーザが指定したマクロの使用箇所にジャンプするステップS16。次に、上述した図5及び図6における各処理ブロックの詳細な内部情報について、図7~図10を参照して説明する。図7は、C言語によって記述されるソースプログラム51aのマクロ展開前後における表示例を示す説明図である。図7Aは、マクロ展開前のソースプログラム51aの表示例であり、図7Bは、マクロ展開ソースプログラム51bの表示例である。マクロ展開ソースプログラム51bは、図5のステップS3によって使用箇所が展開されたマクロ展開箇所57を含む。また、マクロ展開ソースプログラム51bは、図5のステップS1によって作成されたバックアップソースプログラム記憶部53を含む。そして、マクロ展開ソースプログラム51bは、MACRO1の定義箇所58と、MACRO2の定義箇所59を含む。以下の説明では、2種類のマクロであるMACRO1とMACRO2を定めており、MACRO1,2は、それぞれ定義箇所58,59に定義されている。まず、バックアップソースプログラム保存部21は、マクロ展開前のソースプログラム51aに記述されたファイル名がxxxx.cであるファイルをバックアップし、バックアップソースプログラム53aを作成する。このバックアップソースプログラム53aは、ファイル名をxxxx.cからxxxx_bak.cに変更したものであり、バックアップソースプログラム記憶部53に保存される。その後、マクロ展開処理部2は、ソースプログラム51aのマクロ展開を行ったマクロ展開ソースプログラム51bをソースプログラム記憶部51に上書きする。図8は、マクロ展開時に作成するテーブル52の内容を示す説明図である。テーブル52は、展開したマクロの数だけマクロに関する情報を持ち、マクロ展開時に記憶部7に作成される。そして、テーブル52は、MACRO2の使用箇所52aと、展開したマクロ定義のファイル名52bと、ソースプログラム51aのマクロ使用箇所52cを含む。MACRO2の使用箇所52aには、MACRO2のマクロ名、マクロ展開ソースのファイル名、展開行の箇所が記述される。展開したマクロ定義のファイル名52bには、展開したマクロ定義のファイル名、定義箇所が記述される。ソースプログラム51aに記述されるマクロ使用箇所52cには、ソースファイル名及び使用箇所が記述される。テーブル52は、MACRO1の使用箇所52dと、MACRO1を呼び出すMACRO2の定義箇所52eを含む。MACRO1の使用箇所52dには、定義箇所59に記述されたMACRO2から呼ばれるMACRO1のマクロ名、マクロ展開ソースのファイル名、展開行の箇所が記述される。MACRO1の使用箇所52dに記述されるMACRO1は、定義箇所59に記述されたMACRO2から呼び出されている。このため、定義箇所52eに記述される情報は、MACRO1を呼び出しているMACRO2の定義箇所となり、展開したマクロ定義のファイル名52bと同じ情報となる。次に、図6に示したマクロ展開ソースプログラム51bからソースプログラム51aのユーザが指定したマクロに移動する方法について説明する。ユーザは表示されたマクロ展開ソースプログラム51bから、ソースプログラム51aにおいてマクロが記述される箇所を特定する場合、ソースプログラム移動指示部3とソースプログラム移動部4を用いてジャンプする。このため、ユーザが自分で検索等を用いてソースプログラム51aからマクロを探さなくても、1度のボタン操作を行うだけで指定したマクロがソースプログラム51aに記述された箇所に移動して表示することが可能となる。この移動に際して、ユーザは、マクロ使用箇所、マクロ定義箇所、マクロのネストの途中部分等の任意の箇所を指定することができる。<マクロの使用箇所移動における表示処理の例>図9は、マクロ展開ソースプログラム51bで指定したマクロの使用箇所へ移動した場合におけるソースプログラム51aの表示例を示す。図9Aは、マクロ展開ソースプログラム51bの表示例であり、図9Bは、使用箇所への移動後のソースプログラム51aの表示例である。図9Aと図9Bに示すように、マクロ展開ソースプログラム51bから、ユーザが画面表示メニュー11の使用箇所移動ボタン14を選択すると、マクロ展開ソースプログラム51bからソースプログラム51aが表示される。ここで、マクロ展開ソースプログラム51bには、ユーザが使用箇所移動を選択するマクロ名60がコメントとして記述される。そして、図9Aに示すように、マクロ展開ソースプログラム51bが表示されると同時に、バックアップソースプログラム53aが作成される。ユーザが画面表示メニュー11の使用箇所移動ボタン14を選択すると、選択したマクロが使用されている箇所に移動したソースプログラム51aが表示される。また、ユーザがマクロのコメント行以外に展開された箇所から使用箇所移動ボタン14を選択すると、ユーザが右クリックで指定したマクロと、テーブル52に記述された内容とを照合して該当するソースプログラム51aのマクロを表示する。ここで、図9Bに示すソースプログラム51aは、マクロ展開ソースプログラム51bをバックアップソースプログラム53aによって上書きしたものである。そして、図9Aに示すマクロ展開ソースプログラム51bにおいてユーザが選択したマクロ名60の使用箇所の移動先61は、上書きしたソースプログラム51aに表示される。また、上書き処理に際しては、バックアップソースプログラム削除部42は、ファイル名がxxxx_bak.cとして表されるバックアップソースプログラム53aを削除する。<マクロの定義箇所移動における表示処理の例>図10は、マクロ展開ソースプログラム51bで指定したマクロの定義箇所へ移動した場合におけるソースプログラム51aの表示例を示す。図10Aは、マクロ展開ソースプログラム51bの表示例であり、図10Bは、定義箇所への移動後のソースプログラム51aの表示例である。図10Aと図10Bに示すように、マクロ展開ソースプログラム51bから、ユーザが画面表示メニュー11の定義移動ボタン13を選択すると、マクロ展開ソースプログラム51bからソースプログラム51aが表示される。ここで、マクロ展開したマクロ展開ソースプログラム51bには、ユーザが定義箇所移動を選択するマクロ名62がコメントとして記述される。そして、図10Aに示すように、マクロ展開ソースプログラム51bが表示されると同時に、バックアップソースプログラム53aが作成されている。ユーザが画面表示メニュー11の定義移動ボタン13を選択すると、選択したマクロが定義されている箇所に移動したソースプログラム51aが表示される。また、ユーザがマクロのコメント行以外に展開された箇所から定義移動ボタン13を選択すると、ユーザが右クリックで指定したマクロと、テーブル52に記述された内容とを照合して該当するソースプログラム51aのマクロの定義箇所を表示する。ここで、図10Bに示すソースプログラム51aは、マクロ展開ソースプログラム51bをバックアップソースプログラム53aによって上書きしたものである。そして、図10Aに示すマクロ展開ソースプログラム51bにおいてユーザが選択したマクロ名60の定義箇所の移動先63には、file2.hが表示される。また、上書き処理に際しては、バックアップソースプログラム削除部42は、ファイル名がxxxx_bak.cとして表されるバックアップソースプログラム53aを削除する。以上説明した一実施の形態例に係るマクロ展開装置10によれば、ソースプログラム51aをマクロ展開してマクロ展開ソースプログラム51bを表示することができる。また、マクロ展開ソースプログラム51bからユーザが指定したマクロの使用箇所又は定義箇所を選択して、ソースプログラム51a内におけるマクロの特定箇所に移動して表示することができる。このため、ユーザのデバッグが容易となり、かつ、ソースプログラム51a及びマクロ展開ソースプログラム51bの紐付けがされる。また、ソースプログラム51aへの移動が容易となり、効率のよいプログラム開発を行うことができる。また、マクロ展開ソースプログラム51bには、展開されたマクロが含まれるため、ユーザが編集できないように表示することが望ましい。なお、バックアップソースプログラム53aは、マクロ展開する前のソースプログラム51aをバックアップしたものであるため、同じくユーザが編集できないようにしておく。本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、さらに、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加削除置換をすることが可能である。また、本書で述べた中間語命令の名称及び書式は一例であり、実装に応じて、名称及び書式の変更、又は情報の追加を行ってもよい。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSDSolidStateDrive等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。"