Syntax-directed editing of general data structures

Program editors help users create syntactically correct programs. Though such editors normally edit parse trees, applying similar techniques to other tree structures that need editing helps both users and implementors. This paper describes an editor that accepts a grammar describing a hierarchical data structure and allows the user to enter and edit arbitrary trees having this structure. It displays the pros and cons of this approach using instances of this editor that edit formatted documents, simple line drawings, and stick figures for trees.