Pi: A Case Study in Object-Oriented Programming g User Interfaces for Debugging Pi's User Interface s Object-Oriented Programming Object-Oriented User Interface Implementation s Pi's Architecture s Symbol Table Lazy Symbol Table Construction Generators that Traverse the Symbol Table Debugging Multiple Processes Multiple Target Environments Deficiencies in C++ s Command Window Frame window Process window Source Text window base class byte order callstack context switch derived class keyboard input s lazy construction local variables main process s member function multiple inheritance multiple processes multiple sequential processes private declarations program counter s programming language public access real-time graphics source file source line source text user interface debugger graphics interface C++ constructor s breakpoint 5620 mux host/terminal protocol core kernel