fbdoc  1.0.1
FreeBASIC documentation tool
EmitterIF Class Reference

The emitter interface. More...

Public Member Functions

void CTOR_ (void)
 Function called at program start-up (once) More...
 
void DTOR_ (void)
 Function called at program end (once) More...
 
void Init_ (void)
 Function called before parsing a source file. More...
 
void Exit_ (void)
 Function called after parsing the source file. More...
 
void Decl_ (void)
 Emitter for a declaration (VAR DIM REDIM CONST COMMON EXTERN STATIC) More...
 
void Func_ (void)
 Emitter for a function (SUB FUNCTION PROPERTY CONSTRUCTOR DESTRUCTOR) More...
 
void Enum_ (void)
 Emitter for an ENUM block. More...
 
void Unio_ (void)
 Emitter for an UNION block. More...
 
void Clas_ (void)
 Emitter for a user defined structure (TYPE CLASS blocks) More...
 
void Defi_ (void)
 Emitter for a macro (#DEFINE, #MACRO) More...
 
void Incl_ (void)
 Emitter for includes (#INCLUDE) More...
 
void Error_ (void)
 Emitter for an error message. More...
 
void Empty_ (void)
 Emitter for an empty line in mode –geany-mode (-g). More...
 

Detailed Description

The emitter interface.

The emitters interface is a UDT containing function pointers. The Parser calls the matching function in the EmitterIF after scanning a relevant construct. The emitter function extracts the necessary information from the parser data, formats it as desired and sends it to the output stream.

Only one emitter can be active at a time. Either one of the inbuild fbdoc* emitters or an external emitter plugin can be choosen by option –emitter (-e).

The function pointers get initialized with null pointers, resulting in no output. The parser skips those constructs. In the init_XYZ function the emitters fill some or all of the pointers by their customized functions to create a specific output.

Since Doxygen doesn't support to generate documentation for such an interface, it cannot create caller or callee graphs for the emitter functions. But we use fbdoc and can work-around this by creating additional C output in form of member function. These functions are unvisible for the FreeBASIC compiler, but get emitted to the pseudo C source for the Doxygen back-end and produce the desired output for the documentation.

Definition at line 86 of file fbdoc_emitters.bi.

Member Function Documentation

◆ CTOR_()

void EmitterIF::CTOR_ ( void  )
inline

Function called at program start-up (once)

Definition at line 107 of file fbdoc_emitters.bi.

Here is the call graph for this function:

◆ DTOR_()

void EmitterIF::DTOR_ ( void  )
inline

Function called at program end (once)

Definition at line 110 of file fbdoc_emitters.bi.

◆ Init_()

void EmitterIF::Init_ ( void  )
inline

Function called before parsing a source file.

Definition at line 113 of file fbdoc_emitters.bi.

Here is the call graph for this function:

◆ Exit_()

void EmitterIF::Exit_ ( void  )
inline

Function called after parsing the source file.

Definition at line 116 of file fbdoc_emitters.bi.

Here is the call graph for this function:

◆ Decl_()

void EmitterIF::Decl_ ( void  )
inline

Emitter for a declaration (VAR DIM REDIM CONST COMMON EXTERN STATIC)

Definition at line 119 of file fbdoc_emitters.bi.

Here is the call graph for this function:

◆ Func_()

void EmitterIF::Func_ ( void  )
inline

Emitter for a function (SUB FUNCTION PROPERTY CONSTRUCTOR DESTRUCTOR)

Definition at line 122 of file fbdoc_emitters.bi.

Here is the call graph for this function:

◆ Enum_()

void EmitterIF::Enum_ ( void  )
inline

Emitter for an ENUM block.

Definition at line 125 of file fbdoc_emitters.bi.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Unio_()

void EmitterIF::Unio_ ( void  )
inline

Emitter for an UNION block.

Definition at line 128 of file fbdoc_emitters.bi.

Here is the call graph for this function:

◆ Clas_()

void EmitterIF::Clas_ ( void  )
inline

Emitter for a user defined structure (TYPE CLASS blocks)

Definition at line 131 of file fbdoc_emitters.bi.

Here is the call graph for this function:

◆ Defi_()

void EmitterIF::Defi_ ( void  )
inline

Emitter for a macro (#DEFINE, #MACRO)

Definition at line 134 of file fbdoc_emitters.bi.

Here is the call graph for this function:

◆ Incl_()

void EmitterIF::Incl_ ( void  )
inline

Emitter for includes (#INCLUDE)

Definition at line 137 of file fbdoc_emitters.bi.

Here is the call graph for this function:

◆ Error_()

void EmitterIF::Error_ ( void  )
inline

Emitter for an error message.

Definition at line 140 of file fbdoc_emitters.bi.

Here is the call graph for this function:

◆ Empty_()

void EmitterIF::Empty_ ( void  )
inline

Emitter for an empty line in mode –geany-mode (-g).

Definition at line 143 of file fbdoc_emitters.bi.

Here is the call graph for this function:

The documentation for this class was generated from the following file: