Scanning And Lexical Analysis Patents (Class 717/142)
  • Patent number: 7441238
    Abstract: To meet the current trend in computer programming, a multi-programming-language compiler system is designed to include a compiler framework which creates a general environment in which to carry out compilation and language modules to encapsulate the details of various programming languages. Such a system makes it easy for tool vendors and end users to adapt to a world where computer programs are written in multiple languages. New language modules may be written that add support for new languages to the compiler framework. It may also be possible to extend existing language modules so that a variant on an existing language may be added to the compiler framework. Such a system may also be adapted to permit several different clients to access detailed language information from the compiler framework. These clients may include a standard command-line shell or a sophisticated multi-language integrated development environment.
    Type: Grant
    Filed: September 27, 2004
    Date of Patent: October 21, 2008
    Assignee: BEA Systems, Inc.
    Inventor: Kevin Zatloukal
  • Patent number: 7428730
    Abstract: A method and system for programming a software development environment to reserve memory space for direct access by a remote direct memory program.
    Type: Grant
    Filed: December 15, 2003
    Date of Patent: September 23, 2008
    Assignee: Intel Corporation
    Inventor: Highland Mary Mountain
  • Publication number: 20080216061
    Abstract: An ambiguous usage of a name in a statement of a computer program is resolved at least partially by adding to an entry statement thereof a definition that includes the ambiguously used name followed by constructing a definition-use graph, followed by checking whether or not an edge from the added definition reaches the statement containing the ambiguously used name. If all edges into the ambiguous statement are from the added definition, then the name is deemed to be a function call. If all edges into the ambiguous statement are not from the added definition, then the name is deemed to be a memory access. If some edges into the ambiguous statement are from the added definition but other edges are not, then the statement is flagged as a dual usage.
    Type: Application
    Filed: May 16, 2008
    Publication date: September 4, 2008
    Applicant: AGILITY DESIGN SOLUTIONS INC
    Inventor: John R. Allen
  • Patent number: 7406592
    Abstract: Methods, systems, and computer-readable media are provided for efficiently evaluation Boolean expressions. According to the method, the Boolean expression is expressed using pre-fix notation. Each element in the pre-fix expression is then parsed. For each first operand for a Boolean operation, the value of the operand is determined. This may include evaluating a GUID. When an operator and a second operand are encountered, a decision is made as to whether the second operand should be evaluated. The determination as to whether the second operand should be evaluated is made based upon the value of the first operand and the type of operator. If the second operand need not be evaluated, no evaluation is performed thereby saving time and memory space. The evaluation of the Boolean expression continues in this manner until the entire expression has been evaluated. If the Boolean expression is evaluated as true, the program module associated with the Boolean expression may be loaded.
    Type: Grant
    Filed: September 23, 2004
    Date of Patent: July 29, 2008
    Assignee: American Megatrends, Inc.
    Inventor: Feliks Polyudov
  • Publication number: 20080155518
    Abstract: The present disclosure provides methods and apparatuses for tokenizing workflow process objects. Using the methods and apparatus herein, users can create business processes that contain several variable components. This allows business process designers to save time by designing template business processes whose processes change based on the environment that they deployed in.
    Type: Application
    Filed: November 27, 2007
    Publication date: June 26, 2008
    Applicant: SOURCECODE TECHNOLOGY HOLDING, INC.
    Inventors: Adriaan Van Wyk, Natachya Raath, Lenz le Roux, Wynand du Toit, Olaf Wagner, Ben Fourie, Schalk de Jager, Pieter Janson
  • Patent number: 7367019
    Abstract: A method, system, architecture and apparatus for managing program function parameters using compiler directives. A parameter management system can include a compiler coupled to a primary symbol-type dictionary and a supplemental symbol-type dictionary containing parameter data for specific function calls of corresponding generic type functions. Notably, directive processing logic can be configured both to populate the supplemental symbol-type dictionary based upon processor directives embedded in source code, and also to substitute specific function calls for generic function calls in the source code as specified in the supplemental symbol-type dictionary.
    Type: Grant
    Filed: September 16, 2004
    Date of Patent: April 29, 2008
    Assignee: International Business Machines Corporation
    Inventors: Ying Chau Raymond Mak, Wang Dong Chen, Larry Alexander Lindsay
  • Patent number: 7367023
    Abstract: A compiler has the capability to selectively compile individual portions of a compilable code module for optimum execution performance or for serviceability. In one aspect, individual portions, such as procedures (being less than the entire module) are selectively optimized. In another aspect, debug activity data is used for determining whether or not to optimize compiled code. It is optionally possible to support one or more levels of partial selective optimization.
    Type: Grant
    Filed: July 10, 2003
    Date of Patent: April 29, 2008
    Assignee: International Business Machines Corporation
    Inventors: John Michael Adolphson, Cary Lee Bates, Paul Reuben Day, Steven Gene Halverson
  • Patent number: 7328430
    Abstract: A system and method provide the ability to construct lexical analyzers on the fly in an efficient and pervasive manner. The system and method split the table describing the automata into two distinct tables and splits the lexical analyzer into two phases, one for each table. The two phases consist of a single transition algorithm and a range transition algorithm, both of which are table driven and permit the dynamic modification of those tables during operation. A third ‘entry point’ table may also be used to speed up the process of finding the first table element from state 0 for any given input character.
    Type: Grant
    Filed: February 3, 2003
    Date of Patent: February 5, 2008
    Inventor: John Fairweather
  • Publication number: 20080028376
    Abstract: A method for validating simple type data in XML documents, the method comprising: identifying data via an Extensible Markup Language (XML); developing schema for specifying formal data typing and validation of element content in terms of data types; generating a parser for parsing the collection of elements in a first stage where the schema is read and modeled in terms of abstract schema components, a second stage where the schema is augmented with a set of calculated schema components and properties used to drive code generation, and a third stage where the schema is traversed to generate a validation code for each of the collection of elements, and generate simple type validator modules which perform well-formedness checking the data; validating the simple type data against specific type information; and converting the data to datatype-specific form, all in a single pass.
    Type: Application
    Filed: July 26, 2006
    Publication date: January 31, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Margaret Gaitatzes Kostoulas, Moshe E. Matsa, Eric Perkins
  • Publication number: 20080028375
    Abstract: A method for parsing a document in an Extensible Markup Language (XML) format includes identifying data via the XML format, defining a tag set including a plurality of tags, defining a tokenizer that produces one token at a time, parsing the XML document via a parser, validating the XML document via a validation engine, the validation engine driving the tokenizer, the validating being an integral part of the parsing, and permitting the validation engine to be written in a recursive-descent code-driven manner.
    Type: Application
    Filed: July 26, 2006
    Publication date: January 31, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Moshe E. Matsa, Eric Perkins
  • Patent number: 7325230
    Abstract: A system for compiling source programs into machine language programs, comprising: a data type information processing module configured to analyze a definition statement of a fixed-point data type in a source program, acquire data type information of the fixed-point data type; a type-information storage; a variable information processing module configured to analyze a variable declaration statement of the fixed-point data type, acquire variable information; a variable storage; and a code generating module configured to read arithmetic expression data, acquire the type number, acquire the data type information, convert the arithmetic expression data.
    Type: Grant
    Filed: December 30, 2003
    Date of Patent: January 29, 2008
    Assignee: Kabushiki Kaisha Toshiba
    Inventor: Katsuya Uchida
  • Patent number: 7318221
    Abstract: A computer system includes a memory and a processor. The memory includes an interpreter for interpreting data in a multiple task system. The interpreter includes a scanner for reading at least one command from an input port and providing a token according to the category of the command, a first parser for interpreting the command when the token indicates the first parser, and a second parser for interpreting the command when the token indicates the second parser, for temporarily storing data generated after interpreting the command into a message center in the memory, and for executing the data stored in the message center after interpreting all other corresponding commands. The processor is for processing programs and data stored in the memory.
    Type: Grant
    Filed: July 22, 2003
    Date of Patent: January 8, 2008
    Assignee: Wistron Corporation
    Inventor: Su-Chen Lin
  • Patent number: 7296297
    Abstract: Clients using standard software protocols may access stored validation functions in order to perform validation functions on data via a number of methods including Internet applications, a Java RMI server, a CORBA gateway server and graphical screen interphase applications. The system allows for the efficient performance of validation services on data based on dynamically-maintained, centrally-stored validation functions.
    Type: Grant
    Filed: November 29, 2001
    Date of Patent: November 13, 2007
    Assignee: AT&T BLS Intellectual Property Corporation
    Inventors: Mark A. Kirkpatrick, Michael S. Bass, Darin J. Morrow, John A. Strohmeyer, Mauricio Lopez
  • Patent number: 7275241
    Abstract: The present invention provides a method, apparatus, and computer instructions for dynamic intermediate code transformation in a mixed mode compiler. In an exemplary embodiment, an object code compiler of a virtual-machine, such as the just-in-time (JIT) compiler (415) of a Java virtual machine (JVM), takes loaded classes and compiles these into object code (416). A JIT-enabled dynamic instrumentation (JEDI) interface (420) provides information to an application (e.g., a tool with a GUI), and passes requests for transformation to the JIT (415) and class-loader (410). If loaded, JEDI controls the JIT compiler (415) to compile and transform the class into object code. Thus, dynamically transformed object code is produced without transformation or re-loading of the loaded classes.
    Type: Grant
    Filed: November 21, 2003
    Date of Patent: September 25, 2007
    Assignee: International Business Machines Corporation
    Inventors: Jong-Deok Choi, Flavio Alvarenga Bergamaschi
  • Patent number: 7228530
    Abstract: Comparison indices each for two components incorporated in a source program are used for easy and quantitative evaluation of functional redundancy in the program, effective and accurate extraction of redundant code segments from the program and also effective and accurate extraction of components to be modified simultaneously. A tree T is entered and an initial level of functional redundancy m(P) is set at 0 in a program P expressed by the tree T. The top node of the tree T is selected as a node N. A specific computation is performed for the top node selected as the node N with attribute information including the similarity and the number of children of the node N to obtain a level ?. The level ? is added to the functional redundancy m(P). The specific computation is performed for every node in the tree T, to obtain functional redundancy m(P) including the total of ? for all nodes.
    Type: Grant
    Filed: February 3, 2003
    Date of Patent: June 5, 2007
    Assignee: Kabushiki Kaisha Toshiba
    Inventor: Takeo Imai
  • Patent number: 7219339
    Abstract: A method of automatically parsing a network device configuration and generating a representation of one or more configuration commands for a network device that uses a command-line interface, using a grammar-based framework, is disclosed. One or more syntax definitions are received for a grammar associated with the command-line interface. The syntax definitions are compiled into a grammar object that represents the grammar. A configuration of the network device is received. The configuration is parsed using the grammar object. One or more configuration values are created and stored based on parsing the configuration. Using the configuration values, operating system version information, and the grammar object, one or more command-line interface commands may be automatically generated for use in configuring the device or other network management purposes. Further, applications may use the parameter values to customize a graphical user interface, perform range checking, etc.
    Type: Grant
    Filed: October 29, 2002
    Date of Patent: May 15, 2007
    Assignee: Cisco Technology, Inc.
    Inventors: Dinesh Goyal, Mayank Jain
  • Patent number: 7213234
    Abstract: A system, method, and computer program product for estimating the function point count of a software application or portfolio. Strata are defined, and random samples are chosen for a function point count. Results are analyzed and quantified, and a confidence interval is determined to qualify the accuracy of the estimate.
    Type: Grant
    Filed: April 8, 2003
    Date of Patent: May 1, 2007
    Assignee: Electronic Data Systems Corporation
    Inventor: Paul A. Below
  • Patent number: 7210130
    Abstract: A dynamically extensible approach to parsing textual input consisting of a predictive parser and associated predictive parser generator is provided. The combination, together with a plug-in/resolver architecture, provides the ability to handle a set of languages that is vastly larger than that conventionally handled by predictive parsing techniques. The generator accepts extended BNF language specifications containing embedded reverse polish plug-in call specifications giving the plug-in number to be called as well as an arbitrary textual parameter to be passed to the plug-in. The parser supports the ability to register a ‘resolver’ function as well as one or more custom reverse-polish plug-in handlers which are passed the textual parameter(s) specified in the extended BNF as well as having full control over the parsing and evaluation stacks. The ‘resolver’ is with a ‘no action’ parameter when the parser first encounters a token in the input stream and may modify the token as necessary.
    Type: Grant
    Filed: February 3, 2003
    Date of Patent: April 24, 2007
    Inventor: John Fairweather
  • Patent number: 7210135
    Abstract: A XLANG/s compilation method is provided that uses data flow analysis of a program's flow graph to determine lifetimes of a data object. A flowgraph is created according to abstract computer instructions. A depth-first order is assigned to basic blocks and a dominance relationship between the basic blocks is determined. A determination is made as to whether any loops are present within the flowgraph and, if so, the loops are identified. A creation point, destruction point and lock point for the data object is determined. Instructions are inserted into the computer code to create the at least one data object at the creation point, to destroy the data object at the destruction point and to lock the data object at the lock point.
    Type: Grant
    Filed: August 26, 2003
    Date of Patent: April 24, 2007
    Assignee: Microsoft Corporation
    Inventors: Donald James McCrady, Paul F. Ringseth, Bimal Mehta
  • Patent number: 7197746
    Abstract: A method for lexically analyzing an input stream including invoking a multipurpose lexical analyzer, wherein invoking the multipurpose lexical analyzer comprises examining a parameter setting, scanning the input stream to obtain a token using a token definition, and determining whether to ignore the token using the parameter setting, returning the token to a calling process if the token is to be processed.
    Type: Grant
    Filed: June 12, 2003
    Date of Patent: March 27, 2007
    Assignee: Sun Microsystems, Inc.
    Inventor: Robert N. Goldberg
  • Patent number: 7185323
    Abstract: One embodiment of the present invention provides a system that uses value speculation to break constraining dependencies in loops. The system operates by first identifying a loop within a computer program, and then identifying a dependency on a long-latency operation within the loop that is likely to constrain execution of the loop. Next, the system breaks the dependency by modifying the loop to predict a value that will break the dependency, and then using the predicted value to speculatively execute subsequent loop instructions.
    Type: Grant
    Filed: May 16, 2003
    Date of Patent: February 27, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Sreekumar R. Nair, Santosh G. Abraham
  • Patent number: 7155707
    Abstract: This patent describes a method of compiling a computer program from a sequence of computer instructions including a plurality of first, set branch, instructions which each identify a target address for a branch and a plurality of associated second, effect branch instructions which each implement a branch to a target address. The method comprising the steps of; reading the computer instructions in blocks; defining a set of target registers associated with each block for holding target addresses for the set branch instructions in that block; defining as a live range of blocks a set of blocks for which a target address of a particular set branch instruction is in a live state; and using the set of target registers and the live range to ensure that target registers holding target addresses in a live state are not available for other uses.
    Type: Grant
    Filed: October 12, 2001
    Date of Patent: December 26, 2006
    Assignee: STMicroelectronics Limited
    Inventor: Stephen Clarke
  • Patent number: 7143345
    Abstract: A system and method for parsing source code written in a high-level programming language at multiple levels may be performed to populate a tree data structure. To obtain information at lower levels, higher levels are parsed. Each level of parsing is performed as a separate stage with the results of higher levels being used to feed parsing at lower levels. The system and method of the present invention provide for parsing at a requested level, not parsing to a lower level than requested.
    Type: Grant
    Filed: October 31, 2002
    Date of Patent: November 28, 2006
    Assignee: International Business Machines Corporation
    Inventors: David K. McKnight, Jeffrey C. Turnham
  • Patent number: 7137108
    Abstract: A method, computer program product and data processing system for identifying non-externalized strings that are not hard-coded. In one embodiment, a method comprises the step of scanning a code, e.g., Java, line by line until a pair of string delimiters is identified. Once a pair of string delimiters is identified, the method further comprises the step of determining whether the string within the pair of string delimiters identified is a path name to a resource file, e.g., resource bundle. If the string is a path name to the resource file, then the string is a non-externalized string that is not hard-coded. If the string is not a path name to the resource file, then the string may be identified as a possible hard-coded string.
    Type: Grant
    Filed: October 26, 2000
    Date of Patent: November 14, 2006
    Assignee: International Business Machines Corporation
    Inventors: David Bruce Kumhyr, Dae-Suk Chung
  • Patent number: 7111283
    Abstract: A programming-language construct called a program history, and a method, system, apparatus, and data structure for translating computer source code that contains the program history construct. A program history captures data regarding the state of the program as it executes and makes this data available to functions called history operators, which operate on the data. The source code contains a history operand, an instance of the history operand, and the history operator. The presence of the history operand directs a translator to cause history data to be saved regarding the sequence of data that is associated with the operand instance as the program executes. The presence of the history operator directs the translator to cause a function to be performed that saves history data. In this way, the programmer is freed from writing tedious and error-prone bookkeeping code that declares variables and saves history data into those declared variables.
    Type: Grant
    Filed: November 29, 2000
    Date of Patent: September 19, 2006
    Assignee: Microsoft Corporation
    Inventors: Christopher W. Fraser, Todd A. Proebsting, Benjamin G. Zorn
  • Patent number: 7111286
    Abstract: A method for parsing binary data is disclosed. The method includes receiving binary data and a parse request, the parse request calling for either a non-differenced parsing method or a differenced parsing method, invoking a parse tree and receiving a parse definition to parse the received binary data, parsing the binary data to define a value in accordance with the parse definition and calling a data builder to manage the value parsed. The value parsed is inserted into an updated data tree and an object is returned to the parse requestor.
    Type: Grant
    Filed: December 18, 2002
    Date of Patent: September 19, 2006
    Assignee: GE Medical Systems Information Technologies, Inc.
    Inventors: Stuart Lyle Schrader, Robert J. Laferriere, James Steven Cincotta
  • Patent number: 7107291
    Abstract: A data access method in an information system including a plurality of data utilization systems connected to a network N1, and a plurality of data provision systems connected to a network, wherein a data utilization system transmits a request for utilizing data in a data provision system to another data utilization system P2 through the network N1, the data utilization system, upon receipt of the data utilization request, transmits a processing execution request corresponding to the data utilization request to the data provision system through the network N2, the data provision system, upon receipt of the execution request, executes processing corresponding to this execution request and transmits necessary data to the data provision system through the network, and the data provision system receives the data and stores the same.
    Type: Grant
    Filed: February 1, 2005
    Date of Patent: September 12, 2006
    Assignee: Hitachi, Ltd.
    Inventors: Norifumi Nishikawa, Shoichi Minami, Takanobu Otani, Yasuharu Namba, Hirotaka Mizuno
  • Patent number: 7085680
    Abstract: A vehicular diagnostic tool is provided for receiving vehicular diagnostic codes from a vehicle on-board computer, and translating the diagnostic codes into diagnostic descriptive data. An input port is provided for receiving vehicular diagnostic codes output from a vehicle under test. A code parser parses the received diagnostic codes into diagnostic code segments. A code translator translates diagnostic code segments into corresponding diagnostic descriptor segments. And, a combiner is provided for combining the code descriptor segments to derive composite diagnostic code descriptors, wherein the composite code descriptors being collectively representative of the received diagnostic code.
    Type: Grant
    Filed: January 16, 2004
    Date of Patent: August 1, 2006
    Assignee: Innova Electronics Corporation
    Inventor: David Huang
  • Patent number: 7080344
    Abstract: A method and system for storing and modifying register transfer language (RTL) described logic types. Upon a declaration of a signal interconnect, a language extension of a register transfer language is defined for the signal interconnect based on the signal interconnect's type. The language extensions allow different signal interconnect types, such as those used with field programmable gate arrays (FPGA) and standard cells, to be stored in a same file array hierarchy. This storage facilitates changing logic types, thus ultimately resulting in an integrated circuit (IC) that is either smaller (using more standard cells) or more flexible (using more FPGA cells). The transition from one RTL type to another is performed within the physical design cycle, in which wiring, timing and placement of components (information) is performed before masking out the final chip design.
    Type: Grant
    Filed: June 25, 2003
    Date of Patent: July 18, 2006
    Assignee: International Business Machines Corporation
    Inventors: Stanislav Peter Bajuk, Jack Robert Smith, Sebastian Theodore Ventrone
  • Patent number: 7080352
    Abstract: A new fundamental unit of programming which couples semantic and syntactic relationships, and a system for compiling those units and programs written in those units. A Sym is comprised of a Name, an Inherit Statement, a Self Description, and a Definition. Syms couple syntactic and semantic relationships through their use of Syntactic References in their Self Description and Semantic References in their Definition. Syms and programs written in Syms are compiled through the Sym Execution System.
    Type: Grant
    Filed: January 30, 2002
    Date of Patent: July 18, 2006
    Assignee: dLoo, Incorporated
    Inventor: Nile Josiah Geisinger
  • Patent number: 7069474
    Abstract: A system and method for assessing binary compatibility between software modules permits software end users to register with a system, download software tools for testing binary compatibility between one or more ABIs and binary files resident on the end users' computer system(s). The testing generates a file including the results of the binary compatibility test for each binary file tested. A unique identifier of each binary file, e.g., the MD5 signature of the binary code, may be uploaded with the results of the compatibility test. The results of the compatibility test and the unique identifier may be further analyzed to determine a risk profile that the binary file(s) on the end user's computer system(s) is not binary compatible with a particular ABI. A report may be generated indicating the binary compatibility risk profile of the files resident on the user's computer system.
    Type: Grant
    Filed: September 18, 2002
    Date of Patent: June 27, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Dario Atallah, Clement Ng
  • Patent number: 7065753
    Abstract: A system, method and computer program for validating a syntactical statement employing a stored syntax tree which represents all possible syntax options. The tree consists of a network of junction nodes and data nodes between a root node and an end node, whereby all paths through the tree lead to the end node. Firstly, a syntactical statement is passed to the root node, where it is parsed into elementary tokens. Next, a table is created to store the tokens, and entries representing the end node of the syntax. The location of a current node in the syntax tree is also maintained, whereby the current node is initially the root node. Then, the potential nodes that can be selected from the current node and their distances from the current node are returned. The potential nodes are then compared to the stored tokens, and a potential node is selected. Finally, the location of the current node is updated and the process is repeated until the syntactical statement has been validated.
    Type: Grant
    Filed: August 15, 2001
    Date of Patent: June 20, 2006
    Assignee: International Business Machines Corporation
    Inventor: Andrew James Osborne
  • Patent number: 7062760
    Abstract: A syntax coverage percentage measuring system includes a BNF rule check table which has BNF data respectively corresponding to BNF syntax rules. A first file reading section reads each of test input files and carries out lexical analysis to data of each of the read test input files to classify into tokens. A first syntax analyzing section carries out syntax analysis to each of the tokens, and marks one of the BNF data of the BNF rule check table corresponding to the token. A coverage percentage output section acquires a total number of the BNF data and a number of the marked BNF data from the BNF rule check table, and calculates a coverage percentage based on the total number of the BNF (data and the number of the marked BNF data. An output section outputs the coverage percentage calculated by the coverage percentage output section.
    Type: Grant
    Filed: June 22, 2001
    Date of Patent: June 13, 2006
    Assignee: NEC Corporation
    Inventor: Toshio Tonouchi
  • Patent number: 7055141
    Abstract: The present invention relates to a humanity interface development system of a testing program of a circuit board, essentially including: building configuration of objects to be tested, defining footing of objects to be tested, using a program generator, building data of the testing chapters, building documents and figure files of objects to be tested, building reference data, building intercepted data of coordinates of positions of the parts, building relationships of items to failure rates of parts, and linking and compiling files, thereby forming a humanity interface, to build a data base required by the testing programs simultaneously, for testing the same circuit board in a large amount manner, thereby achieving the purpose of convenience and utility.
    Type: Grant
    Filed: August 24, 2001
    Date of Patent: May 30, 2006
    Assignee: Aerospace Industrial Development Co., Ltd.
    Inventor: Hwai-Der Tzeng
  • Patent number: 7036113
    Abstract: A method, computer program product and data processing system for detecting resource exception errors. Resource exception errors may be detected by scanning code for a method invocation used to open a resource file. Upon identifying a method invocation, the code may be scanned for a method signature, i.e., pointer, associated with the identified method invocation. The method signature points to the resource file to be opened by the method invocation. The code may be further scanned for a pair of string delimiters adjacent to the method signature. The string within the pair of string delimiters is a key to the resource file. The resource file may then be opened using the method invocation previously identified. A resource exception error is detected if the key or its associated value are not defined in the resource file.
    Type: Grant
    Filed: October 26, 2000
    Date of Patent: April 25, 2006
    Assignee: International Business Machines Corporation
    Inventor: David Bruce Kumhyr
  • Patent number: 7013458
    Abstract: One embodiment of the present invention provides a system for associating metadata attributes with program elements. During operation, the system receives source code containing syntactic elements that specify metadata attributes for program elements, wherein the metadata attributes do not affect program execution. The system then parses the source code to obtain the metadata attributes. Next, the system associates the metadata attributes with corresponding program elements and determines values associated with the metadata attributes. Finally, the system incorporates the metadata attributes, including identifiers for the associated values and the associated program elements, into object code for the program, thereby allowing the metadata attributes to be accessed from the object code. Another embodiment of the present invention provides a system for accessing metadata attributes for program elements from object code through an application programming interface (API).
    Type: Grant
    Filed: September 9, 2002
    Date of Patent: March 14, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Joshua J. Bloch, Graham Hamilton
  • Patent number: 7010784
    Abstract: A combined language-compiler that provides for the efficient compilation process of hybrid computer code written using a plurality of computer languages by splitting the hybrid code in such a way that each code statement is optimally independently compilable. The designer specifies both computation and communication between different hybrid code modules.
    Type: Grant
    Filed: September 3, 1999
    Date of Patent: March 7, 2006
    Assignee: Cadence Design Systems, Inc.
    Inventors: Ellen M. Sentovich, Luciano Lavagno
  • Patent number: 6996788
    Abstract: A verilog-HDL source at the register-transfer level (RTL) is converted into a programming language executable on computer. Constructed in an analyzing of elements is a data structure corresponding to the elements of the verilog-HDL source. Created in an analyzing of a data-flow are a first data flow from a state register and a second flow from data-path register. Reconstructed in a reconstructing of a control-structure is the first data flow. Reconstructed in a reconstructing of a data-path is the second data flow so that the reconstructed second data is constituted only by circuitry operating in each state of the control structure. Each reconstructed data flow is mapped in each state of the control structure in a combining of the control-structure/data-flow, to output an behavior-level intermediate language. The intermediate language is converted into a programming language in a generating of an object-code.
    Type: Grant
    Filed: June 18, 2003
    Date of Patent: February 7, 2006
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Takashi Akiba, Masato Igarashi
  • Patent number: 6988265
    Abstract: The present invention provides a method and apparatus for statement boundary detection. In one embodiment of the present invention, a parser determines a natural end of a statement, where possible, based upon the context of the input stream and the syntax of the programming language. Thus, no statement terminator is necessary when a natural end to a statement is determined. The parser uses the natural end of a statement to terminate one statement and begin parsing another statement. In one embodiment, a special statement termination token is required to terminate a statement when no natural statement end exists. In another embodiment, a special statement termination token can be used to terminate a statement when a natural end of the statement exists.
    Type: Grant
    Filed: October 12, 2001
    Date of Patent: January 17, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: David S. Allison
  • Patent number: 6978326
    Abstract: The invention concerns editing of images representing ideas. More particularly, it concerns a method for editing images representing ideas using an apparatus comprising an input device and a display device. It consists in displaying, in the input representation zone, a first sub-collection of images and selecting an image of the first sub-collection by selection with a first control which causes the selected image to be displayed, or by selection with a second control which causes a second sub-collection of images to be displayed representing ideas related to the image representing a selected idea. The invention is applicable to international communications.
    Type: Grant
    Filed: April 6, 2001
    Date of Patent: December 20, 2005
    Assignee: Centre National de la Recherche Scientifique (CNRS)
    Inventor: Georges Emile Rieu
  • Patent number: 6978228
    Abstract: The invention relates to a method of performing a system reverse engineering process. The method provides for an examination of the application system that requires reverse engineering by examining the entire network structure forming the system, by tracking chains of nodes and links in accordance with a predetermined tracking method, that will ensure a complete examination. The information gathered from the examination will permit formatting of the information into a form in which it represents the application system in a usable form. The method of the invention provides also for the creation of a software program or an entire software system that can be employed for carrying out the reverse engineering process.
    Type: Grant
    Filed: December 14, 1999
    Date of Patent: December 20, 2005
    Inventor: Graham Paul Gordon
  • Patent number: 6957122
    Abstract: A method for generating and visualizing a task-oriented step representation of one or more parts programs in machine tools or production machines is described. A syntax analyzer searches the parts program for key terms, whereafter a task-oriented step representation of the parts program(s) is generated based on the key terms found in the search. The task-oriented step representation can then be visualized to a user. The disclosed method can advantageously be used to visualize and display parts programs of machine tools or production machines, which are available in ASCII code, in form of a step representation or step diagram without necessitating changes in the parts programs.
    Type: Grant
    Filed: February 27, 2004
    Date of Patent: October 18, 2005
    Assignee: Siemens Aktiengesellschaft
    Inventors: Matthias Dütsch, Klaus Hertinger, Timo Pallas, Martin Seithe, Winfried Wacker
  • Patent number: 6948161
    Abstract: The present invention discloses a method for determining, in a computer environment, the equivalence, if any, of two blocks of assignment statements in a computer program for use in compiler optimization of source code, program verification, program proving, and like computing tasks. The method, inter alia, successfully eliminates, from a block of assignment statements, all intermediate variables and statements which are identities and also those which are irrelevant to the computation of the output variables and brings the block to a form suitable for comparing two or more blocks of assignment statements. A system for carrying out the above method and a computer program product incorporating the method are also disclosed.
    Type: Grant
    Filed: April 20, 2001
    Date of Patent: September 20, 2005
    Assignee: International Business Machines Corporation
    Inventor: Rajendra Kumar Bera
  • Patent number: 6948159
    Abstract: A method and apparatus of generating code for producing messages in a processor; the messages being in conformance with the ASN.1 (Abstract Syntax Notation.1). Standards of the International Telecommunications Union (ITU), and the International Standards Organization (ISO). An ASYN software tool uses input describing protocol in the ASN.1 Standard, and uses a general script input to describe the rules for manipulating the ASN.1 inputs. The output of ASYN tool is used together with Application Programmer input describing the requirements for a specific application as inputs to a CASE (Computer Aided Software Engineering) software tool development environment. The output of the CASE tool development environment is then used by a Compiler for the Object Processor which provides the messages. Advantageously, changes in the Application Programmer input can be compiled without further manual effort. Advantageously, once the general script input file has been created, changes in the ASN.
    Type: Grant
    Filed: August 1, 2001
    Date of Patent: September 20, 2005
    Assignee: Lucent Technologies Inc.
    Inventors: Timothy Dennis Born, Mark Gregory
  • Patent number: 6925635
    Abstract: An embedded pre-processor having dynamic macro types is disclosed. After a lexer receives an identifier token from source code, the lexer compares the identifier token with the macro names stored in the symbol table. If the identifier token matches a macro name stored in the symbol table, the lexer replaces the identifier token with a macro form token. The lexer then sends the macro form token to a glue routine. The glue routine invokes a macro invocation parser. The lexer continues to transfer tokens to the macro invocation parser via the glue routine until the completion of the macro invocation. The macro invocation parser subsequently sends a macro body definition of the macro to the lexer.
    Type: Grant
    Filed: December 13, 2001
    Date of Patent: August 2, 2005
    Assignee: International Business Machines Corporation
    Inventor: Joseph F. Garvey
  • Patent number: 6898787
    Abstract: A ? function provides a mechanism for static single assignment in the presence of predicated code. Guards placed on each source operand of the ? function indicate the condition under which the corresponding source operand is live and provide correct materialization of the ? functions after code reordering. For control functions ?c representing a confluence of live reaching definitions at a join point in the control flow graph, the guards indicate the basic block which is the source of the edge associated with the source operand. The ?c operands are paired with the source basic block of the incoming edge(s) along which they are live. The operands are also ordered according to a topological ordering of their associated block. This ordering is maintained through subsequent code transformations. In the topological ordering, the source of the edge from which the definition was passed is defined.
    Type: Grant
    Filed: March 22, 2001
    Date of Patent: May 24, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Carol Linda Thompson, Vatsa Santhanam, Dz-Ching Ju, Vasanth Bala
  • Patent number: 6895581
    Abstract: An extension of object-oriented programming languages enables the use of replaceable classes and virtual constructors, thereby allowing existing code that creates objects of a base class to be reusable for creating instances of a new class derived from the base class. A base class intended to be replaceable later is declared to be replaceable. In the case of a compiled language, the programming code defining and using the base class is compiled into a reusable module. Later, a new class derived from the base class is identified as a replacement for the base class and is used in new programming code that uses the existing reusable module. The replacement relationship between the old base class and the new class is registered. During execution of the program, when the old code of the reusable module indicates the creation of an object of the base class, the registered replacement information is referenced.
    Type: Grant
    Filed: March 30, 2000
    Date of Patent: May 17, 2005
    Assignee: Microsoft Corporation
    Inventors: Gueorgui B. Chkodrov, Jared M. Green, Narinder Kaur
  • Patent number: 6892379
    Abstract: In a compiler, a method of generating assembly code for stack unwinding is disclosed. One or more source code lines are obtained. Assembly code for the one or more source code lines is then generated. The assembly code includes one or more stack unwind assembler having one or more associated stack unwind sub directives. Each of the stack unwind assembler directives is adapted for indicating to an assembler that one or more encoded data sections containing stack information to be used for stack unwinding is to be generated in an object file from the one or more associated stack unwind sub directives.
    Type: Grant
    Filed: June 20, 2001
    Date of Patent: May 10, 2005
    Assignee: Sun Microsystems, Inc.
    Inventor: Alfred J. Huang
  • Patent number: 6829760
    Abstract: A method 100, an apparatus, and a computer program product for constructing a runtime symbol table SymTbl[ ] for a computer program are disclosed. In the method, a symbol table SymTbl[ ] for storing one or more entities Ei is initialized 110. One or more tickets Ti are then added 120 into the symbol table SymTbl[ ] for each entity Ei that does not already exist in the symbol table SymTbl[ ]. An offset address is then inserted 130 after a predefined token “>” for each ticket Vi in a predefined set V of tickets in the symbol table SymTbl[ ] characterized as a sequence of the tickets Vi. One or more preassigned addresses are also inserted 140 in the symbol table SymTbl[ ] for each ticket Vi in the set V of tickets that has preassigned addresses.
    Type: Grant
    Filed: August 22, 2000
    Date of Patent: December 7, 2004
    Assignee: International Business Machines Corporation
    Inventor: Rajendra Kumar Bera
  • Publication number: 20040205736
    Abstract: A compiler, that generates an object program file from a source program in which a plurality of procedures are written, compiles procedures, by regarding the procedures as source-program compile units, to generate corresponding object-program compile units. A plurality of object-program compile units generated are output to a memory together with the corresponding source-program compile units. When compiling a source program in which one procedure has been changed, the compiler compiles only the source-program compile unit corresponding to the changed procedure.
    Type: Application
    Filed: March 19, 2001
    Publication date: October 14, 2004
    Inventors: Masato Mitsumori, Shinji Asaki, Hiroyuki Hosotani