Finishing touches on perfect hash tokenizer; actually turn the thing on
authorH. Peter Anvin <hpa@zytor.com>
Thu, 30 Aug 2007 22:35:34 +0000 (22:35 +0000)
committerH. Peter Anvin <hpa@zytor.com>
Thu, 30 Aug 2007 22:35:34 +0000 (22:35 +0000)
Finish the perfect hash tokenizer, and actually enable it.

Move stdscan() et al to a separate file, since it's not needed in any
of the clients of nasmlib other than nasm itself.

Run make alldeps.

34 files changed:
Makefile.in
Mkfiles/Makefile.b32
Mkfiles/Makefile.bc3
Mkfiles/Makefile.bor
Mkfiles/Makefile.dcp
Mkfiles/Makefile.dj
Mkfiles/Makefile.djo
Mkfiles/Makefile.dl
Mkfiles/Makefile.dos
Mkfiles/Makefile.emx
Mkfiles/Makefile.lcc
Mkfiles/Makefile.ms7
Mkfiles/Makefile.os2
Mkfiles/Makefile.sc
Mkfiles/Makefile.scw
Mkfiles/Makefile.unx
Mkfiles/Makefile.vc
Mkfiles/Makefile.wc
Mkfiles/Makefile.wcd
Mkfiles/Makefile.wcw
nasm.c
nasmlib.c
nasmlib.h
output/outaout.c
output/outbin.c
output/outelf32.c
output/outelf64.c
output/outobj.c
parser.c
perllib/phash.ph
stdscan.c [new file with mode: 0644]
stdscan.h [new file with mode: 0644]
tokens.dat
tokhash.pl

index 2e65d07..7cec801 100644 (file)
@@ -57,7 +57,7 @@ NASM =        nasm.$(O) nasmlib.$(O) float.$(O) insnsa.$(O) assemble.$(O) \
        output/outelf32.$(O) output/outelf64.$(O) \
        output/outobj.$(O) output/outas86.$(O) output/outrdf2.$(O) \
        output/outdbg.$(O) output/outieee.$(O) output/outmacho.$(O) \
-       preproc.$(O) listing.$(O) eval.$(O)
+       preproc.$(O) listing.$(O) eval.$(O) stdscan.$(O) tokhash.$(O)
 
 NDISASM = ndisasm.$(O) disasm.$(O) sync.$(O) nasmlib.$(O) insnsd.$(O)
 
@@ -215,41 +215,45 @@ listing.$(O): listing.c regs.h config.h version.h nasmlib.h nasm.h listing.h
 macros.$(O): macros.c
 names.$(O): names.c regs.c insnsn.c
 nasm.$(O): nasm.c labels.h preproc.h insns.h parser.h eval.h regs.h \
- outform.h config.h version.h nasmlib.h nasm.h assemble.h insnsi.h listing.h
+ outform.h config.h version.h nasmlib.h nasm.h stdscan.h assemble.h insnsi.h \
+ listing.h
 nasmlib.$(O): nasmlib.c insns.h regs.h config.h regs.c version.h nasmlib.h \
  nasm.h insnsn.c names.c insnsi.h
 ndisasm.$(O): ndisasm.c insns.h sync.h regs.h config.h version.h nasmlib.h \
  nasm.h insnsi.h disasm.h
 outform.$(O): outform.c regs.h config.h outform.h version.h nasm.h
 output/outaout.$(O): output/outaout.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outas86.$(O): output/outas86.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outbin.$(O): output/outbin.c labels.h eval.h regs.h outform.h \
- config.h version.h nasmlib.h nasm.h
+ config.h version.h nasmlib.h nasm.h stdscan.h
 output/outcoff.$(O): output/outcoff.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outdbg.$(O): output/outdbg.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outelf32.$(O): output/outelf32.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outelf64.$(O): output/outelf64.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outieee.$(O): output/outieee.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outmacho.$(O): output/outmacho.c compiler.h regs.h outform.h config.h \
  version.h nasmlib.h nasm.h
 output/outobj.$(O): output/outobj.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outrdf.$(O): output/outrdf.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outrdf2.$(O): output/outrdf2.c rdoff/rdoff.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 parser.$(O): parser.c insns.h parser.h float.h regs.h regflags.c config.h \
- version.h nasmlib.h nasm.h insnsi.h
+ version.h nasmlib.h nasm.h stdscan.h insnsi.h
 preproc.$(O): preproc.c macros.c regs.h config.h version.h nasmlib.h nasm.h
 regdis.$(O): regdis.c
 regflags.$(O): regflags.c
 regs.$(O): regs.c
 regvals.$(O): regvals.c
+stdscan.$(O): stdscan.c insns.h regs.h config.h version.h nasmlib.h nasm.h \
+ stdscan.h insnsi.h
 sync.$(O): sync.c sync.h
+tokhash.$(O): tokhash.c insns.h regs.h config.h version.h nasm.h insnsi.h
index ec5fe9b..3981898 100644 (file)
@@ -189,42 +189,46 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \
 macros.$(OBJ): macros.c
 names.$(OBJ): names.c regs.c insnsn.c
 nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h regs.h \
- outform.h config.h version.h nasmlib.h nasm.h assemble.h insnsi.h listing.h
+ outform.h config.h version.h nasmlib.h nasm.h stdscan.h assemble.h insnsi.h \
+ listing.h
 nasmlib.$(OBJ): nasmlib.c insns.h regs.h config.h regs.c version.h nasmlib.h \
  nasm.h insnsn.c names.c insnsi.h
 ndisasm.$(OBJ): ndisasm.c insns.h sync.h regs.h config.h version.h nasmlib.h \
  nasm.h insnsi.h disasm.h
 outform.$(OBJ): outform.c regs.h config.h outform.h version.h nasm.h
 output\outaout.$(OBJ): output\outaout.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output\outas86.$(OBJ): output\outas86.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output\outbin.$(OBJ): output\outbin.c labels.h eval.h regs.h outform.h \
- config.h version.h nasmlib.h nasm.h
+ config.h version.h nasmlib.h nasm.h stdscan.h
 output\outcoff.$(OBJ): output\outcoff.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output\outdbg.$(OBJ): output\outdbg.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output\outelf32.$(OBJ): output\outelf32.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output\outelf64.$(OBJ): output\outelf64.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output\outieee.$(OBJ): output\outieee.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output\outmacho.$(OBJ): output\outmacho.c compiler.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 output\outobj.$(OBJ): output\outobj.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output\outrdf.$(OBJ): output\outrdf.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output\outrdf2.$(OBJ): output\outrdf2.c rdoff\rdoff.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 parser.$(OBJ): parser.c insns.h parser.h float.h regs.h regflags.c config.h \
- version.h nasmlib.h nasm.h insnsi.h
+ version.h nasmlib.h nasm.h stdscan.h insnsi.h
 preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \
  nasm.h
 regdis.$(OBJ): regdis.c
 regflags.$(OBJ): regflags.c
 regs.$(OBJ): regs.c
 regvals.$(OBJ): regvals.c
+stdscan.$(OBJ): stdscan.c insns.h regs.h config.h version.h nasmlib.h nasm.h \
+ stdscan.h insnsi.h
 sync.$(OBJ): sync.c sync.h
+tokhash.$(OBJ): tokhash.c insns.h regs.h config.h version.h nasm.h insnsi.h
index 91777ce..01cb586 100644 (file)
@@ -149,42 +149,46 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \
 macros.$(OBJ): macros.c
 names.$(OBJ): names.c regs.c insnsn.c
 nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h regs.h \
- outform.h config.h version.h nasmlib.h nasm.h assemble.h insnsi.h listing.h
+ outform.h config.h version.h nasmlib.h nasm.h stdscan.h assemble.h insnsi.h \
+ listing.h
 nasmlib.$(OBJ): nasmlib.c insns.h regs.h config.h regs.c version.h nasmlib.h \
  nasm.h insnsn.c names.c insnsi.h
 ndisasm.$(OBJ): ndisasm.c insns.h sync.h regs.h config.h version.h nasmlib.h \
  nasm.h insnsi.h disasm.h
 outform.$(OBJ): outform.c regs.h config.h outform.h version.h nasm.h
 output\\outaout.$(OBJ): output\\outaout.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output\\outas86.$(OBJ): output\\outas86.c regs.h outform.h config.h \
  version.h nasmlib.h nasm.h
 output\\outbin.$(OBJ): output\\outbin.c labels.h eval.h regs.h outform.h \
- config.h version.h nasmlib.h nasm.h
+ config.h version.h nasmlib.h nasm.h stdscan.h
 output\\outcoff.$(OBJ): output\\outcoff.c regs.h outform.h config.h \
  version.h nasmlib.h nasm.h
 output\\outdbg.$(OBJ): output\\outdbg.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output\\outelf32.$(OBJ): output\\outelf32.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output\\outelf64.$(OBJ): output\\outelf64.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output\\outieee.$(OBJ): output\\outieee.c regs.h outform.h config.h \
  version.h nasmlib.h nasm.h
 output\\outmacho.$(OBJ): output\\outmacho.c compiler.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 output\\outobj.$(OBJ): output\\outobj.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output\\outrdf.$(OBJ): output\\outrdf.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output\\outrdf2.$(OBJ): output\\outrdf2.c rdoff\\rdoff.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 parser.$(OBJ): parser.c insns.h parser.h float.h regs.h regflags.c config.h \
- version.h nasmlib.h nasm.h insnsi.h
+ version.h nasmlib.h nasm.h stdscan.h insnsi.h
 preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \
  nasm.h
 regdis.$(OBJ): regdis.c
 regflags.$(OBJ): regflags.c
 regs.$(OBJ): regs.c
 regvals.$(OBJ): regvals.c
+stdscan.$(OBJ): stdscan.c insns.h regs.h config.h version.h nasmlib.h nasm.h \
+ stdscan.h insnsi.h
 sync.$(OBJ): sync.c sync.h
+tokhash.$(OBJ): tokhash.c insns.h regs.h config.h version.h nasm.h insnsi.h
index 92a9771..69a7e1d 100644 (file)
@@ -78,42 +78,46 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \
 macros.$(OBJ): macros.c
 names.$(OBJ): names.c regs.c insnsn.c
 nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h regs.h \
- outform.h config.h version.h nasmlib.h nasm.h assemble.h insnsi.h listing.h
+ outform.h config.h version.h nasmlib.h nasm.h stdscan.h assemble.h insnsi.h \
+ listing.h
 nasmlib.$(OBJ): nasmlib.c insns.h regs.h config.h regs.c version.h nasmlib.h \
  nasm.h insnsn.c names.c insnsi.h
 ndisasm.$(OBJ): ndisasm.c insns.h sync.h regs.h config.h version.h nasmlib.h \
  nasm.h insnsi.h disasm.h
 outform.$(OBJ): outform.c regs.h config.h outform.h version.h nasm.h
 output/outaout.$(OBJ): output/outaout.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outas86.$(OBJ): output/outas86.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outbin.$(OBJ): output/outbin.c labels.h eval.h regs.h outform.h \
- config.h version.h nasmlib.h nasm.h
+ config.h version.h nasmlib.h nasm.h stdscan.h
 output/outcoff.$(OBJ): output/outcoff.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outdbg.$(OBJ): output/outdbg.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outelf32.$(OBJ): output/outelf32.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output/outelf64.$(OBJ): output/outelf64.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output/outieee.$(OBJ): output/outieee.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outmacho.$(OBJ): output/outmacho.c compiler.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 output/outobj.$(OBJ): output/outobj.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outrdf.$(OBJ): output/outrdf.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outrdf2.$(OBJ): output/outrdf2.c rdoff/rdoff.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 parser.$(OBJ): parser.c insns.h parser.h float.h regs.h regflags.c config.h \
- version.h nasmlib.h nasm.h insnsi.h
+ version.h nasmlib.h nasm.h stdscan.h insnsi.h
 preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \
  nasm.h
 regdis.$(OBJ): regdis.c
 regflags.$(OBJ): regflags.c
 regs.$(OBJ): regs.c
 regvals.$(OBJ): regvals.c
+stdscan.$(OBJ): stdscan.c insns.h regs.h config.h version.h nasmlib.h nasm.h \
+ stdscan.h insnsi.h
 sync.$(OBJ): sync.c sync.h
+tokhash.$(OBJ): tokhash.c insns.h regs.h config.h version.h nasm.h insnsi.h
index 3642247..e0d4b1f 100644 (file)
@@ -171,41 +171,44 @@ listing.o: listing.c regs.h config.h version.h nasmlib.h nasm.h listing.h
 macros.o: macros.c
 names.o: names.c regs.c insnsn.c
 nasm.o: nasm.c labels.h preproc.h insns.h parser.h eval.h regs.h outform.h \
- config.h version.h nasmlib.h nasm.h assemble.h insnsi.h listing.h
+ config.h version.h nasmlib.h nasm.h stdscan.h assemble.h insnsi.h listing.h
 nasmlib.o: nasmlib.c insns.h regs.h config.h regs.c version.h nasmlib.h \
  nasm.h insnsn.c names.c insnsi.h
 ndisasm.o: ndisasm.c insns.h sync.h regs.h config.h version.h nasmlib.h \
  nasm.h insnsi.h disasm.h
 outform.o: outform.c regs.h config.h outform.h version.h nasm.h
 output/outaout.o: output/outaout.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outas86.o: output/outas86.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outbin.o: output/outbin.c labels.h eval.h regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output/outcoff.o: output/outcoff.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outdbg.o: output/outdbg.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outelf32.o: output/outelf32.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outelf64.o: output/outelf64.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outieee.o: output/outieee.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outmacho.o: output/outmacho.c compiler.h regs.h outform.h config.h \
  version.h nasmlib.h nasm.h
 output/outobj.o: output/outobj.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outrdf.o: output/outrdf.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outrdf2.o: output/outrdf2.c rdoff/rdoff.h regs.h outform.h config.h \
  version.h nasmlib.h nasm.h
 parser.o: parser.c insns.h parser.h float.h regs.h regflags.c config.h \
- version.h nasmlib.h nasm.h insnsi.h
+ version.h nasmlib.h nasm.h stdscan.h insnsi.h
 preproc.o: preproc.c macros.c regs.h config.h version.h nasmlib.h nasm.h
 regdis.o: regdis.c
 regflags.o: regflags.c
 regs.o: regs.c
 regvals.o: regvals.c
+stdscan.o: stdscan.c insns.h regs.h config.h version.h nasmlib.h nasm.h \
+ stdscan.h insnsi.h
 sync.o: sync.c sync.h
+tokhash.o: tokhash.c insns.h regs.h config.h version.h nasm.h insnsi.h
index 61b1cdd..b6a5a5e 100644 (file)
@@ -100,41 +100,44 @@ listing.o: listing.c regs.h config.h version.h nasmlib.h nasm.h listing.h
 macros.o: macros.c
 names.o: names.c regs.c insnsn.c
 nasm.o: nasm.c labels.h preproc.h insns.h parser.h eval.h regs.h outform.h \
- config.h version.h nasmlib.h nasm.h assemble.h insnsi.h listing.h
+ config.h version.h nasmlib.h nasm.h stdscan.h assemble.h insnsi.h listing.h
 nasmlib.o: nasmlib.c insns.h regs.h config.h regs.c version.h nasmlib.h \
  nasm.h insnsn.c names.c insnsi.h
 ndisasm.o: ndisasm.c insns.h sync.h regs.h config.h version.h nasmlib.h \
  nasm.h insnsi.h disasm.h
 outform.o: outform.c regs.h config.h outform.h version.h nasm.h
 output/outaout.o: output/outaout.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outas86.o: output/outas86.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outbin.o: output/outbin.c labels.h eval.h regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output/outcoff.o: output/outcoff.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outdbg.o: output/outdbg.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outelf32.o: output/outelf32.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outelf64.o: output/outelf64.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outieee.o: output/outieee.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outmacho.o: output/outmacho.c compiler.h regs.h outform.h config.h \
  version.h nasmlib.h nasm.h
 output/outobj.o: output/outobj.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outrdf.o: output/outrdf.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outrdf2.o: output/outrdf2.c rdoff/rdoff.h regs.h outform.h config.h \
  version.h nasmlib.h nasm.h
 parser.o: parser.c insns.h parser.h float.h regs.h regflags.c config.h \
- version.h nasmlib.h nasm.h insnsi.h
+ version.h nasmlib.h nasm.h stdscan.h insnsi.h
 preproc.o: preproc.c macros.c regs.h config.h version.h nasmlib.h nasm.h
 regdis.o: regdis.c
 regflags.o: regflags.c
 regs.o: regs.c
 regvals.o: regvals.c
+stdscan.o: stdscan.c insns.h regs.h config.h version.h nasmlib.h nasm.h \
+ stdscan.h insnsi.h
 sync.o: sync.c sync.h
+tokhash.o: tokhash.c insns.h regs.h config.h version.h nasm.h insnsi.h
index 82cede6..0c6f8aa 100644 (file)
@@ -107,41 +107,44 @@ listing.o: listing.c regs.h config.h version.h nasmlib.h nasm.h listing.h
 macros.o: macros.c
 names.o: names.c regs.c insnsn.c
 nasm.o: nasm.c labels.h preproc.h insns.h parser.h eval.h regs.h outform.h \
- config.h version.h nasmlib.h nasm.h assemble.h insnsi.h listing.h
+ config.h version.h nasmlib.h nasm.h stdscan.h assemble.h insnsi.h listing.h
 nasmlib.o: nasmlib.c insns.h regs.h config.h regs.c version.h nasmlib.h \
  nasm.h insnsn.c names.c insnsi.h
 ndisasm.o: ndisasm.c insns.h sync.h regs.h config.h version.h nasmlib.h \
  nasm.h insnsi.h disasm.h
 outform.o: outform.c regs.h config.h outform.h version.h nasm.h
 output/outaout.o: output/outaout.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outas86.o: output/outas86.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outbin.o: output/outbin.c labels.h eval.h regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output/outcoff.o: output/outcoff.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outdbg.o: output/outdbg.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outelf32.o: output/outelf32.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outelf64.o: output/outelf64.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outieee.o: output/outieee.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outmacho.o: output/outmacho.c compiler.h regs.h outform.h config.h \
  version.h nasmlib.h nasm.h
 output/outobj.o: output/outobj.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outrdf.o: output/outrdf.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outrdf2.o: output/outrdf2.c rdoff/rdoff.h regs.h outform.h config.h \
  version.h nasmlib.h nasm.h
 parser.o: parser.c insns.h parser.h float.h regs.h regflags.c config.h \
- version.h nasmlib.h nasm.h insnsi.h
+ version.h nasmlib.h nasm.h stdscan.h insnsi.h
 preproc.o: preproc.c macros.c regs.h config.h version.h nasmlib.h nasm.h
 regdis.o: regdis.c
 regflags.o: regflags.c
 regs.o: regs.c
 regvals.o: regvals.c
+stdscan.o: stdscan.c insns.h regs.h config.h version.h nasmlib.h nasm.h \
+ stdscan.h insnsi.h
 sync.o: sync.c sync.h
+tokhash.o: tokhash.c insns.h regs.h config.h version.h nasm.h insnsi.h
index ceab7ea..662ecdd 100644 (file)
@@ -63,42 +63,46 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \
 macros.$(OBJ): macros.c
 names.$(OBJ): names.c regs.c insnsn.c
 nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h regs.h \
- outform.h config.h version.h nasmlib.h nasm.h assemble.h insnsi.h listing.h
+ outform.h config.h version.h nasmlib.h nasm.h stdscan.h assemble.h insnsi.h \
+ listing.h
 nasmlib.$(OBJ): nasmlib.c insns.h regs.h config.h regs.c version.h nasmlib.h \
  nasm.h insnsn.c names.c insnsi.h
 ndisasm.$(OBJ): ndisasm.c insns.h sync.h regs.h config.h version.h nasmlib.h \
  nasm.h insnsi.h disasm.h
 outform.$(OBJ): outform.c regs.h config.h outform.h version.h nasm.h
 output/outaout.$(OBJ): output/outaout.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outas86.$(OBJ): output/outas86.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outbin.$(OBJ): output/outbin.c labels.h eval.h regs.h outform.h \
- config.h version.h nasmlib.h nasm.h
+ config.h version.h nasmlib.h nasm.h stdscan.h
 output/outcoff.$(OBJ): output/outcoff.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outdbg.$(OBJ): output/outdbg.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outelf32.$(OBJ): output/outelf32.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output/outelf64.$(OBJ): output/outelf64.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output/outieee.$(OBJ): output/outieee.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outmacho.$(OBJ): output/outmacho.c compiler.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 output/outobj.$(OBJ): output/outobj.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outrdf.$(OBJ): output/outrdf.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outrdf2.$(OBJ): output/outrdf2.c rdoff/rdoff.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 parser.$(OBJ): parser.c insns.h parser.h float.h regs.h regflags.c config.h \
- version.h nasmlib.h nasm.h insnsi.h
+ version.h nasmlib.h nasm.h stdscan.h insnsi.h
 preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \
  nasm.h
 regdis.$(OBJ): regdis.c
 regflags.$(OBJ): regflags.c
 regs.$(OBJ): regs.c
 regvals.$(OBJ): regvals.c
+stdscan.$(OBJ): stdscan.c insns.h regs.h config.h version.h nasmlib.h nasm.h \
+ stdscan.h insnsi.h
 sync.$(OBJ): sync.c sync.h
+tokhash.$(OBJ): tokhash.c insns.h regs.h config.h version.h nasm.h insnsi.h
index d4bbd3c..1537af0 100644 (file)
@@ -76,42 +76,46 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \
 macros.$(OBJ): macros.c
 names.$(OBJ): names.c regs.c insnsn.c
 nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h regs.h \
- outform.h config.h version.h nasmlib.h nasm.h assemble.h insnsi.h listing.h
+ outform.h config.h version.h nasmlib.h nasm.h stdscan.h assemble.h insnsi.h \
+ listing.h
 nasmlib.$(OBJ): nasmlib.c insns.h regs.h config.h regs.c version.h nasmlib.h \
  nasm.h insnsn.c names.c insnsi.h
 ndisasm.$(OBJ): ndisasm.c insns.h sync.h regs.h config.h version.h nasmlib.h \
  nasm.h insnsi.h disasm.h
 outform.$(OBJ): outform.c regs.h config.h outform.h version.h nasm.h
 output/outaout.$(OBJ): output/outaout.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outas86.$(OBJ): output/outas86.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outbin.$(OBJ): output/outbin.c labels.h eval.h regs.h outform.h \
- config.h version.h nasmlib.h nasm.h
+ config.h version.h nasmlib.h nasm.h stdscan.h
 output/outcoff.$(OBJ): output/outcoff.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outdbg.$(OBJ): output/outdbg.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outelf32.$(OBJ): output/outelf32.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output/outelf64.$(OBJ): output/outelf64.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output/outieee.$(OBJ): output/outieee.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outmacho.$(OBJ): output/outmacho.c compiler.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 output/outobj.$(OBJ): output/outobj.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outrdf.$(OBJ): output/outrdf.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outrdf2.$(OBJ): output/outrdf2.c rdoff/rdoff.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 parser.$(OBJ): parser.c insns.h parser.h float.h regs.h regflags.c config.h \
- version.h nasmlib.h nasm.h insnsi.h
+ version.h nasmlib.h nasm.h stdscan.h insnsi.h
 preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \
  nasm.h
 regdis.$(OBJ): regdis.c
 regflags.$(OBJ): regflags.c
 regs.$(OBJ): regs.c
 regvals.$(OBJ): regvals.c
+stdscan.$(OBJ): stdscan.c insns.h regs.h config.h version.h nasmlib.h nasm.h \
+ stdscan.h insnsi.h
 sync.$(OBJ): sync.c sync.h
+tokhash.$(OBJ): tokhash.c insns.h regs.h config.h version.h nasm.h insnsi.h
index 57e0f2d..7127abb 100644 (file)
@@ -157,41 +157,44 @@ listing.o: listing.c regs.h config.h version.h nasmlib.h nasm.h listing.h
 macros.o: macros.c
 names.o: names.c regs.c insnsn.c
 nasm.o: nasm.c labels.h preproc.h insns.h parser.h eval.h regs.h outform.h \
- config.h version.h nasmlib.h nasm.h assemble.h insnsi.h listing.h
+ config.h version.h nasmlib.h nasm.h stdscan.h assemble.h insnsi.h listing.h
 nasmlib.o: nasmlib.c insns.h regs.h config.h regs.c version.h nasmlib.h \
  nasm.h insnsn.c names.c insnsi.h
 ndisasm.o: ndisasm.c insns.h sync.h regs.h config.h version.h nasmlib.h \
  nasm.h insnsi.h disasm.h
 outform.o: outform.c regs.h config.h outform.h version.h nasm.h
 output/outaout.o: output/outaout.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outas86.o: output/outas86.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outbin.o: output/outbin.c labels.h eval.h regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output/outcoff.o: output/outcoff.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outdbg.o: output/outdbg.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outelf32.o: output/outelf32.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outelf64.o: output/outelf64.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outieee.o: output/outieee.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outmacho.o: output/outmacho.c compiler.h regs.h outform.h config.h \
  version.h nasmlib.h nasm.h
 output/outobj.o: output/outobj.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outrdf.o: output/outrdf.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outrdf2.o: output/outrdf2.c rdoff/rdoff.h regs.h outform.h config.h \
  version.h nasmlib.h nasm.h
 parser.o: parser.c insns.h parser.h float.h regs.h regflags.c config.h \
- version.h nasmlib.h nasm.h insnsi.h
+ version.h nasmlib.h nasm.h stdscan.h insnsi.h
 preproc.o: preproc.c macros.c regs.h config.h version.h nasmlib.h nasm.h
 regdis.o: regdis.c
 regflags.o: regflags.c
 regs.o: regs.c
 regvals.o: regvals.c
+stdscan.o: stdscan.c insns.h regs.h config.h version.h nasmlib.h nasm.h \
+ stdscan.h insnsi.h
 sync.o: sync.c sync.h
+tokhash.o: tokhash.c insns.h regs.h config.h version.h nasm.h insnsi.h
index fd8fc65..c74f56b 100644 (file)
@@ -129,42 +129,46 @@ listing.${OBJ}: listing.c regs.h config.h version.h nasmlib.h nasm.h \
 macros.${OBJ}: macros.c
 names.${OBJ}: names.c regs.c insnsn.c
 nasm.${OBJ}: nasm.c labels.h preproc.h insns.h parser.h eval.h regs.h \
- outform.h config.h version.h nasmlib.h nasm.h assemble.h insnsi.h listing.h
+ outform.h config.h version.h nasmlib.h nasm.h stdscan.h assemble.h insnsi.h \
+ listing.h
 nasmlib.${OBJ}: nasmlib.c insns.h regs.h config.h regs.c version.h nasmlib.h \
  nasm.h insnsn.c names.c insnsi.h
 ndisasm.${OBJ}: ndisasm.c insns.h sync.h regs.h config.h version.h nasmlib.h \
  nasm.h insnsi.h disasm.h
 outform.${OBJ}: outform.c regs.h config.h outform.h version.h nasm.h
 output/outaout.${OBJ}: output/outaout.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outas86.${OBJ}: output/outas86.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outbin.${OBJ}: output/outbin.c labels.h eval.h regs.h outform.h \
- config.h version.h nasmlib.h nasm.h
+ config.h version.h nasmlib.h nasm.h stdscan.h
 output/outcoff.${OBJ}: output/outcoff.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outdbg.${OBJ}: output/outdbg.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outelf32.${OBJ}: output/outelf32.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output/outelf64.${OBJ}: output/outelf64.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output/outieee.${OBJ}: output/outieee.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outmacho.${OBJ}: output/outmacho.c compiler.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 output/outobj.${OBJ}: output/outobj.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outrdf.${OBJ}: output/outrdf.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outrdf2.${OBJ}: output/outrdf2.c rdoff/rdoff.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 parser.${OBJ}: parser.c insns.h parser.h float.h regs.h regflags.c config.h \
- version.h nasmlib.h nasm.h insnsi.h
+ version.h nasmlib.h nasm.h stdscan.h insnsi.h
 preproc.${OBJ}: preproc.c macros.c regs.h config.h version.h nasmlib.h \
  nasm.h
 regdis.${OBJ}: regdis.c
 regflags.${OBJ}: regflags.c
 regs.${OBJ}: regs.c
 regvals.${OBJ}: regvals.c
+stdscan.${OBJ}: stdscan.c insns.h regs.h config.h version.h nasmlib.h nasm.h \
+ stdscan.h insnsi.h
 sync.${OBJ}: sync.c sync.h
+tokhash.${OBJ}: tokhash.c insns.h regs.h config.h version.h nasm.h insnsi.h
index 31b486f..851d251 100644 (file)
@@ -172,42 +172,46 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \
 macros.$(OBJ): macros.c
 names.$(OBJ): names.c regs.c insnsn.c
 nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h regs.h \
