Abstract
Though programming languages and programming styles evolve with remarkable speed today, there is no such evolution in the field of program documentation. And although there exist some popular approaches like Knuth’s literate programming system WEB [26], and nowadays JavaDoc [15] or Doxygen [16], tools for managing software development and documentation are not as widespread as desirable.
This paper analyses a wide range of literate programming tools available during the past two decades and introduces PROG \(\mathcal{DOC}\), a new software documentation system. It is simple, language independent, and it keeps documentation and the documented software consistent. It uses \({\rm L\kern-.36em\raise.3ex\hbox{\sc a}\kern-.15em T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}\) for typesetting purposes, supports syntax highlighting for various languages, and produces output in Postscript, PDF or HTML format.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Abrahams, P.W.: Typographical Extensions for Programming Languages: Breaking out of the ASCII Straitjacket. ACM SIGPLAN Notices 28(2) (February 1993)
Aho, A.W., Kernighan, B.W., Weinberger, P.J.: The AWK Programming Language. Addison-Wesley, Reading (1988)
Armstrong, E.: Encoding Source in XML - A strategig Analysis, http://www.treelight.com/software/encodingSource.html
Badros, G.J.: JavaML: A Markup Language for Java Source Code. In: 9th Int. WWW Conference, Amsterdam (May 2000)
Baecker, R.M., Marcus, A.: Human Factors and Typography for More Readable Programs. Addison-Wesley, Reading (1990)
Borland Software Corporation. Borland JBuilder, http://www.borland.com/jbuilder
Briggs, P.: nuWeb, http://ctan.tug.org/tex-archive/web/nuweb
Bart Childs Literate Programming, A Practitioner’s View TUGboat, Vol. 13(2) (1992), http://www.literateprogramming.com/farticles.html
Childs, B., Sametinger, J.: Analysis of Literate Programs from the Viewpoint of Reuse. Software - Concepts and Tools 18(2) (1997), http://www.literateprogramming.com/farticles.html
Coates, A.B., Rendon, Z.: xmLP - a Literate Programming Tool for XML & Text. In: Extreme Markup Languages, Montreal, Quebec, Canada (August 2002), http://xmlp.sourceforge.net/2002/extreme/
Czarnecki, K., Eisenecker, U.W.: Generative Programming. Addison-Wesley, Reading (2000)
by Nikos Drakos and Ross Moore. Latex2HTML, http://saftsack.fs.uni-bayreuth.de/latex2ht/ or: http://ctan.tug.org/ctan/tex-archive/support/latex2html
Free Software Foundation The Fast Lexical Analyzer, http://www.gnu.org/software/flex/
German, D.M., Cowan, D.D., Ryman, A.: SGML-Lite – An SGML-based Programming Environment for Literate Programming. ISACC (October 1996), http://www.oasis-open.org/cover/germanisacc96-ps.gz
Gosling, J., Joy, B., Steele, G.: Java Language Specification. Addison-Wesley, Reading (1996)
van Heesch, D.: Doxygen, http://www.doxygen.org
Heinz, C.: The Listings package, ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/listings.html
Hendrix, T.D., Cross II, J.H., Barowski, L.A., Mathias, K.S.: Visual Support for Incremental Abstraction and Refinement in Ada95. SIGAda Ada Letters 18(6) (1998)
IBM Corporation. Visual Age C++, http://www-3.ibm.com/software/ad/vacpp
Khwaja, A.A., Urban, J.E.: Syntax-Directed Editing Environments: Issues and Features. In: ACM SIGAPP Symposium on Applied Computing, Indianapolis, Indiana (1993)
Kiselyov, O.: SXML Specification. ACM SIGPLAN Notices 37(6) (June 2002), http://pobox.com/~oleg/ftp/Scheme/xml.html
Knasmüller, M.: Reverse Literate Programming. In: Proc. of the 5th Software Quality Conference, Dundee (July 1996)
Knuth, D.E.: Literate Programming. The Computer Journal 27(2) (1984)
Knuth, D.E.: The TEXbook, 11th edn. Addison-Wesley, Reading (1991)
Knuth, D.E.: TEX: The Program, 4th edn. Addison-Wesley, Reading (1991)
Knuth, D.E.: Literate Programming. CSLI Lecture Notes, vol. 27. Cambridge University Press, Cambridge (1992)
Knuth, D.E., Levy, S.: The CWEB System of Structured Documentation. Addison-Wesley, Reading (1993)
Kreppel, U.: WebWeb, http://www.progdoc.de/webweb/webweb.html
Krommes, J.: fWeb, http://w3.pppl.gov/~krommes/fweb.html
van Leeuwen, M.: CWebx, http://wallis.univ-poitiers.fr/~maavl/CWEBx/
Meyrowitz, N., van Dam, A.: Interactive Editing Systems: Part I and II. Computing Surveys 14(3) (September 1982)
Microsoft Corporation. Visual Studio, http://msdn.microsoft.com/vstudio
Morris, J., Schwartz, M.: The Design of a Language- Directed Editor for Block-Structured Languages. In: SIGLAN/SIGOA Symp. on text manipulation, Portland (1981)
Mössenböck, H., Koskimies, K.: Active Text for Structuring and Understanding Source Code. Software - Practice and Experience 27(7) (July 1996)
NetBeans Project. The NetBeans Platform and IDE, http://www.netbeans.org
The Oasis Consortium. SGML/XML and Literate Programming, http://www.oasis-open.org/cover/xmlLitProg.html
Pierrou, P.: Literate Programming in XML. Markup Technologies, Philadelphia, Pensylvania, US (December 1999), http://www.literateprogramming.com/farticles.html
Ramsey, N., Marceau, C.: Literate Programming on a Team Project Software. Practice & Experience 21(7) (July 1991), http://www.literateprogramming.com/farticles.html
Norman Ramsey Literate Programming Simplified IEEE Software, p. 97 (September 1994), http://www.eecs.harvard.edu/~nr/noweb/intro.html
Red Hat, Inc. Source Navigator, http://sourcenav.sourceforge.net
Samtinger, J.: DOgMA: A Tool for the Documentation & Maintenance of Software Systems. Tech. Report, Inst. fürWirtschaftsinformatik, J. Kepler Univ., Linz, Austria (1991)
Samtinger, J., Pomberger, G.: A Hypertext System for Literate C++ Programming. JOOP 4(8), SIGS Publications, NewYork (1992)
Sandø, S.E.: The Software Development Foundation CSF Specification, http://sds.sourceforge.net
Shum, S., Cook, C.: Using Literate Programming to Teach Good Programming Practices. In: 25th. SIGCSE Symp. on Computer Science Education, pp. 66–70 (1994)
Simonis, V.: The ProgDOC Program Documentation System, http://www.progdoc.org
Simonyi, C.: Intentional Programming - Innovation in the Legacy Age. IFIPWG2.1 meeting, June 4 (1996)
Simonyi, C.: The future is intentional. IEEE Computer Magazine 32(5) (May 1999)
Soroker, D., Karasick, M., Barton, J., Streeter, D.: Extension Mechanisms in Montana. In: Proc. of the 8th Israeli Conf. on Computer Based Systems and Software Engineering (1997)
Sun Microsystems, Inc. The Doclets API, http://java.sun.com/j2se/javadoc/
Teitelbaum, T., Reps, T.: The Cornell Program Synthesizer: A Syntax-Directed Programming Environment. Communications of the ACM 24(9) (September 1981)
The Unicode Consortium. The Unicode Standard 3.0. Addison-Wesley, Reading, Mass (2000), http://www.unicode.org/
Walsh, N., Muellner, L.: DocBook: The Definitive Guide. O Reilly & Associates (1999), http://www.oasis-open.org/committe/docbook
Williams, R.N.: funnelWeb, http://www.ross.net/funnelweb/
Wirth, N., Gutknecht, J.: The Oberon System. Software - Practice & Experience 19(9), 857–893 (1989)
World Wide Web Consortium. Mathematical Markup Language, http://www.w3.org/Math
World Wide Web Consortium. Extensible Hypertext Markup Language, http://www.w3.org/MarkUp
The World Wide Web Consortium. Extensible Markup Language, http://www.w3.org/XML
World Wide Web Consortium. Extensible Stylesheet Language Transformations, http://www.w3.org/Style/XSL
Wunderling, R., Zöckler, M.: DOC++, http://www.zib.de/Visual/software/doc++/
Van Christopher, J.: WykLiterate Programming Column. Communications of the ACM 33(3), 361–362 (1990)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Simonis, V., Weiss, R. (2004). PROG \(\mathcal{DOC}\)— A New Program Documentation System. In: Broy, M., Zamulin, A.V. (eds) Perspectives of System Informatics. PSI 2003. Lecture Notes in Computer Science, vol 2890. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39866-0_44
Download citation
DOI: https://doi.org/10.1007/978-3-540-39866-0_44
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20813-6
Online ISBN: 978-3-540-39866-0
eBook Packages: Springer Book Archive