ROBODoc/Generator [ Modules ]
FUNCTION
This contains routines to generate the documentation from the headers collected from the source code. It contains functionality common for all document types (HTML, RTF etc). The specifics are handled in the modules for each of the several document types.
The behaviour of many of the functions in this module are modified by the global output_mode.
The general call sequence is as follows:
RB_Generate_Documentation +> RB_Generate_SingleDoc +> RB_Generate_Part +> Generate_Header +> Generate_Item_Line +> Generate_Char
BUGS
- Confusing use of doctype and output mode.
NOTES
Might be a good idea to replace all the switch statements with function pointers. So instead of:
switch (output_mode) { case HTML: RB_HTML_Generate_Doc_Start(dest_doc, src_name, name, toc); break; case LATEX: RB_LaTeX_Generate_Doc_Start(dest_doc, src_name, name, toc); break; case RTF: RB_RTF_Generate_Doc_Start(dest_doc, src_name, name, toc); break; case ASCII: RB_ASCII_Generate_Doc_Start(dest_doc, src_name, name, toc); break; case TROFF: RB_TROFF_Generate_Doc_Start(dest_doc, src_name, name, toc); break; default: break; }
we will have
(*rb_generate_doc_start)(dest_doc, src_name, name, toc);
were the function pointers are initialized at program start based on the output mode.