Interactive software development system
First Claim
1. A method for interactively developing a computer program, the method resulting in the production of machine-executable object code, the method having the characteristic of being free of the production of object files and executable files and comprising the steps of:
- compiling source code into the machine-executable object code directly into memory for retention after execution of the machine-executable object code; and
manipulating the computer program during development of the computer program, the manipulating being free of the necessity for terminating and restarting the program during manipulation.
5 Assignments
0 Petitions
Accused Products
Abstract
An interactive program development system which replaces compilers, linkers and debuggers required for conventional software development. The present invention comprises a new program compilation system for producing a novel type of translated structure called a code object, and an Incremental Image which forms the program image from code objects and their respective intermediate language symbols stored in a persistent symbol table. The new program compilation system operates on conventional computers having a CPU, monitor, memory system and input devices. The present invention obviates the need to halt execution of a program under development or during maintenance update to correct programming errors.
-
Citations
17 Claims
-
1. A method for interactively developing a computer program, the method resulting in the production of machine-executable object code, the method having the characteristic of being free of the production of object files and executable files and comprising the steps of:
-
compiling source code into the machine-executable object code directly into memory for retention after execution of the machine-executable object code; and manipulating the computer program during development of the computer program, the manipulating being free of the necessity for terminating and restarting the program during manipulation. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for interactively developing a computer program on a computer including persistent memory, the method resulting in the production of machine-executable object code from a source code file and comprising the steps of:
-
translating the source code files into code objects, code objects being low level data structures defining the fully translated machine language implementation of at least one of a function definition and an initial value of a variable which refers to other code objects by means of direct memory reference; storing the code objects and their corresponding intermediate language symbols in a persistent symbol table implemented in persistent memory; forming run-time code objects from the code objects and their corresponding intermediate language symbols; linking together run-time code objects to form an executable program image; and coordinating the program image with the computer program. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. An interactive computer program development system that enables real-time debugging of a computer program as it is compiled without the need for batch recompilation, re-linking, re-loading or the need for the developer to re-create error states, said system comprising:
-
a computer system having a given set of source code files, and having first and second internal processes; a debugger resident in said computer system for debugging said given set of source code files; an incremental builder resident in said computer system which when invoked translates said source code files into code objects and their corresponding intermediate language (IL) symbols, said incremental builder being associated with said first internal process for forming said code objects and program units into a built program which is executable; a persistent symbol table resident in said computer system for storing said code objects and IL symbols; an incremental imager resident in said computer system that utilizes said code objects and IL symbols to form runtime code objects, said incremental imager being associated with said first internal process for combining together said runtime code objects to form a program image which is executable, said incremental imager introducing a branch instruction at the beginning of each of said runtime code objects; a runner resident in said computer system that executes said built program in said second internal process, said runner finalizing said program image and executing said program image in said second internal process; and a probe module resident in said computer system and in said first internal process for coordinating actions of said incremental imager and said runner; whereby said program image defining said program, utilizing shared memory data, is simultaneously executed and incrementally manipulated to reflect changes in said source code defining said program. - View Dependent Claims (14, 15, 16, 17)
-
Specification