added stackheight message handling
This commit is contained in:
		
							parent
							
								
									adfec1c0ef
								
							
						
					
					
						commit
						4ef2c70ed3
					
				
					 28 changed files with 321 additions and 60 deletions
				
			
		|  | @ -16,11 +16,11 @@ CDIR=$(EMHOME)/mach/proto/ncg | ||||||
| CGG=$(EMHOME)/lib/ncgg | CGG=$(EMHOME)/lib/ncgg | ||||||
| CPP=$(EMHOME)/lib/cpp | CPP=$(EMHOME)/lib/cpp | ||||||
| CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
 | CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
 | ||||||
|        $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \
 |        $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \
 | ||||||
|        $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \
 |        $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \
 | ||||||
|        $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c |        $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c | ||||||
| OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\
 | OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \
 | ||||||
|        move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o | 	main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o | ||||||
| 
 | 
 | ||||||
| all:	tables.c | all:	tables.c | ||||||
| 	make "EMHOME="$(EMHOME) cg | 	make "EMHOME="$(EMHOME) cg | ||||||
|  | @ -43,6 +43,8 @@ gencode.o: $(CDIR)/gencode.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/gencode.c | 	$(CC) -c $(CFLAGS) $(CDIR)/gencode.c | ||||||
| glosym.o: $(CDIR)/glosym.c | glosym.o: $(CDIR)/glosym.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/glosym.c | 	$(CC) -c $(CFLAGS) $(CDIR)/glosym.c | ||||||
|  | label.o: $(CDIR)/label.c | ||||||
|  | 	$(CC) -c $(CFLAGS) $(CDIR)/label.c | ||||||
| main.o: $(CDIR)/main.c | main.o: $(CDIR)/main.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/main.c | 	$(CC) -c $(CFLAGS) $(CDIR)/main.c | ||||||
| move.o: $(CDIR)/move.c | move.o: $(CDIR)/move.c | ||||||
|  | @ -97,6 +99,7 @@ compute.o:	$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | ||||||
| compute.o:	$(CDIR)/data.h | compute.o:	$(CDIR)/data.h | ||||||
| compute.o:	$(CDIR)/extern.h | compute.o:	$(CDIR)/extern.h | ||||||
| compute.o:	$(CDIR)/glosym.h | compute.o:	$(CDIR)/glosym.h | ||||||
|  | compute.o:	$(CDIR)/label.h | ||||||
| compute.o:	$(CDIR)/param.h | compute.o:	$(CDIR)/param.h | ||||||
| compute.o:	$(CDIR)/result.h | compute.o:	$(CDIR)/result.h | ||||||
| compute.o:	tables.h | compute.o:	tables.h | ||||||
|  | @ -130,6 +133,10 @@ glosym.o:	$(CDIR)/glosym.h | ||||||
| glosym.o:	$(CDIR)/param.h | glosym.o:	$(CDIR)/param.h | ||||||
| glosym.o:	tables.h | glosym.o:	tables.h | ||||||
| glosym.o:	$(CDIR)/types.h | glosym.o:	$(CDIR)/types.h | ||||||
|  | label.o:	$(CDIR)/label.h | ||||||
|  | label.o:	$(CDIR)/param.h | ||||||
|  | label.o:	tables.h | ||||||
|  | label.o:	$(CDIR)/types.h | ||||||
| main.o:		$(CDIR)/param.h | main.o:		$(CDIR)/param.h | ||||||
| main.o:		tables.h | main.o:		tables.h | ||||||
| move.o:		$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | move.o:		$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | ||||||
|  |  | ||||||
|  | @ -16,11 +16,11 @@ CDIR=$(EMHOME)/mach/proto/ncg | ||||||
| CGG=$(EMHOME)/lib/ncgg | CGG=$(EMHOME)/lib/ncgg | ||||||
| CPP=$(EMHOME)/lib/cpp | CPP=$(EMHOME)/lib/cpp | ||||||
| CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
 | CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
 | ||||||
|        $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \
 |        $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \
 | ||||||
|        $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \
 |        $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \
 | ||||||
|        $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c |        $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c | ||||||
| OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\
 | OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \
 | ||||||
|        move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o | 	main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o | ||||||
| 
 | 
 | ||||||
| all:	tables.c | all:	tables.c | ||||||
| 	make "EMHOME="$(EMHOME) cg | 	make "EMHOME="$(EMHOME) cg | ||||||
|  | @ -43,6 +43,8 @@ gencode.o: $(CDIR)/gencode.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/gencode.c | 	$(CC) -c $(CFLAGS) $(CDIR)/gencode.c | ||||||
| glosym.o: $(CDIR)/glosym.c | glosym.o: $(CDIR)/glosym.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/glosym.c | 	$(CC) -c $(CFLAGS) $(CDIR)/glosym.c | ||||||
|  | label.o: $(CDIR)/label.c | ||||||
|  | 	$(CC) -c $(CFLAGS) $(CDIR)/label.c | ||||||
| main.o: $(CDIR)/main.c | main.o: $(CDIR)/main.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/main.c | 	$(CC) -c $(CFLAGS) $(CDIR)/main.c | ||||||
| move.o: $(CDIR)/move.c | move.o: $(CDIR)/move.c | ||||||
|  | @ -97,6 +99,7 @@ compute.o:	$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | ||||||
| compute.o:	$(CDIR)/data.h | compute.o:	$(CDIR)/data.h | ||||||
| compute.o:	$(CDIR)/extern.h | compute.o:	$(CDIR)/extern.h | ||||||
| compute.o:	$(CDIR)/glosym.h | compute.o:	$(CDIR)/glosym.h | ||||||
|  | compute.o:	$(CDIR)/label.h | ||||||
| compute.o:	$(CDIR)/param.h | compute.o:	$(CDIR)/param.h | ||||||
| compute.o:	$(CDIR)/result.h | compute.o:	$(CDIR)/result.h | ||||||
| compute.o:	tables.h | compute.o:	tables.h | ||||||
|  | @ -130,6 +133,10 @@ glosym.o:	$(CDIR)/glosym.h | ||||||
| glosym.o:	$(CDIR)/param.h | glosym.o:	$(CDIR)/param.h | ||||||
| glosym.o:	tables.h | glosym.o:	tables.h | ||||||
| glosym.o:	$(CDIR)/types.h | glosym.o:	$(CDIR)/types.h | ||||||
|  | label.o:	$(CDIR)/label.h | ||||||
|  | label.o:	$(CDIR)/param.h | ||||||
|  | label.o:	tables.h | ||||||
|  | label.o:	$(CDIR)/types.h | ||||||
| main.o:		$(CDIR)/param.h | main.o:		$(CDIR)/param.h | ||||||
| main.o:		tables.h | main.o:		tables.h | ||||||
| move.o:		$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | move.o:		$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | ||||||
|  |  | ||||||
|  | @ -16,11 +16,11 @@ CDIR=$(EMHOME)/mach/proto/ncg | ||||||
| CGG=$(EMHOME)/lib/ncgg | CGG=$(EMHOME)/lib/ncgg | ||||||
| CPP=$(EMHOME)/lib/cpp | CPP=$(EMHOME)/lib/cpp | ||||||
| CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
 | CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
 | ||||||
|        $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \
 |        $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \
 | ||||||
|        $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \
 |        $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \
 | ||||||
|        $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c |        $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c | ||||||
| OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\
 | OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \
 | ||||||
|        move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o | 	main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o | ||||||
| 
 | 
 | ||||||
| all:	tables.c | all:	tables.c | ||||||
| 	make "EMHOME="$(EMHOME) cg | 	make "EMHOME="$(EMHOME) cg | ||||||
|  | @ -43,6 +43,8 @@ gencode.o: $(CDIR)/gencode.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/gencode.c | 	$(CC) -c $(CFLAGS) $(CDIR)/gencode.c | ||||||
| glosym.o: $(CDIR)/glosym.c | glosym.o: $(CDIR)/glosym.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/glosym.c | 	$(CC) -c $(CFLAGS) $(CDIR)/glosym.c | ||||||
|  | label.o: $(CDIR)/label.c | ||||||
|  | 	$(CC) -c $(CFLAGS) $(CDIR)/label.c | ||||||
| main.o: $(CDIR)/main.c | main.o: $(CDIR)/main.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/main.c | 	$(CC) -c $(CFLAGS) $(CDIR)/main.c | ||||||
| move.o: $(CDIR)/move.c | move.o: $(CDIR)/move.c | ||||||
|  | @ -97,6 +99,7 @@ compute.o:	$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | ||||||
| compute.o:	$(CDIR)/data.h | compute.o:	$(CDIR)/data.h | ||||||
| compute.o:	$(CDIR)/extern.h | compute.o:	$(CDIR)/extern.h | ||||||
| compute.o:	$(CDIR)/glosym.h | compute.o:	$(CDIR)/glosym.h | ||||||
|  | compute.o:	$(CDIR)/label.h | ||||||
| compute.o:	$(CDIR)/param.h | compute.o:	$(CDIR)/param.h | ||||||
| compute.o:	$(CDIR)/result.h | compute.o:	$(CDIR)/result.h | ||||||
| compute.o:	tables.h | compute.o:	tables.h | ||||||
|  | @ -130,6 +133,10 @@ glosym.o:	$(CDIR)/glosym.h | ||||||
| glosym.o:	$(CDIR)/param.h | glosym.o:	$(CDIR)/param.h | ||||||
| glosym.o:	tables.h | glosym.o:	tables.h | ||||||
| glosym.o:	$(CDIR)/types.h | glosym.o:	$(CDIR)/types.h | ||||||
|  | label.o:	$(CDIR)/label.h | ||||||
|  | label.o:	$(CDIR)/param.h | ||||||
|  | label.o:	tables.h | ||||||
|  | label.o:	$(CDIR)/types.h | ||||||
| main.o:		$(CDIR)/param.h | main.o:		$(CDIR)/param.h | ||||||
| main.o:		tables.h | main.o:		tables.h | ||||||
| move.o:		$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | move.o:		$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | ||||||
|  |  | ||||||
|  | @ -16,11 +16,11 @@ CDIR=$(EMHOME)/mach/proto/ncg | ||||||
| CGG=$(EMHOME)/lib/ncgg | CGG=$(EMHOME)/lib/ncgg | ||||||
| CPP=$(EMHOME)/lib/cpp | CPP=$(EMHOME)/lib/cpp | ||||||
| CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
 | CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
 | ||||||
|        $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \
 |        $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \
 | ||||||
|        $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \
 |        $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \
 | ||||||
|        $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c |        $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c | ||||||
| OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\
 | OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \
 | ||||||
|        move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o | 	main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o | ||||||
| 
 | 
 | ||||||
| all:	tables.c | all:	tables.c | ||||||
| 	make "EMHOME="$(EMHOME) cg | 	make "EMHOME="$(EMHOME) cg | ||||||
|  | @ -43,6 +43,8 @@ gencode.o: $(CDIR)/gencode.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/gencode.c | 	$(CC) -c $(CFLAGS) $(CDIR)/gencode.c | ||||||
| glosym.o: $(CDIR)/glosym.c | glosym.o: $(CDIR)/glosym.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/glosym.c | 	$(CC) -c $(CFLAGS) $(CDIR)/glosym.c | ||||||
|  | label.o: $(CDIR)/label.c | ||||||
|  | 	$(CC) -c $(CFLAGS) $(CDIR)/label.c | ||||||
| main.o: $(CDIR)/main.c | main.o: $(CDIR)/main.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/main.c | 	$(CC) -c $(CFLAGS) $(CDIR)/main.c | ||||||
| move.o: $(CDIR)/move.c | move.o: $(CDIR)/move.c | ||||||
|  | @ -97,6 +99,7 @@ compute.o:	$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | ||||||
| compute.o:	$(CDIR)/data.h | compute.o:	$(CDIR)/data.h | ||||||
| compute.o:	$(CDIR)/extern.h | compute.o:	$(CDIR)/extern.h | ||||||
| compute.o:	$(CDIR)/glosym.h | compute.o:	$(CDIR)/glosym.h | ||||||
|  | compute.o:	$(CDIR)/label.h | ||||||
| compute.o:	$(CDIR)/param.h | compute.o:	$(CDIR)/param.h | ||||||
| compute.o:	$(CDIR)/result.h | compute.o:	$(CDIR)/result.h | ||||||
| compute.o:	tables.h | compute.o:	tables.h | ||||||
|  | @ -130,6 +133,10 @@ glosym.o:	$(CDIR)/glosym.h | ||||||
| glosym.o:	$(CDIR)/param.h | glosym.o:	$(CDIR)/param.h | ||||||
| glosym.o:	tables.h | glosym.o:	tables.h | ||||||
| glosym.o:	$(CDIR)/types.h | glosym.o:	$(CDIR)/types.h | ||||||
|  | label.o:	$(CDIR)/label.h | ||||||
|  | label.o:	$(CDIR)/param.h | ||||||
|  | label.o:	tables.h | ||||||
|  | label.o:	$(CDIR)/types.h | ||||||
| main.o:		$(CDIR)/param.h | main.o:		$(CDIR)/param.h | ||||||
| main.o:		tables.h | main.o:		tables.h | ||||||
| move.o:		$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | move.o:		$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | ||||||
|  |  | ||||||
|  | @ -16,11 +16,11 @@ CDIR=$(EMHOME)/mach/proto/ncg | ||||||
| CGG=$(EMHOME)/lib/ncgg | CGG=$(EMHOME)/lib/ncgg | ||||||
| CPP=$(EMHOME)/lib/cpp | CPP=$(EMHOME)/lib/cpp | ||||||
| CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
 | CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
 | ||||||
|        $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \
 |        $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \
 | ||||||
|        $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \
 |        $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \
 | ||||||
|        $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c |        $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c | ||||||
| OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\
 | OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \
 | ||||||
|        move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o | 	main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o | ||||||
| 
 | 
 | ||||||
