Use the JavaDoc style /** (slash followed by two asterisks) in the header section to signify this contains comments to be analyzed by doxygen. This example uses the macro code from the first page and how it is refactored to work within the doxygen environment. Next we will cover the steps needed in each of the source files to make them compatible with doxygen. Read the doxygen manual for complete details on all the options. The Run tab is used to create the output based on the defined options that have been selected. It is very detailed and covers all 300+ options. The Expert tab provides access to all the available options. The Wizard tab is used to quickly configure the most important settings while leaving the other options at their defaults. The important areas are the Wizard, Expert and Run tabs highlighted in red. You can specify a configuration file by specifying it from the File | Open… or Open Recent options. You can edit those settings in a text editor or in doxywizard.ĭoxywizard is a GUI front-end (see Figure 3) for configuring and running doxygen. Reading in the 1.91 release of the generated doxyfile, there were 302 unique tags. The case sensitive uppercase tag names are separated from the associated values by an equal sign (=). The main areas of interest are the config parser and tag file parser. To create the template configuration, run the following from the command line (if you omit the, one named Doxyfile will be created): doxygen -g įigure 2 provides an overall flow of how doxygen works. From the downloads page, select sources and binaries and select the appropriate installer for your platform.ĭoxygen uses a non-formatted ASCII configuration file (named Doxyfile by default) to store settings. At this time the latest release is version 1.9.1 (released January 8, 2021). The first step is to install doxygen by visiting the page for installation on your platform. When I discussed these issues with well-known SAS® guru, Allan Bowe, he recommended a product named doxygen that he had just started using. After that I would still have to apply some custom CSS styles for aesthetics. It was my desire to create HTML based documentation with a list of macros in a treeview on the left similar to what is used on the website (see Figure 1). Unfortunately, that was not an easy endeavor requiring the use of JSON (JavaScript Object Notation) data and some advanced JavaScript code. Purpose: returns the SAS (CX) hex value from R, G, B values Below is a very simple SAS® macro function that uses the header, accepts three parameters and returns a hex string: The idea was to be able to dissect the contents and create documentation from those comments. To reinforce the concept of adding comments to a program header, I wrote a SAS® stored process to generate a standardized program header (see below). According to the Doxygen FAQ, the author was looking into lex and yacc, where a lot of things start with yy so the y slipped in to make it more pronounceable (as Docs-ee-gen with a long e). Doxygen got its name from the words document and generator where document was referenced as docs then dox while generator became gen. In all cases the documentation is extracted directly from the source code making it much easier to keep both synchronized. With Doxygen you can generate on-line documentation using HTML or in Latex, RTF, PDF and UNIX man pages. This paper uses Windows 10 but most everything will port to other platforms unchanged. As a result you can run Doxygen under Linux, MacOS or Windows. Dimitri van Heesch created Doxygen in 1997 as a cross-platform program written in C++. It is used to scan key annotated comments in source code to create standardized documentation. Doxygen is free software, released under terms of the GNU public license version 2. What is needed is an organized collection of those macros to expose that information and more. I often find myself having to open code to recall the parameters used in a macro that I wrote. Reusable code such as SAS macros needs to be exposed in such a way that makes it easy for others to see and understand your code.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |