System and method for conditionally compiling a software compilation unit
First Claim
1. A method of conditionally recompiling a compilation unit having a plurality of source code modules, comprising the steps of:
- (1) selecting;
(i) compilation unit having a plurality of source code modules, said source code modules being non-compilation units and being explicitly incorporated into said compilation unit upon a compilation of said compilation unit, and(ii) one of said source code modules;
(2) determining whether it is necessary to generate a new condensed representation of said selected source code module;
(3) generating a new condensed representation of said selected source code module subject to said determination of step (2);
(4) identifying changes between said new condensed representation of said selected source code module and an old condensed representation of said selected source code module;
(5) classifying each of said changes as one of a compatible change and an incompatible change, an incompatible change being a change that requires recompilation of said compilation unit, and a compatible change being a change that does not require recompilation of said compilation unit; and
(6) enabling recompilation of said compilation unit if any of said changes is classified as being an incompatible change.
7 Assignments
0 Petitions
Accused Products
Abstract
A system and method for conditionally recompiling a compilation unit having a plurality of source code modules operates by selecting one of the source code modules, and determining whether it is necessary to generate a new condensed representation of the selected source code module. A new condensed representation of the selected source code module is generated if such generation is determined as being necessary. Changes between the new condensed representation of the selected source code module and an old condensed representation of the selected source code module are identified. Each of these changes is classified as either a compatible change or an incompatible change. An incompatible change is a change that requires recompilation of the compilation unit. A compatible change is a change that does not require recompilation of the compilation unit. The compilation unit is recompiled if any of the changes is classified as being an incompatible change.
-
Citations
19 Claims
-
1. A method of conditionally recompiling a compilation unit having a plurality of source code modules, comprising the steps of:
-
(1) selecting; (i) compilation unit having a plurality of source code modules, said source code modules being non-compilation units and being explicitly incorporated into said compilation unit upon a compilation of said compilation unit, and (ii) one of said source code modules; (2) determining whether it is necessary to generate a new condensed representation of said selected source code module; (3) generating a new condensed representation of said selected source code module subject to said determination of step (2); (4) identifying changes between said new condensed representation of said selected source code module and an old condensed representation of said selected source code module; (5) classifying each of said changes as one of a compatible change and an incompatible change, an incompatible change being a change that requires recompilation of said compilation unit, and a compatible change being a change that does not require recompilation of said compilation unit; and (6) enabling recompilation of said compilation unit if any of said changes is classified as being an incompatible change. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system of conditionally recompiling a compilation unit having a plurality of source code modules, comprising:
-
compilation unit selecting means for selecting a compilation unit having a plurality of source code modules, said source code modules being non-compilation units and being explicitly incorporated into said compilation unit upon a compilation of said compilation unit; module selecting means for selecting one of said source code modules; module generation determining means for determining whether it is necessary to generate a new condensed representation of said selected source code module; condensed representation generating means for generating a new condensed representation of said selected source code module subject to said determination of said module generation determining means; change identifying means for identifying changes between said new condensed representation of said selected source code module and an old condensed representation of said selected source code module; change classifying means for classifying each of said changes as one of a compatible change and an incompatible change, an incompatible change being a change that requires recompilation of said compilation unit, and a compatible change being a change that does not require recompilation of said compilation unit; and compilation enabling means for enabling recompilation of said compilation unit if any of said changes is classified as being an incompatible change. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A compiler pre-processor for determining whether it is necessary to recompile a compilation unit having a plurality of source code modules, comprising:
-
compilation unit selecting means for selecting a compilation unit having a plurality of source to code modules, said source code modules being non-compilation units and being explicitly incorporated into said compilation unit upon a compilation of said compilation unit; module selecting means for selecting one of said source code modules; module generation determining means for determining whether it is necessary to generate a new condensed representation of said selected source code module; condensed representation generating means for generating a new condensed representation of said selected source code module subject to said determination of said module generation determining means; change identifying means for identifying changes between said new condensed representation of said selected source code module and an old condensed representation of said selected source code module; change classifying means for classifying each of said changes as one of a compatible change and an incompatible change, an incompatible change being a change that requires recompilation of said compilation unit, and a compatible change being a change that does not require recompilation of said compilation unit; and compilation enabling means for enabling recompilation of said compilation unit if any of said changes is classified as being an incompatible change. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification