Welcome to the new PERCEPS Home Page

General Description

PERCEPS is the Perl C++ Surveyor, created by Mark Peskin and currently maintained by Tom Bryan. It is an automatic documentation generator for C++. PERCEPS is a Perl script designed to parse C/C++ header files and automatically generate documentation in a variety of formats based on the class definitions, declarations, and comment information found in those files. Using this tool allows programmers to comment their code and generate useful documentation at the same time with no extra effort. PERCEPS can be useful both as a documentation tool and a simple but effective collaboration tool for both C and C++ projects.

Unlike some other documentation generation systems, PERCEPS does not produce a fixed output format. Instead it uses "template" files, plugin filters, and user-defined variables that can be freely modified to produce an almost unlimited variety of output. The example template files included with the distribution produce html pages, but TeX, RTF, man page, plain text or other formats are also possible.

I'm still getting this site set up. Excuse the mess. Everything should be up and functioning by the end of the week. Here's what I have planned:


I have made PERCEPS version 3.5.0 available. It is the last version that Mark Peskin was about to release when I took over the code. I haven't played with it much, but Mark said that it's as stable as 3.4.1. I thik it includes some bug fixes and improved support for nested classes. You'll have to poke around yourselves. :)

The PERCEPS code has a new maintainer. Mark Peskin, the original creator of PERCEPS, transferred maintenance of the code to Tom Bryan on June 20, 1999. Mark wanted to see PERCEPS improved and actively maintained, but he no longer had enough time to work on it.

Since a few of your have already asked (in the 24 hours since Mark changed his website), Mark forwarded me about 50 e-mail messages that people had sent him. If you sent Mark a message (bug report, feature request, etc.), then I may already have it. Please give me a week or two to sort through the mail before resending me your message.

I plan some major changes to the code. I'm currently restructuring the PERCEPS code to make maintenance easier and to make custom user modifications simpler. As soon as I'm done with that, I'll begin releasing new revisions of the code. The most urgently needed addition (based on user feedback) is support for namespaces, and that will be my priority in the new releases.

I'd also like to collect a larger sample of template file for PERCEPS users. I don't want to overwhelm new users with thousands of template files, but if you have created a template file that produces output in a formatting language not already represented, or if you have a template file that you think has some unique features, please e-mail me at this account. My ID at is tbryan. I will start putting together a collection for others to download if they're stumped about how to create a template. Similarly, if you've implemented any custom filters that you'd like to share, please send them to me. For example, has anyone customized PERCEPS to document C++ code that uses Qt?

I am also working on another program documentation project. This project was inspired by PERCEPS, but it is being written from scratch in Python. We are writing it with the hope of eventually making a general framework for generating documentation for a computer program from text embedded in the program's comments. If we ever realize this goal, you will be able to generate documention for programs written in computer languages other than C/C++ in a manner similar to that provided by PERCEPS. I hope that all PERCEPS users will try this new program when we have a beta ready later this year.

Tom Bryan, PERCEPS maintainer
Last modified: Tue Oct 23 09:05:04 EDT 2007