home *** CD-ROM | disk | FTP | other *** search
- dnl This probably will not run on any m4 that cannot
- dnl handle char constants in eval.
- dnl
- changequote(<,>) define(HASHVAL,99) dnl
- define(hash,<eval(str(substr($1,1),0)%HASHVAL)>) dnl
- define(str,
- <ifelse($1,",$2,
- <str(substr(<$1>,1),<eval($2+'substr($1,0,1)')>)>)
- >) dnl
- define(KEYWORD,<$1,hash($1),>) dnl
- define(TSTART,
- <struct prehash {
- char *keyword;
- int hashval;
- } keytab[] = {>) dnl
- define(TEND,< "",0
- };>) dnl
-