Method and apparatus for processing graphically input equations
First Claim
1. A method for processing handwritten, graphically input equations on a computer system, comprising the steps of:
- (a) receiving an input pattern in a computer system comprising an equation which was derived from user handwritten strokes input using a pointing device;
(b) parsing said input pattern utilizing a defined constrained attribute grammar to determine if said input pattern defines a valid pattern within said constrained attribute grammar, said valid pattern including a set of subpatterns satisfying constraints of production rules included in said constrained attribute grammar, said constraints being used by said parsing step to establish correspondence between said subpatterns and said production rules;
(c) providing a parsed tree from said parsing step, said parsed tree being derived from said input pattern when said input pattern is determined to be a valid pattern in said parsing step;
(d) deriving a result of said equation utilizing said parsed tree by executing an operator at nodes of said parsed tree using operands included in said parsed tree;
(e) detecting an edit made to said equation having said result; and
(f) editing said parsed tree associated with said equation in response to said edit made to said equation and without changing a structure of said parsed tree when said edit changes only a value or an operator of said equation.
0 Assignments
0 Petitions
Accused Products
Abstract
A method for processing equations in a graphical computer system characterized by the steps of: receiving at least one unit comprising an equation which was derived from a graphical user input device; parsing the units into a parsed tree utilizing a constrained attribute grammar; and deriving a result of the equation utilizing the parsed tree. Preferably, the graphical user input device is a table or the screen of a pen-based computer system, where stroke units derived from strokes made by a stylus on the screen are passed to at least one recognition domain. The process preferably also includes the steps of: receiving at least one stroke unit comprising an edit to an equation on the screen; determining whether the edit changes the structure of the parsed tree of the equation; and editing the parsed tree if the edit does not change the structure of the parsed tree. A system for processing equations is characterized by: a digital processor; a screen assembly coupled to the digital processor for displaying images in response to signals provided by the digital processor and for transmitting signals to the digital processor in response to stroke made on the screen assembly with a stylus; all equation recognizer responsive to the stroke signals and operative to detect valid equations formed on the screen; an equation solver operative to produce a result for valid equations; and a mechanism for displaying the result on the screen assembly proximate to the equation.
-
Citations
22 Claims
-
1. A method for processing handwritten, graphically input equations on a computer system, comprising the steps of:
-
(a) receiving an input pattern in a computer system comprising an equation which was derived from user handwritten strokes input using a pointing device; (b) parsing said input pattern utilizing a defined constrained attribute grammar to determine if said input pattern defines a valid pattern within said constrained attribute grammar, said valid pattern including a set of subpatterns satisfying constraints of production rules included in said constrained attribute grammar, said constraints being used by said parsing step to establish correspondence between said subpatterns and said production rules; (c) providing a parsed tree from said parsing step, said parsed tree being derived from said input pattern when said input pattern is determined to be a valid pattern in said parsing step; (d) deriving a result of said equation utilizing said parsed tree by executing an operator at nodes of said parsed tree using operands included in said parsed tree; (e) detecting an edit made to said equation having said result; and (f) editing said parsed tree associated with said equation in response to said edit made to said equation and without changing a structure of said parsed tree when said edit changes only a value or an operator of said equation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for processing handwritten equations comprising:
-
a digital processor; a display screen coupled to said digital processor, said display screen being operative to display images in response to signals from said digital processor and to transmit stroke signals to said digital processor in response to the movement of a stylus across said display screen; equation recognition means responsive to said stroke signals and operative to detect valid equations formed on said display screen, said equation recognition means including; means for parsing said equation to form a parsed tree, said means for parsing utilizing a constrained attribute grammar including a set of production rules, wherein said stroke signals are input to said means for parsing as a pattern including a set of subpatterns, and means for detecting whether a valid parsed tree has been formed by checking when said set of subpatterns can be rewritten as a start symbol according to said production rules and constraints included within said production rules; equation solving means operative to provide a result for said valid equations from said valid parsed tree; means for displaying said equation and said result on said display screen proximate to said equation; and editing means for detecting an edit to said displayed equation and for editing said parsed tree in response to said edit to said displayed equation and without changing a structure of said parsed tree. - View Dependent Claims (12, 13, 14)
-
-
15. A computer system for processing handwritten equations comprising:
-
a processor; means for receiving an input pattern comprising an equation which was derived from user handwritten strokes on an input tablet; a parser for parsing said input pattern, said parser being implemented by said processor and including; means for recognizing said input pattern as a valid pattern utilizing a defined constrained attribute grammar, said grammar including a set of production rules and a grammar start symbol, wherein said means for recognizing determines when said input pattern is valid by determining when said set of input subpatterns can be rewritten as said start symbol according to said set of production rules, wherein said production rules include a syntactic part, a semantic part, a constraints part, and an action part; and means for providing a parsed tree when said means for recognizing recognizes said input pattern as a valid pattern; data manipulation means implemented by said processor for deriving a result of said equation utilizing said parsed tree by executing an operator at nodes of said parsed tree using operands included in said parsed tree; editing means for editing said parsed tree in response to an edit to said equation, said parsed tree being edited without changing a structure of said parsed tree; and a display screen coupled to said processor for displaying said result of said equation. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. A computer readable medium containing program instructions for:
-
receiving an input pattern in a computer system comprising an equation which was derived from user handwritten strokes input using an input pointing device; displaying said equation on a display screen of said computer system; parsing said input pattern utilizing a defined constrained attribute grammar to determine if said input pattern defines a valid pattern within said constrained attribute grammar, said valid pattern including a set of subpatterns satisfying constraints of production rules included in said constrained attribute grammar, said constraints being used by said parsing step to establish correspondence between said subpatterns and said production rules; providing a parsed tree from said parsing step, said parsed tree being derived from said input pattern when said input pattern is determined to be a valid pattern in said parsing step; deriving and displaying a result of said equation utilizing said parsed tree by executing an operator at nodes of said parsed tree using operands included in said parsed tree; detecting an edit made to said equation displayed upon said display screen; determining whether said edit changes the structure of said parsed tree, wherein said parsed tree is determined not to be changed when said edit changes only a value or an operator of said equation; editing said parsed tree in response to said edit made to said displayed equation when said edit does not change the structure of said parsed tree, wherein said editing step includes substituting a changed value or a changed operator into said structure of said parsed tree; and deriving and displaying a result of said equation utilizing said edited parsed tree by executing an operator at nodes of said parsed tree using operands included in said parsed tree.
-
Specification