| fb-doc 0.2 documentation tool for FreeBasic

- Main Page
- Tutorial
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Data Fields

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Member Functions | Data Fields
EmitterIF Class Reference

The emitter interface. More...

Collaboration diagram for EmitterIF:
[legend]

## Public Member Functions

void | _Init_ (void)
| function called before parsing a source code More...
void | Decl_ (void)
| emitter for a declaration (VAR / DIM / CONST / COMMON / EXTERN / STATIC) More...
void | Func_ (void)
| emitter for a function (SUB / FUNCTION / PROPERTY / CONSTRUCTOR / DESTRUCTOR) More...
void | Enum_ (void)
| emitter for a ENUM block More...
void | Unio_ (void)
| emitter for a UNION block More...
void | Clas_ (void)
| emitter for a struct (TYPE / CLASS block) 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 Geany block More...
void | _Exit_ (void)
| function called after parsing the source code More...

## Data Fields

STRING | Nam = ""
| the emitters name More...

## Detailed Description

The emitter interface.

The emitters interface is a UDT containing function pointers. The Parser calls the matching function in the active emitter 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 four inbuild fb-doc emitters or an external emitter plugin can be choosen by option –emitter.

The function pointers get initialized with the null_emitter() function (SUB), that creates no output at all. Each emitter modul can replace one or more of the pointers by a customized function 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 53 of file fb-doc_emitters.bi.

## Member Function Documentation

void _Init_ | ( | void | ) |  |

inline

function called before parsing a source code

Definition at line 72 of file fb-doc_emitters.bi.

Here is the call graph for this function:

void Decl_ | ( | void | ) |  |

inline

emitter for a declaration (VAR / DIM / CONST / COMMON / EXTERN / STATIC)

Definition at line 75 of file fb-doc_emitters.bi.

Here is the call graph for this function:

void Func_ | ( | void | ) |  |

inline

emitter for a function (SUB / FUNCTION / PROPERTY / CONSTRUCTOR / DESTRUCTOR)

Definition at line 78 of file fb-doc_emitters.bi.

Here is the call graph for this function:

void Enum_ | ( | void | ) |  |

inline

emitter for a ENUM block

Definition at line 81 of file fb-doc_emitters.bi.

Here is the call graph for this function:

void Unio_ | ( | void | ) |  |

inline

emitter for a UNION block

Definition at line 84 of file fb-doc_emitters.bi.

Here is the call graph for this function:

void Clas_ | ( | void | ) |  |

inline

emitter for a struct (TYPE / CLASS block)

Definition at line 87 of file fb-doc_emitters.bi.

Here is the call graph for this function:

void Defi_ | ( | void | ) |  |

inline

emitter for a macro (#DEFINE / #MACRO)

Definition at line 90 of file fb-doc_emitters.bi.

Here is the call graph for this function:

void Incl_ | ( | void | ) |  |

inline

emitter for includes (#INCLUDE)

Definition at line 93 of file fb-doc_emitters.bi.

Here is the call graph for this function:

void _Error_ | ( | void | ) |  |

inline

emitter for an error message

Definition at line 96 of file fb-doc_emitters.bi.

Here is the call graph for this function:

void _Empty_ | ( | void | ) |  |

inline

emitter for an empty Geany block

Definition at line 99 of file fb-doc_emitters.bi.

Here is the call graph for this function:

void _Exit_ | ( | void | ) |  |

inline

function called after parsing the source code

Definition at line 102 of file fb-doc_emitters.bi.

Here is the call graph for this function:

## Field Documentation

STRING Nam = ""

the emitters name

Definition at line 55 of file fb-doc_emitters.bi.

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

- fb-doc_emitters.bi