WYSIWYG Editing of Formulas
Original Publication Date: 1992-Oct-01
Included in the Prior Art Database: 2005-Mar-25
Latone, JA: AUTHOR [+1]
Disclosed is a system that gives editors the ability to edit formulas in a "what-you-see-is-what-you-get" (WYSIWYG) fashion.
WYSIWYG Editing of Formulas
a system that gives editors the ability to
edit formulas in a "what-you-see-is-what-you-get" (WYSIWYG) fashion.
WYSIWYG editors that offer interactive formula
editing capability do so by allowing the user to create/edit the
formulas in an ad hoc way, allowing the creation of syntactically
incorrect and improperly formatted formulas. The proposed formula
editing system which is based on a regular grammar and can be
integrated into a WYSIWYG editor, will automatically perform the
following while the user edits the formula:
o Prompt the user for the expected part of the formula during
formula entry, and position the cursor properly;
o Format the formula properly in its natural two-dimensional form,
including automatic sizing of symbols; and
o Preserve the syntax of the formula.
Structure and Implementation
grammar decribes and prescribes a type of formulas,
i.e., the way they should be specified (input) and the way they
should look (output). The algorithms to perform the editing
functions on the formulas know nothing about the particulars of the
grammar, they only know how to parse expressions from the grammar,
create and manipulate the internal representation of the formulas,
and change the state of the formulas. The algorithms are
grammar-driven; therefore, one can "plug-in" a new grammar, and the
formula editing functions will perform on a new type of formula,
e.g., mathematical formulas, chemical formulas, or even music.
used to define the productions of the grammer is
a simplified variation of Backus-Naur-Form (BNF). The simplified
notation is as follows:
1. A non-terminal symbol is referred to as an identifier.
Identifiers are case-insensitive; they must begin with a letter and
may be followed by any combination and number of letters, digits, and
underscore characters. For example, all of the following can be
2. A terminal symbol is referred to as a character string. A
character string is a sequence of characters enclosed by single quote
marks. (Two consecutive single quote marks within a character string
signify one single quote mark within the character string itself).
For example, all of the following can be character strings:
'How"s the weather?'
3. The meta-symbol "::=" is simply translated by the equal sign
"=". Additionally, the meta-symbol "*" and the keywords "ANY" and
"EMPTY" are used to supply necessary formatting information.
Note: The terminal and non-terminal symbols that are used in the
grammar are used by the formula editing functions to construct
messages. These messages can be displayed as prompts or error
messages, depending on the context.
A Working Example