[go: up one dir, main page]

JP4805594B2 - Program development management device - Google Patents

Program development management device Download PDF

Info

Publication number
JP4805594B2
JP4805594B2 JP2005097081A JP2005097081A JP4805594B2 JP 4805594 B2 JP4805594 B2 JP 4805594B2 JP 2005097081 A JP2005097081 A JP 2005097081A JP 2005097081 A JP2005097081 A JP 2005097081A JP 4805594 B2 JP4805594 B2 JP 4805594B2
Authority
JP
Japan
Prior art keywords
file
program
tuning
generation
source
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.)
Expired - Fee Related
Application number
JP2005097081A
Other languages
Japanese (ja)
Other versions
JP2006277457A (en
Inventor
学 渡辺
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2005097081A priority Critical patent/JP4805594B2/en
Publication of JP2006277457A publication Critical patent/JP2006277457A/en
Application granted granted Critical
Publication of JP4805594B2 publication Critical patent/JP4805594B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、プログラムファイルを管理するプログラム開発管理装置に関し、特に、プログラミング言語で作成されたプログラムファイルを1回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイルを生成する場合で、各世代のプログラムファイルを管理するプログラム開発管理装置に関する。   The present invention relates to a program development management apparatus for managing program files, and in particular, by converting a program file created in a programming language one or more times, the generation of a machine language program file is advanced step by step. The present invention relates to a program development management apparatus that manages each generation of program files when it is generated.

現在、高級言語で作成されたソースプログラムは、コンパイルやアセンブル等を経てオブジェクトプログラムに変換され、ターゲットプログラムとして実際に使用されている。さらに、実際に使用可能なターゲットプログラムを開発するため、様々な工夫がなされている。   At present, a source program created in a high-level language is converted into an object program through compilation, assembly, etc., and is actually used as a target program. Furthermore, various ideas have been made to develop a target program that can actually be used.

例えば、プログラム開発者の負担を軽減させたターゲットプログラム開発方法として、ソースプログラムに対してコンパイルやアセンブル等を実行する過程における中間表現を有するオブジェクトプログラムを生成する方法が存在している。この方法では、この中間表現を使用することで、オブジェクトプログラムを最適化し、ターゲットプログラムを生成している(例えば、特許文献1参照)。   For example, as a target program development method that reduces the burden on the program developer, there is a method of generating an object program having an intermediate expression in the process of compiling and assembling a source program. In this method, by using this intermediate representation, an object program is optimized and a target program is generated (see, for example, Patent Document 1).

また、効率的なターゲットプログラム開発方法として、高級言語プログラムが正確にアセンブルされたことの確認について、自動で確認できる方法が存在している(例えば、特許文献2参照)。   As an efficient target program development method, there is a method that can automatically confirm that a high-level language program has been assembled correctly (see, for example, Patent Document 2).

また、所定のプログラムを記憶するプロジェクトの内容を解析するための情報を格納するメイクファイルを用意し、そのメイクファイルの内容を解析する方法が存在している(例えば、特許文献3参照)。
特開2003−208317号公報 特開2003−015910号公報 特開2001−216139号公報
There is also a method of preparing a makefile that stores information for analyzing the contents of a project that stores a predetermined program and analyzing the contents of the makefile (see, for example, Patent Document 3).
JP 2003-208317 A JP 2003-015910 A JP 2001-216139 A

しかし、特許文献1によって開示された技術では、ソースプログラムから段階的に生成される各世代のプログラムにおいて、オブジェクトプログラムに対してのみ最適化が実行される。   However, in the technique disclosed in Patent Document 1, optimization is performed only on an object program in each generation of programs generated in stages from a source program.

また、特許文献2によって開示された技術では、ソースプログラムとなる高級言語プログラムから段階的に生成される各世代のプログラムにおいて、ソースプログラムに対してのみ最適化が実行される。   In the technique disclosed in Patent Document 2, optimization is performed only on the source program in each generation of programs generated in stages from the high-level language program serving as the source program.

また、特許文献3によって開示された技術では、ソースプログラムから段階的に生成される各世代のプログラムにおいて、所定の世代のプログラムに対してのみ最適化が実行される。   In the technique disclosed in Patent Document 3, optimization is performed only on a predetermined generation of programs in each generation of programs generated in stages from a source program.

本発明は、このような点に鑑みてなされたものであり、ソースプログラムから段階的に生成される各世代のプログラムを意識せずにターゲットプログラムの最適化を実行できるプログラム開発管理装置を提供することを目的とする。   The present invention has been made in view of the above points, and provides a program development management apparatus capable of executing optimization of a target program without being aware of each generation of programs generated in stages from a source program. For the purpose.

本発明では、上記課題を解決するために、図1に例示するように、プログラミング言語で作成されたプログラムファイル、例えば、ソースファイル1aa、及び、アセンブルファイル1baを1回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイル、例えば、オブジェクトファイル1caを生成する場合で、ソースファイル1aa、アセンブルファイル1ba、及び、オブジェクトファイル1caを管理するプログラム開発管理装置において、ソースファイル1aa、アセンブルファイル1ba、及び、オブジェクトファイル1caのファイル名の中で、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名を記憶するファイル名記憶手段1と、ソースファイル1aa、アセンブルファイル1ba、及び、オブジェクトファイル1caを編集するプログラムファイル編集手段2と、プログラムファイルが編集された場合、編集されたプログラムファイルの祖先の世代のプログラムファイルのファイル名を、ファイル名記憶手段1から削除するファイル名管理手段3と、を有することを特徴とするプログラム開発管理装置が提供される。 In the present invention, in order to solve the above-described problem, as illustrated in FIG. 1, a program file created in a programming language, for example, a source file 1aa and an assembly file 1ba are converted one or more times, In a program development management device that manages a source file 1aa, an assemble file 1ba, and an object file 1ca when a machine language program file, for example, an object file 1ca is generated by advancing the generation of programming languages, Among the file names of 1aa, assemble file 1ba, and object file 1ca, file name storage means 1 for storing the file name of the program file that is the source of the latest target program, and source file 1aa Assemble file 1ba, and, as the program file editing means 2 to edit the object file 1ca, if the program file is edited, the file name of the program file of generations of ancestors of the edited program file, the file name storage means 1 And a file name management means 3 to be deleted from the program development management apparatus.

このようなプログラム開発管理装置によると、ファイル名記憶手段1により、ソースファイル1aa、アセンブルファイル1ba、及び、オブジェクトファイル1caのファイル名の中で、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名が記憶される。そのプログラムファイルは、プログラムファイル編集手段2によって編集される。プログラムファイルが編集された場合、ファイル名管理手段3により、編集されたプログラムファイルの祖先の世代のプログラムファイルのファイル名が、ファイル名記憶手段1から削除される。 According to such a program development management device, the file name storage unit 1 uses the file name of the source file 1aa, the assembly file 1ba, and the object file 1ca as the source of the program file that is the source of the latest target program. The name is remembered. The program file is edited by the program file editing means 2. If the program file has been edited, by the file name management means 3, the file name of the generation of the program file of the ancestor of the edited program file is deleted from the file name storage means 1.

また、本発明では、上記課題を解決するために、図1に例示するように、プログラミング言語で作成されたプログラムファイル、例えば、ソースファイル1aa、及び、アセンブルファイル1baを1回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイル、例えば、オブジェクトファイル1caを生成する場合で、ソースファイル1aa、アセンブルファイル1ba、及び、オブジェクトファイル1caを管理するプログラム開発管理装置において、ソースファイル1aa、アセンブルファイル1ba、及び、オブジェクトファイル1caに対する編集と変換とによって生成された、ソースファイル1aa、アセンブルファイル1ba、及び、オブジェクトファイル1caのファイル名を記憶するファイル名記憶手段1と、ソースファイル1aa、アセンブルファイル1ba、及び、オブジェクトファイル1caを編集するプログラムファイル編集手段2と、プログラムファイルが編集された場合、編集されたプログラムファイルのファイル名に、フラグを設定するファイル名管理手段3と、を有し、プログラムファイル編集手段2は、フラグが設定されたプログラムファイル、及び、フラグが設定されたプログラムファイルから生成された各世代のプログラムファイルを編集することを特徴とするプログラム開発管理装置が提供される。 Further, in the present invention, in order to solve the above problem, as illustrated in FIG. 1, by converting a program file created in a programming language, for example, a source file 1aa and an assembly file 1ba at least once. In the program development management apparatus for managing the source file 1aa, the assemble file 1ba, and the object file 1ca in the case of generating a program file in machine language, for example, an object file 1ca, by gradually progressing the generation of the programming language, Stores the file names of the source file 1aa, the assemble file 1ba, and the object file 1ca generated by editing and converting the source file 1aa, the assemble file 1ba, and the object file 1ca. That the file name storage means 1, the source file 1aa, assemble file 1ba, and a program file editing means 2 for editing the object file 1ca, if the program file is edited, the file name of the edited program file, the file name managing means 3 for setting a flag, have a program file editing means 2 editing flag set program file, and each generation of the program file flag is generated from the set program file A program development management device is provided.

このようなプログラム開発管理装置によると、ファイル名記憶手段1により、ソースファイル1aa、アセンブルファイル1ba、及び、オブジェクトファイル1caに対する編集と変換とによって生成された、ソースファイル1aa、アセンブルファイル1ba、及び、オブジェクトファイル1caのファイル名が記憶される。そのプログラムファイルは、プログラムファイル編集手段2によって編集される。プログラムファイルが編集された場合、ファイル名管理手段3により、編集されたプログラムファイルのファイル名に、フラグが設定される。プログラムファイル編集手段2により、フラグが設定されたプログラムファイル、及び、フラグが設定されたプログラムファイルから生成された各世代のプログラムファイルが編集される。
According to such a program development management device, the source file 1aa, the assemble file 1ba, and the source file 1aa, the assemble file 1ba, and the object file 1ca, which are generated by the file name storage means 1, by editing and conversion. The file name of the object file 1ca is stored. The program file is edited by the program file editing means 2. If the program file has been edited, the file name managing unit 3, the file name of the edited program file, flag is set. The program file editing means 2 edits the program file in which the flag is set and each generation of program files generated from the program file in which the flag is set.

本発明では、ファイル名記憶手段が、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名を記憶し、ファイル名管理手段が、編集されたプログラムファイルの祖先の世代のプログラムファイルのファイル名を、ファイル名記憶手段から削除するようにする。   In the present invention, the file name storage means stores the file name of the program file that is the generation source of the latest target program, and the file name management means stores the file name of the program file of the ancestor generation of the edited program file. Then, it is deleted from the file name storage means.

このようにすると、編集すべきプログラムファイルが個別に管理されて特定されるので、ソースファイルから段階的に生成される各世代のプログラムファイルを意識せずにターゲットプログラムの最適化を実行できる。   In this way, since the program file to be edited is individually managed and specified, optimization of the target program can be executed without being aware of each generation of program files generated in stages from the source file.

また、本発明では、ファイル名記憶手段が、複数の世代のプログラムファイルのファイル名を記憶し、ファイル名管理手段が、編集されたプログラムファイルのファイル名に、フラグを設定するようにする。   In the present invention, the file name storage means stores the file names of a plurality of generations of program files, and the file name management means sets a flag to the file names of the edited program files.

このようにすると、編集すべきプログラムファイルが個別に管理されて特定されるので、ソースファイルから段階的に生成される各世代のプログラムファイルを意識せずにターゲットプログラムの最適化を実行できる。   In this way, since the program file to be edited is individually managed and specified, optimization of the target program can be executed without being aware of each generation of program files generated in stages from the source file.

以下、本発明の実施の形態を、図面を参照して説明する。ここで、まず、本発明の概念について説明し、その後、具体的な本発明の実施の形態について説明する。
まず、本発明の概念について説明する。図1は、本発明の概念図である。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. Here, the concept of the present invention will be described first, and then specific embodiments of the present invention will be described.
First, the concept of the present invention will be described. FIG. 1 is a conceptual diagram of the present invention.

ここで、プログラム開発管理装置は、プログラミング言語で作成されたプログラムファイル、例えば、ソースファイル1aa、及び、アセンブルファイル1baを1回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイル、例えば、オブジェクトファイル1caを生成し、ターゲットプログラムを生成している。また、プログラム開発管理装置は、ターゲットプログラムをチューニングする場合、ソースファイル1aa、アセンブルファイル1ba、及び、オブジェクトファイル1caの中で、どのプログラムファイルがチューニング対象のプログラムファイルであるかを管理している。   Here, the program development management device advances the generation of the programming language step by step by converting the program file created in the programming language, for example, the source file 1aa and the assembly file 1ba at least once. Program file, for example, an object file 1ca is generated to generate a target program. Further, when tuning the target program, the program development management device manages which program file is the program file to be tuned among the source file 1aa, the assemble file 1ba, and the object file 1ca.

なお、ソースファイル1aaをコンパイルすることでアセンブルファイル1baが生成され、アセンブルファイル1baをアセンブルすることでオブジェクトファイル1caが生成され、ターゲットプログラムが生成されるとする。また、ソースファイル名1a、アセンブルファイル名1b、及び、オブジェクトファイル名1cは、それぞれソースファイル1aa、アセンブルファイル1ba、及び、オブジェクトファイル1caの名称であるとする。   Assume that an assembly file 1ba is generated by compiling the source file 1aa, an object file 1ca is generated by assembling the assembly file 1ba, and a target program is generated. The source file name 1a, the assemble file name 1b, and the object file name 1c are assumed to be the names of the source file 1aa, the assemble file 1ba, and the object file 1ca, respectively.

プログラム開発管理装置は、図1に例示するように、ファイル名記憶手段1、プログラムファイル編集手段2、ファイル名管理手段3、ソースファイル1aa、アセンブルファイル1ba、及び、オブジェクトファイル1caを有する。また、ファイル名記憶手段1は、ソースファイル名1a、アセンブルファイル名1b、及び、オブジェクトファイル名1cの中で、チューニング対象のプログラムファイルのファイル名のみを記憶する。ファイル名記憶手段1、プログラムファイル編集手段2、及び、ファイル名管理手段3は、互いに通信する。   As illustrated in FIG. 1, the program development management apparatus includes a file name storage unit 1, a program file editing unit 2, a file name management unit 3, a source file 1aa, an assemble file 1ba, and an object file 1ca. Further, the file name storage means 1 stores only the file name of the program file to be tuned among the source file name 1a, the assemble file name 1b, and the object file name 1c. The file name storage unit 1, the program file editing unit 2, and the file name management unit 3 communicate with each other.

ファイル名記憶手段1は、ソースファイル1aa、アセンブルファイル1ba、及び、オブジェクトファイル1caのファイル名の中で、最新のターゲットプログラムの生成元であってチューニング対象のプログラムファイルのファイル名のみを記憶する。   The file name storage means 1 stores only the file name of the program file to be tuned, which is the source of the latest target program among the file names of the source file 1aa, the assemble file 1ba, and the object file 1ca.

プログラムファイル編集手段2は、ソースファイル1aa、アセンブルファイル1ba、及び、オブジェクトファイル1caを編集する。
ファイル名管理手段3は、プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集されたプログラムファイルの祖先の世代のプログラムファイルのファイル名を、ファイル名記憶手段1から削除する。
The program file editing means 2 edits the source file 1aa, the assemble file 1ba, and the object file 1ca.
When the program file is edited and applied as the latest program file, the file name management unit 3 deletes the file name of the ancestor generation of the edited program file from the file name storage unit 1.

次に、図1の概念図の動作について説明する。
例えば、まず、最新のターゲットプログラムの生成元は、ソースファイル1aaとなっているとする。よって、ファイル名記憶手段1には、ソースファイル名1aのみが記憶されているとする。
Next, the operation of the conceptual diagram of FIG. 1 will be described.
For example, first, assume that the source of the latest target program is the source file 1aa. Therefore, it is assumed that only the source file name 1a is stored in the file name storage unit 1.

その後、ターゲットプログラムを最適化するため、プログラムファイル編集手段2により、アセンブルファイル1baが編集される。その編集されたアセンブルファイル1baの祖先の世代のソースファイル1aaのファイル名が、ファイル名管理手段3により、ファイル名記憶手段1から削除される。ここで、チューニング対象のプログラムファイルはソースファイル1aaからアセンブルファイル1baに変更しているので、ファイル名記憶手段1により、チューニング対象のアセンブルファイル1baのファイル名が記憶される。   Thereafter, the assembly file 1ba is edited by the program file editing means 2 in order to optimize the target program. The file name of the source file 1aa of the ancestor generation of the edited assemble file 1ba is deleted from the file name storage means 1 by the file name management means 3. Here, since the program file to be tuned has been changed from the source file 1aa to the assemble file 1ba, the file name storage means 1 stores the file name of the assemble file 1ba to be tuned.

また、ターゲットプログラムを最適化するため、プログラムファイル編集手段2により、ソースファイル1aaが編集される。ここで、編集されたソースファイル1aaの祖先の世代のプログラムファイルは存在しないため、ファイル名管理手段3により、ファイル名記憶手段1は編集されない。   Further, the source file 1aa is edited by the program file editing means 2 in order to optimize the target program. Here, since there is no program file of the ancestor generation of the edited source file 1aa, the file name storage means 1 is not edited by the file name management means 3.

このようにすると、編集すべきプログラムファイルが個別に管理されて特定されるので、ソースファイル1aaから段階的に生成される各世代のプログラムファイルを意識せずにターゲットプログラムの最適化を実行できる。   In this way, since the program file to be edited is individually managed and specified, optimization of the target program can be executed without being aware of each generation of program files generated in stages from the source file 1aa.

また、編集すべきプログラムファイル、及び、そのプログラムファイルから生成された複数の世代のプログラムファイルを自由に編集できるので、ターゲットプログラムに対する自由度の高い編集ができる。   Further, since the program file to be edited and the program files of a plurality of generations generated from the program file can be freely edited, editing with a high degree of freedom for the target program can be performed.

なお、ソースファイル1aaからアセンブルファイル1baを生成し、アセンブルファイル1baからオブジェクトファイル1caを生成しているが、ソースファイル1aaから生成されないアセンブルファイル1baからオブジェクトファイル1caを生成してもよい。   The assemble file 1ba is generated from the source file 1aa and the object file 1ca is generated from the assemble file 1ba. However, the object file 1ca may be generated from the assemble file 1ba that is not generated from the source file 1aa.

以下、具体的な本発明の実施の形態について説明する。ここで、第1の実施の形態から第2の実施の形態まで順次説明する。
{第1の実施の形態}
まず、第1の実施の形態について説明する。図2は、第1の実施の形態のシステム構成図である。
Hereinafter, specific embodiments of the present invention will be described. Here, the first embodiment to the second embodiment will be sequentially described.
{First embodiment}
First, the first embodiment will be described. FIG. 2 is a system configuration diagram of the first embodiment.

ここで、プログラム開発管理装置は、プログラミング言語で作成されたプログラムファイル、例えば、ソースファイル11a、及び、アセンブルファイル11bを1回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイル、例えば、オブジェクトファイル11cを生成し、ターゲットプログラムを生成している。また、プログラム開発管理装置は、ターゲットプログラムをチューニングする場合、ソースファイル11a、アセンブルファイル11b、及び、オブジェクトファイル11cの中で、どのプログラムファイルがチューニング対象のプログラムファイルであるかを管理している。   Here, the program development management device advances the generation of the programming language step by step by converting the program file created in the programming language, for example, the source file 11a and the assembly file 11b at least once. Program file, for example, the object file 11c is generated, and the target program is generated. Further, when tuning the target program, the program development management device manages which program file is the program file to be tuned among the source file 11a, the assemble file 11b, and the object file 11c.

なお、ソースファイル11aをコンパイルすることでアセンブルファイル11bが生成され、アセンブルファイル11bをアセンブルすることでオブジェクトファイル11cが生成され、ターゲットプログラムが生成されるとする。また、ソースファイル名18a、アセンブルファイル名18b、及び、オブジェクトファイル名18cは、それぞれソースファイル11a、アセンブルファイル11b、及び、オブジェクトファイル11cの名称であるとする。   Assume that an assembly file 11b is generated by compiling the source file 11a, an object file 11c is generated by assembling the assembly file 11b, and a target program is generated. The source file name 18a, the assemble file name 18b, and the object file name 18c are assumed to be the names of the source file 11a, the assemble file 11b, and the object file 11c, respectively.

プログラム開発管理装置は、ファイル管理部11、オプション管理部12、ビルド部13、デバッグ部14、性能情報データベース15、チューニング部16、フィードバック部17、及び、ファイル名記憶部18から構成される。ファイル管理部11、オプション管理部12、ビルド部13、デバッグ部14、性能情報データベース15、チューニング情報データベース15a、チューニング部16、フィードバック部17、及び、ファイル名記憶部18は、互いに通信する。   The program development management apparatus includes a file management unit 11, an option management unit 12, a build unit 13, a debug unit 14, a performance information database 15, a tuning unit 16, a feedback unit 17, and a file name storage unit 18. The file management unit 11, the option management unit 12, the build unit 13, the debug unit 14, the performance information database 15, the tuning information database 15a, the tuning unit 16, the feedback unit 17, and the file name storage unit 18 communicate with each other.

ファイル管理部11は、各世代のプログラムファイルとしてのソースファイル11a、アセンブルファイル11b、オブジェクトファイル11cを管理する。
オプション管理部12は、コンパイル、アセンブル、逆コンパイル、及び、逆アセンブル等の設定を管理する。その設定に基づいたビルド部13は、プログラミング言語で作成されたプログラムファイル、例えば、ソースファイル11a、及び、アセンブルファイル11bを1回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイル、例えば、オブジェクトファイル11cを生成する。
The file management unit 11 manages a source file 11a, an assembly file 11b, and an object file 11c as program files for each generation.
The option management unit 12 manages settings such as compilation, assembly, decompilation, and disassembly. Based on the setting, the build unit 13 converts the program file created in the programming language, for example, the source file 11a and the assembly file 11b one or more times to advance the generation of the programming language step by step. A word program file, for example, an object file 11c is generated.

デバッグ部14は、生成されたターゲットプログラムをデバッグする。そのデバッグ結果について、性能情報データベース15は、ターゲットプログラムの性能情報として記憶する。このターゲットプログラムの性能情報、つまり、ソースファイル11a、アセンブルファイル11b、及び、オブジェクトファイル11cに対する性能情報に基づき、チューニング部16は、プログラム開発者にとって理解しやすいチューニング情報を生成し、チューニング情報データベース15aに記憶させる。その後、チューニング部16は、チューニング情報に基づき、それぞれに対するチューニングデータを生成する。また、チューニング部16は、各チューニングデータに基づき、ソースファイル11a、アセンブルファイル11b、及び、オブジェクトファイル11cをチューニングする。ここで、性能情報、及び、チューニングデータは、ソースファイル11a、アセンブルファイル11b、及び、オブジェクトファイル11c毎に分類される。   The debug unit 14 debugs the generated target program. The performance information database 15 stores the debugging result as performance information of the target program. Based on the performance information of the target program, that is, the performance information for the source file 11a, the assemble file 11b, and the object file 11c, the tuning unit 16 generates tuning information that can be easily understood by the program developer, and the tuning information database 15a. Remember me. Thereafter, the tuning unit 16 generates tuning data for each based on the tuning information. The tuning unit 16 tunes the source file 11a, the assemble file 11b, and the object file 11c based on each tuning data. Here, performance information and tuning data are classified for each source file 11a, assembly file 11b, and object file 11c.

フィードバック部17は、プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集されたプログラムファイルの祖先の世代のプログラムファイルのファイル名を、ファイル名記憶部18から削除する。その結果として、ファイル名記憶部18は、ソースファイル11a、アセンブルファイル11b、及び、オブジェクトファイル11cのファイル名の中で、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名を記憶する。   When the program file is edited and applied as the latest program file, the feedback unit 17 deletes the file name of the ancestor generation program file of the edited program file from the file name storage unit 18. As a result, the file name storage unit 18 stores the file name of the program file that is the source of the latest target program among the file names of the source file 11a, the assemble file 11b, and the object file 11c.

なお、チューニングは、手動で実行されてもよいし、予めチューニング条件を設定して自動で実行されてもよい。
次に、図2のシステム構成図の動作について説明する。
Note that the tuning may be executed manually or may be automatically executed by setting tuning conditions in advance.
Next, the operation of the system configuration diagram of FIG. 2 will be described.

例えば、まず、最新のターゲットプログラムの生成元は、ソースファイル11aとなっているとする。よって、ファイル名記憶部18には、ソースファイル名18aのみが記憶されているとする。   For example, first, assume that the source of the latest target program is the source file 11a. Therefore, it is assumed that only the source file name 18a is stored in the file name storage unit 18.

その後、ターゲットプログラムを最適化するため、チューニング部16により、アセンブルファイル11bがチューニングされる。そのチューニングされたアセンブルファイル11bの祖先の世代のソースファイル11aのファイル名が、フィードバック部17により、ファイル名記憶部18から削除される。ここで、チューニング対象のプログラムファイルはソースファイル11aからアセンブルファイル11bに変更しているので、ファイル名記憶部18により、チューニング対象のアセンブルファイル11bのファイル名が記憶される。   Thereafter, the assembly file 11b is tuned by the tuning unit 16 in order to optimize the target program. The file name of the source file 11a of the ancestor generation of the tuned assemble file 11b is deleted from the file name storage unit 18 by the feedback unit 17. Here, since the program file to be tuned is changed from the source file 11a to the assemble file 11b, the file name storage unit 18 stores the file name of the assemble file 11b to be tuned.

また、ターゲットプログラムを最適化するため、チューニング部16により、ソースファイル11aがチューニングされる。ここで、チューニングされたソースファイル11aの祖先の世代のプログラムファイルは存在しないため、フィードバック部17により、ファイル名記憶部18は編集されない。   Further, the source file 11a is tuned by the tuning unit 16 in order to optimize the target program. Here, since there is no ancestor generation program file of the tuned source file 11 a, the file name storage unit 18 is not edited by the feedback unit 17.

次に、ファイル名記憶部18の記憶内容について説明する。図3は、第1の実施の形態におけるファイル名記憶部の記憶内容の変化例を示す図である。
まず、図3(A)に例示するように、ファイル名記憶部18に、7つのファイル名が記憶されている。具体的には、ファイル名記憶部18に、ソースファイル名18aとして”a.c”、”b.c”、及び、”c.c”が記憶され、アセンブルファイル名18bとして”d.s”、及び、”e.s”が記憶され、オブジェクトファイル名18cとして”f.o”、及び、”g.o”が記憶されている。
Next, the contents stored in the file name storage unit 18 will be described. FIG. 3 is a diagram illustrating a change example of the storage contents of the file name storage unit according to the first embodiment.
First, as illustrated in FIG. 3A, seven file names are stored in the file name storage unit 18. Specifically, “a.c”, “b.c”, and “c.c” are stored as the source file name 18 a in the file name storage unit 18, and “ds” as the assembled file name 18 b. , And “es” are stored, and “fo” and “go” are stored as the object file name 18c.

その後、図3(B)に例示するように、”c.c”がアセンブルされて生成された”c.s”がチューニングされ、ファイル名記憶部18において、”c.c”が削除されて最新のターゲットプログラムの生成元となる”c.s”が記憶される。   Thereafter, as illustrated in FIG. 3B, “c.s” generated by assembling “c.c” is tuned, and “c.c” is deleted in the file name storage unit 18. “Cs” which is the generation source of the latest target program is stored.

次に、性能情報データベース15について説明する。図4は、性能情報データベースの例を示す図である。
性能情報データベース15は、図4に例示するように、アドレス、命令名、関数名、Taken数、Not_Taken数、及び、Taken率を有する。性能情報データベース15において、横方向に並べられた各項目は、互いに関連する。
Next, the performance information database 15 will be described. FIG. 4 is a diagram illustrating an example of the performance information database.
As illustrated in FIG. 4, the performance information database 15 includes an address, an instruction name, a function name, a Taken number, a Not_Taken number, and a Taken rate. In the performance information database 15, the items arranged in the horizontal direction are related to each other.

アドレスは、アセンブルファイル11bから生成されたオブジェクトファイル11cにおける命令の番地である。命令名は、ソースファイル11aから生成されたアセンブルファイル11bにおける命令の名称である。関数名は、ソースファイル11aにおける命令の名称である。Taken数は、分岐命令の分岐予測の的中失敗回数である。Not_Taken数は、分岐命令の分岐予測の的中成功回数である。Taken率は、分岐命令の分岐予測の的中成功確率である。   The address is an address of an instruction in the object file 11c generated from the assemble file 11b. The instruction name is the name of the instruction in the assemble file 11b generated from the source file 11a. The function name is the name of the instruction in the source file 11a. The number of Taken is the number of hit failures in branch prediction of a branch instruction. The Not_Take number is the number of successful hits in branch prediction of a branch instruction. The Taken rate is the probability of success in branch prediction of a branch instruction.

次に、チューニング情報データベース15aについて説明する。図5は、チューニング情報データベースの例を示す図である。
チューニング情報データベース15aは、図5に例示するように、ファイル種別、及び、チューニング情報を有する。チューニング情報データベース15aにおいて、横方向に並べられた各項目は、互いに関連する。
Next, the tuning information database 15a will be described. FIG. 5 is a diagram illustrating an example of a tuning information database.
The tuning information database 15a includes file types and tuning information as illustrated in FIG. In the tuning information database 15a, the items arranged in the horizontal direction are related to each other.

ファイル種別は、ソースファイル11a、アセンブルファイル11b、及び、オブジェクトファイル11cのいずれかを示す。チューニング情報は、各世代のプログラムファイルに対するチューニング情報である。例えば、ソースファイル11aに対するチューニング情報は、File.cの12行目のif節のTaken率が87%という情報である。また、アセンブルファイル11bに対するチューニング情報は、File.sの84行目のBne分岐命令のTaken率が87%という情報である。また、オブジェクトファイル11cに対するチューニング情報は、File.oの0x1234番地の0x56命令(Bne分岐命令)のTaken率が87%という情報である。   The file type indicates one of a source file 11a, an assemble file 11b, and an object file 11c. The tuning information is tuning information for each generation program file. For example, the tuning information for the source file 11a is File. This is information that the Taken rate of the if clause in the 12th row of c is 87%. The tuning information for the assemble file 11b is File. This is information that the Taken rate of the Bne branch instruction on line 84 of s is 87%. The tuning information for the object file 11c is File. This is information that the Taken rate of 0x56 instruction (Bne branch instruction) at address 0x1234 at o is 87%.

次に、データキャッシュのチューニングデータの例について説明する。図6は、データキャッシュのチューニングデータの例を示す図である。
データキャッシュのチューニングデータ41は、図6に例示するように、ソースファイル11a、アセンブルファイル11b、及び、オブジェクトファイル11cに対するチューニング前のデータ、チューニング後のデータ、及び、チューニング条件を有する。
Next, an example of data cache tuning data will be described. FIG. 6 is a diagram illustrating an example of data cache tuning data.
As illustrated in FIG. 6, the data cache tuning data 41 includes pre-tuning data, post-tuning data, and tuning conditions for the source file 11a, the assembly file 11b, and the object file 11c.

ここで、チューニング内容は、ソースファイル11a、及び、オブジェクトファイル11cによっては表現できず、アセンブルファイル11bによっては表現できるようになっている。自動でチューニングする場合、データキャッシュのミスが80%以上というチューニング条件が満たされると、事前データロード命令が追加されるようになっている。その後、アセンブルファイル11bをチューニングするので、ファイル名記憶部18は、アセンブルファイル11bのファイル名を記憶する。   Here, the tuning content cannot be expressed by the source file 11a and the object file 11c, but can be expressed by the assemble file 11b. In the case of automatic tuning, a pre-data load instruction is added when a tuning condition that a data cache miss is 80% or more is satisfied. Thereafter, since the assemble file 11b is tuned, the file name storage unit 18 stores the file name of the assemble file 11b.

次に、分岐のチューニングデータの例について説明する。図7は、分岐のチューニングデータの例を示す図である。
分岐のチューニングデータ42は、図7に例示するように、ソースファイル11a、アセンブルファイル11b、及び、オブジェクトファイル11cに対するチューニング前のデータ、チューニング後のデータ、及び、チューニング条件を有する。
Next, an example of branch tuning data will be described. FIG. 7 is a diagram showing an example of branch tuning data.
As illustrated in FIG. 7, the branch tuning data 42 includes data before tuning, data after tuning, and tuning conditions for the source file 11a, the assembly file 11b, and the object file 11c.

ここで、チューニング内容は、ソースファイル11a、オブジェクトファイル11c、及び、アセンブルファイル11bによって表現できるようになっている。自動でチューニングする場合、if節またはelse節の実行頻度が80%以上というチューニング条件が満たされると、ソースファイル11aの場合"#pragma statement if 87"が追加され、アセンブルファイル11bの場合ヒントビットについて”00”から”11”に変更され、オブジェクトファイル11cの場合ヒントビットについて”00”から”11”に変更されるようになっている。その後、ファイル名記憶部18は、それぞれチューニングを実行したプログラムファイルのファイル名を記憶する。   Here, the tuning content can be expressed by a source file 11a, an object file 11c, and an assembly file 11b. When tuning is performed automatically, if the tuning condition that the execution frequency of the “if” or “else” clause is 80% or more is satisfied, “#pragma statement if 87” is added for the source file 11a, and hint bit for the assemble file 11b. “00” is changed to “11”, and in the case of the object file 11c, the hint bit is changed from “00” to “11”. Thereafter, the file name storage unit 18 stores the file name of the program file that has been tuned.

なお、ヒントビットは分岐予測機能としてハードウェアに実装され、"#pragma statement if 87"での表現はコンパイルできるとしている。
次に、第1の実施の形態のプログラム開発管理装置の処理について説明する。図8は、第1の実施の形態のプログラム開発管理装置の処理の例を示すフローチャートである。
Note that the hint bit is implemented in hardware as a branch prediction function, and the expression "#pragma statement if 87" can be compiled.
Next, processing of the program development management device according to the first embodiment will be described. FIG. 8 is a flowchart illustrating an example of processing of the program development management device according to the first embodiment.

{ステップS11}ファイル管理部11は、各世代のプログラムファイルとしてのソースファイル11a、アセンブルファイル11b、及び、オブジェクトファイル11cの管理を開始する。   {Step S11} The file management unit 11 starts managing the source file 11a, the assembly file 11b, and the object file 11c as the program files for each generation.

{ステップS12}ファイル名記憶部18は、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名を記憶する。
{ステップS13}ビルド部13は、プログラミング言語で作成されたプログラムファイル、例えば、ソースファイル11a、及び、アセンブルファイル11bを1回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイル、例えば、オブジェクトファイル11cを生成する。
{Step S12} The file name storage unit 18 stores the file name of the program file that is the source of the latest target program.
{Step S13} The build unit 13 advances the generation of the programming language step by step by converting the program file created in the programming language, for example, the source file 11a and the assembly file 11b at least once. Program file, for example, the object file 11c is generated.

{ステップS14}チューニング部16は、各世代のプログラムファイルとしてのソースファイル11a、アセンブルファイル11b、及び、オブジェクトファイル11cに対する性能情報を取得する。   {Step S14} The tuning unit 16 acquires performance information for the source file 11a, the assemble file 11b, and the object file 11c as program files of each generation.

{ステップS15}チューニング部16は、それぞれに対するチューニングデータを生成する。
{ステップS16}チューニング部16は、チューニングするか否かを判断する。チューニングする場合、処理はステップS17に進み、チューニングしない場合、処理は終了する。
{Step S15} The tuning unit 16 generates tuning data for each.
{Step S16} The tuning unit 16 determines whether or not to tune. When tuning, the process proceeds to step S17, and when not tuned, the process ends.

{ステップS17}チューニング部16は、ソースファイル11a、アセンブルファイル11b、及び、オブジェクトファイル11cをチューニングする。
{ステップS18}フィードバック部17は、プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集されたプログラムファイルの祖先の世代のプログラムファイルのファイル名を、ファイル名記憶部18から削除する。
{Step S17} The tuning unit 16 tunes the source file 11a, the assemble file 11b, and the object file 11c.
{Step S18} When the program file is edited and applied as the latest program file, the feedback unit 17 deletes the file name of the ancestor generation program file of the edited program file from the file name storage unit 18. .

次に、チューニングデータの生成処理について説明する。図9は、チューニングデータの生成処理の例を示すフローチャートである。
{ステップS15a}チューニング部16は、ソースファイル11a、アセンブルファイル11b、及び、オブジェクトファイル11cに対する性能情報に基づき、チューニング情報を生成する。
Next, tuning data generation processing will be described. FIG. 9 is a flowchart illustrating an example of a tuning data generation process.
{Step S15a} The tuning unit 16 generates tuning information based on the performance information for the source file 11a, the assemble file 11b, and the object file 11c.

{ステップS15b}チューニング部16は、チューニング情報が生成されたか否かを判断する。生成された場合、処理はステップS15cに進み、生成されなかった場合、処理は終了する。   {Step S15b} The tuning unit 16 determines whether tuning information has been generated. If so, the process proceeds to step S15c. If not, the process ends.

{ステップS15c}チューニング部16は、チューニング内容をソースファイル11aで表現できるか否かを判断する。表現できる場合、処理はステップS15dに進み、表現できない場合、処理はステップS15eに進む。   {Step S15c} The tuning unit 16 determines whether or not the tuning content can be expressed by the source file 11a. If it can be expressed, the process proceeds to step S15d, and if it cannot be expressed, the process proceeds to step S15e.

{ステップS15d}チューニング部16は、ソースファイル11aに対するチューニングデータを生成する。
{ステップS15e}チューニング部16は、チューニング内容をアセンブルファイル11bで表現できるか否かを判断する。表現できる場合、処理はステップS15fに進み、表現できない場合、処理はステップS15gに進む。
{Step S15d} The tuning unit 16 generates tuning data for the source file 11a.
{Step S15e} The tuning unit 16 determines whether or not the tuning content can be expressed by the assemble file 11b. If it can be expressed, the process proceeds to step S15f, and if it cannot be expressed, the process proceeds to step S15g.

{ステップS15f}チューニング部16は、アセンブルファイル11bに対するチューニングデータを生成する。
{ステップS15g}チューニング部16は、チューニング内容をオブジェクトファイル11cで表現できるか否かを判断する。表現できる場合、処理はステップS15hに進み、表現できない場合、処理は終了する。
{Step S15f} The tuning unit 16 generates tuning data for the assemble file 11b.
{Step S15g} The tuning unit 16 determines whether or not the tuning content can be expressed by the object file 11c. If it can be expressed, the process proceeds to step S15h. If it cannot be expressed, the process ends.

{ステップS15h}チューニング部16は、オブジェクトファイル11cに対するチューニングデータを生成する。
{ステップS15i}チューニング部16は、それぞれに対するチューニングデータを記憶する。
{Step S15h} The tuning unit 16 generates tuning data for the object file 11c.
{Step S15i} The tuning unit 16 stores tuning data for each.

次に、チューニング処理について説明する。図10は、チューニング処理の例を示すフローチャートである。
{ステップS17a}チューニング部16は、ソースファイル11aをチューニングするか否かを判断する。チューニングする場合、処理はステップS17bに進み、チューニングしない場合、処理はステップS17cに進む。
Next, the tuning process will be described. FIG. 10 is a flowchart illustrating an example of tuning processing.
{Step S17a} The tuning unit 16 determines whether to tune the source file 11a. When tuning, the process proceeds to step S17b, and when not tuned, the process proceeds to step S17c.

{ステップS17b}チューニング部16は、性能情報、または、チューニング情報に基づき、ソースファイル11aをチューニングする。
{ステップS17c}チューニング部16は、アセンブルファイル11bをチューニングするか否かを判断する。チューニングする場合、処理はステップS17dに進み、チューニングしない場合、処理はステップS17eに進む。
{Step S17b} The tuning unit 16 tunes the source file 11a based on performance information or tuning information.
{Step S17c} The tuning unit 16 determines whether or not to tune the assemble file 11b. When tuning, the process proceeds to step S17d, and when not tuned, the process proceeds to step S17e.

{ステップS17d}チューニング部16は、性能情報、または、チューニング情報に基づき、アセンブルファイル11bをチューニングする。
{ステップS17e}チューニング部16は、性能情報、または、チューニング情報に基づき、オブジェクトファイル11cをチューニングする。
{Step S17d} The tuning unit 16 tunes the assemble file 11b based on performance information or tuning information.
{Step S17e} The tuning unit 16 tunes the object file 11c based on performance information or tuning information.

次に、記憶処理について説明する。図11は、記憶処理の例を示すフローチャートである。
{ステップS18a}フィードバック部17は、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名が記憶済みか否かを判断する。記憶済みである場合、処理は終了し、記憶済みでない場合、処理はステップS18bに進む。
Next, the storage process will be described. FIG. 11 is a flowchart illustrating an example of the storage process.
{Step S18a} The feedback unit 17 determines whether the file name of the program file that is the generation source of the latest target program has been stored. If stored, the process ends. If not stored, the process proceeds to step S18b.

{ステップS18b}フィードバック部17は、編集されたプログラムファイルの祖先の世代のプログラムファイルのファイル名を、ファイル名記憶部18から削除する。
{ステップS18c}ファイル名記憶部18は、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名を記憶する。
{Step S18b} The feedback unit 17 deletes the file name of the program file of the ancestor generation of the edited program file from the file name storage unit 18.
{Step S18c} The file name storage unit 18 stores the file name of the program file from which the latest target program is generated.

このようにすると、チューニングすべきプログラムファイルが個別に管理されて特定されるので、ソースファイル11aから段階的に生成される各世代のプログラムファイルを意識せずにターゲットプログラムの最適化を実行できる。   In this way, since the program file to be tuned is individually managed and specified, the target program can be optimized without being aware of each generation of program files that are generated in stages from the source file 11a.

また、チューニングすべきプログラムファイル、及び、そのプログラムファイルから生成された複数の世代のプログラムファイルを自由にチューニングできるので、最も効果の高いプログラムファイルを選択でき、ターゲットプログラムに対する自由度の高いチューニングができる。   In addition, since the program file to be tuned and the multiple generation program files generated from the program file can be freely tuned, the most effective program file can be selected and the target program can be tuned with a high degree of freedom. .

なお、ソースファイル11aからアセンブルファイル11bを生成し、アセンブルファイル11bからオブジェクトファイル11cを生成しているが、ソースファイル11aから生成されないアセンブルファイル11bからオブジェクトファイル11cを生成してもよい。   The assemble file 11b is generated from the source file 11a and the object file 11c is generated from the assemble file 11b. However, the object file 11c may be generated from the assemble file 11b that is not generated from the source file 11a.

また、プログラム開発者にとって理解しやすいチューニング情報を使用しないでチューニングすることもできる。
{第2の実施の形態}
次に、第2の実施の形態について説明する。図12は、第2の実施の形態のシステム構成図である。
It is also possible to tune without using tuning information that is easy for program developers to understand.
{Second Embodiment}
Next, a second embodiment will be described. FIG. 12 is a system configuration diagram of the second embodiment.

ここで、プログラム開発管理装置は、プログラミング言語で作成されたプログラムファイル、例えば、ソースファイル21a、及び、アセンブルファイル21bを1回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイル、例えば、オブジェクトファイル21cを生成し、ターゲットプログラムを生成している。また、プログラム開発管理装置は、ターゲットプログラムをチューニングする場合、ソースファイル21a、アセンブルファイル21b、及び、オブジェクトファイル21cの中で、どのプログラムファイルがチューニング対象のプログラムファイルであるかを管理している。   Here, the program development management apparatus advances the generation of the programming language step by step by converting the program file created in the programming language, for example, the source file 21a and the assembly file 21b at least once. Program file, for example, the object file 21c is generated, and the target program is generated. Further, when tuning the target program, the program development management device manages which program file is the program file to be tuned among the source file 21a, the assemble file 21b, and the object file 21c.

なお、ソースファイル21aをコンパイルすることでアセンブルファイル21bが生成され、アセンブルファイル21bをアセンブルすることでオブジェクトファイル21cが生成され、ターゲットプログラムが生成されるとする。また、ソースファイル名29a、アセンブルファイル名29b、及び、オブジェクトファイル名29cは、それぞれソースファイル21a、アセンブルファイル21b、及び、オブジェクトファイル21cの名称であるとする。   Assume that an assembly file 21b is generated by compiling the source file 21a, an object file 21c is generated by assembling the assembly file 21b, and a target program is generated. The source file name 29a, the assemble file name 29b, and the object file name 29c are assumed to be the names of the source file 21a, the assemble file 21b, and the object file 21c, respectively.

プログラム開発管理装置は、ファイル管理部21、オプション管理部22、ビルド部23、デバッグ部24、性能情報データベース25、チューニング情報データベース25a、チューニング部26、ビルド対象フラグ設定部28、及び、ファイル名記憶部29から構成される。ファイル管理部21、オプション管理部22、ビルド部23、デバッグ部24、性能情報データベース25、チューニング部26、ビルド対象フラグ設定部28、及び、ファイル名記憶部29は、互いに通信する。   The program development management apparatus includes a file management unit 21, an option management unit 22, a build unit 23, a debug unit 24, a performance information database 25, a tuning information database 25a, a tuning unit 26, a build target flag setting unit 28, and a file name storage The unit 29 is configured. The file management unit 21, the option management unit 22, the build unit 23, the debug unit 24, the performance information database 25, the tuning unit 26, the build target flag setting unit 28, and the file name storage unit 29 communicate with each other.

ファイル管理部21は、各世代のプログラムファイルとしてのソースファイル21a、アセンブルファイル21b、オブジェクトファイル21cを管理する。
オプション管理部22は、コンパイル、アセンブル、逆コンパイル、及び、逆アセンブル等の設定を管理する。その設定と後述するビルド対象フラグとに基づいたビルド部23は、プログラミング言語で作成されたプログラムファイル、例えば、ソースファイル21a、及び、アセンブルファイル21bを1回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイル、例えば、オブジェクトファイル21cを生成する。
The file management unit 21 manages a source file 21a, an assembly file 21b, and an object file 21c as program files for each generation.
The option management unit 22 manages settings such as compilation, assembly, decompilation, and disassembly. The build unit 23 based on the setting and a build target flag to be described later performs step-by-step programming by converting a program file created in a programming language, for example, the source file 21a and the assembly file 21b at least once. The language generation is advanced to generate a machine language program file, for example, an object file 21c.

デバッグ部24は、生成されたターゲットプログラムをデバッグする。そのデバッグ結果について、性能情報データベース25は、ターゲットプログラムの性能情報として記憶する。このターゲットプログラムの性能情報、つまり、ソースファイル21a、アセンブルファイル21b、及び、オブジェクトファイル21cに対する性能情報に基づき、チューニング部26は、プログラム開発者にとって理解しやすいチューニング情報を生成し、チューニング情報データベース25aに記憶させる。その後、チューニング部26は、チューニング情報に基づき、それぞれに対するチューニングデータを生成する。また、チューニング部26は、各チューニングデータに基づき、ソースファイル21a、アセンブルファイル21b、オブジェクトファイル21cをチューニングする。ここで、性能情報、及び、チューニングデータは、ソースファイル21a、アセンブルファイル21b、及び、オブジェクトファイル21c毎に分類される。   The debug unit 24 debugs the generated target program. The performance information database 25 stores the debug result as performance information of the target program. Based on the performance information of the target program, that is, the performance information for the source file 21a, the assemble file 21b, and the object file 21c, the tuning unit 26 generates tuning information that can be easily understood by the program developer, and the tuning information database 25a. Remember me. Thereafter, the tuning unit 26 generates tuning data for each based on the tuning information. The tuning unit 26 tunes the source file 21a, the assemble file 21b, and the object file 21c based on each tuning data. Here, the performance information and the tuning data are classified for each source file 21a, assemble file 21b, and object file 21c.

ビルド対象フラグ設定部28は、プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集されたプログラムファイルのファイル名に、ビルド対象フラグを設定する。その結果として、ファイル名記憶部29は、ビルド対象フラグが設定された最新のターゲットプログラムの生成元となるプログラムファイルのファイル名を記憶する。また、ファイル名記憶部29は、プログラムファイルに対する編集と変換とによって生成された、ソースファイル21a、アセンブルファイル21b、及び、オブジェクトファイル21cのファイル名を記憶する。   When the program file is edited and applied as the latest program file, the build target flag setting unit 28 sets the build target flag to the file name of the edited program file. As a result, the file name storage unit 29 stores the file name of the program file that is the generation source of the latest target program in which the build target flag is set. The file name storage unit 29 stores the file names of the source file 21a, the assemble file 21b, and the object file 21c that are generated by editing and converting the program file.

なお、チューニングは、手動で実行されてもよいし、予めチューニング条件を設定して自動で実行されてもよい。
また、ビルド対象フラグは、プログラム開発者が手動で設定してもよいし、予め条件を設定して自動で設定してもよい。
Note that the tuning may be executed manually or may be automatically executed by setting tuning conditions in advance.
The build target flag may be set manually by the program developer, or may be set automatically by setting conditions in advance.

次に、図12のシステム構成図の動作について説明する。
例えば、まず、最新のターゲットプログラムの生成元は、ソースファイル21aとなっているとする。よって、ソースファイル名29aにビルド対象フラグが設定されているとする。また、ファイル名記憶部29には、ソースファイル名29a、アセンブルファイル名29b、及び、オブジェクトファイル名29cが記憶されているとする。
Next, the operation of the system configuration diagram of FIG. 12 will be described.
For example, first, assume that the source of the latest target program is the source file 21a. Therefore, it is assumed that the build target flag is set in the source file name 29a. Further, it is assumed that the file name storage unit 29 stores a source file name 29a, an assemble file name 29b, and an object file name 29c.

その後、ターゲットプログラムを最適化するため、チューニング部26により、アセンブルファイル21bがチューニングされる。そのチューニングされたアセンブルファイル21bのファイル名に、ビルド対象フラグ設定部28により、ビルド対象フラグが設定される。ここで、チューニング対象のプログラムファイルはソースファイル21aからアセンブルファイル21bに変更している。   Thereafter, the assembly file 21b is tuned by the tuning unit 26 in order to optimize the target program. A build target flag is set by the build target flag setting unit 28 to the file name of the tuned assemble file 21b. Here, the program file to be tuned is changed from the source file 21a to the assemble file 21b.

また、ターゲットプログラムを最適化するため、チューニング部26により、ソースファイル21aがチューニングされる。そのチューニングされたソースファイル21aのファイル名に、ビルド対象フラグはすでに設定されているので、ビルド対象フラグは編集されない。   Further, the source file 21a is tuned by the tuning unit 26 in order to optimize the target program. Since the build target flag is already set in the file name of the tuned source file 21a, the build target flag is not edited.

次に、ファイル名記憶部29の記憶内容について説明する。図13は、第2の実施の形態におけるファイル名記憶部の記憶内容の変化例を示す図である。
まず、図13(A)に例示するように、ファイル名記憶部29に、7つのファイル名が記憶されている。具体的には、ファイル名記憶部29に、ソースファイル名29aとして”a.c”、”b.c”、及び、”c.c”が記憶され、アセンブルファイル名29bとして”d.s”、及び、”e.s”が記憶され、オブジェクトファイル名29cとして”f.o”、及び、”g.o”が記憶されている。
Next, the contents stored in the file name storage unit 29 will be described. FIG. 13 is a diagram illustrating a change example of the contents stored in the file name storage unit according to the second embodiment.
First, as illustrated in FIG. 13A, seven file names are stored in the file name storage unit 29. Specifically, “a.c”, “b.c”, and “c.c” are stored as the source file name 29a in the file name storage unit 29, and “d.s” is stored as the assembled file name 29b. , And “es” are stored, and “fo” and “go” are stored as the object file name 29c.

その後、図13(B)に例示するように、”a.c”、”b.c”、”c.c”、”d.s”、及び、”e.s”がビルドされ、最新のターゲットプログラムの生成元となる”a.c”、”b.c”、”c.c”、”d.s”、及び、”e.s”に”%”が設定される。   After that, as illustrated in FIG. 13B, “ac”, “bc”, “cc”, “ds”, and “es” are built, and the latest “%” Is set in “ac”, “bc”, “cc”, “ds”, and “es”, which are the generation sources of the target program.

次に、第2の実施の形態のプログラム開発管理装置の処理について説明する。図14は、第2の実施の形態のプログラム開発管理装置の処理の例を示すフローチャートである。
{ステップS21}ファイル管理部21は、各世代のプログラムファイルとしてのソースファイル21a、アセンブルファイル21b、及び、オブジェクトファイル21cの管理を開始する。
Next, processing of the program development management device according to the second embodiment will be described. FIG. 14 is a flowchart illustrating an example of processing of the program development management device according to the second embodiment.
{Step S21} The file management unit 21 starts managing the source file 21a, the assembly file 21b, and the object file 21c as program files for each generation.

{ステップS22}ファイル名記憶部29は、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名を記憶する。
{ステップS23}ビルド部23は、自動でビルド対象フラグを認識する。
{Step S22} The file name storage unit 29 stores the file name of the program file from which the latest target program is generated.
{Step S23} The build unit 23 automatically recognizes the build target flag.

{ステップS24}ビルド部23は、プログラミング言語で作成されたプログラムファイル、例えば、ソースファイル21a、及び、アセンブルファイル21bを1回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイル、例えば、オブジェクトファイル21cを生成する。   {Step S24} The build unit 23 advances the generation of the programming language step by step by converting the program file created in the programming language, for example, the source file 21a and the assembly file 21b at least once. Program file, for example, the object file 21c is generated.

{ステップS25}ファイル名記憶部29は、プログラムファイルに対する編集と変換とによって生成された、ソースファイル21a、アセンブルファイル21b、及び、オブジェクトファイル21cのファイル名を自動で記憶する。   {Step S25} The file name storage unit 29 automatically stores the file names of the source file 21a, the assemble file 21b, and the object file 21c generated by editing and converting the program file.

{ステップS26}チューニング部26は、各世代のプログラムファイルとしてのソースファイル21a、アセンブルファイル21b、及び、オブジェクトファイル21cに対する性能情報を取得する。   {Step S26} The tuning unit 26 acquires performance information for the source file 21a, the assemble file 21b, and the object file 21c as the program files for each generation.

{ステップS27}チューニング部26は、それぞれに対するチューニングデータを生成する。
{ステップS28}チューニング部26は、チューニングするか否かを判断する。チューニングする場合、処理はステップS29に進み、チューニングしない場合、処理は終了する。
{Step S27} The tuning unit 26 generates tuning data for each.
{Step S28} The tuning unit 26 determines whether or not to tune. When tuning, the process proceeds to step S29, and when not tuned, the process ends.

{ステップS29}チューニング部26は、ソースファイル21a、アセンブルファイル21b、及び、オブジェクトファイル21cをチューニングする。
{ステップS30}ビルド対象フラグ設定部28は、プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集されたプログラムファイルのファイル名に、ビルド対象フラグを設定する。
{Step S29} The tuning unit 26 tunes the source file 21a, the assemble file 21b, and the object file 21c.
{Step S30} When the program file is edited and applied as the latest program file, the build target flag setting unit 28 sets the build target flag in the file name of the edited program file.

ここで、ステップS27の処理とステップS29の処理とは、それぞれ第1の実施の形態におけるステップS15の処理とステップS17の処理と同様である。
なお、あるプログラムファイルに対して実行されたチューニング内容と同様のチューニング内容を、他の世代のプログラムファイルに対して実行できる。
Here, the process of step S27 and the process of step S29 are respectively the same as the process of step S15 and the process of step S17 in the first embodiment.
Note that the same tuning content as that executed for a certain program file can be executed for other generations of program files.

このようにすると、ビルド対象フラグによってチューニングすべきプログラムファイルが個別に管理されて特定されるので、ソースファイル21aから段階的に生成される各世代のプログラムファイルを意識せずにターゲットプログラムの最適化を実行できる。   In this way, the program file to be tuned is individually managed and specified by the build target flag, so that the target program can be optimized without being aware of each generation of the program file generated in stages from the source file 21a. Can be executed.

また、ビルド対象フラグが設定されたチューニングすべきプログラムファイル、及び、そのプログラムファイルから生成された複数の世代のプログラムファイルを自由にチューニングできるので、最も効果の高いプログラムファイルを選択でき、ターゲットプログラムに対する自由度の高いチューニングができる。   In addition, since it is possible to freely tune the program file to be tuned with the build target flag set and the multiple generation program files generated from the program file, the most effective program file can be selected, and the target program can be selected. Tuning with a high degree of freedom is possible.

なお、ソースファイル21aからアセンブルファイル21bを生成し、アセンブルファイル21bからオブジェクトファイル21cを生成しているが、ソースファイル21aから生成されないアセンブルファイル21bからオブジェクトファイル21cを生成してもよい。   The assemble file 21b is generated from the source file 21a and the object file 21c is generated from the assemble file 21b. However, the object file 21c may be generated from the assemble file 21b that is not generated from the source file 21a.

また、プログラム開発者にとって理解しやすいチューニング情報を使用しないでチューニングすることもできる。
また、第2の実施の形態のプログラム開発管理装置は、あるプログラムファイルに対して実行されたチューニング内容と同様のチューニング内容を、他の世代のプログラムファイルに対して実行できる。この場合のファイル名記憶部29の記憶内容について説明する。図15は、第2の実施の形態におけるファイル名記憶部の記憶内容の他の変化例を示す図である。
It is also possible to tune without using tuning information that is easy for program developers to understand.
In addition, the program development management apparatus according to the second embodiment can execute the same tuning content as the tuning content executed for a certain program file for a program file of another generation. The contents stored in the file name storage unit 29 in this case will be described. FIG. 15 is a diagram illustrating another example of changes stored in the file name storage unit according to the second embodiment.

まず、図15(A)に例示するように、ファイル名記憶部29に、図13(B)に例示された記憶内容と同様の記憶内容が記憶され、チューニングされた”%a.c”、及び、”%g.o”に”*”が設定されている。   First, as illustrated in FIG. 15A, the file name storage unit 29 stores the same storage content as that illustrated in FIG. 13B and is tuned to “% ac”, In addition, “*” is set in “% go”.

その後、図15(B)に例示するように、”%a.c*”、及び、”%g.o*”に対して実行されたチューニング内容と同様のチューニング内容が、他の世代のプログラムファイルに対して実行され、”%a.c*”に対して”a.s*”、及び、”a.o*”が生成され、”%g.o*”に対して”g.s*”が生成される。   After that, as illustrated in FIG. 15B, the same tuning contents as those executed for “% a.c *” and “% g.o *” are stored in programs of other generations. The file is executed, and “a.s *” and “a.o *” are generated for “% a.c *”, and “g.s” is generated for “% g.o *”. * ”Is generated.

ここで、あるプログラムファイルに対して実行されたチューニング内容と同様のチューニング内容を、他の世代のプログラムファイルに対して実行する場合において、コンパイル、アセンブル、逆コンパイル、及び、逆アセンブル等によって実行した場合、”*”が設定されないでファイル名記憶部29に記憶される。また、C言語中にアセンブル言語を部分的に挿入する等の細かくて冗長部分のないチューニングを実行して成功した場合、”*”が設定されてファイル名記憶部29に記憶される。また、細かくて冗長部分のないチューニングを実行して失敗した場合、非ビルド対象フラグ等が設定されてファイル名記憶部29に記憶され、または、ファイル名記憶部29に記憶されない。なお、”a.s*”、及び、”a.s”を両方記憶してもよいし、”a.s*”のみを記憶してもよい。   Here, the same tuning content as that executed for a certain program file is executed by compiling, assembling, decompiling, disassembling, etc., when executing for other generations of program files. In this case, “*” is not set and stored in the file name storage unit 29. Further, when a fine tuning without a redundant part such as partially inserting an assembly language into the C language is successful, “*” is set and stored in the file name storage unit 29. In addition, when a fine tuning with no redundant part is executed and fails, a non-build target flag or the like is set and stored in the file name storage unit 29 or not stored in the file name storage unit 29. Both “a.s *” and “a.s” may be stored, or only “a.s *” may be stored.

このようにすると、全ての”*”が設定されている世代のプログラムファイルは同様の論理なので、”*”が設定されている世代のプログラムファイルをチューニング対象にできる。   In this way, all generations of program files with “*” set have the same logic, and therefore, generations of program files with “*” set can be targeted for tuning.

なお、あるプログラムファイルに対して実行されたチューニング内容と同様のチューニング内容を、他の世代のプログラムファイルに対して実行する場合、手動で実行してもよいし、予め条件を設定して自動で実行してもよい。   In addition, when executing tuning contents similar to the tuning contents executed for a program file for other generations of program files, it may be executed manually or automatically by setting conditions in advance. May be executed.

また、上記の処理機能は、コンピュータによって実現することができる。その場合、プログラム開発管理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記の処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータ読み取り可能な記録媒体に記録できる。コンピュータ読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、及び、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD:Hard Disk Drive)、フレキシブルディスク(FD)、及び、磁気テープ等がある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、及び、CD−R(Recordable)/RW(ReWritable)等がある。光磁気記録媒体には、MO(Magneto-Optical disk)等がある。   Further, the above processing functions can be realized by a computer. In that case, a program describing the processing contents of the functions that the program development management apparatus should have is provided. By executing the program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium. Examples of the computer-readable recording medium include a magnetic recording device, an optical disc, a magneto-optical recording medium, and a semiconductor memory. Examples of the magnetic recording device include a hard disk drive (HDD), a flexible disk (FD), and a magnetic tape. Optical discs include DVD (Digital Versatile Disc), DVD-RAM (Random Access Memory), CD-ROM (Compact Disc Read Only Memory), CD-R (Recordable) / RW (ReWritable), and the like. Magneto-optical recording media include MO (Magneto-Optical disk).

プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送できる。   When distributing the program, for example, a portable recording medium such as a DVD or a CD-ROM in which the program is recorded is sold. Further, the program can be stored in a storage device of the server computer, and the program can be transferred from the server computer to another computer via the network.

プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行できる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行できる。   The computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can read the program directly from the portable recording medium and execute processing according to the program. Further, each time the program is transferred from the server computer, the computer can sequentially execute processing according to the received program.

次に、コンピュータとしてのプログラム開発管理装置のハードウェア構成について説明する。図16は、コンピュータのハードウェア構成の例を示す図である。
コンピュータ300は、CPU(Central Processing Unit)301によって装置全体が制御されている。CPU301には、バス307を介してRAM302、ハードディスクドライブ303、グラフィック処理装置304、入力インタフェース305、及び、通信インタフェース306が接続されている。
Next, the hardware configuration of the program development management apparatus as a computer will be described. FIG. 16 is a diagram illustrating an example of a hardware configuration of a computer.
The entire computer 300 is controlled by a CPU (Central Processing Unit) 301. A RAM 302, a hard disk drive 303, a graphic processing device 304, an input interface 305, and a communication interface 306 are connected to the CPU 301 via a bus 307.

RAM302には、CPU301に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM302には、CPU301による処理に必要な各種データが格納される。HDD303には、OSやアプリケーションプログラムが格納される。   The RAM 302 temporarily stores at least part of an OS (Operating System) program and application programs to be executed by the CPU 301. The RAM 302 stores various data necessary for processing by the CPU 301. The HDD 303 stores an OS and application programs.

グラフィック処理装置304には、モニタ310が接続される。また、グラフィック処理装置304は、CPU301からの命令に従って、画像をモニタ310の画面に表示させる。入力インタフェース305には、キーボード320とマウス330とが接続されている。また、入力インタフェース305は、キーボード320やマウス330から送られてくる信号を、バス307を介してCPU301に送信する。   A monitor 310 is connected to the graphic processing device 304. In addition, the graphic processing device 304 displays an image on the screen of the monitor 310 in accordance with a command from the CPU 301. A keyboard 320 and a mouse 330 are connected to the input interface 305. The input interface 305 transmits a signal sent from the keyboard 320 or the mouse 330 to the CPU 301 via the bus 307.

通信インタフェース306は、ネットワーク340に接続される。通信インタフェース306は、ネットワーク340を介して、他のコンピュータとの間でデータの送受信を実行する。   The communication interface 306 is connected to the network 340. The communication interface 306 transmits and receives data to and from other computers via the network 340.

以上のようなハードウェア構成によって、本発明の実施の形態の処理機能を実現することができる。
(付記1) プログラミング言語で作成されたプログラムファイルを1回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイルを生成する場合で、各世代のプログラムファイルを管理するプログラム開発管理装置において、
複数の世代のプログラムファイルのファイル名の中で、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名を記憶するファイル名記憶手段と、
前記各プログラムファイルを編集するプログラムファイル編集手段と、
前記プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集された前記プログラムファイルの祖先の世代のプログラムファイルのファイル名を、前記ファイル名記憶手段から削除するファイル名管理手段と、
を有することを特徴とするプログラム開発管理装置。
With the hardware configuration described above, the processing functions of the embodiment of the present invention can be realized.
(Supplementary note 1) When a program file created in a programming language is converted one or more times to generate a machine language program file by progressively generating a programming language generation, each generation of program files is managed. In the program development management device,
File name storage means for storing the file name of the program file that is the generation source of the latest target program among the file names of the multiple generation program files;
Program file editing means for editing each program file,
When the program file is edited and applied as the latest program file, the file name management means for deleting the file name of the ancestor generation of the edited program file from the file name storage means,
A program development management device comprising:

(付記2) 前記プログラムファイル編集手段は、前記最新のターゲットプログラムの生成元となるプログラムファイル、及び、前記プログラムファイルから生成された各世代のプログラムファイルを編集することを特徴とする付記1記載のプログラム開発管理装置。   (Additional remark 2) The said program file edit means edits the program file used as the production | generation source of the said latest target program, and the program file of each generation produced | generated from the said program file, The additional remark 1 characterized by the above-mentioned. Program development management device.

(付記3) コンピュータにより、プログラミング言語で作成されたプログラムファイルを1回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイルを生成する場合で、各世代のプログラムファイルを管理するプログラム開発管理方法において、
ファイル名記憶手段が、複数の世代のプログラムファイルのファイル名の中で、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名を記憶するステップと、
プログラムファイル編集手段が、前記各プログラムファイルを編集するステップと、
ファイル名管理手段が、前記プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集された前記プログラムファイルの祖先の世代のプログラムファイルのファイル名を、前記ファイル名記憶手段から削除するステップと、
を含むことを特徴とするプログラム開発管理方法。
(Supplementary note 3) When a program file created in a programming language is converted one or more times by a computer to generate a machine language program file by stepping up the generation of the programming language, the program file for each generation In the program development management method for managing
A step of storing a file name of a program file, which is a generation source of the latest target program, among file names of a plurality of generations of program files;
A program file editing means for editing each program file;
A step of deleting a file name of a program file of an ancestor generation of the edited program file from the file name storage means when the program file is edited and applied as the latest program file; When,
A program development management method comprising:

(付記4) プログラミング言語で作成されたプログラムファイルを1回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイルを生成する場合で、各世代のプログラムファイルを管理するプログラム開発管理プログラムにおいて、
コンピュータに、
ファイル名記憶手段が、複数の世代のプログラムファイルのファイル名の中で、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名を記憶するステップと、
プログラムファイル編集手段が、前記各プログラムファイルを編集するステップと、
ファイル名管理手段が、前記プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集された前記プログラムファイルの祖先の世代のプログラムファイルのファイル名を、前記ファイル名記憶手段から削除するステップと、
を含む処理を実行させることを特徴とするプログラム開発管理プログラム。
(Supplementary note 4) When a program file created in a programming language is converted one or more times, the generation of a machine language is generated by stepping up the generation of the programming language step by step, and the program file of each generation is managed In the program development management program,
On the computer,
A step of storing a file name of a program file, which is a generation source of the latest target program, among file names of a plurality of generations of program files;
A program file editing means for editing each program file;
A step of deleting a file name of a program file of an ancestor generation of the edited program file from the file name storage means when the program file is edited and applied as the latest program file; When,
A program development management program characterized by causing a process including

(付記5) プログラミング言語で作成されたプログラムファイルを1回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイルを生成する場合で、各世代のプログラムファイルを管理するプログラム開発管理プログラムを記録したコンピュータ読み取り可能な記録媒体において、
コンピュータに、
ファイル名記憶手段が、複数の世代のプログラムファイルのファイル名の中で、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名を記憶するステップと、
プログラムファイル編集手段が、前記各プログラムファイルを編集するステップと、
ファイル名管理手段が、前記プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集された前記プログラムファイルの祖先の世代のプログラムファイルのファイル名を、前記ファイル名記憶手段から削除するステップと、
を含む処理を実行させることを特徴とするプログラム開発管理プログラムを記録したコンピュータ読み取り可能な記録媒体。
(Supplementary note 5) When a program file created in a programming language is converted one or more times to generate a machine language program file by stepping up the generation of the programming language, the program file of each generation is managed. In a computer-readable recording medium recording a program development management program,
On the computer,
A step of storing a file name of a program file, which is a generation source of the latest target program, among file names of a plurality of generations of program files;
A program file editing means for editing each program file;
A step of deleting a file name of a program file of an ancestor generation of the edited program file from the file name storage means when the program file is edited and applied as the latest program file; When,
The computer-readable recording medium which recorded the program development management program characterized by performing the process containing these.