| all:	tables.c | all:	tables.c | ||||||
| 	make "EMHOME="$(EMHOME) cg | 	make "EMHOME="$(EMHOME) cg | ||||||
|  | @ -43,6 +43,8 @@ gencode.o: $(CDIR)/gencode.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/gencode.c | 	$(CC) -c $(CFLAGS) $(CDIR)/gencode.c | ||||||
| glosym.o: $(CDIR)/glosym.c | glosym.o: $(CDIR)/glosym.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/glosym.c | 	$(CC) -c $(CFLAGS) $(CDIR)/glosym.c | ||||||
|  | label.o: $(CDIR)/label.c | ||||||
|  | 	$(CC) -c $(CFLAGS) $(CDIR)/label.c | ||||||
| main.o: $(CDIR)/main.c | main.o: $(CDIR)/main.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/main.c | 	$(CC) -c $(CFLAGS) $(CDIR)/main.c | ||||||
| move.o: $(CDIR)/move.c | move.o: $(CDIR)/move.c | ||||||
|  | @ -97,6 +99,7 @@ compute.o:	$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | ||||||
| compute.o:	$(CDIR)/data.h | compute.o:	$(CDIR)/data.h | ||||||
| compute.o:	$(CDIR)/extern.h | compute.o:	$(CDIR)/extern.h | ||||||
| compute.o:	$(CDIR)/glosym.h | compute.o:	$(CDIR)/glosym.h | ||||||
|  | compute.o:	$(CDIR)/label.h | ||||||
| compute.o:	$(CDIR)/param.h | compute.o:	$(CDIR)/param.h | ||||||
| compute.o:	$(CDIR)/result.h | compute.o:	$(CDIR)/result.h | ||||||
| compute.o:	tables.h | compute.o:	tables.h | ||||||
|  | @ -130,6 +133,10 @@ glosym.o:	$(CDIR)/glosym.h | ||||||
| glosym.o:	$(CDIR)/param.h | glosym.o:	$(CDIR)/param.h | ||||||
| glosym.o:	tables.h | glosym.o:	tables.h | ||||||
| glosym.o:	$(CDIR)/types.h | glosym.o:	$(CDIR)/types.h | ||||||
|  | label.o:	$(CDIR)/label.h | ||||||
|  | label.o:	$(CDIR)/param.h | ||||||
|  | label.o:	tables.h | ||||||
|  | label.o:	$(CDIR)/types.h | ||||||
| main.o:		$(CDIR)/param.h | main.o:		$(CDIR)/param.h | ||||||
| main.o:		tables.h | main.o:		tables.h | ||||||
| move.o:		$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | move.o:		$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | ||||||
|  |  | ||||||
|  | @ -16,11 +16,11 @@ CDIR=$(EMHOME)/mach/proto/ncg | ||||||
| CGG=$(EMHOME)/lib/ncgg | CGG=$(EMHOME)/lib/ncgg | ||||||
| CPP=$(EMHOME)/lib/cpp | CPP=$(EMHOME)/lib/cpp | ||||||
| CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
 | CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
 | ||||||
|        $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \
 |        $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \
 | ||||||
|        $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \
 |        $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \
 | ||||||
|        $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c |        $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c | ||||||
| OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\
 | OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \
 | ||||||
|        move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o | 	main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o | ||||||
| 
 | 
 | ||||||
| all:	tables.c | all:	tables.c | ||||||
| 	make "EMHOME="$(EMHOME) cg | 	make "EMHOME="$(EMHOME) cg | ||||||
|  | @ -43,6 +43,8 @@ gencode.o: $(CDIR)/gencode.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/gencode.c | 	$(CC) -c $(CFLAGS) $(CDIR)/gencode.c | ||||||
| glosym.o: $(CDIR)/glosym.c | glosym.o: $(CDIR)/glosym.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/glosym.c | 	$(CC) -c $(CFLAGS) $(CDIR)/glosym.c | ||||||
|  | label.o: $(CDIR)/label.c | ||||||
|  | 	$(CC) -c $(CFLAGS) $(CDIR)/label.c | ||||||
| main.o: $(CDIR)/main.c | main.o: $(CDIR)/main.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/main.c | 	$(CC) -c $(CFLAGS) $(CDIR)/main.c | ||||||
| move.o: $(CDIR)/move.c | move.o: $(CDIR)/move.c | ||||||
|  | @ -97,6 +99,7 @@ compute.o:	$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | ||||||
| compute.o:	$(CDIR)/data.h | compute.o:	$(CDIR)/data.h | ||||||
| compute.o:	$(CDIR)/extern.h | compute.o:	$(CDIR)/extern.h | ||||||
| compute.o:	$(CDIR)/glosym.h | compute.o:	$(CDIR)/glosym.h | ||||||
|  | compute.o:	$(CDIR)/label.h | ||||||
| compute.o:	$(CDIR)/param.h | compute.o:	$(CDIR)/param.h | ||||||
| compute.o:	$(CDIR)/result.h | compute.o:	$(CDIR)/result.h | ||||||
| compute.o:	tables.h | compute.o:	tables.h | ||||||
|  | @ -130,6 +133,10 @@ glosym.o:	$(CDIR)/glosym.h | ||||||
| glosym.o:	$(CDIR)/param.h | glosym.o:	$(CDIR)/param.h | ||||||
| glosym.o:	tables.h | glosym.o:	tables.h | ||||||
| glosym.o:	$(CDIR)/types.h | glosym.o:	$(CDIR)/types.h | ||||||
|  | label.o:	$(CDIR)/label.h | ||||||
|  | label.o:	$(CDIR)/param.h | ||||||
|  | label.o:	tables.h | ||||||
|  | label.o:	$(CDIR)/types.h | ||||||
| main.o:		$(CDIR)/param.h | main.o:		$(CDIR)/param.h | ||||||
| main.o:		tables.h | main.o:		tables.h | ||||||
| move.o:		$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | move.o:		$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | ||||||
|  |  | ||||||
|  | @ -16,11 +16,11 @@ CDIR=$(EMHOME)/mach/proto/ncg | ||||||
| CGG=$(EMHOME)/lib/ncgg | CGG=$(EMHOME)/lib/ncgg | ||||||
| CPP=$(EMHOME)/lib/cpp | CPP=$(EMHOME)/lib/cpp | ||||||
| CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
 | CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
 | ||||||
|        $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \
 |        $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \
 | ||||||
|        $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \
 |        $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \
 | ||||||
|        $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c |        $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c | ||||||
| OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\
 | OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \
 | ||||||
|        move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o | 	main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o | ||||||
| 
 | 
 | ||||||
| all:	tables.c | all:	tables.c | ||||||
| 	make "EMHOME="$(EMHOME) cg | 	make "EMHOME="$(EMHOME) cg | ||||||
|  | @ -43,6 +43,8 @@ gencode.o: $(CDIR)/gencode.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/gencode.c | 	$(CC) -c $(CFLAGS) $(CDIR)/gencode.c | ||||||
| glosym.o: $(CDIR)/glosym.c | glosym.o: $(CDIR)/glosym.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/glosym.c | 	$(CC) -c $(CFLAGS) $(CDIR)/glosym.c | ||||||
|  | label.o: $(CDIR)/label.c | ||||||
|  | 	$(CC) -c $(CFLAGS) $(CDIR)/label.c | ||||||
| main.o: $(CDIR)/main.c | main.o: $(CDIR)/main.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/main.c | 	$(CC) -c $(CFLAGS) $(CDIR)/main.c | ||||||
| move.o: $(CDIR)/move.c | move.o: $(CDIR)/move.c | ||||||
|  | @ -97,6 +99,7 @@ compute.o:	$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | ||||||
| compute.o:	$(CDIR)/data.h | compute.o:	$(CDIR)/data.h | ||||||
| compute.o:	$(CDIR)/extern.h | compute.o:	$(CDIR)/extern.h | ||||||
| compute.o:	$(CDIR)/glosym.h | compute.o:	$(CDIR)/glosym.h | ||||||
|  | compute.o:	$(CDIR)/label.h | ||||||
| compute.o:	$(CDIR)/param.h | compute.o:	$(CDIR)/param.h | ||||||
| compute.o:	$(CDIR)/result.h | compute.o:	$(CDIR)/result.h | ||||||
| compute.o:	tables.h | compute.o:	tables.h | ||||||
|  | @ -130,6 +133,10 @@ glosym.o:	$(CDIR)/glosym.h | ||||||
| glosym.o:	$(CDIR)/param.h | glosym.o:	$(CDIR)/param.h | ||||||
| glosym.o:	tables.h | glosym.o:	tables.h | ||||||
| glosym.o:	$(CDIR)/types.h | glosym.o:	$(CDIR)/types.h | ||||||
|  | label.o:	$(CDIR)/label.h | ||||||
|  | label.o:	$(CDIR)/param.h | ||||||
|  | label.o:	tables.h | ||||||
|  | label.o:	$(CDIR)/types.h | ||||||
| main.o:		$(CDIR)/param.h | main.o:		$(CDIR)/param.h | ||||||
| main.o:		tables.h | main.o:		tables.h | ||||||
| move.o:		$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | move.o:		$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | ||||||
|  |  | ||||||
|  | @ -16,11 +16,11 @@ CDIR=$(EMHOME)/mach/proto/ncg | ||||||
| CGG=$(EMHOME)/lib/ncgg | CGG=$(EMHOME)/lib/ncgg | ||||||
| CPP=$(EMHOME)/lib/cpp | CPP=$(EMHOME)/lib/cpp | ||||||
| CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
 | CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
 | ||||||
|        $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \
 |        $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \
 | ||||||
|        $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \
 |        $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \
 | ||||||
|        $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c |        $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c | ||||||
| OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\
 | OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \
 | ||||||
|        move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o | 	main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o | ||||||
| 
 | 
 | ||||||
| all:	tables.c | all:	tables.c | ||||||
| 	make "EMHOME="$(EMHOME) cg | 	make "EMHOME="$(EMHOME) cg | ||||||
|  | @ -43,6 +43,8 @@ gencode.o: $(CDIR)/gencode.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/gencode.c | 	$(CC) -c $(CFLAGS) $(CDIR)/gencode.c | ||||||
| glosym.o: $(CDIR)/glosym.c | glosym.o: $(CDIR)/glosym.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/glosym.c | 	$(CC) -c $(CFLAGS) $(CDIR)/glosym.c | ||||||
|  | label.o: $(CDIR)/label.c | ||||||
|  | 	$(CC) -c $(CFLAGS) $(CDIR)/label.c | ||||||
| main.o: $(CDIR)/main.c | main.o: $(CDIR)/main.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/main.c | 	$(CC) -c $(CFLAGS) $(CDIR)/main.c | ||||||
| move.o: $(CDIR)/move.c | move.o: $(CDIR)/move.c | ||||||
|  | @ -97,6 +99,7 @@ compute.o:	$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | ||||||
| compute.o:	$(CDIR)/data.h | compute.o:	$(CDIR)/data.h | ||||||
| compute.o:	$(CDIR)/extern.h | compute.o:	$(CDIR)/extern.h | ||||||
| compute.o:	$(CDIR)/glosym.h | compute.o:	$(CDIR)/glosym.h | ||||||
|  | compute.o:	$(CDIR)/label.h | ||||||
| compute.o:	$(CDIR)/param.h | compute.o:	$(CDIR)/param.h | ||||||
| compute.o:	$(CDIR)/result.h | compute.o:	$(CDIR)/result.h | ||||||
| compute.o:	tables.h | compute.o:	tables.h | ||||||
|  | @ -130,6 +133,10 @@ glosym.o:	$(CDIR)/glosym.h | ||||||
| glosym.o:	$(CDIR)/param.h | glosym.o:	$(CDIR)/param.h | ||||||
| glosym.o:	tables.h | glosym.o:	tables.h | ||||||
| glosym.o:	$(CDIR)/types.h | glosym.o:	$(CDIR)/types.h | ||||||
|  | label.o:	$(CDIR)/label.h | ||||||
|  | label.o:	$(CDIR)/param.h | ||||||
|  | label.o:	tables.h | ||||||
|  | label.o:	$(CDIR)/types.h | ||||||
| main.o:		$(CDIR)/param.h | main.o:		$(CDIR)/param.h | ||||||
| main.o:		tables.h | main.o:		tables.h | ||||||
| move.o:		$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | move.o:		$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | ||||||
|  |  | ||||||
|  | @ -16,11 +16,11 @@ CDIR=$(EMHOME)/mach/proto/ncg | ||||||
| CGG=$(EMHOME)/lib/ncgg | CGG=$(EMHOME)/lib/ncgg | ||||||
| CPP=$(EMHOME)/lib/cpp | CPP=$(EMHOME)/lib/cpp | ||||||
| CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
 | CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
 | ||||||
|        $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \
 |        $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \
 | ||||||
|        $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \
 |        $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \
 | ||||||
|        $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c |        $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c | ||||||
| OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\
 | OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \
 | ||||||
|        move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o | 	main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o | ||||||
| 
 | 
 | ||||||
| all:	tables.c | all:	tables.c | ||||||
| 	make "EMHOME="$(EMHOME) cg | 	make "EMHOME="$(EMHOME) cg | ||||||
|  | @ -43,6 +43,8 @@ gencode.o: $(CDIR)/gencode.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/gencode.c | 	$(CC) -c $(CFLAGS) $(CDIR)/gencode.c | ||||||
| glosym.o: $(CDIR)/glosym.c | glosym.o: $(CDIR)/glosym.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/glosym.c | 	$(CC) -c $(CFLAGS) $(CDIR)/glosym.c | ||||||
|  | label.o: $(CDIR)/label.c | ||||||
|  | 	$(CC) -c $(CFLAGS) $(CDIR)/label.c | ||||||
| main.o: $(CDIR)/main.c | main.o: $(CDIR)/main.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/main.c | 	$(CC) -c $(CFLAGS) $(CDIR)/main.c | ||||||
| move.o: $(CDIR)/move.c | move.o: $(CDIR)/move.c | ||||||
|  | @ -97,6 +99,7 @@ compute.o:	$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | ||||||
| compute.o:	$(CDIR)/data.h | compute.o:	$(CDIR)/data.h | ||||||
| compute.o:	$(CDIR)/extern.h | compute.o:	$(CDIR)/extern.h | ||||||
| compute.o:	$(CDIR)/glosym.h | compute.o:	$(CDIR)/glosym.h | ||||||
|  | compute.o:	$(CDIR)/label.h | ||||||
| compute.o:	$(CDIR)/param.h | compute.o:	$(CDIR)/param.h | ||||||
| compute.o:	$(CDIR)/result.h | compute.o:	$(CDIR)/result.h | ||||||
| compute.o:	tables.h | compute.o:	tables.h | ||||||
|  | @ -130,6 +133,10 @@ glosym.o:	$(CDIR)/glosym.h | ||||||
| glosym.o:	$(CDIR)/param.h | glosym.o:	$(CDIR)/param.h | ||||||
| glosym.o:	tables.h | glosym.o:	tables.h | ||||||
| glosym.o:	$(CDIR)/types.h | glosym.o:	$(CDIR)/types.h | ||||||
|  | label.o:	$(CDIR)/label.h | ||||||
|  | label.o:	$(CDIR)/param.h | ||||||
|  | label.o:	tables.h | ||||||
|  | label.o:	$(CDIR)/types.h | ||||||
| main.o:		$(CDIR)/param.h | main.o:		$(CDIR)/param.h | ||||||
| main.o:		tables.h | main.o:		tables.h | ||||||
| move.o:		$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | move.o:		$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | ||||||
|  |  | ||||||
|  | @ -16,11 +16,11 @@ CDIR=$(EMHOME)/mach/proto/ncg | ||||||
| CGG=$(EMHOME)/lib/ncgg | CGG=$(EMHOME)/lib/ncgg | ||||||
| CPP=$(EMHOME)/lib/cpp | CPP=$(EMHOME)/lib/cpp | ||||||
| CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
 | CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
 | ||||||
|        $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \
 |        $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \
 | ||||||
|        $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \
 |        $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \
 | ||||||
