summaryrefslogtreecommitdiff
path: root/scripts/snarf-guile-m4-docs
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/snarf-guile-m4-docs')
-rwxr-xr-xscripts/snarf-guile-m4-docs88
1 files changed, 0 insertions, 88 deletions
diff --git a/scripts/snarf-guile-m4-docs b/scripts/snarf-guile-m4-docs
deleted file mode 100755
index 45d258c61..000000000
--- a/scripts/snarf-guile-m4-docs
+++ /dev/null
@@ -1,88 +0,0 @@
-#!/bin/sh
-# aside from this initial boilerplate, this is actually -*- scheme -*- code
-main='(module-ref (resolve-module '\''(scripts snarf-guile-m4-docs)) '\'main')'
-exec ${GUILE-guile} -l $0 -c "(apply $main (cdr (command-line)))" "$@"
-!#
-;;; snarf-guile-m4-docs --- Parse guile.m4 comments for texi documentation
-
-;; Copyright (C) 2002 Free Software Foundation, Inc.
-;;
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2, or
-;; (at your option) any later version.
-;;
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-;; General Public License for more details.
-;;
-;; You should have received a copy of the GNU General Public License
-;; along with this software; see the file COPYING. If not, write to
-;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
-;; Boston, MA 02111-1307 USA
-
-;;; Author: Thien-Thi Nguyen <ttn@gnu.org>
-
-;;; Commentary:
-
-;; Usage: snarf-guile-m4-docs FILE
-;;
-;; Grep FILE for comments preceding macro definitions, massage
-;; them into valid texi, and display to stdout. For each comment,
-;; lines preceding "^# Usage:" are discarded.
-;;
-;; TODO: Generalize.
-
-;;; Code:
-
-(define-module (scripts snarf-guile-m4-docs)
- :use-module (ice-9 rdelim)
- :export (snarf-guile-m4-docs))
-
-(define (display-texi lines)
- (display "@deffn {Autoconf Macro}")
- (for-each (lambda (line)
- (display (cond ((and (>= (string-length line) 2)
- (string=? "# " (substring line 0 2)))
- (substring line 2))
- ((string=? "#" (substring line 0 1))
- (substring line 1))
- (else line)))
- (newline))
- lines)
- (display "@end deffn")
- (newline) (newline))
-
-(define (prefix? line sub)
- (false-if-exception
- (string=? sub (substring line 0 (string-length sub)))))
-
-(define (massage-usage line)
- (let loop ((line (string->list line)) (acc '()))
- (if (null? line)
- (list (list->string (reverse acc)))
- (loop (cdr line)
- (cons (case (car line)
- ((#\( #\) #\,) #\space)
- (else (car line)))
- acc)))))
-
-(define (snarf-guile-m4-docs . args)
- (let* ((p (open-file (car args) "r"))
- (next (lambda () (read-line p))))
- (let loop ((line (next)) (acc #f))
- (or (eof-object? line)
- (cond ((prefix? line "# Usage:")
- (loop (next) (massage-usage (substring line 8))))
- ((prefix? line "AC_DEFUN")
- (display-texi (reverse acc))
- (loop (next) #f))
- ((and acc (prefix? line "#"))
- (loop (next) (cons line acc)))
- (else
- (loop (next) #f)))))))
-
-(define main snarf-guile-m4-docs)
-
-;;; snarf-guile-m4-docs ends here