This book is a detailed account of the Synthesizer Generator, a system
for creat- ing specialized editors that are customized for editing
particular languages. The book is intended for those with an interest in
software tools and in methods for building interactive systems. It is a
must for people who are using the Syn- thesizer Generator to build
editors because it provides extensive discussions of how to write editor
specifications. The book should also be valuable for people who are
building specialized editors "by hand," without using an editor-
generating tool. The need to manage the development of large software
systems is one of the most pressing problems faced by computer
programmers. An important aspect of this problem is the design of new
tools to aid interactive program develop- ment. The Synthesizer
Generator permits one to create specialized editors that are tailored
for editing a particular language. In program editors built with the
Synthesizer Generator, knowledge about the language is used to
continuously assess whether a program contains errors and to determine
where such errors occur. The information is then displayed on the
terminal screen to provide feed- back to the programmer as the program
is developed and modified.