MlDoC
Version 1.0
OCaML Documentation System
Written by
Stefan Bosse (sbosse©physik.uni-bremen.de)



SourceForge Logo



The MlDoC system is a powerfull but 'simple as needed' documentation tool for ML programming projects. With MlDoC , a document is divided in the document head, sections, subsections, units and subunits. Subunits can be used in all parts up, and the lowest structure elements are generic paragraph elements like lists or text attributes. This document you are currently reading is of course written and printed with the MlDoC System.
The table below shows an overview about MlDoC and it's capabilities.

Document structure
Document head Sections Subsections Units Subunits Paragraph elements
Title Package Module ML-Function Named Paragraph Text Attributes
TOC Program C-Lib ML-Type Interface Ordered List
ML-Value Example Unordered List
ML-Class Table
ML-Module Name
C-Interface Link
Generic S1 Generic S2 Generic S3 Generic S4 Special Interfaces
Intro Intro Intro Intro Intro

It's not necessary to use all structure depths starting with the document head. For example you can start with the ML-Function unit in a small standalone document. The units are compareable with common manual pages.
Units are sub document headers, and subunits and introductions can be placed everywhere in the document.
The document structure is organized in the way OCaML structures libraries, modules and values, classes and sub modules. But MlDoC can also be used to provide documentation for programs, C libraries or other nice things you want to write about. For these purposes, generic sections, units and subunits can be used.
The Special interface element is used to show ML-function, value, type and sub module interfaces with an unique look, mostly embedded in the Interface subunit.
All document commands are preceeded with a dot and followed by one or two uppercase characters. This is a formatting language which is similar to TROFF macros. Each dot command must have an antidot command to close a partial environment. For example, an ordered list like
  1. Line 1
  2. Line 2
  3. ...

is coded with the following commands:

.OL 
    .LI Line 1 .IL 
    .LI Line 2 .IL 
    .LI ... .IL 
.LO 

The antidot command is build with the reversed order of the two characters from the dot command. There is one excpetion: text attributes and some special commands. They all have only one uppercase character.

Document Content