Tip technology and its application to sparcompiler pascal

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06305011

ABSTRACT:

BACKGROUND OF THE INVENTION
This application relates to a compiler and, specifically, to the maintenance and design of a compiler for a high level computer programming language.
A compiler is a computer program that translates a “source program” written in a high level computer programming language that is easily understood by human beings into a “target program” executable by a computer. Typically, a compiler includes several functional parts. For example, a conventional compiler may include a lexical analyzer that looks at the source program and identifies successive “tokens” in the source program.
A conventional compiler also includes a parser/syntactical analyzer, which takes as an input a grammar defining the language being compiled and a series of actions associated with respective production of the grammar. The parser builds a “parse tree” for the statements in the source program in accordance with the grammar productions and actions. For each statement in the input source program, the parser generates a parse tree of the source input in a recursive, “bottom-up” manner in accordance with relevant productions and actions. Thus, the parse tree is formed of nodes corresponding to one or more grammar productions. Generation of the parse tree allows the parser to determine whether the parts of the source program comply with the grammar. If not, the parser generates an error. Thus, the parser performs syntactical checking, but does not conventionally check the meaning (the “semantics”) of the source program. One example of a conventional parsing technique is a LALR (lookahead, left right) parser, which is described in Chapter 4 of the treatise “Compilers: Principles, Techniques and Tools” by Aho, Sethi, and Ullman, the entirety of which is hereby incorporated by reference.
In conventional compilers, after the source program is parsed, it is input to a semantic analyzer, which checks for semantic errors, such as the mismatching of types, etc. The semantic analyzer evaluates, for example, “semantic attributes” of nodes of the parse tree. Attributes that are evaluated by looking at the attributes of their child nodes are called “synthesized attributes.” After parsing and semantic analysis, the compiler generates intermediate code, optimizes the intermediate code and generates a target program.
The source program of a compiler software program itself is quite large and complex. Many different people usually work on the source code of a compiler during the compiler's useful life. Thus, different people with different coding styles, some good and some bad, contribute to the source code of a compiler. Even if every programmer contributing to the source code of a compiler uses good programming practices (which is unlikely) individual programming style vary and most compilers are written in a variety of coding styles. It is important that the source code for a compiler be easy to update and to maintain.
To this end, it is important to standardize the modules of the source program and to standardize the interfaces between modules. Earlier efforts to standardize coding practices include ADT (Abstract Data Types) and OOP (object oriented programming) methodologies.
SUMMARY OF THE INVENTION
The present invention overcomes the problems and disadvantages of the prior art by mandating a hierarchy of TIPs (Technological Instrumental Packages) in the design of a compiler. Each TIP defines an interface for handling a related data structure, such as a symbol table or a parse tree. The present invention structures a TIP into a plurality of abstract levels, which include an “encapsulated concrete representation,” a “representation level,” a “definition level,” and a “conceptual level.” The interface to a TIP consists of, for example, the conceptual level and a portion of the definition level. The concrete representation and representation level are hidden from the computer programmer. In addition, the present invention designates an interface on each level to perform creation/deletion, access, update, and output.
Objects and advantages of the invention will be set forth in part in the description which follows and in part will be obvious from the description or may be learned by practice of the invention. The objects and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims.


REFERENCES:
patent: 5432925 (1995-07-01), Abraham et al.
patent: 5432942 (1995-07-01), Trainer
patent: 5675801 (1997-10-01), Lindsey
patent: 5680618 (1997-10-01), Freund
patent: 5701490 (1997-12-01), Safonov
patent: 5758163 (1998-05-01), Safonov
patent: 5845289 (1998-12-01), Baumeister et al.
patent: 5892951 (1999-04-01), Safonov
patent: 0372-834 A3 (1989-11-01), None
S. Graupner, et al, “Adaptable Infrastructures for Operating Systems”, IEEE, pp. 162-165, Aug. 1995.*
K. Maruyama, “A Concurrent Object-Oriented Switching Program in Chill”, IEEE, pp. 60-68, Jan. 1991.*
Y. Omori, et al, “A Parallelizing Compiler by Object Oriented Design”, IEEE, pp. 232-239, Jul. 1997.*
J. Holmes, Object-Oriented Compiler Construction, Prentice Hall, sections 2.3, Nov. 1994.*
Booch, Object Oriented Analysis and Design, Benjamin Cummings, p. 48-50,88-89,479-480, Dec. 1994.*
Aho et al, Principals of Compiler Design, Addison-Wesley, p. 229-230, Apr. 1979.*
Vladimir Olegovich Safonov, Programming Languages and Techniques for the Elbrus System, Moscow, Nauka Publishers (1989-in Russian).

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Tip technology and its application to sparcompiler pascal does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Tip technology and its application to sparcompiler pascal, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Tip technology and its application to sparcompiler pascal will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2610399

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.