diff --git a/Makefile.in b/Makefile.in index 2e3ed87c..1804507d 100644 --- a/Makefile.in +++ b/Makefile.in @@ -57,7 +57,8 @@ 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) stdscan.$(O) tokhash.$(O) + preproc.$(O) pptok.$(O) \ + listing.$(O) eval.$(O) stdscan.$(O) tokhash.$(O) NDISASM = ndisasm.$(O) disasm.$(O) sync.$(O) nasmlib.$(O) insnsd.$(O) @@ -112,16 +113,22 @@ regvals.c: regs.dat regs.pl regs.h: regs.dat regs.pl $(PERL) $(srcdir)/regs.pl h $(srcdir)/regs.dat > regs.h -# Token hash +# Assembler token hash tokhash.c: insns.dat regs.dat tokens.dat tokhash.pl perllib/phash.ph $(PERL) $(srcdir)/tokhash.pl $(srcdir)/insns.dat $(srcdir)/regs.dat \ $(srcdir)/tokens.dat > tokhash.c +# Preprocessor token hash +pptok.h: pptok.dat pptok.pl perllib/phash.ph + $(PERL) $(srcdir)/pptok.pl h $(srcdir)/pptok.dat pptok.h +pptok.c: pptok.dat pptok.pl perllib/phash.ph + $(PERL) $(srcdir)/pptok.pl c $(srcdir)/pptok.dat pptok.c + # This target generates all files that require perl. # This allows easier generation of distribution (see dist target). PERLREQ = macros.c insnsa.c insnsd.c insnsi.h insnsn.c \ regs.c regs.h regflags.c regdis.c regvals.c tokhash.c \ - version.h version.mac + version.h version.mac pptok.h pptok.c perlreq: $(PERLREQ) install: nasm$(X) ndisasm$(X) @@ -200,8 +207,8 @@ alldeps: perlreq # @object-ending: ".$(O)" # @path-separator: "/" #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.$(O): assemble.c preproc.h insns.h regs.h regflags.c config.h \ - version.h nasmlib.h nasm.h regvals.c assemble.h insnsi.h +assemble.$(O): assemble.c preproc.h insns.h pptok.h regs.h regflags.c \ + config.h version.h nasmlib.h nasm.h regvals.c assemble.h insnsi.h disasm.$(O): disasm.c insns.h sync.h regdis.c regs.h config.h regs.c \ version.h nasm.h insnsn.c names.c insnsi.h disasm.h eval.$(O): eval.c labels.h eval.h regs.h config.h version.h nasmlib.h nasm.h @@ -213,11 +220,11 @@ labels.$(O): labels.c regs.h config.h version.h nasmlib.h nasm.h 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 \ +nasm.$(O): nasm.c labels.h preproc.h insns.h parser.h eval.h pptok.h regs.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 +nasmlib.$(O): nasmlib.c insns.h regs.h config.h version.h nasmlib.h nasm.h \ + 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 @@ -247,7 +254,9 @@ 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 stdscan.h insnsi.h -preproc.$(O): preproc.c macros.c regs.h config.h version.h nasmlib.h nasm.h +pptok.$(O): pptok.c +preproc.$(O): preproc.c preproc.h macros.c pptok.h regs.h config.h version.h \ + nasmlib.h nasm.h regdis.$(O): regdis.c regflags.$(O): regflags.c regs.$(O): regs.c diff --git a/Mkfiles/Makefile.b32 b/Mkfiles/Makefile.b32 index 39818987..3972b60f 100644 --- a/Mkfiles/Makefile.b32 +++ b/Mkfiles/Makefile.b32 @@ -173,8 +173,8 @@ clean: # @object-ending: ".$(OBJ)" # @path-separator: "\" #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.$(OBJ): assemble.c preproc.h insns.h regs.h regflags.c config.h \ - version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h +assemble.$(OBJ): assemble.c preproc.h insns.h pptok.h regs.h regflags.c \ + config.h version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h disasm.$(OBJ): disasm.c insns.h sync.h regdis.c regs.h config.h regs.c \ version.h nasm.h insnsn.c names.c insnsi.h disasm.h eval.$(OBJ): eval.c labels.h eval.h regs.h config.h version.h nasmlib.h \ @@ -188,11 +188,11 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \ listing.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 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 +nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h pptok.h \ + regs.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 version.h nasmlib.h nasm.h \ + 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 @@ -222,8 +222,9 @@ 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 stdscan.h insnsi.h -preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \ - nasm.h +pptok.$(OBJ): pptok.c +preproc.$(OBJ): preproc.c preproc.h macros.c pptok.h regs.h config.h \ + version.h nasmlib.h nasm.h regdis.$(OBJ): regdis.c regflags.$(OBJ): regflags.c regs.$(OBJ): regs.c diff --git a/Mkfiles/Makefile.bc3 b/Mkfiles/Makefile.bc3 index 01cb586d..f58ae105 100644 --- a/Mkfiles/Makefile.bc3 +++ b/Mkfiles/Makefile.bc3 @@ -133,8 +133,8 @@ clean : # @object-ending: ".$(OBJ)" # @path-separator: "\\" #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.$(OBJ): assemble.c preproc.h insns.h regs.h regflags.c config.h \ - version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h +assemble.$(OBJ): assemble.c preproc.h insns.h pptok.h regs.h regflags.c \ + config.h version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h disasm.$(OBJ): disasm.c insns.h sync.h regdis.c regs.h config.h regs.c \ version.h nasm.h insnsn.c names.c insnsi.h disasm.h eval.$(OBJ): eval.c labels.h eval.h regs.h config.h version.h nasmlib.h \ @@ -148,11 +148,11 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \ listing.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 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 +nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h pptok.h \ + regs.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 version.h nasmlib.h nasm.h \ + 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 @@ -182,8 +182,9 @@ 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 stdscan.h insnsi.h -preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \ - nasm.h +pptok.$(OBJ): pptok.c +preproc.$(OBJ): preproc.c preproc.h macros.c pptok.h regs.h config.h \ + version.h nasmlib.h nasm.h regdis.$(OBJ): regdis.c regflags.$(OBJ): regflags.c regs.$(OBJ): regs.c diff --git a/Mkfiles/Makefile.bor b/Mkfiles/Makefile.bor index 69a7e1da..96c0ad4f 100644 --- a/Mkfiles/Makefile.bor +++ b/Mkfiles/Makefile.bor @@ -62,8 +62,8 @@ clean : # @object-ending: ".$(OBJ)" # @path-separator: "/" # Is this really right? -hpa #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.$(OBJ): assemble.c preproc.h insns.h regs.h regflags.c config.h \ - version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h +assemble.$(OBJ): assemble.c preproc.h insns.h pptok.h regs.h regflags.c \ + config.h version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h disasm.$(OBJ): disasm.c insns.h sync.h regdis.c regs.h config.h regs.c \ version.h nasm.h insnsn.c names.c insnsi.h disasm.h eval.$(OBJ): eval.c labels.h eval.h regs.h config.h version.h nasmlib.h \ @@ -77,11 +77,11 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \ listing.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 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 +nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h pptok.h \ + regs.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 version.h nasmlib.h nasm.h \ + 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 @@ -111,8 +111,9 @@ 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 stdscan.h insnsi.h -preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \ - nasm.h +pptok.$(OBJ): pptok.c +preproc.$(OBJ): preproc.c preproc.h macros.c pptok.h regs.h config.h \ + version.h nasmlib.h nasm.h regdis.$(OBJ): regdis.c regflags.$(OBJ): regflags.c regs.$(OBJ): regs.c diff --git a/Mkfiles/Makefile.dcp b/Mkfiles/Makefile.dcp index e0d4b1f6..a4c2c272 100644 --- a/Mkfiles/Makefile.dcp +++ b/Mkfiles/Makefile.dcp @@ -157,7 +157,7 @@ regs.o: regs.c regvals.o: regvals.c sync.o: sync.c sync.h #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.o: assemble.c preproc.h insns.h regs.h regflags.c config.h \ +assemble.o: assemble.c preproc.h insns.h pptok.h regs.h regflags.c config.h \ version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h disasm.o: disasm.c insns.h sync.h regdis.c regs.h config.h regs.c version.h \ nasm.h insnsn.c names.c insnsi.h disasm.h @@ -170,10 +170,11 @@ labels.o: labels.c regs.h config.h version.h nasmlib.h nasm.h 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 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 +nasm.o: nasm.c labels.h preproc.h insns.h parser.h eval.h pptok.h regs.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 version.h nasmlib.h nasm.h \ + 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 @@ -203,7 +204,9 @@ 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 stdscan.h insnsi.h -preproc.o: preproc.c macros.c regs.h config.h version.h nasmlib.h nasm.h +pptok.o: pptok.c +preproc.o: preproc.c preproc.h macros.c pptok.h regs.h config.h version.h \ + nasmlib.h nasm.h regdis.o: regdis.c regflags.o: regflags.c regs.o: regs.c diff --git a/Mkfiles/Makefile.dj b/Mkfiles/Makefile.dj index b6a5a5eb..91d6b9dc 100644 --- a/Mkfiles/Makefile.dj +++ b/Mkfiles/Makefile.dj @@ -86,7 +86,7 @@ clean: # @object-ending: ".o" # @path-separator: "/" #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.o: assemble.c preproc.h insns.h regs.h regflags.c config.h \ +assemble.o: assemble.c preproc.h insns.h pptok.h regs.h regflags.c config.h \ version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h disasm.o: disasm.c insns.h sync.h regdis.c regs.h config.h regs.c version.h \ nasm.h insnsn.c names.c insnsi.h disasm.h @@ -99,10 +99,11 @@ labels.o: labels.c regs.h config.h version.h nasmlib.h nasm.h 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 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 +nasm.o: nasm.c labels.h preproc.h insns.h parser.h eval.h pptok.h regs.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 version.h nasmlib.h nasm.h \ + 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 @@ -132,7 +133,9 @@ 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 stdscan.h insnsi.h -preproc.o: preproc.c macros.c regs.h config.h version.h nasmlib.h nasm.h +pptok.o: pptok.c +preproc.o: preproc.c preproc.h macros.c pptok.h regs.h config.h version.h \ + nasmlib.h nasm.h regdis.o: regdis.c regflags.o: regflags.c regs.o: regs.c diff --git a/Mkfiles/Makefile.djo b/Mkfiles/Makefile.djo index 0c6f8aa0..40b386cc 100644 --- a/Mkfiles/Makefile.djo +++ b/Mkfiles/Makefile.djo @@ -93,7 +93,7 @@ clean: # @object-ending: ".o" # @path-separator: "/" #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.o: assemble.c preproc.h insns.h regs.h regflags.c config.h \ +assemble.o: assemble.c preproc.h insns.h pptok.h regs.h regflags.c config.h \ version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h disasm.o: disasm.c insns.h sync.h regdis.c regs.h config.h regs.c version.h \ nasm.h insnsn.c names.c insnsi.h disasm.h @@ -106,10 +106,11 @@ labels.o: labels.c regs.h config.h version.h nasmlib.h nasm.h 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 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 +nasm.o: nasm.c labels.h preproc.h insns.h parser.h eval.h pptok.h regs.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 version.h nasmlib.h nasm.h \ + 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 @@ -139,7 +140,9 @@ 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 stdscan.h insnsi.h -preproc.o: preproc.c macros.c regs.h config.h version.h nasmlib.h nasm.h +pptok.o: pptok.c +preproc.o: preproc.c preproc.h macros.c pptok.h regs.h config.h version.h \ + nasmlib.h nasm.h regdis.o: regdis.c regflags.o: regflags.c regs.o: regs.c diff --git a/Mkfiles/Makefile.dl b/Mkfiles/Makefile.dl index 662ecddf..38f8e0d6 100644 --- a/Mkfiles/Makefile.dl +++ b/Mkfiles/Makefile.dl @@ -47,8 +47,8 @@ clean : # @object-ending: ".$(OBJ)" # @path-separator: "/" #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.$(OBJ): assemble.c preproc.h insns.h regs.h regflags.c config.h \ - version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h +assemble.$(OBJ): assemble.c preproc.h insns.h pptok.h regs.h regflags.c \ + config.h version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h disasm.$(OBJ): disasm.c insns.h sync.h regdis.c regs.h config.h regs.c \ version.h nasm.h insnsn.c names.c insnsi.h disasm.h eval.$(OBJ): eval.c labels.h eval.h regs.h config.h version.h nasmlib.h \ @@ -62,11 +62,11 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \ listing.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 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 +nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h pptok.h \ + regs.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 version.h nasmlib.h nasm.h \ + 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 @@ -96,8 +96,9 @@ 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 stdscan.h insnsi.h -preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \ - nasm.h +pptok.$(OBJ): pptok.c +preproc.$(OBJ): preproc.c preproc.h macros.c pptok.h regs.h config.h \ + version.h nasmlib.h nasm.h regdis.$(OBJ): regdis.c regflags.$(OBJ): regflags.c regs.$(OBJ): regs.c diff --git a/Mkfiles/Makefile.dos b/Mkfiles/Makefile.dos index 1537af08..db7f8ba8 100644 --- a/Mkfiles/Makefile.dos +++ b/Mkfiles/Makefile.dos @@ -60,8 +60,8 @@ clean : # @object-ending: ".$(OBJ)" # @path-separator: "/" #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.$(OBJ): assemble.c preproc.h insns.h regs.h regflags.c config.h \ - version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h +assemble.$(OBJ): assemble.c preproc.h insns.h pptok.h regs.h regflags.c \ + config.h version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h disasm.$(OBJ): disasm.c insns.h sync.h regdis.c regs.h config.h regs.c \ version.h nasm.h insnsn.c names.c insnsi.h disasm.h eval.$(OBJ): eval.c labels.h eval.h regs.h config.h version.h nasmlib.h \ @@ -75,11 +75,11 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \ listing.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 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 +nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h pptok.h \ + regs.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 version.h nasmlib.h nasm.h \ + 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 @@ -109,8 +109,9 @@ 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 stdscan.h insnsi.h -preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \ - nasm.h +pptok.$(OBJ): pptok.c +preproc.$(OBJ): preproc.c preproc.h macros.c pptok.h regs.h config.h \ + version.h nasmlib.h nasm.h regdis.$(OBJ): regdis.c regflags.$(OBJ): regflags.c regs.$(OBJ): regs.c diff --git a/Mkfiles/Makefile.emx b/Mkfiles/Makefile.emx index 7127abb1..68b382ee 100644 --- a/Mkfiles/Makefile.emx +++ b/Mkfiles/Makefile.emx @@ -143,7 +143,7 @@ install_everything: everything install install_doc install_rdf # @object-ending: ".o" # @path-separator: "/" #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.o: assemble.c preproc.h insns.h regs.h regflags.c config.h \ +assemble.o: assemble.c preproc.h insns.h pptok.h regs.h regflags.c config.h \ version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h disasm.o: disasm.c insns.h sync.h regdis.c regs.h config.h regs.c version.h \ nasm.h insnsn.c names.c insnsi.h disasm.h @@ -156,10 +156,11 @@ labels.o: labels.c regs.h config.h version.h nasmlib.h nasm.h 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 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 +nasm.o: nasm.c labels.h preproc.h insns.h parser.h eval.h pptok.h regs.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 version.h nasmlib.h nasm.h \ + 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 @@ -189,7 +190,9 @@ 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 stdscan.h insnsi.h -preproc.o: preproc.c macros.c regs.h config.h version.h nasmlib.h nasm.h +pptok.o: pptok.c +preproc.o: preproc.c preproc.h macros.c pptok.h regs.h config.h version.h \ + nasmlib.h nasm.h regdis.o: regdis.c regflags.o: regflags.c regs.o: regs.c diff --git a/Mkfiles/Makefile.lcc b/Mkfiles/Makefile.lcc index c74f56b6..d5a649cf 100644 --- a/Mkfiles/Makefile.lcc +++ b/Mkfiles/Makefile.lcc @@ -113,8 +113,8 @@ clean: # @object-ending: ".${OBJ}" # @path-separator: "/" #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.${OBJ}: assemble.c preproc.h insns.h regs.h regflags.c config.h \ - version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h +assemble.${OBJ}: assemble.c preproc.h insns.h pptok.h regs.h regflags.c \ + config.h version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h disasm.${OBJ}: disasm.c insns.h sync.h regdis.c regs.h config.h regs.c \ version.h nasm.h insnsn.c names.c insnsi.h disasm.h eval.${OBJ}: eval.c labels.h eval.h regs.h config.h version.h nasmlib.h \ @@ -128,11 +128,11 @@ listing.${OBJ}: listing.c regs.h config.h version.h nasmlib.h nasm.h \ listing.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 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 +nasm.${OBJ}: nasm.c labels.h preproc.h insns.h parser.h eval.h pptok.h \ + regs.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 version.h nasmlib.h nasm.h \ + 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 @@ -162,8 +162,9 @@ 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 stdscan.h insnsi.h -preproc.${OBJ}: preproc.c macros.c regs.h config.h version.h nasmlib.h \ - nasm.h +pptok.${OBJ}: pptok.c +preproc.${OBJ}: preproc.c preproc.h macros.c pptok.h regs.h config.h \ + version.h nasmlib.h nasm.h regdis.${OBJ}: regdis.c regflags.${OBJ}: regflags.c regs.${OBJ}: regs.c diff --git a/Mkfiles/Makefile.ms7 b/Mkfiles/Makefile.ms7 index 851d251e..fa0719e4 100644 --- a/Mkfiles/Makefile.ms7 +++ b/Mkfiles/Makefile.ms7 @@ -156,8 +156,8 @@ spotless: clean # @object-ending: ".$(OBJ)" # @path-separator: "\" #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.$(OBJ): assemble.c preproc.h insns.h regs.h regflags.c config.h \ - version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h +assemble.$(OBJ): assemble.c preproc.h insns.h pptok.h regs.h regflags.c \ + config.h version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h disasm.$(OBJ): disasm.c insns.h sync.h regdis.c regs.h config.h regs.c \ version.h nasm.h insnsn.c names.c insnsi.h disasm.h eval.$(OBJ): eval.c labels.h eval.h regs.h config.h version.h nasmlib.h \ @@ -171,11 +171,11 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \ listing.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 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 +nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h pptok.h \ + regs.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 version.h nasmlib.h nasm.h \ + 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 @@ -205,8 +205,9 @@ 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 stdscan.h insnsi.h -preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \ - nasm.h +pptok.$(OBJ): pptok.c +preproc.$(OBJ): preproc.c preproc.h macros.c pptok.h regs.h config.h \ + version.h nasmlib.h nasm.h regdis.$(OBJ): regdis.c regflags.$(OBJ): regflags.c regs.$(OBJ): regs.c diff --git a/Mkfiles/Makefile.os2 b/Mkfiles/Makefile.os2 index 5aaac523..82e8932e 100644 --- a/Mkfiles/Makefile.os2 +++ b/Mkfiles/Makefile.os2 @@ -107,8 +107,8 @@ clean : # @object-ending: ".$(OBJ)" # @path-separator: "\\" #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.$(OBJ): assemble.c preproc.h insns.h regs.h regflags.c config.h \ - version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h +assemble.$(OBJ): assemble.c preproc.h insns.h pptok.h regs.h regflags.c \ + config.h version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h disasm.$(OBJ): disasm.c insns.h sync.h regdis.c regs.h config.h regs.c \ version.h nasm.h insnsn.c names.c insnsi.h disasm.h eval.$(OBJ): eval.c labels.h eval.h regs.h config.h version.h nasmlib.h \ @@ -122,11 +122,11 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \ listing.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 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 +nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h pptok.h \ + regs.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 version.h nasmlib.h nasm.h \ + 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 @@ -156,8 +156,9 @@ 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 stdscan.h insnsi.h -preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \ - nasm.h +pptok.$(OBJ): pptok.c +preproc.$(OBJ): preproc.c preproc.h macros.c pptok.h regs.h config.h \ + version.h nasmlib.h nasm.h regdis.$(OBJ): regdis.c regflags.$(OBJ): regflags.c regs.$(OBJ): regs.c diff --git a/Mkfiles/Makefile.sc b/Mkfiles/Makefile.sc index 6a080b50..801c0516 100644 --- a/Mkfiles/Makefile.sc +++ b/Mkfiles/Makefile.sc @@ -89,8 +89,8 @@ clean : # @object-ending: ".$(OBJ)" # @path-separator: "/" #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.$(OBJ): assemble.c preproc.h insns.h regs.h regflags.c config.h \ - version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h +assemble.$(OBJ): assemble.c preproc.h insns.h pptok.h regs.h regflags.c \ + config.h version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h disasm.$(OBJ): disasm.c insns.h sync.h regdis.c regs.h config.h regs.c \ version.h nasm.h insnsn.c names.c insnsi.h disasm.h eval.$(OBJ): eval.c labels.h eval.h regs.h config.h version.h nasmlib.h \ @@ -104,11 +104,11 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \ listing.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 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 +nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h pptok.h \ + regs.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 version.h nasmlib.h nasm.h \ + 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 @@ -138,8 +138,9 @@ 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 stdscan.h insnsi.h -preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \ - nasm.h +pptok.$(OBJ): pptok.c +preproc.$(OBJ): preproc.c preproc.h macros.c pptok.h regs.h config.h \ + version.h nasmlib.h nasm.h regdis.$(OBJ): regdis.c regflags.$(OBJ): regflags.c regs.$(OBJ): regs.c diff --git a/Mkfiles/Makefile.scw b/Mkfiles/Makefile.scw index 67b34137..8d2298d4 100644 --- a/Mkfiles/Makefile.scw +++ b/Mkfiles/Makefile.scw @@ -86,8 +86,8 @@ clean : # @object-ending: ".$(OBJ)" # @path-separator: "/" #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.$(OBJ): assemble.c preproc.h insns.h regs.h regflags.c config.h \ - version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h +assemble.$(OBJ): assemble.c preproc.h insns.h pptok.h regs.h regflags.c \ + config.h version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h disasm.$(OBJ): disasm.c insns.h sync.h regdis.c regs.h config.h regs.c \ version.h nasm.h insnsn.c names.c insnsi.h disasm.h eval.$(OBJ): eval.c labels.h eval.h regs.h config.h version.h nasmlib.h \ @@ -101,11 +101,11 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \ listing.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 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 +nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h pptok.h \ + regs.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 version.h nasmlib.h nasm.h \ + 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 @@ -135,8 +135,9 @@ 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 stdscan.h insnsi.h -preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \ - nasm.h +pptok.$(OBJ): pptok.c +preproc.$(OBJ): preproc.c preproc.h macros.c pptok.h regs.h config.h \ + version.h nasmlib.h nasm.h regdis.$(OBJ): regdis.c regflags.$(OBJ): regflags.c regs.$(OBJ): regs.c diff --git a/Mkfiles/Makefile.unx b/Mkfiles/Makefile.unx index 8c483fd0..7bc0ab0f 100644 --- a/Mkfiles/Makefile.unx +++ b/Mkfiles/Makefile.unx @@ -113,7 +113,7 @@ rdf_install install_rdf: # @object-ending: ".o" # @path-separator: "/" #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.o: assemble.c preproc.h insns.h regs.h regflags.c config.h \ +assemble.o: assemble.c preproc.h insns.h pptok.h regs.h regflags.c config.h \ version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h disasm.o: disasm.c insns.h sync.h regdis.c regs.h config.h regs.c version.h \ nasm.h insnsn.c names.c insnsi.h disasm.h @@ -126,10 +126,11 @@ labels.o: labels.c regs.h config.h version.h nasmlib.h nasm.h 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 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 +nasm.o: nasm.c labels.h preproc.h insns.h parser.h eval.h pptok.h regs.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 version.h nasmlib.h nasm.h \ + 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 @@ -159,7 +160,9 @@ 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 stdscan.h insnsi.h -preproc.o: preproc.c macros.c regs.h config.h version.h nasmlib.h nasm.h +pptok.o: pptok.c +preproc.o: preproc.c preproc.h macros.c pptok.h regs.h config.h version.h \ + nasmlib.h nasm.h regdis.o: regdis.c regflags.o: regflags.c regs.o: regs.c diff --git a/Mkfiles/Makefile.vc b/Mkfiles/Makefile.vc index 10869212..e45a3989 100644 --- a/Mkfiles/Makefile.vc +++ b/Mkfiles/Makefile.vc @@ -101,8 +101,8 @@ clean : # @object-ending: ".$(OBJ)" # @path-separator: "/" #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.$(OBJ): assemble.c preproc.h insns.h regs.h regflags.c config.h \ - version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h +assemble.$(OBJ): assemble.c preproc.h insns.h pptok.h regs.h regflags.c \ + config.h version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h disasm.$(OBJ): disasm.c insns.h sync.h regdis.c regs.h config.h regs.c \ version.h nasm.h insnsn.c names.c insnsi.h disasm.h eval.$(OBJ): eval.c labels.h eval.h regs.h config.h version.h nasmlib.h \ @@ -116,11 +116,11 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \ listing.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 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 +nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h pptok.h \ + regs.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 version.h nasmlib.h nasm.h \ + 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 @@ -150,8 +150,9 @@ 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 stdscan.h insnsi.h -preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \ - nasm.h +pptok.$(OBJ): pptok.c +preproc.$(OBJ): preproc.c preproc.h macros.c pptok.h regs.h config.h \ + version.h nasmlib.h nasm.h regdis.$(OBJ): regdis.c regflags.$(OBJ): regflags.c regs.$(OBJ): regs.c diff --git a/Mkfiles/Makefile.wc b/Mkfiles/Makefile.wc index 61742dc5..98ee0152 100644 --- a/Mkfiles/Makefile.wc +++ b/Mkfiles/Makefile.wc @@ -103,8 +103,8 @@ clean : # @object-ending: ".$(OBJ)" # @path-separator: "/" #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.$(OBJ): assemble.c preproc.h insns.h regs.h regflags.c config.h \ - version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h +assemble.$(OBJ): assemble.c preproc.h insns.h pptok.h regs.h regflags.c \ + config.h version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h disasm.$(OBJ): disasm.c insns.h sync.h regdis.c regs.h config.h regs.c \ version.h nasm.h insnsn.c names.c insnsi.h disasm.h eval.$(OBJ): eval.c labels.h eval.h regs.h config.h version.h nasmlib.h \ @@ -118,11 +118,11 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \ listing.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 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 +nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h pptok.h \ + regs.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 version.h nasmlib.h nasm.h \ + 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 @@ -152,8 +152,9 @@ 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 stdscan.h insnsi.h -preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \ - nasm.h +pptok.$(OBJ): pptok.c +preproc.$(OBJ): preproc.c preproc.h macros.c pptok.h regs.h config.h \ + version.h nasmlib.h nasm.h regdis.$(OBJ): regdis.c regflags.$(OBJ): regflags.c regs.$(OBJ): regs.c diff --git a/Mkfiles/Makefile.wcd b/Mkfiles/Makefile.wcd index e64c0629..1e38fd84 100644 --- a/Mkfiles/Makefile.wcd +++ b/Mkfiles/Makefile.wcd @@ -88,8 +88,8 @@ clean : .SYMBOLIC # @object-ending: ".$(OBJ)" # @path-separator: "" # This means kill the path completely #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.$(OBJ): assemble.c preproc.h insns.h regs.h regflags.c config.h \ - version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h +assemble.$(OBJ): assemble.c preproc.h insns.h pptok.h regs.h regflags.c \ + config.h version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h disasm.$(OBJ): disasm.c insns.h sync.h regdis.c regs.h config.h regs.c \ version.h nasm.h insnsn.c names.c insnsi.h disasm.h eval.$(OBJ): eval.c labels.h eval.h regs.h config.h version.h nasmlib.h \ @@ -103,11 +103,11 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \ listing.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 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 +nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h pptok.h \ + regs.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 version.h nasmlib.h nasm.h \ + 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 @@ -135,8 +135,9 @@ 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 stdscan.h insnsi.h -preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \ - nasm.h +pptok.$(OBJ): pptok.c +preproc.$(OBJ): preproc.c preproc.h macros.c pptok.h regs.h config.h \ + version.h nasmlib.h nasm.h regdis.$(OBJ): regdis.c regflags.$(OBJ): regflags.c regs.$(OBJ): regs.c diff --git a/Mkfiles/Makefile.wcw b/Mkfiles/Makefile.wcw index 0409cd64..7e105775 100644 --- a/Mkfiles/Makefile.wcw +++ b/Mkfiles/Makefile.wcw @@ -103,8 +103,8 @@ clean : # @object-ending: ".$(OBJ)" # @path-separator: "/" #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.$(OBJ): assemble.c preproc.h insns.h regs.h regflags.c config.h \ - version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h +assemble.$(OBJ): assemble.c preproc.h insns.h pptok.h regs.h regflags.c \ + config.h version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h disasm.$(OBJ): disasm.c insns.h sync.h regdis.c regs.h config.h regs.c \ version.h nasm.h insnsn.c names.c insnsi.h disasm.h eval.$(OBJ): eval.c labels.h eval.h regs.h config.h version.h nasmlib.h \ @@ -118,11 +118,11 @@ listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \ listing.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 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 +nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h pptok.h \ + regs.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 version.h nasmlib.h nasm.h \ + 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 @@ -152,8 +152,9 @@ 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 stdscan.h insnsi.h -preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \ - nasm.h +pptok.$(OBJ): pptok.c +preproc.$(OBJ): preproc.c preproc.h macros.c pptok.h regs.h config.h \ + version.h nasmlib.h nasm.h regdis.$(OBJ): regdis.c regflags.$(OBJ): regflags.c regs.$(OBJ): regs.c diff --git a/nasm.h b/nasm.h index bbbb70b1..2efc3eb5 100644 --- a/nasm.h +++ b/nasm.h @@ -296,7 +296,7 @@ typedef expr *(*evalfunc) (scanner sc, void *scprivate, /* * Preprocessors ought to look like this: */ -typedef struct { +typedef struct preproc_ops { /* * Called at the start of a pass; given a file name, the number * of the pass, an error reporting function, an evaluator @@ -317,6 +317,8 @@ typedef struct { void (*cleanup) (int); } Preproc; +extern Preproc nasmpp; + /* * ---------------------------------------------------------------- * Some lexical properties of the NASM source language, included diff --git a/nasmlib.h b/nasmlib.h index 17d9420d..cf7040ca 100644 --- a/nasmlib.h +++ b/nasmlib.h @@ -9,6 +9,9 @@ #ifndef NASM_NASMLIB_H #define NASM_NASMLIB_H +#include +#include + /* * If this is defined, the wrappers around malloc et al will * transform into logging variants, which will cause NASM to create diff --git a/pptok.dat b/pptok.dat new file mode 100644 index 00000000..1c07d4b2 --- /dev/null +++ b/pptok.dat @@ -0,0 +1,44 @@ +# +# A * at the end indicates a condition; the list of conditions are +# on lines starting with *; the negatives are auto-generated +# +* +*ctx +*def +*id +*idn +*idni +*macro +*num +*str +%arg +%assign +%clear +%define +%elif* +%else +%endif +%endm +%endmacro +%endrep +%error +%exitrep +%iassign +%idefine +%if* +%imacro +%include +%ixdefine +%line +%local +%macro +%pop +%push +%rep +%repl +%rotate +%stacksize +%strlen +%substr +%undef +%xdefine diff --git a/pptok.pl b/pptok.pl new file mode 100755 index 00000000..df64cdee --- /dev/null +++ b/pptok.pl @@ -0,0 +1,147 @@ +#!/usr/bin/perl +# +# Produce pptok.c and pptok.h from pptok.dat +# + +require 'phash.ph'; + +my($what, $in, $out) = @ARGV; + +# +# Read pptok.dat +# +open(IN, "< $in") or die "$0: cannot open: $in\n"; +while (defined($line = )) { + chomp $line; + $line =~ s/^\s+//; # Remove leading whitespace + $line =~ s/\s*\#.*$//; # Remove comments and trailing whitespace + next if ($line eq ''); + + if ($line =~ /^(\%.*)\*$/) { + push(@cctok, $1); + } elsif ($line =~ /^(\%.*)$/) { + push(@pptok, $1); + } elsif ($line =~ /^\*(.*)$/) { + push(@cond, $1); + } +} +close(IN); + +foreach $ct (@cctok) { + foreach $cc (@cond) { + push(@pptok, $ct.$cc); + push(@pptok, $ct.'n'.$cc); + } +} + +@pptok = sort @pptok; + +open(OUT, "> $out") or die "$0: cannot open: $out\n"; +print OUT "/* Automatically generated from $in by $0 */\n"; +print OUT "/* Do not edit */\n"; +print OUT "\n"; + +# +# Output pptok.h +# +if ($what eq 'h') { + print OUT "enum preproc_token {\n"; + foreach $pt (@pptok) { + (my $px = $pt) =~ s/\%//g; + print OUT " PP_\U$px\E,\n"; + } + print OUT " PP_INVALID = -1\n"; + print OUT "};\n"; +} + +# +# Output pptok.c +# +if ($what eq 'c') { + my %tokens = (); + my @tokendata = (); + + foreach $pt (@pptok) { + (my $px = $pt) =~ s/\%//g; + $tokens{$pt} = scalar @tokendata; + push(@tokendata, $pt); + } + + my @hashinfo = gen_perfect_hash(\%tokens); + if (!defined(@hashinfo)) { + die "$0: no hash found\n"; + } + + # Paranoia... + verify_hash_table(\%tokens, \@hashinfo); + + ($n, $sv, $g) = @hashinfo; + $sv2 = $sv+2; + + die if ($n & ($n-1)); + + print OUT "#include \n"; + print OUT "#include \n"; + print OUT "#include \"nasmlib.h\"\n"; + print OUT "#include \"preproc.h\"\n"; + print OUT "\n"; + + print OUT "#define rot(x,y) (((uint32_t)(x) << (y))+((uint32_t)(x) >> (32-(y))))\n"; + print OUT "\n"; + + # Note that this is global. + printf OUT "const char * const pp_directives[%d] = {\n", + scalar(@tokendata); + foreach $d (@tokendata) { + print OUT " \"$d\",\n"; + } + print OUT "};\n"; + + print OUT "enum preproc_token pp_token_hash(const char *token)\n"; + print OUT "{\n"; + + # Put a large value in unused slots. This makes it extremely unlikely + # that any combination that involves unused slot will pass the range test. + # This speeds up rejection of unrecognized tokens, i.e. identifiers. + print OUT "#define UNUSED 16383\n"; + + print OUT " static const int16_t hash1[$n] = {\n"; + for ($i = 0; $i < $n; $i++) { + my $h = ${$g}[$i*2+0]; + print OUT " ", defined($h) ? $h : 'UNUSED', ",\n"; + } + print OUT " };\n"; + + print OUT " static const int16_t hash2[$n] = {\n"; + for ($i = 0; $i < $n; $i++) { + my $h = ${$g}[$i*2+1]; + print OUT " ", defined($h) ? $h : 'UNUSED', ",\n"; + } + print OUT " };\n"; + + print OUT " uint32_t k1 = 0, k2 = 0;\n"; + print OUT " uint8_t c;\n"; + # For correct overflow behavior, "ix" should be unsigned of the same + # width as the hash arrays. + print OUT " uint16_t ix;\n"; + print OUT " const char *p = token;\n"; + print OUT "\n"; + + print OUT " while ((c = *p++) != 0) {\n"; + print OUT " c = tolower(c);\n"; + printf OUT " uint32_t kn1 = rot(k1,%2d) - rot(k2,%2d) + c;\n", ${$sv}[0], ${$sv}[1]; + printf OUT " uint32_t kn2 = rot(k2,%2d) - rot(k1,%2d) + c;\n", ${$sv}[2], ${$sv}[3]; + print OUT " k1 = kn1; k2 = kn2;\n"; + print OUT " }\n"; + print OUT "\n"; + printf OUT " ix = hash1[k1 & 0x%x] + hash2[k2 & 0x%x];\n", $n-1, $n-1; + printf OUT " if (ix >= %d)\n", scalar(@tokendata); + print OUT " return PP_INVALID;\n"; + print OUT "\n"; + + print OUT " if (nasm_stricmp(pp_directives[ix], token))\n"; + print OUT " return PP_INVALID;\n"; + print OUT "\n"; + print OUT " return ix;\n"; + print OUT "}\n"; +} diff --git a/preproc.c b/preproc.c index 20ba19be..8778a6b0 100644 --- a/preproc.c +++ b/preproc.c @@ -45,6 +45,7 @@ #include "nasm.h" #include "nasmlib.h" +#include "preproc.h" typedef struct SMacro SMacro; typedef struct MMacro MMacro; @@ -270,45 +271,6 @@ static int inverse_ccs[] = { /* * Directive names. */ -static const char *directives[] = { - "%arg", - "%assign", "%clear", "%define", "%elif", "%elifctx", "%elifdef", - "%elifid", "%elifidn", "%elifidni", "%elifmacro", "%elifn", "%elifnctx", - "%elifndef", - "%elifnid", "%elifnidn", "%elifnidni", "%elifnmacro", "%elifnnum", - "%elifnstr", - "%elifnum", "%elifstr", "%else", "%endif", "%endm", "%endmacro", - "%endrep", "%error", "%exitrep", "%iassign", "%idefine", "%if", - "%ifctx", "%ifdef", "%ifid", "%ifidn", "%ifidni", "%ifmacro", - "%ifn", "%ifnctx", - "%ifndef", "%ifnid", "%ifnidn", "%ifnidni", "%ifnmacro", "%ifnnum", - "%ifnstr", "%ifnum", "%ifstr", "%imacro", "%include", - "%ixdefine", "%line", - "%local", - "%macro", "%pop", "%push", "%rep", "%repl", "%rotate", - "%stacksize", - "%strlen", "%substr", "%undef", "%xdefine" -}; -enum { - PP_ARG, - PP_ASSIGN, PP_CLEAR, PP_DEFINE, PP_ELIF, PP_ELIFCTX, PP_ELIFDEF, - PP_ELIFID, PP_ELIFIDN, PP_ELIFIDNI, PP_ELIFMACRO, PP_ELIFN, PP_ELIFNCTX, - PP_ELIFNDEF, - PP_ELIFNID, PP_ELIFNIDN, PP_ELIFNIDNI, PP_ELIFNMACRO, PP_ELIFNNUM, - PP_ELIFNSTR, - PP_ELIFNUM, PP_ELIFSTR, PP_ELSE, PP_ENDIF, PP_ENDM, PP_ENDMACRO, - PP_ENDREP, PP_ERROR, PP_EXITREP, PP_IASSIGN, PP_IDEFINE, PP_IF, - PP_IFCTX, PP_IFDEF, PP_IFID, PP_IFIDN, PP_IFIDNI, PP_IFMACRO, - PP_IFN, PP_IFNCTX, - PP_IFNDEF, PP_IFNID, PP_IFNIDN, PP_IFNIDNI, PP_IFNMACRO, PP_IFNNUM, - PP_IFNSTR, PP_IFNUM, PP_IFSTR, PP_IMACRO, PP_INCLUDE, - PP_IXDEFINE, PP_LINE, - PP_LOCAL, - PP_MACRO, PP_POP, PP_PUSH, PP_REP, PP_REPL, PP_ROTATE, - PP_STACKSIZE, - PP_STRLEN, PP_SUBSTR, PP_UNDEF, PP_XDEFINE -}; - /* If this is a an IF, ELIF, ELSE or ENDIF keyword */ static int is_condition(int arg) { @@ -1326,7 +1288,7 @@ static int if_condition(Token * tline, int i) skip_white_(tline); if (!tline || tline->type != TOK_ID) { error(ERR_NONFATAL, - "`%s' expects context identifiers", directives[i]); + "`%s' expects context identifiers", pp_directives[i]); free_tlist(origline); return -1; } @@ -1350,7 +1312,7 @@ static int if_condition(Token * tline, int i) (tline->type != TOK_PREPROC_ID || tline->text[1] != '$'))) { error(ERR_NONFATAL, - "`%s' expects macro identifiers", directives[i]); + "`%s' expects macro identifiers", pp_directives[i]); free_tlist(origline); return -1; } @@ -1378,7 +1340,7 @@ static int if_condition(Token * tline, int i) if (!tt) { error(ERR_NONFATAL, "`%s' expects two comma-separated arguments", - directives[i]); + pp_directives[i]); free_tlist(tline); return -1; } @@ -1389,7 +1351,7 @@ static int if_condition(Token * tline, int i) while ((t->type != TOK_OTHER || strcmp(t->text, ",")) && tt) { if (tt->type == TOK_OTHER && !strcmp(tt->text, ",")) { error(ERR_NONFATAL, "`%s': more than one comma on line", - directives[i]); + pp_directives[i]); free_tlist(tline); return -1; } @@ -1439,7 +1401,7 @@ static int if_condition(Token * tline, int i) tline = expand_id(tline); if (!tok_type_(tline, TOK_ID)) { error(ERR_NONFATAL, - "`%s' expects a macro name", directives[i]); + "`%s' expects a macro name", pp_directives[i]); return -1; } searching.name = nasm_strdup(tline->text); @@ -1456,7 +1418,7 @@ static int if_condition(Token * tline, int i) } else if (!tok_type_(tline, TOK_NUMBER)) { error(ERR_NONFATAL, "`%s' expects a parameter count or nothing", - directives[i]); + pp_directives[i]); } else { searching.nparam_min = searching.nparam_max = readnum(tline->text, &j); @@ -1472,7 +1434,7 @@ static int if_condition(Token * tline, int i) else if (!tok_type_(tline, TOK_NUMBER)) error(ERR_NONFATAL, "`%s' expects a parameter count after `-'", - directives[i]); + pp_directives[i]); else { searching.nparam_max = readnum(tline->text, &j); if (j) @@ -1569,7 +1531,7 @@ static int if_condition(Token * tline, int i) "trailing garbage after expression ignored"); if (!is_simple(evalresult)) { error(ERR_NONFATAL, - "non-constant value given to `%s'", directives[i]); + "non-constant value given to `%s'", pp_directives[i]); return -1; } j = reloc_value(evalresult) != 0; @@ -1579,7 +1541,7 @@ static int if_condition(Token * tline, int i) default: error(ERR_FATAL, "preprocessor directive `%s' not yet implemented", - directives[i]); + pp_directives[i]); free_tlist(origline); return -1; /* yeah, right */ } @@ -1611,7 +1573,9 @@ void expand_macros_in_string(char **p) */ static int do_directive(Token * tline) { - int i, j, nparam, nolist; + enum preproc_token i; + int j; + int nparam, nolist; int64_t k, m; int offset; char *p, *mname; @@ -1634,25 +1598,7 @@ static int do_directive(Token * tline) || tline->text[1] == '!')) return NO_DIRECTIVE_FOUND; - i = -1; - j = elements(directives); - while (j - i > 1) { - k = (j + i) / 2; - m = nasm_stricmp(tline->text, directives[k]); - if (m == 0) { - if (tasm_compatible_mode) { - i = k; - j = -2; - } else if (k != PP_ARG && k != PP_LOCAL && k != PP_STACKSIZE) { - i = k; - j = -2; - } - break; - } else if (m < 0) { - j = k; - } else - i = k; - } + i = pp_token_hash(tline->text); /* * If we're in a non-emitting branch of a condition construct, @@ -1678,13 +1624,12 @@ static int do_directive(Token * tline) return NO_DIRECTIVE_FOUND; } - if (j != -2) { + switch (i) { + case PP_INVALID: error(ERR_NONFATAL, "unknown preprocessor directive `%s'", tline->text); return NO_DIRECTIVE_FOUND; /* didn't get it */ - } - switch (i) { case PP_STACKSIZE: /* Directive to tell NASM what the default stack size is. The * default is for a 16-bit stack, and this can be overriden with @@ -2063,7 +2008,7 @@ static int do_directive(Token * tline) case PP_ELIFNUM: case PP_ELIFSTR: if (!istk->conds) - error(ERR_FATAL, "`%s': no matching `%%if'", directives[i]); + error(ERR_FATAL, "`%s': no matching `%%if'", pp_directives[i]); if (emitting(istk->conds->state) || istk->conds->state == COND_NEVER) istk->conds->state = COND_NEVER; @@ -2817,7 +2762,7 @@ static int do_directive(Token * tline) default: error(ERR_FATAL, "preprocessor directive `%s' not yet implemented", - directives[i]); + pp_directives[i]); break; } return DIRECTIVE_FOUND; diff --git a/preproc.h b/preproc.h index b5717325..13d70cdc 100644 --- a/preproc.h +++ b/preproc.h @@ -9,6 +9,11 @@ #ifndef NASM_PREPROC_H #define NASM_PREPROC_H +#include "pptok.h" + +extern const char * const pp_directives[]; + +enum preproc_token pp_token_hash(const char *token); void pp_include_path(char *); char **pp_get_include_path_ptr(char **pPrevPath); void pp_pre_include(char *); @@ -17,6 +22,4 @@ void pp_pre_undefine(char *); void pp_runtime(char *); void pp_extra_stdmac(const char **); -extern Preproc nasmpp; - #endif