;;; -*- Mode: Scheme; scheme48-package: (config) -*- ;;;; C Data Groveller ;;;; Interface Definitions ;;; This code is written by Taylor Campbell and placed in the Public ;;; Domain. All warranties are disclaimed. (define-interface c-groveller-interface (export grovel-file grovel-port grovel define-groveller )) (define-interface c-groveller-output-interface (export write-grovel-prelude write-grovel-postlude write-grovel-item c-constant-definition scheme-constant-definition conditional-c-constant-definition alternative-constant-definition scheme-struct c-printf ; convenient utility )) (define-interface c-output-interface (export with-c-indentation c-indentation c-parenthesize c-comment c-line c-block c-function c-label c-statement c-return c-goto c-if c-call-statement c-call c-sizeof c-cast c-struct-type c-pointer-type c-struct-pointer-type c-address-type c-address-of c-dereference c-field c-pointer-field )) (define-interface cpp-output-interface (export cpp-include cpp-system-include cpp-define cpp-stringify cpp-concatenate cpp-error cpp-call cpp-comment cpp-condition cpp-ifdef cpp-if cpp-else cpp-elif cpp-eq? cpp-defined? cpp-not cpp-or cpp-and )) (define-interface output-combinators-interface (export item->output-procedure sequence list-sequence decorated-list-sequence line stringify writer ))