(付記6) プログラミング言語で作成されたプログラムファイルを1回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイルを生成する場合で、各世代のプログラムファイルを管理するプログラム開発管理装置において、
プログラムファイルに対する編集と変換とによって生成された、複数の世代のプログラムファイルのファイル名を記憶するファイル名記憶手段と、
前記各プログラムファイルを編集するプログラムファイル編集手段と、
前記プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集された前記プログラムファイルのファイル名に、フラグを設定するファイル名管理手段と、
を有することを特徴とするプログラム開発管理装置。
(Supplementary note 6) When a program file created in a programming language is converted one or more times, a generation of machine language program files is generated in stages, and program files for each generation are managed. In the program development management device,
File name storage means for storing file names of a plurality of generations of program files generated by editing and converting the program file;
Program file editing means for editing each program file,
When the program file is edited and applied as the latest program file, file name management means for setting a flag to the file name of the edited program file;
A program development management device comprising:

(付記7) 前記プログラムファイルに対して実行された編集内容と同様の編集内容を、他の世代のプログラムファイルに対して実行する編集反映手段をさらに有することを特徴とする付記6記載のプログラム開発管理装置。   (Additional remark 7) The program development of Additional remark 6 which further has an edit reflection means to perform the edit content similar to the edit content performed with respect to the said program file with respect to the program file of another generation Management device.

(付記8) 前記プログラムファイル編集手段は、前記フラグが設定されたプログラムファイル、及び、前記プログラムファイルから生成された各世代のプログラムファイルを編集することを特徴とする付記6記載のプログラム開発管理装置。   (Supplementary note 8) The program development management device according to supplementary note 6, wherein the program file editing means edits the program file in which the flag is set, and each generation program file generated from the program file. .

(付記9) コンピュータにより、プログラミング言語で作成されたプログラムファイルを1回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイルを生成する場合で、各世代のプログラムファイルを管理するプログラム開発管理方法において、
ファイル名記憶手段が、プログラムファイルに対する編集と変換とによって生成された、複数の世代のプログラムファイルのファイル名を記憶するステップと、
プログラムファイル編集手段が、前記各プログラムファイルを編集するステップと、
ファイル名管理手段が、前記プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集された前記プログラムファイルのファイル名に、フラグを設定するステップと、
を含むことを特徴とするプログラム開発管理方法。
(Supplementary note 9) When a program file created in a programming language is converted one or more times by a computer, the generation of a machine language is generated by stepping up the generation of the programming language step by step. In the program development management method for managing
A file name storage means for storing file names of a plurality of generations of program files generated by editing and converting the program file;
A program file editing means for editing each program file;
A file name management means, when the program file is edited and applied as the latest program file, setting a flag to the file name of the edited program file;
A program development management method comprising:

(付記10) プログラミング言語で作成されたプログラムファイルを1回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイルを生成する場合で、各世代のプログラムファイルを管理するプログラム開発管理プログラムにおいて、
コンピュータに、
ファイル名記憶手段が、プログラムファイルに対する編集と変換とによって生成された、複数の世代のプログラムファイルのファイル名を記憶するステップと、
プログラムファイル編集手段が、前記各プログラムファイルを編集するステップと、
ファイル名管理手段が、前記プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集された前記プログラムファイルのファイル名に、フラグを設定するステップと、
を含む処理を実行させることを特徴とするプログラム開発管理プログラム。
(Supplementary note 10) When a program file created in a programming language is converted one or more times to generate a machine language program file by progressively generating the programming language generation, the program file of each generation is managed. In the program development management program,
On the computer,
A file name storage means for storing file names of a plurality of generations of program files generated by editing and converting the program file;
A program file editing means for editing each program file;
A file name management means, when the program file is edited and applied as the latest program file, setting a flag to the file name of the edited program file;
A program development management program characterized by causing a process including

(付記11) プログラミング言語で作成されたプログラムファイルを1回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイルを生成する場合で、各世代のプログラムファイルを管理するプログラム開発管理プログラムを記録したコンピュータ読み取り可能な記録媒体において、
コンピュータに、
ファイル名記憶手段が、プログラムファイルに対する編集と変換とによって生成された、複数の世代のプログラムファイルのファイル名を記憶するステップと、
プログラムファイル編集手段が、前記各プログラムファイルを編集するステップと、
ファイル名管理手段が、前記プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集された前記プログラムファイルのファイル名に、フラグを設定するステップと、
を含む処理を実行させることを特徴とするプログラム開発管理プログラムを記録したコンピュータ読み取り可能な記録媒体。
(Supplementary note 11) When a program file created in a programming language is converted one or more times to generate a machine language program file by progressively generating a programming language generation, the program file for each generation is managed. In a computer-readable recording medium recording a program development management program,
On the computer,
A file name storage means for storing file names of a plurality of generations of program files generated by editing and converting the program file;
A program file editing means for editing each program file;
A file name management means, when the program file is edited and applied as the latest program file, setting a flag to the file name of the edited program file;
The computer-readable recording medium which recorded the program development management program characterized by performing the process containing these.

本発明の概念図である。It is a conceptual diagram of this invention. 第1の実施の形態のシステム構成図である。It is a system configuration figure of a 1st embodiment. 第1の実施の形態におけるファイル名記憶部の記憶内容の変化例を示す図である。It is a figure which shows the example of a change of the memory content of the file name memory | storage part in 1st Embodiment. 性能情報データベースの例を示す図である。It is a figure which shows the example of a performance information database. チューニング情報データベースの例を示す図である。It is a figure which shows the example of a tuning information database. データキャッシュのチューニングデータの例を示す図である。It is a figure which shows the example of the tuning data of a data cache. 分岐のチューニングデータの例を示す図である。It is a figure which shows the example of the tuning data of a branch. 第1の実施の形態のプログラム開発管理装置の処理の例を示すフローチャートである。It is a flowchart which shows the example of a process of the program development management apparatus of 1st Embodiment. チューニングデータの生成処理の例を示すフローチャートである。It is a flowchart which shows the example of the production | generation process of tuning data. チューニング処理の例を示すフローチャートである。It is a flowchart which shows the example of a tuning process. 記憶処理の例を示すフローチャートである。It is a flowchart which shows the example of a memory | storage process. 第2の実施の形態のシステム構成図である。It is a system configuration figure of a 2nd embodiment. 第2の実施の形態におけるファイル名記憶部の記憶内容の変化例を示す図である。It is a figure which shows the example of a change of the memory content of the file name memory | storage part in 2nd Embodiment. 第2の実施の形態のプログラム開発管理装置の処理の例を示すフローチャートである。It is a flowchart which shows the example of a process of the program development management apparatus of 2nd Embodiment. 第2の実施の形態におけるファイル名記憶部の記憶内容の他の変化例を示す図である。It is a figure which shows the other example of a change of the memory content of the file name memory | storage part in 2nd Embodiment. コンピュータのハードウェア構成の例を示す図である。It is a figure which shows the example of the hardware constitutions of a computer.

符号の説明Explanation of symbols

1 ファイル名記憶手段
1a ソースファイル名
1b アセンブルファイル名
1c オブジェクトファイル名
1aa ソースファイル
1ba アセンブルファイル
1ca オブジェクトファイル
2 プログラムファイル編集手段
3 ファイル名管理手段
DESCRIPTION OF SYMBOLS 1 File name memory | storage means 1a Source file name 1b Assemble file name 1c Object file name 1aa Source file 1ba Assemble file 1ca Object file 2 Program file edit means 3 File name management means

Claims (4)

プログラミング言語で作成されたプログラムファイルを1回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイルを生成する場合で、各世代のプログラムファイルを管理するプログラム開発管理装置において、
複数の世代のプログラムファイルのファイル名の中で、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名を記憶するファイル名記憶手段と、
前記各プログラムファイルを編集するプログラムファイル編集手段と、
前記プログラムファイルが編集された場合、編集された前記プログラムファイルの祖先の世代のプログラムファイルのファイル名を、前記ファイル名記憶手段から削除するファイル名管理手段と、
を有することを特徴とするプログラム開発管理装置。
A program development management device that manages program files for each generation when a program file created in a programming language is converted one or more times to generate a program file in machine language by stepping through the generations of the programming language. In
File name storage means for storing the file name of the program file that is the generation source of the latest target program among the file names of the multiple generation program files;
Program file editing means for editing each program file,
If the program file has been edited, and the file name management means that the file name of the program file of generations of ancestors of the edited the program file is deleted from the file name storage means,
A program development management device comprising:
前記プログラムファイル編集手段は、前記最新のターゲットプログラムの生成元となるプログラムファイル、及び、前記最新のターゲットプログラムの生成元となるプログラムファイルから生成された各世代のプログラムファイルを編集することを特徴とする請求項1記載のプログラム開発管理装置。 The program file editing means edits a program file that is a generation source of the latest target program, and a program file of each generation generated from the program file that is a generation source of the latest target program. The program development management apparatus according to claim 1. プログラミング言語で作成されたプログラムファイルを1回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイルを生成する場合で、各世代のプログラムファイルを管理するプログラム開発管理装置において、
プログラムファイルに対する編集と変換とによって生成された、複数の世代のプログラムファイルのファイル名を記憶するファイル名記憶手段と、
前記各プログラムファイルを編集するプログラムファイル編集手段と、
前記プログラムファイルが編集された場合、編集された前記プログラムファイルのファイル名に、フラグを設定するファイル名管理手段と、
を有し、
前記プログラムファイル編集手段は、前記フラグが設定されたプログラムファイル、及び、前記フラグが設定されたプログラムファイルから生成された各世代のプログラムファイルを編集する、
ことを特徴とするプログラム開発管理装置。
A program development management device that manages program files for each generation when a program file created in a programming language is converted one or more times to generate a program file in machine language by stepping through the generations of the programming language. In
File name storage means for storing file names of a plurality of generations of program files generated by editing and converting the program file;
Program file editing means for editing each program file,
If the program file has been edited, the file name of the edited the program file, and the file name managing means for setting the flag,
Have
The program file editing means edits a program file in which the flag is set and a program file for each generation generated from the program file in which the flag is set.
A program development management device characterized by that.
前記プログラムファイルに対して実行された編集内容と同様の編集内容を、他の世代のプログラムファイルに対して実行する編集反映手段をさらに有することを特徴とする請求項3記載のプログラム開発管理装置。   4. The program development management apparatus according to claim 3, further comprising edit reflection means for executing edit contents similar to the edit contents executed for the program file for program files of other generations.
JP2005097081A 2005-03-30 2005-03-30 Program development management device Expired - Fee Related JP4805594B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005097081A JP4805594B2 (en) 2005-03-30 2005-03-30 Program development management device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005097081A JP4805594B2 (en) 2005-03-30 2005-03-30 Program development management device

Publications (2)

Publication Number Publication Date
JP2006277457A JP2006277457A (en) 2006-10-12
JP4805594B2 true JP4805594B2 (en) 2011-11-02

Family

ID=37212138

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005097081A Expired - Fee Related JP4805594B2 (en) 2005-03-30 2005-03-30 Program development management device

Country Status (1)

Country Link
JP (1) JP4805594B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04335428A (en) * 1991-05-13 1992-11-24 Mitsubishi Electric Corp How to version files
JPH05298077A (en) * 1992-04-17 1993-11-12 Hitachi Ltd Customizing development procedure support method
JPH09128228A (en) * 1995-10-26 1997-05-16 Toshiba Corp Computer equipment
JP2001092674A (en) * 1999-09-17 2001-04-06 Nec Ic Microcomput Syst Ltd Program creation device and program creation method

Also Published As

Publication number Publication date
JP2006277457A (en) 2006-10-12

Similar Documents

Publication Publication Date Title
US7086046B2 (en) Method and apparatus for displaying compiler-optimizated code
US8046738B2 (en) Efficiently developing encoded instructions by tracking multiple unverified instances of repetitive code segments
US9524279B2 (en) Help document animated visualization
CN113360156B (en) An IOS compilation method and related equipment
JP6940751B2 (en) Information processing equipment, information processing methods and information processing programs
JP2018092383A (en) Compiling program, compiling method, and information processing apparatus
JP2020119348A (en) Analysis program, analysis method, and analysis device
JPWO2010044150A1 (en) Program change management apparatus, program change management program, and program change management method
US20080270984A1 (en) Script program execution device, script program execution method, and optical disk device
US7712088B2 (en) Method and system for a batch parser
JP2009059351A (en) System, method, and computer program product for recording operations performed on computer source code
WO2007116490A1 (en) Source code generation program, source code generation method, and source code generation device
CN111984300B (en) Code copying method and device, electronic equipment and computer readable storage medium
JP4805594B2 (en) Program development management device
JP5962350B2 (en) Program, information processing apparatus and test method
GB2420638A (en) Method of substituting code fragments in Internal Representation
JP2019179383A (en) API processing method, terminal, API processing program
JP7524690B2 (en) JUDGMENT PROGRAM, JUDGMENT METHOD, AND INFORMATION PROCESSING APPARATUS
KR100846203B1 (en) Recording medium recording method of generating mobile application and program for implementing same
JP5181788B2 (en) Source program language conversion apparatus, method and program
KR102760575B1 (en) System and method for processing messages operable on a multiple operating system
JP7332951B2 (en) Processing server, processing method and processing program
JP2011180814A (en) Compiler apparatus, compiling method and program
US20020010914A1 (en) Componentware creating method and recording medium
JP2018032119A (en) Information processing apparatus, method for controlling information processing apparatus, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080212

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080729

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110531

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110725

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110809

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110811

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees