The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

KDOC -- Source documentation tool

        Sirtaj Singh Kang <taj@kde.org>, Dec 1998.

readSourceLine

        Returns a raw line read from the current input file.
        This is used by routines outside main, since I don t know
        how to share fds.

readCxxLine

        Reads a C++ source line, skipping comments, blank lines,
        preprocessor tokens and the Q_OBJECT macro

readCxxCodeBlock

        Reads a C++ code block (recursive curlies), returning the last line
        or undef on error.

        Parameters: none

readDecl

        Returns a declaration and sets the $declNodeType variable.

        A decl starts with a type or keyword and ends with [{};]
        The entire decl is returned in a single line, sans newlines.

        declNodeType values: undef for error, "a" for access specifier,
        "c" for doc comment, "d" for other decls.

        readCxxLine is used to read the declaration.

getRoot

        Return a root node for the given type of input file.

identifyDecl

        Parameters: decl

        Identifies a declaration returned by readDecl. If a code block
        needs to be skipped, this subroutine returns a 1, or 0 otherwise.

newEnum

        Reads the parameters of an enumeration.

        Returns the parameters, or undef on error.

initEnum

        Parameters: name, (ref) params

        Returns an initialized enum node.

newIDLstruct

        Parameters: type, name, forward, complete, inherits...

        Handles an IDL structure definition (ie module, interface,
        exception).

newClass

        Parameters: tmplArgs, cNodeType, name, endTag, @inheritlist

        Handles a class declaration (also fwd decls).

parseInheritance

        Param: inheritance decl string
        Returns: list of superclasses (template decls included)

        This will fail if < and > appear in strings in the decl.

newNamespace

        Param: namespace name.
        Returns nothing.

        Imports a namespace into the current node, for ref searches etc.
        Triggered by "using namespace ..."

newTypedef

        Parameters: realtype, name

        Handles a type definition.

newTypedefComp

        Params: realtype, name endtoken

        Creates a new compound type definition.

newMethod

        Parameters: retType, name, params, const, pure?

        Handles a new method declaration or definition.

makeParamList

        Parameters:
        * method (or enum) node
        * string containing the whole param list
        * 1 for enums

        Adds a property "ParamList" to the method node.
        This property contains a list of nodes, one for each parameter.

        Each parameter node has the following properties:
        * ArgType the type of the argument, e.g. const QString&
        * ArgName the name of the argument - optionnal
        * DefaultValue the default value of the argument - optionnal

        For enum values, ArgType is unset, ArgName is the name, DefaultValue its value.

        Author: David Faure <david@mandrakesoft.com>

newAccess

        Parameters: access

        Sets the default "Access" specifier for the current class node. If
        the access is a "slot" type, "_slots" is appended to the access
        string.

newVar

        Parameters: type, name, value

        New variable. Value is ignored if undef

show_usage

        Display usage information and quit.

show_version

        Display short version information and quit.