- outform.h config.h version.h nasmlib.h nasm.h assemble.h insnsi.h listing.h
+ outform.h config.h version.h nasmlib.h nasm.h stdscan.h assemble.h insnsi.h \
+ listing.h
 nasmlib.$(OBJ): nasmlib.c insns.h regs.h config.h regs.c version.h nasmlib.h \
  nasm.h insnsn.c names.c insnsi.h
 ndisasm.$(OBJ): ndisasm.c insns.h sync.h regs.h config.h version.h nasmlib.h \
  nasm.h insnsi.h disasm.h
 outform.$(OBJ): outform.c regs.h config.h outform.h version.h nasm.h
 output\outaout.$(OBJ): output\outaout.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output\outas86.$(OBJ): output\outas86.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output\outbin.$(OBJ): output\outbin.c labels.h eval.h regs.h outform.h \
- config.h version.h nasmlib.h nasm.h
+ config.h version.h nasmlib.h nasm.h stdscan.h
 output\outcoff.$(OBJ): output\outcoff.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output\outdbg.$(OBJ): output\outdbg.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output\outelf32.$(OBJ): output\outelf32.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output\outelf64.$(OBJ): output\outelf64.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output\outieee.$(OBJ): output\outieee.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output\outmacho.$(OBJ): output\outmacho.c compiler.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 output\outobj.$(OBJ): output\outobj.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output\outrdf.$(OBJ): output\outrdf.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output\outrdf2.$(OBJ): output\outrdf2.c rdoff\rdoff.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 parser.$(OBJ): parser.c insns.h parser.h float.h regs.h regflags.c config.h \
- version.h nasmlib.h nasm.h insnsi.h
+ version.h nasmlib.h nasm.h stdscan.h insnsi.h
 preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \
  nasm.h
 regdis.$(OBJ): regdis.c
 regflags.$(OBJ): regflags.c
 regs.$(OBJ): regs.c
 regvals.$(OBJ): regvals.c
+stdscan.$(OBJ): stdscan.c insns.h regs.h config.h version.h nasmlib.h nasm.h \
+ stdscan.h insnsi.h
 sync.$(OBJ): sync.c sync.h
+tokhash.$(OBJ): tokhash.c insns.h regs.h config.h version.h nasm.h insnsi.h
index d903dbd..5aaac52 100644 (file)
@@ -123,42 +123,46 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \
 macros.$(OBJ): macros.c
 names.$(OBJ): names.c regs.c insnsn.c
 nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h regs.h \
- outform.h config.h version.h nasmlib.h nasm.h assemble.h insnsi.h listing.h
+ outform.h config.h version.h nasmlib.h nasm.h stdscan.h assemble.h insnsi.h \
+ listing.h
 nasmlib.$(OBJ): nasmlib.c insns.h regs.h config.h regs.c version.h nasmlib.h \
  nasm.h insnsn.c names.c insnsi.h
 ndisasm.$(OBJ): ndisasm.c insns.h sync.h regs.h config.h version.h nasmlib.h \
  nasm.h insnsi.h disasm.h
 outform.$(OBJ): outform.c regs.h config.h outform.h version.h nasm.h
 output\\outaout.$(OBJ): output\\outaout.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output\\outas86.$(OBJ): output\\outas86.c regs.h outform.h config.h \
  version.h nasmlib.h nasm.h
 output\\outbin.$(OBJ): output\\outbin.c labels.h eval.h regs.h outform.h \
- config.h version.h nasmlib.h nasm.h
+ config.h version.h nasmlib.h nasm.h stdscan.h
 output\\outcoff.$(OBJ): output\\outcoff.c regs.h outform.h config.h \
  version.h nasmlib.h nasm.h
 output\\outdbg.$(OBJ): output\\outdbg.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output\\outelf32.$(OBJ): output\\outelf32.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output\\outelf64.$(OBJ): output\\outelf64.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output\\outieee.$(OBJ): output\\outieee.c regs.h outform.h config.h \
  version.h nasmlib.h nasm.h
 output\\outmacho.$(OBJ): output\\outmacho.c compiler.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 output\\outobj.$(OBJ): output\\outobj.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output\\outrdf.$(OBJ): output\\outrdf.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output\\outrdf2.$(OBJ): output\\outrdf2.c rdoff\\rdoff.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 parser.$(OBJ): parser.c insns.h parser.h float.h regs.h regflags.c config.h \
- version.h nasmlib.h nasm.h insnsi.h
+ version.h nasmlib.h nasm.h stdscan.h insnsi.h
 preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \
  nasm.h
 regdis.$(OBJ): regdis.c
 regflags.$(OBJ): regflags.c
 regs.$(OBJ): regs.c
 regvals.$(OBJ): regvals.c
+stdscan.$(OBJ): stdscan.c insns.h regs.h config.h version.h nasmlib.h nasm.h \
+ stdscan.h insnsi.h
 sync.$(OBJ): sync.c sync.h
+tokhash.$(OBJ): tokhash.c insns.h regs.h config.h version.h nasm.h insnsi.h
index 0ee140f..6a080b5 100644 (file)
@@ -105,42 +105,46 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \
 macros.$(OBJ): macros.c
 names.$(OBJ): names.c regs.c insnsn.c
 nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h regs.h \
- outform.h config.h version.h nasmlib.h nasm.h assemble.h insnsi.h listing.h
+ outform.h config.h version.h nasmlib.h nasm.h stdscan.h assemble.h insnsi.h \
+ listing.h
 nasmlib.$(OBJ): nasmlib.c insns.h regs.h config.h regs.c version.h nasmlib.h \
  nasm.h insnsn.c names.c insnsi.h
 ndisasm.$(OBJ): ndisasm.c insns.h sync.h regs.h config.h version.h nasmlib.h \
  nasm.h insnsi.h disasm.h
 outform.$(OBJ): outform.c regs.h config.h outform.h version.h nasm.h
 output/outaout.$(OBJ): output/outaout.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outas86.$(OBJ): output/outas86.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outbin.$(OBJ): output/outbin.c labels.h eval.h regs.h outform.h \
- config.h version.h nasmlib.h nasm.h
+ config.h version.h nasmlib.h nasm.h stdscan.h
 output/outcoff.$(OBJ): output/outcoff.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outdbg.$(OBJ): output/outdbg.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outelf32.$(OBJ): output/outelf32.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output/outelf64.$(OBJ): output/outelf64.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output/outieee.$(OBJ): output/outieee.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outmacho.$(OBJ): output/outmacho.c compiler.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 output/outobj.$(OBJ): output/outobj.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outrdf.$(OBJ): output/outrdf.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outrdf2.$(OBJ): output/outrdf2.c rdoff/rdoff.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 parser.$(OBJ): parser.c insns.h parser.h float.h regs.h regflags.c config.h \
- version.h nasmlib.h nasm.h insnsi.h
+ version.h nasmlib.h nasm.h stdscan.h insnsi.h
 preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \
  nasm.h
 regdis.$(OBJ): regdis.c
 regflags.$(OBJ): regflags.c
 regs.$(OBJ): regs.c
 regvals.$(OBJ): regvals.c
+stdscan.$(OBJ): stdscan.c insns.h regs.h config.h version.h nasmlib.h nasm.h \
+ stdscan.h insnsi.h
 sync.$(OBJ): sync.c sync.h
+tokhash.$(OBJ): tokhash.c insns.h regs.h config.h version.h nasm.h insnsi.h
index 44bbfb1..67b3413 100644 (file)
@@ -102,42 +102,46 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \
 macros.$(OBJ): macros.c
 names.$(OBJ): names.c regs.c insnsn.c
 nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h regs.h \
- outform.h config.h version.h nasmlib.h nasm.h assemble.h insnsi.h listing.h
+ outform.h config.h version.h nasmlib.h nasm.h stdscan.h assemble.h insnsi.h \
+ listing.h
 nasmlib.$(OBJ): nasmlib.c insns.h regs.h config.h regs.c version.h nasmlib.h \
  nasm.h insnsn.c names.c insnsi.h
 ndisasm.$(OBJ): ndisasm.c insns.h sync.h regs.h config.h version.h nasmlib.h \
  nasm.h insnsi.h disasm.h
 outform.$(OBJ): outform.c regs.h config.h outform.h version.h nasm.h
 output/outaout.$(OBJ): output/outaout.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outas86.$(OBJ): output/outas86.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outbin.$(OBJ): output/outbin.c labels.h eval.h regs.h outform.h \
- config.h version.h nasmlib.h nasm.h
+ config.h version.h nasmlib.h nasm.h stdscan.h
 output/outcoff.$(OBJ): output/outcoff.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outdbg.$(OBJ): output/outdbg.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outelf32.$(OBJ): output/outelf32.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output/outelf64.$(OBJ): output/outelf64.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output/outieee.$(OBJ): output/outieee.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outmacho.$(OBJ): output/outmacho.c compiler.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 output/outobj.$(OBJ): output/outobj.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outrdf.$(OBJ): output/outrdf.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outrdf2.$(OBJ): output/outrdf2.c rdoff/rdoff.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 parser.$(OBJ): parser.c insns.h parser.h float.h regs.h regflags.c config.h \
- version.h nasmlib.h nasm.h insnsi.h
+ version.h nasmlib.h nasm.h stdscan.h insnsi.h
 preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \
  nasm.h
 regdis.$(OBJ): regdis.c
 regflags.$(OBJ): regflags.c
 regs.$(OBJ): regs.c
 regvals.$(OBJ): regvals.c
+stdscan.$(OBJ): stdscan.c insns.h regs.h config.h version.h nasmlib.h nasm.h \
+ stdscan.h insnsi.h
 sync.$(OBJ): sync.c sync.h
+tokhash.$(OBJ): tokhash.c insns.h regs.h config.h version.h nasm.h insnsi.h
index f0396cc..8c483fd 100644 (file)
@@ -127,41 +127,44 @@ listing.o: listing.c regs.h config.h version.h nasmlib.h nasm.h listing.h
 macros.o: macros.c
 names.o: names.c regs.c insnsn.c
 nasm.o: nasm.c labels.h preproc.h insns.h parser.h eval.h regs.h outform.h \
- config.h version.h nasmlib.h nasm.h assemble.h insnsi.h listing.h
+ config.h version.h nasmlib.h nasm.h stdscan.h assemble.h insnsi.h listing.h
 nasmlib.o: nasmlib.c insns.h regs.h config.h regs.c version.h nasmlib.h \
  nasm.h insnsn.c names.c insnsi.h
 ndisasm.o: ndisasm.c insns.h sync.h regs.h config.h version.h nasmlib.h \
  nasm.h insnsi.h disasm.h
 outform.o: outform.c regs.h config.h outform.h version.h nasm.h
 output/outaout.o: output/outaout.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outas86.o: output/outas86.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outbin.o: output/outbin.c labels.h eval.h regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output/outcoff.o: output/outcoff.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outdbg.o: output/outdbg.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outelf32.o: output/outelf32.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outelf64.o: output/outelf64.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outieee.o: output/outieee.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outmacho.o: output/outmacho.c compiler.h regs.h outform.h config.h \
  version.h nasmlib.h nasm.h
 output/outobj.o: output/outobj.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outrdf.o: output/outrdf.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outrdf2.o: output/outrdf2.c rdoff/rdoff.h regs.h outform.h config.h \
  version.h nasmlib.h nasm.h
 parser.o: parser.c insns.h parser.h float.h regs.h regflags.c config.h \
- version.h nasmlib.h nasm.h insnsi.h
+ version.h nasmlib.h nasm.h stdscan.h insnsi.h
 preproc.o: preproc.c macros.c regs.h config.h version.h nasmlib.h nasm.h
 regdis.o: regdis.c
 regflags.o: regflags.c
 regs.o: regs.c
 regvals.o: regvals.c
+stdscan.o: stdscan.c insns.h regs.h config.h version.h nasmlib.h nasm.h \
+ stdscan.h insnsi.h
 sync.o: sync.c sync.h
+tokhash.o: tokhash.c insns.h regs.h config.h version.h nasm.h insnsi.h
index 2d0ac38..1086921 100644 (file)
@@ -117,42 +117,46 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \
 macros.$(OBJ): macros.c
 names.$(OBJ): names.c regs.c insnsn.c
 nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h regs.h \
- outform.h config.h version.h nasmlib.h nasm.h assemble.h insnsi.h listing.h
+ outform.h config.h version.h nasmlib.h nasm.h stdscan.h assemble.h insnsi.h \
+ listing.h
 nasmlib.$(OBJ): nasmlib.c insns.h regs.h config.h regs.c version.h nasmlib.h \
  nasm.h insnsn.c names.c insnsi.h
 ndisasm.$(OBJ): ndisasm.c insns.h sync.h regs.h config.h version.h nasmlib.h \
  nasm.h insnsi.h disasm.h
 outform.$(OBJ): outform.c regs.h config.h outform.h version.h nasm.h
 output/outaout.$(OBJ): output/outaout.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outas86.$(OBJ): output/outas86.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outbin.$(OBJ): output/outbin.c labels.h eval.h regs.h outform.h \
- config.h version.h nasmlib.h nasm.h
+ config.h version.h nasmlib.h nasm.h stdscan.h
 output/outcoff.$(OBJ): output/outcoff.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outdbg.$(OBJ): output/outdbg.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outelf32.$(OBJ): output/outelf32.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output/outelf64.$(OBJ): output/outelf64.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output/outieee.$(OBJ): output/outieee.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outmacho.$(OBJ): output/outmacho.c compiler.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 output/outobj.$(OBJ): output/outobj.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outrdf.$(OBJ): output/outrdf.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outrdf2.$(OBJ): output/outrdf2.c rdoff/rdoff.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 parser.$(OBJ): parser.c insns.h parser.h float.h regs.h regflags.c config.h \
- version.h nasmlib.h nasm.h insnsi.h
+ version.h nasmlib.h nasm.h stdscan.h insnsi.h
 preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \
  nasm.h
 regdis.$(OBJ): regdis.c
 regflags.$(OBJ): regflags.c
 regs.$(OBJ): regs.c
 regvals.$(OBJ): regvals.c
+stdscan.$(OBJ): stdscan.c insns.h regs.h config.h version.h nasmlib.h nasm.h \
+ stdscan.h insnsi.h
 sync.$(OBJ): sync.c sync.h
+tokhash.$(OBJ): tokhash.c insns.h regs.h config.h version.h nasm.h insnsi.h
index 84d4e76..61742dc 100644 (file)
@@ -119,42 +119,46 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \
 macros.$(OBJ): macros.c
 names.$(OBJ): names.c regs.c insnsn.c
 nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h regs.h \
- outform.h config.h version.h nasmlib.h nasm.h assemble.h insnsi.h listing.h
+ outform.h config.h version.h nasmlib.h nasm.h stdscan.h assemble.h insnsi.h \
+ listing.h
 nasmlib.$(OBJ): nasmlib.c insns.h regs.h config.h regs.c version.h nasmlib.h \
  nasm.h insnsn.c names.c insnsi.h
 ndisasm.$(OBJ): ndisasm.c insns.h sync.h regs.h config.h version.h nasmlib.h \
  nasm.h insnsi.h disasm.h
 outform.$(OBJ): outform.c regs.h config.h outform.h version.h nasm.h
 output/outaout.$(OBJ): output/outaout.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outas86.$(OBJ): output/outas86.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outbin.$(OBJ): output/outbin.c labels.h eval.h regs.h outform.h \
- config.h version.h nasmlib.h nasm.h
+ config.h version.h nasmlib.h nasm.h stdscan.h
 output/outcoff.$(OBJ): output/outcoff.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outdbg.$(OBJ): output/outdbg.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outelf32.$(OBJ): output/outelf32.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output/outelf64.$(OBJ): output/outelf64.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output/outieee.$(OBJ): output/outieee.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outmacho.$(OBJ): output/outmacho.c compiler.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 output/outobj.$(OBJ): output/outobj.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outrdf.$(OBJ): output/outrdf.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outrdf2.$(OBJ): output/outrdf2.c rdoff/rdoff.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 parser.$(OBJ): parser.c insns.h parser.h float.h regs.h regflags.c config.h \
- version.h nasmlib.h nasm.h insnsi.h
+ version.h nasmlib.h nasm.h stdscan.h insnsi.h
 preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \
  nasm.h
 regdis.$(OBJ): regdis.c
 regflags.$(OBJ): regflags.c
 regs.$(OBJ): regs.c
 regvals.$(OBJ): regvals.c
+stdscan.$(OBJ): stdscan.c insns.h regs.h config.h version.h nasmlib.h nasm.h \
+ stdscan.h insnsi.h
 sync.$(OBJ): sync.c sync.h
+tokhash.$(OBJ): tokhash.c insns.h regs.h config.h version.h nasm.h insnsi.h
index 7a82e59..e64c062 100644 (file)
@@ -104,39 +104,44 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \
 macros.$(OBJ): macros.c
 names.$(OBJ): names.c regs.c insnsn.c
 nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h regs.h \
- outform.h config.h version.h nasmlib.h nasm.h assemble.h insnsi.h listing.h
+ outform.h config.h version.h nasmlib.h nasm.h stdscan.h assemble.h insnsi.h \
+ listing.h
 nasmlib.$(OBJ): nasmlib.c insns.h regs.h config.h regs.c version.h nasmlib.h \
  nasm.h insnsn.c names.c insnsi.h
 ndisasm.$(OBJ): ndisasm.c insns.h sync.h regs.h config.h version.h nasmlib.h \
  nasm.h insnsi.h disasm.h
 outform.$(OBJ): outform.c regs.h config.h outform.h version.h nasm.h
 outaout.$(OBJ): outaout.c regs.h outform.h config.h version.h nasmlib.h \
- nasm.h
+ nasm.h stdscan.h
 outas86.$(OBJ): outas86.c regs.h outform.h config.h version.h nasmlib.h \
  nasm.h
 outbin.$(OBJ): outbin.c labels.h eval.h regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 outcoff.$(OBJ): outcoff.c regs.h outform.h config.h version.h nasmlib.h \
  nasm.h
 outdbg.$(OBJ): outdbg.c regs.h outform.h config.h version.h nasmlib.h nasm.h
 outelf32.$(OBJ): outelf32.c regs.h outform.h config.h version.h nasmlib.h \
- nasm.h
+ nasm.h stdscan.h
 outelf64.$(OBJ): outelf64.c regs.h outform.h config.h version.h nasmlib.h \
- nasm.h
+ nasm.h stdscan.h
 outieee.$(OBJ): outieee.c regs.h outform.h config.h version.h nasmlib.h \
  nasm.h
 outmacho.$(OBJ): outmacho.c compiler.h regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
-outobj.$(OBJ): outobj.c regs.h outform.h config.h version.h nasmlib.h nasm.h
+outobj.$(OBJ): outobj.c regs.h outform.h config.h version.h nasmlib.h nasm.h \
+ stdscan.h
 outrdf.$(OBJ): outrdf.c regs.h outform.h config.h version.h nasmlib.h nasm.h
 outrdf2.$(OBJ): outrdf2.c rdoff.h regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 parser.$(OBJ): parser.c insns.h parser.h float.h regs.h regflags.c config.h \
- version.h nasmlib.h nasm.h insnsi.h
+ version.h nasmlib.h nasm.h stdscan.h insnsi.h
 preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \
  nasm.h
 regdis.$(OBJ): regdis.c
 regflags.$(OBJ): regflags.c
 regs.$(OBJ): regs.c
 regvals.$(OBJ): regvals.c
+stdscan.$(OBJ): stdscan.c insns.h regs.h config.h version.h nasmlib.h nasm.h \
+ stdscan.h insnsi.h
 sync.$(OBJ): sync.c sync.h
+tokhash.$(OBJ): tokhash.c insns.h regs.h config.h version.h nasm.h insnsi.h
index 77f40bf..0409cd6 100644 (file)
@@ -119,42 +119,46 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \
 macros.$(OBJ): macros.c
 names.$(OBJ): names.c regs.c insnsn.c
 nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h regs.h \
