Provided by: gambas3-runtime_3.14.3-2ubuntu3.1_amd64 bug

NAME

       gbh3 - GAMBAS documentation generator for C/C++ components

SYNOPSIS

       gbh3 [options] [<sources>]

DESCRIPTION

       gbh3  is  a  tool to generate GAMBAS online documentation from documentation strings embedded in C or C++
       source code of native GAMBAS components.

       Components written in Gambas can already be documented in-code.  This documentation is then stored inside
       their .info files.

       If  <sources>  contains  directories,  they  are  searched  recursively  for '*.c' and '*.cpp' files.  If
       <sources> is not specified, the current directory is searched.

       The extracted help is printed on the standard output, unless the '-c' option is specified.

       The expected syntax is demonstrated at the examples.  The difference between both notations is  that  the
       first  must  immediately precede a BEGIN_{PROPERTY,METHOD,METHOD_VOID) line that defines the symbol which
       the documentation refers to.  The second syntax documents the indicated symbol --  no  matter  where  the
       comment is.

       This  is  intended  to  document  GB_CONSTANTs  or  GB_PROPERTY_SELFs  which  don't  have a BEGIN_* line.
       Nevertheless, it can be used for any other symbol.  NEVER mix both syntaxes on a single symbol.

       The ClassName_MethodName part I call "(implementation) function name".  The  particular  function  naming
       convention  shown  is  not  mandatory.   The scripts take the function name and look up the corresponding
       symbol in your GB_DESC[].

       The regular expressions used to filter these comments are somewhat strict.  You have to pass  the  spaces
       exactly  as  indicated  in  the line where your comment text starts, i.e. <space>*<space>text.  Also note
       that Class and Symbol in the second syntax are case sensitive!

       Don't reuse method and property implementations (except for synonyms).

       As the implementation function name is searched in the GB_DESC[]s in your source file, you  may  not  put
       the same function into different classes -- or the parser may get confused.

       Also, keep the GB_DESC[] in the same source file as the help comment.

       The  first  match  for  a function name lookup in a GB_DESC[] is taken as the "primary" implementation of
       that symbol.  That means the help comment will be attached to that symbol.  All other symbols which  call
       the  same  function are considered synonyms and are *automatically* documented with the default sentence:
       "This is a synonym for <primary-symbol>".  DO NOT document them separately using a syntax-2 help block!

OPTIONS

       -r, --root <root>
              the GAMBAS installation directory

       -c, --component <component>
              generate help directly in a component '*.help' file

       -v, --verbose
              Enables verbose output.

       -V, --version
              Displays the program's version.

       -L, --license
              Displays the program's license.

       -h, --help
              Displays help information.

EXAMPLES

       You may write a Gambas documentation comment like

         /**G
          * Here goes the documentation.
          **/
         BEGIN_METHOD_VOID(ClassName_MethodName)
            /* ... */
         END_METHOD

       or alternatively

         /**G Class Symbol
          * Documenting Class.Symbol
          **/

       Instead of the **/ at the end, you may also write */. Cool, huh?  The second syntax can also be  used  to
       document the class per se:

         /**G Class
          * Class documentation here
          **/

       Have  a  look  at  the  gb.openssl  and  gb.data  components  that  are  partially  documented  that way.
       Digest.Hash() and Digest._call() in gb.openssl show how to  deal  with  synonyms.   The  entry  for  Hash
       precedes the entry for _call, thus Hash is the primary symbol and _call a synonym.

NOTES

       Updated source code and most documentation about Gambas can be found at http://gambas.sf.net.

BUGS

       Bugs are filed at http://gambaswiki.org/bugtracker.

SEE ALSO

       gambas3(1), gba3(1), gbc3(1), gbi3(1), gbr3(1), gbs3(1), gbw3(1), gbx3(1)