diff options
Diffstat (limited to 'scripts/guile-doc-snarf.awk')
-rw-r--r-- | scripts/guile-doc-snarf.awk | 88 |
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() -} |