Version: 4.1.5.3

C Metaprogramming Utilities

by Dave Herman <dherman at ccs dot neu dot edu>

This package provides utilities for manipulating C programs, including a library for extracting binary layout information from header files for use with the foreign library – see FFI: PLT Scheme Foreign Interface.

For license information, please see the file COPYING.LIB.

    1 C Metaprogramming Utilities

      1.1 Getting Started

      1.2 Libraries Provided by this Package

      1.3 Known Limitations

      1.4 Feedback and Bug Reports

      1.5 History

    2 The C Language

      2.1 C Language Grammar

        2.1.1 Expressions

        2.1.2 Declarations

        2.1.3 Statements

        2.1.4 Programs

      2.2 Abstract Syntax

        2.2.1 Source Locations

        2.2.2 Identifiers

        2.2.3 Expressions

        2.2.4 Statements

        2.2.5 Declarations

        2.2.6 Initializers

        2.2.7 Designators

        2.2.8 Types

        2.2.9 Type Contexts

    3 Parsing and Reading C

      3.1 Parsing

      3.2 Embedding C in Scheme

        3.2.1 Scribble Reader

        3.2.2 Avoid Using Here Strings

        3.2.3 Embedding C

      3.3 Including C Externally

    4 Parenthetical C

    5 Header Compilation

      5.1 Headers

      5.2 Compilation

      5.3 Layouts

      5.4 Application Binary Interfaces (ABI’s)

    6 Evaluation

      6.1 External Processes

      6.2 GCC

    7 Internals

      7.1 Parser

        7.1.1 Grammar Definitions

        7.1.2 Grammar Invariants

        7.1.3 Syntactic Contexts

        7.1.4 Lexer and Parser Invariants

      7.2 Header Compilation

    Index