Skip to main content

PROG \(\mathcal{DOC}\)— A New Program Documentation System

  • Conference paper
Perspectives of System Informatics (PSI 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2890))

  • 416 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abrahams, P.W.: Typographical Extensions for Programming Languages: Breaking out of the ASCII Straitjacket. ACM SIGPLAN Notices 28(2) (February 1993)

    Google Scholar 

  2. Aho, A.W., Kernighan, B.W., Weinberger, P.J.: The AWK Programming Language. Addison-Wesley, Reading (1988)

    MATH  Google Scholar 

  3. Armstrong, E.: Encoding Source in XML - A strategig Analysis, http://www.treelight.com/software/encodingSource.html

  4. Badros, G.J.: JavaML: A Markup Language for Java Source Code. In: 9th Int. WWW Conference, Amsterdam (May 2000)

    Google Scholar 

  5. Baecker, R.M., Marcus, A.: Human Factors and Typography for More Readable Programs. Addison-Wesley, Reading (1990)

    Google Scholar 

  6. Borland Software Corporation. Borland JBuilder, http://www.borland.com/jbuilder

  7. Briggs, P.: nuWeb, http://ctan.tug.org/tex-archive/web/nuweb

  8. Bart Childs Literate Programming, A Practitioner’s View TUGboat, Vol. 13(2) (1992), http://www.literateprogramming.com/farticles.html

  9. 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

  10. 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/

  11. Czarnecki, K., Eisenecker, U.W.: Generative Programming. Addison-Wesley, Reading (2000)

    Google Scholar 

  12. by Nikos Drakos and Ross Moore. Latex2HTML, http://saftsack.fs.uni-bayreuth.de/latex2ht/ or: http://ctan.tug.org/ctan/tex-archive/support/latex2html

  13. Free Software Foundation The Fast Lexical Analyzer, http://www.gnu.org/software/flex/

  14. 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

  15. Gosling, J., Joy, B., Steele, G.: Java Language Specification. Addison-Wesley, Reading (1996)

    MATH  Google Scholar 

  16. van Heesch, D.: Doxygen, http://www.doxygen.org

  17. Heinz, C.: The Listings package, ftp://ftp.dante.de/tex-archive/help/Catalogue/entries/listings.html

  18. 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)

    Google Scholar 

  19. IBM Corporation. Visual Age C++, http://www-3.ibm.com/software/ad/vacpp

  20. Khwaja, A.A., Urban, J.E.: Syntax-Directed Editing Environments: Issues and Features. In: ACM SIGAPP Symposium on Applied Computing, Indianapolis, Indiana (1993)

    Google Scholar 

  21. Kiselyov, O.: SXML Specification. ACM SIGPLAN Notices 37(6) (June 2002), http://pobox.com/~oleg/ftp/Scheme/xml.html

  22. Knasmüller, M.: Reverse Literate Programming. In: Proc. of the 5th Software Quality Conference, Dundee (July 1996)

    Google Scholar 

  23. Knuth, D.E.: Literate Programming. The Computer Journal 27(2) (1984)

    Google Scholar 

  24. Knuth, D.E.: The TEXbook, 11th edn. Addison-Wesley, Reading (1991)

    Google Scholar 

  25. Knuth, D.E.: TEX: The Program, 4th edn. Addison-Wesley, Reading (1991)

    Google Scholar 

  26. Knuth, D.E.: Literate Programming. CSLI Lecture Notes, vol. 27. Cambridge University Press, Cambridge (1992)

    MATH  Google Scholar 

  27. Knuth, D.E., Levy, S.: The CWEB System of Structured Documentation. Addison-Wesley, Reading (1993)

    Google Scholar 

  28. Kreppel, U.: WebWeb, http://www.progdoc.de/webweb/webweb.html

  29. Krommes, J.: fWeb, http://w3.pppl.gov/~krommes/fweb.html

  30. van Leeuwen, M.: CWebx, http://wallis.univ-poitiers.fr/~maavl/CWEBx/

  31. Meyrowitz, N., van Dam, A.: Interactive Editing Systems: Part I and II. Computing Surveys 14(3) (September 1982)

    Google Scholar 

  32. Microsoft Corporation. Visual Studio, http://msdn.microsoft.com/vstudio

  33. Morris, J., Schwartz, M.: The Design of a Language- Directed Editor for Block-Structured Languages. In: SIGLAN/SIGOA Symp. on text manipulation, Portland (1981)

    Google Scholar 

  34. Mössenböck, H., Koskimies, K.: Active Text for Structuring and Understanding Source Code. Software - Practice and Experience 27(7) (July 1996)

    Google Scholar 

  35. NetBeans Project. The NetBeans Platform and IDE, http://www.netbeans.org

  36. The Oasis Consortium. SGML/XML and Literate Programming, http://www.oasis-open.org/cover/xmlLitProg.html

  37. Pierrou, P.: Literate Programming in XML. Markup Technologies, Philadelphia, Pensylvania, US (December 1999), http://www.literateprogramming.com/farticles.html

  38. Ramsey, N., Marceau, C.: Literate Programming on a Team Project Software. Practice & Experience 21(7) (July 1991), http://www.literateprogramming.com/farticles.html

  39. Norman Ramsey Literate Programming Simplified IEEE Software, p. 97 (September 1994), http://www.eecs.harvard.edu/~nr/noweb/intro.html

  40. Red Hat, Inc. Source Navigator, http://sourcenav.sourceforge.net

  41. Samtinger, J.: DOgMA: A Tool for the Documentation & Maintenance of Software Systems. Tech. Report, Inst. fürWirtschaftsinformatik, J. Kepler Univ., Linz, Austria (1991)

    Google Scholar 

  42. Samtinger, J., Pomberger, G.: A Hypertext System for Literate C++ Programming. JOOP 4(8), SIGS Publications, NewYork (1992)

    Google Scholar 

  43. Sandø, S.E.: The Software Development Foundation CSF Specification, http://sds.sourceforge.net

  44. Shum, S., Cook, C.: Using Literate Programming to Teach Good Programming Practices. In: 25th. SIGCSE Symp. on Computer Science Education, pp. 66–70 (1994)

    Google Scholar 

  45. Simonis, V.: The ProgDOC Program Documentation System, http://www.progdoc.org

  46. Simonyi, C.: Intentional Programming - Innovation in the Legacy Age. IFIPWG2.1 meeting, June 4 (1996)

    Google Scholar 

  47. Simonyi, C.: The future is intentional. IEEE Computer Magazine 32(5) (May 1999)

    Google Scholar 

  48. 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)

    Google Scholar 

  49. Sun Microsystems, Inc. The Doclets API, http://java.sun.com/j2se/javadoc/

  50. Teitelbaum, T., Reps, T.: The Cornell Program Synthesizer: A Syntax-Directed Programming Environment. Communications of the ACM 24(9) (September 1981)

    Google Scholar 

  51. The Unicode Consortium. The Unicode Standard 3.0. Addison-Wesley, Reading, Mass (2000), http://www.unicode.org/

  52. Walsh, N., Muellner, L.: DocBook: The Definitive Guide. O Reilly & Associates (1999), http://www.oasis-open.org/committe/docbook

  53. Williams, R.N.: funnelWeb, http://www.ross.net/funnelweb/

  54. Wirth, N., Gutknecht, J.: The Oberon System. Software - Practice & Experience 19(9), 857–893 (1989)

    Article  Google Scholar 

  55. World Wide Web Consortium. Mathematical Markup Language, http://www.w3.org/Math

  56. World Wide Web Consortium. Extensible Hypertext Markup Language, http://www.w3.org/MarkUp

  57. The World Wide Web Consortium. Extensible Markup Language, http://www.w3.org/XML

  58. World Wide Web Consortium. Extensible Stylesheet Language Transformations, http://www.w3.org/Style/XSL

  59. Wunderling, R., Zöckler, M.: DOC++, http://www.zib.de/Visual/software/doc++/

  60. Van Christopher, J.: WykLiterate Programming Column. Communications of the ACM 33(3), 361–362 (1990)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics