Mac OS X Reference Library Apple Developer Connection spyglass button

HeaderDoc Release Notes

HeaderDoc 8 is the latest incarnation of the HeaderDoc tool. HeaderDoc 8.5 is an enhanced version of HeaderDoc 8.

The HeaderDoc Tools Suite consists of a series of Perl scripts and several small C helper applications that allows conversion of documentation embedded in header files in many languages into HTML and other output formats.

HeaderDoc 8 is nearly a rewrite of HeaderDoc from the ground up. It incorporates the functionality of previous versions but also provides a number of new features, such as declaration syntax coloring/highlighting and an easier-to-use comment syntax. These features are described in “Major Features.”

HeaderDoc 8 adds a number of additional languages with various levels of support. These are described in “Languages Supported.”

HeaderDoc 8 also adds a number of new (optional) tags for convenience. These are described in “New Tags.”

Finally, HeaderDoc 8.5 adds a C preprocessor for more advanced header parsing. This is described in “Using the C Preprocessor.”

For additional information, see the documentation that is packaged with HeaderDoc.

Languages Supported

HeaderDoc 8 supports many more languages than HeaderDoc 7. This table shows the various languages and the level of support.

Table A-1  HeaderDoc 8 Language Support

Language

HeaderDoc 7 support

HeaderDoc 8 support

C headers

yes

yes

C++

yes

yes

Objective C

yes

yes

C source code

no

yes

K&R C sources

no

yes

Java

no

yes *

JavaScript

no

yes *

Pascal

no

yes

PHP

sort-of

yes

Perl

no

yes **

Shell Scripts

no

yes **

Mach IPC Interface Defs

no

yes

Note: 

* Java and JavaScript support only functions and classes.

** Some scripting languages support only functions and subroutines.

Major Features

HeaderDoc 8 has a number of new features.

New Tags

This section attempts to list all of the new tags added in HeaderDoc 8 (some of which were actually available, but undocumented, in HeaderDoc 7).

@classdesign

Text block describing the overall design of a class

@coclass

String describing a class that this class was designed to work with

@dependency

String describing a class upon which this class depends heavily

@exception

String describing an exception thrown by a function/method/class

@functiongroup

Tag for grouping functions and methods; this takes priority over the @group tag with respect to functions and methods.

@group

Tag for grouping data, functions, and so on, thus changing the order in which they appear in the table of contents.

(Note: the @functiongroup tag takes priority over the @group tag for functions.)

@helper

String telling what helper classes this class uses

@helps

For helper classes, string telling what sort of classes this class was designed to help

@instancesize

Text block containing the size of an instance of this class

@methodgroup

See @functiongroup.

@ownership

String describing what class instantiates the current class (for example, I/O Kit nubs)

@performance

Text block to describe performance characteristics of a class (for example, “This class is not appropriate for use in high-performance environments”)

@security

Text block to describe security considerations when using this class

@superclass

Adds superclass info to a C pseudoclass; also can be used to cause members of the superclass to be merged into the subclass

@throws

See @exception.

Additional Notes

This section lists known issues in HeaderDoc 8. We hope to improve in these areas in future versions. If you find issues not listed here, please file bugs.

Late-Breaking Bugs

This section describes late-breaking bugs in HeaderDoc 8.7.

To keep up to date with the latest errata and bug fixes, join the headerdoc-dev mailing list.



Last updated: 2009-11-17

Did this document help you? Yes It's good, but... Not helpful...