An SGML-based programming environment for literate programming

  • Authors:
  • Daniel Morales-Germán

  • Affiliations:
  • Department of Computer Science, University of Waterloo, Waterloo, Ont, N2L 3G1

  • Venue:
  • CASCON '94 Proceedings of the 1994 conference of the Centre for Advanced Studies on Collaborative research
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

Abstract

Literate Programming is a documentation method that attempts to maintain consistency among the various design and program documents of a software system. Unfortunately the majority of the literate programming tools do not have appropriate user interfaces and require the users to learn complicated and cryptic tagging languages. SGML is a metalanguage used to specify markup or tagging languages that can be used to encode the structure of documents. Since SGML is an ISO standard and is being widely used by both industry and government, the number of applications that use SGML as the underlying document representation language is growing rapidly. This paper describes how a markup language defined using SGML can be used as the basic method for structuring literate programming documents and can be made independent of the programming language. Furthermore, with SGML and tools to browse and edit SGML documents, literate programs can benefit from WYSIWYG editing and hypertext capabilities and can even include pictures and other graphics. In addition, syntax-directed editors that support SGML can hide the markup tags and thus remove the need to learn a markup language. Text databases that use SGML can also be used to store literate programs. As a result, literate programs can be browsed and queried using complex search expressions, a capability beyond most text editors. For example, the searches can involve combinations of structural and textual information. Because SGML is a popular and emerging standard, we can expect to have more powerful tools to manipulate many different forms of design and program documentation.This paper describes the issues involved in the development of a literate programming environment that uses SGML as the storage model.