The Virtual Tree Processor, or Vtp, is the heart of the Centaur system. The Vtp is a set of tools that allows the specification and manipulation of abstract data types, called Vtp classes. Several predefined data types such as trees and formalisms may be exchanged by different system components such as Metal, Ppml, and Typol programs.
The Vtp is a rather low level interface, and fortunately, most Vtp primitives need not be manipulated directly; formalisms are generated by syntax specifications, Ppml requires only operator patterns to function, etc. However, for certain tasks such as dynamically extending an abstract syntax with annotations or retrieving atomic values in a Le-Lisp program, we must program with the Vtp.
Another important type of object that allows different Centaur components to communicate information is the path. A path describes locations in a tree. We use paths primarily to designate locations (e.g., for edition) or memorize information (e.g., error locations).