Method and system for reducing an intentional program tree...

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

C717S152000, C717S152000, C717S152000, C717S152000, C717S152000

Reexamination Certificate

active

06189143

ABSTRACT:

TECHNICAL FIELD
The present invention relates generally to a computer method and system for generating a computer program and, more specifically, to a computer method and system that supports extensible computational constructs for use in creating a computer program.
BACKGROUND OF THE INVENTION
Computer programs are generally written in a high-level programming language (e.g., Pascal and C). Compilers are then used to translate the instructions of the high-level programming language into machine instructions, which can be executed by a computer. The compilation process is generally divided into 6 phases:
1. Lexical analysis
2. Syntactic analysis
3. Semantic analysis
4. Intermediate code generation
5. Code optimization
6. Final code generation
Lexical analysis involves scanning the computer program and recognizing components or tokens of the high-level language. During this phase, the compiler converts the computer program into a series of tokens that are processed during syntactic analysis. For example, during lexical analysis, the compiler would recognize the statement
cTable=1.0;
as the variable(cTable), the operator(=), the constant(1.0), and a semicolon. A variable, operator, constant, and semicolon are tokens of the high-level language. During syntactic analysis, the compiler processes the tokens and generates a syntax tree to represent the program. A syntax tree is a tree structure in which operators and operands are stored in nodes. In the above example, the operator (=) has two operands: the variable (cTable) and the constant (1.0). During semantic analysis, the compiler modifies the syntax tree to ensure semantic correctness. For example, if the variable (cTable) is an integer and the constant (1.0) is real, then during semantic analysis an operator for real to integer conversion would be added to the syntax tree. During intermediate code generation, code optimization, and final code generation, the compiler generates machine instructions to implement the program represented by the syntax tree. The machine instructions can then be executed by the computer.
SUMMARY OF INVENTION
The present invention provides a method and system for generating executable code for a computer program. In a preferred embodiment, the system receives an intentional program tree that has nodes. Each node represents a high-level computational construct of the computer program. For each node representing a high-level computational construct, the system transforms the node into an implementation of the high-level computational construct using low-level computational constructs. For each node representing a low-level computational construct, the system generates executable code that implements the low-level computational construct. The system further provides that where a high-level computational construct has a plurality of implementations of the high-level computational construct, the system transforms the nodes by selecting one of the implementations and transforms the node in accordance with the selected implementation. The system further provides that the implementation is selected by automatically analyzing semantics of the intentional program tree.


REFERENCES:
patent: 4782444 (1988-11-01), Munshi et al.
patent: 4827404 (1989-05-01), Barstow et al.
patent: 5148513 (1992-09-01), Koza et al.
patent: 5161216 (1992-11-01), Reps et al.
patent: 5175843 (1992-12-01), Casavant et al.
patent: 5191646 (1993-03-01), Naito et al.
patent: 5327561 (1994-07-01), Choi et al.
patent: 5343554 (1994-08-01), Koza et al.
patent: 5408603 (1995-04-01), Van de Lavoir et al.
patent: 5438331 (1995-08-01), Gilligan et al.
patent: 5790863 (1998-08-01), Simonyi
patent: 5813019 (1998-09-01), Van De Vanter
patent: 5857212 (1999-01-01), Van De Vanter
patent: 5911072 (1999-06-01), Simonyi
patent: 0 361 737 (1990-04-01), None
patent: 0 546 794 (1993-06-01), None
Hendren et al., “Supporting Array Dependence Testing for an Optimizing C Compiler”, in Compiler Construction 5 th International Conference by Fritzson, Springer-Verlag, pp. 309-323, Apr. 4, 1994.
Aho, Alfred V. et al.,Compilers, Principles, Techniques, and Tools,Addison-Wesley Publishing Company, Reading, MA, 1988, pp. 6-8, 287-291.
Pintelas, P. et al., “A Comparative Study of Five Language Independent Programming Environments,” Journal of Systems and Software, Jan. 1991, USA, vol. 14, No. 1, pp. 3-15.
Teitelbaum, T. et al., “The Cornell Program Synthesizer: A Syntax-Directed Programming Environment,” Communications of the ACM, Sep. 1981, USA, vol. 24, No. 9, pp. 563-573.
Basset, Paul G., “Frame-Based Software Engineering,”IEEE Software,Jul. 1987, pp. 9-16.
Feather, Martin S.,A Survey and Classification of some Program Transformation Approaches and Techniques,Elsevier Science Publishers B. V. (North-Holland), 1987, pp. 165-195.
Garlan, David et al., “A Transformation Approach to Generating Application-Specific Environments,”ACM,Dec. 1992, pp. 68-77.
“Guidelines for Software Refinery Language Models,” Reasoning Systems, Palo Alto, California, May 2, 1991, 29 pages.
Habermann, A. Nico, and David Notkin, “Gandalf: Software Development Environments,”IEEE Transactions on Software Engineering SE-12(12):1117-1127, 1986.
Kotik, Gordon B., and Lawrence Z. Markosian, “Automating Software Analysis and Testing Using a Program Transformation System,”Proc. 14thInt'l Comp. Software and Applications Conference,pp. 1-10, 1990.
Reps, Thomas, and Tim Teitelbaum, “The Synthesizer Generator,”SIGPLAN Notices 19(5):42-48, 1984.
Reps, Thomas, and Tim Teitelbaum, “The Synthesizer Generator Reference Manual,” 3d ed., Springer-Verlag, N.Y., pp. 1-10, 54-85, 90-111, 1985.
Snelting, G., “Experiences with the PSG—Programming System Generator,” Institut f{umlaut over (u )}r Systemarchitektur, Technische Hochschule Darmstadt, 1985, pp. 148-162.
Teitelbaum, Tim. and Thomas Reps, “The Cornell Program Synthesizer: A Syntax-Directed Programming Environment,”Communication of the ACM 24(9):563-573, Sep. 1981.

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

Method and system for reducing an intentional program tree... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and system for reducing an intentional program tree..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for reducing an intentional program tree... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2561303

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