WO2004051470A1 - プログラム自動変換方法およびプログラム自動変換装置 - Google Patents

プログラム自動変換方法およびプログラム自動変換装置 Download PDF

Info

Publication number
WO2004051470A1
WO2004051470A1 PCT/JP2003/015305 JP0315305W WO2004051470A1 WO 2004051470 A1 WO2004051470 A1 WO 2004051470A1 JP 0315305 W JP0315305 W JP 0315305W WO 2004051470 A1 WO2004051470 A1 WO 2004051470A1
Authority
WO
WIPO (PCT)
Prior art keywords
instruction pattern
program
source program
pattern information
analysis
Prior art date
Application number
PCT/JP2003/015305
Other languages
English (en)
French (fr)
Inventor
Hironaka Nagashima
Shigeru Asao
Masanobu Tsurumaki
Original Assignee
System's Co.,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 System's Co.,Ltd. filed Critical System's Co.,Ltd.
Priority to AU2003284504A priority Critical patent/AU2003284504A1/en
Priority to US10/518,090 priority patent/US7831964B2/en
Publication of WO2004051470A1 publication Critical patent/WO2004051470A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code

Definitions

  • the present invention relates to a program automatic conversion device for analyzing a program and automatically converting a part or all of the program, a program therefor, and the like. .
  • Such technology is a technology that automatically detects differences in descriptions that occur due to compiler differences, and improves or improves development work by automatically correcting or restoring.
  • This technology parses a source program written in C language, creates a database for each token and an intermediate file, and targets it on the database. It deletes and modifies character strings, generates information about the database and intermediate files in a c language file, and generates a target program.
  • the object code that can be executed based on a given computer resource is divided into an instruction code area D2 and a data code area by a segment divider. Divided into D3.
  • the instruction code area D 2 includes an instruction code converter.
  • the instruction set and the ⁇ S primitive are analyzed and converted into an instruction statement in a high-level program language.
  • the data code area D3 the data type corresponding to the type of the instruction code referred to is determined, and the data syntax is converted by a data syntax converter into a data code in a high-level program language. It is converted to a definition statement.
  • the reference area converter adds a reference name for the statement to the database definition statement, converts the statement to a format in which the statement uses the reference name, and converts the high-level language program. It is generated.
  • the second conventional technique is based on the premise that all program objects on a specific computer are automatically converted. , it is conceivable that .
  • the conventional technology in order to migrate the operating environment of one program, one program can operate efficiently even in the environment after the migration. This is not taken into account. Therefore, in the prior art, it is not possible to automatically convert which instruction pattern of the source program to be converted is to be automatically converted and which instruction pattern is to be manually performed.
  • the prior art when developing an automatic conversion program that automatically or semi-automatically converts a program, it corresponds to the instruction pattern in each case. It was not possible to determine whether an automatic conversion program to be developed should be developed, and the source program could not be converted efficiently.
  • the program to be converted is The prerequisite is to develop a program that automatically converts instruction patterns that appear only once. Disclosure of the invention
  • the automatic program conversion method includes a first instruction pattern information which is information indicating an instruction pattern of an old source program and a new source program.
  • One or more pairs of the second instruction pattern information which is information indicating the instruction pattern of the first source program, are stored in the storage unit.
  • the description location of the old source program corresponding to the first instruction pattern information is An instruction pattern conversion step for converting using the conversion means so as to correspond to the second instruction pattern information paired with the first instruction pattern information; and the instruction pattern.
  • a new program output step for outputting a new source program, which is a result of converting the old source program in the conversion step, using an output means.
  • the old source program corresponding to the first instruction pattern information analyzed when the number of appearances of the first instruction pattern information in the analysis step is less than the predetermined number. For the description of the old source program, the description of the old source program by the user manually was added to the new source.
  • a program for changing to a program including a step for receiving input using input means, and a program for operating a program that has been operating in one environment in another environment
  • This is an automatic conversion method, and the program can be ported efficiently and with few defects by such an automatic conversion method.
  • the second invention is different from the first invention in that the new program output step includes the instruction pattern conversion step in the new source program.
  • This is an automatic program conversion method that visually distinguishes and converts the parts that have been converted by the map and the parts that have not been converted. This enables efficient checking when the rammer visually checks the converted program.
  • the above-mentioned program conversion method may be implemented by a program or by an 81-way door such as a dedicated circuit. It is realized as a program or a program automatic conversion device.
  • the above program conversion method can be said to be a program production method for producing a program to be transplanted.
  • FIG. 1 is a block diagram of the program analysis device according to the first embodiment of the present invention.
  • FIG. 2 is a flowchart illustrating the operation of the program analysis device according to the first embodiment of the present invention.
  • FIG. 3 shows the instruction pattern information management in the first embodiment. It is a figure which shows a table.
  • FIG. 4 is a diagram showing an instruction pattern occurrence count management table according to the first embodiment.
  • FIG. 5 is a diagram showing an example of a program according to the first embodiment.
  • FIG. 6 is a diagram showing an instruction pattern appearance count management table according to the first embodiment.
  • FIG. 7 is a diagram showing an instruction pattern occurrence count management table according to the first embodiment.
  • FIG. 8 is a diagram illustrating an example of an analysis result according to the first embodiment.
  • FIG. 9 is a diagram showing a display example of the analysis result in the first embodiment.
  • FIG. 10 is a block diagram of a program automatic conversion device according to the second embodiment.
  • FIG. 11 is a flowchart explaining the operation of the program automatic conversion apparatus according to the second embodiment.
  • FIG. 12 is a diagram illustrating an instruction pattern information management table according to the second embodiment.
  • FIG. 13 is a diagram showing an example of a new program after conversion according to the second embodiment.
  • FIG. 14 is a diagram illustrating an example of a new program according to the second embodiment.
  • BEST MODE FOR CARRYING OUT THE INVENTION embodiments of a program analysis device and a program automatic conversion device according to the present invention will be described with reference to the drawings. In the embodiments, the same reference numerals are used. The components marked with perform the same operation, and may not be described again.
  • FIG. 1 shows a block diagram of the program analyzer.
  • the program analysis device has an instruction pattern information storage unit 101, a program storage unit 102, an analysis unit 103, and an analysis result output unit 104.
  • the program analysis device is, for example, a personal computer with a MPU memory memory disk.
  • the instruction pattern information storage unit 101 stores one or more pieces of instruction pattern information, which is information indicating an instruction pattern of a program.
  • the instruction pattern information storage unit 101 can be realized by a non-volatile recording medium or a volatile recording medium.
  • the program storage unit 102 stores a program.
  • the program storage unit 102 can be realized by a non-volatile recording medium or a volatile recording medium.
  • a program is usually a source program, and its language does not matter.
  • the programs include HTML and XML, which are so-called scripts. Also, the program does not matter whether it is a procedural program, a declarative program, etc. Data group (header file, etc.).
  • the analysis unit 103 is stored in the program storage unit 102. Analyze how many times one or more instruction pattern information appears in a given program.
  • the analysis unit 103 can be generally realized by an MPU, a memory, or the like.
  • the processing procedure for the analysis unit 103 to perform the analysis is usually realized by software, and the software is recorded on a recording medium such as an R ⁇ M. Yes. However, it may be realized by hardware (dedicated circuit).
  • the analysis result output unit 104 outputs the analysis result in the analysis unit 103.
  • Output usually refers to display on the display, but also includes printing on the screen and transmission to other devices.
  • output is a concept that includes storage on a recording medium such as a hard disk.
  • the analysis result output unit 104 may be considered to include or not include the output display.
  • the analysis result output unit 104 can be realized by, for example, driver software of an output device.
  • the analysis unit 103 reads the program in the program storage unit 102.
  • This program is the program to be analyzed.
  • the analysis unit 103 reads the program specified by the user.
  • Step S202 The analysis unit 103 reads one or more instruction pattern information stored in the instruction pattern information storage unit 101. ⁇
  • Step S203 The analysis unit 103 executes the instruction Set the number of occurrences of the instruction pattern, which is the number of times the report appears, to zero. Note that the number of occurrences of the instruction pattern corresponding to all the instruction pattern information is stored, for example, in a memory held by the analysis unit 103.
  • Step S204 The analysis unit 103 substitutes 1 for the count i.
  • This counter is the program counter of the program read in step S201. That is, the analysis unit 103 analyzes the i-th line of the program read in step S201 by the following processing. In this case, it is assumed that the program is a program with one instruction pattern per line.
  • Step S205 The analysis unit 103 detects that the i-th program source line exists in the program read in step S201. Determine whether to do so. If the i-th program source line exists, go to step S206, and if the i-th program source line does not exist, go to step S206. Jump to S2 1 3
  • Step S206 The analysis unit 103 substitutes 1 for the count j.
  • the counter j is a counter for acquiring the instruction pattern information to be used for analysis among the one or more instruction pattern information read in step S202. It is.
  • Step S207 The analysis unit 103 sets the i-th program source line to the instruction pattern corresponding to the j-th instruction pattern information. Judge whether the line is a line of the open. Step S if the i-th program source line is the j-th instruction pattern Go to 208, and if it is not the j-th instruction pattern, jump to step S210. Judgment as to whether the i-th program source line corresponds to the j-th instruction pattern information can be made by syntax analysis, lexical analysis, etc., using existing technology. Since there is, detailed description is omitted here.
  • Step S208 The analysis unit 103 increments the number of occurrences of the instruction pattern corresponding to the j-th instruction pattern information by one.
  • Step S209 The analysis unit 103 increments i. Return to step S205.
  • Step S210 The analysis unit 103 increments j.
  • Step S211 The analysis unit 103 determines whether or not: the i-th instruction pattern exists in the instruction pattern information storage unit 101. If the j-th instruction pattern exists, the process returns to step S207, and if the j-th instruction pattern does not exist, the process proceeds to step S212. .
  • Step S2 12 The analysis unit 103 outputs an error indicating that the instruction pattern does not correspond to any instruction pattern. However, this error output processing may be omitted.
  • the analysis result output unit 104 outputs the analysis result.
  • the analysis result is the number of occurrences of the instruction pattern in each instruction pattern information.
  • Figure 3 shows the instruction pattern information.
  • This is an instruction pattern information management table held by the storage unit 101.
  • the instruction pattern information management table stores a plurality of records having “ID” and “instruction pattern information”.
  • ID is information for identifying a record, and is information used for table management.
  • Instruction pattern information is an attribute that stores the instruction pattern information.
  • FIG. 4 is an instruction pattern appearance count management table held by the analysis unit 103.
  • the instruction pattern appearance count management table has one or more records having “ID” and “appearance count”. “ID” corresponds to “ID” in the instruction pattern information management table of FIG. “Occurrence count” indicates the number of appearances of the instruction pattern. The initial value of “number of appearances” is all “0”.
  • FIG. 5 shows an example of a program stored in the program storage unit 102.
  • the program analyzer starts the analysis of the program shown in FIG. 5 according to a user's instruction.
  • the lines starting with "*" are comment lines. Note that the program analyzer does not perform analysis after judging that it is a comment line.
  • the analysis unit 103 first reads the first line of the program in FIG.
  • the first line is a comment line, so move to the next line (progress program countdown).
  • the analysis unit 103 does not perform the analysis because the second line and the eighth line are comment lines.
  • the analysis unit 103 reads “IDENTIFICATIONDIVISION.J” on the ninth line of the program.
  • Variable 0 1 “Variable 0 2” and the like mean variables.
  • a variable consists of an alphanumeric string.
  • PSD 712 is a variable.
  • Increment the value of "Number of occurrences" of "2" by one.
  • the analysis result output unit 104 outputs an analysis result as shown in FIG.
  • the analysis result has “ID”, “number of times”, and “instruction pattern”. “Count” is the number of appearances.
  • the analysis result of FIG. 8 is composed of an instruction pattern information management table of FIG. 3 and an instruction pattern occurrence count management table of FIG. Specifically, the analysis result of Fig. 8 is based on the key "IDJ" of the instruction pattern information management table of Fig. 3 and the key "ID" of the instruction pattern occurrence count management table of Fig. 7. Then, it is the result of the combined operation and output.
  • an instruction pattern in which a certain number of times or more appear may be visually distinguished from other instruction patterns and displayed.
  • an analysis result as shown in FIG. 9 is displayed.
  • an instruction pattern that appears three or more times is displayed so as to be visually distinguished from other instruction patterns.
  • the manner in which an instruction pattern in which a certain number of times or more appear is visually distinguished from other instruction patterns and displayed is not limited to the aspect in FIG. 9 and may be anything.
  • a program that implements the operations described in the present embodiment includes, in a computer, instruction pattern information that is information indicating an instruction pattern of the program. 1 or more is stored, and the program is used to analyze how many times the 1 or more instruction pattern information appears. And a program for executing an analysis result output step for outputting an analysis result in the analysis step.
  • the analysis of the program is performed by one program analysis device, but the processing may be shared by a plurality of devices. That is, one or more instruction pattern information, which is information indicating an instruction pattern of a program, is stored, and in the program, one or more instruction pattern information is stored several times.
  • One or more of the program analysis methods include an analysis step for analyzing whether or not they appear, and an analysis result output step for outputting an analysis result in the analysis step. If the program can be analyzed using the device, the above-described effects can be obtained.
  • FIG. 10 shows a block diagram of a program automatic conversion device.
  • the program automatic conversion device includes an instruction pattern correspondence information storage unit 1001, a program storage unit 102, an analysis unit 103, a condition storage unit 1002, and an instruction pattern storage unit.
  • a turn conversion unit 1003 and a new program output unit 1004 are provided.
  • the program automatic conversion device is, for example, a personal computer having an MPU, a memory, a hard disk, and the like.
  • the instruction pattern correspondence information storage unit 1001 stores the first instruction pattern information, which is information indicating the instruction pattern of the old program (the program to be converted). One or more pairs of the second instruction pattern information, which is the information indicating the instruction pattern of the new program (converted program) and the new program, are stored.
  • the instruction pattern corresponding information storage unit 1001 is a non-volatile storage medium or a volatile storage. It is also feasible with recording media.
  • the condition storage unit 1002 automatically converts a part of the old program corresponding to the first instruction pattern information so as to correspond to the second instruction pattern information. Stores conditions.
  • the condition storage unit 1002 can be realized by a non-volatile recording medium or a volatile recording medium.
  • the conditions are embedded in a program that implements the processing performed by the instruction pattern conversion unit 1003 (defined in a header file, etc.). In some cases).
  • the condition is a condition based on the analysis result of the analysis unit 103.
  • the instruction pattern conversion unit 1003 provides a condition storage unit 1002 for the program (old program) stored in the program storage unit 102. A part of the old program corresponding to the first instruction pattern information matching the condition stored in the first instruction pattern information is converted to the first instruction pattern information paired with the first instruction pattern information. Performs conversion to correspond to two-instruction pattern information.
  • the instruction pattern conversion unit 1003 can usually be realized from an MPU, a memory, or the like.
  • the processing procedure for the instruction pattern conversion unit 1003 to convert the information is usually realized by software, and the software is used to record information such as ROM. It is recorded on the medium. However, it may be implemented with a hardware or hardware (dedicated circuit).
  • the new program output section 1004 outputs a new program that is the result of the program conversion by the instruction pattern conversion section 1003. .
  • Output usually refers to display on the display, but printing on the screen, transmission to other devices, and recording media (C) Storage on hard disks, digital multi-purpose disks, etc.).
  • the new program output unit 104 may be considered to include or not include the output display and the recording medium.
  • the new program output unit 104 can be realized by, for example, a driver of an output device.
  • Step S111 Execute the program analysis routine.
  • This program analysis routine is a program analysis process described using the flowchart in FIG. 2, and is a program to be converted. Outputs the number of occurrences of each instruction pattern in the old program.
  • Step S111 The instruction pattern conversion unit 1003 reads the program in the program storage unit 102. If there are two or more programs in the program storage unit 102, for example, the instruction pattern conversion unit 1003 sends the program specified by the user. Load the program.
  • the instruction pattern conversion unit 1003 stores one or more first instructions stored in the instruction pattern correspondence information storage unit 1001. Read the pattern information.
  • Step S111 The instruction pattern conversion unit 1003 substitutes the counter i 1.
  • This counter is the program counter of the program read in step S1102. That is, the instruction pattern conversion unit 1003 replaces the i-th row of the program read in step S1102 with the following. Converted by processing.
  • the program is a program of one instruction per line.
  • Step S1105 The instruction pattern conversion unit 1003 executes the program on the i-th line in the program read in step S1102. To determine if a source exists. If the program source on the i-th line exists, the process goes to step S1106, and if the program source on the i-th line does not exist, step S1. Fly to 1 1 6
  • Step S1106 The instruction pattern conversion unit 1003 substitutes 1 for the counter j.
  • the counter j is set in step S 1
  • One or more first instruction patterns read in 03,-This is a power source for acquiring the first instruction pattern information used for the conversion of-information.
  • Step S1107 The instruction pattern conversion unit 1003 determines that the program source on the i-th line is based on the j-th first instruction pattern information. Judge whether to respond. If it corresponds to the j-th first instruction pattern information, go to step S1108, and if it does not correspond to the j-th first instruction pattern information, go to step S1108. Step S 1 1
  • Whether the program source on the i-th line corresponds to the j-th instruction pattern information is determined by the syntax of the program source on the i-th line. It is possible by analysis and lexical analysis.
  • Step S111 The instruction pattern conversion unit 1003 determines whether the j-th first instruction pattern information matches the condition of the condition storage unit 1002. The determination is made based on the analysis result of the program analysis routine in step S111. j-th If the one-instruction pattern information matches the condition, go to step S1109, and if the j-th first-instruction pattern information does not match the condition, step S111 Fly to 1 1 1 5
  • Step S1109) The instruction pattern conversion unit 1003 converts the second instruction pattern information paired with the j-th first instruction pattern information into Obtained from the instruction pattern correspondence information storage unit 1001.
  • Step S111 The instruction pattern conversion unit 1003 acquired the program source of the i-th row in step S1109. Convert to the instruction pattern indicated by the second instruction pattern information (Step S 1 1 1 1) The instruction pattern conversion unit 1003 converts the instruction pattern to Step S 1 1 1 0 Add the source of the i-th line converted by the above to the new program.
  • the new program is stored in a file, for example, and file generation and file opening are performed at the initialization stage (not shown). To be.
  • Step S1 1 1 2 Increment the counter i. Return to step S111.
  • Step S1 1 1 Increment the counter j.
  • Step SI114 The instruction pattern conversion unit 1003 determines whether or not the j-th first instruction pattern information exists. If the j-th first instruction pattern information exists, the process returns to step S1107, and if the j-th first instruction pattern information does not exist, the step returns. Go to step S 1 1 15.
  • Step SI 1 15 The instruction pattern converter 1 0 3 Add the source in the i-th line to the new program.
  • the source of the i-th line here is, for example, a comment line.
  • the new program output section 1004 outputs the converted program (new program).
  • the output here includes processing that is only stored on a recording medium (such as a hard disk).
  • the first instruction pattern information did not match the conditions of the condition storage section 1002, and the first instruction pattern was not automatically converted to the second instruction pattern.
  • the programmer manually changes the second instruction pattern using an input means such as a keyboard. That is, although not shown, the program automatic conversion device is provided with input means such as a keyboard and a mouse.
  • FIG. 12 is an instruction pattern information management table held by the instruction pattern correspondence information storage unit 1001.
  • the instruction pattern information management table stores a plurality of records having “ID”, “first instruction pattern information”, and “second instruction pattern information”. “ID” is information for identifying a record.
  • the instruction pattern information management table stores the source line of the first instruction pattern information that appears in the program to be converted into the second instruction pattern information that forms a pair. This is a correspondence table used when conversion is performed to correspond. Specifically, if the "first instruction pattern information" is "SOURCE-COMPUTER. XXXXX. J", the "second instruction pattern information""## SOURCE-COMPUTER.
  • FIG. 5 shows an example of an old program stored in the program storage unit 102.
  • FIG. 8 is an instruction pattern appearance count management table showing the result of analysis by the analysis unit 103. Further, the condition storage unit 1002 converts a program line of the first instruction pattern information having two or more occurrences into second instruction pattern information. It is assumed that the conditions are maintained.
  • Figure 13 shows an example of the new program.
  • the newly generated lines in the new program are underlined.
  • converted rows and unconverted rows are visually distinguished from each other.
  • one row of the old program corresponds to n rows of the new program (where n is a natural number). Only the case where the new program is used for the old program m rows (m is a natural number of 2 or more) N rows (where n is a natural number) may correspond.
  • the program can be automatically or semi-automatically converted. Specifically, instruction patterns with less than a certain number of occurrences that have not been developed until a program for converting the source program has been developed are manually modified. Then, a program was developed to convert the source program only for instruction patterns with a certain number of occurrences (for example, two or more occurrences). In this case, the program can be converted efficiently by automatically converting the program using the conversion program. With such a program automatic converter, for example, it is very efficient to operate a program that has been operating in one environment in a new environment. It can be done properly and safely.
  • the automatic program conversion is performed.
  • the device is provided with input means for manual correction.
  • the input means is, for example, a keypad mouse.
  • the part converted manually and the part automatically converted A new program may be stored or displayed in a manner that visually distinguishes the converted part from the non-converted part.
  • "@" and “@” are comments indicating manual work.
  • “@ DEL @” is manual Indicates that the line was deleted, and "@ ADD @” indicates that the line was manually added.
  • the condition for determining whether to perform automatic conversion or manual conversion is determined by the appearance of the first instruction pattern information in the program.
  • the condition was that the number of times was set as a parameter (in the above example, the condition that automatic conversion was performed when the number of occurrences was 2 or more), but it was determined based on other conditions. May be good.
  • a configuration may be employed in which a first command pattern to be automatically converted is specified by a user input.
  • the program that implements the operation described in the present embodiment is a program in which the first instruction, which is information indicating the instruction pattern of the old source program, is stored in the computer. One or more pairs of the pattern information and the second instruction pattern information, which is information indicating the instruction pattern of the new source program, are stored in the old source program.
  • the number of appearances of the first instruction pattern information is equal to or more than a predetermined number (the predetermined number is 2 or more).
  • Instruction pattern conversion step that converts the description of the corresponding old source program to correspond to the second instruction pattern information that is paired with the first instruction pattern information
  • a new program output step for outputting a new program as a result of converting the old source program in the instruction pattern conversion step; and the analysis step.
  • the description location of the old source program corresponding to the first instruction pattern information analyzed
  • a program for executing a step for accepting input for changing the description of the old source program to the new source program manually by the user is executed. It is a gram.
  • the program is converted by one program automatic conversion device, but the processing may be shared by a plurality of devices. That is, the following program automatic conversion method may be realized by a plurality of devices.
  • First instruction pattern information which is information indicating the instruction pattern of the old source program
  • second instruction pattern which is information indicating the instruction pattern of the new source program
  • One or more pairs of information are stored in the storage unit, and in the old source program, the number of occurrences of the one or more first instruction pattern information is analyzed using an analysis means.
  • the old source program corresponding to the first instruction pattern information analyzed.
  • An instruction pattern conversion step for converting the description portion using a conversion means so as to correspond to the second instruction pattern information paired with the first instruction pattern information; and
  • a new program output step for outputting, using output means, a new source program which is a result of converting the old source program in the pattern conversion step.
  • the old source program corresponding to the first instruction pattern information analyzed that the number of appearances of the first instruction pattern information in the analysis step is less than the predetermined number.
  • a step of accepting input using input means for changing the description of the old source program to the new source program manually by the user for the description of Provide operate in certain environment
  • the which was pro-gram Ri by the pro-gram automatic conversion method for operating in other environments, efficient, and, failure rather small pro-gram is Ru can be ported.
  • the above-described program automatic conversion apparatus implements a method of producing a program that operates in a new environment (that is, an environment of a transplant destination). It is a device. That is, the program automatic conversion device realizes the following program production method.
  • the first instruction pattern information is information indicating the instruction pattern of the old source program
  • the second instruction information is information indicating the instruction pattern of the new source program.
  • One or more pairs of pattern information are stored in the storage unit, and the number of occurrences of the one or more first instruction pattern information in the old source program is analyzed.
  • the analysis step of performing analysis using the means and the analysis result of the analysis step are described below.
  • An analysis result output step for outputting using the output means, and a predetermined number of occurrences of the first instruction pattern information in the analysis step (the predetermined number is 2 or more) As described above, the description part of the old source program corresponding to the analyzed first instruction pattern information is replaced with the second instruction pattern paired with the first instruction pattern information.
  • Pattern conversion step for converting using the conversion means so as to correspond to the pattern information, and the old source program in the instruction pattern conversion step.
  • a new program output step for outputting the converted new source program using output means, and a first instruction pattern in the analysis step.
  • a program for producing a program for operating in one environment from a program operating in one environment comprising a step for receiving input using an input means.
  • the new program output step in the above-mentioned program production method is converted by the above-mentioned instruction pattern conversion step in the new source program.
  • a method of producing a program that visually distinguishes between a converted part and a part that has not been converted may be used.
  • the program production apparatus for realizing the above-described program production method is provided in a new environment (that is, the environment of the transplant destination) as described below. ) Works with Pro Dara It is said to be a device that produces
  • the production equipment includes the first instruction pattern information, which is information indicating the instruction pattern of the old source program, and the instruction pattern of the new source program.
  • One or more pairs of the second instruction pattern information that is information indicating the instruction pattern, the instruction pattern correspondence information storage section that stores the pair, and one or more second instruction pattern information pairs in the old source program.
  • An analysis unit that analyzes how many times one instruction pattern information appears; an analysis result output unit that outputs the analysis result in the analysis unit; and an analysis unit that outputs the first instruction pattern information.
  • the description part of the old source program corresponding to the first instruction pattern information analyzed.
  • an input receiving unit for receiving an input for changing the description place of the old source program to a new source program by a user's manual operation.
  • the above-mentioned new program output unit sees, in the new source program, the parts that were converted by the instruction pattern conversion unit and those that were not converted. You may output them visually.
  • the program conversion method and apparatus can analyze the instruction pattern included in the program to be converted, and as a result, can efficiently program It is useful as a method and a device for transplanting a drug.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本発明は、旧ソースプログラムにおいて、第一命令パターン情報が何回出現するかを解析する解析ステップと、解析結果を出力する解析結果出力ステップと、第一命令パターン情報の出現回数が所定回数以上であると解析された第一命令パターン情報に対応する旧ソースプログラムの記述箇所を、第二命令パターン情報に対応するように変換する命令パターン変換ステップと、命令パターン変換ステップにおいて前記旧ソースプログラムを変換した結果である新ソースプログラムを出力する新プログラム出力ステップと、第一命令パターン情報の出現回数が所定回数未満であると解析された第一命令パターン情報に対応する旧ソースプログラムの記述箇所に対して、ユーザの手作業による旧ソースプログラムの記述箇所を新ソースプログラムに変更する入力を受け付けるステップを具備するプログラム自動変換方法であり、効率的に、かつ、不具合が少なくプログラムが移植できる。

Description

明 細 書
プロ グラ ム 自 動変換方法お よびプロ グラ ム 自 動変換装置 技術分野
本発明 は、 プロ グ ラ ム を解析 し 、 当 該プ ロ グ ラ ム の一部 また は全部 を 自 動変換する プロ グ ラ ム 自 動変換装置や、 そ のプロ グラ ム等に関する も のであ る 。
背景技術
従来 の第一 の技術 と して、 ソ ース プ ロ グ ラ ムゃス ク リ ブ ト を 自 動変換す る 技術があ っ た。 かか る技術は、 コ ンパィ ラ差分 に よ り 発生す る 記述の違い を 自 動検出 し 、 自 動修正 も し く は リ ス ト ア ッ プ して開発作業 を 向上 さ せる技術で あ る 。 本技術 は、 C 言語で記述 さ れた原始プ ロ グ ラ ム を構文 解析 し、 1 ト 一 ク ン毎のデータ ベース と 中 間 フ ァ イ ルを作成 し、 データ ベース 上の対象 にな る 文字列 を 削除 · 変更 し 、 データ ベース や 中 間 フ ァ イ ルの情報 を c 言語 フ ァ イ ル に生 成 し、 目 的 プロ グラ ム を生成する も のであ る 。
また、 第二の従来技術 と して、 特定の コ ン ピ ュ ータ 上に 開発さ れた プロ グラ ム · オブジェ ク ト を も と に、 他の コ ン ピュー夕 で実行可能な ソ フ ト ウ エ ア を 自 動生成する 技術が あ っ た。 本技術は、 与え ら れた コ ン ピュータ資源の も と で 実行可能なオブジェ ク ト コ ー ド は、 セ グメ ン ト 分割器によ り 、 命令コ ー ド領域 D 2 と データ コ ー ド領域 D 3 に分割さ れる 。 続いて、 命令 コ ー ド領域 D 2 は、 命令コ ー ド変換器 によ り 、 命令セ ッ ト や〇 S プ リ ミ ティ ブを解析 し 、 高級プ ロ グラ ム言語 に よ る命令文に変換さ れる 。 また、 データ コ ー ド領域 D 3 は、 参照 してい る命令 コ ー ド の種別 に応 じ た データ型 を判別 し、 データ構文変換器に よ り 、 高級プロ グ ラ ム言語 に よ る デー夕定義文に変換さ れる 。 さ ら に、 参照 領域変換器が、 デー夕定義文に対 し て、 命令文が利用する ため の参照名 を付加 し、 命令文が参照名 を利用する 形式 に 変換 して高級言語プロ グラム を生成する も のであ る 。
しか し な が ら 、 上記第一 の従来技術 は、 変換対象の ソ ー ス プロ グ ラ ム が記載さ れた プ ロ グ ラ ム言語 の仕様が有す る すべて の命令 を 自 動変換す,る こ と を 前提 と し て い る 、 と考 え ら れる 。
ま た、 上記第二の従来技術は、 特定 の コ ン ピ ュ ー タ 上 に お け る すべて の プ ロ グ ラ ム · オブジ ェ ク ト を 自 動変換する こ と を前提 と し て い る 、 と考え ら れ る 。 つ ま り 、 従来技術 にお い て、 一 の プロ グ ラ ム の動作環境 を移行する た め に、 一の プ ロ グ ラ ム を移行後の環境 にお い て も 効率良 く 動作 さ せる こ と を考慮 し て い な い 。 従っ て、 従来技術では、 変換 対象 と する ソ 一ス ブロ グラ ム の ど の命令パ タ ー ン を 自 動変 換 し、 どの命令パタ 一ン を手作業で行 う かが判断できな い。 従来技術 に お い て、 一 の プ ロ グ ラ ム を 自 動変換 ま た は半 自 動変換す る 自 動変換プ ロ グ ラ ム を 開発する 場合 ど の命 令パ タ ー ン に対応す る 自 動変換プ ロ グ ラ ム を 開発すべ き か が判断でき ず、 効率的 に ソ ース プ ロ グ ラ ム を変換でき なか つ た。 具体的 に は、 従来技術で は、 変換対象の プ ロ グ ラ ム にお いて 1 度 し か 出現 し な い命令パ タ ー ン も 自 動変換す る プロ グラ ム を 開発する こ と が前提 と な っ て い る 。 発明の開示
本第一の発明 の プロ グ ラ ム 自動変換方法は、 旧 ソ一ス プ ロ グラ ム の命令パ タ ー ン を示す情報であ る 第一命令パタ ー ン情報 と新ソ ース プロ グラ ムの命令パタ ー ン を示す情報で あ る第二命令パタ ー ン情報の対を 1 以上、 記憶部に格納 し てお り 、 旧 ソ ース プロ グ ラ ム にお いて、 前記 1 以上 の第一 命令パタ ー ン情報が何回出現する か を、 解析手段を用 いて 解析する解析ス テ ッ プ と 、 前記解析ス テ ッ プにお ける解析 結果 を、 出 力手段 を用 いて出力する解析結果出力ステ ッ プ と 、 前記解析ス テ ッ プにお いて第一命令パタ 一 ン情報の 出 現回数が、 所定回数 (所定回数は 2 以上であ る) 以上であ る と解析さ れた第一命令パタ ー ン情報 に対応する 旧 ソース プロ グラ ム の記述箇所 を、 当該第一命令パタ ー ン情報 と対 にな る第二命令パ タ ー ン情報に対応する よ う に、 変換手段 を用 いて変換する命令パタ ー ン変換ス テ ッ プ と 、 前記命令 パタ ー ン変換ス テ ッ プにお いて前記 旧 ソ ース プロ グラム を 変換 した結果であ る新ソ ース プロ グ ラ ム を、 出 力手段を用 いて出力する新プロ グラ ム 出力ス テ ッ プ と 、 前記解析ス テ ッ プにお いて第一命令パタ ー ン情報の 出現回数が前記所定 回数未満であ る と解析さ れた第一命令パ タ ー ン情報 に対応 する 旧 ソ ース プロ グラ ム の記述箇所に対 して、 ユーザの手 作業 によ る 当該旧 ソ 一ス プロ グラ ム の記述箇所を新 ソース プロ グラ ム に変更する 、 入力手段を用 いた入力 を受 け付け る ス テ ッ プを具備する 、 あ る環境で動作 していた プロ ダラ ム を他の環境で動作させる ため の プロ グ ラ ム 自 動変換方法 であ り 、 かか る プロ グラ ム 自 動変換方法に よ り 、 効率的 に、 かつ、 不具合が少な く プロ グラム が移植でき る 。
ま た、 第二の発明 は、 第一の発明 に対 して、 前記新プロ グラ ム 出力 ス テ ッ プは、 新 ソ ース プ ロ グラ ム の 中で、 前記 命令パタ ー ン変換ス テ ッ プで変換 し た箇所 と変換 していな い箇所を視覚的 に区別 して出力する プロ グラ ム 自 動変換方 法であ り 、 かか る プロ グラ ム 自動変換方法 に よ り 、 プロ グ ラ マーが 目 視で変換後の プ ロ グ ラ ム を チ ェ ッ ク する 場合 に 効率的 にチェ ッ ク ができ る 。
なお、 上記のプロ グラ ム変換方法は、 プロ グラ ムで実現 して も、 専用 回路な どの八一 ド ウ エ アで実現 して も 良 く 、 かか る場合、 上記の機能は、 プロ グラ ム ま たはプロ グラ ム 自 動変換装置 と し て実現 さ れる 。 ま た、 上記の プロ グラ ム 変換方法は、 移植先の プロ グラ ム を生産する プロ グラ ム生 産方法であ る と も言え る 。 図面の簡単な説明
図 1 は、 本発明 の実施の形態 1 にお け る プ ロ グ ラ ム解析 装置の ブロ ッ ク 図であ る 。
図 2 は、 本発明 の実施の形態 1 にお け る プ ロ グ ラ ム解析 装置の動作につ いて説明する フ ロ ーチヤ 一 ト であ る 。
図 3 は、 本実施の形態 1 にお け る 命令パ タ ー ン情報管理 表 を示す図であ る 。
図 4 は、 本実施の形態 1 にお け る命令パ タ ー ン出現 回数 管理表 を示す図であ る 。
図 5 は、 本実施の形態 1 にお け る プ ロ グ ラ ム の例 を示す 図であ る 。
図 6 は、 本実施の形態 1 にお ける 命令パ タ ー ン 出現 回数 管理表を示す図であ る 。
図 7 は、 本実施の形態 1 にお け る 命令パ タ ー ン出現 回数 管理表 を示す図であ る。
図 8 は、 本実施の形態 1 にお け る解析結果の例 を示す図 であ る 。
図 9 は、 本実施の形態 1 にお け る解析結果の表示例 を示 す図であ る 。
図 1 0 は、 本実施の形態 2 に お ける プロ グ ラ ム 自 動変換 装置の ブ ロ ッ ク 図であ る 。
図 1 1 は、 本実施の形態 2 にお ける プロ グ ラ ム 自 動変換 装置の動作につ いて説明する フ 口 一チヤ一 ト であ る 。
図 1 2 は、 本実施の形態 2 に お け る 命令パ タ ー ン情報管 理表を示す図であ る 。
図 1 3 は、 本実施の形態 2 に お け る 変換後の新プ ロ ダ ラ ム の例 を示す図であ る 。
図 1 4 は、 本実施の形態 2 に お け る 新 プ ロ グ ラ ム の例 を 示す図で あ る 。 発明 を実施する ための最良の形態 以下、 本発明 の プ ロ グ ラ ム解析装置お よ びプ ロ グ ラ ム 自 動変換装置等の実施形態 につ い て 図面 を参照 し て説明する なお、 実施 の形態 にお いて 同 じ 符号 を付 し た構成要素 は同 様の動作を行 う ので、 再度の説明 を省略する 場合があ る 。
(実施の形態 1 )
図 1 は、 プ ロ グ ラ ム解析装置 の ブ ロ ッ ク 図 を示す。 プ ロ グ ラ ム解析装置 は、 命令パ タ ー ン情報格納部 1 0 1 、 プ ロ グ ラ ム格納部 1 0 2 、 解析部 1 0 3 、 解析結果出 力部 1 0 4 を有する 。 プ ロ グラ ム解析装置は、 例 え ば、 M P Uゃ メ モ リ ゃハ一 ド ディ ス ク な ど を備 えたパー ソ ナルコ ン ビ ユ ー 夕 で あ る 。
命令パタ ー ン情報格納部 1 0 1 は、 プロ グ ラ ム の命令パ タ ー ン を示す情報で あ る 命令パ タ ー ン情報 を 1 以上格納 し て い る 。 命令パ タ ー ン情報格納部 1 0 1 は、 不揮発性 の記 録媒体、 ま たは揮発性の記録媒体で も実現可能であ る 。
プロ グラ ム格納部 1 0 2 は、 プロ グラ ム を格納 してい る 。 プ ロ グ ラ ム格納部 1 0 2 は、 不揮発性の記録媒体、 ま た は 揮発性 の記録媒体で も 実現可能で あ る 。 プ ロ グ ラ ム と は、 通常、 ソ ース プ ロ グ ラ ム で あ り 、 その言語 は問わ な い 。 プ ロ グ ラ ム は、 い わゆ る ス ク リ プ ト と 言われる H T M L 、 X M L な ど も含む。 ま た 、 プ ロ グ ラ ム は、 手続き型 の プ ロ グ ラ ム 、 宣言型の プロ グ ラ ム 等問わな い 、 ま た、 プ ロ グ ラ ム は、 プ ロ グ ラ ム が動作する た め のデー タ群 (ヘ ッ ダー フ ァ ィ ルな ど) も含む。
解析部 1 0 3 は、 プ ロ グ ラ ム格納部 1 0 2 に格納 さ れて い る プロ グ ラ ム にお い て、 1 以上の命令パ タ ー ン情報が何 回 出現す る か を解析す る 。 解析部 1 0 3 は、 通常、 M P U や メ モ リ 等か ら 実現 さ れ得 る 。 解析部 1 0 3 が解析す る た め の処理手順は、 通常、 ソ フ ト ウ ェ ア で実現 さ れ、 当 該ソ フ ト ウ エ ア は R 〇 M等の記録媒体に記録さ れて い る 。 但 し 、 ハ一 ド ウ エ ア (専用 回路) で実現 して も 良 い。
解析結果出力部 1 0 4 は、 解析部 1 0 3 に お け る解析結 果 を 出 力する 。 出 力 と は、 通常、 ディ ス プ レイ への表示 を い う が、 プ リ ン夕 への印字、 他の装置への送信な ど も含む。 ま た、 出 力 と は、 ハー ド ディ ス ク な ど の記録媒体への蓄積 も含む概念で あ る 。 ま た 、 解析結果出 力部 1 0 4 は、 出 力 ディ ス プ レイ を含む と考 え て も含 まな い と考 え て も 良 い 。 解析結果出 力部 1 0 4 は、 例え ば、 出 力 デバイ ス の ド ラ イ バー ソ フ ト で実現 さ れ得る 。
以下、 本プロ グ ラ ム解析装置 の動作 につ い て 図 2 の フ ロ 一チヤ一 ト を用 いて説明する 。
(ス テ ッ プ S 2 0 1 ) 解析部 1 0 3 は、 プ ロ グ ラ ム格納 部 1 0 2 の プ ロ グ ラ ム を読み込む。 こ の プ ロ グ ラ ム は、 解 析対象の プ ロ グ ラ ム で あ る 。 プ ロ グ ラ ム格納部 1 0 2 に複 数の プ ロ グ ラ ム が格納 さ れて い る 場合、 例 え ば、 解析部 1 0 3 は、 ユーザが指示 し た プロ グラ ム を読み込む。
(ス テ ッ プ S 2 0 2 ) 解析部 1 0 3 は、 命令パ タ ー ン情 報格納部 1 0 1 に格納 さ れて い る 1 以上 の命令パ タ ン情 報 を読み込む。 ·
(ス テ ッ プ S 2 0 3 ) 解析部 1 0 3 は、 命令パ 夕 ン '【垂 報の 出現 回数で あ る 命令パ タ ー ン出現回数 をすベて 0 にす る 。 なお 、 すべての命令パ タ ー ン情報 に対応す る 命令パ タ ー ン 出現 回数は、 例え ば、 解析部 1 0 3 が保持 し て い る メ モ リ に記憶さ れてい る 。
(ス テ ッ プ S 2 0 4 ) 解析部 1 0 3 は、 カ ウ ン 夕 i に 1 を代入す る 。 こ のカ ウ ン タ は、 ス テ ッ プ S 2 0 1 で読み込 んだプロ グ ラ ム の プロ グ ラ ム カ ウ ン タ であ る 。 つ ま り 、 解 析部 1 0 3 は、 ス テ ッ プ S 2 0 1 で読み込ん だプ ロ グ ラ ム の i 番 目 の行 を 以下の処理 に よ り 解析する 。 なお、 こ こ で は、 プロ グ ラ ム は、 1 行 1 命令パ タ ー ンの プ ロ グ ラ ム で あ る 、 とする 。
(ス テ ッ プ S 2 0 5 ) 解析部 1 0 3 は、 ス テ ッ プ S 2 0 1 で読み込んだプロ グ ラ ム にお いて、 i 番 目 の プロ グ ラ ム ソ ース行が存在する か否か を判断する 。 i 番 目 の プロ ダ ラ ム ソ ース行が存在すれ ばス テ ッ プ S 2 0 6 に行 き 、 i 番 目 の プロ グ ラ ム ソ ース 行が存在 し な ければス テ ッ プ S 2 1 3 に飛ぶ。
(ス テ ッ プ S 2 0 6 ) 解析部 1 0 3 は、 カ ウ ン 夕 j に 1 を代入す る 。 カ ウ ン タ j は、 ス テ ッ プ S 2 0 2 で読み込ん 'だ 1 以上の命令パ タ ー ン情報 の う ち 、 解析 に利用 す る 命令 パタ ー ン情報 を取得する ため のカ ウ ンタ であ る 。
(ス テ ッ プ S 2 0 7 ) 解析部 1 0 3 は、 i 番 目 の プ ロ グ ラ ム ソ ース行は、 j 番 目 の命令パ タ ー ン情報 に対応す る 命 令パ タ ー ン の行で あ る か否か を判断す る 。 i 番 目 の プ ロ グ ラ ム ソ ース 行が j 番 目 の命令パ タ ー ンで あ れ ばス テ ッ プ S 2 0 8 に行 き 、 j 番 目 の命令パタ ー ンでな ければス テ ッ プ S 2 1 0 に飛ぶ。 i 番 目 の プロ グ ラ ム ソ ース 行が j 番 目 の 命令パ タ ー ン情報 に対応す る か否か の判 新は、 構文解析、 字句解析等で可能で あ り 、 既存技術で あ る ので、 こ こ で の 詳細な説明 は省略する 。
(ス テ ッ プ S 2 0 8 ) 解析部 1 0 3 は、 j 番 目 の命令パ タ ー ン情報 に対応す る 命令パ タ ー ン 出現 回数 を 1 イ ン ク リ メ ン トする 。
(ス テ ッ プ S 2 0 9 ) 解析部 1 0 3 は、 i をイ ン ク リ メ ン ト する 。 ス テ ッ プ S 2 0 5 に戻る 。
(ス テ ッ プ S 2 1 0 ) 解析部 1 0 3 は、 j をイ ン ク リ メ ン ト する 。
(ス テ ッ プ S 2 1 1 ) 解析部 1 0 3 は、 : i 番 目 の命令パ タ ー ンが、 命令パ タ ー ン情報格納部 1 0 1 に存在する か否 か を判断する 。 j 番 目 の命令パ タ ー ンが存在すればス テ ツ プ S 2 0 7 に戻 り 、 j 番 目 の命令パ タ ー ンが存在 し な けれ ばステ ッ プ S 2 1 2 に行 く 。
(ス テ ッ プ S 2 1 2 ) 解析部 1 0 3 は、 「 どの命令パ タ ー ン に も 該当 し な レ 旨」 のエ ラ ー 出力 をす る 。 但 し 、 こ.の ェ ラー出力処理はな く て も 良い。
(ス テ ッ プ S 2 1 3 ) 解析結果出 力部 1 0 4 は、 解析結 果 を 出 力す る 。 解析結果 と は、 各命令パ タ ー ン情報の命令 パタ ー ン出現回数であ る 。
以下、 本実施 の形態 にお け る プロ グ ラ ム解析装置等 の具 体的な動作 につ い て説明す る 。 図 3 は、 命令パ タ ー ン情報 格納部 1 0 1 が保持 し て い る命令パ タ ー ン情報管理表で あ る 。 命令パ 夕 一 ン情報管理表 は、 「 I D 」 「命令パ タ ー ン情 報」 を有する レ コ ー ド を複数格納 してい る 。 「 I D 」 は レ コ ー ド を識別する 情報で あ り 、 表管理上利用 さ れる 情報で あ る 。 「命令パタ ー ン情報」 は、 命令パタ ー ン情報を格納する 属性であ る 。
ま た、 図 4 は、 解析部 1 0 3 が保持 し て い る 命令パ タ ー ン出現回数管理表であ る 。 命令パタ ー ン出現回数管理表は、 「 I D」 「出現回数」 を有する レ コ ー ド を 1 以上有する 。 「 I D 」 は、 図 3 の命令パ タ ー ン情報管理表の 「 I D 」 に対応 してい る 。 「出現回数」 は、 命令パタ ー ンの 出現回数を示す。 「出現回数」 の初期値は、 すべて 「 0 」 . であ る 。
図 5 は、 プロ グ ラ ム格納部 1 0 2 に格納 さ れてい る プ ロ グ ラ ム の例で あ る 。 プ ロ グ ラ ム解析装置は、 ユーザの指示 に よ り 、 図 5 の プロ グ ラ ム の解析 を 開始す る 。 図 5 の プ ロ グ ラ ム にお い て 「 * 」 で始 ま る 行は コ メ ン ト 行で あ る 。 な お、 プロ グ ラ ム解析装置は、 コ メ ン ト 行で あ る こ と を判 断 した後の解析は行わな い。
解析部 1 0 3 'は、 まず、 図 5 の プ ロ グ ラ ム の 1 行 目 を読 み込む。 1 行 目 は コ メ ン ト 行であ る ので、 次の行に移る ( プ ロ グラ ム カ ウ ン 夕 を進め る )。 解析部 1 0 3 は、 2 行 目 力、 ら 8 行 目 ま で も コ メ ン ト 行であ る ので、 解析は行わな い。
次 に 、 解析部 1 0 3 は、 プロ グ ラ ム の 9 行 目 「 I D E N T I F I C A T I O N D I V I S I O N . J を読み込む。 解析部 1 0 3 は、 プ ロ グ ラ ム の 9 行 目 は、 図 3 の命令パ タ ー ン情報管理表の 「 I D = 1 」 の命令パ タ ー ン情報 に対応 する 、 と判 断す る 。 そ し て、 解析部 1 0 3 は、 図 4 の命令 パタ ー ン 出現回数管理表の' 「 I D 」 二 「 1 」 の レ コ ー ド の
「出現回数」 の値 を 1 イ ン ク リ メ ン ト す る 。 その結果が、 図 6 の命令パター ン出現回数管理表であ る 。
次 に 、 解析部 1 0 3 は、 プ ロ グ ラ ム の 1 0 行 目 「 P R O G R A M — I D . P S D 7 1 2 .」 を読み込む。 解析 部 1 0 3 は、 プ ロ グ ラ ム の 1 0 行 目 は、 図 3 の命令パ タ ー ン情報管理表の 「 I D = 2 」 の命令パ タ ー ン情報 に対応す る 、 と判断する 。 なお、 図 3 の命令パ タ ー ン情報管理表 の
「変数 0 1 」 「変数 0 2 」 な どは、 変数を意味する 。 プロ グ ラ ム にお い て、 変数は、 英数字 の文字列で構成 さ れる 。 こ こ では、 「 P S D 7 1 2 」 は変数であ る 。 そ して、 解析部 1 0 3 は、 図 6 の命令パ タ ー ン 出現 回数管理表の 「 I D 」 =
「 2 」 の 「出現回数」 の値 を 1 イ ン ク リ メ ン ト する 。
以上の よ う な処理 を、 図 5 の プロ グ ラ ム のすべて の行 に 対 し て行 う 。 そ し て、 図 7 に示す命令パ タ ー ン 出現回数管 理表 を得る 。
次 に 、 解析結果出力部 1 0 4 は、 図 8 に示すよ う な解析 結果 を出力する 。 解析結果は、 「 I D 」 「回数」 「命令パタ ー ン」 を有する 。 「回数」 は出現回数であ る 。 ま た、 図 8 の解 析結果は、 図 3 の命令パタ ー ン情報管理表 と 、 .図 7 の命令 パタ ー ン 出現 回数管理表か ら 構成 さ れ る 。 具体的 に は、 図 8 の解析結果は、 図 3 の命令パタ ー ン情報管理表の 「 I D J と 、 図 7 の命令パ タ ー ン出現 回数管理表 「 I D 」 を キー と して、 結合演算 さ れ、 出 力 さ れた結果であ る 。
以上、 本実施の形態 に よ れば、 変換対象 と する ソ ース プ ロ グ ラ ム が含む命令パタ ー ン の解析が可能 と な り 、 そ の結 果、 効率的 に ソ ース プロ グ ラ ム を変換する 自 動変換プ ロ グ ラ ム を 開発で き る 。 なお、 本実施の形態 にお け る 解析結果 を受 けて、 プロ グラ ム を 自 動変換す る 処理 につ い て は、 実 施の形態 2 以降で述べる 。
なお 、 本実施の形態 にお い て、 あ る 一定以上 の 回数が出 現する 命令パ タ ー ン を他の命令パ タ ー ン と視覚的 に 区別 し て表示 し て も 良 い。 かか る 場合、 例 え ば、 図 9 に示す よ う な解析結果が表示さ れる 。 図 9 に よ れば、 3 回以上 出現す る命令パ タ ー ン を他の命令パ タ ー ン と視覚的 に 区別 し て表 示 し て い る 。 なお、 一定以上 の 回数が出現す る 命令パ タ ー ン を他 の命令パ タ ー ン と視覚的 に 区別 し て表示す る 態様は 図 9 にお ける 態様に限 ら ず、 何で も 良い。
また、 本実施の形態にお いて説明 した動作は、 コ ン ビ ュ 一夕読み取 り 可能なプロ グ ラ ムで実現 して も 良い。 当該プ ロ グラ ム は、 C D — R O Mな ど の記録媒体に記録さ れて流 布 して も 良 い し、 ネ ッ ト ワ ー ク 配信に よ り 流布 して も 良い し 、 放送で流布 して も 良 い。 かか る こ と も 、 他の実施の形 態 にお いて も 同様であ る 。 なお、 本実施の形態 にお いて説 明 した動作を実現する プロ グラ ム は、 コ ン ピ ュ ータ に、 プ ロ グラ ム の命令パタ ー ン を示す情報であ る命令パタ ー ン情 報 を 1 以上格納 してお り 、 プロ グラ ム において、 1 以上の 命令パタ ー ン情報が何回出現する か を解析する解析ス テ ツ プと 、 解析ス テ ッ プにお ける解析結果を 出力する解析結果 出 力ス テ ッ プを実行させる ため の プロ グ ラ ム、 であ る 。
さ ら に、 本実施の形態 において、 一の プロ グラ ム解析装 置でプロ グ ラ ム の解析を行っ たが、 複数の装置で処理を分 担 して も 良い。 つ ま り 、 プロ グ ラ ム の命令パター ン を示す 情報であ る命令パター ン情報を 1 以上格納 してお り 、 プロ グラ ム にお いて、 1 以上の命令パ タ ー ン情報が何回出現す る か を解析する解析ステ ッ プと 、 解析ス テ ツ プにお ける解 析結果 を 出力する解析結果出力ス テ ッ プを具備する プロ グ ラ ム解析方法 によ り 、 1以上の装置 を用 いてプロ グラム が解 析できれば、 上述 した効果を奏する こ と とな る 。
(実施の形態 2 )
図 1 0 は、 プロ グラム 自 動変換装置の ブロ ッ ク 図 を示す。 プロ グ ラ ム 自 動変換装置は、 命令パ タ ー ン対応情報格納部 1 0 0 1 、 プ ロ グラ ム格納部 1 0 2 、 解析部 1 0 3 、 条件 格納部 1 0 0 2 、 命令パ タ ー ン変換部 1 0 0 3 、 新プ ロ グ ラ ム 出 力部 1 0 0 4 を具備する 。 プ ロ グ ラ ム 自 動変換装置 は、 例 え ば、 M P Uや メ モ リ やハー ド ディ ス ク な ど を備 え たパ一 ソ ナリレコ ン ピ ュータ であ る 。
命令パ タ ー ン対応情報格納部 1 0 0 1 は、 旧 プ ロ グ ラ ム (変換対象 の プ ロ グ ラ ム) の命令パタ ー ン を示す情報で あ る 第一命令パ タ ー ン情報 と新 プ ロ グ ラ ム (変換後の プ ロ グ ラ ム) の命令パ タ ー ン を示す情報で あ る 第二命令パタ ー ン 情報の対 を 1 以上格納 し て い る 。 命令パ タ ー ン対応情報格 納部 1 0 0 1 は、 不揮発性 の記録媒体、 ま た は揮発性 の記 録媒体で も実現可能であ る 。
条件格納部 1 0 0 2 は、 第一命令パ タ ー ン情報 に対応す る 旧 プ ロ グ ラ ム の一部 を第二命令パ タ ー ン情報 に対応す る よ う に 自 動変換する 条件 を格納 し て い る 。 条件格納部 1 0 0 2 は、 不揮発性の記録媒体、 ま た は揮発性 の記録媒体で も 実現可能で あ る 。 条件 は、 命令パ タ ー ン変換部 1 0 0 3 が行 う 処理 を 実現す る プ ロ グ ラ ム 中 に埋 め 込 ま れ て い る (ヘ ッ ダー フ ァ イ ルな ど に定義 さ れて い る 場合 も含む) 場 合が多 い 。 なお、 条件 は、 解析部 1 0 3 の解析結果 に基づ く 条件であ る 。
命令パ タ ー ン変換部 1 0 0 3 は、 プ ロ グ ラ ム格納部 1 0 2 に格納さ れてい る プロ グ ラ ム (旧 プロ グラム) に対 して、 条件格納部 1 0 0 2 に格納 さ れて い る 条件 に合致する 第一 命令パ タ ー ン情報 に対応す る 旧 プ ロ グ ラ ム の一部 を 、 当 該 第一命令パ タ ー ン情報 と対 に な る 第二命令パ タ ー ン情報 に 対応す る よ う に変換す る 処理 を行 う 。 命令パ タ ー ン変換部 1 0 0 3 は、 通常、 M P Uや メ モ リ 等か ら 実現 さ れ得 る 。 命令パ タ ー ン変換部 1 0 0 3 が情報 を変換す る た め の処理 手順は、 通常、 ソ フ ト ウ ェ ア で実現 さ れ、 当 該ソ フ ト ゥ ェ ァ は R O M等の記録媒体 に記録 さ れて い る 。 伹 し 、 ノ、ー ド ウ ェ ア (専用 回路) で実現 して も 良 い。
新 プ ロ グ ラ ム 出力部 1 0 0 4 は、 命令パ タ ー ン変換部 1 0 0 3 がプ ロ グ ラ ム を変換 し た結果で あ る 新 プ ロ グ ラ ム を 出 力 す る 。 出 力 と は、 通常、 ディ ス プ レイ への表示 を い う が、 プ リ ン 夕 への印字、 他 の装置への送信、 記録媒体 (ハ ー ド デ ィ ス ク 、 デジ タ ル多 目 的 デ ィ ス ク な ど ) へ の 蓄積 な ど も 含む。 ま た 、 新 プ ロ グ ラ ム 出 力 部 1 0 0 4 は 、 出 力 デ ィ ス プ レイ や記録媒体 を含 む と 考 え て も 含 ま な い と 考 え て も 良 い 。 新 プ ロ グ ラ ム 出 力 部 1 0 0 4 は、 例 え ば、 出 力 デ バイ ス の ド ラ イ ノ'一ソ フ ト 等で実現 さ れ得 る 。
以下 、 本 プ ロ グ ラ ム 自 動変換装置 の 動作 に つ い て 図 1 1 の フ ロ ーチ ヤ 一 ト を 用 い て説明 す る 。
( ス テ ッ プ S 1 1 0 1 ) プ ロ グ ラ ム解析ルー チ ン を 実行 す る 。 本 プ ロ グ ラ ム 解析ルー チ ン は、 図 2 の フ ロ ー チ ヤ — ト を 用 い て 説明 し た プ ロ グ ラ ム の解析処理で あ り 、 変換対 象 の プ ロ グ ラ ム で あ る 旧 プ ロ グ ラ ム 中 に お け る 、 命令パ タ ー ン ご と の 出現 回数 を 出 力 す る 。
(ス テ ッ プ S 1 1 0 2 ) 命令パ タ ー ン変換部 1 0 0 3 は、 プ ロ グ ラ ム 格納部 1 0 2 の プ ロ グ ラ ム を読み込 む 。 プ ロ グ ラ ム 格納部 1 0 2 に 2 以 上 の プ ロ グ ラ ム が存在す る 場合 は 例 え ば、 命令パ タ ー ン変換部 1 0 0 3 は、 ユー ザが指示 し た プ ロ グ ラ ム を読み込む。
(ス テ ッ プ S 1 1 0 3 ) 命令パ タ ー ン変換部 1 0 0 3 は、 命令パ タ ー ン対応情報格納部 1 0 0 1 が保持 し て い る 1 以 上 の第一命令パ タ ー ン情報 を 読み込む。
(ス テ ッ プ S 1 1 0 4 ) 命令パ タ ー ン変換部 1 0 0 3 は、 カ ウ ン タ i 〖こ 1 を 代入す る 。 こ の カ ウ ン タ は、 ス テ ッ プ S 1 1 0 2 で読 み込 ん だ プ ロ グ ラ ム の プ ロ グ ラ ム カ ウ ン 夕 で あ る 。 つ ま り 、 命令パ タ ー ン変換部 1 0 0 3 は、 ス テ ッ プ S 1 1 0 2 で読 み込ん だ プ ロ グ ラ ム の i 番 目 の行 を 以下 の 処理 に よ り 変換する 。 なお 、 こ こ では、 プ ロ グ ラ ム は、 1 行 1 命令パ夕 一 ンの プロ ラ ム であ る 、 とする 。
(ス テ ッ プ S 1 1 0 5 ) 命令パタ ー ン変換部 1 0 0 3 は、 ス テ ッ プ S 1 1 0 2 で読み込んだプロ グラ ム にお い て、 i 行 目 の プロ グ ラ ム ソ ー ス が存在す る か否か を判断する 。 i 行 目 の プロ グラ ム ソ ース が存在すればス テ ッ プ S 1 1 0 6 に行き 、 i 行 目 の プ ロ グ ラ ム ソ ース が存在 し な けれ ばス テ ッ プ S 1 1 1 6 に飛ぶ。
(ス テ ッ プ S 1 1 0 6 ) 命令パ タ ー ン変換部 1 0 0 3 は、 カ ウ ン タ j に 1 を代入する 。 カ ウ ン タ j は、 ス テ ツ プ S 1
0 3 で読み込んだ 1 以上の第一命令パ夕 ノ 、 - 報 の う ち 変換に利用 する 第一命令パ タ ー ン情報 を取得する た め の 力 ゥ ン夕 であ る 。
(ス テ ッ プ S 1 1 0 7 ) 命令パ タ ー ン変換部 1 0 0 3 は、 i 行 目 の プロ グ ラ ム ソ ース は、 j 番 目 の第一命令パ タ ー ン 情報 に対応する か否か を判断す る 。 j 番 目 の第一命令パ 夕 — ン情報 に対応すればス テ ッ プ S 1 1 0 8 に行 き、 j 番 目 の第一命令パ タ ー ン情報 に対応 し な ければス テ ッ プ S 1 1
1 3 に飛ぶ。 なお、 i 行 目 の プ ロ グ ラ ム ソ ース が j 番 目 の 第一命令パ タ 一 ン情報 に対応す る か否か は、 i 行 目 の プ ロ グ ラ ム ソ ー ス の構文解析、 字句解析に よ り 可能であ る 。
(ス テ ッ プ S 1 1 0 8 ) 命令パタ ー ン変換部 1 0 0 3 は、 j 番 目 の第一命令パ タ ー ン情報が条件格納部 1 0 0 2 の条 件 に合致する か否か を 、 ス テ ッ プ S 1 1 0 1 の プロ グ ラ ム 解析ルーチ ン の解析結果 に基づい て決定す る 。 j 番 目 の第 一命令パ タ ー ン情報が条件 に合致すればス テ ッ プ S 1 1 0 9 に行き、 j 番 目 の第一命令パ タ ー ン情報が条件 に合致 し な ければス テ ッ プ S 1 1 1 5 に飛ぶ。
(ス テ ッ プ S 1 1 0 9 ) 命令パタ ー ン変換部 1 0 0 3 は、 j 番 目 の第一命令パ 夕 一 ン情報 と対 に な る 第二命令パ タ ー ン情報 を 、 命令パ タ ー ン対応情報格納部 1 0 0 1 か ら 取得 する 。
(ス テ ッ プ S 1 1 1 0 ) 命令パタ ー ン変換部 1 0 0 3 は、 i 行 目 の プ ロ グ ラ ム ソ ース を 、 ス テ ッ プ S 1 1 0 9 で取得 し た第二命令パ タ ー ン情報が示す命令パ タ ー ン に変換する (ス テ ッ プ S 1 1 1 1 ) 命令パタ ー ン変換部 1 0 0 3 は、 ス テ ッ プ S 1 1 1 0 で変換 し た i 行 目 の ソ ース を新プ ロ グ ラ ム に追加する 。 なお、 新 プロ グ ラ ム は、 例 え ば、 あ る フ ア イ ル に格納 さ れ、 初期化段階 (図示 し な い) で フ ァ イ ル 生成 と フ ァ イ ルオー プンがさ れて い る 、 と する 。
(ス テ ッ プ S 1 1 1 2 ) カ ウ ンタ i をイ ン ク リ メ ン ト す る 。 ステ ッ プ S 1 1 0 5 に戻る 。
(ス テ ッ プ S 1 1 1 3 ) カ ウ ン タ j をイ ン ク リ メ ン ト す る 。
(ス テ ッ プ S I 1 1 4 ) 命令パタ ー ン変換部 1 0 0 3 は、 j 番 目 の第一命令パ タ ー ン情報が存在す る か否か を判断す る 。 j 番 目 の第一命令パ タ ー ン情報が存在すればス テ ッ プ S 1 1 0 7 に戻 り 、 j 番 目 の第一命令パ タ ー ン情報が存在 し な ければス テ ッ プ S 1 1 1 5 に行 く 。
(ス テ ッ プ S I 1 1 5 ) 命令パ タ ー ン変換部 1 0 0 3 は、 i 行 目 の ソ ース を新プ ロ グ ラ ム に追加す る 。 こ こ で の i 行 目 の ソース は、 例 え ば、 コ メ ン ト行であ る 。
(ス テ ッ プ S 1 1 1 6 ) 新プロ グラ ム 出力部 1 0 0 4 は、 変換さ れた後の プロ グ ラム (新 プロ グ ラ ム ) を 出 力する 。 こ こ で の 出 力 は、 記録媒体 (ハー ド ディ ス ク 等) に蓄積 さ れる だけの処理 も含む。
なお、 第一命令パ タ ー ン情報が条件格納部 1 0 0 2 の条 件 に合致せず、 第一命令パ タ ー ン を第二命令パ タ ー ン に 自 動変換 しなか っ た第一命令パ タ ー ン に 関 し て、 プ ロ グ ラ マ 一が、 キー ボー ド な ど の入力手段 を用 い て、 手作業で第二 命令パ タ ー ン き換え る 。 つ ま り 、 プ ロ グ ラ ム 自 動変換 装置は、 図示 し な い が、 キーボー ド やマ ウ ス な ど の入力手 段 を具備する 。
以下、 本実施 の形態 にお け る プロ グ ラ ム変換装置 の具体 的な動作に つ い て説明する 。 図 1 2 は、 命令パ タ ー ン対応 情報格納部 1 0 0 1 が保持 し て い る 命令パ タ ー ン情報管理 表で あ る 。 命令パ タ ー ン情報管理表は、 「 I D 」 「第一命令 パタ ー ン情報」 「第二命令パタ ー ン情報」 を有する レ コ ー ド を複数格納 して い る 。 「 I D 」 は レ コ ー ド を識別する情報で あ る 。 命令パ タ ー ン情報管理表 は、 変換対象の プ ロ グ ラ ム 中 に 出現す る 第一命令パ タ ー ン情報 の ソ ー ス行 を対 にな る 第二命令パ タ ー ン情報 に対応す る よ う に変換す る 場合 に利 用する対応表であ る 。 具体的に は、 「第一命令パタ ー ン情報」 が 「 SOURCE - COMPUTER. XXXXXX. J で あ る 場合 に は、 「第二 命令パタ ー ン情報」 「 # # SOURCE-COMPUTER. XXXXXX. #CHG# SOURCE-COMPUTER. IBM— AS 400. J に変換する こ と を示す。 な お 「 XXXXXX」 は、 任意 の 変数名 を示す。 ま た 、 「 #DEL#」 は削除した こ と を示す。 「 #CHG#」 は変換 し た結果 であ る こ と を示す。 また、 本ソ ース にお いて 「 *」 はコ メ ン ト 行で あ り 、 「 #」 か ら 「 #」 は コ メ ン ト で あ る こ と を示す。
ま た、 図 5 は、 プロ グラ ム格納部 1 0 2 に格納 さ れて い る 旧 プ ロ グ ラ ム の例で あ る 。 図 8 は、 解析部 1 0 3 が解析 し た結果 を示す命令パ タ ー ン 出現回数管理表で あ る 。 さ ら に、 条件格納部 1 0 0 2 は、 出現回数が 2 回以上の第一命 令パ タ ー ン情報 の プロ グラ ム行 を第二命令パ タ ー ン情報 に 変換する 、 と い う 条件を保持 してい る 、 とする 。
そ して、 命令パ タ ー ン変換部 1 0 0 3 が、 図 5 の 旧 プ ロ グラ ム を変換 し て生成 し、 新 プ ロ グ ラ ム 出 力部 1 0 0 4 が 出 力 し た新 プ ロ グラ ム の例 を 図 1 3 に示す。 図 1 3 にお い て、 新プ ロ グ ラ ム にお いて新た に生成 さ れた行が下線で示 さ れて い る 。 つ ま り 、 新プ ロ グ ラ ム にお い て、 変換さ れた 行 と変換さ れてない行が視覚的 に区別 して表れてい る 。
図 1 3 の新 プ ロ グラ ム にお い て、 ①は、 命令パタ ー ン情 報管理表の 「 I D = l 」 の行に よ り 変換さ れた箇所であ る 。 ②は、 命令パ タ ー ン情報管理表 の 「 I D = 2 」 の行 に よ り 変換さ れた箇所であ る 。
なお、 図 1 2 の命令パ タ ー ン情報管理表 にお いて、 説明 の便宜上、 旧 プ ロ グ ラ ム 1 行 に対 し て、 新 プロ グラ ム n 行 ( n は 自 然数) が対応する 場合 の み を記載 し たが、 旧 プ ロ グ ラ ム m行 ( m は 2 以上の 自 然数) に対 し て、 新プロ ダ ラ ム n 行 ( n は 自 然数) が対応 して も 良い。
以上、 本実施の形態 に よ れば、 変換対象 と する ソ 一ス プ ロ グ ラ ム が含む命令パ タ ー ン の解析が可能 と な り 、 そ の結 果、 効率的 に ソ ース プ ロ グ ラ ム を 自 動変換 ま た は半 自 動変 換で き る 。 具体的 に は、 ソ ース プ ロ グ ラ ム を変換す る た め の プ ロ グ ラ ム を 開発す る ま で も な い一定未満の 出現 回数の 命令パタ ー ン は、 手作業で修正 し、 一定以上の 出現回数 (た と え ば、 2 回以上 の 出現回数) の命令パ タ ー ン のみ、 ソ ー ス プロ グ ラ ム を変換す る た め の プ ロ グ ラ ム を 開発 し てお き 当 該変換プ ロ グ ラ ム を用 い て 自 動変換す る こ .と に よ り 、 効 率的 に プ ロ グ ラ ム を変換で き る 。 かか る プ ロ グ ラ ム 自 動変 換装置 に よ り 、 例 え ば、 あ る 環境で動作 し て い た プ ロ ダ ラ ム を新 し い環境で動作 さ せ る 作業が非常 に効率的 に 、 かつ 安全に行え る 。
なお、 本実施の形態 にお いて、 プ ロ グ ラ ム を 開発する ま で も な い一定未満の 出現回数の命令パ タ ー ン は、 手作業で 修正する ので、 プロ グ ラ ム 自 動変換装置は、 手作業で修正 する た め の入力 手段 を具備する 。 入力手段 と は、 例 え ば、 キ一ポー ドゃマ ウス等であ る 。
なお 、 本実施の形態 にお い て、 図 1 4 に示すよ う に 、 変 換後の新 プ ロ グ ラ ム に お い て、 手作業 に よ っ て変換 し た箇 所 と 、 自 動変換 し た箇所 と 、 変換 し て い な い箇所 を視覚的 に 区別す る 態様で、 新 プロ グ ラ ム を蓄積や表示等 し て も 良 い。 図 1 4 の新プロ グ ラ ム にお いて、 「 @」 力 ら 「 @」 が手作 業 に よ る 作業 を示す コ メ ン ト で あ る 。 「 @ D E L @」 は手作業で 削除 し た行であ る こ と を示 し 、 「 @ A D D @」 は手作業で追加 し た行であ る こ と を示す。
ま た 、 本実施の形態 にお い て、 自 動変換する か手作業で 変換す る か を判断する た め の条件は、 プロ グ ラ ム にお ける 第一命令パ タ ー ン情報の 出現回数 をパ ラ メ 一 夕 と す る 条件 (上記例で は、 2 回以上の 出現 回数の場合 に 自 動変換す る と い う 条件) であ っ たが、 他の条件に よ り 決定 して も 良い。 ま た、 ユーザの入力 に よ り 自 動変換す る 第一命令パ タ ー ン を指示する構成で も 良い。
ま た、 本実施の形態にお いて説明 した動作は、 コ ン ビ ュ
— 夕読み取 り 可能なプロ グラ ムで実現 して も 良 い。 当該プ ロ グラ ム は、 C D — R 〇 Mな ど の記録媒体に記録さ れて流 布 して も 良 い し 、 ネ ッ ト ヮ一ク 配信に よ り 流布 して も 良 い し 、 放送で流布 して も 良い。 かか る こ と も 、 他の実施の形 態 にお いて も 同様であ る 。 なお、 本実施の形態 にお いて説 明 した動作を実現する プロ グラ ム は、 コ ン ピュ ータ に、 旧 ソ ース プロ グラ ム の命令パタ ー ン を示す情報で あ る第一命 令パタ ー ン情報 と新ソ ース プロ グラ ム の命令パタ ー ン を示 す情報であ る第二命令パタ ー ン情報の対を 1 以上格納 して お り 、 旧 ソ ース プロ グラ ム にお いて、 前記 1 以上の第一命 令パタ ー ン情報が何回出現する か を解析する解析ス テ ッ プ と 、 前記解析ス テ ッ プにお ける解析結果を 出力する解析結 果出力ス テ ッ プと 、 前記解析ス テ ッ プにお いて第一命令パ タ ー ン情報の出現回数が、 所定回数 (所定回数は 2 以上で あ る) 以上であ る と解析さ れた第一命令パタ ー ン情報に対 応する 旧 ソ ース プロ グラム の記述箇所を、 当該第一命令パ タ ー ン情報 と対になる第二命令パタ ー ン情報に対応する よ う に変換する命令パタ ー ン変換ス テ ッ プと 、 前記命令パ夕 ー ン変換ス テ ッ プで前記 旧 ソ ース プロ グラム を変換 した結 果で あ る 新プロ グラ ム を 出力する新プロ グラ ム 出 カ ステ ツ プと 、 前記解析ス テ ッ プにお いて第一命令パタ ー ン情報の 出現回数が前記所定回数未満であ る と解析さ れた第一命令 パタ ー ン情報に対応する 旧 ソ ース プロ グ ラ ム の記述箇所に 対 し て、 ユーザの手作業に よ る 当該旧 ソ ース プロ グラ ム の 記述箇所を新 ソ ース プロ グ ラ ム に変更する入力 を受け付け る ス テ ッ プを実行させる た め の プロ グラ ム、 であ る 。
ま た、 本実施の形態にお いて、 一の プロ グラ ム 自 動変換 装置でプロ グラ ム の変換を行っ たが、 複数の装置で処理を 分担 して も 良い。 つ ま り 、 以下のプロ グラ ム 自 動変換方法 を複数の装置で実現 して も 良い。 旧 ソース プロ グラ ム の命 令パ タ ー ン を示す情報であ る 第一命令パタ ー ン情報 と新ソ ース プロ グラ ム の命令パタ ー ン を示す情報であ る第二命令 パタ ー ン情報の対を 1 以上、 記憶部に格納 してお り 、 旧 ソ —ス プロ グラ ム にお いて、 前記 1 以上の第一命令パタ ー ン 情報が何回出現する か を、 解析手段 を用 いて解析する解析 ス テ ッ プと 、 前記解析ス テ ッ プにお ける解析結果を、 出力 手段 を用 いて出力する解析結果出力 ステ ッ プと 、 前記解析 ス テ ッ プにお いて第一命令パタ ー ン情報の 出現回数が、 所 定回数 (所定回数は 2 以上であ る) 以上であ る と解析さ れ た第一命令パタ ー ン情報 に対応する 旧 ソ ース プロ グラ ム の 記述箇所 を、 当該第一命令パタ ー ン情報 と対 になる第二命 令パター ン情報に対応する よ う に、 変換手段を用 いて変換 する命令パタ ー ン変換ス テ ッ プ と 、 前記命令パタ ー ン変換 ス テ ッ プにお いて前記旧 ソ ース プロ グラ ム を変換 し た結果 で あ る新ソ ース プロ グラ ム を、 出 力手段を用 いて出力する 新 プロ グラ ム 出力ステ ッ プと 、 前記解析ス テ ッ プにお いて 第一命令パ ター ン情報の 出現回数が前記所定回数未満であ る と解析さ れた第一命令パター ン情報に対応する 旧 ソース プロ グラ ム の記述箇所に対 して、 ユーザの手作業によ る 当 該旧 ソース プロ グラ ム の記述箇所を新ソ ース プロ グラ ム に 変更する 、 入力手段を用 い た入力 を受け付ける ステ ッ プを 具備する 、 あ る環境で動作 して いた プロ グラ ム を他の環境 で動作さ せる ため の プロ グラ ム 自 動変換方法 に よ り 、 効率 的 に、 かつ、 不具合が少な く プロ グラ ムが移植でき る 。
ま た、 本実施の形態にお いて、 上述 し た プロ グラ ム 自 動 変換装置は、 新 し い環境 (つ ま り 、 移植先の環境) で動作 する プロ グラ ム を生産する方法を実施する装置であ る 、 と い え る 。 つ ま り 、 プロ グラ ム 自 動変換装置は、 以下の プロ グ ラ ム生産方法を実現する 。 それは、 旧 ソ ース プロ グラ ム の命令パ タ ー ンを示す情報であ る第一命令パタ ー ン情報 と 新 ソ ース プロ グラ ム の命令パタ ー ン を示す情報であ る第二 命令パタ ー ン情報の対を 1 以上、 記憶部に格納 してお り 、 旧 ソ ース プロ グラ ム にお いて、 前記 1 以上の第一命令パタ ー ン情報が何回出現する か を、 解析手段 を用 いて解析する 解析ステ ッ プと 、 前記解析ス テ ッ プにお け る解析結果を 、 出力手段を用 いて出力する解析結果出力ス テ ッ プと 、 前記 解析ス テ ッ プにお い て第一命令パ タ ー ン情報 の 出現回数が 所定回数 (所定回数は 2 以上であ る ) 以上であ る と解析さ れた第一命令パタ ー ン情報 に対応する 旧 ソ ース プロ グラ ム の記述箇所を、 当該第一命令パ タ ー ン情報 と対にな る第二 命令パタ ー ン情報に対応する よ う に、 変換手段を用 いて変 換する命令パタ ー ン変換ス テ ッ プと 、 前記命令パタ ー ン変 換ス テ ッ プにおいて前記 旧 ソ ース プロ グ ラ ム を変換 した結 果であ る新ソ ース プロ グラ ム を、 出力手段 を用 いて出力す る新プロ グラ ム 出力 ス テ ッ プと 、 前記解析ス テ ッ プにお い て第一命令パタ ー ン情報の 出現回数が前記所定回数未満で あ る と解析さ れた第一命令パター ン情報に対応する 旧 ソ ー ス プロ グラム の記述箇所に対 して、 ュ一ザの手作業 によ る 当該旧 ソ ース プロ グラ ム の記述箇所 を新ソ ース プロ グラ ム に変更する 、 入力手段 を用 いた入力 を受 け付けるス テ ッ プ を具備する 、 あ る 環境で動作 していた プロ グラ ムか ら他の 環境で動作させる ため の プロ グラ ム を生産する プロ グラ ム の生産方法、 であ る 。 ま た、 上記の プロ グ ラ ム の生産方法 にお ける新プロ グ ラ ム 出力 ス テ ッ プは、 新 ソ ース プロ ダラ ム の 中で、 前記命令パタ ー ン変換ス テ ッ プで変換 し た箇所 と変換 していな い箇所 を視覚的 に 区別 して 出 力する プロ グ ラ ム の生産方法、 で も 良 い。
さ ら に、 本実施の形態 にお いて、 上述 し た プロ グラ ム の 生産方法 を実現する プロ グ ラ ム生産装置は、 以下の よ う な 新 し い環境 (つ ま り 、 移植先の環境) で動作する プロ ダラ ム を生産する装置であ る 、 と い え る 。 つ ま り 、 かか る 生産 装置は、 旧 ソ ース プロ グラ ム の命令パタ ー ン を示す情報で あ る 第一命令パ タ ー ン情報 と新 ソ ース プロ グラ ム の命令パ タ ー ン を示す情報であ る 第二命令パタ ー ン情報の対を 1 以 上、 格納 し てい る 命令パタ ー ン対応情報格納部 と 、 旧 ソ一 ス プロ グラ ム にお いて、 1 以上の第一命令パタ ー ン情報が 何回出現するか を解析する解析部 と 、 解析部にお ける解析 結果 を出力する解析結果出力部 と 、 解析部 にお いて第一命 令パ タ ー ン情報の 出現回数が、 所定回数 (所定回数は 2 以 上であ る) 以上であ る と解析さ れた第一命令パタ ー ン精報 に対応する 旧 ソ ース プロ グラ ム の記述箇所 を、 当 該第一命 令パタ ー ン情報 と対にな る 第二命令パタ ー ン情報に対応す る よ う に変換する 命令パタ ー ン変換部 と 、 命令パタ ー ン変 換部にお いて旧 ソ ース プロ グラム を変換 した結果であ る新 ソ ース プロ グラ ム を 出力する新プロ グラ ム 出力部 と 、 解析 部 において第一命令パタ ー ン情報の 出現回数が所定回数未 満であ る と解析 さ れた第一命令パタ ー ン情報に対応する 旧 ソ ース プロ グラム の記述箇所に対 して、 ユーザの手作業に よ る 、 当該旧 ソ ース プロ グラ ム の記述齄所を新ソ ース プロ グ ラ ム に変更す る 入力 を受 け付 け る 入力受付部 を具備する あ る環境で動作 していた 旧 ソ ース プロ グ ラ ムか ら他の環境 で動作させる ため の新ソ ース プロ グラ ム を生産する プロ グ ラ ム の生産装置、 で あ る 。 なお、 上述 した よ う に、 上記の 新プ ロ グラ ム 出力部は、 新ソ ース プロ グラ ム の 中で、 命令 パタ ー ン変換部が変換 し た箇所 と変換 し ていな い箇所を視 覚的 に区別 して出力 して も 良 い。 産業上の利用可能性
本発明 にかか る プロ グラ ム変換方法および装置等は、 変 換対象 とす る プロ グ ラ ムが含む命令パタ ー ンの解析が可能 と な り 、 その結果、 効率的に プロ グ ラ ム を移植する方法お よ び装置等 と して有用であ る 。

Claims

請 求 の 範 囲
1 . 旧 ソ ース プロ グラ ム の命令パタ ー ン を示す情報で あ る 第一命令パタ ー ン情報 と新ソ ース プロ グラ ム の命令パタ ー ン を示す情報で あ る第二命令パ タ ー ン情報の対を 1 以上、 記憶部に格納 し てお り 、
旧 ソ ース プロ グ ラ ム にお いて、 前記 1 以上の第一命令パ夕 ー ン情報が何回 出現する か を、 解析手段を用 いて解析する 解析ス テ ッ プ と 、
前記解析ス テ ッ プにお ける解析結果 を、 出力手段を用 いて 出力する解析結果出力ス テ ッ プ と 、
前記解析ス テ ツ プにお いて第一命令パタ ー ン情報の出現,回 数が、 所定回数 (所定回数は 2 以上であ る) 以上であ る と 解析された第一命令パタ ー ン情報に対応する 旧 ソ ース プロ グラ ム の記述箇所を、 当該第一命令パタ ー ン情報 と対にな る第二命令パ タ ー ン情報 に対応する よ う に、 変換手段を用 いて変換する 命令パタ ー ン変換ス テ ッ プ と 、
前記命令パ タ ー ン変換ス テ ッ プにお い て前記 旧 ソ ース プロ グ ラ ム を変換 し た結果であ る新 ソ ース プ ロ グ ラ ム を 、 出 力 手段を用 いて 出 力する新プロ グラ ム 出力ス テ ッ プと 、 前記解析ス テ ッ プにお いて第一命令パタ ー ン情報の 出現回 数が前記所定回数未満であ る と解析さ れた第一命令パ タ ー ン情報 に対応す る 旧 ソ ース プロ グ ラ ム の記述箇所 に対 し て ユーザの手作業 に よ る 当該旧 ソ ース プロ グ ラ ム の記述箇所 を新 ソース プロ グラ ム に変更する 、 入力手段を用 い た入力 を受け付ける ス テ ッ プを具備する 、 あ る環境で動作 して い た プロ グ ラ ム を他の環境で動作さ せる ため の プロ グ ラム 自 動変換方法。
2 . 前記新 プ ロ グ ラ ム 出 力 ス テ ッ プは、 新 ソ ース プロ ダ ラ ム の 中 で、 前記命令パ タ ー ン変換ス テ ッ プで変換 し た箇所 と変換 し て いな い箇所 を視覚的 に 区別 し て 出 力す る請求 の 範囲第 1 項記載の プロ グラ ム 自 動変換方法。
3 . コ ン ピ ュ ータ に、
旧 ソ ース プロ グ ラ ム の命令パタ ー ン を示す情報であ る第一 命令パタ ー ン情報 と新ソ ース プロ グラ ム の命令パ タ ー ン を 示す情報であ る第二命令パタ ー ン情報の対を 1 以上格納 し てお り 、
旧 ソ ース プロ グラ ム にお いて、 前記 1 以上の第一命令パ夕 一ン情報が何回出現する か を解析する解析ス テ ッ プ と 、 前記解析ス テ ッ プにおける解析結果を出力する解析結果出 力ス テ ッ プ と 、
前記解析ス テ ッ プにおいて第一命令パタ ー ン情報の 出現回 数が、 所定回数 (所定回数は 2 以上であ る) 以上であ る と 解析さ れた第一命令パタ ー ン情報に対応する 旧 ソース プロ グ ラ ム の記述箇所を、 当該第一命令パタ ー ン情報 と対にな る第二命令パタ ー ン情報に対応する よ う に変換する命令パ タ ー ン変換ス テ ッ プと、
前記命令パ タ ー ン変換ス テ ッ プで前記 旧 ソ ース プ ロ グ ラ ム を変換 し た結果で あ る 新 プ ロ グ ラ ム を 出 力す る 新 プ ロ ダ ラ ム 出 力ス テ ッ プと 、
前記解析ス テ ッ プにお い て第一命令パ タ ー ン情報 の 出現 回 数が前記所定回数未満で あ る と解析さ れた第一命令パ タ ー ン情報 に対応す る 旧 ソ ース プ ロ グ ラ ム の記述箇所 に対 して ユーザの手作業 に よ る 当 該旧 ソ ース プ ロ グ ラ ム の記述箇所 を新 ソ ース プ ロ グ ラ ム に変更す る 入力 を受 け付 け る ス テ ツ プを実行さ せる ため の プロ グ ラ ム。
4 . 前記新 プ ロ グ ラ ム 出 力 ス テ ッ プは、 新 ソ ー ス プ ロ ダ ラ ム の 中 で、 前記命令パ タ ー ン変換ス テ ッ プで変換 し た箇所 と変換 し て い な い箇所 を視覚的 に 区別 して 出 力す る 請求の 範囲第 3 項記載の プロ グラ ム。
5 . 旧 ソ ース プロ グラ ム の命令パタ ー ン を示す情報であ る 第一命令パタ ー ン情報 と新ソ ース プロ グラム の命令パタ ー ン を示す情報であ る第二命令パ ター ン情報の対を 1 以上、 格納 して い る命令パタ ー ン対応情報格納部 と 、
旧 ソ ース プロ グラム において、 前記 1 以上の第一命令パ夕 ー ン情報が何回 出現する か を解析する解析部 と 、
前記解析部 にお ける 解析結果 を 出力す る解析結果出 力 部 と 前記解析部にお いて第一命令パタ ー ン情報の 出現回数が、' 所定回数 (所定回数は 2 以上であ る) 以上であ る と解析さ れた第一命令パタ ー ン情報 に対応する 旧 ソ ース プロ グラ ム の記述箇所 を、 当該第一命令パタ ー ン情報と対にな る 第二 命令パタ ー ン情報 に対応する よ う に変換する命令パ タ ー ン 変換部 と 、
前記命令パ タ ー ン変換部 にお い て前記 旧 ソ ース プ ロ グ ラ ム を変換 し た結果であ る 新 ソ ース プロ グ ラ ム を 出 力 する 新 プ ロ グ ラ ム 出力部 と 、 前記解析部 にお いて第一命令パ タ ー ン情報の 出現 回数が前 記所定回数未満で あ る と解析 さ れた第一命令パ タ ー ン情報 に対応す る 旧 ソ ース プ ロ グ ラ ム の記述箇所 に対 し て、 ユー ザの手作業 に よ る 、 当 該旧 ソ ース プ ロ グ ラ ム の記述箇所 を 新 ソ ース プ ロ グ ラ ム に変更する 入力 を受 け付け る 入力 受付 部 を具備する プロ グ ラ ム 自 動変換装置。
6 . 前記新 プ ロ グ ラ ム 出 力 部は、 新 ソ ース プ ロ グ ラ ム の 中 で、 前記命令パ タ ー ン変換部が変換 し た箇所 と 変換 し て い な い箇所 を視覚的 に 区別 し て出 力する 請求の範囲第 5 項記 載の プロ グラ ム 自 動変換装置。
7 . 旧 ソ ース プロ グラム にお いて、 1 以上の第一命令パ 夕 一ン情報が何回出現する か を解析する解析ス テ ッ プと 、 前記解析ス テ ッ プにお ける解析結果を出力する解析結果出 力ス テ ッ プと 、
前記解析ス テ ッ プにおいて第一命令パター ン情報の出現回 数が、 所定回数 (所定回数は 2 以上であ る ) 以上であ る と 解析さ れた第一命令パタ ー ン情報 に対応する 旧 ソ ース プロ グラ ム の記述箇所を、 当 該第一命令パタ ー ン情報 と対にな る第二命令パタ ー ン情報 に対応する よ う に変換する命令パ タ ー ン変換ス テ ッ プ と 、
前記命令パ タ ー ン変換ス テ ッ プにお いて前記 旧 ソ ース プ ロ グ ラ ム を変換 し た結果で あ る新 ソ ース プ ロ グ ラ ム を 出 力す る新プロ グラ ム 出力 ステ ッ プと 、 .
前記解析ス テ ッ プにおいて第一命令パタ ー ン情報の 出現回 数が前記所定回数未満で あ る と解析さ れた第一命令パタ ー ン情報 に対応す る 旧 ソ ース プ ロ グラ ム の記述箇所 に対 し て ュ一ザの手作業に よ る 当 該旧 ソ ース プロ グ ラ ム の記述箇所 を新ソース プロ グラ ム に変更する入力 を受 け付ける ス テ ツ プを具備する 、
あ る環境で動作 していた 旧 ソース プロ グ ラ ム か ら 他の環境 で動作させる ため の新 ソ ース プロ グラ ム を生産する プロ グ ラ ム の生産方法。
8 . 前記新 プロ グ ラ ム 出 力 ス テ ッ プは、 新 ソ ース プ ロ ダ ラ ム の 中 で、 前記命令パ タ ー ン変換ス テ ッ プで変換 し た箇所 と変換 し て い な い箇所 を視覚的 に 区別 し て 出力する 請求の 範囲第 7 項記載の プロ グ ラ ム の生産方法。
9 . 旧 ソ ース プロ グラ ム の命令パタ ー ン を示す情報であ る 第一命令パター ン情報 と新ソース プロ グラ ム の命令パタ ー ン を示す情報であ る 第二命令パタ ー ン情報の対を 1 以上、 格納 してい る命令パタ ー ン対応情報格納部 と 、
旧 ソース プロ グラ ム にお いて、 前記 1 以上の第一命令パタ 一ン情報が何回出現する か を解析する解析部 と 、
前記解析部 にお け る解析結果 を 出 力す る解析結果出 力部 と 前記解析部 にお いて第一命令パタ ー ン情報の 出現回数が、 所定回数 (所定回数は 2 以上であ る ) 以上であ る と解析さ れた第一命令パタ ー ン情報 に対応する 旧 ソ ース プロ グ ラ ム の記述箇所を、 当該第一命令パタ ー ン情報 と対にな る第二 命令パタ ー ン情報に対応する よ う に変換する 命令パタ ー ン 変換部 と 、
前記命令パ タ ー ン変換部 にお いて前記 旧 ソ ー ス プ ロ グ ラ ム を変換 し た結果で あ る新 ソ ース プロ グ ラ ム を 出 力する 新 プ ロ グ ラム 出 力部 と 、
前記解析部 にお い て第一命令パ タ ー ン情報 の 出現回数が前 記所定回数未満で あ る と解析 さ れた第一命令パ タ ー ン情報 に対応す る 旧 ソ ース プロ グ ラ ム の記述箇所 に対 し て、 ュ一 ザの手作業 に よ る 、 当 該旧 ソ ース プロ グ ラ ム の記述箇所 を 新 ソ ース プ ロ グ ラ ム に変更する 入力 を受 け付 け る入力 受付 部 を具備す る 、 あ る 環境で動作 し て い た 旧 ソ ース プロ ダ ラ ム か ら 他の環境で動作 さ せ る た め の新 ソ ー ス プ ロ グラ ム を 生産する プロ グ ラ ム の生産装置。
1 0 . 前記新プ ロ グ ラ ム 出 力部 は、 新 ソ ー ス プロ グ ラ ム の 中 で、 前記命令パ タ ー ン変換部が変換 し た箇所 と変換 し て い な い箇所 を視覚的 に 区別 して 出 力す る 請求の範囲第 9 項 記載のプロ グラ ム の生産装置。
PCT/JP2003/015305 2002-12-05 2003-11-28 プログラム自動変換方法およびプログラム自動変換装置 WO2004051470A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2003284504A AU2003284504A1 (en) 2002-12-05 2003-11-28 Program automatic converting method and program automatic converting device
US10/518,090 US7831964B2 (en) 2002-12-05 2003-11-28 Program automatic converting method and program automatic converting device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002354264A JP3494376B1 (ja) 2002-12-05 2002-12-05 プログラム解析装置およびプログラム
JP2002-354264 2002-12-05

