now uses alloc module, bug fixes, -N option under USE_TMP, to not do so
This commit is contained in:
		
							parent
							
								
									b4e4250144
								
							
						
					
					
						commit
						8116e3181f
					
				
					 37 changed files with 124 additions and 136 deletions
				
			
		|  | @ -1,6 +1,7 @@ | ||||||
| /* $Header$ */ | /* $Header$ */ | ||||||
| /*		    L E X I C A L   A N A L Y Z E R			*/ | /*		    L E X I C A L   A N A L Y Z E R			*/ | ||||||
| 
 | 
 | ||||||
|  | #include	<alloc.h> | ||||||
| #include	"nofloat.h" | #include	"nofloat.h" | ||||||
| #include	"idfsize.h" | #include	"idfsize.h" | ||||||
| #include	"numsize.h" | #include	"numsize.h" | ||||||
|  | @ -8,7 +9,6 @@ | ||||||
| #include	"strsize.h" | #include	"strsize.h" | ||||||
| #include	"nopp.h" | #include	"nopp.h" | ||||||
| #include	"input.h" | #include	"input.h" | ||||||
| #include	"alloc.h" |  | ||||||
| #include	"arith.h" | #include	"arith.h" | ||||||
| #include	"def.h" | #include	"def.h" | ||||||
| #include	"idf.h" | #include	"idf.h" | ||||||
|  |  | ||||||
|  | @ -1,9 +1,9 @@ | ||||||
| /* $Header$ */ | /* $Header$ */ | ||||||
| /*		PARSER ERROR ADMINISTRATION		*/ | /*		PARSER ERROR ADMINISTRATION		*/ | ||||||
| 
 | 
 | ||||||
|  | #include	<alloc.h> | ||||||
| #include	"nofloat.h" | #include	"nofloat.h" | ||||||
| #include	"idf.h" | #include	"idf.h" | ||||||
| #include	"alloc.h" |  | ||||||
| #include	"arith.h" | #include	"arith.h" | ||||||
| #include	"LLlex.h" | #include	"LLlex.h" | ||||||
| #include	"Lpars.h" | #include	"Lpars.h" | ||||||
|  | @ -12,9 +12,10 @@ extern char *symbol2str(); | ||||||
| 
 | 
 | ||||||
