An editor is described which allows the user to manipulate information represented in the form of trees rather than as text. Applied to the editing of programs, this approach aids the programmer in the creation or modification of his program by eliminating the possibility of syntax errors, providing automatic formatting of the program, and reducing the number of keystrokes required to enter a program. The significance of regarding programs as trees in the development of an advanced program development system is discussed, and a powerful macro language exploiting the tree representation is described.
MSc Thesis, Dept. of Computer Science, University of Calgary, 1980, 100 pages: pdf.