diff --git a/scsh/schemedoc/AUTHORS b/scsh/schemedoc/AUTHORS new file mode 100644 index 0000000..c2430eb --- /dev/null +++ b/scsh/schemedoc/AUTHORS @@ -0,0 +1 @@ +Copyright (C) 2011-2012 Johan Ceuppens diff --git a/scsh/schemedoc/BLURB b/scsh/schemedoc/BLURB new file mode 100644 index 0000000..9103ebe --- /dev/null +++ b/scsh/schemedoc/BLURB @@ -0,0 +1 @@ +schemedoc : a scheme documentation utility diff --git a/scsh/schemedoc/NEWS b/scsh/schemedoc/NEWS new file mode 100644 index 0000000..5143e03 --- /dev/null +++ b/scsh/schemedoc/NEWS @@ -0,0 +1,2 @@ +version 0.1 +* printing a regexp on a filename diff --git a/scsh/schemedoc/README b/scsh/schemedoc/README new file mode 100644 index 0000000..eff10f0 --- /dev/null +++ b/scsh/schemedoc/README @@ -0,0 +1,2 @@ +A pretty printing system +-- Johan diff --git a/scsh/schemedoc/packages.scm b/scsh/schemedoc/packages.scm new file mode 100644 index 0000000..a528af4 --- /dev/null +++ b/scsh/schemedoc/packages.scm @@ -0,0 +1,9 @@ +(define-interface schemedoc-interface + (export + schemedoc-print-doc)) + +(define-structure schemedoc + schemedoc-interface + (open scheme) + (files schemedoc)) + diff --git a/scsh/schemedoc/pkg-def.scm b/scsh/schemedoc/pkg-def.scm new file mode 100644 index 0000000..73243b7 --- /dev/null +++ b/scsh/schemedoc/pkg-def.scm @@ -0,0 +1,12 @@ +(define-package "schemedoc" + (0 1) + ((install-lib-version (1 3 0))) + (write-to-load-script + `((config) + (load ,(absolute-file-name "packages.scm" + (get-directory 'scheme #f))))) + (install-file "README" 'doc) + (install-file "NEWS" 'doc) + (install-string (COPYING) "COPYING" 'doc) + (install-file "packages.scm" 'scheme) + (install-file "schemedoc.scm" 'scheme)) diff --git a/scsh/schemedoc/schemedoc.scm b/scsh/schemedoc/schemedoc.scm new file mode 100644 index 0000000..5953413 --- /dev/null +++ b/scsh/schemedoc/schemedoc.scm @@ -0,0 +1,50 @@ +;;; schemedoc.scm - a scheme perldoc utility +;;; +;;; Copyright (c) 2011-2012 Johan Ceuppens +;;; +;;; All rights reserved. +;;; +;;; Redistribution and use in source and binary forms, with or without +;;; modification, are permitted provided that the following conditions +;;; are met: +;;; 1. Redistributions of source code must retain the above copyright +;;; notice, this list of conditions and the following disclaimer. +;;; 2. Redistributions in binary form must reproduce the above copyright +;;; notice, this list of conditions and the following disclaimer in the +;;; documentation and/or other materials provided with the distribution. +;;; 3. The name of the authors may not be used to endorse or promote products +;;; derived from this software without specific prior written permission. +;;; +;;; THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR +;;; IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +;;; OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +;;; IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, +;;; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +;;; NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +;;; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +;;; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +;;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +;;; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(define regexp "");;FIXME grepper for comments + +(define (sod regexp filename) + (let ((in (open-input-file filename))) + (let ((contents "")) + (do ((s (read-char in)(read-char in))) + ((eof-object? s)return) + (regexp contents))))) + + +(define (schemedoc-print-doc filename) + (let ((l (list (sod regexp filename)))) + (for-each display l))) + +(define (schemedoc-print-doc-to-file filename outfilename) + (let ((out (open-output-file outfilename))) + (let ((l (list (sod regexp filename)))) + (define (display-rec ll) + (do ((e ll (cdr e))) + ((null? e)0) + (display (car e) out))) + (display-rec l)))) \ No newline at end of file