- outform.h config.h version.h nasmlib.h nasm.h assemble.h insnsi.h listing.h
+ outform.h config.h version.h nasmlib.h nasm.h stdscan.h assemble.h insnsi.h \
+ listing.h
 nasmlib.$(OBJ): nasmlib.c insns.h regs.h config.h regs.c version.h nasmlib.h \
  nasm.h insnsn.c names.c insnsi.h
 ndisasm.$(OBJ): ndisasm.c insns.h sync.h regs.h config.h version.h nasmlib.h \
  nasm.h insnsi.h disasm.h
 outform.$(OBJ): outform.c regs.h config.h outform.h version.h nasm.h
 output/outaout.$(OBJ): output/outaout.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outas86.$(OBJ): output/outas86.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outbin.$(OBJ): output/outbin.c labels.h eval.h regs.h outform.h \
- config.h version.h nasmlib.h nasm.h
+ config.h version.h nasmlib.h nasm.h stdscan.h
 output/outcoff.$(OBJ): output/outcoff.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outdbg.$(OBJ): output/outdbg.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outelf32.$(OBJ): output/outelf32.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output/outelf64.$(OBJ): output/outelf64.c regs.h outform.h config.h \
- version.h nasmlib.h nasm.h
+ version.h nasmlib.h nasm.h stdscan.h
 output/outieee.$(OBJ): output/outieee.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outmacho.$(OBJ): output/outmacho.c compiler.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 output/outobj.$(OBJ): output/outobj.c regs.h outform.h config.h version.h \
- nasmlib.h nasm.h
+ nasmlib.h nasm.h stdscan.h
 output/outrdf.$(OBJ): output/outrdf.c regs.h outform.h config.h version.h \
  nasmlib.h nasm.h
 output/outrdf2.$(OBJ): output/outrdf2.c rdoff/rdoff.h regs.h outform.h \
  config.h version.h nasmlib.h nasm.h
 parser.$(OBJ): parser.c insns.h parser.h float.h regs.h regflags.c config.h \
- version.h nasmlib.h nasm.h insnsi.h
+ version.h nasmlib.h nasm.h stdscan.h insnsi.h
 preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \
  nasm.h
 regdis.$(OBJ): regdis.c
 regflags.$(OBJ): regflags.c
 regs.$(OBJ): regs.c
 regvals.$(OBJ): regvals.c
+stdscan.$(OBJ): stdscan.c insns.h regs.h config.h version.h nasmlib.h nasm.h \
+ stdscan.h insnsi.h
 sync.$(OBJ): sync.c sync.h
+tokhash.$(OBJ): tokhash.c insns.h regs.h config.h version.h nasm.h insnsi.h
diff --git a/nasm.c b/nasm.c
index 479a3f3..161a216 100644 (file)
--- a/nasm.c
+++ b/nasm.c
@@ -15,6 +15,7 @@
 
 #include "nasm.h"
 #include "nasmlib.h"
+#include "stdscan.h"
 #include "insns.h"
 #include "preproc.h"
 #include "parser.h"
@@ -311,7 +312,7 @@ int main(int argc, char **argv)
     raa_free(offsets);
     saa_free(forwrefs);
     eval_cleanup();
-    nasmlib_cleanup();
+    stdscan_cleanup();
 
     if (terminate_after_phase)
         return 1;
index 64d85b9..b171c6f 100644 (file)
--- a/nasmlib.c
+++ b/nasmlib.c
@@ -14,7 +14,7 @@
 
 #include "nasm.h"
 #include "nasmlib.h"
-#include "insns.h"              /* For MAX_KEYWORD */
+#include "insns.h"
 
 int globalbits = 0;    /* defined in nasm.h, works better here for ASM+DISASM */
 static efunc nasm_malloc_error;
@@ -709,221 +709,6 @@ const char *prefix_name(int token)
 }
 
 /*
- * Standard scanner routine used by parser.c and some output
- * formats. It keeps a succession of temporary-storage strings in
- * stdscan_tempstorage, which can be cleared using stdscan_reset.
- */
-static char **stdscan_tempstorage = NULL;
-static int stdscan_tempsize = 0, stdscan_templen = 0;
-#define STDSCAN_TEMP_DELTA 256
-
-static void stdscan_pop(void)
-{
-    nasm_free(stdscan_tempstorage[--stdscan_templen]);
-}
-
-void stdscan_reset(void)
-{
-    while (stdscan_templen > 0)
-        stdscan_pop();
-}
-
-/*
- * Unimportant cleanup is done to avoid confusing people who are trying
- * to debug real memory leaks
- */
-void nasmlib_cleanup(void)
-{
-    stdscan_reset();
-    nasm_free(stdscan_tempstorage);
-}
-
-static char *stdscan_copy(char *p, int len)
-{
-    char *text;
-
-    text = nasm_malloc(len + 1);
-    strncpy(text, p, len);
-    text[len] = '\0';
-
-    if (stdscan_templen >= stdscan_tempsize) {
-        stdscan_tempsize += STDSCAN_TEMP_DELTA;
-        stdscan_tempstorage = nasm_realloc(stdscan_tempstorage,
-                                           stdscan_tempsize *
-                                           sizeof(char *));
-    }
-    stdscan_tempstorage[stdscan_templen++] = text;
-
-    return text;
-}
-
-char *stdscan_bufptr = NULL;
-int stdscan(void *private_data, struct tokenval *tv)
-{
-    char ourcopy[MAX_KEYWORD + 1], *r, *s;
-
-    (void)private_data;         /* Don't warn that this parameter is unused */
-
-    while (isspace(*stdscan_bufptr))
-        stdscan_bufptr++;
-    if (!*stdscan_bufptr)
-        return tv->t_type = 0;
-
-    /* we have a token; either an id, a number or a char */
-    if (isidstart(*stdscan_bufptr) ||
-        (*stdscan_bufptr == '$' && isidstart(stdscan_bufptr[1]))) {
-        /* now we've got an identifier */
-        uint32_t i;
-        int is_sym = FALSE;
-
-        if (*stdscan_bufptr == '$') {
-            is_sym = TRUE;
-            stdscan_bufptr++;
-        }
-
-        r = stdscan_bufptr++;
-        /* read the entire buffer to advance the buffer pointer but... */
-        while (isidchar(*stdscan_bufptr))
-            stdscan_bufptr++;
-
-        /* ... copy only up to IDLEN_MAX-1 characters */
-        tv->t_charptr = stdscan_copy(r, stdscan_bufptr - r < IDLEN_MAX ?
-                                     stdscan_bufptr - r : IDLEN_MAX - 1);
-
-        if (is_sym || stdscan_bufptr - r > MAX_KEYWORD)
-            return tv->t_type = TOKEN_ID;       /* bypass all other checks */
-
-        for (s = tv->t_charptr, r = ourcopy; *s; s++)
-            *r++ = tolower(*s);
-        *r = '\0';
-        /* right, so we have an identifier sitting in temp storage. now,
-         * is it actually a register or instruction name, or what? */
-        if ((tv->t_integer = bsi(ourcopy, reg_names,
-                                 elements(reg_names))) >= 0) {
-            tv->t_integer += EXPR_REG_START;
-            return tv->t_type = TOKEN_REG;
-        } else if ((tv->t_integer = bsi(ourcopy, insn_names,
-                                        elements(insn_names))) >= 0) {
-            return tv->t_type = TOKEN_INSN;
-        }
-        for (i = 0; i < elements(icn); i++)
-            if (!strncmp(ourcopy, icn[i], strlen(icn[i]))) {
-                char *p = ourcopy + strlen(icn[i]);
-                tv->t_integer = ico[i];
-                if ((tv->t_inttwo = bsi(p, conditions,
-                                        elements(conditions))) >= 0)
-                    return tv->t_type = TOKEN_INSN;
-            }
-        if ((tv->t_integer = bsi(ourcopy, prefix_names,
-                                 elements(prefix_names))) >= 0) {
-            tv->t_integer += PREFIX_ENUM_START;
-            return tv->t_type = TOKEN_PREFIX;
-        }
-        if ((tv->t_integer = bsi(ourcopy, special_names,
-                                 elements(special_names))) >= 0)
-            return tv->t_type = TOKEN_SPECIAL;
-        if (!nasm_stricmp(ourcopy, "seg"))
-            return tv->t_type = TOKEN_SEG;
-        if (!nasm_stricmp(ourcopy, "wrt"))
-            return tv->t_type = TOKEN_WRT;
-        return tv->t_type = TOKEN_ID;
-    } else if (*stdscan_bufptr == '$' && !isnumchar(stdscan_bufptr[1])) {
-        /*
-         * It's a $ sign with no following hex number; this must
-         * mean it's a Here token ($), evaluating to the current
-         * assembly location, or a Base token ($$), evaluating to
-         * the base of the current segment.
-         */
-        stdscan_bufptr++;
-        if (*stdscan_bufptr == '$') {
-            stdscan_bufptr++;
-            return tv->t_type = TOKEN_BASE;
-        }
-        return tv->t_type = TOKEN_HERE;
-    } else if (isnumstart(*stdscan_bufptr)) {   /* now we've got a number */
-        int rn_error;
-
-        r = stdscan_bufptr++;
-        while (isnumchar(*stdscan_bufptr))
-            stdscan_bufptr++;
-
-        if (*stdscan_bufptr == '.') {
-            /*
-             * a floating point constant
-             */
-            stdscan_bufptr++;
-            while (isnumchar(*stdscan_bufptr) ||
-                   ((stdscan_bufptr[-1] == 'e'
-                     || stdscan_bufptr[-1] == 'E')
-                    && (*stdscan_bufptr == '-' || *stdscan_bufptr == '+'))) {
-                stdscan_bufptr++;
-            }
-            tv->t_charptr = stdscan_copy(r, stdscan_bufptr - r);
-            return tv->t_type = TOKEN_FLOAT;
-        }
-        r = stdscan_copy(r, stdscan_bufptr - r);
-        tv->t_integer = readnum(r, &rn_error);
-        stdscan_pop();
-        if (rn_error)
-            return tv->t_type = TOKEN_ERRNUM;   /* some malformation occurred */
-        tv->t_charptr = NULL;
-        return tv->t_type = TOKEN_NUM;
-    } else if (*stdscan_bufptr == '\'' || *stdscan_bufptr == '"') {     /* a char constant */
-        char quote = *stdscan_bufptr++, *r;
-        int rn_warn;
-        r = tv->t_charptr = stdscan_bufptr;
-        while (*stdscan_bufptr && *stdscan_bufptr != quote)
-            stdscan_bufptr++;
-        tv->t_inttwo = stdscan_bufptr - r;      /* store full version */
-        if (!*stdscan_bufptr)
-            return tv->t_type = TOKEN_ERRNUM;   /* unmatched quotes */
-        stdscan_bufptr++;       /* skip over final quote */
-        tv->t_integer = readstrnum(r, tv->t_inttwo, &rn_warn);
-        /* FIXME: rn_warn is not checked! */
-        return tv->t_type = TOKEN_NUM;
-    } else if (*stdscan_bufptr == ';') {        /* a comment has happened - stay */
-        return tv->t_type = 0;
-    } else if (stdscan_bufptr[0] == '>' && stdscan_bufptr[1] == '>') {
-        stdscan_bufptr += 2;
-        return tv->t_type = TOKEN_SHR;
-    } else if (stdscan_bufptr[0] == '<' && stdscan_bufptr[1] == '<') {
-        stdscan_bufptr += 2;
-        return tv->t_type = TOKEN_SHL;
-    } else if (stdscan_bufptr[0] == '/' && stdscan_bufptr[1] == '/') {
-        stdscan_bufptr += 2;
-        return tv->t_type = TOKEN_SDIV;
-    } else if (stdscan_bufptr[0] == '%' && stdscan_bufptr[1] == '%') {
-        stdscan_bufptr += 2;
-        return tv->t_type = TOKEN_SMOD;
-    } else if (stdscan_bufptr[0] == '=' && stdscan_bufptr[1] == '=') {
-        stdscan_bufptr += 2;
-        return tv->t_type = TOKEN_EQ;
-    } else if (stdscan_bufptr[0] == '<' && stdscan_bufptr[1] == '>') {
-        stdscan_bufptr += 2;
-        return tv->t_type = TOKEN_NE;
-    } else if (stdscan_bufptr[0] == '!' && stdscan_bufptr[1] == '=') {
-        stdscan_bufptr += 2;
-        return tv->t_type = TOKEN_NE;
-    } else if (stdscan_bufptr[0] == '<' && stdscan_bufptr[1] == '=') {
-        stdscan_bufptr += 2;
-        return tv->t_type = TOKEN_LE;
-    } else if (stdscan_bufptr[0] == '>' && stdscan_bufptr[1] == '=') {
-        stdscan_bufptr += 2;
-        return tv->t_type = TOKEN_GE;
-    } else if (stdscan_bufptr[0] == '&' && stdscan_bufptr[1] == '&') {
-        stdscan_bufptr += 2;
-        return tv->t_type = TOKEN_DBL_AND;
-    } else if (stdscan_bufptr[0] == '^' && stdscan_bufptr[1] == '^') {
-        stdscan_bufptr += 2;
-        return tv->t_type = TOKEN_DBL_XOR;
-    } else if (stdscan_bufptr[0] == '|' && stdscan_bufptr[1] == '|') {
-        stdscan_bufptr += 2;
-        return tv->t_type = TOKEN_DBL_OR;
-    } else                      /* just an ordinary char */
-        return tv->t_type = (uint8_t)(*stdscan_bufptr++);
-}
-
-/*
  * Return TRUE if the argument is a simple scalar. (Or a far-
  * absolute, which counts.)
  */
index 70da214..17d9420 100644 (file)
--- a/nasmlib.h
+++ b/nasmlib.h
@@ -232,15 +232,6 @@ void saa_fpwrite(struct SAA *, FILE *);
 
 #ifdef NASM_NASM_H
 /*
- * Standard scanner.
- */
-extern char *stdscan_bufptr;
-void stdscan_reset(void);
-int stdscan(void *private_data, struct tokenval *tv);
-#endif
-
-#ifdef NASM_NASM_H
-/*
  * Library routines to manipulate expression data types.
  */
 int is_reloc(expr *);
@@ -276,7 +267,6 @@ int src_get(int32_t *xline, char **xname);
 
 void nasm_quote(char **str);
 char *nasm_strcat(char *one, char *two);
-void nasmlib_cleanup(void);
 
 void null_debug_routine(const char *directive, const char *params);
 extern struct dfmt null_debug_form;
index e046e0e..d5358b4 100644 (file)
@@ -15,6 +15,7 @@
 
 #include "nasm.h"
 #include "nasmlib.h"
+#include "stdscan.h"
 #include "outform.h"
 
 #if defined OF_AOUT || defined OF_AOUTB
index 083de72..6cc2b36 100644 (file)
@@ -52,6 +52,7 @@
 
 #include "nasm.h"
 #include "nasmlib.h"
+#include "stdscan.h"
 #include "labels.h"
 #include "eval.h"
 #include "outform.h"
index 6c16645..35d5ac6 100644 (file)
@@ -15,6 +15,7 @@
 
 #include "nasm.h"
 #include "nasmlib.h"
+#include "stdscan.h"
 #include "outform.h"
 
 #ifdef OF_ELF32
index a3bd8c6..554ed5e 100644 (file)
@@ -15,6 +15,7 @@
 
 #include "nasm.h"
 #include "nasmlib.h"
+#include "stdscan.h"
 #include "outform.h"
 
 /* Definitions in lieu of elf.h */
index a963285..c411edd 100644 (file)
@@ -15,6 +15,7 @@
 
 #include "nasm.h"
 #include "nasmlib.h"
+#include "stdscan.h"
 #include "outform.h"
 
 #ifdef OF_OBJ
index e90f35d..7e99ba4 100644 (file)
--- a/parser.c
+++ b/parser.c
@@ -18,6 +18,7 @@
 #include "nasm.h"
 #include "insns.h"
 #include "nasmlib.h"
+#include "stdscan.h"
 #include "parser.h"
 #include "float.h"
 
