×

Development system with improved methods for recompiling dependent code modules

  • US 5,978,585 A
  • Filed: 03/27/1997
  • Issued: 11/02/1999
  • Est. Priority Date: 03/27/1997
  • Status: Expired due to Term
First Claim
Patent Images

1. In a development system for creating a software program by a process which includes compiling a hierarchy of interdependent source code modules, wherein some of the source code modules are dependent on imports comprising symbol information imported from others of the source code modules, a method for recompiling only those particular source code modules which require recompilation when a modification occurs to any one of said source code modules, the method comprising:

  • (a) beginning with a source code module which serves as a root source code module of said hierarchy of interdependent source code modules, determining whether a particular source code module under examination has itself been modified;

    (b) if the particular source code module has itself been modified, recompiling the particular source code module, including invoking the method for each source code module which provides imports to the particular source code module, for determining which source code modules providing imports require recompilation, and thereafter terminating execution of the method; and

    (c) if the particular source code module has not itself been modified, examining each import of the particular source code module by performing substeps of;

    (i) if none of the imports have themselves been modified since last compiling the particular source code module, terminating execution of the method,(ii) if some of the imports have themselves been modified since last compiling the particular source code module, invoking the method for each source code module which provides imports to the particular source code module, for determining which source code modules providing imports require recompilation,(iii) if any of the imports have been recompiled and if the particular source code module extends from imports which have changed symbol information and which have been recompiled, recompiling the particular source code module and thereafter terminating execution of the method, and(iv) if any of the imports have been recompiled and if the particular source code module does not extend from imports which have changed symbol information and which have been recompiled, performing substeps of;

    determining whether any of the imports include a symbol which has changed and which is used by the particular source code module, andrecompiling the particular source code module if any import includes a symbol which has changed and which is used by the particular source code module, and thereafter terminating execution of the method.

View all claims
  • 10 Assignments
Timeline View
Assignment View
    ×
    ×