method and system for merging files having a parallel format
First Claim
1. A method of merging a first file with a second file, wherein the first and second files comprise a visual part for controlling a visual presentation displayed by a data processor and a script part for controlling when the data processor displays the visual presentation, the method comprising the steps of:
- examining the first file, the first file comprising a plurality of ordered blocks, each block comprising a block identifier, a visual part, and a script part, wherein the visual part comprises a plurality of visual attributes, and wherein the script part comprises a list of events and corresponding responses;
examining the second file, the second file comprising a plurality of ordered blocks, each block comprising a block identifier, a visual part, and a script part, wherein the visual part comprises a plurality of visual attributes, and wherein the script part comprises a list of events and corresponding responses;
comparing the plurality of block identifiers in the first file with the plurality of block identifiers in the second file;
creating a block association table, the block association table containing block entries, each block entry containing an equivalent pair of block identifiers such that one of the block identifiers in the pair is from the first file and the other block identifier is from the second file;
for each block identifier in the first file that is not represented in the block association table, copying the corresponding ordered block from the first file into the second file;
for each block identifier in the second file that is not represented in the block association table, deleting the corresponding ordered block from the second file;
for each block entry in the block association table,selecting a first ordered block from the first file and a second ordered block from the second file, wherein the first ordered block and the second ordered block correspond to the pair of block identifiers;
comparing the visual part of the first ordered block to the visual part of the second ordered block;
creating a visual association table, the visual association table containing visual entries, each visual entry containing an equivalent pair of visual attributes such that one of the visual attributes in the pair is from the first ordered block and the other visual attribute is from the second ordered block;
for each visual entry in the visual association table, mapping the visual attribute from the second ordered block to the visual attribute from the first ordered block;
comparing the script part of the first ordered block to the script part of the second ordered block;
creating a script association table, the script association table containing script entries, each script entry containing an equivalent pair of events and corresponding responses such that one of the events and corresponding responses in the pair is from the first ordered block and the other event and corresponding response is from the second ordered block;
for each script entry in the script association table, mapping the event and corresponding response from the second ordered block to the event and corresponding response from the first ordered block; and
for each event and corresponding response from the first ordered block that is not represented in the script association table, copying the event and corresponding response into the second ordered block; and
for each event and corresponding response from the second ordered block that is not represented in the script association table, deleting the event and corresponding response from the second ordered block.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for merging a first file with a second file to produce an output file, wherein the first and second files are uniquely modified versions of an original file, are discussed. In a preferred embodiment, a computer program can be efficiently developed with versions in multiple natural languages because modifications made in the original version are identified and incorporated into translated versions. The first and second files contain text instructions for controlling a computer system to output text in respective natural languages, and graphics instructions for controlling a computer system to output graphics. A merge utility determines the differences and similarities between the first and second files by comparing the text and graphics instructions of the files.
-
Citations
9 Claims
-
1. A method of merging a first file with a second file, wherein the first and second files comprise a visual part for controlling a visual presentation displayed by a data processor and a script part for controlling when the data processor displays the visual presentation, the method comprising the steps of:
-
examining the first file, the first file comprising a plurality of ordered blocks, each block comprising a block identifier, a visual part, and a script part, wherein the visual part comprises a plurality of visual attributes, and wherein the script part comprises a list of events and corresponding responses; examining the second file, the second file comprising a plurality of ordered blocks, each block comprising a block identifier, a visual part, and a script part, wherein the visual part comprises a plurality of visual attributes, and wherein the script part comprises a list of events and corresponding responses; comparing the plurality of block identifiers in the first file with the plurality of block identifiers in the second file; creating a block association table, the block association table containing block entries, each block entry containing an equivalent pair of block identifiers such that one of the block identifiers in the pair is from the first file and the other block identifier is from the second file; for each block identifier in the first file that is not represented in the block association table, copying the corresponding ordered block from the first file into the second file; for each block identifier in the second file that is not represented in the block association table, deleting the corresponding ordered block from the second file; for each block entry in the block association table, selecting a first ordered block from the first file and a second ordered block from the second file, wherein the first ordered block and the second ordered block correspond to the pair of block identifiers; comparing the visual part of the first ordered block to the visual part of the second ordered block; creating a visual association table, the visual association table containing visual entries, each visual entry containing an equivalent pair of visual attributes such that one of the visual attributes in the pair is from the first ordered block and the other visual attribute is from the second ordered block; for each visual entry in the visual association table, mapping the visual attribute from the second ordered block to the visual attribute from the first ordered block; comparing the script part of the first ordered block to the script part of the second ordered block; creating a script association table, the script association table containing script entries, each script entry containing an equivalent pair of events and corresponding responses such that one of the events and corresponding responses in the pair is from the first ordered block and the other event and corresponding response is from the second ordered block; for each script entry in the script association table, mapping the event and corresponding response from the second ordered block to the event and corresponding response from the first ordered block; and for each event and corresponding response from the first ordered block that is not represented in the script association table, copying the event and corresponding response into the second ordered block; and for each event and corresponding response from the second ordered block that is not represented in the script association table, deleting the event and corresponding response from the second ordered block. - View Dependent Claims (2)
-
-
3. A method in a computer system for merging a first file and a second file into an output file, the computer system having a display, the first file and the second file containing instructions to display graphical objects on the display, each graphical object having attributes, comprising the computer-implemented steps of:
-
comparing the instructions in the first file to the instructions in the second file to identify equivalent instructions that are found in both the first file and the second file; comparing the instructions in the first file to the instructions in the second file to identify partially matching instructions, wherein a first instruction and a second instruction are partially matching instructions when the first instruction causes a graphical object to be displayed that has at least one attribute that is equivalent to at least one attribute of a graphical object that is caused to be displayed by the second instruction; comparing the instructions in the first file to the instructions in the second file to identify additional instructions in the first file that are not in the second file; storing the equivalent instructions from the second file in the output file; storing the partially matching instructions from the second file in the output file; and storing the additional instructions in the output file.
-
-
4. A computer-readable medium that causes a computer system to merge a first file and a second file into an output file, the computer system having a display, the first file and the second file containing instructions to display graphical objects on the display, each graphical object having attributes, by performing the steps of:
-
comparing the instructions in the first file to the instructions in the second file to identify equivalent instructions that are found in both the first file and the second file; comparing the instructions in the first file to the instructions in the second file to identify partially matching instructions, wherein a first instruction and a second instruction are partially matching instructions when the first instruction causes a graphical object to be displayed that has at least one attribute that is equivalent to at least one attribute of a graphical object that is caused to be displayed by the second instruction; comparing the instructions in the first file to the instructions in the second file to identify additional instructions in the first file that are not in the second file; storing the equivalent instructions from the second file in the output file; storing the partially matched instructions from the second file in the output file; and storing the additional instructions in the output file.
-
-
5. A method in a computer system for performing a merge of a first file and a second file into an output file, the first file and the second file containing blocks, each block having an identifier and containing instruction, wherein a plurality of the instructions cause the computer system to display a graphical object having attributes, comprising the computer-implemented steps of:
-
comparing the block identifiers of the first file with the block identifiers of the second file to identify a pair of blocks formed by a block in the first file and a block in the second file that have equivalent block identifiers and to identify additional blocks that are in the first file and not in the second file; storing the additional blocks in the output file; for each pair of blocks identified as having equivalent block identifiers, comparing the instructions in the block from the first file to the instructions in the block from the second file to identify equivalent instructions in the block of the first file that are equivalent to instructions in the block of the second file, to identify additional instructions in the block of the first file that are not in the block of the second file, and to determine partially matching instructions, wherein a first instruction and second instruction are partially matching instructions when at least one of the attributes of the graphical object that is caused to be displayed by the first instruction is equivalent to at least one of the attributes of the graphical object that is caused to be displayed by the second instruction; storing the equivalent instructions from the block in the second file in the output file; and storing the additional instructions in the output file. - View Dependent Claims (6, 7, 8, 9)
-
Specification