Method and system for reducing an intentional program tree represented by high-level computational constructs
First Claim
1. A method in a computer system for determining an operand for an operator during data entry of the nodes of an intentional program tree, the method comprising:
- receiving a sequence of tokens, each token indicating a computational construct corresponding to a node of the intentional program tree;
when receiving an indication of a selection of a subtree of the intentional program tree, selecting the indicated subtree; and
when receiving an indication of a next token to be appended to the sequence of tokens,when a subtree is currently selected, identifying the selected subtree as an operand of the operator represented by the next token;
when a subtree is not currently selected, identifying according to predefined rules of operator precedence an operand of the operator represented by the next token; and
adding a node to the intentional program tree indicating the operator represented by the next token and indicating the identified operandwhereby predefined rules of operator precedence may be overridden by selection of a subtree.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for generating a computer program in the manner that uses no computer programming language syntax. The system represents a computer program as an intentional program tree, which is a high-level program tree that is a syntax-independent representation using high-level computational constructs. The intentional program tree represents a programmer'"'"'s intent, rather than an implementation of the programmer'"'"'s intent. The programmer creates an intentional program tree using a syntax-independent editor. The editors allows a programmer to directly manipulate the intentional program tree. Because the program is stored as an intentional program tree in a syntax-independent manner, the editor allows the program to select in which of a various programming language the computer program is to be displayed. In addition, the system transforms an intentional program tree to a reduced program tree, which is a program tree comprising low-level computational constructs, in a process called reduction. The reduction process replaces expressions of programmer'"'"'s intents with a representation of one of possible multiple implementations of those intents using low-level computational constructs.
-
Citations
16 Claims
-
1. A method in a computer system for determining an operand for an operator during data entry of the nodes of an intentional program tree, the method comprising:
-
receiving a sequence of tokens, each token indicating a computational construct corresponding to a node of the intentional program tree; when receiving an indication of a selection of a subtree of the intentional program tree, selecting the indicated subtree; and when receiving an indication of a next token to be appended to the sequence of tokens, when a subtree is currently selected, identifying the selected subtree as an operand of the operator represented by the next token; when a subtree is not currently selected, identifying according to predefined rules of operator precedence an operand of the operator represented by the next token; and adding a node to the intentional program tree indicating the operator represented by the next token and indicating the identified operand whereby predefined rules of operator precedence may be overridden by selection of a subtree. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method in a computer system for determining an operand for an operator during data entry of the nodes of an intentional program tree, the method comprising:
-
receiving a sequence of tokens, each token indicating a computational construct corresponding to a node of the intentional program tree adding a node to the intentional program tree for each token in the sequence; receiving an indication of a selection of a subtree of the intentional program tree; and after receiving the indication of the selection of the subtree, receiving an indication of a next token to be appended to the sequence of tokens; when the next token represents a binary operator, identifying a left operand of the binary operator as the selected subtree of the intentional program tree; and adding a node to the intentional program tree indicating the binary operator with the identified left operand. - View Dependent Claims (7)
-
-
8. A method in a computer system for interpreted selection of an operand for an operator during data entry of the nodes of an intentional program tree, the method comprising:
-
receiving a sequence of tokens, each token indicating a computational construct corresponding to a node of the intentional program tree; adding a node to the intentional program tree for each token in the sequence; receiving an indication of a next token to be appended to the sequence of tokens; and when the next token represents an operator, identifying an operand of the operator according to predefined rules of operator precedence; and adding a node to the intentional program tree indicating the operator with the identified operand. - View Dependent Claims (9, 10, 11, 14)
-
-
12. A computer-readable medium containing instructions for causing a computer system select an operand for an operator during data entry of the nodes of an intentional program tree, the intentional program tree having nodes representing high-level computational constructs, by:
-
receiving a sequence of tokens, each token indicating a computational construct corresponding to a node of the intentional program tree; when a received token represents an operator, identifying an operand of the operator according to predefined rules of operator precedence so long as no portion of the intentional program tree is currently selected; and adding a node to the intentional program tree indicating the operator with the identified operand. - View Dependent Claims (13)
-
-
15. An editor in a computer system for generating an intentional program tree representing a computer program, the intentional program tree having nodes representing high-level computational constructs of the computer program, the editor comprising:
-
a tokenizer for receiving a plurality of tokens and identifying a high-level computational construct represented by each token; and a component for adding nodes to the intentional program tree, the nodes representing the high-level computational constructs wherein when a high-level computational construct represents a binary operator selecting a left operand from the plurality of tokens in accordance with predefined rules of operator precedence so long as no portion of the intentional program tree is currently selected. - View Dependent Claims (16)
-
Specification