aboutsummaryrefslogtreecommitdiff
path: root/scripts/guile-doc-snarf.awk
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/guile-doc-snarf.awk')
-rw-r--r--scripts/guile-doc-snarf.awk88
1 files changed, 0 insertions, 88 deletions
diff --git a/scripts/guile-doc-snarf.awk b/scripts/guile-doc-snarf.awk
deleted file mode 100644
index 2c8455e..0000000
--- a/scripts/guile-doc-snarf.awk
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright (C) 2002, 2010 Sergey Poznyakoff
-#
-# This is a snarfer for guile version 1.6
-#
-# 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 3 of the License, 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 program. If not, see <http://www.gnu.org/licenses/>.
-
-BEGIN {
- cname = ""
-}
-
-function flush() {
- if (cname == "")
- return;
- if (arg_req + arg_opt + arg_var != numargs)
- error(cname " incorrectly defined as taking " numargs " arguments")
-
- print "\f" cname
- print "@c snarfed from " loc_source ":" loc_line
- printf "@deffn {Scheme procedure} %s", cname
- for (i = 1; i <= numargs; i++)
- printf(" %s", arglist[i])
- print ""
- print docstring
- print "@end deffn\n"
-
- delete argpos
- delete arglist
- cname = ""
-}
-
-function error(s) {
- print loc_source ":" loc_line ": " s > "/dev/stderr"
- exit 1
-}
-
-state == 0 && /{/ {
- flush()
- cname = $3
- next
-}
-
-state == 0 && /fname/ { fname = $2; next }
-state == 0 && /type/ { type = $2; next }
-state == 0 && /location/ { loc_source = $2; loc_line = $3 }
-state == 0 && /arglist/ {
- match($0, "\\(.*\\)")
- s = substr($0,RSTART+1,RLENGTH-2)
- numargs = split(s, a, ",")
- for (i = 1; i <= numargs; i++) {
- m = split(a[i], b, "[ \t]*")
- if (b[1] == "") {
- t = b[2]
- n = b[3]
- m--
- } else {
- t = b[1]
- n = b[2]
- }
- if (m > 2 || t != "SCM")
- error(cname ": wrong argument type for arg " i " " t)
- arglist[i] = n
- }
-}
-state == 0 && /argsig/ { arg_req = $2; arg_opt = $3; arg_var = $4 }
-
-state == 0 && /.*\"/ {
- gsub("\"\"", "")
- gsub("\\\\n", "\n")
- match($0,"\".*\"")
- docstring = substr($0,RSTART+1,RLENGTH-2)
-}
-
-/argpos/ { argpos[$2] = $3 }
-
-END {
- flush()
-}

Return to:

Send suggestions and report system problems to the System administrator.