|        $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c |        $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c | ||||||
| OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\
 | OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \
 | ||||||
|        move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o | 	main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o | ||||||
| 
 | 
 | ||||||
| all:	tables.c | all:	tables.c | ||||||
| 	make "EMHOME="$(EMHOME) cg | 	make "EMHOME="$(EMHOME) cg | ||||||
|  | @ -43,6 +43,8 @@ gencode.o: $(CDIR)/gencode.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/gencode.c | 	$(CC) -c $(CFLAGS) $(CDIR)/gencode.c | ||||||
| glosym.o: $(CDIR)/glosym.c | glosym.o: $(CDIR)/glosym.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/glosym.c | 	$(CC) -c $(CFLAGS) $(CDIR)/glosym.c | ||||||
|  | label.o: $(CDIR)/label.c | ||||||
|  | 	$(CC) -c $(CFLAGS) $(CDIR)/label.c | ||||||
| main.o: $(CDIR)/main.c | main.o: $(CDIR)/main.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/main.c | 	$(CC) -c $(CFLAGS) $(CDIR)/main.c | ||||||
| move.o: $(CDIR)/move.c | move.o: $(CDIR)/move.c | ||||||
|  | @ -97,6 +99,7 @@ compute.o:	$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | ||||||
| compute.o:	$(CDIR)/data.h | compute.o:	$(CDIR)/data.h | ||||||
| compute.o:	$(CDIR)/extern.h | compute.o:	$(CDIR)/extern.h | ||||||
| compute.o:	$(CDIR)/glosym.h | compute.o:	$(CDIR)/glosym.h | ||||||
|  | compute.o:	$(CDIR)/label.h | ||||||
| compute.o:	$(CDIR)/param.h | compute.o:	$(CDIR)/param.h | ||||||
| compute.o:	$(CDIR)/result.h | compute.o:	$(CDIR)/result.h | ||||||
| compute.o:	tables.h | compute.o:	tables.h | ||||||
|  | @ -130,6 +133,10 @@ glosym.o:	$(CDIR)/glosym.h | ||||||
| glosym.o:	$(CDIR)/param.h | glosym.o:	$(CDIR)/param.h | ||||||
| glosym.o:	tables.h | glosym.o:	tables.h | ||||||
| glosym.o:	$(CDIR)/types.h | glosym.o:	$(CDIR)/types.h | ||||||
|  | label.o:	$(CDIR)/label.h | ||||||
|  | label.o:	$(CDIR)/param.h | ||||||
|  | label.o:	tables.h | ||||||
|  | label.o:	$(CDIR)/types.h | ||||||
| main.o:		$(CDIR)/param.h | main.o:		$(CDIR)/param.h | ||||||
| main.o:		tables.h | main.o:		tables.h | ||||||
| move.o:		$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | move.o:		$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | ||||||
|  |  | ||||||
|  | @ -16,11 +16,11 @@ CDIR=$(EMHOME)/mach/proto/ncg | ||||||
| CGG=$(EMHOME)/lib/ncgg | CGG=$(EMHOME)/lib/ncgg | ||||||
| CPP=$(EMHOME)/lib/cpp | CPP=$(EMHOME)/lib/cpp | ||||||
| CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
 | CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
 | ||||||
|        $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \
 |        $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \
 | ||||||
|        $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \
 |        $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \
 | ||||||
|        $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c |        $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c | ||||||
| OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\
 | OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \
 | ||||||
|        move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o | 	main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o | ||||||
| 
 | 
 | ||||||
| all:	tables.c | all:	tables.c | ||||||
| 	make "EMHOME="$(EMHOME) cg | 	make "EMHOME="$(EMHOME) cg | ||||||
|  | @ -43,6 +43,8 @@ gencode.o: $(CDIR)/gencode.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/gencode.c | 	$(CC) -c $(CFLAGS) $(CDIR)/gencode.c | ||||||
| glosym.o: $(CDIR)/glosym.c | glosym.o: $(CDIR)/glosym.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/glosym.c | 	$(CC) -c $(CFLAGS) $(CDIR)/glosym.c | ||||||
|  | label.o: $(CDIR)/label.c | ||||||
|  | 	$(CC) -c $(CFLAGS) $(CDIR)/label.c | ||||||
| main.o: $(CDIR)/main.c | main.o: $(CDIR)/main.c | ||||||
| 	$(CC) -c $(CFLAGS) $(CDIR)/main.c | 	$(CC) -c $(CFLAGS) $(CDIR)/main.c | ||||||
| move.o: $(CDIR)/move.c | move.o: $(CDIR)/move.c | ||||||
|  | @ -97,6 +99,7 @@ compute.o:	$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | ||||||
| compute.o:	$(CDIR)/data.h | compute.o:	$(CDIR)/data.h | ||||||
| compute.o:	$(CDIR)/extern.h | compute.o:	$(CDIR)/extern.h | ||||||
| compute.o:	$(CDIR)/glosym.h | compute.o:	$(CDIR)/glosym.h | ||||||
|  | compute.o:	$(CDIR)/label.h | ||||||
| compute.o:	$(CDIR)/param.h | compute.o:	$(CDIR)/param.h | ||||||
| compute.o:	$(CDIR)/result.h | compute.o:	$(CDIR)/result.h | ||||||
| compute.o:	tables.h | compute.o:	tables.h | ||||||
|  | @ -130,6 +133,10 @@ glosym.o:	$(CDIR)/glosym.h | ||||||
| glosym.o:	$(CDIR)/param.h | glosym.o:	$(CDIR)/param.h | ||||||
| glosym.o:	tables.h | glosym.o:	tables.h | ||||||
| glosym.o:	$(CDIR)/types.h | glosym.o:	$(CDIR)/types.h | ||||||
|  | label.o:	$(CDIR)/label.h | ||||||
|  | label.o:	$(CDIR)/param.h | ||||||
|  | label.o:	tables.h | ||||||
|  | label.o:	$(CDIR)/types.h | ||||||
| main.o:		$(CDIR)/param.h | main.o:		$(CDIR)/param.h | ||||||
| main.o:		tables.h | main.o:		tables.h | ||||||
| move.o:		$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | move.o:		$(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h | ||||||
|  |  | ||||||
|  | @ -849,6 +849,19 @@ normalfailed:	if (stackpad!=tokpatlen) { | ||||||
| 	level--; | 	level--; | ||||||
| #endif | #endif | ||||||
| 	return(totalcost); | 	return(totalcost); | ||||||
|  | #ifdef USE_SHC | ||||||
|  |     case DO_LABDEF: { | ||||||
|  | 	int index; | ||||||
|  | 
 | ||||||
|  | 	DEBUG("LABDEF"); | ||||||
|  | 	if (toplevel) { | ||||||
|  | 		getint(index,codep); | ||||||
|  | 		printlabel(index); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	break; | ||||||
|  |     } | ||||||
|  | #endif | ||||||
| 	} | 	} | ||||||
| 	} | 	} | ||||||
|     doreturn: |     doreturn: | ||||||
|  |  | ||||||
|  | @ -11,6 +11,10 @@ static char rcsid[] = "$Header$"; | ||||||
| #include "result.h" | #include "result.h" | ||||||
| #include "glosym.h" | #include "glosym.h" | ||||||
| #include "extern.h" | #include "extern.h" | ||||||
|  | #ifdef	USE_SHC | ||||||
|  | #include <stdio.h> | ||||||
|  | #include "label.h" | ||||||
|  | #endif | ||||||
| 
 | 
 | ||||||
