Displaying and Editing Source Code in Software Engineering Environments (2000)

Authors: Michael L. Van De Vanter and Marat Boshernitsan

Source code plays a major role in most software engineering environments. The interface of choice between source code and human users is a tool that displays source code textually and possibly permits its modification. Specializing this tool for the source code's language promises enhanced services for programmers as well as better integration with other tools. However, these two goals, user services and tool integration, present conflicting design constraints that have previously prevented specialization. A new architecture, based on a lexical representation of source code, represents a compromise that satisfies constraints on both sides. A prototype implementation demonstrates that the technology can be implemented using current graphical toolkits, can be made highly configurable using current language analysis tools, and that it can be encapsulated in a manner consistent with reuse in many software engineering contexts.

Second International Symposium on Constructing Software Engineering Tools (CoSET'2000) ,
Limerick, Ireland, June 5, 2000

10 pages (PDF)

Personal note: I unfortunately have no video recording showing this editor (the "Code Processor") in operation. I do however have a 1994 demonstration video from an earlier Sun Labs project ("Clarity") where I first prototyped the idea of a program editor operating purely on a lexical token stream, i.e. with no traditional text buffer at all. The Code Processor described in this (CoSET'2000) paper was a complete reimplementation, refinement, and extension of that particular idea in the Clarity Coded Processor, but without the persistent, semantically attributed ASTs that were central to Clarity.

Watch the Clarity Code Processor Video