Method and system for generating a computer program
First Claim
1. A method in a computer system for generating executable code for a computer program, the method comprising the steps of:
- receiving an intentional program tree having nodes, each node representing a high-level computational construct of the computer program;
for each node representing a high-level computational construct, transforming the node into an implementation of the high-level computational construct using low-level computational constructs; and
for each node representing a low-level computational construct, generating executable code that implements the low-level computational construct.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system is described for generating executable code for a computer program. A programmer creates an intentional program tree using a syntax-independent editor. The editor allows a programmer to directly manipulate the intentional program tree. The intentional program tree 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.
-
Citations
12 Claims
-
1. A method in a computer system for generating executable code for a computer program, the method comprising the steps of:
-
receiving an intentional program tree having nodes, each node representing a high-level computational construct of the computer program;
for each node representing a high-level computational construct, transforming the node into an implementation of the high-level computational construct using low-level computational constructs; and
for each node representing a low-level computational construct, generating executable code that implements the low-level computational construct. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer system for generating a computer program, the computer program having a plurality of high-level computational constructs, each high-level computational construct having a behavior, the computer system comprising:
-
means for creating an intentional program tree by direct manipulation of the intentional program tree, the intentional program tree having nodes representing the high-level computational constructs of the computer program;
means for reducing the intentional program tree to a reduced program tree, the reduced program tree having nodes representing low-level computational constructs, each high-level computational construct having a reduction enzyme for reducing a node representing the high-level computational construct into one or more nodes that implement the behavior of the high-level computational construct, each of the nodes representing a low-level computational construct;
means for adding a new high-level computational construct for use in creating the intentional program tree, the new high-level computational construct having a reduction enzyme, the new high-level computational construct for use in the intentional program tree; and
means for generating executable code based in the reduced program tree.
-
Specification