Publications (1)

Publication Number Publication Date
WO2004051470A1 true WO2004051470A1 (ja) 2004-06-17

Family

ID=31712378

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/015305 WO2004051470A1 (ja) 2002-12-05 2003-11-28 プログラム自動変換方法およびプログラム自動変換装置

Country Status (6)

Country Link
US (1) US7831964B2 (ja)
JP (1) JP3494376B1 (ja)
KR (1) KR100688444B1 (ja)
CN (1) CN100345116C (ja)
AU (1) AU2003284504A1 (ja)
WO (1) WO2004051470A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100673499B1 (ko) * 2005-01-13 2007-01-24 한국과학기술연구원 디지털 합금 다원 화합물 반도체의 분산 브랙 반사경
JP4712512B2 (ja) * 2005-10-14 2011-06-29 富士通株式会社 プログラム変換プログラム、プログラム変換装置、プログラム変換方法
JP4115511B1 (ja) 2007-05-08 2008-07-09 株式会社システムズ プログラムパターン分析装置、パターン出現状況情報生産方法、パターン情報生成装置、およびプログラム
US8490052B2 (en) * 2008-10-14 2013-07-16 Microsoft Corporation Declarative programming model for authoring and execution control and data flow for resource oriented system
US8533666B2 (en) * 2008-10-17 2013-09-10 Microsoft Corporation Interactive design environments to visually model, debug and execute resource oriented programs
US8635694B2 (en) * 2009-01-10 2014-01-21 Kaspersky Lab Zao Systems and methods for malware classification
JP2012053657A (ja) * 2010-09-01 2012-03-15 Systems:Kk 情報処理装置、情報処理方法、及びプログラム
JP5124660B2 (ja) * 2011-02-01 2013-01-23 株式会社システムズ プログラムの生産方法および生産装置
US8621442B2 (en) * 2011-02-09 2013-12-31 Beek Fund B.V. L.L.C. Quicker translation of a computer program source code
KR20130097252A (ko) * 2012-02-23 2013-09-03 삼성전자주식회사 소스 코드 분석에 의한 응용 프로그램 분석을 위한 방법 및 장치
JP6019843B2 (ja) * 2012-07-11 2016-11-02 富士通株式会社 拡張言語仕様情報提供方法、拡張言語仕様情報提供プログラム、およびコンパイル装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01290036A (ja) * 1988-05-18 1989-11-21 Nec Corp ソースメンバの文字列圧縮方式
JPH0553822A (ja) * 1991-08-27 1993-03-05 Matsushita Electric Ind Co Ltd 共通部分式文の削除方法及びその装置
JPH05324343A (ja) * 1992-05-22 1993-12-07 Hitachi Software Eng Co Ltd プログラムコンバートシステム
JPH086815A (ja) * 1994-06-21 1996-01-12 Mitsubishi Electric Corp デバッグ装置、コンパイラ及び統計解析装置
JPH1046837A (ja) * 1996-07-31 1998-02-17 Concrete Kooring Kk 工事用機械装置
JPH11224199A (ja) * 1998-02-06 1999-08-17 Matsushita Electric Ind Co Ltd 翻訳装置と情報処理装置および記録媒体
US6014519A (en) * 1996-08-19 2000-01-11 Nec Corporation Language processing unit and a language processing method to translate a source program and generate an object module file
JP2002014826A (ja) * 2000-06-29 2002-01-18 Toshiba Corp インタプリタおよびそのプログラム実行方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0769830B2 (ja) * 1987-08-18 1995-07-31 日本電気株式会社 展開制御機能をもつプログラム翻訳装置
JPH0542513Y2 (ja) 1987-09-16 1993-10-26
JP3237869B2 (ja) * 1991-06-26 2001-12-10 株式会社東芝 電力系統運用訓練シミュレータ
JPH0778742B2 (ja) * 1992-08-12 1995-08-23 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピユータ・プログラム言語変換装置及びその方法
JP3907716B2 (ja) * 1995-06-29 2007-04-18 株式会社エース電研 遊技機
US5950004A (en) * 1996-09-13 1999-09-07 The United States Of America As Represented By The Secretary Of The Navy Model-based process for translating test programs
US6044220A (en) * 1997-02-25 2000-03-28 Motorola, Inc. Method and apparatus for operating a data processor to execute software written using a foreign instruction set
CN1652107A (zh) * 1998-06-04 2005-08-10 松下电器产业株式会社 语言变换规则产生装置、语言变换装置及程序记录媒体
US6901588B1 (en) * 2000-04-17 2005-05-31 Codemesh, Inc. Sharing components between programming languages by use of polymorphic proxy
JP2002001486A (ja) * 2000-06-20 2002-01-08 Asahi Tec Corp 地下構造物用蓋体の鋳型装置
US7086046B2 (en) * 2001-07-30 2006-08-01 International Business Machines Corporation Method and apparatus for displaying compiler-optimizated code

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01290036A (ja) * 1988-05-18 1989-11-21 Nec Corp ソースメンバの文字列圧縮方式
JPH0553822A (ja) * 1991-08-27 1993-03-05 Matsushita Electric Ind Co Ltd 共通部分式文の削除方法及びその装置
JPH05324343A (ja) * 1992-05-22 1993-12-07 Hitachi Software Eng Co Ltd プログラムコンバートシステム
JPH086815A (ja) * 1994-06-21 1996-01-12 Mitsubishi Electric Corp デバッグ装置、コンパイラ及び統計解析装置
JPH1046837A (ja) * 1996-07-31 1998-02-17 Concrete Kooring Kk 工事用機械装置
US6014519A (en) * 1996-08-19 2000-01-11 Nec Corporation Language processing unit and a language processing method to translate a source program and generate an object module file
JPH11224199A (ja) * 1998-02-06 1999-08-17 Matsushita Electric Ind Co Ltd 翻訳装置と情報処理装置および記録媒体
JP2002014826A (ja) * 2000-06-29 2002-01-18 Toshiba Corp インタプリタおよびそのプログラム実行方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"ACOS Software ACOS-6/NVX SEA/1 CASEWORLD Pattern", 1993, FIRST EDITION, JP, NEC CORP., article "Buhin Toroku Riyo no Tebiki FPI76-1", pages: 8 - 14, XP002976289 *

Also Published As

Publication number Publication date
CN1692334A (zh) 2005-11-02
US20060156292A1 (en) 2006-07-13
KR20050030896A (ko) 2005-03-31
CN100345116C (zh) 2007-10-24
US7831964B2 (en) 2010-11-09
JP2004185508A (ja) 2004-07-02
KR100688444B1 (ko) 2007-03-02
JP3494376B1 (ja) 2004-02-09
AU2003284504A1 (en) 2004-06-23

Similar Documents

Publication Publication Date Title
CN111142903B (zh) 一种基于文件对比的配置文件交互式更新方法及装置
US8091071B2 (en) Method and system for template-based code generation
US20040068715A1 (en) System and method for migration of software
US20040049768A1 (en) Method and program for compiling processing, and computer-readable medium recoding the program thereof
JP2005011345A (ja) コードセグメント作成方法及びそのシステム
JP4370525B2 (ja) アプリケーション環境チェック装置及び方法とそのプログラム
US20090037801A1 (en) Method and apparatus for automatic user manual generation
WO2004051470A1 (ja) プログラム自動変換方法およびプログラム自動変換装置
US7043720B2 (en) Mechanism for reformatting a simple source code statement into a compound source code statement
US10656922B2 (en) Systems and methods for providing an application transformation tool
CN113778897A (zh) 接口的自动测试方法、装置、设备及存储介质
Zhang et al. Automated Extraction of Grammar Optimization Rule Configurations for Metamodel-Grammar Co-evolution
JP5041990B2 (ja) ソフトウェア部品抽出支援装置
GB2397905A (en) Method for automatically generating and ordering test scripts
WO2007097014A1 (ja) 情報システムの動作確認方法、その動作確認プログラム、記録媒体及び動作確認システム
JP4983027B2 (ja) チェックプログラム及びチェック方法
CN112699011A (zh) 统计增量代码覆盖率的方法、装置及电子设备、存储介质
JP2019179383A (ja) Api処理方法、端末、api処理プログラム
JP4698943B2 (ja) プログラム生産方法、プログラム生産装置、プログラム自動変換方法、およびプログラム
JP2011113298A (ja) 流用ソースコード解析システム及びプログラム並びに記録媒体
KR100656559B1 (ko) Bibd 방법론을 이용하는 프로그램 자동 개발 장치
JP4472768B2 (ja) プログラム解析装置、プログラム解析方法、およびプログラム
JP4354514B2 (ja) プログラム自動変換方法、プログラム自動変換装置、およびプログラム
Lavorato et al. LL (k) optimization of a network protocol parser generator.
JP6653205B2 (ja) プログラムソース変換方法、プログラムソース変換装置、情報処理装置、情報処理方法、および、プログラム

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1020047018061

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 20038A04739

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2685/CHENP/2004

Country of ref document: IN

WWP Wipo information: published in national office

Ref document number: 1020047018061

Country of ref document: KR

ENP Entry into the national phase

Ref document number: 2006156292

Country of ref document: US

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 10518090

Country of ref document: US

122 Ep: pct application non-entry in european phase
WWP Wipo information: published in national office

Ref document number: 10518090

Country of ref document: US