Patents Examined by Peter J. Corcoran, III
  • Patent number: 5822592
    Abstract: A first improved method is disclosed for constructing a parse tree. The parse tree includes parse tree node records including a child pointer field, a sibling pointer field and an end position field. The improvement comprises storing information in the end position field. The information being selected from the group of an end position value and a parent node address. A second improved method is disclosed for identifying a source code segment associated with a first parse tree node record. The improvement comprises the step of determining the start position of the source code segment based on a variant field of the first node record and a variant field of a second node record. The improvement further comprises the step of determining the end position of the source code segment based on the variant field of the first node record.
    Type: Grant
    Filed: January 30, 1997
    Date of Patent: October 13, 1998
    Assignee: US West Technologies, Inc.
    Inventor: Jianhua Zhu
  • Patent number: 5819094
    Abstract: An apparatus for log data collection and analysis, which provides a history diagram to visualize program behavior and enhanced tools for analysis by utilizing part-to-part association between the history diagram and a source program. A log data collector collects log records during program execution and stores them in a storage unit. A log data analyzer retrieves and analyzes the records to find the types of program operations and their respective execution time. A diagram generator converts the result of the analysis into a history diagram and outputs it to a display unit. The apparatus further comprises an on-screen position designator and program location analyzer. When a user selects a part of the history diagram, the on-screen position designator obtains its coordinate.
    Type: Grant
    Filed: September 18, 1996
    Date of Patent: October 6, 1998
    Assignee: Fujitsu Ltd.
    Inventors: Yuji Sato, Norihisa Murayama
  • Patent number: 5815715
    Abstract: A computing system (10) and a method for designing the computing system (10) using hardware and software components. The computing system (10) includes programmable coprocessors (12, 13) having the same architectural style. Each coprocessor includes a sequencer (36) and a programmable interconnect network (34) and a varying number of functional units and storage elements. The computing system (10) is designed by using a compiler (71) to generate a host microprocessor code from a portion of an application software code and a coprocessor code from the portion of the application software code. The compiler (71) uses the host microprocessor code to determine the execution speed of the host microprocessor and the coprocessor code to determine the execution speed of the coprocessor and selects one of the host microprocessor or the coprocessor for execution of the portion of the application software code. Then the compiler (71) creates a code that serves as the software program.
    Type: Grant
    Filed: June 5, 1995
    Date of Patent: September 29, 1998
    Assignee: Motorola, Inc.
    Inventor: Kayhan Ku.cedilla.uk.cedilla.akar
  • Patent number: 5815714
    Abstract: A method and apparatus for re-generating debug commands is provided comprising a source program having embedded debug commands in a first distinguishable field, and an assembler. The assembler operates on the source code extracting the embedded debug commands and associated address information from the source code while generating object code. The debug commands are stored in a command file for use during simulation. A simulator executes the assembled object code in conjunction with a debugger which executes the stored debug commands as designated during the execution cycle. Upon the termination of a simulation run and the subsequent modification of the source program, the debug commands are automatically re-generated with correct addresses as determined during the subsequent assembly. When the edited source file is loaded, the break-points are cleared and a new command file is executed to insure that the break-points are relocated to the correct source lines.
    Type: Grant
    Filed: April 21, 1997
    Date of Patent: September 29, 1998
    Assignee: Hitachi America, Ltd.
    Inventors: Avadhani Shridhar, John Simons
  • Patent number: 5815717
    Abstract: Automatic generation of an application program is performed by a programmed system including a guided editor for establishing program, data and field definitions from input event elements. A sequence generator, coupled to the guided editor, autonomously processes the program, data and field definitions into descriptive atomic sequences, each describing a unique characteristic such that a plurality of frames describes the input event elements. A rule processor, including a program rule base describing the structure and operation of an application program, autonomously processes the program rule base with the descriptive atomic sequences unifying the descriptive atomic sequences with the structure and operation of the application program. A syntax processor, including a language syntax rule base, autonomously unifies the descriptive atomic sequences with the language syntax to provide a coded representation of the application program.
    Type: Grant
    Filed: October 27, 1995
    Date of Patent: September 29, 1998
    Assignee: Authorgenics, Inc.
    Inventor: Brian T. Stack
  • Patent number: 5815713
    Abstract: The present invention transforms a declarative language specification of a problem into a procedural language specification of the problem. The present invention includes a partitioning module (16) for partitioning the problem into a set of sequenced, independent sub-problems in accordance with a set of refinement laws and an implement module (30) for generating procedural language implementations of each of the sub-problems using a set of domain specific heuristics applied by a guaranteed sharing module (22), a selection module (24), a share module (26) and a prune module (28) to a set of options generated by a form option module (20) for each of the sequenced, independent sub-problems in accordance with a given optimization level.
    Type: Grant
    Filed: June 7, 1995
    Date of Patent: September 29, 1998
    Assignee: Sterling Software, Inc.
    Inventor: Paul Sanders
  • Patent number: 5812851
    Abstract: A system and method provides for variable target outputs from a compiler with only a single execution. The compiler includes a front end, a generic back end, and plurality of individual back ends that are dynamically loaded by the compiler during execution. The front end produces an abstract syntax tree which is then processed by the generic back end and the individual back ends to produce a number of back end trees, each adapted for a specific back end, and representative of the desired structure of the various target outputs, including target code files, or events. The generic back end traverses the abstract syntax tree, and on each node of the tree, invokes each back end that has a node of its back end tree attached thereto. The back end can then modify its own back end tree, and attach further back end nodes to other nodes of the abstract syntax tree.
    Type: Grant
    Filed: March 21, 1997
    Date of Patent: September 22, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Jacob Y. Levy, Swee Boon Lim, Donald J. Kretsch, Wesley E. Mitchell, Benjamin Lerner
  • Patent number: 5812850
    Abstract: A human oriented object programming system provides an interactive and dynamic process for debugging computer programs which facilitates the development of complex computer programs such as operating systems and large applications with graphic user interfaces (GUIs). The debugging system uses a database of information relating machine executable code to source code. The database is developed during the compilation process using an extensible object-oriented set of tools. The tools standardize the information developed during compilation into an information format which the debugging system can utilize to provide the user with a powerful source code view of the corresponding executing code.
    Type: Grant
    Filed: November 13, 1995
    Date of Patent: September 22, 1998
    Assignee: Object Technology Licensing Corp.
    Inventor: Michael D. Wimble
  • Patent number: 5812853
    Abstract: A method and apparatus for processing source code in a language processing system with improved parsing based on prefix analysis. A method in accordance with the present invention includes the steps of identifying a previously-parsed prefix of a source code translation unit; creating a parser in a parser state corresponding to the identified prefix; and parsing a remaining portion of the translation unit after the prefix using the parser in the parser state corresponding to the prefix. In one embodiment of the invention, the step of creating a parser includes retrieving stored level-one subtrees corresponding to the top-level statements in the prefix. The level-one subtrees corresponding to the prefix may be stored in the form of a prefix tree along with the text of the top-level source code statements represented by the prefix and a parser delta indicating the effect of the code statements on the parser state.
    Type: Grant
    Filed: April 11, 1994
    Date of Patent: September 22, 1998
    Assignee: Lucent Technologies Inc.
    Inventors: Martin D. Carroll, Peter Juhl, Andrew Richard Koenig
  • Patent number: 5809308
    Abstract: Apparatus and methods are disclosed for determining a recurrence minimum iteration interval (rmii) vector for use in modulo scheduling target program instructions during the code optimization pass of an optimizing compiler. Most modem microprocessors have the ability to issue multiple instructions in one clock cycle and/or possess multiple pipelined functional units. They also have the ability to add two values to form the address within memory load and store instructions. For such microprocessors this invention can, where applicable, accelerate the process of modulo-scheduling target program loops. The invention consists of a technique to determine a rmii vector, which is a set of rmii values which correspond to different values of instruction load latency. The disclosed invention makes the determination of the entire vector with only minimal effort over determining a single rmii value.
    Type: Grant
    Filed: November 17, 1995
    Date of Patent: September 15, 1998
    Assignee: Sun Microsystems, Inc.
    Inventor: Partha P. Tirumalai
  • Patent number: 5805890
    Abstract: A debugger for use in connection with a parallel computer including a plurality of processing nodes. The debugger enables the operator to establish a processing node set in response to certain criteria, such as the respective identifications of the processing node and their prior processing under the debugger. The debugger, in response to a processing node set establishment command from the operator, enables each processing node to establish and condition a set membership flag in response to the operator-supplied set membership criteria. The debugger is then responsive to a debugging command from the operator to enable the processing nodes to use their respective set membership flags to condition their execution of the debugging command.
    Type: Grant
    Filed: May 15, 1995
    Date of Patent: September 8, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Joshua E. Simons, Karen C. Jourdenais, Steven J. Sistare
  • Patent number: 5805899
    Abstract: A method and apparatus for providing versioning information for a plurality of software objects. When an object is compiled and linked, at build time, the link-editor creates a version definition section and a version symbol section in the object that specify the global symbols defined in various versions of the object. The object can be a shared object, a relocatable object, or a dynamic executable object. When an application software program is linked with the versioned object, at build time, the linker-editor creates a version dependency section in the resulting dynamic executable object that specifies which version of the object is required for execution of the software application program. At runtime, the runtime-linker determines whether all required versions of the object are present before the program is executed. The invention allows the definition of "weak" versions that do not contain new global symbols.
    Type: Grant
    Filed: July 6, 1995
    Date of Patent: September 8, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Rodrick I. Evans, Robert A. Gingell
  • Patent number: 5802373
    Abstract: A computer system for executing a binary image conversion system which converts instructions from a instruction set of a first, non native computer system to a second, different, native computer system, includes an run-time system which in response to a non-native image of an application program written for a non-native instruction set provides an native instruction or a native instruction routine. The run-time system collects profile data in response to execution of the native instructions to determine execution characteristics of the non-native instruction. Thereafter, the non-native instructions and the profile statistics are fed to a binary translator operating in a background mode and which is responsive to the profile data generated by the run-time system to form a translated native image. The run-time system and the binary translator are under the control of a server process.
    Type: Grant
    Filed: January 29, 1996
    Date of Patent: September 1, 1998
    Assignee: Digital Equipment Corporation
    Inventors: John S. Yates, Stephen C. Root
  • Patent number: 5799192
    Abstract: The processing contents which change according to the specification of the tool encapsulation are provided through descriptions in the user interface definition file, the parameter definition file and the invocation command definition file. The environment file defines if each of the definition files is to be used or not. The processing system reads the contents of the definition files and converts those into the function presented by the framework to realize the tool encapsulation. The tool encapsulation for the plural kinds of frameworks can be realized with a single common description not using extension languages presented by the frameworks, so that the tool encapsulation operation for the plural kinds of frameworks is considerably shortened and the maintenance efficiency is also improved.
    Type: Grant
    Filed: October 28, 1996
    Date of Patent: August 25, 1998
    Assignee: Mitsubishi Denki Kabushiki Kaisha
    Inventor: Mitsuhiro Yasuda
  • Patent number: 5794043
    Abstract: The method is for testing classes of an object oriented program available for the first time.Classes are tested in that the tester interactively inputs test commands with which method calls are possible. The checking of the test results is likewise possible in interactive fashion.The testability is achieved in that the required call parameters are calculated in advance for all methods allowed in the class and in that precautions are undertaken in the computer memory in order to store and modify the possible parameters.The advantages are that testing can be interactively carried out and not that the test program must be corrected, translated and linked again after the test evaluation in a time-consuming fashion.The method is advantageously utilized in the development of communications software.
    Type: Grant
    Filed: June 16, 1995
    Date of Patent: August 11, 1998
    Assignee: Siemens Aktiengesellschaft
    Inventor: Sebald Kolb
  • Patent number: 5794050
    Abstract: The present invention interprets natural language input using common sense reasoning. The invention avoids the combinatorial explosion that has occurred in other natural language understanding systems. The invention uses modules for parsing, disambiguation, formal semantics, anaphora resolution, and coherence, and a naive semantic lexicon. The naive semantic lexicon is consulted by the parsing, disambiguation, formal semantics, anaphora resolution, and coherence modules to determine whether an interpretation alternative is plausible based on the world knowledge contained in the naive semantic lexicon. The parsing module employs both a top-down and bottom-up parsing strategy. The parsing module consults the naive semantic lexicon to build a structure from natural language input that has both semantic and pragmatic plausibility. The invention uses a psychologically-motivated naive semantic ontology that provides a means for classifying concepts.
    Type: Grant
    Filed: October 2, 1997
    Date of Patent: August 11, 1998
    Assignee: Intelligent Text Processing, Inc.
    Inventors: Kathleen Dahlgren, Edward Stabler
  • Patent number: 5794045
    Abstract: A device for creating and analyzing larger symbolic representations without the limitations imposed by available resources of previous devices is disclosed. More specifically, a debugger for debugging a symbolic representation of a program is disclosed. The debugger comprising means for inputting a set of characteristics, means for linking the set of characteristics to the symbolic representation, means for identifying a first portion of the symbolic representation mutually exclusive from the set of characteristics, and means for analyzing a second portion of the symbolic representation for the set of characteristics wherein the second portion being mutually exclusive from the first portion. A method of debugging programs using the debugger, in addition to the resultant debugged program, is also disclosed.
    Type: Grant
    Filed: December 18, 1996
    Date of Patent: August 11, 1998
    Assignee: Lucent Technologies Inc.
    Inventors: William Martin Schell, Kanwar Jit Singh, Guy Ashley Story, Pasupathi Ananta Subrahmanyam
  • Patent number: 5794031
    Abstract: A distributed processing system which performs cooperative processing by client processes and server processes in a plurality of systems interconnected through a network. The distributed processing system comprises a system supervisor which controls the booting and shutdown of the respective systems and is connected to the network. Connected to the system supervisor is a client-server database which accumulates information related to the clients and servers for determination of systems to be booted or shut down and their booting or shutdown sequence.
    Type: Grant
    Filed: December 27, 1994
    Date of Patent: August 11, 1998
    Assignee: NEC Corporation
    Inventor: Takayuki Nakadai
  • Patent number: 5790861
    Abstract: The present invention provides an improved method and apparatus for generating executable computer code for an application program written in C++ source code. In typical prior art systems, application program source code that has not itself been modified must still generally be recompiled in the event that object-oriented class definitions used by the application program and contained in separate header files have been modified. The methods and apparatus of the present invention reduce the need for such recompilation, by using procedural interfaces to implement object-oriented interfaces at the compiled code level. Thus, in accordance with the present invention, compiled header file code is generated that includes accessors for accessing object instances of the class definitions, each of the accessors being a procedure operative to access the object instances of the corresponding class definition.
    Type: Grant
    Filed: July 7, 1995
    Date of Patent: August 4, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: John R. Rose, Wayne C. Gramlich
  • Patent number: 5790859
    Abstract: Privatization or identification of private variables in single-entry strongly connected regions or program loops by the use of dummy identity assignment statements. Dummy identity assignment statements, V=V, are inserted in the header block and postexit blocks of each single-entry strongly connected region for each variable V with a definition in the single-entry strongly connected region (SCR). USE functions of the dummy identity assignment statements are determined. The dummy definition of a variable in an SCR header block is used to test if there exists a loop-carried flow dependence on the variable in the SCR. Dummy definitions of the variable in postexit blocks of the SCR are used to test if the variable would require to be copied out on exit from the SCR. The dummy definition of the variable in header block of the SCR is used to test if only the last iteration value of the variable needs to be copied out.
    Type: Grant
    Filed: December 21, 1995
    Date of Patent: August 4, 1998
    Assignee: International Business Machines Corporation
    Inventor: Vivek Sarkar