http://rdf.ncbi.nlm.nih.gov/pubchem/patent/CA-2081477-C
Outgoing Links
Predicate | Object |
---|---|
assignee | http://rdf.ncbi.nlm.nih.gov/pubchem/patentassignee/MD5_05060720d78cc9178696073231d89834 |
classificationCPCInventive | http://rdf.ncbi.nlm.nih.gov/pubchem/patentcpc/G06F8-443 http://rdf.ncbi.nlm.nih.gov/pubchem/patentcpc/G06F8-433 http://rdf.ncbi.nlm.nih.gov/pubchem/patentcpc/G06F8-437 http://rdf.ncbi.nlm.nih.gov/pubchem/patentcpc/G06F8-447 |
classificationIPCInventive | http://rdf.ncbi.nlm.nih.gov/pubchem/patentipc/G06F9-45 http://rdf.ncbi.nlm.nih.gov/pubchem/patentipc/G06F- |
filingDate | 1992-02-18-04:00^^<http://www.w3.org/2001/XMLSchema#date> |
grantDate | 1992-08-28-04:00^^<http://www.w3.org/2001/XMLSchema#date> |
inventor | http://rdf.ncbi.nlm.nih.gov/pubchem/patentinventor/MD5_dc4f488319daa64c58b743ae480eb94b http://rdf.ncbi.nlm.nih.gov/pubchem/patentinventor/MD5_9f72c2b8009df1f3661a843451af796e http://rdf.ncbi.nlm.nih.gov/pubchem/patentinventor/MD5_36ffce2763b3a16fc22d5d1c36e0415c http://rdf.ncbi.nlm.nih.gov/pubchem/patentinventor/MD5_eef76fdeb2a522e22aa53e36699b1d55 http://rdf.ncbi.nlm.nih.gov/pubchem/patentinventor/MD5_2fc95b98c80b0bb6be6b1e9dadf83068 http://rdf.ncbi.nlm.nih.gov/pubchem/patentinventor/MD5_3fe5f515bd27dbdcb3f59452daaa0043 |
publicationDate | 1992-08-28-04:00^^<http://www.w3.org/2001/XMLSchema#date> |
publicationNumber | CA-2081477-C |
titleOfInvention | Interface for representing effects in a multilanguage optimizing compiler |
abstract | A compiler framework uses a generic "shell" or control and sequencing mechanism, and a generic back end (where the code generator is target-specific). The generic back end includes the functions of optimization, register and memory allocation, and code generation. The shell may be executed on various host computers, and the code generation function of the back end may be targeted for any of a number of computer architectures. A front end is tailored for each different source language, such as Cobol, Fortran, Pascal, C, C + +, Ada, etc. The front end scans and parses the source code molecules, and generates from them an intermediate language ("IL") representation of the programs expressed in the source code. This IL is constructed to represent any of the source code languages in a universal manner, so the interface between the front end and back end is of a standard format. and need not be rewritten for each language-specific front end. The IL representation generated by the front end is based upon a tuple as the elemental unit, where each tuple represents a single operation to be performed, such as a load, a store, an add, a label, a branch, etc. A data structure is created by the front end for each tuple, with fields for various necessary information. One feature of the invention is a mechanism for representing effects and dependencies in the interface between front end and back end; a tuple has an effect if it writes to memory, and has a dependency if it reads from a location which some other node may write to. A mechanism independent of source language is provided for describing the effects of program execution. Another feature is the use in the optimization part of the compiler of a method for analyzing induction variables, where the improvement is to use the side effects sets used to construct IDEF sets. Another feature is a mechanism for "folding constants" (referred to as K-folding or a KFOLD routine), included as one of the optimizations. A further feature is the type definition mechanism, referred to as the TD module, which provides mechanisms used by the front end and the compiler of the back end in constructing program type information to be incorporated in an object module for use by a linker or debugger. Another feature is a method for doing code generation using code templates in a multipass manner. |
priorityDate | 1991-02-27-04:00^^<http://www.w3.org/2001/XMLSchema#date> |
type | http://data.epo.org/linked-data/def/patent/Publication |
Incoming Links
Total number of triples: 63.