| LLmessage(tk)	{ | LLmessage(tk)	{ | ||||||
| 	err_occurred = 1; | 	err_occurred = 1; | ||||||
| 	if (tk < 0) | 	if (tk < 0)	{ | ||||||
| 		fatal("parser administration overflow"); | 		error("end of file expected"); | ||||||
| 	if (tk)	{ | 	} | ||||||
|  | 	else if (tk)	{ | ||||||
| 		error("%s missing", symbol2str(tk)); | 		error("%s missing", symbol2str(tk)); | ||||||
| 		insert_token(tk); | 		insert_token(tk); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | @ -18,12 +18,14 @@ STRLIB =	$(EMHOME)/modules/lib/libstring.a | ||||||
| PRTLIB =	$(EMHOME)/modules/lib/libprint.a | PRTLIB =	$(EMHOME)/modules/lib/libprint.a | ||||||
| EMMESLIB =	$(EMHOME)/modules/lib/libem_mes.a | EMMESLIB =	$(EMHOME)/modules/lib/libem_mes.a | ||||||
| INPLIB =	$(EMHOME)/modules/lib/libinput.a | INPLIB =	$(EMHOME)/modules/lib/libinput.a | ||||||
|  | ALLOCLIB =	$(EMHOME)/modules/lib/liballoc.a | ||||||
|  | MALLOC =	$(EMHOME)/modules/lib/malloc.o | ||||||
| #CH3LIB =	$(EMHOME)/modules/lib/libch3.a | #CH3LIB =	$(EMHOME)/modules/lib/libch3.a | ||||||
| CH3LIB = | CH3LIB = | ||||||
| LIBS =		$(INPLIB) $(CH3LIB) $(EMMESLIB) $(EMKLIB) \ | LIBS =		$(INPLIB) $(CH3LIB) $(EMMESLIB) $(EMKLIB) \ | ||||||
| 		$(PRTLIB) $(STRLIB) $(SYSLIB) | 		$(PRTLIB) $(STRLIB) $(ALLOCLIB) $(MALLOC) $(SYSLIB) | ||||||
| ELIBS =		$(INPLIB) $(CH3LIB) $(EMMESLIB) $(EMELIB) \ | ELIBS =		$(INPLIB) $(CH3LIB) $(EMMESLIB) $(EMELIB) \ | ||||||
| 		$(PRTLIB) $(STRLIB) $(SYSLIB) | 		$(PRTLIB) $(STRLIB) $(ALLOCLIB) $(MALLOC) $(SYSLIB) | ||||||
| LIB_INCLUDES =	-I$(EMHOME)/modules/h -I$(EMHOME)/modules/pkg | LIB_INCLUDES =	-I$(EMHOME)/modules/h -I$(EMHOME)/modules/pkg | ||||||
| EM_INCLUDES =	-I$(EMHOME)/h | EM_INCLUDES =	-I$(EMHOME)/h | ||||||
| SYSLLIB =	$(EMHOME)/modules/lib/llib-lsys.ln | SYSLLIB =	$(EMHOME)/modules/lib/llib-lsys.ln | ||||||
|  | @ -34,9 +36,10 @@ PRTLLIB =	$(EMHOME)/modules/lib/llib-lprint.ln | ||||||
| EMMESLLIB =	$(EMHOME)/modules/lib/llib-lmes.ln | EMMESLLIB =	$(EMHOME)/modules/lib/llib-lmes.ln | ||||||
| INPLLIB =	$(EMHOME)/modules/lib/llib-linput.ln | INPLLIB =	$(EMHOME)/modules/lib/llib-linput.ln | ||||||
| CH3LLIB =	$(EMHOME)/modules/lib/llib-lch3.ln | CH3LLIB =	$(EMHOME)/modules/lib/llib-lch3.ln | ||||||
|  | ALLOCLLIB =	$(EMHOME)/modules/lib/llib-alloc.ln | ||||||
| LINTLIBS = | LINTLIBS = | ||||||
| #LINTLIBS =	$(CH3LLIB) $(INPLLIB) $(EMMESLLIB) $(EMKLLIB) \ | #LINTLIBS =	$(CH3LLIB) $(INPLLIB) $(EMMESLLIB) $(EMKLLIB) \ | ||||||
| #		$(PRTLLIB) $(STRLLIB) $(SYSLLIB) | #		$(PRTLLIB) $(STRLLIB) $(SYSLLIB) $(ALLOCLLIB) | ||||||
| 
 | 
 | ||||||
| # Where to install the compiler and its driver | # Where to install the compiler and its driver | ||||||
| CEMCOM =	$(DESTINATION)/cemcom | CEMCOM =	$(DESTINATION)/cemcom | ||||||
|  | @ -58,16 +61,17 @@ CFLAGS =	$(CDEFS) $(COPTIONS) -O# we cannot pass the COPTIONS to lint! | ||||||
| 
 | 
 | ||||||
| # Grammar files and their objects | # Grammar files and their objects | ||||||
| LSRC =	tokenfile.g declar.g statement.g expression.g program.g | LSRC =	tokenfile.g declar.g statement.g expression.g program.g | ||||||
|  | GLCSRC = tokenfile.c declar.c statement.c expression.c program.c | ||||||
| LOBJ =	tokenfile.o declar.o statement.o expression.o program.o Lpars.o | LOBJ =	tokenfile.o declar.o statement.o expression.o program.o Lpars.o | ||||||
| 
 | 
 | ||||||
| # Objects of hand-written C files | # Objects of hand-written C files | ||||||
| COBJ =	main.o idf.o declarator.o decspecs.o struct.o \ | COBJ =	main.o idf.o declarator.o decspecs.o struct.o \ | ||||||
| 	expr.o ch7.o ch7bin.o cstoper.o arith.o \ | 	expr.o ch7.o ch7bin.o cstoper.o arith.o \ | ||||||
| 	alloc.o asm.o code.o dumpidf.o error.o field.o\ | 	asm.o code.o dumpidf.o error.o field.o\ | ||||||
| 	tokenname.o LLlex.o LLmessage.o \ | 	tokenname.o LLlex.o LLmessage.o \ | ||||||
| 	input.o domacro.o replace.o init.o options.o \ | 	input.o domacro.o replace.o init.o options.o \ | ||||||
| 	scan.o skip.o stack.o type.o ch7mon.o label.o eval.o \ | 	scan.o skip.o stack.o type.o ch7mon.o label.o eval.o \ | ||||||
| 	switch.o storage.o ival.o conversion.o \ | 	switch.o ival.o conversion.o \ | ||||||
| 	blocks.o dataflow.o | 	blocks.o dataflow.o | ||||||
| 
 | 
 | ||||||
| # Objects of other generated C files | # Objects of other generated C files | ||||||
|  | @ -81,13 +85,13 @@ GSRC =	char.c symbol2str.c next.c \ | ||||||
| # .h files generated by `make hfiles'; PLEASE KEEP THIS UP-TO-DATE! | # .h files generated by `make hfiles'; PLEASE KEEP THIS UP-TO-DATE! | ||||||
| GHSRC = botch_free.h dataflow.h debug.h density.h errout.h \ | GHSRC = botch_free.h dataflow.h debug.h density.h errout.h \ | ||||||
| 	idepth.h idfsize.h ifdepth.h inputtype.h inumlength.h lapbuf.h \ | 	idepth.h idfsize.h ifdepth.h inputtype.h inumlength.h lapbuf.h \ | ||||||
| 	maxincl.h myalloc.h nobitfield.h nofloat.h nopp.h \ | 	maxincl.h nobitfield.h nofloat.h nopp.h \ | ||||||
| 	nparams.h numsize.h parbufsize.h pathlength.h \ | 	nparams.h numsize.h parbufsize.h pathlength.h \ | ||||||
| 	strsize.h target_sizes.h textsize.h use_tmp.h spec_arith.h static.h | 	strsize.h target_sizes.h textsize.h use_tmp.h spec_arith.h static.h | ||||||
| 
 | 
 | ||||||
| # Other generated files, for 'make clean' only | # Other generated files, for 'make clean' only | ||||||
| GENERATED = tab tokenfile.g Lpars.h LLfiles LL.output lint.out \ | GENERATED = tab tokenfile.g Lpars.h LLfiles LL.output lint.out \ | ||||||
| 	print Xref lxref hfiles cfiles | 	print Xref lxref hfiles cfiles $(GLCSRC) | ||||||
| 
 | 
 | ||||||
| # include files containing ALLOCDEF specifications | # include files containing ALLOCDEF specifications | ||||||
| NEXTFILES = code.str declar.str decspecs.str def.str expr.str field.str \ | NEXTFILES = code.str declar.str decspecs.str def.str expr.str field.str \ | ||||||
|  | @ -211,47 +215,45 @@ sim:	cfiles | ||||||
| 	$(SIM) $(SIMFLAGS) `sources $(COBJ)` $(GSRC) $(LSRC) | 	$(SIM) $(SIMFLAGS) `sources $(COBJ)` $(GSRC) $(LSRC) | ||||||
| 
 | 
 | ||||||
| #AUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTO | #AUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTO | ||||||
| main.o: LLlex.h Lpars.h alloc.h arith.h debug.h declar.h file_info.h idf.h input.h inputtype.h level.h maxincl.h myalloc.h nobitfield.h nofloat.h nopp.h spec_arith.h specials.h target_sizes.h tokenname.h type.h use_tmp.h | main.o: LLlex.h Lpars.h arith.h debug.h declar.h file_info.h idf.h input.h inputtype.h level.h maxincl.h nobitfield.h nofloat.h nopp.h spec_arith.h specials.h target_sizes.h tokenname.h type.h use_tmp.h | ||||||
| idf.o: LLlex.h Lpars.h align.h alloc.h arith.h assert.h botch_free.h debug.h declar.h decspecs.h def.h file_info.h idf.h idfsize.h label.h level.h nobitfield.h nofloat.h nopp.h sizes.h spec_arith.h specials.h stack.h storage.h struct.h type.h | idf.o: LLlex.h Lpars.h align.h arith.h assert.h botch_free.h debug.h declar.h decspecs.h def.h file_info.h idf.h idfsize.h label.h level.h nobitfield.h nofloat.h nopp.h sizes.h spec_arith.h specials.h stack.h struct.h type.h | ||||||
| declarator.o: Lpars.h alloc.h arith.h botch_free.h declar.h expr.h idf.h label.h nobitfield.h nofloat.h nopp.h sizes.h spec_arith.h storage.h type.h | declarator.o: Lpars.h arith.h botch_free.h declar.h expr.h idf.h label.h nobitfield.h nofloat.h nopp.h sizes.h spec_arith.h type.h | ||||||
| decspecs.o: Lpars.h arith.h decspecs.h def.h level.h nobitfield.h nofloat.h spec_arith.h type.h | decspecs.o: Lpars.h arith.h decspecs.h def.h level.h nobitfield.h nofloat.h spec_arith.h type.h | ||||||
| struct.o: LLlex.h Lpars.h align.h arith.h assert.h botch_free.h debug.h def.h field.h file_info.h idf.h level.h nobitfield.h nofloat.h nopp.h sizes.h spec_arith.h stack.h storage.h struct.h type.h | struct.o: LLlex.h Lpars.h align.h arith.h assert.h botch_free.h debug.h def.h field.h file_info.h idf.h level.h nobitfield.h nofloat.h nopp.h sizes.h spec_arith.h stack.h struct.h type.h | ||||||
| expr.o: LLlex.h Lpars.h alloc.h arith.h botch_free.h declar.h decspecs.h def.h expr.h file_info.h idf.h label.h level.h nobitfield.h nofloat.h nopp.h sizes.h spec_arith.h storage.h type.h | expr.o: LLlex.h Lpars.h arith.h botch_free.h declar.h decspecs.h def.h expr.h file_info.h idf.h label.h level.h nobitfield.h nofloat.h nopp.h sizes.h spec_arith.h type.h | ||||||
| ch7.o: Lpars.h arith.h assert.h debug.h def.h expr.h idf.h label.h nobitfield.h nofloat.h nopp.h spec_arith.h struct.h type.h | ch7.o: Lpars.h arith.h assert.h debug.h def.h expr.h idf.h label.h nobitfield.h nofloat.h nopp.h spec_arith.h struct.h type.h | ||||||
| ch7bin.o: Lpars.h arith.h botch_free.h expr.h idf.h label.h nobitfield.h nofloat.h nopp.h spec_arith.h storage.h struct.h type.h | ch7bin.o: Lpars.h arith.h botch_free.h expr.h idf.h label.h nobitfield.h nofloat.h nopp.h spec_arith.h struct.h type.h | ||||||
| cstoper.o: Lpars.h arith.h assert.h debug.h expr.h idf.h label.h nobitfield.h nofloat.h nopp.h sizes.h spec_arith.h target_sizes.h type.h | cstoper.o: Lpars.h arith.h assert.h debug.h expr.h idf.h label.h nobitfield.h nofloat.h nopp.h sizes.h spec_arith.h target_sizes.h type.h | ||||||
| arith.o: Lpars.h alloc.h arith.h botch_free.h expr.h field.h idf.h label.h mes.h nobitfield.h nofloat.h nopp.h spec_arith.h storage.h type.h | arith.o: Lpars.h arith.h botch_free.h expr.h field.h idf.h label.h mes.h nobitfield.h nofloat.h nopp.h spec_arith.h type.h | ||||||
| alloc.o: alloc.h assert.h debug.h myalloc.h | code.o: LLlex.h Lpars.h arith.h assert.h atw.h botch_free.h code.h dataflow.h debug.h declar.h decspecs.h def.h expr.h file_info.h idf.h label.h level.h mes.h nobitfield.h nofloat.h nopp.h sizes.h spec_arith.h specials.h stack.h stmt.h type.h use_tmp.h | ||||||
| code.o: LLlex.h Lpars.h alloc.h arith.h assert.h atw.h botch_free.h code.h dataflow.h debug.h declar.h decspecs.h def.h expr.h file_info.h idf.h label.h level.h mes.h nobitfield.h nofloat.h nopp.h sizes.h spec_arith.h specials.h stack.h stmt.h storage.h type.h use_tmp.h |  | ||||||
| dumpidf.o: Lpars.h arith.h debug.h def.h expr.h field.h idf.h label.h nobitfield.h nofloat.h nopp.h spec_arith.h stack.h static.h struct.h type.h | dumpidf.o: Lpars.h arith.h debug.h def.h expr.h field.h idf.h label.h nobitfield.h nofloat.h nopp.h spec_arith.h stack.h static.h struct.h type.h | ||||||
| error.o: LLlex.h arith.h debug.h errout.h expr.h file_info.h label.h nofloat.h nopp.h spec_arith.h tokenname.h use_tmp.h | error.o: LLlex.h arith.h debug.h errout.h expr.h file_info.h label.h nofloat.h nopp.h spec_arith.h tokenname.h use_tmp.h | ||||||
| field.o: Lpars.h arith.h assert.h code.h debug.h expr.h field.h idf.h label.h nobitfield.h nofloat.h nopp.h sizes.h spec_arith.h type.h | field.o: Lpars.h arith.h assert.h code.h debug.h expr.h field.h idf.h label.h nobitfield.h nofloat.h nopp.h sizes.h spec_arith.h type.h | ||||||
| tokenname.o: LLlex.h Lpars.h arith.h file_info.h idf.h nofloat.h nopp.h spec_arith.h tokenname.h | tokenname.o: LLlex.h Lpars.h arith.h file_info.h idf.h nofloat.h nopp.h spec_arith.h tokenname.h | ||||||
| LLlex.o: LLlex.h Lpars.h alloc.h arith.h assert.h class.h debug.h def.h file_info.h idf.h idfsize.h input.h nofloat.h nopp.h numsize.h sizes.h spec_arith.h strsize.h | LLlex.o: LLlex.h Lpars.h arith.h assert.h class.h debug.h def.h file_info.h idf.h idfsize.h input.h nofloat.h nopp.h numsize.h sizes.h spec_arith.h strsize.h | ||||||
| LLmessage.o: LLlex.h Lpars.h alloc.h arith.h file_info.h idf.h nofloat.h nopp.h spec_arith.h | LLmessage.o: LLlex.h Lpars.h arith.h file_info.h idf.h nofloat.h nopp.h spec_arith.h | ||||||
| input.o: file_info.h input.h inputtype.h nopp.h | input.o: file_info.h input.h inputtype.h nopp.h | ||||||
| domacro.o: LLlex.h Lpars.h alloc.h arith.h assert.h botch_free.h class.h debug.h file_info.h idf.h idfsize.h ifdepth.h input.h interface.h macro.h nofloat.h nopp.h nparams.h parbufsize.h spec_arith.h storage.h textsize.h | domacro.o: LLlex.h Lpars.h arith.h assert.h botch_free.h class.h debug.h file_info.h idf.h idfsize.h ifdepth.h input.h interface.h macro.h nofloat.h nopp.h nparams.h parbufsize.h spec_arith.h textsize.h | ||||||
| replace.o: LLlex.h alloc.h arith.h assert.h class.h debug.h file_info.h idf.h input.h interface.h macro.h nofloat.h nopp.h pathlength.h spec_arith.h static.h strsize.h | replace.o: LLlex.h arith.h assert.h class.h debug.h file_info.h idf.h input.h interface.h macro.h nofloat.h nopp.h pathlength.h spec_arith.h static.h strsize.h | ||||||
| init.o: alloc.h class.h idf.h interface.h macro.h nopp.h | init.o: class.h idf.h interface.h macro.h nopp.h | ||||||
| options.o: align.h arith.h class.h idf.h idfsize.h macro.h maxincl.h nobitfield.h nofloat.h nopp.h sizes.h spec_arith.h storage.h use_tmp.h | options.o: align.h arith.h botch_free.h class.h idf.h idfsize.h macro.h maxincl.h nobitfield.h nofloat.h nopp.h sizes.h spec_arith.h use_tmp.h | ||||||
| scan.o: class.h idf.h input.h interface.h lapbuf.h macro.h nopp.h nparams.h | scan.o: class.h idf.h input.h interface.h lapbuf.h macro.h nopp.h nparams.h | ||||||
| skip.o: LLlex.h arith.h class.h file_info.h input.h interface.h nofloat.h nopp.h spec_arith.h | skip.o: LLlex.h arith.h class.h file_info.h input.h interface.h nofloat.h nopp.h spec_arith.h | ||||||
| stack.o: Lpars.h alloc.h arith.h botch_free.h debug.h def.h idf.h level.h mes.h nobitfield.h nofloat.h nopp.h spec_arith.h stack.h storage.h struct.h type.h use_tmp.h | stack.o: Lpars.h arith.h botch_free.h debug.h def.h idf.h level.h mes.h nobitfield.h nofloat.h nopp.h spec_arith.h stack.h struct.h type.h use_tmp.h | ||||||
| type.o: Lpars.h align.h alloc.h arith.h def.h idf.h nobitfield.h nofloat.h nopp.h sizes.h spec_arith.h storage.h type.h | type.o: Lpars.h align.h arith.h botch_free.h def.h idf.h nobitfield.h nofloat.h nopp.h sizes.h spec_arith.h type.h | ||||||
| ch7mon.o: Lpars.h arith.h botch_free.h def.h expr.h idf.h label.h nobitfield.h nofloat.h nopp.h spec_arith.h storage.h type.h | ch7mon.o: Lpars.h arith.h botch_free.h def.h expr.h idf.h label.h nobitfield.h nofloat.h nopp.h spec_arith.h type.h | ||||||
| label.o: Lpars.h arith.h def.h idf.h label.h level.h nobitfield.h nofloat.h nopp.h spec_arith.h type.h | label.o: Lpars.h arith.h def.h idf.h label.h level.h nobitfield.h nofloat.h nopp.h spec_arith.h type.h | ||||||
| eval.o: Lpars.h align.h arith.h assert.h atw.h code.h dataflow.h debug.h def.h expr.h idf.h label.h level.h mes.h nobitfield.h nofloat.h nopp.h sizes.h spec_arith.h stack.h type.h | eval.o: Lpars.h align.h arith.h assert.h atw.h code.h dataflow.h debug.h def.h expr.h idf.h label.h level.h mes.h nobitfield.h nofloat.h nopp.h sizes.h spec_arith.h stack.h type.h | ||||||
| switch.o: Lpars.h arith.h assert.h botch_free.h code.h debug.h density.h expr.h idf.h label.h nobitfield.h nofloat.h nopp.h spec_arith.h storage.h switch.h type.h | switch.o: Lpars.h arith.h assert.h botch_free.h code.h debug.h density.h expr.h idf.h label.h nobitfield.h nofloat.h nopp.h spec_arith.h switch.h type.h | ||||||
| storage.o: alloc.h assert.h botch_free.h debug.h storage.h |  | ||||||
| ival.o: Lpars.h align.h arith.h assert.h class.h debug.h def.h expr.h field.h idf.h label.h level.h nobitfield.h nofloat.h nopp.h sizes.h spec_arith.h struct.h type.h | ival.o: Lpars.h align.h arith.h assert.h class.h debug.h def.h expr.h field.h idf.h label.h level.h nobitfield.h nofloat.h nopp.h sizes.h spec_arith.h struct.h type.h | ||||||
| conversion.o: Lpars.h arith.h nobitfield.h nofloat.h sizes.h spec_arith.h type.h | conversion.o: Lpars.h arith.h nobitfield.h nofloat.h sizes.h spec_arith.h type.h | ||||||
| blocks.o: arith.h atw.h label.h nofloat.h sizes.h spec_arith.h stack.h | blocks.o: arith.h atw.h label.h nofloat.h sizes.h spec_arith.h stack.h | ||||||
| dataflow.o: dataflow.h | dataflow.o: dataflow.h | ||||||
| tokenfile.o: Lpars.h | tokenfile.o: Lpars.h | ||||||
| declar.o: LLlex.h Lpars.h arith.h debug.h declar.h decspecs.h def.h expr.h field.h file_info.h idf.h label.h nobitfield.h nofloat.h nopp.h sizes.h spec_arith.h storage.h struct.h type.h | declar.o: LLlex.h Lpars.h arith.h debug.h declar.h decspecs.h def.h expr.h field.h file_info.h idf.h label.h nobitfield.h nofloat.h nopp.h sizes.h spec_arith.h struct.h type.h | ||||||
| statement.o: LLlex.h Lpars.h arith.h botch_free.h code.h debug.h def.h expr.h file_info.h idf.h label.h nobitfield.h nofloat.h nopp.h spec_arith.h stack.h storage.h type.h | statement.o: LLlex.h Lpars.h arith.h botch_free.h code.h debug.h def.h expr.h file_info.h idf.h label.h nobitfield.h nofloat.h nopp.h spec_arith.h stack.h type.h | ||||||
| expression.o: LLlex.h Lpars.h arith.h expr.h file_info.h idf.h label.h nobitfield.h nofloat.h nopp.h spec_arith.h type.h | expression.o: LLlex.h Lpars.h arith.h expr.h file_info.h idf.h label.h nobitfield.h nofloat.h nopp.h spec_arith.h type.h | ||||||
| program.o: LLlex.h Lpars.h alloc.h arith.h code.h declar.h decspecs.h def.h expr.h file_info.h idf.h label.h nobitfield.h nofloat.h nopp.h spec_arith.h type.h | program.o: LLlex.h Lpars.h arith.h code.h declar.h decspecs.h def.h expr.h file_info.h idf.h label.h nobitfield.h nofloat.h nopp.h spec_arith.h type.h | ||||||
| Lpars.o: Lpars.h | Lpars.o: Lpars.h | ||||||
| char.o: class.h | char.o: class.h | ||||||
| symbol2str.o: Lpars.h | symbol2str.o: Lpars.h | ||||||
|  |  | ||||||
|  | @ -1,9 +1,3 @@ | ||||||
| !File: myalloc.h |  | ||||||
| #define	OWNALLOC	1	/* use own superfast allocation		*/ |  | ||||||
| #define	ALLOCSIZ	4096	/* allocate pieces of 4K	*/ |  | ||||||
| #define	ALIGNSIZE	8	/* needed for alloc.c	*/ |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| !File: pathlength.h | !File: pathlength.h | ||||||
| #define PATHLENGTH	1024	/* max. length of path to file		*/ | #define PATHLENGTH	1024	/* max. length of path to file		*/ | ||||||
| 
 | 
 | ||||||
|  | @ -35,7 +29,7 @@ | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| !File: maxincl.h | !File: maxincl.h | ||||||
| #define	MAXINCL	8	/* maximum number of #include directories	*/ | #define	MAXINCL	12	/* maximum number of #include directories	*/ | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| !File: density.h | !File: density.h | ||||||
|  |  | ||||||
|  | @ -7,17 +7,16 @@ | ||||||
| 	semantics of C is a mess. | 	semantics of C is a mess. | ||||||
| */ | */ | ||||||
| 
 | 
 | ||||||
| #include	"nofloat.h" |  | ||||||
| #include	"botch_free.h" | #include	"botch_free.h" | ||||||
|  | #include	<alloc.h> | ||||||
|  | #include	"nofloat.h" | ||||||
| #include	"nobitfield.h" | #include	"nobitfield.h" | ||||||
| #include	"alloc.h" |  | ||||||
| #include	"idf.h" | #include	"idf.h" | ||||||
| #include	"arith.h" | #include	"arith.h" | ||||||
| #include	"type.h" | #include	"type.h" | ||||||
| #include	"label.h" | #include	"label.h" | ||||||
| #include	"expr.h" | #include	"expr.h" | ||||||
| #include	"Lpars.h" | #include	"Lpars.h" | ||||||
| #include	"storage.h" |  | ||||||
| #include	"field.h" | #include	"field.h" | ||||||
| #include	"mes.h" | #include	"mes.h" | ||||||
| 
 | 
 | ||||||
|  | @ -202,7 +201,6 @@ arith2arith(tp, oper, expr) | ||||||
| 	*/ | 	*/ | ||||||
| 	register struct expr *new = new_expr(); | 	register struct expr *new = new_expr(); | ||||||
| 	 | 	 | ||||||
| 	clear((char *)new, sizeof(struct expr)); |  | ||||||
| 	new->ex_file = expr->ex_file; | 	new->ex_file = expr->ex_file; | ||||||
| 	new->ex_line = expr->ex_line; | 	new->ex_line = expr->ex_line; | ||||||
| 	new->ex_type = tp; | 	new->ex_type = tp; | ||||||
|  |  | ||||||
|  | @ -1,8 +1,9 @@ | ||||||
| /* $Header$ */ | /* $Header$ */ | ||||||
| /* SEMANTIC ANALYSIS (CHAPTER 7RM)  --  BINARY OPERATORS */ | /* SEMANTIC ANALYSIS (CHAPTER 7RM)  --  BINARY OPERATORS */ | ||||||
| 
 | 
 | ||||||
| #include	"nofloat.h" |  | ||||||
| #include	"botch_free.h" | #include	"botch_free.h" | ||||||
|  | #include	<alloc.h> | ||||||
|  | #include	"nofloat.h" | ||||||
| #include	"idf.h" | #include	"idf.h" | ||||||
| #include	"arith.h" | #include	"arith.h" | ||||||
| #include	"type.h" | #include	"type.h" | ||||||
|  | @ -10,7 +11,6 @@ | ||||||
| #include	"label.h" | #include	"label.h" | ||||||
| #include	"expr.h" | #include	"expr.h" | ||||||
| #include	"Lpars.h" | #include	"Lpars.h" | ||||||
| #include	"storage.h" |  | ||||||
| 
 | 
 | ||||||
| extern char options[]; | extern char options[]; | ||||||
| extern char *symbol2str(); | extern char *symbol2str(); | ||||||
|  |  | ||||||
|  | @ -1,15 +1,15 @@ | ||||||
| /* $Header$ */ | /* $Header$ */ | ||||||
| /* SEMANTIC ANALYSIS (CHAPTER 7RM) -- MONADIC OPERATORS */ | /* SEMANTIC ANALYSIS (CHAPTER 7RM) -- MONADIC OPERATORS */ | ||||||
| 
 | 
 | ||||||
|  | #include	"botch_free.h" | ||||||
|  | #include	<alloc.h> | ||||||
| #include	"nofloat.h" | #include	"nofloat.h" | ||||||
| #include	"nobitfield.h" | #include	"nobitfield.h" | ||||||
| #include	"botch_free.h" |  | ||||||
| #include	"Lpars.h" | #include	"Lpars.h" | ||||||
| #include	"arith.h" | #include	"arith.h" | ||||||
| #include	"type.h" | #include	"type.h" | ||||||
| #include	"label.h" | #include	"label.h" | ||||||
| #include	"expr.h" | #include	"expr.h" | ||||||
| #include	"storage.h" |  | ||||||
| #include	"idf.h" | #include	"idf.h" | ||||||
| #include	"def.h" | #include	"def.h" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,18 +1,18 @@ | ||||||
| /* $Header$ */ | /* $Header$ */ | ||||||
| /*	C O D E - G E N E R A T I N G   R O U T I N E S		*/ | /*	C O D E - G E N E R A T I N G   R O U T I N E S		*/ | ||||||
| 
 | 
 | ||||||
| #include	"nofloat.h" |  | ||||||
| #include	<em.h> | #include	<em.h> | ||||||
|  | #include	"botch_free.h" | ||||||
|  | #include	<alloc.h> | ||||||
|  | #include	"nofloat.h" | ||||||
| #include	"dataflow.h" | #include	"dataflow.h" | ||||||
| #include	"use_tmp.h" | #include	"use_tmp.h" | ||||||
| #include	"botch_free.h" |  | ||||||
| #include	"arith.h" | #include	"arith.h" | ||||||
| #include	"type.h" | #include	"type.h" | ||||||
| #include	"idf.h" | #include	"idf.h" | ||||||
| #include	"label.h" | #include	"label.h" | ||||||
| #include	"code.h" | #include	"code.h" | ||||||
| #include	"stmt.h" | #include	"stmt.h" | ||||||
| #include	"alloc.h" |  | ||||||
| #include	"def.h" | #include	"def.h" | ||||||
| #include	"expr.h" | #include	"expr.h" | ||||||
| #include	"sizes.h" | #include	"sizes.h" | ||||||
|  | @ -24,7 +24,6 @@ | ||||||
| #include	"mes.h" | #include	"mes.h" | ||||||
| #include	"LLlex.h" | #include	"LLlex.h" | ||||||
| #include	"specials.h" | #include	"specials.h" | ||||||
| #include	"storage.h" |  | ||||||
| #include	"atw.h" | #include	"atw.h" | ||||||
| #include	"assert.h" | #include	"assert.h" | ||||||
| 
 | 
 | ||||||
|  | @ -47,9 +46,10 @@ init_code(dst_file) | ||||||
| 	C_init(word_size, pointer_size); /* initialise EM module */ | 	C_init(word_size, pointer_size); /* initialise EM module */ | ||||||
| 	if (C_open(dst_file) == 0) | 	if (C_open(dst_file) == 0) | ||||||
| 		fatal("cannot write to %s\n", dst_file); | 		fatal("cannot write to %s\n", dst_file); | ||||||
| #ifndef	USE_TMP | #ifdef USE_TMP | ||||||
| 	famous_first_words(); | 	if (options['N']) | ||||||
| #endif	USE_TMP | #endif	USE_TMP | ||||||
|  | 	famous_first_words(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| famous_first_words() | famous_first_words() | ||||||
|  | @ -171,7 +171,9 @@ begin_proc(name, def)	/* to be called when entering a procedure	*/ | ||||||
| 	arith size; | 	arith size; | ||||||
| 	register struct type *tp = def->df_type; | 	register struct type *tp = def->df_type; | ||||||
| 
 | 
 | ||||||
| #ifndef	USE_TMP | #ifdef USE_TMP | ||||||
|  | 	if (options['N']) code_scope(name,def); | ||||||
|  | #else USE_TMP | ||||||
| 	code_scope(name, def); | 	code_scope(name, def); | ||||||
| #endif	USE_TMP | #endif	USE_TMP | ||||||
| #ifdef	DATAFLOW | #ifdef	DATAFLOW | ||||||
|  | @ -326,9 +328,10 @@ code_declaration(idf, expr, lvl, sc) | ||||||
| 		) | 		) | ||||||
| 			def->df_alloc = ALLOC_SEEN; | 			def->df_alloc = ALLOC_SEEN; | ||||||
| 		if (expr) {	/* code only if initialized */ | 		if (expr) {	/* code only if initialized */ | ||||||
| #ifndef	USE_TMP | #ifdef USE_TMP | ||||||
|  | 			if (options['N']) | ||||||
|  | #endif USE_TMP | ||||||
| 			code_scope(text, def); | 			code_scope(text, def); | ||||||
| #endif	USE_TMP |  | ||||||
| 			def->df_alloc = ALLOC_DONE; | 			def->df_alloc = ALLOC_DONE; | ||||||
| 			C_df_dnam(text); | 			C_df_dnam(text); | ||||||
| 			do_ival(&(def->df_type), expr); | 			do_ival(&(def->df_type), expr); | ||||||
|  | @ -364,9 +367,10 @@ code_declaration(idf, expr, lvl, sc) | ||||||
| 		case GLOBAL: | 		case GLOBAL: | ||||||
| 		case IMPLICIT: | 		case IMPLICIT: | ||||||
| 			/* we are sure there is no expression */ | 			/* we are sure there is no expression */ | ||||||
| #ifndef	USE_TMP | #ifdef	USE_TMP | ||||||
| 			code_scope(text, def); | 			if (options['N']) | ||||||
| #endif	USE_TMP | #endif	USE_TMP | ||||||
|  | 			code_scope(text, def); | ||||||
| 			break; | 			break; | ||||||
| 		case AUTO: | 		case AUTO: | ||||||
| 		case REGISTER: | 		case REGISTER: | ||||||
|  | @ -433,9 +437,10 @@ bss(idf) | ||||||
| 	*/ | 	*/ | ||||||
| 	arith size = idf->id_def->df_type->tp_size; | 	arith size = idf->id_def->df_type->tp_size; | ||||||
| 	 | 	 | ||||||
| #ifndef	USE_TMP | #ifdef	USE_TMP | ||||||
| 	code_scope(idf->id_text, idf->id_def); | 	if (options['N']) | ||||||
| #endif	USE_TMP | #endif	USE_TMP | ||||||
|  | 	code_scope(idf->id_text, idf->id_def); | ||||||
| 	/*	Since bss() is only called if df_alloc is non-zero, and
 | 	/*	Since bss() is only called if df_alloc is non-zero, and
 | ||||||
| 		since df_alloc is only non-zero if size >= 0, we have: | 		since df_alloc is only non-zero if size >= 0, we have: | ||||||
| 	*/ | 	*/ | ||||||
|  |  | ||||||
|  | @ -8,7 +8,7 @@ struct string_cst	{	/* storing string constants */ | ||||||
| 	label sc_dlb; | 	label sc_dlb; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /* ALLOCDEF "string_cst" */ | /* ALLOCDEF "string_cst" 10 */ | ||||||
| 
 | 
 | ||||||
| #define	LVAL	0 | #define	LVAL	0 | ||||||
| #define	RVAL	1 | #define	RVAL	1 | ||||||
|  |  | ||||||
|  | @ -2,6 +2,7 @@ | ||||||
| /*	DECLARATION SYNTAX PARSER	*/ | /*	DECLARATION SYNTAX PARSER	*/ | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|  | #include	<alloc.h> | ||||||
| #include	"nobitfield.h" | #include	"nobitfield.h" | ||||||
| #include	"debug.h" | #include	"debug.h" | ||||||
| #include	"arith.h" | #include	"arith.h" | ||||||
|  | @ -16,7 +17,6 @@ | ||||||
| #include	"label.h" | #include	"label.h" | ||||||
| #include	"expr.h" | #include	"expr.h" | ||||||
| #include	"sizes.h" | #include	"sizes.h" | ||||||
| #include	"storage.h" |  | ||||||
| 
 | 
 | ||||||
| extern char options[]; | extern char options[]; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -13,7 +13,7 @@ struct declarator	{ | ||||||
| 	struct formal *dc_formal;	/* params for function	*/ | 	struct formal *dc_formal;	/* params for function	*/ | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /* ALLOCDEF "declarator" */ | /* ALLOCDEF "declarator" 50 */ | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| struct formal	{			/* list of formals */ | struct formal	{			/* list of formals */ | ||||||
|  | @ -21,7 +21,7 @@ struct formal	{			/* list of formals */ | ||||||
| 	struct idf *fm_idf; | 	struct idf *fm_idf; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /* ALLOCDEF "formal" */ | /* ALLOCDEF "formal" 5 */ | ||||||
| 
 | 
 | ||||||
| #define	NO_PARAMS ((struct formal *) 0) | #define	NO_PARAMS ((struct formal *) 0) | ||||||
| 
 | 
 | ||||||
|  | @ -31,7 +31,7 @@ struct decl_unary	{ | ||||||
| 	arith du_count;			/* for ARRAYs only	*/ | 	arith du_count;			/* for ARRAYs only	*/ | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /* ALLOCDEF "decl_unary" */ | /* ALLOCDEF "decl_unary" 10 */ | ||||||
| 
 | 
 | ||||||
| extern struct type *declare_type(); | extern struct type *declare_type(); | ||||||
| extern struct declarator null_declarator; | extern struct declarator null_declarator; | ||||||
|  |  | ||||||
|  | @ -2,12 +2,11 @@ | ||||||
| /*	D E C L A R A T O R   M A N I P U L A T I O N		*/ | /*	D E C L A R A T O R   M A N I P U L A T I O N		*/ | ||||||
| 
 | 
 | ||||||
| #include	"botch_free.h" | #include	"botch_free.h" | ||||||
| #include	"alloc.h" | #include	<alloc.h> | ||||||
| #include	"arith.h" | #include	"arith.h" | ||||||
| #include	"type.h" | #include	"type.h" | ||||||
| #include	"Lpars.h" | #include	"Lpars.h" | ||||||
| #include	"declar.h" | #include	"declar.h" | ||||||
| #include	"storage.h" |  | ||||||
| #include	"idf.h" | #include	"idf.h" | ||||||
| #include	"label.h" | #include	"label.h" | ||||||
| #include	"expr.h" | #include	"expr.h" | ||||||
|  | @ -43,7 +42,6 @@ add_decl_unary(dc, fund, count, fm) | ||||||
| 	*/ | 	*/ | ||||||
| 	register struct decl_unary *new = new_decl_unary(); | 	register struct decl_unary *new = new_decl_unary(); | ||||||
| 
 | 
 | ||||||
| 	clear((char *)new, sizeof(struct decl_unary)); |  | ||||||
| 	new->next = dc->dc_decl_unary; | 	new->next = dc->dc_decl_unary; | ||||||
| 	new->du_fund = fund; | 	new->du_fund = fund; | ||||||
| 	new->du_count = count; | 	new->du_count = count; | ||||||
|  |  | ||||||
|  | @ -10,6 +10,6 @@ struct decspecs	{ | ||||||
| 	int ds_unsigned;	/* 0 or 1 */ | 	int ds_unsigned;	/* 0 or 1 */ | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /* ALLOCDEF "decspecs" */ | /* ALLOCDEF "decspecs" 50 */ | ||||||
| 
 | 
 | ||||||
| extern struct decspecs null_decspecs; | extern struct decspecs null_decspecs; | ||||||
|  |  | ||||||
|  | @ -26,4 +26,4 @@ struct def	{		/* for ordinary tags */ | ||||||
| #define REG_DEFAULT	1	/* register candidate, not declared as such */ | #define REG_DEFAULT	1	/* register candidate, not declared as such */ | ||||||
| #define REG_BONUS	10	/* register candidate, declared as such */ | #define REG_BONUS	10	/* register candidate, declared as such */ | ||||||
| 
 | 
 | ||||||
| /* ALLOCDEF "def" */ | /* ALLOCDEF "def" 50 */ | ||||||
|  |  | ||||||
|  | @ -18,10 +18,9 @@ | ||||||
| #include	"textsize.h"	 | #include	"textsize.h"	 | ||||||
| #include	"idfsize.h"	 | #include	"idfsize.h"	 | ||||||
| #include	"assert.h" | #include	"assert.h" | ||||||
| #include	"alloc.h" | #include	<alloc.h> | ||||||
| #include	"class.h" | #include	"class.h" | ||||||
| #include	"macro.h" | #include	"macro.h" | ||||||
| #include	"storage.h" |  | ||||||
| 
 | 
 | ||||||
| IMPORT char *inctable[];	/* list of include directories		*/ | IMPORT char *inctable[];	/* list of include directories		*/ | ||||||
| IMPORT char *getwdir(); | IMPORT char *getwdir(); | ||||||
|  |  | ||||||
|  | @ -3,7 +3,7 @@ | ||||||
| 
 | 
 | ||||||
| #include	"nofloat.h" | #include	"nofloat.h" | ||||||
| #include	"botch_free.h" | #include	"botch_free.h" | ||||||
| #include	"alloc.h" | #include	<alloc.h> | ||||||
| #include	"idf.h" | #include	"idf.h" | ||||||
| #include	"arith.h" | #include	"arith.h" | ||||||
| #include	"def.h" | #include	"def.h" | ||||||
|  | @ -14,7 +14,6 @@ | ||||||
| #include	"Lpars.h" | #include	"Lpars.h" | ||||||
| #include	"decspecs.h" | #include	"decspecs.h" | ||||||
| #include	"declar.h" | #include	"declar.h" | ||||||
| #include	"storage.h" |  | ||||||
| #include	"sizes.h" | #include	"sizes.h" | ||||||
| #include	"level.h" | #include	"level.h" | ||||||
| 
 | 
 | ||||||
|  | @ -122,7 +121,6 @@ dot2expr(expp) | ||||||
| 		pointer to which is stored in *expp. | 		pointer to which is stored in *expp. | ||||||
| 	*/ | 	*/ | ||||||
| 	*expp = new_expr(); | 	*expp = new_expr(); | ||||||
| 	clear((char *)*expp, sizeof(struct expr)); |  | ||||||
| 	(*expp)->ex_file = dot.tk_file; | 	(*expp)->ex_file = dot.tk_file; | ||||||
| 	(*expp)->ex_line = dot.tk_line; | 	(*expp)->ex_line = dot.tk_line; | ||||||
| 	switch (DOT)	{ | 	switch (DOT)	{ | ||||||
|  | @ -248,7 +246,6 @@ intexpr(ivalue, fund) | ||||||
| 	*/ | 	*/ | ||||||
| 	register struct expr *expr = new_expr(); | 	register struct expr *expr = new_expr(); | ||||||
| 	 | 	 | ||||||
| 	clear((char *)expr, sizeof(struct expr)); |  | ||||||
| 	expr->ex_file = dot.tk_file; | 	expr->ex_file = dot.tk_file; | ||||||
| 	expr->ex_line = dot.tk_line; | 	expr->ex_line = dot.tk_line; | ||||||
| 	fill_int_expr(expr, ivalue, fund); | 	fill_int_expr(expr, ivalue, fund); | ||||||
|  | @ -308,7 +305,6 @@ new_oper(tp, e1, oper, e2) | ||||||
| 	register struct expr *expr = new_expr(); | 	register struct expr *expr = new_expr(); | ||||||
| 	register struct oper *op; | 	register struct oper *op; | ||||||
| 
 | 
 | ||||||
| 	clear((char *)expr, sizeof(struct expr)); |  | ||||||
| 	if (e2)	{ | 	if (e2)	{ | ||||||
| 		register struct expr *e = e2; | 		register struct expr *e = e2; | ||||||
| 		 | 		 | ||||||
|  |  | ||||||
|  | @ -101,6 +101,6 @@ struct expr	{ | ||||||
| 
 | 
 | ||||||
| extern struct expr *intexpr(), *new_oper(); | extern struct expr *intexpr(), *new_oper(); | ||||||
| 
 | 
 | ||||||
| /* ALLOCDEF "expr" */ | /* ALLOCDEF "expr" 50 */ | ||||||
| 
 | 
 | ||||||
| #define	ISCOMMA(e) ((e)->ex_class == Oper && (e)->OP_OPER == INITCOMMA) | #define	ISCOMMA(e) ((e)->ex_class == Oper && (e)->OP_OPER == INITCOMMA) | ||||||
|  |  | ||||||
|  | @ -9,4 +9,4 @@ struct field	{	/* for field specifiers	*/ | ||||||
| 	struct sdef *fd_sdef;	/* upward pointer	*/ | 	struct sdef *fd_sdef;	/* upward pointer	*/ | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /* ALLOCDEF "field" */ | /* ALLOCDEF "field" 50 */ | ||||||
|  |  | ||||||
|  | @ -6,7 +6,7 @@ | ||||||
| #include	"idfsize.h" | #include	"idfsize.h" | ||||||
| #include	"botch_free.h" | #include	"botch_free.h" | ||||||
| #include	"nopp.h" | #include	"nopp.h" | ||||||
| #include	"alloc.h" | #include	<alloc.h> | ||||||
| #include	"arith.h" | #include	"arith.h" | ||||||
| #include	"align.h" | #include	"align.h" | ||||||
| #include	"LLlex.h" | #include	"LLlex.h" | ||||||
|  | @ -23,7 +23,6 @@ | ||||||
| #include	"Lpars.h" | #include	"Lpars.h" | ||||||
| #include	"assert.h" | #include	"assert.h" | ||||||
| #include	"specials.h"	/* registration of special identifiers	*/ | #include	"specials.h"	/* registration of special identifiers	*/ | ||||||
| #include	"storage.h" |  | ||||||
| 
 | 
 | ||||||
| int idfsize = IDFSIZE; | int idfsize = IDFSIZE; | ||||||
| extern char options[]; | extern char options[]; | ||||||
|  | @ -73,7 +72,6 @@ idf_hashed(tg, size, hc) | ||||||
| 	} | 	} | ||||||
| 	/* a new struct idf must be inserted at the hook */ | 	/* a new struct idf must be inserted at the hook */ | ||||||
| 	notch = new_idf(); | 	notch = new_idf(); | ||||||
| 	clear((char *)notch, sizeof(struct idf)); |  | ||||||
| 	notch->next = *hook; | 	notch->next = *hook; | ||||||
| 	*hook = notch;		/* hooked in */ | 	*hook = notch;		/* hooked in */ | ||||||
| 	notch->id_text = Salloc(tg, size); | 	notch->id_text = Salloc(tg, size); | ||||||
|  | @ -303,7 +301,6 @@ declare_idf(ds, dc, lvl) | ||||||
| 	else	{ /* fill in the def block */ | 	else	{ /* fill in the def block */ | ||||||
| 		register struct def *newdef = new_def(); | 		register struct def *newdef = new_def(); | ||||||
| 
 | 
 | ||||||
| 		clear((char *)newdef, sizeof(struct def)); |  | ||||||
| 		newdef->next = def; | 		newdef->next = def; | ||||||
| 		newdef->df_level = lvl; | 		newdef->df_level = lvl; | ||||||
| 		newdef->df_type = type; | 		newdef->df_type = type; | ||||||
|  |  | ||||||
|  | @ -37,7 +37,7 @@ struct idf	{ | ||||||
| 	int id_special;		/* special action needed at occurrence	*/ | 	int id_special;		/* special action needed at occurrence	*/ | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /* ALLOCDEF "idf" */ | /* ALLOCDEF "idf" 50 */ | ||||||
| 
 | 
 | ||||||
| extern struct idf *str2idf(), *idf_hashed(); | extern struct idf *str2idf(), *idf_hashed(); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -5,7 +5,7 @@ | ||||||
| 
 | 
 | ||||||
| #ifndef NOPP | #ifndef NOPP | ||||||
| #include	<system.h> | #include	<system.h> | ||||||
| #include	"alloc.h" | #include	<alloc.h> | ||||||
| #include	"class.h" | #include	"class.h" | ||||||
| #include	"macro.h" | #include	"macro.h" | ||||||
| #include	"idf.h" | #include	"idf.h" | ||||||
|  |  | ||||||
|  | @ -27,7 +27,7 @@ struct macro	{ | ||||||
| 	char	mc_flag;	/* marking this macro		*/ | 	char	mc_flag;	/* marking this macro		*/ | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /* ALLOCDEF "macro" */ | /* ALLOCDEF "macro" 20 */ | ||||||
| 
 | 
 | ||||||
| /* `token' numbers of keywords of command-line processor | /* `token' numbers of keywords of command-line processor | ||||||
| */ | */ | ||||||
|  |  | ||||||
|  | @ -6,7 +6,6 @@ | ||||||
| #include	"nopp.h" | #include	"nopp.h" | ||||||
| #include	"target_sizes.h" | #include	"target_sizes.h" | ||||||
| #include	"debug.h" | #include	"debug.h" | ||||||
| #include	"myalloc.h" |  | ||||||
| #include	"use_tmp.h" | #include	"use_tmp.h" | ||||||
| #include	"maxincl.h" | #include	"maxincl.h" | ||||||
| #include	"inputtype.h" | #include	"inputtype.h" | ||||||
|  | @ -19,7 +18,7 @@ | ||||||
| #include	"tokenname.h" | #include	"tokenname.h" | ||||||
| #include	"Lpars.h" | #include	"Lpars.h" | ||||||
| #include	"LLlex.h" | #include	"LLlex.h" | ||||||
| #include	"alloc.h" | #include	<alloc.h> | ||||||
| #include	"specials.h" | #include	"specials.h" | ||||||
| 
 | 
 | ||||||
| extern struct tokenname tkidf[], tkother[]; | extern struct tokenname tkidf[], tkother[]; | ||||||
|  | @ -79,10 +78,6 @@ main(argc, argv) | ||||||
| 	/* parse and interpret the command line options	*/ | 	/* parse and interpret the command line options	*/ | ||||||
| 	prog_name = argv[0]; | 	prog_name = argv[0]; | ||||||
| 
 | 
 | ||||||
| #ifdef	OWNALLOC |  | ||||||
| 	init_mem(); |  | ||||||
| #endif	OWNALLOC |  | ||||||
| 
 |  | ||||||
| 	init_hmask(); | 	init_hmask(); | ||||||
| 
 | 
 | ||||||
| #ifndef NOPP | #ifndef NOPP | ||||||
|  | @ -106,12 +101,6 @@ main(argc, argv) | ||||||
| 	} | 	} | ||||||
| 	compile(argc - 1, &argv[1]); | 	compile(argc - 1, &argv[1]); | ||||||
| 
 | 
 | ||||||
| #ifdef	OWNALLOC |  | ||||||
| #ifdef	DEBUG |  | ||||||
| 	mem_stat(); |  | ||||||
| #endif	DEBUG |  | ||||||
| #endif	OWNALLOC |  | ||||||
| 
 |  | ||||||
| #ifdef	DEBUG | #ifdef	DEBUG | ||||||
| 	hash_stat(); | 	hash_stat(); | ||||||
| #endif	DEBUG | #endif	DEBUG | ||||||
|  | @ -164,9 +153,11 @@ compile(argc, argv) | ||||||
| 	source = strcmp(argv[0], "-") ? argv[0] : 0; | 	source = strcmp(argv[0], "-") ? argv[0] : 0; | ||||||
| 
 | 
 | ||||||
| #ifdef USE_TMP | #ifdef USE_TMP | ||||||
| 	strcpy(tmpf, tmpfdir); | 	if (! options['N']) { | ||||||
| 	strcat(tmpf, tmpfname); | 		strcpy(tmpf, tmpfdir); | ||||||
| 	tmpfile = mktemp(tmpf); | 		strcat(tmpf, tmpfname); | ||||||
|  | 		tmpfile = mktemp(tmpf); | ||||||
|  | 	} | ||||||
| #endif USE_TMP | #endif USE_TMP | ||||||
| 
 | 
 | ||||||
| 	if (destination && strcmp(destination, "-") == 0) | 	if (destination && strcmp(destination, "-") == 0) | ||||||
|  | @ -189,7 +180,11 @@ compile(argc, argv) | ||||||
| #endif NOPP | #endif NOPP | ||||||
| 
 | 
 | ||||||
| #ifdef	USE_TMP | #ifdef	USE_TMP | ||||||
| 		init_code(tmpfile); | 		if (!options['N']) { | ||||||
|  | 			init_code(tmpfile); | ||||||
|  | 		} | ||||||
|  | 		else | ||||||
|  | 			init_code(destination); | ||||||
| #else	USE_TMP | #else	USE_TMP | ||||||
| 		init_code(destination); | 		init_code(destination); | ||||||
| #endif	USE_TMP | #endif	USE_TMP | ||||||
|  | @ -199,9 +194,11 @@ compile(argc, argv) | ||||||
| 		end_code(); | 		end_code(); | ||||||
| 
 | 
 | ||||||
| #ifdef USE_TMP | #ifdef USE_TMP | ||||||
| 		prepend_scopes(destination); | 		if (! options['N']) { | ||||||
| 		AppendFile(tmpfile, destination); | 			prepend_scopes(destination); | ||||||
| 		sys_remove(tmpfile); | 			AppendFile(tmpfile, destination); | ||||||
|  | 			sys_remove(tmpfile); | ||||||
|  | 		} | ||||||
| #endif USE_TMP | #endif USE_TMP | ||||||
| 
 | 
 | ||||||
| #ifdef	DEBUG | #ifdef	DEBUG | ||||||
|  |  | ||||||
|  | @ -1,8 +1,8 @@ | ||||||
| sed ' | sed -e ' | ||||||
| s:^.*ALLOCDEF.*"\(.*\)".*$:\ | s:^.*[ 	]ALLOCDEF[ 	].*"\(.*\)"[ 	]*\([0-9][0-9]*\).*$:\ | ||||||
| /* allocation definitions of struct \1 */\ | /* allocation definitions of struct \1 */\ | ||||||
|  | extern char *st_alloc();\ | ||||||
| extern struct \1 *h_\1;\ | extern struct \1 *h_\1;\ | ||||||
| #define	new_\1() ((struct \1 *) \\\ | #define	new_\1() ((struct \1 *) st_alloc((char **)\&h_\1, sizeof(struct \1), \2))\ | ||||||
| 		st_alloc((char **)\&h_\1, sizeof(struct \1)))\ | #define	free_\1(p) st_free(p, \&h_\1, sizeof(struct \1))\ | ||||||
| #define	free_\1(p) st_free(p, h_\1, sizeof(struct \1))\ |  | ||||||
| :' | :' | ||||||
|  |  | ||||||
|  | @ -1,6 +1,8 @@ | ||||||
| /* $Header$ */ | /* $Header$ */ | ||||||
| /*	U S E R   O P T I O N - H A N D L I N G		*/ | /*	U S E R   O P T I O N - H A N D L I N G		*/ | ||||||
| 
 | 
 | ||||||
|  | #include	"botch_free.h" | ||||||
|  | #include	<alloc.h> | ||||||
| #include	"nofloat.h" | #include	"nofloat.h" | ||||||
| #include	"nopp.h" | #include	"nopp.h" | ||||||
| #include	"idfsize.h" | #include	"idfsize.h" | ||||||
|  | @ -12,7 +14,6 @@ | ||||||
| #include	"arith.h" | #include	"arith.h" | ||||||
| #include	"sizes.h" | #include	"sizes.h" | ||||||
| #include	"align.h" | #include	"align.h" | ||||||
| #include	"storage.h" |  | ||||||
| #include	"use_tmp.h" | #include	"use_tmp.h" | ||||||
| 
 | 
 | ||||||
| #ifndef NOPP | #ifndef NOPP | ||||||
|  | @ -126,6 +127,14 @@ do_option(text) | ||||||
| 			fatal("maximum identifier length is %d", IDFSIZE); | 			fatal("maximum identifier length is %d", IDFSIZE); | ||||||
| 		break; | 		break; | ||||||
| 
 | 
 | ||||||
|  | 	case 'N' : | ||||||
|  | #ifdef USE_TMP | ||||||
|  | 		options['N'] = 1; | ||||||
|  | #else USE_TMP | ||||||
|  | 		warning("-N option ignored"); | ||||||
|  | #endif USE_TMP | ||||||
|  | 		break; | ||||||
|  | 
 | ||||||
| 	case 'P' :	/* run preprocessor stand-alone, without #'s	*/ | 	case 'P' :	/* run preprocessor stand-alone, without #'s	*/ | ||||||
| #ifndef NOPP | #ifndef NOPP | ||||||
| 		options['E'] = 1; | 		options['E'] = 1; | ||||||
|  |  | ||||||
|  | @ -42,7 +42,6 @@ | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
| #include	"nopp.h" | #include	"nopp.h" | ||||||
| #include	"alloc.h" |  | ||||||
| #include	"arith.h" | #include	"arith.h" | ||||||
| #include	"LLlex.h" | #include	"LLlex.h" | ||||||
| #include	"idf.h" | #include	"idf.h" | ||||||
|  |  | ||||||
|  | @ -7,7 +7,7 @@ | ||||||
| #include	"debug.h"	/* UF */ | #include	"debug.h"	/* UF */ | ||||||
| #include	"pathlength.h"	/* UF */ | #include	"pathlength.h"	/* UF */ | ||||||
| #include	"strsize.h"	/* UF */ | #include	"strsize.h"	/* UF */ | ||||||
| #include	"alloc.h" | #include	<alloc.h> | ||||||
| #include	"idf.h" | #include	"idf.h" | ||||||
| #include	"input.h" | #include	"input.h" | ||||||
| #include	"macro.h" | #include	"macro.h" | ||||||
|  |  | ||||||
|  | @ -6,9 +6,8 @@ | ||||||
| #include	<em.h> | #include	<em.h> | ||||||
| #include	<em_reg.h> | #include	<em_reg.h> | ||||||
| #include	"debug.h" | #include	"debug.h" | ||||||
| #include	"use_tmp.h" |  | ||||||
| #include	"botch_free.h" | #include	"botch_free.h" | ||||||
| #include	"alloc.h" | #include	<alloc.h> | ||||||
| #include	"Lpars.h" | #include	"Lpars.h" | ||||||
| #include	"arith.h" | #include	"arith.h" | ||||||
| #include	"stack.h" | #include	"stack.h" | ||||||
|  | @ -16,7 +15,6 @@ | ||||||
| #include	"idf.h" | #include	"idf.h" | ||||||
| #include	"def.h" | #include	"def.h" | ||||||
| #include	"struct.h" | #include	"struct.h" | ||||||
| #include	"storage.h" |  | ||||||
| #include	"level.h" | #include	"level.h" | ||||||
| #include	"mes.h" | #include	"mes.h" | ||||||
| 
 | 
 | ||||||
|  | @ -43,7 +41,6 @@ stack_level()	{ | ||||||
| 	*/ | 	*/ | ||||||
| 	register struct stack_level *stl = new_stack_level(); | 	register struct stack_level *stl = new_stack_level(); | ||||||
| 	 | 	 | ||||||
| 	clear((char *)stl, sizeof(struct stack_level)); |  | ||||||
| 	local_level->sl_next = stl; | 	local_level->sl_next = stl; | ||||||
| 	stl->sl_previous = local_level; | 	stl->sl_previous = local_level; | ||||||
| 	stl->sl_level = ++level; | 	stl->sl_level = ++level; | ||||||
|  | @ -60,7 +57,6 @@ stack_idf(idf, stl) | ||||||
| 	*/ | 	*/ | ||||||
| 	register struct stack_entry *se = new_stack_entry(); | 	register struct stack_entry *se = new_stack_entry(); | ||||||
| 
 | 
 | ||||||
| 	clear((char *)se, sizeof(struct stack_entry)); |  | ||||||
| 	/* link it into the stack level */ | 	/* link it into the stack level */ | ||||||
| 	se->next = stl->sl_entry; | 	se->next = stl->sl_entry; | ||||||
| 	se->se_idf = idf; | 	se->se_idf = idf; | ||||||
|  |  | ||||||
|  | @ -16,14 +16,14 @@ struct stack_level	{ | ||||||
| 	int sl_level; | 	int sl_level; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /* ALLOCDEF "stack_level" */ | /* ALLOCDEF "stack_level" 5 */ | ||||||
| 
 | 
 | ||||||
| struct stack_entry	{ | struct stack_entry	{ | ||||||
| 	struct stack_entry *next; | 	struct stack_entry *next; | ||||||
| 	struct idf *se_idf; | 	struct idf *se_idf; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /* ALLOCDEF "stack_entry" */ | /* ALLOCDEF "stack_entry" 5 */ | ||||||
| 
 | 
 | ||||||
| extern struct stack_level *local_level; | extern struct stack_level *local_level; | ||||||
| extern struct stack_level *stack_level_of(); | extern struct stack_level *stack_level_of(); | ||||||
|  |  | ||||||
|  | @ -14,7 +14,6 @@ | ||||||
| #include	"label.h" | #include	"label.h" | ||||||
| #include	"expr.h" | #include	"expr.h" | ||||||
| #include	"code.h" | #include	"code.h" | ||||||
| #include	"storage.h" |  | ||||||
| #include	"stack.h" | #include	"stack.h" | ||||||
| #include	"def.h" | #include	"def.h" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -7,4 +7,4 @@ struct stmt_block	{ | ||||||
| 	label st_continue; | 	label st_continue; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /* ALLOCDEF "stmt_block" */ | /* ALLOCDEF "stmt_block" 5 */ | ||||||
|  |  | ||||||
|  | @ -4,6 +4,7 @@ | ||||||
| #include	"nobitfield.h" | #include	"nobitfield.h" | ||||||
| #include	"debug.h" | #include	"debug.h" | ||||||
| #include	"botch_free.h" | #include	"botch_free.h" | ||||||
|  | #include	<alloc.h> | ||||||
| #include	"arith.h" | #include	"arith.h" | ||||||
| #include	"stack.h" | #include	"stack.h" | ||||||
| #include	"idf.h" | #include	"idf.h" | ||||||
|  | @ -15,7 +16,6 @@ | ||||||
| #include	"Lpars.h" | #include	"Lpars.h" | ||||||
| #include	"align.h" | #include	"align.h" | ||||||
| #include	"level.h" | #include	"level.h" | ||||||
| #include	"storage.h" |  | ||||||
| #include	"assert.h" | #include	"assert.h" | ||||||
| #include	"sizes.h" | #include	"sizes.h" | ||||||
| 
 | 
 | ||||||
|  | @ -308,7 +308,6 @@ idf2sdef(idf, tp) | ||||||
| 	if (!is_anon_idf(idf)) | 	if (!is_anon_idf(idf)) | ||||||
| 		error("unknown selector %s", idf->id_text); | 		error("unknown selector %s", idf->id_text); | ||||||
| 	*sdefp = sdef = new_sdef(); | 	*sdefp = sdef = new_sdef(); | ||||||
| 	clear((char *)sdef, sizeof(struct sdef)); |  | ||||||
| 	sdef->sd_idf = idf; | 	sdef->sd_idf = idf; | ||||||
| 	sdef->sd_stype = sdef->sd_type = error_type; | 	sdef->sd_stype = sdef->sd_type = error_type; | ||||||
| 	return sdef; | 	return sdef; | ||||||
|  |  | ||||||
|  | @ -11,7 +11,7 @@ struct sdef	{		/* for selectors */ | ||||||
| 	arith sd_offset; | 	arith sd_offset; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /* ALLOCDEF "sdef" */ | /* ALLOCDEF "sdef" 50 */ | ||||||
| 
 | 
 | ||||||
| struct tag	{		/* for struct-, union- and enum tags */ | struct tag	{		/* for struct-, union- and enum tags */ | ||||||
| 	struct tag *next; | 	struct tag *next; | ||||||
|  | @ -21,6 +21,6 @@ struct tag	{		/* for struct-, union- and enum tags */ | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| /* ALLOCDEF "tag" */ | /* ALLOCDEF "tag" 50 */ | ||||||
| 
 | 
 | ||||||
| struct sdef *idf2sdef(); | struct sdef *idf2sdef(); | ||||||
|  |  | ||||||
|  | @ -5,6 +5,7 @@ | ||||||
| #include	<em.h> | #include	<em.h> | ||||||
| #include	"debug.h" | #include	"debug.h" | ||||||
| #include	"botch_free.h" | #include	"botch_free.h" | ||||||
|  | #include	<alloc.h> | ||||||
| #include	"density.h" | #include	"density.h" | ||||||
| #include	"Lpars.h" | #include	"Lpars.h" | ||||||
| #include	"idf.h" | #include	"idf.h" | ||||||
|  | @ -12,7 +13,6 @@ | ||||||
| #include	"arith.h" | #include	"arith.h" | ||||||
| #include	"switch.h" | #include	"switch.h" | ||||||
| #include	"code.h" | #include	"code.h" | ||||||
| #include	"storage.h" |  | ||||||
| #include	"assert.h" | #include	"assert.h" | ||||||
| #include	"expr.h" | #include	"expr.h" | ||||||
| #include	"type.h" | #include	"type.h" | ||||||
|  |  | ||||||
|  | @ -13,7 +13,7 @@ struct switch_hdr	{ | ||||||
| 	struct case_entry *sh_entries; | 	struct case_entry *sh_entries; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /* ALLOCDEF "switch_hdr" */ | /* ALLOCDEF "switch_hdr" 2 */ | ||||||
| 
 | 
 | ||||||
| struct case_entry	{ | struct case_entry	{ | ||||||
| 	struct case_entry *next; | 	struct case_entry *next; | ||||||
|  | @ -21,4 +21,4 @@ struct case_entry	{ | ||||||
| 	arith ce_value; | 	arith ce_value; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /* ALLOCDEF "case_entry" */ | /* ALLOCDEF "case_entry" 40 */ | ||||||
|  |  | ||||||
|  | @ -3,7 +3,8 @@ | ||||||
| 
 | 
 | ||||||
| #include	"nofloat.h" | #include	"nofloat.h" | ||||||
| #include	"nobitfield.h" | #include	"nobitfield.h" | ||||||
| #include	"alloc.h" | #include	"botch_free.h" | ||||||
|  | #include	<alloc.h> | ||||||
| #include	"Lpars.h" | #include	"Lpars.h" | ||||||
| #include	"arith.h" | #include	"arith.h" | ||||||
| #include	"type.h" | #include	"type.h" | ||||||
|  | @ -11,7 +12,6 @@ | ||||||
| #include	"def.h" | #include	"def.h" | ||||||
| #include	"sizes.h" | #include	"sizes.h" | ||||||
| #include	"align.h" | #include	"align.h" | ||||||
| #include	"storage.h" |  | ||||||
| 
 | 
 | ||||||
| struct type *function_of(), *array_of(); | struct type *function_of(), *array_of(); | ||||||
| #ifndef NOBITFIELD | #ifndef NOBITFIELD | ||||||
|  | @ -44,7 +44,6 @@ create_type(fund) | ||||||
| 	*/ | 	*/ | ||||||
| 	register struct type *ntp = new_type(); | 	register struct type *ntp = new_type(); | ||||||
| 
 | 
 | ||||||
| 	clear((char *)ntp, sizeof(struct type)); |  | ||||||
| 	ntp->tp_fund = fund; | 	ntp->tp_fund = fund; | ||||||
| 	ntp->tp_size = (arith)-1; | 	ntp->tp_size = (arith)-1; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -44,4 +44,4 @@ extern struct type *pa_type;	/* type.c	*/ | ||||||
| 
 | 
 | ||||||
| extern arith size_of_type(), align(); | extern arith size_of_type(), align(); | ||||||
| 
 | 
 | ||||||
| /* ALLOCDEF "type" */ | /* ALLOCDEF "type" 50 */ | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue