In this thesis, we propose a new model for integrating tools in a programming environment. In our approach, the internal representation of the program structure is shared by all tools, but information local to a tool is encapsulated in it. The program editor is a critical component in the programming environment because it manipulates program structure shared by all tools. Therefore, we discuss detailed implementation schemes for a syntax-directed editor which can provide such facilities as editing, type checking, anomaly detection, and execution. The developed editor is syntax-directed for programming in the Pascal language and has a tree structure as its internal representation of the program. It is a hybrid between a structure editor and a text editor.