1 dnl This probably will not run on any m4 that cannot
2 dnl handle char constants in eval.
4 changequote(<,>) define(HASHVAL,99) dnl
5 define(hash,<eval(str(substr($1,1),0)%HASHVAL)>) dnl
8 <str(substr(<$1>,1),<eval($2+'substr($1,0,1)')>)>)
10 define(KEYWORD,<$1,hash($1),>) dnl