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... | |
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 fb-doc* 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 fb-doc 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.
|
inline |
Function called at program start-up (once)
Definition at line 107 of file fbdoc_emitters.bi.
|
inline |
Function called at program end (once)
Definition at line 110 of file fbdoc_emitters.bi.
|
inline |
Function called before parsing a source file.
Definition at line 113 of file fbdoc_emitters.bi.
|
inline |
Function called after parsing the source file.
Definition at line 116 of file fbdoc_emitters.bi.
|
inline |
Emitter for a declaration (VAR DIM REDIM CONST COMMON EXTERN STATIC
)
Definition at line 119 of file fbdoc_emitters.bi.
|
inline |
Emitter for a function (SUB FUNCTION PROPERTY CONSTRUCTOR DESTRUCTOR
)
Definition at line 122 of file fbdoc_emitters.bi.
|
inline |
Emitter for an ENUM
block.
Definition at line 125 of file fbdoc_emitters.bi.
|
inline |
Emitter for an UNION
block.
Definition at line 128 of file fbdoc_emitters.bi.
|
inline |
Emitter for a user defined structure (TYPE CLASS
blocks)
Definition at line 131 of file fbdoc_emitters.bi.
|
inline |
Emitter for a macro (#DEFINE
, #MACRO
)
Definition at line 134 of file fbdoc_emitters.bi.
|
inline |
Emitter for includes (#INCLUDE
)
Definition at line 137 of file fbdoc_emitters.bi.
|
inline |
Emitter for an error message.
Definition at line 140 of file fbdoc_emitters.bi.
|
inline |
Emitter for an empty line in mode --geany-mode (-g).
Definition at line 143 of file fbdoc_emitters.bi.