~ chicken-core (chicken-5) /tests/redact-gensyms.scm
Trap1(module redact-gensyms ()2 (import (scheme))3 (import (chicken base))4 (import (chicken irregex))5 (import (chicken type))6 (import (only (chicken io) read-line)7 (only (chicken process-context) command-line-arguments)8 (only (chicken string) string-split))910 (define prefixes (if (null? (command-line-arguments))11 '("tmp" "g" "scm:")12 (string-split (car (command-line-arguments)) ",")))1314 (let ((rege (irregex `(: bow ($ (or ,@prefixes)) (+ numeric)))))15 (print ";; numbers replaced with XXX by redact-gensyms.scm")16 (print ";; prefixes: " prefixes)17 (let lp ()18 (let ((l (read-line)))19 (if (not (eof-object? l))20 (begin21 (print (irregex-replace/all rege l 1 "XXX"))22 (lp)))))))