index 3d15370..438e466 100644 (file)
@@ -29,11 +29,13 @@ sub prehash($$$) {
     my($key, $n, $sv) = @_;
     my $c;
     my $k1 = 0, $k2 = 0;
+    my $kn1, $kn2;
     my($s0, $s1, $s2, $s3) = @{$sv};
 
     foreach $c (unpack("C*", $key)) {
-       $k1 = (rot($k1,$s0)-rot($k2, $s1)+$c) & 0xffffffff;
-       $k2 = (rot($k2,$s2)-rot($k1, $s3)+$c) & 0xffffffff;
+       $kn1 = (rot($k1,$s0)-rot($k2, $s1)+$c) & 0xffffffff;
+       $kn2 = (rot($k2,$s2)-rot($k1, $s3)+$c) & 0xffffffff;
+       $k1 = $kn1; $k2 = $kn2;
     }
 
     return ($k1 % $n, $k2 % $n);
diff --git a/stdscan.c b/stdscan.c
new file mode 100644 (file)
index 0000000..4a5f296
--- /dev/null
+++ b/stdscan.c
@@ -0,0 +1,201 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <inttypes.h>
+
+#include "nasm.h"
+#include "nasmlib.h"
+#include "stdscan.h"
+#include "insns.h"
+
+/*
+ * Standard scanner routine used by parser.c and some output
+ * formats. It keeps a succession of temporary-storage strings in
+ * stdscan_tempstorage, which can be cleared using stdscan_reset.
+ */
+static char **stdscan_tempstorage = NULL;
+static int stdscan_tempsize = 0, stdscan_templen = 0;
+#define STDSCAN_TEMP_DELTA 256
+
+static void stdscan_pop(void)
+{
+    nasm_free(stdscan_tempstorage[--stdscan_templen]);
+}
+
+void stdscan_reset(void)
+{
+    while (stdscan_templen > 0)
+        stdscan_pop();
+}
+
+/*
+ * Unimportant cleanup is done to avoid confusing people who are trying
+ * to debug real memory leaks
+ */
+void stdscan_cleanup(void)
+{
+    stdscan_reset();
+    nasm_free(stdscan_tempstorage);
+}
+
+static char *stdscan_copy(char *p, int len)
+{
+    char *text;
+
+    text = nasm_malloc(len + 1);
+    strncpy(text, p, len);
+    text[len] = '\0';
+
+    if (stdscan_templen >= stdscan_tempsize) {
+        stdscan_tempsize += STDSCAN_TEMP_DELTA;
+        stdscan_tempstorage = nasm_realloc(stdscan_tempstorage,
+                                           stdscan_tempsize *
+                                           sizeof(char *));
+    }
+    stdscan_tempstorage[stdscan_templen++] = text;
+
+    return text;
+}
+
+char *stdscan_bufptr = NULL;
+int stdscan(void *private_data, struct tokenval *tv)
+{
+    char ourcopy[MAX_KEYWORD + 1], *r, *s;
+
+    (void)private_data;         /* Don't warn that this parameter is unused */
+
+    while (isspace(*stdscan_bufptr))
+        stdscan_bufptr++;
+    if (!*stdscan_bufptr)
+        return tv->t_type = 0;
+
+    /* we have a token; either an id, a number or a char */
+    if (isidstart(*stdscan_bufptr) ||
+        (*stdscan_bufptr == '$' && isidstart(stdscan_bufptr[1]))) {
+        /* now we've got an identifier */
+        uint32_t i;
+        int is_sym = FALSE;
+
+        if (*stdscan_bufptr == '$') {
+            is_sym = TRUE;
+            stdscan_bufptr++;
+        }
+
+        r = stdscan_bufptr++;
+        /* read the entire buffer to advance the buffer pointer but... */
+        while (isidchar(*stdscan_bufptr))
+            stdscan_bufptr++;
+
+        /* ... copy only up to IDLEN_MAX-1 characters */
+        tv->t_charptr = stdscan_copy(r, stdscan_bufptr - r < IDLEN_MAX ?
+                                     stdscan_bufptr - r : IDLEN_MAX - 1);
+
+        if (is_sym || stdscan_bufptr - r > MAX_KEYWORD)
+            return tv->t_type = TOKEN_ID;       /* bypass all other checks */
+
+        for (s = tv->t_charptr, r = ourcopy; *s; s++)
+            *r++ = tolower(*s);
+        *r = '\0';
+        /* right, so we have an identifier sitting in temp storage. now,
+         * is it actually a register or instruction name, or what? */
+       if (nasm_token_hash(ourcopy, tv) != -1)
+           return tv->t_type;
+       else
+           return tv->t_type = TOKEN_ID;
+    } else if (*stdscan_bufptr == '$' && !isnumchar(stdscan_bufptr[1])) {
+        /*
+         * It's a $ sign with no following hex number; this must
+         * mean it's a Here token ($), evaluating to the current
+         * assembly location, or a Base token ($$), evaluating to
+         * the base of the current segment.
+         */
+        stdscan_bufptr++;
+        if (*stdscan_bufptr == '$') {
+            stdscan_bufptr++;
+            return tv->t_type = TOKEN_BASE;
+        }
+        return tv->t_type = TOKEN_HERE;
+    } else if (isnumstart(*stdscan_bufptr)) {   /* now we've got a number */
+        int rn_error;
+
+        r = stdscan_bufptr++;
+        while (isnumchar(*stdscan_bufptr))
+            stdscan_bufptr++;
+
+        if (*stdscan_bufptr == '.') {
+            /*
+             * a floating point constant
+             */
+            stdscan_bufptr++;
+            while (isnumchar(*stdscan_bufptr) ||
+                   ((stdscan_bufptr[-1] == 'e'
+                     || stdscan_bufptr[-1] == 'E')
+                    && (*stdscan_bufptr == '-' || *stdscan_bufptr == '+'))) {
+                stdscan_bufptr++;
+            }
+            tv->t_charptr = stdscan_copy(r, stdscan_bufptr - r);
+            return tv->t_type = TOKEN_FLOAT;
+        }
+        r = stdscan_copy(r, stdscan_bufptr - r);
+        tv->t_integer = readnum(r, &rn_error);
+        stdscan_pop();
+        if (rn_error)
+            return tv->t_type = TOKEN_ERRNUM;   /* some malformation occurred */
+        tv->t_charptr = NULL;
+        return tv->t_type = TOKEN_NUM;
+    } else if (*stdscan_bufptr == '\'' || *stdscan_bufptr == '"') {     /* a char constant */
+        char quote = *stdscan_bufptr++, *r;
+        int rn_warn;
+        r = tv->t_charptr = stdscan_bufptr;
+        while (*stdscan_bufptr && *stdscan_bufptr != quote)
+            stdscan_bufptr++;
+        tv->t_inttwo = stdscan_bufptr - r;      /* store full version */
+        if (!*stdscan_bufptr)
+            return tv->t_type = TOKEN_ERRNUM;   /* unmatched quotes */
+        stdscan_bufptr++;       /* skip over final quote */
+        tv->t_integer = readstrnum(r, tv->t_inttwo, &rn_warn);
+        /* FIXME: rn_warn is not checked! */
+        return tv->t_type = TOKEN_NUM;
+    } else if (*stdscan_bufptr == ';') {        /* a comment has happened - stay */
+        return tv->t_type = 0;
+    } else if (stdscan_bufptr[0] == '>' && stdscan_bufptr[1] == '>') {
+        stdscan_bufptr += 2;
+        return tv->t_type = TOKEN_SHR;
+    } else if (stdscan_bufptr[0] == '<' && stdscan_bufptr[1] == '<') {
+        stdscan_bufptr += 2;
+        return tv->t_type = TOKEN_SHL;
+    } else if (stdscan_bufptr[0] == '/' && stdscan_bufptr[1] == '/') {
+        stdscan_bufptr += 2;
+        return tv->t_type = TOKEN_SDIV;
+    } else if (stdscan_bufptr[0] == '%' && stdscan_bufptr[1] == '%') {
+        stdscan_bufptr += 2;
+        return tv->t_type = TOKEN_SMOD;
+    } else if (stdscan_bufptr[0] == '=' && stdscan_bufptr[1] == '=') {
+        stdscan_bufptr += 2;
+        return tv->t_type = TOKEN_EQ;
+    } else if (stdscan_bufptr[0] == '<' && stdscan_bufptr[1] == '>') {
+        stdscan_bufptr += 2;
+        return tv->t_type = TOKEN_NE;
+    } else if (stdscan_bufptr[0] == '!' && stdscan_bufptr[1] == '=') {
+        stdscan_bufptr += 2;
+        return tv->t_type = TOKEN_NE;
+    } else if (stdscan_bufptr[0] == '<' && stdscan_bufptr[1] == '=') {
+        stdscan_bufptr += 2;
+        return tv->t_type = TOKEN_LE;
+    } else if (stdscan_bufptr[0] == '>' && stdscan_bufptr[1] == '=') {
+        stdscan_bufptr += 2;
+        return tv->t_type = TOKEN_GE;
+    } else if (stdscan_bufptr[0] == '&' && stdscan_bufptr[1] == '&') {
+        stdscan_bufptr += 2;
+        return tv->t_type = TOKEN_DBL_AND;
+    } else if (stdscan_bufptr[0] == '^' && stdscan_bufptr[1] == '^') {
+        stdscan_bufptr += 2;
+        return tv->t_type = TOKEN_DBL_XOR;
+    } else if (stdscan_bufptr[0] == '|' && stdscan_bufptr[1] == '|') {
+        stdscan_bufptr += 2;
+        return tv->t_type = TOKEN_DBL_OR;
+    } else                      /* just an ordinary char */
+        return tv->t_type = (uint8_t)(*stdscan_bufptr++);
+}
+
diff --git a/stdscan.h b/stdscan.h
new file mode 100644 (file)
index 0000000..c63f9ee
--- /dev/null
+++ b/stdscan.h
@@ -0,0 +1,20 @@
+/* stdscan.h   header file for stdscan.c
+ *
+ * The Netwide Assembler is copyright (C) 1996 Simon Tatham and
+ * Julian Hall. All rights reserved. The software is
+ * redistributable under the licence given in the file "Licence"
+ * distributed in the NASM archive.
+ */
+
+#ifndef NASM_STDSCAN_H
+#define NASM_STDSCAN_H
+/*
+ * Standard scanner.
+ */
+extern char *stdscan_bufptr;
+void stdscan_reset(void);
+int stdscan(void *private_data, struct tokenval *tv);
+int nasm_token_hash(const char *token, struct tokenval *tv);
+void stdscan_cleanup(void);
+
+#endif
index a2dee12..ed327bd 100644 (file)
@@ -2,7 +2,7 @@
 # Tokens other than instructions and registers
 #
 
-% TOKEN_PREFIX, P_*
+% TOKEN_PREFIX, P_*, 0
 a16
 a32
 lock
@@ -15,7 +15,7 @@ repnz
 repz
 times
 
-% TOKEN_SPECIAL, S_*
+% TOKEN_SPECIAL, S_*, 0
 abs
 byte
 dword
@@ -31,8 +31,8 @@ to
 tword
 word
 
-% TOKEN_SEG
+% TOKEN_SEG, 0, 0
 seg
 
-% TOKEN_WRT
+% TOKEN_WRT, 0, 0
 wrt
index dfd7082..735e71c 100755 (executable)
@@ -124,6 +124,8 @@ $sv2 = $sv+2;
 
 die if ($n & ($n-1));
 
+print "#include <stdio.h>\n";
+print "#include <string.h>\n";
 print "#include \"nasm.h\"\n";
 print "#include \"insns.h\"\n";
 print "\n";
@@ -164,18 +166,26 @@ print "\t};\n\n";
 
 print "\tuint32_t k1 = 0, k2 = 0;\n";
 print "\tuint8_t c;\n";
+print "\tunsigned int ix;\n";
 print "\tconst struct tokendata *data;\n";
 print "\tconst char *p = token;\n";
 print "\n";
 
 print "\twhile ((c = *p++) != 0) {\n";
-printf "\t\tk1 = rot(k1,%2d) - rot(k2,%2d) + c;\n", ${$sv}[0], ${$sv}[1];
-printf "\t\tk2 = rot(k2,%2d) - rot(k1,%2d) + c;\n", ${$sv}[2], ${$sv}[3];
+printf "\t\tuint32_t kn1 = rot(k1,%2d) - rot(k2,%2d) + c;\n", ${$sv}[0], ${$sv}[1];
+printf "\t\tuint32_t kn2 = rot(k2,%2d) - rot(k1,%2d) + c;\n", ${$sv}[2], ${$sv}[3];
+print "\t\tk1 = kn1; k2 = kn2;\n";
 print "\t}\n";
 print "\n";
-printf "\tdata = &tokendata[(k1+k2) & 0x%08x];\n", $n-1;
-printf "\tif (data >= &tokendata[%d] || strcmp(data->string, token))\n",
-    scalar(@tokendata);
+printf "\tix = hash1[k1 & 0x%x] + hash2[k2 & 0x%x];\n", $n-1, $n-1;
+printf "\tif (ix >= %d)\n", scalar(@tokendata);
+print "\t\treturn -1;\n";
+print "\n";
+print "\tdata = &tokendata[ix];\n";
+
+# print "\tfprintf(stderr, \"Looked for: %s found: %s\\n\", token, data->string);\n\n";
+
+print "\tif (strcmp(data->string, token))\n";
 print "\t\treturn -1;\n";
 print "\n";
 print "\ttv->t_integer = data->i1;\n";