Methods and interface for building command expressions in a computer system
First Claim
1. In a computer system for processing expressions entered by a user, the expressions comprising a plurality of tokens which evaluate to a result, said plurality of tokens including at least one operator token and at least one operand token, a method for assisting the user with correctly creating an expression, the method comprising:
- (a) storing a set of rules specifying valid relationships between adjacent tokens;
(b) receiving user input for placing at least one token in said expression being created;
(c) determining validity of said expression being created by applying at least one of said set of rules to adjacent ones of said at least one token;
(d) if said expression being created is determined not to be valid in step (c), automatically modifying said expression so that validity of said expression being created is maintained; and
(e) if modifying said expression in step (d) results in at least one addition or deletion of tokens from said expression being created, repeating steps (c) and (d) for all said at least one addition or deletion of tokens.
3 Assignments
0 Petitions
Accused Products
Abstract
The system of the present invention comprises a development system having an Expression Builder for assisting a user with creating an expression. With full syntax checking enabled, the user builds an expression in "token" mode. As the user enters each token element, the system attempts to validate the expression and, if the expression is valid, displays the result. If the expression is incomplete or invalid, however, the system displays a message explaining what is needed. The Expression Builder of the present invention employs placeholders or "proxies" for representing elements in an expression which should be replaced before the expression is valid. The expression is dynamically adjusted during user editing as required to maintain expression validity. In this manner, the user is provided with in situ assistance in constructing syntactically-correct expressions.
121 Citations
30 Claims
-
1. In a computer system for processing expressions entered by a user, the expressions comprising a plurality of tokens which evaluate to a result, said plurality of tokens including at least one operator token and at least one operand token, a method for assisting the user with correctly creating an expression, the method comprising:
-
(a) storing a set of rules specifying valid relationships between adjacent tokens; (b) receiving user input for placing at least one token in said expression being created; (c) determining validity of said expression being created by applying at least one of said set of rules to adjacent ones of said at least one token; (d) if said expression being created is determined not to be valid in step (c), automatically modifying said expression so that validity of said expression being created is maintained; and (e) if modifying said expression in step (d) results in at least one addition or deletion of tokens from said expression being created, repeating steps (c) and (d) for all said at least one addition or deletion of tokens.
-
-
2. In a computer system for processing expressions entered by a user, the expressions comprising a plurality of tokens which evaluate to a result, said plurality of tokens including at least one operator token and at least one operand token, a method for assisting the user with correctly creating an expression, the method comprising:
-
(a) storing a set of rules specifying valid relationships between adjacent tokens, wherein said rules are adjustable to a desired target language syntax; (b) receiving user input for placing at least one token in said expression being created; (c) determining validity of said expression being created by applying at least one of said set of rules to adjacent ones of said at least one token; and (d) if said expression being created is determined not to be valid in step (c), automatically modifying said expression so that validity of said expression being created is maintained.
-
-
3. In a computer system for processing expressions entered by a user, the expressions comprising a plurality of tokens which evaluate to a result, said plurality of tokens including at least one operator token and at least one operand token, a method for assisting the user with correctly creating an expression, the method comprising:
-
(a) storing a set of rules specifying valid relationships between adjacent tokens, wherein said tokens comprise nonreducible textual elements in said expression being created and wherein said nonreducible textual elements include selected ones of operators, function calls, arguments, and reserved words; (b) receiving user input for placing at least one token in said expression being created; (c) determining validity of said expression being created by applying at least one of said set of rules to adjacent ones of said at least one token; and (d) if said expression being created is determined not to be valid in step (c), automatically modifying said expression so that validity of said expression being created is maintained.
-
-
4. In a computer system for processing expressions entered by a user, the expressions comprising a plurality of tokens which evaluate to a result, said plurality of tokens including at least one operator token and at least one operand token, a method for assisting the user with correctly creating an expression, the method comprising:
-
(a) storing a set of rules specifying valid relationships between adjacent tokens, wherein said rules comprise a plurality of records, each storing information specifying a type of token which can be placed between an existing pair of tokens; (b) receiving user input for placing at least one token in said expression being created; (c) determining validity of said expression being created by applying at least one of said set of rules to adjacent ones of said at least one token; and (d) if said expression being created is determined not to be valid in step (c), automatically modifying said expression so that validity of said expression being created is maintained.
-
-
5. In a computer system for processing expressions entered by a user, the expressions comprising a plurality of tokens which evaluate to a result, said plurality of tokens including at least one operator token and at least one operand token, a method for assisting the user with correctly creating an expression, the method comprising:
-
(a) storing a set of rules specifying valid relationships between adjacent tokens; (b) receiving user input for placing at least one token in said expression being created; (c) determining validity of said expression being created by applying at least one of said set of rules to adjacent ones of said at least one token; and (d) if said expression being created is determined not to be valid in step (c), automatically modifying said expression so that validity of said expression being created is maintained; wherein step (d) includes the step of; placing at least one placeholder token for a token whose absence from the expression would render the expression invalid. - View Dependent Claims (6, 7, 8)
-
-
9. In a computer system for processing expressions entered by a user, the expressions comprising a plurality of tokens which evaluate to a result, a method for assisting the user with correctly creating an expression, the method comprising:
-
(a) storing a set of rules specifying valid relationships between adjacent tokens; (b) receiving user input for placing at least one token in said expression being created; (c) determining validity of said expression being created by applying at least one of said set of rules to adjacent ones of said at least one token; and (d) if said expression being created is determined not to be valid in step (c), automatically modifying said expression so that validity of said expression being created is maintained by, if two operand tokens are adjacent, automatically placing an operator placeholder token between said adjacent operand tokens.
-
-
10. In a computer system for processing expressions entered by a user, the expressions comprising a plurality of tokens which evaluate to a result, a method for assisting the user with correctly creating an expression, the method comprising:
-
(a) storing a set of rules specifying valid relationships between adjacent tokens; (b) receiving user input for placing at least one token in said expression being created; (c) determining validity of said expression being created by applying at least one of said set of rules to adjacent ones of said at least one token; and (d) if said expression being created is determined not to be valid in step (c), automatically modifying said expression so that validity of said expression being created is maintained by, if two operator tokens are adjacent, automatically placing an operand placeholder token between said adjacent operator tokens.
-
-
11. In a computer system for processing expressions entered by a user, the expressions comprising a plurality of tokens which evaluate to a result, a method for assisting the user with correctly creating an expression, the method comprising:
-
(a) storing a set of rules specifying valid relationships between adjacent tokens; (b) receiving user input for placing at least one token in said expression being created; (c) determining validity of said expression being created by applying at least one of said set of rules to adjacent ones of said at least one token; and (d) if said expression being created is determined not to be valid in step (c), automatically modifying said expression so that validity of said expression being created is maintained by, if an operator placeholder token is adjacent an operand placeholder token, automatically removing said operator placeholder token and said operand placeholder token.
-
-
12. In a computer system for processing expressions entered by a user, the expressions comprising a plurality of tokens which evaluate to a result, a method for assisting the user with correctly creating an expression, the method comprising:
-
(a) storing a set of rules specifying valid relationships between adjacent tokens; (b) receiving user input for placing at least one token in said expression being created; (c) determining validity of said expression being created by applying at least one of said set of rules to adjacent ones of said at least one token; and (d) if said expression being created is determined not to be valid in step (c), automatically modifying said expression so that validity of said expression being created is maintained by, if an operator token is positioned at an end of said expression being created, automatically placing an operand placeholder token after said operator token.
-
-
13. In a computer system for processing expressions entered by a user, the expressions comprising a plurality of tokens which evaluate to a result, a method for assisting the user with correctly creating an expression, the method comprising:
-
(a) storing a set of rules specifying valid relationships between adjacent tokens; (b) receiving user input for placing at least one token in said expression being created; (c) determining validity of said expression being created by applying at least one of said set of rules to adjacent ones of said at least one token; and (d) if said expression being created is determined not to be valid in step (c), automatically modifying said expression so that validity of said expression being created is maintained by, if an operator token is positioned at a beginning of said expression being created and said operator token represents a binary operator, automatically placing an operand placeholder token before said operator token.
-
-
14. In a computer system for processing expressions entered by a user, the expressions comprising a plurality of tokens which evaluate to a result, a method for assisting the user with correctly creating an expression, the method comprising:
-
(a) storing a set of rules specifying valid relationships between adjacent tokens; receiving user input for placing at least one token in said expression being created; (c) determining validity of said expression being created by applying at least one of said set of rules to adjacent ones of said at least one token; and (d) if said expression being created is determined not to be valid in step (c), automatically modifying said expression so that validity of said expression being created is maintained by the steps of; (i) receiving user input for placing an operator token in said expression being created at a position occupied by an operator placeholder token; and (ii) automatically replacing said operator placeholder token with said operator token.
-
-
15. In a computer system for processing expressions entered by a user, the expressions comprising a plurality of tokens which evaluate to a result, a method for assisting the user with correctly creating an expression, the method comprising:
-
(a) storing a set of rules specifying valid relationships between adjacent tokens; (b) receiving user input for placing at least one token in said expression being created; (c) determining validity of said expression being created by applying at least one of said set of rules to adjacent ones of said at least one token; and (d) if said expression being created is determined not to be valid in step (c), automatically modifying said expression so that validity of said expression being created is maintained by the steps of; (i) receiving user input for placing an operand token in said expression being created at a position occupied by an operand placeholder token; and (ii) automatically replacing said operand placeholder token with said operand token.
-
-
16. In a computer system for processing expressions entered by a user, the expressions comprising a plurality of tokens which evaluate to a result, said plurality of tokens including at least one operator token and at least one operand token, a method for assisting the user with correctly creating an expression, the method comprising:
-
(a) storing a set of rules specifying valid relationships between adjacent tokens, wherein said tokens include a pair of grouping tokens for grouping related ones of said tokens; (b) receiving user input for placing at least one token in said expression being created; (c) determining validity of said expression being created by applying at least one of said set of rules to adjacent ones of said at least one token; (d) if said expression being created is determined not to be valid in step (c), automatically modifying said expression so that validity of said expression being created is maintained; and (e) if one of a pair of grouping tokens is deleted, automatically deleting the other of the pair.
-
-
17. In a computer system for processing expressions entered by a user, the expressions comprising a plurality of tokens which evaluate to a result, a method for assisting the user with correctly creating an expression, the method comprising:
-
(a) storing a set of rules specifying valid relationships between adjacent tokens, wherein said tokens include a function token comprising a function name followed by a left paren, said function token corresponding with it matching right paren token; (b) receiving user input for placing at least one token in said expression being created; (c) determining validity of said expression being created by applying at least one of said set of rules to adjacent ones of said at least one token; and (d) if said expression being created is determined not to be valid in step (c), automatically modifying said expression so that validity of said expression being created is maintained by, if either one of a function token or its corresponding right paren token is deleted, automatically deleting the other.
-
-
18. In a computer system for processing expressions entered by a user, the expressions comprising a plurality of tokens which evaluate to a result, said plurality of tokens including at least one operator token and at least one operand token, a method for assisting the user with correctly creating an expression, the method comprising:
-
(a) storing a set of rules specifying valid relationships between adjacent tokens, wherein said tokens include a function token comprising a function name followed by a left paren, said function token corresponding with a matching right paren token, and wherein said tokens include comma-delimited function parameter tokens corresponding with a function token, each function parameter token including a descriptive message indicating usage and type for the parameter; (b) receiving user input for placing at least one token in said expression being created; (c) determining validity of said expression being created by applying at least one of said set of rules to adjacent ones of said at least one token; and (d) if said expression being created is determined not to be valid in step (c), automatically modifying said expression so that validity of said expression being created is maintained.
-
-
19. In a computer system for processing expressions entered by a user, the expressions comprising a plurality of tokens which evaluate to a result, a method for assisting the user with correctly creating an expression, the method comprising:
-
(a) storing a set of rules specifying valid relationships between adjacent tokens, wherein said tokens include comma-delimited function parameter tokens corresponding with a function token; (b) receiving user input for placing at least one token in said expression being created; (c) determining validity of said expression being created by applying at least one of said set of rules to adjacent ones of said at least one token; and (d) if said expression being created is determined not to be valid in step (c), automatically modifying said expression so that validity of said expression being created is maintained by, if a function token is deleted, said function token having corresponding comma-delimited function parameter tokens, automatically replacing each comma delimiter of the parameter tokens with a placeholder operator token.
-
-
20. In a computer system for processing expressions entered by a user, the expressions comprising a plurality of tokens which evaluate to a result, a method for assisting the user with correctly creating an expression, the method comprising;
-
(a) storing a set of rules specifying valid relationships between adjacent tokens, wherein said tokens include comma-delimited function parameter tokens corresponding with a function token; (b) receiving user input for placing at least one token in said expression being created; (c) determining validity of said expression being created by applying at least one of said set of rules to adjacent ones of said at least one token; and (d) if said expression being created is determined not to be valid in step (c), automatically modifying said expression so that validity of said expression being created is maintained by, if a function token is placed at a position in the expression before an operand token, said function token having corresponding comma-delimited function parameter tokens, automatically placing the operand token as a first parameter token for the function.
-
-
21. In a system for processing commands entered by a user, the commands including expressions which resolve to a result, a method comprising:
-
(a) receiving input from the user specifying a desired expression; (b) dividing said input into a plurality of tokens, said plurality of tokens including at least one operator token and at least one operand token; (c) determining validity of said desired expression by comparing said tokens against a set of rules specifying valid relationships between tokens; (d) if said desired expression being created is determined not to be valid in step (c), automatically modifying said desired expression so that validity of said desired expression is maintained; (e) placing at least one proxy token for a token whose absence from said desired expression would render said desired expression invalid or incomplete; and (f) using said desired expression in resolving said result. - View Dependent Claims (22, 23)
-
-
24. In a system for processing commands entered by a user, the commands including expressions which resolve to a result, a method comprising:
-
(a) receiving input from the user specifying a desired expression; (b) dividing said input into a plurality of tokens, said plurality of tokens including at least one operator token and at least one operand token; (c) displaying a list of token elements which may be pasted to said desired expression, said list being adjusted according to a user-selected element type; (d) determining validity of said desired expression by comparing said tokens against a set of rules specifying valid relationships between tokens; (e) if said desired expression being created is determined not to be valid in step (d), automatically modifying said desired expression so that validity of said desired expression is maintained; and (f) using said desired expression in resolving said result.
-
-
25. A development system for creating an expression from data entered by a user, said expression comprising a plurality of tokens which evaluate to a result, said plurality of tokens including at least one operator token and at least one operand token, said system comprising:
-
a computer having a processor and a memory; means for storing in said memory information specifying valid relationships between tokens; input means for receiving user input for placing at least one token in said expression being created; means for determining validity of said expression being created by applying said rules to adjacent ones of said at least one token; means for automatically modifying said expression so that validity of said expression being created is maintained; and means for placing at least one proxy token for a token whose absence from the expression would render the expression invalid or incomplete. - View Dependent Claims (26, 27)
-
-
28. A development system for creating an expression from data entered by a user, said expression comprising a plurality of tokens which evaluate to a result, said plurality of tokens including at least one operator token and at least one operand token, said system comprising:
-
a computer having a processor and a memory; means for storing in said memory information specifying valid relationships between tokens; input means for receiving user input for placing at least one token in said expression being created; means for displaying a list of token elements which may be pasted to the expression with said input means, said list being adjusted according to a user-selected element type; means for determining validity of said expression being created by applying said rules to adjacent ones of said at least one token; and means for automatically modifying said expression so that validity of said expression being created is maintained.
-
-
29. A computer system for creating an expression comprising:
-
a processor and a memory; means for storing information for a desired target language in said memory, said information specifying valid combinations of elements for said expression, said valid combinations of elements comprising at least one element which operates on at least one other element; an interface means for specifying an edit operation at a desired location in said expression, said edit operation for adding or deleting an element, and wherein said interface means includes a display means for listing elements available for placement in the expression; comparison means for comparing said edit operation with said information; and means for automatically modifying said edit operation so that said expression maintains said valid combinations of elements.
-
-
30. A computer system for creating an expression comprising:
-
a processor and a memory; means for storing information for a desired target language in said memory, said information specifying valid combinations of elements for said expression, said valid combinations of elements comprising at least one element which operates on at least one other element; an interface means for specifying an edit operation at a desired location in said expression, said edit operation for adding or deleting an element; comparison means for comparing said edit operation with said information, wherein said information includes rules specifying an element which can be legally placed at a given location, said given location being defined by elements neighboring the location; and means for automatically modifying said edit operation so that said expression maintains said valid combinations of elements.
-
Specification