Incremental compiler for source-code development system
AssigneeDigital Equipment Corporation
InventorsWilliam M. McKeeman, Shota Aki
Life of this patent
Estimating the term…
Loading patent…
AssigneeDigital Equipment Corporation
InventorsWilliam M. McKeeman, Shota Aki
Estimating the term…
A computer-aided software development system includes programs to implement edit, compile, link and run sequences, all from memory, at very high speed. The compiler operates on an incremental basis, line-by-line, so if only one line is changed in an edit session, then only that line need be recompiled if no other code is affected. Scanning is done incrementally, and the resulting token list saved in memory to be used again where no changes are made. All of the linking tables are saved in memory so there is no need to generate link tables for increments of code where no changes in links are needed. The parser is able to skip lines or blocks of lines of source code which haven't been changed; for this purpose, each line of source text in the editor has a change-tag to indicate whether this line has been changed, and from this change-tag information a clean-lines table is built having a clean-lines indication for each line of source code, indicating how many clean lines follow the present line. All of the source code text modules, the token lists, symbol tables, code tables and related data saved from one compile to another are maintained in virtual memory rather than in files so that speed of operation is enhanced. Also, the object code created is maintained in memory rather than in a file, and executed from this memory image, to reduce delays. A virtual memory management arrangement for the system assures that all of the needed data modules and code is present in real memory by page swapping, but with a minimum of page faults, again to enhance operating speed.
A method of performing an edit-compile-link-run cycle upon source text using a programming development system executing on a computer, comprising the steps of:
A method of operating a source code development system on a computer, wherein a module of source text is first created in a step of editing by using an editor, said module being created in a source-text buffer as a plurality of lines including lines to be sequentially executed,
A system for use on a computer in developing source code, wherein a module of source code is created and edited in a source-text buffer as a plurality of lines including lines to be sequentially executed, the source code from said buffer is compiled to produce object code in a code table, said code table is linked to produce a code image of executable object code, and said code image is executed to determine if there are errors in said source code, said system comprising:
A method executing on a computer for incrementally recompiling a module of source text which has been previously compiled from a source-text buffer and linked to create a code image of executable object code, said code image being executed to detect errors in said source text, said module containing a plurality of lines of source text, comprising the steps of:
Dependencies are inferred from the claim text.