Join GitHub today
Currently, PasDoc only parses the interface section of a unit. Only the identifiers found in the interface section are documented, using only the comments in the interface section. For some people, this is OK, as the interface seems a right place to document things --- but it’s definitely a matter of taste.
Many people would like to parse also the implementation section of a unit, and get comments from there:
To document things visible in the interface by the comments from the implementation section. This is useful if you want to keep the interface section short, and you simply prefer to put (long) comments in the implementation section.
Or to document everything, not only things visible in the interface. This is useful if you want a documentation of unit internals. Closely related to this is the idea to parse a program file (which is very similar to the unit implementation).
This is a common PasDoc feature request (e.g. RFE 1189121, JavaDoc-like Tag handling, RFE 976519, 4 question…). And we very much would like to have the option to parse implementation section! However, as far as we know, noone is actively working on it. We are waiting for YOUR patches!:) Please grab the latest PasDoc sources from GitHub https://github.com/pasdoc/pasdoc/ and submit patches or pull requests implementing it.
Implementing this is a matter of:
Adding to parser (PasDoc_Parser.pas) ability to parse implementation sections of units/programs. The parser needs not be a real parser — it can cheat by simply skipping some things without really understanding them (e.g. if you find a token begin then parser can simply consume tokens up to a matching end, without paying any attention to what it reads). So, keep hacking PasDoc_Parser.pas until it can parse the implementation section of your units.
This cannot break existing pasdoc working, so this feature should be only activated by a command-line option, like --parse-implementation. You can add two versions: --parse-implementation=only-for-interface and --parse-implementation=all, it looks like both approaches have their needs.
Decide how to merge documentation between interface/implementation (comments from the interface override comments from the implementation? The other way around? Maybe they should be glued together?)
For some older comments see also the thread Parsing of the implementation section of our mailing list.