;;; -*- Mode: Scheme; scheme48-package: (config) -*- ;;;; C Data Groveller ;;;; Package Definitions ;;; This code is written by Taylor Campbell and placed in the Public ;;; Domain. All warranties are disclaimed. (define-structure c-groveller c-groveller-interface (open scheme i/o extended-ports signals destructuring c-groveller-output output-combinators c-output cpp-output ) (optimize auto-integrate) (files grovel)) (define-structure c-groveller-output c-groveller-output-interface (open scheme srfi-1 ;list-lib destructuring output-combinators c-output cpp-output ) (optimize auto-integrate) (files grovel-output)) (define-structure define-c-struct-expander (export expand-define-c-struct define-c-struct-auxiliary-names) (open scheme signals fluids srfi-1 ;list-lib destructuring receiving ) (optimize auto-integrate) (files defcstruct)) (define-structure define-c-struct (export (define-c-struct :syntax)) (open scheme ascii bitwise byte-vectors (subset primitives (copy-bytes!)) ) (for-syntax (open scheme define-c-struct-expander)) (begin (define-syntax define-c-struct expand-define-c-struct define-c-struct-auxiliary-names) )) (define-structure c-output c-output-interface (open scheme fluids i/o output-combinators ) (optimize auto-integrate) (files c-output)) (define-structure cpp-output cpp-output-interface (open scheme fluids i/o output-combinators ) (optimize auto-integrate) (files cpp-output)) (define-structure output-combinators output-combinators-interface (open scheme i/o signals srfi-1 ;list-lib extended-ports ) (optimize auto-integrate) (files output))