| /*
 | /*
 | ||||||
|  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands. |  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands. | ||||||
|  | @ -72,6 +76,10 @@ char opdesc[] = { | ||||||
| 	LLDEF|RLDEF,		/* EX_XOR */ | 	LLDEF|RLDEF,		/* EX_XOR */ | ||||||
| 	LLDEF|RLDEF,		/* EX_AND */ | 	LLDEF|RLDEF,		/* EX_AND */ | ||||||
| 	0,			/* EX_ISROM */ | 	0,			/* EX_ISROM */ | ||||||
|  | #ifdef USE_SHC | ||||||
|  | 	0,			/* EX_STACKHEIGHT */ | ||||||
|  | 	0,			/* EX_FALLTHROUGH */ | ||||||
|  | #endif | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| string salloc(),strcpy(),strcat(); | string salloc(),strcpy(),strcat(); | ||||||
|  | @ -376,5 +384,27 @@ result_t compute(node) register node_p node; { | ||||||
| 	assert(leaf1.e_typ == EV_INT); | 	assert(leaf1.e_typ == EV_INT); | ||||||
| 		result.e_v.e_con = -leaf1.e_v.e_con; | 		result.e_v.e_con = -leaf1.e_v.e_con; | ||||||
| 		return(result); | 		return(result); | ||||||
|  | #ifdef USE_SHC | ||||||
|  | 	case EX_STACKHEIGHT:			/* Hans, new */ | ||||||
|  | 	    { register label_p lbl; | ||||||
|  | 
 | ||||||
|  | 		lbl = get_label(saveemp[node->ex_lnode].em_u.em_ioper); | ||||||
|  | 		if (lbl != NULL) { | ||||||
|  | 		    result.e_v.e_con = lbl->lb_height; | ||||||
|  | 		} else { | ||||||
|  | 		    result.e_v.e_con = 0; | ||||||
|  | 		} | ||||||
|  | 		return(result); | ||||||
|  | 	    } | ||||||
|  | 	case EX_FALLTHROUGH:			/* Hans, new */ | ||||||
|  | 	    { register label_p lbl; | ||||||
|  | 
 | ||||||
|  | 		lbl = get_label(saveemp[node->ex_lnode].em_u.em_ioper); | ||||||
|  | 		if (lbl != NULL) { | ||||||
|  | 		    result.e_v.e_con = lbl->lb_fallthrough; | ||||||
|  | 		} else result.e_v.e_con = 0; | ||||||
|  | 		return(result); | ||||||
|  | 	    } | ||||||
|  | #endif | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -127,6 +127,13 @@ fillemlines() { | ||||||
| 			error("unknown instruction byte"); | 			error("unknown instruction byte"); | ||||||
| 		case sp_ilb1: | 		case sp_ilb1: | ||||||
| 		case sp_ilb2: | 		case sp_ilb2: | ||||||
|  | #ifdef USE_SHC | ||||||
|  | 			lp->em_instr = op_lab; | ||||||
|  | 			lp->em_optyp = OPSYMBOL; | ||||||
|  | 			lp->em_soper = strarg(t); | ||||||
|  | 			lp->em_u.em_loper = argval; | ||||||
|  | 			return; | ||||||
|  | #endif | ||||||
| 		case sp_fpseu: | 		case sp_fpseu: | ||||||
| 		case sp_dlb1: | 		case sp_dlb1: | ||||||
| 		case sp_dlb2: | 		case sp_dlb2: | ||||||
|  | @ -169,6 +176,11 @@ fillemlines() { | ||||||
| 			continue; | 			continue; | ||||||
| 		case PAR_B: | 		case PAR_B: | ||||||
| 			t = sp_ilb2; | 			t = sp_ilb2; | ||||||
|  | #ifdef USE_SHC | ||||||
|  | 			lp->em_optyp = OPSYMBOL; | ||||||
|  | 			lp->em_u.em_loper = argval; | ||||||
|  | 			lp->em_soper = strarg(t); | ||||||
|  | #endif | ||||||
| 			break; | 			break; | ||||||
| 		case PAR_D: | 		case PAR_D: | ||||||
| 			assert(t == sp_cstx); | 			assert(t == sp_cstx); | ||||||
|  | @ -201,6 +213,7 @@ dopseudo() { | ||||||
| 		error("No table entry for %d",emlines[0].em_instr); | 		error("No table entry for %d",emlines[0].em_instr); | ||||||
| 	nextispseu=0; | 	nextispseu=0; | ||||||
| 	switch(savetab1) { | 	switch(savetab1) { | ||||||
|  | #ifndef USE_SHC | ||||||
| 	case sp_ilb1: | 	case sp_ilb1: | ||||||
| 	case sp_ilb2: | 	case sp_ilb2: | ||||||
| 		swtxt(); | 		swtxt(); | ||||||
|  | @ -215,6 +228,7 @@ dopseudo() { | ||||||
| 		} | 		} | ||||||
| #endif | #endif | ||||||
| 		return; | 		return; | ||||||
|  | #endif | ||||||
| 	case sp_dlb1: | 	case sp_dlb1: | ||||||
| 	case sp_dlb2: | 	case sp_dlb2: | ||||||
| 	case sp_dnam: | 	case sp_dnam: | ||||||
|  | @ -296,6 +310,16 @@ dopseudo() { | ||||||
| 				fatal("bad pointer size"); | 				fatal("bad pointer size"); | ||||||
| 			if ( getarg(any_ptyp)!=sp_cend ) | 			if ( getarg(any_ptyp)!=sp_cend ) | ||||||
| 				fatal("too many parameters"); | 				fatal("too many parameters"); | ||||||
|  | #ifdef USE_SHC | ||||||
|  | 		} else if (argval == ms_sth) { | ||||||
|  | 			int lbl, height, flthr; | ||||||
|  | 			getarg(ptyp(sp_cst2)); lbl = argval; | ||||||
|  | 			getarg(ptyp(sp_cst2)); height = argval; | ||||||
|  | 			getarg(ptyp(sp_cst2)); flthr = argval; | ||||||
|  | 			if ( getarg(any_ptyp)!=sp_cend ) | ||||||
|  | 				fatal("too many parameters"); | ||||||
|  | 			add_label(lbl,height, flthr); | ||||||
|  | #endif | ||||||
| #ifdef REGVARS | #ifdef REGVARS | ||||||
| 		} else if (argval == ms_gto) { | 		} else if (argval == ms_gto) { | ||||||
| 			getarg(ptyp(sp_cend)); | 			getarg(ptyp(sp_cend)); | ||||||
|  | @ -365,6 +389,9 @@ dopseudo() { | ||||||
| 		break; | 		break; | ||||||
| 	case ps_end: | 	case ps_end: | ||||||
| 		getarg(cst_ptyp | ptyp(sp_cend)); | 		getarg(cst_ptyp | ptyp(sp_cend)); | ||||||
|  | #ifdef USE_SHC | ||||||
|  | 		kill_labels(); | ||||||
|  | #endif | ||||||
| 		cleanregs(); | 		cleanregs(); | ||||||
| #ifdef REGVARS | #ifdef REGVARS | ||||||
| 		unlinkregs(); | 		unlinkregs(); | ||||||
|  |  | ||||||
|  | @ -11,6 +11,9 @@ static char rcsid[] = "$Header$"; | ||||||
| #include "data.h" | #include "data.h" | ||||||
| #include "result.h" | #include "result.h" | ||||||
| #include "extern.h" | #include "extern.h" | ||||||
|  | #ifdef USE_SHC | ||||||
|  | #include "mach.h" | ||||||
|  | #endif | ||||||
| 
 | 
 | ||||||
| /*
 | /*
 | ||||||
|  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands. |  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands. | ||||||
|  | @ -139,3 +142,11 @@ prtoken(tp,leadingchar) token_p tp; { | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | #ifdef	USE_SHC | ||||||
|  | printlabel(labnum) | ||||||
|  | int labnum; | ||||||
|  | { | ||||||
|  | 	newilb(dollar[labnum].e_v.e_addr.ea_str); | ||||||
|  | } | ||||||
|  | #endif | ||||||
|  |  | ||||||
							
								
								
									
										48
									
								
								mach/proto/ncg/label.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								mach/proto/ncg/label.c
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,48 @@ | ||||||
|  | #include "tables.h" | ||||||
|  | #ifdef USE_SHC | ||||||
|  | #include <stdio.h> | ||||||
|  | #include "types.h" | ||||||
|  | #include "param.h" | ||||||
|  | #include "label.h" | ||||||
|  | 
 | ||||||
|  | static label_p label_list = NULL; | ||||||
|  | extern char *myalloc(); | ||||||
|  | 
 | ||||||
|  | add_label(num, height, flth) | ||||||
|  | { | ||||||
|  | 	register label_p lbl = NULL; | ||||||
|  | 
 | ||||||
|  | 	if (height <= 0) return; | ||||||
|  | 	if (flth != TRUE && flth != FALSE) | ||||||
|  | 	    fatal("incorrect value for fallthrough"); | ||||||
|  | 
 | ||||||
|  | 	lbl = (label_p) myalloc(sizeof(label_t)); | ||||||
|  | 	lbl->lb_next = label_list; | ||||||
|  | 	lbl->lb_number = num; | ||||||
|  | 	lbl->lb_height = height; | ||||||
|  | 	lbl->lb_fallthrough = flth; | ||||||
|  | 	label_list = lbl; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | label_p get_label(num) | ||||||
|  | register word num; | ||||||
|  | { | ||||||
|  | 	register label_p tmp = label_list; | ||||||
|  | 
 | ||||||
|  | 	while (tmp != NULL) { | ||||||
|  | 		if (tmp->lb_number == num) return tmp; | ||||||
|  | 		tmp = tmp->lb_next; | ||||||
|  | 	} | ||||||
|  | 	return NULL; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | kill_labels() | ||||||
|  | { | ||||||
|  | 	label_p tmp; | ||||||
|  | 
 | ||||||
|  | 	while((tmp = label_list) != NULL) { | ||||||
|  | 	    label_list = label_list->lb_next; | ||||||
|  | 	    myfree((char *)tmp); | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | #endif | ||||||
							
								
								
									
										17
									
								
								mach/proto/ncg/label.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								mach/proto/ncg/label.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,17 @@ | ||||||
|  | /*
 | ||||||
|  |  * This file contains the structures that hold information about the labels. | ||||||
|  |  * The height and the fallthrough functions of the table.  | ||||||
|  |  * | ||||||
|  |  * Author: Hans van Eck.  | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | typedef struct label *label_p; | ||||||
|  | 
 | ||||||
|  | typedef struct label { | ||||||
|  | 	label_p	lb_next; | ||||||
|  | 	word	lb_number; | ||||||
|  | 	int	lb_height; | ||||||
|  | 	short	lb_fallthrough; | ||||||
|  |     } label_t; | ||||||
|  | 
 | ||||||
|  | extern label_p get_label(); | ||||||
|  | @ -64,6 +64,11 @@ byte *trypat(bp,len) register byte *bp; { | ||||||
| 	if (Debug) { | 	if (Debug) { | ||||||
| 		fprintf(stderr,"Matched:"); | 		fprintf(stderr,"Matched:"); | ||||||
| 		for (i=0;i<patlen;i++) { | 		for (i=0;i<patlen;i++) { | ||||||
|  | #ifdef USE_SHC | ||||||
|  | 			if (emp[i].em_instr == op_lab) | ||||||
|  | 				fprintf(stderr," lab"); | ||||||
|  | 			else | ||||||
|  | #endif | ||||||
| 				fprintf(stderr," %3.3s",em_mnem[emp[i].em_instr-sp_fmnem]); | 				fprintf(stderr," %3.3s",em_mnem[emp[i].em_instr-sp_fmnem]); | ||||||
| 			if (emp[i].em_soper) | 			if (emp[i].em_soper) | ||||||
| 				fprintf(stderr," %s",emp[i].em_soper); | 				fprintf(stderr," %s",emp[i].em_soper); | ||||||
|  |  | ||||||
|  | @ -15,6 +15,8 @@ | ||||||
| 
 | 
 | ||||||
| #define MAXROM 3 | #define MAXROM 3 | ||||||
| 
 | 
 | ||||||
|  | #define op_lab  (sp_lmnem+1) | ||||||
|  | 
 | ||||||
| /*
 | /*
 | ||||||
|  * Tunable constants |  * Tunable constants | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
|  | @ -38,7 +38,7 @@ int Xstackflag=0; /* set in coercions, moves, and tests. %1 means something | ||||||
| 		   */ | 		   */ | ||||||
| 
 | 
 | ||||||
| struct varinfo *gen_inst(),*gen_move(),*gen_test(),*gen_preturn(),*gen_tlab(); | struct varinfo *gen_inst(),*gen_move(),*gen_test(),*gen_preturn(),*gen_tlab(); | ||||||
| struct varinfo *make_erase(); | struct varinfo *gen_label(), *make_erase(); | ||||||
| expr_t make_expr(),ident_expr(),subreg_expr(),tokm_expr(),all_expr(); | expr_t make_expr(),ident_expr(),subreg_expr(),tokm_expr(),all_expr(); | ||||||
| expr_t perc_ident_expr(),sum_expr(),regvar_expr(); | expr_t perc_ident_expr(),sum_expr(),regvar_expr(); | ||||||
| 
 | 
 | ||||||
|  | @ -71,6 +71,7 @@ iocc_t iops[20]; | ||||||
| %token TESTS | %token TESTS | ||||||
| %token STACKINGRULES COERCIONS | %token STACKINGRULES COERCIONS | ||||||
| %token INSTRUCTIONS | %token INSTRUCTIONS | ||||||
|  | %token STACKHEIGHT FALLTHROUGH LABELDEF | ||||||
| %token PROC CALL EXAMPLE | %token PROC CALL EXAMPLE | ||||||
| %token FROM TO | %token FROM TO | ||||||
| %token TEST MOVE STACK RETURN | %token TEST MOVE STACK RETURN | ||||||
|  | @ -844,6 +845,8 @@ gen_instruction | ||||||
| 		{ $$ = gen_move($2,$4); } | 		{ $$ = gen_move($2,$4); } | ||||||
| 	| TEST tokeninstance | 	| TEST tokeninstance | ||||||
| 		{ $$ = gen_test($2);} | 		{ $$ = gen_test($2);} | ||||||
|  | 	| LABELDEF emarg | ||||||
|  | 		{ $$ = gen_label($2-1); use_shc++; } | ||||||
| 	| RETURN | 	| RETURN | ||||||
| 		{ $$ = gen_preturn(); } | 		{ $$ = gen_preturn(); } | ||||||
| 	; | 	; | ||||||
|  | @ -1009,6 +1012,10 @@ expr | ||||||
| 		{ $$ = make_expr(TYPBOOL,EX_DEFINED,i_expr($3),0); } | 		{ $$ = make_expr(TYPBOOL,EX_DEFINED,i_expr($3),0); } | ||||||
| 	| SAMESIGN '(' expr ',' expr ')' | 	| SAMESIGN '(' expr ',' expr ')' | ||||||
| 		{ $$ = make_expr(TYPBOOL,EX_SAMESIGN,i_expr($3),i_expr($5)); } | 		{ $$ = make_expr(TYPBOOL,EX_SAMESIGN,i_expr($3),i_expr($5)); } | ||||||
|  | 	| STACKHEIGHT '(' emarg ')' | ||||||
|  | 		{ $$ = make_expr(TYPINT,EX_STACKHEIGHT,$3-1,0); } | ||||||
|  | 	| FALLTHROUGH '(' emarg ')' | ||||||
|  | 		{ $$ = make_expr(TYPBOOL,EX_FALLTHROUGH,$3-1,0); } | ||||||
| 	| SFIT '(' expr ',' expr ')' | 	| SFIT '(' expr ',' expr ')' | ||||||
| 		{ $$ = make_expr(TYPBOOL,EX_SFIT,i_expr($3),i_expr($5)); } | 		{ $$ = make_expr(TYPBOOL,EX_SFIT,i_expr($3),i_expr($5)); } | ||||||
| 	| UFIT '(' expr ',' expr ')' | 	| UFIT '(' expr ',' expr ')' | ||||||
|  |  | ||||||
|  | @ -110,6 +110,15 @@ struct varinfo *gen_test(from) iocc_t from; { | ||||||
| 	return(vp); | 	return(vp); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | struct varinfo *gen_label(arg) int arg; { | ||||||
|  | 	register struct varinfo *vp; | ||||||
|  | 
 | ||||||
|  | 	NEW(vp,struct varinfo); | ||||||
|  | 	vp->vi_int[0] = INSLABDEF; | ||||||
|  | 	vp->vi_int[1] = arg; | ||||||
|  | 	return(vp); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| struct varinfo *gen_preturn() { | struct varinfo *gen_preturn() { | ||||||
| 	register struct varinfo *vp; | 	register struct varinfo *vp; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -25,6 +25,7 @@ initemhash() { | ||||||
| 
 | 
 | ||||||
| 	for(i=0;i<=sp_lmnem-sp_fmnem;i++) | 	for(i=0;i<=sp_lmnem-sp_fmnem;i++) | ||||||
| 		enter(em_mnem[i],i+sp_fmnem); | 		enter(em_mnem[i],i+sp_fmnem); | ||||||
|  | 	enter("lab", op_lab); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| unsigned emhash(name) register char *name; { | unsigned emhash(name) register char *name; { | ||||||
|  |  | ||||||
|  | @ -36,6 +36,7 @@ extern int maxmembers; | ||||||
| extern int regclass; | extern int regclass; | ||||||
| extern int maxtokensize; | extern int maxtokensize; | ||||||
| extern int nprocargs, maxprocargs; | extern int nprocargs, maxprocargs; | ||||||
|  | extern int use_shc; | ||||||
| 
 | 
 | ||||||
| extern char *mystrcpy(); | extern char *mystrcpy(); | ||||||
| extern char *myalloc(); | extern char *myalloc(); | ||||||
|  |  | ||||||
|  | @ -206,6 +206,3 @@ instalookup(insta,filled) inst_t insta; { | ||||||
| 	l_instances[i] = insta; | 	l_instances[i] = insta; | ||||||
| 	return(i); | 	return(i); | ||||||
| } | } | ||||||
| 
 |  | ||||||
| 	 |  | ||||||
| 				 |  | ||||||
|  |  | ||||||
|  | @ -20,12 +20,14 @@ cost	COST | ||||||
| defined	DEFINED | defined	DEFINED | ||||||
| exact	EXACT | exact	EXACT | ||||||
| example	EXAMPLE | example	EXAMPLE | ||||||
|  | fallthrough	FALLTHROUGH | ||||||
| from	FROM | from	FROM | ||||||
| gen	GEN | gen	GEN | ||||||
| highw	HIGHW | highw	HIGHW | ||||||
| inreg	INREG | inreg	INREG | ||||||
| is_rom	ISROM | is_rom	ISROM | ||||||
| kills	KILLS | kills	KILLS | ||||||
|  | labeldef	LABELDEF | ||||||
| leaving	LEAVING | leaving	LEAVING | ||||||
| loww	LOWW | loww	LOWW | ||||||
| move	MOVE | move	MOVE | ||||||
|  | @ -41,6 +43,7 @@ reusing	REUSING | ||||||
| rom	ROM | rom	ROM | ||||||
| samesign	SAMESIGN | samesign	SAMESIGN | ||||||
| sfit	SFIT | sfit	SFIT | ||||||
|  | stackheight	STACKHEIGHT | ||||||
| test	TEST | test	TEST | ||||||
| to	TO | to	TO | ||||||
| ufit	UFIT | ufit	UFIT | ||||||
|  |  | ||||||
|  | @ -11,6 +11,7 @@ int	code_in_c=1;	/* put code in "tables.c" */ | ||||||
| int	tabledebug=0;	/* do not generate code for table debugging */ | int	tabledebug=0;	/* do not generate code for table debugging */ | ||||||
| #endif | #endif | ||||||
| int	verbose=0;	/* print all statistics */ | int	verbose=0;	/* print all statistics */ | ||||||
|  | int	use_shc;	/* use stackheight information */ | ||||||
| char	*c_file=	"tables.c"; | char	*c_file=	"tables.c"; | ||||||
| char	*h_file=	"tables.H"; | char	*h_file=	"tables.H"; | ||||||
| char	*cd_file=	"code"; | char	*cd_file=	"code"; | ||||||
|  | @ -592,6 +593,8 @@ outdefs() { | ||||||
| 	} | 	} | ||||||
| 	if (tabledebug) | 	if (tabledebug) | ||||||
| 		cdef("TABLEDEBUG",1); | 		cdef("TABLEDEBUG",1); | ||||||
|  | 	if (use_shc) | ||||||
|  | 		cdef("USE_SHC",1); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| outars() { | outars() { | ||||||
|  | @ -826,6 +829,12 @@ varinfo *kills,*allocates,*generates,*yields,*leaving; | ||||||
| 			codeint(vp->vi_int[1]); | 			codeint(vp->vi_int[1]); | ||||||
| 			codenl(); | 			codenl(); | ||||||
| 			break; | 			break; | ||||||
|  | 		case INSLABDEF: | ||||||
|  | 			cocono = 0; | ||||||
|  | 			code8(DO_LABDEF); | ||||||
|  | 			codeint(vp->vi_int[1]); | ||||||
|  | 			codenl(); | ||||||
|  | 			break; | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	codecoco(cocono); | 	codecoco(cocono); | ||||||
|  |  | ||||||
|  | @ -48,3 +48,6 @@ | ||||||
| 
 | 
 | ||||||
| #define NEXT(n,max,string) (n<max? n++ : tabovf(string)) | #define NEXT(n,max,string) (n<max? n++ : tabovf(string)) | ||||||
| #define NEW(x,y) x=(y*)myalloc(sizeof(*(x))) | #define NEW(x,y) x=(y*)myalloc(sizeof(*(x))) | ||||||
|  | 
 | ||||||
|  | #include <em_spec.h> | ||||||
|  | #define op_lab	(sp_lmnem + 1) | ||||||
|  |  | ||||||
|  | @ -11,3 +11,4 @@ | ||||||
| #define INSSETCC	(-5) | #define INSSETCC	(-5) | ||||||
| #define INSERASE	(-6) | #define INSERASE	(-6) | ||||||
| #define INSREMOVE	(-7) | #define INSREMOVE	(-7) | ||||||
|  | #define INSLABDEF	(-8) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue