cparse
cparse is a C header file parser for building FFIs. cparse understands variable and function declarations, arrays, structs, unions, enums, and constant expressions. It contains a module for generating interfaces for CMUCL's alien facility.

cparse was written by Tim Moore.

Repository: https://gitlab.common-lisp.net/cparse/cparse

License: BSD 3-Clause

Quick assessment (2023-02-24)

  • Heavily conditionalized to work with either Allegro or CMUCL. It won't compile on any other implementation.
  • Uses common-lisp-controller to load UFFI with (clc:clc-require :uffi), but that line can be removed.
  • Designed to work with MK-DEFSYSTEM or ASDF, though ASDF wants the system to have an .asd extension.
  • The system expects to be in the :cl-user package by default, but ASDF 3 loads the system in :asdf-user.


obsolete