1 C Metaprogramming Utilities
This package provides utilities for manipulating C programs.
1.1 Getting Started
The easiest way to get started using the C metaprogramming utilities is with the main module:
(require (planet dherman/c:1:0)) |
This module provides everything in the entire package. Subsequent sections of this manual describe the functionality of the individual libraries included, which can also be required individually.
Examples: | |||||||||||
| |||||||||||
| |||||||||||
> (layout-offset (time 'tm) 'tm_year) | |||||||||||
20 |
1.2 Libraries Provided by this Package
This package includes:
A library for compiling and running C programs with an external compiler–see Evaluation
A library for manipulating C syntax–see C Syntax
A library for compiling C header information–see Header Compilation
1.3 Known Limitations
The parser is ad-hoc and handles only a limited subset of C. The AST definition is incomplete.
The parser does not, and likely never will, recognize the C preprocessor.
1.4 Feedback and Bug Reports
Before sending feedback or bug reports, please consult the current set of registered issues. If you cannot find your issue there, feel free to file a new bug report in the online issue database.
Any other feedback may be emailed to me, Dave Herman, at dherman@ccs.neu.edu.
1.5 History
Version 0.1 (2009-02-01) - Initial release. Reasonably usable for header extraction.