#| -*- Scheme -*- Copyright (c) 2003 David Van Horn Licensed under the Academic Free License version 2.0 C Foreign Function Interface The `c-syntax-transformer' module provides bindings for the transformer environment of the `c-syntax-module'. |# (module c-syntax-transformer mzscheme (provide (all-defined)) (define (symbol-transform char-map) ; (char -> char) -> (symbol -> string) (lambda (symbol) (list->string (map char-map (string->list (symbol->string symbol)))))) (define scheme-symbol->c-enum-string (symbol-transform (lambda (c) (if (char=? #\- c) #\_ (char-upcase c))))) (define scheme-symbol->c-function-string (symbol-transform (lambda (c) (if (char=? #\- c) #\_ c)))) )