3 - Namespace declarations are unsupported.
5 - Forward-declared, out-of-line defined nested classes are
8 - Preprocess does not automatically export declarations of public
9 variables and static class data to the generated header file.
11 - Conditional compilation (preprocessor) is unsupported on file
12 top-level (preprocessor expressions inside blocks are OK), with the
13 exception that code commented out using "#if 0" is detected
14 correctly and deleted.
18 - Preprocess' source code should be modularized so that the parser can
19 be used independently from the output generator. This would enable
20 us writing other interesting applications based on the parsed source
23 . Enforce naming conventions
24 . Rewrite .cpp files according to user-specified rules; this could
25 eventually be extented so that Preprocess can support a
27 . Aspect weaving (aspect-oriented programming)
28 . Automatically generate insulation (wrappers, protocol classes,
29 procedural interface) for a specified class
30 . Support class invariants, and pre- and postconditions
32 - When should we backdate newly-generated files? Obviously, if the
33 newly generated file and its previous version are the same. There
34 are circumstances, however, when clients using a generated header
35 file do not have to be recompiled:
37 . Only line-number changes
39 . Relaxation of protection rules
40 . (and a number of other circumstances; see [Lakos])
42 - Preprocess should be configurable not only via command-line
43 arguments, but also using a config file.