A Unified Format for Language Documents

  • Vadim Zaytsev
  • Ralf Lämmel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6563)


We have analyzed a substantial number of language documentation artifacts, including language standards, language specifications, language reference manuals, as well as internal documents of standardization bodies. We have reverse-engineered their intended internal structure, and compared the results. The Language Document Format (LDF), was developed to specifically support the documentation domain. We have also integrated LDF into an engineering discipline for language documents including tool support, for example, for rendering language documents, extracting grammars and samples, and migrating existing documents into LDF. The definition of LDF, tool support for LDF, and LDF applications are freely available through SourceForge.


language documentation language document engineering grammar engineering software language engineering 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [ABC+01]
    Ausbrooks, R., Buswell, S., Carlisle, D., Dalmas, S., Devitt, S., Diaz, A., Froumentin, M., Hunter, R., Ion, P., Kohlhase, M., Miner, R., Poppelier, N., Smith, B., Soiffer, N., Sutor, R., Watt, S.: Mathematical Markup Language (MathML) Version 2.0. W3C Recommendation, 2nd edn (2001)Google Scholar
  2. [Bac60]
    Backus, J.W.: The Syntax and Semantics of the Proposed International Algebraic Language of the Zurich ACM-GAMM Conference. In: de Picciotto, S. (ed.) Proceedings of the International Conference on Information Processing, Unesco, Paris, pp. 125–131 (1960)Google Scholar
  3. [BBC+07]
    Berglund, A., Boag, S., Chamberlin, D., Fernández, M., Kay, M., Robie, J., Siméon, J.: XML Path Language (XPath) 2.0. W3C Recommendation (January 23, 2007), www.w3.org/TR/2007/REC-xpath20-20070123
  4. [BBG+63]
    Backus, J.W., Bauer, F.L., Green, J., Katz, C., McCarthy, J., Naur, P., Perlis, A.J., Rutishauser, H., Samelson, K., Vauquois, B., Wegstein, J.H., van Wijngaarden, A., Woodger, M.: Revised Report on the Algorithmic Language ALGOL 60. Numerische Mathematik 4, 420–453 (1963)MathSciNetCrossRefMATHGoogle Scholar
  5. [Bru05]
    Brukardt, R.: ISO/IEC JTC1/SC22/WG9 Document N465—Report on “Grammar Engineering” (2005)Google Scholar
  6. [CD99]
    Clark, J., DeRose, S.: XML Path Language (XPath) 1.0. W3C Recommendation (November 16, 1999), http://www.w3.org/TR/1999/REC-xpath-19991116
  7. [ECM06]
    ECMA-334 Standard. C# Language Specification, 4th edn. (June 2006), http://www.ecma-international.org/publications/standards/Ecma-334.htm
  8. [GHJV95]
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)MATHGoogle Scholar
  9. [IBM03]
    IBM. Informix 4GL Reference Manual, 7.32 edn. (March 2003)Google Scholar
  10. [ISO02]
    ISO/IEC 1989:2002. Information Technology—Programming Languages—COBOL (2002)Google Scholar
  11. [ISO05]
    ISO/IEC 9899:TC2. Information Technology—Programming Languages—C, Committee Draft WG14/N1124 (2005)Google Scholar
  12. [ISO07]
    ISO/IEC 14882. Information Technology—Programming Languages—C++, Committee Draft WG21/N2315, 2007. Accessed in (September 2010), http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2007/n2315.pdf
  13. [ISO08]
    ISO/IEC N2723=08-0233. Working Draft, Standard for Programming Language C++ (2008)Google Scholar
  14. [KDM09]
    Object Management Group. Knowledge Discovery Metamodel (KDM), 1.1 edn. (January 2009), http://www.omg.org/spec/KDM/1.1
  15. [Mic03]
    Microsoft .NET Framework Developer Center. ECMA and ISO/IEC C# and Common Language Infrastructure Standards and mirror sites (2003), http://msdn.microsoft.com/netframework/ecma
  16. [MIL84]
    MIL–STD–1589C. Military Standard Jovial (J73) (July 1984)Google Scholar
  17. [MOF06]
    Object Management Group. Meta-Object Facility (MOFTM) Core Specification, 2.0 edn. (January 2006), http://omg.org/spec/MOF/2.0
  18. [OAS07]
    OASIS. DITA Version 1.1 Language Specification Approved as an OASIS Standard. Committee Specification 01 (May 31, 2007), http://docs.oasis-open.org/dita/v1.1/CS01/langspec
  19. [Rag97]
    Raggett, D.: HTML 3.2 Reference Specification. W3C Recommendation (January 14, 1997), http://www.w3.org/TR/REC-html32
  20. [SBV08]
    Object Management Group. Semantics of Business Vocabulary and Rules (SBVR), 1.0 edn. (January 2008), http://www.omg.org/spec/SBVR/1.0/
  21. [Sha97]
    Shan, Y.-P., et al.: NCITS J20 DRAFT of ANSI Smalltalk Standard, Revision 1.9 (December 1997), http://wiki.squeak.org/squeak/uploads/172/standard_v1_9-indexed.pdf (accessed in June 2007)
  22. [W3C]
    Software Language Processing Suite: Mapping Spec Schema to LDF, http://slps.sf.net/w3c
  23. [WM99]
    Walsh, N., Meullner, L.: DocBook: The Definitive Guide. O’Reilly, Sebastopol (1999)Google Scholar
  24. [Zay09]
    Zaytsev, V.: XBGF Manual: BGF Transformation Operator Suite v.1.0 (August 2009), http://slps.sf.net/xbgf
  25. [BM06]
    Bayer, J., Muthig, D.: A View-Based Approach for Improving Software Documentation Practices. In: Proceedings of the 13th Annual IEEE International Symposium and Workshop on Engineering of Computer Based Systems (ECBS), Washington, DC, USA, pp. 269–278. IEEE Computer Society, Los Alamitos (2006)Google Scholar
  26. [DMW05]
    Davison, G., Murphy, S., Wong, R.: The use of eBooks and interactive multimedia as alternative forms of technical documentation. In: Proceedings of the 23rd Annual International Conference on Design of Communication (SIGDOC), pp. 108–115. ACM, New York (2005)Google Scholar
  27. [Fav05]
    Favre, J.-M.: Languages Evolve Too! Changing the Software Time Scale. In: IEEE (ed.) 8th Interntational Workshop on Principles of Software Evolution, IWPSE (2005)Google Scholar
  28. [HR07]
    Haramundanis, K., Rowland, L.: Experience Paper: a Content Reuse Documentation Design Experience. In: Proceedings of the 25th Annual ACM International Conference on Design of Communication (SIGDOC), pp. 229–233. ACM, New York (2007)CrossRefGoogle Scholar
  29. [Knu84]
    Knuth, D.E.: Literate Programming. The Computer Journal 27(2), 97–111 (1984)CrossRefMATHGoogle Scholar
  30. [KZ05]
    Klusener, S., Zaytsev, V.: ISO/IEC JTC1/SC22 Document N3977—Language Standardization Needs Grammarware (2005), http://www.open-std.org/jtc1/sc22/open/n3977.pdf
  31. [Läm05]
    Lämmel, R.: The Amsterdam Toolkit for Language Archaeology. Electronic Notes in Theoretical Computer Science (ENTCS) 137(3), 43–55 (2005); Workshop on Metamodels, Schemas and Grammars for Reverse Engineering (ATEM 2004)Google Scholar
  32. [LZ09]
    Lämmel, R., Zaytsev, V.: An introduction to grammar convergence. In: Leuschel, M., Wehrheim, H. (eds.) IFM 2009. LNCS, vol. 5423, pp. 246–260. Springer, Heidelberg (2009), http://dx.doi.org/10.1007/978-3-642-00255-7_17 CrossRefGoogle Scholar
  33. [LZ10]
    Lämmel, R., Zaytsev, V.: Recovering Grammar Relationships for the Java Language Specification. Software Quality Journal, SCAM Special Issue (November 2010), http://dx.doi.org/10.1007/s11219-010-9116-5
  34. [RML98]
    Reiter, E., Mellish, C., Levine, J.: Automatic Generation of Technical Documentation. Readings in Intelligent User Interfaces, 141–156 (1998)Google Scholar
  35. [SWJF09]
    Schönberg, C., Weitl, F., Jakšić, M., Freitag, B.: Logic-based Verification of Technical Documentation. In: Proceedings of the 9th ACM Symposium on Document Engineering, pp. 251–252. ACM, New York (2009)CrossRefGoogle Scholar
  36. [TL08]
    Tombre, K., Lamiroy, B.: Pattern Recognition Methods for Querying and Browsing Technical Documentation. In: Ruiz-Shulcloper, J., Kropatsch, W.G. (eds.) CIARP 2008. LNCS, vol. 5197, pp. 504–518. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  37. [Wai02]
    Waite, B.: Consequences of the Engineering Approach to Technical Writing. ACM Journal of Computer Documentation (JCD) 26(1), 22–26 (2002)CrossRefGoogle Scholar
  38. [Wei02]
    Weiss, E.H.: Egoless Writing: Improving Quality by Replacing Artistic Impulse with Engineering Discipline. ACM Journal of Computer Documentation (JCD) 26(1), 3–10 (2002)CrossRefGoogle Scholar
  39. [Zay10a]
    Zaytsev, V.: Recovery, Convergence and Documentation of Languages. PhD thesis, Vrije Universiteit, Amsterdam, The Netherlands (October 2010), http://grammarware.net/text/2010/zaytsev-thesis.pdf
  40. [Zay10b]
    Zaytsev, V.: Language convergence infrastructure. In: Fernandes, J.M., Lämmel, R., Visser, J., Saraiva, J. (eds.) Generative and Transformational Techniques in Software Engineering III. LNCS, vol. 6491, pp. 481–497. Springer, Heidelberg (2011)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Vadim Zaytsev
    • 1
  • Ralf Lämmel
    • 1
  1. 1.Software Languages TeamUniversität Koblenz-LandauKoblenzGermany

Personalised recommendations