diff options
author | Greg J. Badros <gjb@cs.washington.edu> | 1999-12-12 23:37:40 +0000 |
---|---|---|
committer | Greg J. Badros <gjb@cs.washington.edu> | 1999-12-12 23:37:40 +0000 |
commit | 3dc81fbacea7ccac0e9f1a1f97f93ed7d2e00aba (patch) | |
tree | 858747dd8b54b11a54c3f0aab8368653a26f2ad9 /libguile/snarf.h | |
parent | 66c24ad36ac680c72b67050d16f6fd7549969265 (diff) | |
download | guile-3dc81fbacea7ccac0e9f1a1f97f93ed7d2e00aba.tar.gz |
* snarf.h: Drop SCM_PROC, SCM_PROC1. Added extra output for
guile-doc-snarf script.
* guile-doc-snarf.in, guile-doc-snarf.awk: New, simple doc
extraction system. Builds foo.x, foo.doc from foo.{c,cc}.
There are dependencies between these files and snarf.h. This
replaces guile-snarf.
* guile-snarf.in: Drop everything after $$$ for the new snarf.h
macros. This is obsoleted by guile-doc-snarf, but kept here for
now for good measure.
* Makefile.am: Added guile-doc-snarf, guile-doc-snarf.awk to
bin_SCRIPTS. Added .doc to SUFFIXES, and give rule for creating
.doc files to use guile-doc-snarf. Update the rule for creating
.x files to use guile-doc-snarf.
Diffstat (limited to 'libguile/snarf.h')
-rw-r--r-- | libguile/snarf.h | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/libguile/snarf.h b/libguile/snarf.h index 999ffe3d7..2900820c1 100644 --- a/libguile/snarf.h +++ b/libguile/snarf.h @@ -65,48 +65,49 @@ SCM FNAME ARGLIST #define SCM_GPROC(RANAME, STR, REQ, OPT, VAR, CFN, GF) \ static const char RANAME[]=STR; \ static SCM GF = 0 -#define SCM_PROC1(RANAME, STR, TYPE, CFN) \ - static const char RANAME[]=STR #define SCM_GPROC1(RANAME, STR, TYPE, CFN, GF) \ static const char RANAME[]=STR; \ static SCM GF = 0 #else #if defined(__cplusplus) || defined(GUILE_CPLUSPLUS_SNARF) +/* for C++ snarfing */ #define GUILE_PROC(FNAME, PRIMNAME, REQ, OPT, VAR, ARGLIST, DOCSTRING) \ %%% scm_make_gsubr (s_ ## FNAME, REQ, OPT, VAR, (SCM (*)(...)) FNAME); \ -$$$ primname #ARGLIST req opt var @@@ docstring @!!! +$$$P PRIMNAME #ARGLIST | REQ | OPT | VAR | __FILE__:__LINE__ | @@@ DOCSTRING @!!! #define GUILE_PROC1(FNAME, PRIMNAME, TYPE, ARGLIST, DOCSTRING) \ %%% scm_make_subr (s_ ## FNAME, TYPE, FNAME); \ -$$1 primname #ARGLIST type @@@ docstring @!!! +$$$1 PRIMNAME #ARGLIST | 2 | 0 | 0 | __FILE__:__LINE__ | @@@ DOCSTRING @!!! #define SCM_REGISTER_PROC(RANAME, STR, REQ, OPT, VAR, CFN) \ -%%% scm_make_gsubr (RANAME, REQ, OPT, VAR, (SCM (*)(...)) CFN) \ -$$R RANAMEprimname #ARGLIST type @@@ docstring @!!! +%%% scm_make_gsubr (RANAME, REQ, OPT, VAR, (SCM (*)(...)) CFN); \ +$$$R RANAME CFN STR REQ OPT VAR @!!! #define SCM_GPROC(RANAME, STR, REQ, OPT, VAR, CFN, GF) \ %%% scm_make_gsubr_with_generic (RANAME, REQ, OPT, VAR, (SCM (*)(...))CFN, &GF) -#define SCM_PROC1(RANAME, STR, TYPE, CFN) \ -%%% scm_make_subr(RANAME, TYPE, (SCM (*)(...))CFN) + #define SCM_GPROC1(RANAME, STR, TYPE, CFN, GF) \ %%% scm_make_subr_with_generic(RANAME, TYPE, (SCM (*)(...))CFN, &GF) + #else +/* for ANSI C snarfing, not C++ */ #define GUILE_PROC(FNAME, PRIMNAME, REQ, OPT, VAR, ARGLIST, DOCSTRING) \ -%%% scm_make_gsubr (s_ ## FNAME, REQ, OPT, VAR, (SCM (*)()) FNAME); -#define GUILE_PROC1(FNAME, PRIMNAME, TYPE, ARGLIST, DOCSTRING) \ -%%% scm_make_subr (s_ ## FNAME, TYPE, FNAME); +%%% scm_make_gsubr (s_ ## FNAME, REQ, OPT, VAR, (SCM (*)()) FNAME); \ +$$$P PRIMNAME #ARGLIST | REQ | OPT | VAR | __FILE__:__LINE__ | @@@ DOCSTRING @!!! +#define GUILE_PROC1(FNAME, PRIMNAME, TYPE, ARGLIST, DOCSTRING) \ +%%% scm_make_subr (s_ ## FNAME, TYPE, FNAME); \ +$$$1 PRIMNAME #ARGLIST | 2 | 0 | 0 | __FILE__:__LINE__ | @@@ DOCSTRING @!!! -#define SCM_PROC(RANAME, STR, REQ, OPT, VAR, CFN) \ -%%% scm_make_gsubr (RANAME, REQ, OPT, VAR, (SCM (*)()) CFN) #define SCM_REGISTER_PROC(RANAME, STR, REQ, OPT, VAR, CFN) \ -%%% scm_make_gsubr (RANAME, REQ, OPT, VAR, (SCM (*)()) CFN) +%%% scm_make_gsubr (RANAME, REQ, OPT, VAR, (SCM (*)()) CFN); \ +$$$R RANAME CFN STR REQ OPT VAR @!!! + #define SCM_GPROC(RANAME, STR, REQ, OPT, VAR, CFN, GF) \ %%% scm_make_gsubr_with_generic (RANAME, REQ, OPT, VAR, (SCM (*)()) CFN, &GF) -#define SCM_PROC1(RANAME, STR, TYPE, CFN) \ -%%% scm_make_subr(RANAME, TYPE, CFN) + #define SCM_GPROC1(RANAME, STR, TYPE, CFN, GF) \ %%% scm_make_subr_with_generic(RANAME, TYPE, CFN, &GF) #endif |