Structure editor

[clarification needed] Typically, the benefits of text and structure editing are combined in the user interface of a single hybrid tool.

Conversely, Dreamweaver is fundamentally a structure editor for marked up web documents, but supports the display and manipulation of raw HTML text as well.

A syntax-directed editor may treat grammar rules as generative (e.g., offering the user templates that correspond to one or more steps in a formal derivation of program text) or proscriptive (e.g., preventing a phrase of a given part of speech from being moved to a context where another part of speech is required) or analytic (e.g., parsing textual edits to create a structured representation).

Language-sensitive editors may impose syntactic correctness as an absolute requirement (e.g., as did Mentor[2]), or may tolerate syntax errors after issuing a warning (e.g., as did the Cornell Program Synthesizer[3]).

Such static-semantic constraints may be specified imperatively by actions (e.g., as in Gandalf[4][5][6]), or declaratively by an attribute grammar (e.g., as in the Synthesizer Generator[7][8]) or by unification in a many-sorted algebra (e.g., as in PSG [9]) or a logic program (e.g., as in Centaur[10] and Pan[11]), with compliance checked by the underlying editing machinery.

Structured editors vary in the degree to which they allow their users to perform edits that cause the document to become syntactically or semantically incorrect.