Parsing, Syntax Analysis, And Semantic Analysis Patents (Class 717/143)
  • Patent number: 8555260
    Abstract: In some embodiments, the execution of load and store instructions for internal fields of data structures is accelerated by using on-chip template registers and appropriate machine code instructions. A load/store machine code instruction comprises an identifier of a memory address offset of an internal field word relative to a base address of the data structure, an identifier of an intra-word start bit of the internal field, and an identifier of an intra-word length of the internal field. The three identifiers may coincide, for example if the three identifiers are represented by an identity of a template register storing a template entry including the memory address offset, the start position, and the field length. The three identifiers may also be provided as part of a machine code instruction itself. Further provided are compilers, compiler methods, and hardware systems for implementing accelerated internal-field load and store operations.
    Type: Grant
    Filed: December 3, 2007
    Date of Patent: October 8, 2013
    Assignee: QLogic Corporation
    Inventors: Govind Kizhepat, Kenneth Y. Y. Choy, Suresh Kadiyala
  • Patent number: 8555261
    Abstract: A system and method for parsing XML is provided. The method includes associating an input stream with a pull model parser, accepting requests to selectively parse out XML items from the input stream and retrieving metadata information associated with the parsed out XML items. The method further includes checking the pulled XML item to determine whether it conforms to XML syntax and/or semantic standards and validating the pulled XML item to determine whether it conforms to a selected DTD.
    Type: Grant
    Filed: June 28, 2001
    Date of Patent: October 8, 2013
    Assignee: Microsoft Corporation
    Inventors: Anders Hejlsberg, Christopher J. Lovett, Matthew J. Warren, Chia-Hsun Chen, Mark W. Fussell, Neetu Rajpal
  • Patent number: 8555263
    Abstract: A system is provided for computer application code automation comprising a code automation computer server configured for presenting an electronic user interface for receiving user input for generating a Structured Query Language (SQL) query, the user input comprising a plurality of SQL tokens, a processor, associated with the code automation computer server, for receiving the plurality of SQL tokens, the processor retrieving from memory and executing computer executable instructions for at least one of: (a) optimizing performance of the SQL query while receiving the user input, and (b) error checking the SQL query while receiving the user input, wherein the processor is adapted for automatically incorporating the generated SQL query into the computer application code and storing the computer application code in a non-transitory computer readable medium.
    Type: Grant
    Filed: November 24, 2010
    Date of Patent: October 8, 2013
    Assignee: Aetna Inc.
    Inventors: Douglas Allen, Laura Gaulzetti
  • Patent number: 8549494
    Abstract: Techniques for parsing electronic files are disclosed. In one particular exemplary embodiment, the techniques may be realized as an apparatus for parsing electronic files comprising an input module operable to read one or more electronic files, a syntax element store, associated with one or more syntax elements, a mutation module operable to mutate one or more of the one or more syntax elements and parse the one or more electronic files read from the input module, and an output module operable to create one or more normalized electronic files from the one or more parsed electronic files.
    Type: Grant
    Filed: June 28, 2007
    Date of Patent: October 1, 2013
    Assignee: Symantec Corporation
    Inventors: Atanu Neogi, David Jay Barbrow
  • Patent number: 8549502
    Abstract: Performance of a program written in dynamic languages is improved through the use of a compiler that provides type inference for methods having a user-defined element. The user-defined element may be an input in a user-defined type. Though, the user-defined element may reflect that the method is user-defined. Type inference may be performed based on a user-defined mapping, relating input types to output types for one or more methods. The mapping may be specified as a data table provided to the compiler or as one or more functions that register with the compiler such that, as the compiler processes portions of a source program and detects a method with a user-defined element, the compiler may access the mapping and infer the type of an output of the method. The inferred type may then be used to optimize code dependent on that output.
    Type: Grant
    Filed: June 21, 2010
    Date of Patent: October 1, 2013
    Assignee: Microsoft Corporation
    Inventor: Parry Jones Reginald Husbands
  • Patent number: 8549464
    Abstract: A reusable expression graph system and method that generates reusable expression graphs that can be used with potentially different input parameters in order to achieve computational efficiency and ease of programming. Reusable expression graph mitigate the need to rebuild an expression for each new value. This is achieved in part by creating a node called a “parameter node.” The parameter node acts as a generic placeholder for a leaf node in the expression graph. In addition, the parameter node acts as a proxy for a bindable term of the leaf node, and the bindable term can be either a value or one or more additional expressions. The parameter node then is bound to the bindable term and the expression is evaluated with that bindable term instead of the placeholder. The parameter node created by embodiments of the reusable expression graph system and method works across many different programming languages.
    Type: Grant
    Filed: November 22, 2010
    Date of Patent: October 1, 2013
    Assignee: Microsoft Corporation
    Inventors: Barry Clayton Bond, Vivian Sewelson, Daniel Johannes Pieter Leijin, Lubomir Boyanov Litchev
  • Patent number: 8539443
    Abstract: Analyzing code written in a loosely typed language. User input specifying code for a script may be received. The specified code may be analyzed. More specifically, one or more code portions referenced by the specified code may be determined. Properties of symbols of the specified code and the one or more code portions may also be determined. Additionally, the specified code may be analyzed using the determined properties to determine errors in the specified code. Accordingly, one or more errors may be graphically indicated based on said analyzing. Receiving the user input, analyzing the specified code, and graphically indicating the one or more errors may be performed at edit time.
    Type: Grant
    Filed: May 13, 2008
    Date of Patent: September 17, 2013
    Assignee: National Instruments Corporation
    Inventors: Rishi H. Gosalia, Jesse M. Attas, Bryan A. Marker
  • Patent number: 8539450
    Abstract: A system and method for analyzing a concurrent program employ asynchronous function calls for communication and recursion. A control flow graph is constructed based on a context-sensitive pointer analysis, whereupon encountering a function pointer, a points-to set of the function pointer is computed in a context-sensitive fashion to determine a set of potential function calls. The context-sensitive pointer analysis is terminated when no new potential function calls are encountered and where the potential function calls may contribute new data races other than those that exist in the contexts traversed thus far. To decide this, a characterization of pointer aliasing based upon complete update sequences is employed. A set of contexts that may contribute to different data races are enumerated by tracking update sequences for function and lock pointers and pointers that are shared or point to shared memory locations. Data race detection is carried out on the control flow graph.
    Type: Grant
    Filed: February 8, 2010
    Date of Patent: September 17, 2013
    Assignee: NEC Laboratories America, Inc.
    Inventors: Vineet Kahlon, Nishant Sinha, Yun Zhang, Eric J. Kruus
  • Patent number: 8539462
    Abstract: A method of allocating registers for a processor based on cycle information is disclosed. The processor comprises a first cluster and a second cluster. Each cluster comprises a first functional unit, a second functional unit, a first local register file connected to the first functional unit, a second local register file connected to the second register file, and a global register file having a ping-pong structure formed by a first register bank and a second register bank. After building a Component/Register Type Associated Data Dependency Graph (CRTA-DDG), a functional unit assignment, register file assignment, ping-pong register bank assignment, and cluster assignment are performed to take full advantage of the properties of a processor as well as cycle information.
    Type: Grant
    Filed: December 21, 2010
    Date of Patent: September 17, 2013
    Assignee: National Tsing Hua University
    Inventors: Chung Ju Wu, Yu Te Lin, Jenq Kuen Lee
  • Patent number: 8533694
    Abstract: A system for identifying read/write chains in computer software, including a static analysis engine identifying within computer software logical container accesses, a string analyzer configured to at least partly resolve any variables identifying the logical container in any of the accesses by determining a set of potential values of any of the variables, and a Logical Container Access Virtualization component (LCAV) configured to identify the type and scope of any permutations of the accesses, where each of the permutations is defined by substituting any of the potential values for any of the access variables, and identify any read/write chains within the computer software by matching any of the access permutations that read from the logical container with any of the access permutations that write to the logical container if there is an intersection between the scopes of the read and write access permutations.
    Type: Grant
    Filed: May 30, 2008
    Date of Patent: September 10, 2013
    Assignee: International Business Machines Corporation
    Inventors: Marco Pistoia, Takaaki Tateishi, Omer Tripp, Omri Weisman
  • Patent number: 8527962
    Abstract: A method for promotion of a child procedure in a software application for a heterogeneous architecture, wherein the heterogeneous architecture comprises a first architecture type and a second architecture type, comprises inserting a parameter representing a parallel frame pointer to a parent procedure of the child procedure into the child procedure; and modifying a reference in the child procedure to a stack variable of the parent procedure to include an indirect access to the parent procedure via the parallel frame pointer.
    Type: Grant
    Filed: March 10, 2009
    Date of Patent: September 3, 2013
    Assignee: International Business Machines Corporation
    Inventors: Raul Silvera, Ettore Tiotto, Guansong Zhang
  • Patent number: 8522219
    Abstract: A recorder, comprising: a context analyzer configured to associate HTTP transactions of a web application with a web session, wherein the web application executes code on the client side; an extensible document parser configured to parse a document included in the HTTP transactions; a library of parser additions used by the context analyzer to generate a context-full replay instruction; and a script generator configured to record a script including the context-full replay instruction in order to recreate the HTTP transactions in order to simulate use of the web application by a user.
    Type: Grant
    Filed: December 17, 2010
    Date of Patent: August 27, 2013
    Assignee: Borland Software Corporation
    Inventors: Gunter Schwarzbauer, Helmut Spiegl, Ernst Ambichl, Bernd Greifeneder
  • Patent number: 8522203
    Abstract: A method for managing script added to an interactive document or fillable, electronic form. The method includes receiving user input for generating a script and then generating a script based on the user input. The method further includes as part of script generation providing a header in the script that includes a management flag or data in a header block indicating that the script is managed, a managed script object, and an edit verification value such as a cyclic redundancy check value. After the script is generated, the method includes parsing the document to determine whether the managed script has been edited or to otherwise verify the script's integrity. The method includes when the script has been edited modifying the management flag to indicate the script is released from script management. Unmanaged editing may be detected by comparing a stored edit verification value with the header value from each snippet.
    Type: Grant
    Filed: August 28, 2009
    Date of Patent: August 27, 2013
    Assignee: Adobe Systems Incorporated
    Inventors: Steve Tibbett, Mark C. Leyden
  • Patent number: 8522221
    Abstract: A method and system for the automatic generation of user guides. Specifically, the method of the present invention includes accessing an abstract processor model of a processor, wherein said abstract processor model is represented using a hierarchical architecture description language (ADL). The abstract processor model includes a plurality of instructions arranged in a hierarchical structure. An internal representation of the abstract processor model is generated by flattening the abstract processor model. The flattening process generates a plurality of rules grouped by common convergent instructions. Each rule describes an instruction path through the hierarchical structure that converges at a corresponding convergent instruction. An instruction-set documentation is automatically generated from the plurality of rules, wherein the instruction-set documentation is arranged convergent instruction by convergent instruction.
    Type: Grant
    Filed: August 9, 2011
    Date of Patent: August 27, 2013
    Assignee: Synopsys, Inc.
    Inventors: Gunnar Braun, Andreas Hoffmann, Volker Greive
  • Patent number: 8516457
    Abstract: Disclosed are embodiments a computer-implemented method, a system and an associated program storage device that provide for automatic programming language grammar partitioning to solve the “code too large” problem. The embodiments partition a particular programming language grammar into logical subsets based on a set of partitioning heuristics and using a dependency graph that is preprocessed so as to be devoid of any cyclically connected grammar rule nodes. For each logical subset, textual code for a corresponding portion of a parsing program can be generated and then converted into machine-readable code for that corresponding portion of the parsing program. Thus, small amounts of textual code for portions of a parsing program are discretely converted into machine-readable code, thereby avoiding the “code too large” problem. The machine-readable code for all portions of the parsing program can then be merged and the parsing program can be executed in order to parse a corpus.
    Type: Grant
    Filed: June 28, 2011
    Date of Patent: August 20, 2013
    Assignee: International Business Machines Corporation
    Inventors: Pankaj Dhoolia, Mangala G. Nanda, Krishna Nandivada Venkata, Diptikalyan Saha
  • Patent number: 8516458
    Abstract: A computer-programming tool for generating an implementation of a first data structure, the first data structure representing at least a portion of a computer-programming language. The implementation includes a second data structure and implementation rules which define the syntax rules of the first data structure to be enforced in relation to nodes of the second data structure during a subsequent processing operation which utilizes the implementation in order to establish compliance with the syntax rules represented by the first data structure. Links between nodes of the first data structure are representative of paths of inheritance of substitutability but not implementation and interface between those nodes.
    Type: Grant
    Filed: February 26, 2009
    Date of Patent: August 20, 2013
    Assignee: ITI Scotland Limited
    Inventors: Neil Stewart, Douglas Little
  • Patent number: 8516442
    Abstract: A metadata migration tool helps GUI application developers keep track of institutional knowledge that may be lost between application versions. The maintenance and transference of this knowledge from one application version to another aids developers in conforming future applications to restrictions and requirements imposed on previous versions that may not be immediately apparent. The architecture and processes facilitate the migration of this institutional knowledge, thus greatly reducing the time, cost, and resource expenditures spent re-creating similar components in an updated application and updated scripts to test those application components.
    Type: Grant
    Filed: February 27, 2008
    Date of Patent: August 20, 2013
    Assignee: Accenture Global Services Limited
    Inventors: Mark Grechanik, Qing Xie, Chen Fu
  • Patent number: 8504984
    Abstract: In general, the subject matter described in this specification can be embodied in methods, systems, and program products for selecting a first grammar rule in a programming language grammar. The grammar is used for determining a syntax validity of a programming code statement in a text editor and the first grammar rule includes a hard-to-type symbol that is syntactically correct for the programming code statement. A second grammar rule for the grammar is created. The created second grammar rule is substantially identical to the first grammar rule but the hard-to-type symbol is replaced with an easy-to-type symbol that is syntactically incorrect for the programming code statement. An action is associated with the grammar and is performed upon satisfying the second grammar rule. Performance of the second grammar rule causes the easy-to-type symbol in the programming code statement in the text editor to be replaced with the hard-to-type symbol.
    Type: Grant
    Filed: May 29, 2009
    Date of Patent: August 6, 2013
    Assignee: Google Inc.
    Inventor: Don Hsi-Yun Yang
  • Patent number: 8505000
    Abstract: There is described a method of compiling source code for a computer program into corresponding object code. The source code includes several declared variables. The method comprises, for each declared variable in the source code, including in the object code a declaration statement indicating an associated memory location for that variable and indicating the position in the object code of the next declaration statement. During compilation, the memory location for each declared variable can be retrieved from the object code by examining each declaration statement in turn, using the position information from each declaration statement to locate the next declaration statement. This is of particular advantage where the available volatile memory is limited, because there is no requirement for a look-up table of variables against memory locations.
    Type: Grant
    Filed: July 24, 2008
    Date of Patent: August 6, 2013
    Assignee: Ezurio Limited
    Inventor: Mahendra Tailor
  • Patent number: 8499292
    Abstract: A virtual execution environment (VEE) for a streaming Intermediate Language (IL), wherein the streaming IL represents a streaming program, communicates streaming data in queues, stores data-at-rest in variables, and determines data by functions, where inputs are read from the queues and the variables, and outputs are written to the queues and the variables.
    Type: Grant
    Filed: March 8, 2010
    Date of Patent: July 30, 2013
    Assignee: International Business Machines Corporation
    Inventors: Henrique Andrade, Jim Challenger, Bugra Gedik, Robert Grimm, Martin J. Hirzel, Vibhore Kumar, Robert Soule, Kun-Lung Wu
  • Patent number: 8499286
    Abstract: In one embodiment, a method for testing adjustment and configuration is disclosed. The method can include accessing source code of a test framework that is configured for testing a module, creating a configuration folder having a property override for a test suite for the module testing, determining a source root folder for the test suite, starting the test framework by passing in an identifier for the test suite, and adding a custom test to the source root folder using the configuration folder to customize the test suite. The method can further include compiling the test framework with each of the plurality of test folders enabled. The method also may use a refactoring tool to make changes in a file within the test framework.
    Type: Grant
    Filed: July 27, 2010
    Date of Patent: July 30, 2013
    Assignee: salesforce.com, inc.
    Inventors: Steven S. Lawrance, Marcus Ericsson
  • Patent number: 8495100
    Abstract: A computer implemented method and computer usable program product for version control of source code. In one embodiment, a source code file is scanned for relationships between source code sections. A semantic graph with dependencies and metadata describing the source code sections is constructed. The dependencies indicate the relationships between the source code sections. If changes are received for the semantic graph, the semantic graph is modified with the changes to form a modified semantic graph.
    Type: Grant
    Filed: November 15, 2007
    Date of Patent: July 23, 2013
    Assignee: International Business Machines Corporation
    Inventor: Lik Cheung
  • Patent number: 8495591
    Abstract: Declarations from an input source code are serialized into a stream of tokens produced by following each branch of a preprocessor conditional directive statement that interrupts a declaration. Tokens are labeled with a parsing path indicator corresponding to a parsing path induced by branches of a preprocessor conditional directive. The declarations that are formed along the different parsing paths are serialized by fetching the tokens that belong to the first parsing path in a first pass, and passing the tokens on to a next phase of a compiler. The pointer that marks the next token is repositioned to return to the start of the declaration. The declaration may be serialized again through the second parsing path in a second pass. The operation may be repeated until each of the parsing paths induced by the presence of branches of the preprocessor conditional directives in the source code is exhausted.
    Type: Grant
    Filed: December 12, 2011
    Date of Patent: July 23, 2013
    Assignee: Microsoft Corporation
    Inventor: Thierry Miceli
  • Patent number: 8495599
    Abstract: An apparatus and method for power savings are provided. The apparatus includes a register analysis unit and a register change unit. The register analysis unit determines if registers among bit-switching targeted registers are one of changeable and unchangeable. The register change unit searches for a register pair having a minimum bit switching frequency among registers determined to be changeable, and changes at least one register.
    Type: Grant
    Filed: October 24, 2008
    Date of Patent: July 23, 2013
    Assignee: Samsung Electronics Ltd., Co.
    Inventor: Il-Hyun Cho
  • Patent number: 8495600
    Abstract: A method is provided for displaying the properties of a source code element of a computer program being edited. The includes selecting, within the source code, the source code element; searching, within the source code, a set of related code elements of the selected source code element, the elements of the set comprising typified properties; creating a data structure comprising the properties of the code elements of the set of code elements; grouping, within the data structure, the properties in function of their types; displaying the properties grouped within a portion of a display displaying the source code.
    Type: Grant
    Filed: February 11, 2010
    Date of Patent: July 23, 2013
    Assignee: Compagnie Industrielle et Financiere d'Ingenierie “Ingenico”
    Inventors: David Naccache, Pavel Polechtchouk
  • Patent number: 8495572
    Abstract: An apparatus for identifying a contextual change to a source code file, in a development environment, the apparatus including: a detector component for detecting a modification to the source code file; a requester component for retrieving a previous version of the modified source code file; a parser component for parsing a first source code set associated with the source code file and a second source code set associated with the previous version of the source code file and for building an in-memory representation of the first and second source code sets; and a comparator component for comparing the in-memory representation of the first source code set with the in-memory representation of the second source code set in order to generate contextual information identifying a change made to a source code element associated with the modified source code set.
    Type: Grant
    Filed: February 5, 2008
    Date of Patent: July 23, 2013
    Assignee: International Business Machines Corporation
    Inventor: Olivier Bernin
  • Patent number: 8495602
    Abstract: The present disclosure includes a shader compiler system and method. In an embodiment, a shader compiler includes a decoder to translate an instruction having a vector representation to a unified instruction representation. The shader compiler also includes an encoder to translate an instruction having a unified instruction representation to a processor executable instruction.
    Type: Grant
    Filed: September 28, 2007
    Date of Patent: July 23, 2013
    Assignee: QUALCOMM Incorporated
    Inventors: Lin Chen, Guofang Jiao, Chihong Zhang, Junhong Sun
  • Patent number: 8489388
    Abstract: A method for detecting data in a sequence of characters or text using both a statistical engine and a pattern engine. The statistical engine is trained to recognize certain types of data and the pattern engine is programmed to recognize the grammatical pattern of certain types of data. The statistical engine may scan the sequence of characters to output first data, and the pattern engine may break down the first data into subsets of data. Alternatively, the statistical engine may output items that have a predetermined probability or greater of being a certain type of data and the pattern engine may then detect the data from the output items and/or remove incorrect information from the output items.
    Type: Grant
    Filed: November 10, 2008
    Date of Patent: July 16, 2013
    Assignee: Apple Inc.
    Inventors: Olivier Bonnet, Frederick de Jaeger, Romain Goyet, Jean-Pierre Ciudad
  • Patent number: 8490056
    Abstract: A system and program product for automatic identification of subroutines from test scripts is disclosed. An instruction class may be coded as a subroutine vector in a vector space model. A test script action may be coded as a test script vector in a vector space model. The test script vector may be compared to the subroutine vector. The test script vector may be identified and labeled. The test script vector may be labeled as a new test script action if the result of comparing is below a threshold value. An identifier may be associated with a new test script action.
    Type: Grant
    Filed: April 28, 2010
    Date of Patent: July 16, 2013
    Assignee: International Business Machines Corporation
    Inventors: Tessa A. Lau, Jalal U. Mahmud
  • Patent number: 8484620
    Abstract: A method, apparatus and computer program product are provided for implementing performance impact reduction of watched variables. Source code is parsed and a variable in the source code to be watched is identified. The identified variable is allocated to a predefined page of storage. The predefined page of storage is separated from frequently accessed variables, such as, a page containing least frequently modified variables, a last page associated with a static storage, and a separate page added for receiving the identified variables to be watched.
    Type: Grant
    Filed: April 12, 2006
    Date of Patent: July 9, 2013
    Assignee: International Business Machines Corporation
    Inventors: Cary Lee Bates, John Matthew Santosuosso
  • Publication number: 20130167128
    Abstract: A computer implemented method includes receiving a programming language input having a client portion and a server portion, where client symbols of the client input portion are usable in the server input portion and server symbols of the server input portion are usable in the client input portion. The method includes parsing the input to separate the client input portion from the server input portion, identifying the usage of any client symbols in the server input portion and any server symbols in the client input portion, producing at least one communication service between the separated client and server input portions to support the usage of any client symbols in the separated server input portion and any server symbols in the separated client input portion, and translating the client input portion into an executable client application and the server input portion into an executable server application with communication there between.
    Type: Application
    Filed: May 29, 2009
    Publication date: June 27, 2013
    Applicant: Adobe Systems Incorporated
    Inventors: Anantharaman P. Narayana Iyer, Daniel Dura, Christian Cantrell
  • Patent number: 8473933
    Abstract: A system and method for refactoring one or more call sites based on a revised signature. If the original call site is ordered, the refactored call site is generated by sorting the arguments based on the revised signature. Each unnamed argument is selectively changed to a named argument based on whether it is preceded by a named argument and whether its index value matches the index value of its corresponding parameter in the revised signature. If the original call site is unordered, the arguments preceding the first named argument are ordered. New arguments corresponding to new parameters are added and selectively made to be named arguments. New optional arguments may be included or omitted from the refactored call site.
    Type: Grant
    Filed: May 12, 2010
    Date of Patent: June 25, 2013
    Assignee: Microsoft Corporation
    Inventor: Theodore Yaung
  • Patent number: 8473937
    Abstract: Selected components of a piece of software serve in a first variant, as variation points, are converted into a first XML code. The software, now in hybrid form, is shipped. The first code is converted on the customer side via one or more transformations, for example SLT, exclusively in accordance with transformation rules into a second XML code. In a second variant, a first XML code containing at least one language extension is converted in accordance with transformation rules into a more easily verifiable second XML code without said language extensions. In a third variant a source code formulated in XML is transformed in such a way that, following a back-conversion into the original programming language, a new source code is produced in which not only the representation, but also the actual program content and/or functionality has been changed.
    Type: Grant
    Filed: March 29, 2004
    Date of Patent: June 25, 2013
    Assignee: Siemens Aktiengesellschaft
    Inventors: Roy Oberhauser, Christian Reichel
  • Patent number: 8473911
    Abstract: Generation of documentation from a computer readable symbolic representation is described. In an embodiment, a reified version of an input is obtained as coded objects. The input is readable by a programmed computer for execution, and is in an applied form of a symbolic representation of knowledge for a defined domain of knowledge. The reified version is a coded form of the applied form, wherein the coded objects are in a dynamic language. A content sequence library is accessed by the programmed computer responsive to the coded objects to extract content for a document plan. A reasoning library is then accessed by the programmed computer responsive to the content extracted to provide a sequenced organization of phrase structure for the content extracted. A natural language representation of the input is output from a realization of the sequenced organization of phrase structure.
    Type: Grant
    Filed: July 23, 2010
    Date of Patent: June 25, 2013
    Assignee: Xilinx, Inc.
    Inventor: Michael A. Baxter
  • Publication number: 20130159981
    Abstract: A method for forming an extension to a scripting language compiler is disclosed. A compiler of a machine receives a source code that has a new keyword to a scripting language of the compiler. An extension compiler module processes the source code to support the new keyword. The compiler and the extension compiler module generate an executable machine code based on a process of the extension compiler module and the compiler.
    Type: Application
    Filed: December 15, 2011
    Publication date: June 20, 2013
    Applicant: SAP AG
    Inventors: Oliver Klemenz, Andreas Mueller, Anna Kabala, Lu Zhao
  • Publication number: 20130152062
    Abstract: Presently described is a decompilation method of operation and system for parsing executable code, identifying and recursively modeling data flows, identifying and recursively modeling control flow, and iteratively refining these models to provide a complete model at the nanocode level. The nanocode decompiler may be used to determine if flaws, security vulnerabilities, or general quality issues exist in the code. The nanocode decompiler outputs in a standardized, human-readable intermediate representation (IR) designed for automated or scripted analysis and reporting. Reports may take the form of a computer annotated and/or partially human annotated nanocode listing in the above-described IR. Annotations may include plain English statements regarding flaws and pointers to badly constructed data structures, unchecked buffers, malicious embedded code or “trap doors,” and the like. Annotations may be generated through a scripted analysis process or by means of an expert-enhanced, quasi-autonomous system.
    Type: Application
    Filed: December 14, 2012
    Publication date: June 13, 2013
    Applicant: Veracode, Inc.
    Inventor: Veracode, Inc.
  • Publication number: 20130152061
    Abstract: An augmented parser can create an augmented parse tree that captures all the information in the source code as additional elements. Information included in the augmented parse tree can include whitespace, comments, pre-processor directives, line continuation characters, missing text, text errors, and original text. Thus, the augmented parse tree can be used to fully reconstruct the original source code, character for character, including spaces, comments, and incorrect code. The improved parser can store syntactic error information in the original source code in the parse tree. The augmented parse tree can be used to generate or modify source code. The parse tree created by the augmented parser can be used for incremental parsing to create a new augmented parse tree after a change.
    Type: Application
    Filed: December 12, 2011
    Publication date: June 13, 2013
    Applicant: Microsoft Corporation
    Inventors: Peter Golde, Matthew J. Warren, Neal M. Gafter, HeeJae Chang
  • Patent number: 8464232
    Abstract: A compiler compiler system with a design paradigm different from traditional compiler compiler systems in many aspects. First, instead of parsing tree, compiler compiler runtime and binary are designed according to compiler compiler parsing model. Second, any semantics processing is totally separated from syntax processing. Third, the whole compilation process is defined as syntax processing and semantics processing followed by syntax processing performed under compiler compiler management supervision. Fourth, syntax processing has two phases: building compiler compiler runtime, and converting compiler compiler runtime into compiler compiler binary with available option to convert back compiler compiler binary to compiler compiler runtime. Fifth, compiler compiler runtime and binary syntax-controlled APIs are defined in terms of syntax. Sixth, there are formal methods de-compiling compiler compiler runtime and/or binary into original program text accordingly to syntax.
    Type: Grant
    Filed: December 27, 2010
    Date of Patent: June 11, 2013
    Inventor: Aleksandr F. Urakhchin
  • Patent number: 8458676
    Abstract: A virtual machine can be extended to be aware of secondary cores and specific capabilities of the secondary cores. If a unit of platform-independent code (e.g., a function, a method, a package, a library, etc.) is more suitable to be run on a secondary core, the primary core can package the unit of platform-independent code (“code unit”) and associated data according to the ISA of the secondary core. The primary core can then offload the code unit to an interpreter associated with the secondary core to execute the code unit.
    Type: Grant
    Filed: June 30, 2009
    Date of Patent: June 4, 2013
    Assignee: International Business Machines Corporation
    Inventors: Nobuhiro Asai, Andrew B. Cornwall, Rajan Raman, Akira Saitoh, Ravi Shah
  • Patent number: 8453126
    Abstract: A system and method for automated conversion of a SAS runtime macro language (RML) program to a target language program such as JAVA. RML macros are identified and converted for inclusion in the RML program. A lexer is applied to generate a stream of tokens, including a token type for ambiguous tokens. A context dependent parsing module, including a token filter to resolve ambiguous tokens, assists the parser in generating an abstract syntax tree (AST), which is modified to express RML specific control flow constructs with target language program elements. The elements of the modified AST are replaced with target language templates from a library, with template parameters filled from the corresponding AST element. A run time library is provided for execution of the target language program.
    Type: Grant
    Filed: July 30, 2009
    Date of Patent: May 28, 2013
    Assignee: Dulles Research LLC
    Inventor: Pavel Ganelin
  • Patent number: 8453127
    Abstract: According to some embodiments, a token synchronization gateway may be recognized in a graph-based business process model, such as a business process modeling notation model. A number of upstream artifacts located upstream from the token synchronization gateway may then be identified in the business process modeling notation model. In addition, a final artifact may be identified directly in front of the token synchronization gateway. The token synchronization gateway may then be compiled into code that will be executed at runtime to perform a synchronization process. The synchronization process may, for example, include handling tokens T1 through Tn to synchronize the upstream artifacts, with each token being associated with one of the n upstream artifacts.
    Type: Grant
    Filed: September 20, 2010
    Date of Patent: May 28, 2013
    Assignee: SAP AG
    Inventors: Sören Balko, Thomas Hettel
  • Patent number: 8448153
    Abstract: A method and system encodes data objects and their metadata. An implementation provides a method and system for rewriting a program to encode metadata in the run-time environment of the program and to add run-time checks to the program. An implementation provides a method for serializing a data object according to the encoding method and a method for deserializing a bit sequence that is generated by the serialization method.
    Type: Grant
    Filed: August 16, 2010
    Date of Patent: May 21, 2013
    Inventor: Ning Wang
  • Patent number: 8448158
    Abstract: To obtain a program code generation support device, method, and the like, capable of generating a new program code, in particular, generating in accordance with an incorporating apparatus, by performing a further optimization on a program code. The device includes storage means 6 for storing as data, an optimization rule that is composed of a conversion condition for converting data of a program code and a conversion content thereof, and code optimization means 4 that includes a code analysis unit 4A for analyzing the program code, a condition search unit 4B for search a part matching the conversion condition in the program code through a collation with the optimization rule stored in the storage means on the basis of the analyzed program code, and an optimization unit 4C for generating data of a new program code by converting the part matching the conversion condition on the basis of the conversion content.
    Type: Grant
    Filed: February 2, 2006
    Date of Patent: May 21, 2013
    Assignee: Mitsubishi Electric Corporation
    Inventors: Takahiro Ito, Shigeki Suzuki, Yoshiko Ochiai, Noriyuki Kushiro, Yoshiaki Koizumi
  • Patent number: 8448152
    Abstract: A high-level language, architecture-independent probe program compiler is disclosed. A base program is executable by one or processors, and has one or more breakpoints. A probe program is associated with each breakpoint and is also indirectly executable by the one or more processors. The probe program is independent of the architecture of the processors, and is generated from source code written in a high-level language. The probe program associated with each breakpoint is executed when the breakpoint is reached during execution of the base program. The compiler may employ an abstract syntax tree to switch between an address space of the probe program and an address space of the base program, by traversing the tree. Some of the nodes of the tree may more simply represent address space-specific objects of the base program. The probe program may be able to pass messages by manipulating the state of the base program.
    Type: Grant
    Filed: June 30, 2008
    Date of Patent: May 21, 2013
    Assignee: International Business Machines Corporation
    Inventors: Richard J. Moore, Thomas R. Zanussi
  • Patent number: 8443352
    Abstract: The specification of a string within source code written in a programming language is received. The source code is processed for ultimate execution of a computer program encompassing the source code, by at least performing the following. It is determined whether the string specified is a short string or a long string. The string is processed in accordance with a first manner where the string is a short string. The string is processed in accordance with a second manner where the string is a long string.
    Type: Grant
    Filed: March 31, 2008
    Date of Patent: May 14, 2013
    Assignee: International Business Machines Corporation
    Inventors: Michiaki Tatsubori, Akihiko Tozawa, Toyotaro Suzumura, Tamiya Onodera, Scott Ross Trent
  • Patent number: 8443339
    Abstract: Embodiments of articles, apparatuses, devices and/or systems for manipulating hierarchical sets of data are disclosed. For example, in one embodiment, a method of transforming one or more trees to one or more corresponding symbol strings according to an association of trees and symbol strings is disclosed. In another embodiment, as another example, a method of transforming between at least a first and at least a second expression is disclosed in which the expressions have a common view that is other than one. Additional embodiments are also described.
    Type: Grant
    Filed: February 8, 2010
    Date of Patent: May 14, 2013
    Assignee: Robert T. and Virginia T. Jenkins
    Inventor: Jack J. LeTourneau
  • Patent number: 8438538
    Abstract: A SimpleBinding extension in Window Presentation Foundation (WPF) is established using a compact binding syntax in which all binding components are specified in a string. The simple binding string is parsed to derive a native WPF binding class. A typecast may be used to determine how the binding result will be translated from one Common Language Runtime (CLR) type to another. The typecast may be provided with the binding components or derived from properties of the target WPF dependency property.
    Type: Grant
    Filed: April 25, 2007
    Date of Patent: May 7, 2013
    Assignee: IdentityMine, Inc.
    Inventor: Jonathan B. Russ
  • Patent number: 8438550
    Abstract: System and method for implicit downcasting at compile time in a data flow program. A first data flow function in an object-oriented dataflow program is identified, where the first function includes an input of a parent data type and an output of the parent data type. The first function is analyzed to determine if the output preserves the run-time data type of the input. A second dataflow function in the object-oriented data flow program is identified, where the second function includes a program element that calls the first function, passing an input parameter of a child data type of the parent data type as input. If the analysis determines that an output parameter returned by the output of the first function will always be of the child data type, the program element is automatically configured at compile time to always downcast the output parameter from the parent data type to the child data type at run-time.
    Type: Grant
    Filed: May 13, 2010
    Date of Patent: May 7, 2013
    Assignee: National Instruments Corporation
    Inventors: Stephen R. Mercer, Steven W. Rogers
  • Patent number: 8438551
    Abstract: The invention concerns the transformation of executable code from one language to another. In particular, the invention concerns the automated transformation of code. The invention concerns methods, software and computer systems for the creation of a tree comprised of nodes to be used in the transformation of code. The invention also concerns the methods, software and computer systems for the building of a parser to be used in the transformation of code. Finally, the invention also concerns an automated and iterative method of transforming, assessing and re-transforming code. The invention is advantageous in its ability to avoid usage of an intermediate transformation language, and its high level of automation that reduces manual transformation and accordingly is more efficient and less costly.
    Type: Grant
    Filed: June 27, 2006
    Date of Patent: May 7, 2013
    Assignee: CSC Technology Singapore Pte Ltd
    Inventors: Albert Donald Tonkin, Ruth Emma Tonkin
  • Patent number: 8429627
    Abstract: System and method for analyzing a graphical program. A graphical program is displayed on a display. A semantic edit operation is performed on the graphical program in response to user input. The semantic edit operation is performed by a first process. Semantic analysis of the graphical program is performed by a second process in response to performing the semantic edit operation, where the second process is asynchronous with respect to the first process. Results from the semantic analysis of the graphical program are displayed in response to completion of the semantic analysis. If during the semantic analysis, another semantic edit operation is performed on the graphical program, the semantic analysis may be preemptively terminated and re-initiated. Displaying results from the semantic analysis of the graphical program may then include displaying results from the re-initiated semantic analysis of the graphical program in response to completion of the re-initiated semantic analysis.
    Type: Grant
    Filed: October 12, 2009
    Date of Patent: April 23, 2013
    Assignee: National Instruments Corporation
    Inventors: David C. Jedlicka, Jeffrey L. Kodosky, Gregory C. Richardson, John D. Stanhope