ftp.nice.ch/pub/next/developer/languages/lisp/AKCL.1.599.s.tar.gz#/akcl-1-599/V/h/cmpinclude.h

This is cmpinclude.h in view mode; [Download] [Up]

Changes file for /usr/local/src/kcl/./h/cmpinclude.h
Created on Wed Jun 19 11:01:38 1991
Usage \n@s[Original text\n@s|Replacement Text\n@s]
See the file rascal.ics.utexas.edu:/usr2/ftp/merge.c
for a program to merge change files.  Anything not between
"\n@s[" and  "\n@s]" is a simply a comment.
This file was constructed using emacs and  merge.el
Enhancements Copyright (c) W. Schelter All rights reserved.
   by (Bill Schelter)  wfs@carl.ma.utexas.edu 


****Change:(orig (0 0 a))
@s[
@s|

/* Begin for cmpinclude */

#define HAVE_ALLOCA

/* End for cmpinclude */

@s]


****Change:(orig (7 7 a))
@s[#include <stdio.h>
#include <setjmp.h>

@s|#include <stdio.h>
#include <setjmp.h>
#include <varargs.h>

@s]


****Change:(orig (9 9 a))
@s[#define	TRUE	1
#define	FALSE	0

@s|#define	TRUE	1
#define	FALSE	0
#ifdef SGC
#define FIRSTWORD     short t; char s,m
#define SGC_TOUCH(x) x->d.m=0
#else
#define FIRSTWORD     short t; short m
#define SGC_TOUCH(x)
#endif  
#define STSET(type,x,i,val)  do{SGC_TOUCH(x);STREF(type,x,i) = (val);} while(0)
#ifndef VOL
#define VOL
#endif
#ifndef COM_LENG
#define COM_LENG 
#endif
#ifndef CHAR_SIZE
#define CHAR_SIZE        8     
#endif

@s]


****Change:(orig (13 13 a))
@s[typedef double longfloat;

@s|typedef double longfloat;
typedef  unsigned short fatchar;
#define SIGNED_CHAR(x) (((char ) -1) < (char )0 ? (char) x \
		  : (x >= (1<<(CHAR_SIZE-1)) ? \
		     x - (((int)(1<<(CHAR_SIZE-1))) << 1) \
		     : (char ) x))

@s]


****Change:(orig (14 14 a))
@s[typedef union lispunion *object;

@s|typedef union lispunion *object;
typedef union int_object iobject;
union int_object {int i; object o;};


@s]


****Change:(orig (17 17 c))
@s[struct fixnum_struct {
	short	t, m;

@s|struct fixnum_struct {
		FIRSTWORD;

@s]


****Change:(orig (22 22 c))
@s[struct fixnum_struct small_fixnum_table[];

@s|extern struct fixnum_struct small_fixnum_table[COM_LENG];

@s]


****Change:(orig (23 23 a))
@s[#define	small_fixnum(i)	(object)(small_fixnum_table+SMALL_FIXNUM_LIMIT+(i))

@s|#define	small_fixnum(i)	(object)(small_fixnum_table+SMALL_FIXNUM_LIMIT+(i))

struct bignum {
			FIRSTWORD;
	long             *big_self;	/*  bignum body  */
	int		big_length;	/*  bignum length  */
};
#define MP(x) ((GEN)(x)->big.big_self)

@s]


****Change:(orig (25 25 c))
@s[struct shortfloat_struct {
	short		t, m;

@s|struct shortfloat_struct {
			FIRSTWORD;

@s]


****Change:(orig (30 30 c))
@s[struct longfloat_struct {
	short		t, m;

@s|struct longfloat_struct {
			FIRSTWORD;

@s]


****Change:(orig (35 35 c))
@s[struct character {
	short		t, m;

@s|struct character {
			FIRSTWORD;

@s]


****Change:(orig (40 40 c))
@s[struct character character_table[];

@s|struct character character_table1[256+128];
#define character_table (character_table1+128)

@s]


****Change:(orig (51 51 c))
@s[struct symbol {
	short	t, m;

@s|struct symbol {
		FIRSTWORD;

@s]


****Change:(orig (65 65 c))
@s[struct cons {
	short	t, m;

@s|struct cons {
		FIRSTWORD;

@s]


****Change:(orig (70 70 c))
@s[struct array {
	short	t, m;

@s|struct array {
		FIRSTWORD;

@s]


****Change:(orig (79 79 a))
@s[	short	a_elttype;
	short	a_offset;
};

@s|	short	a_elttype;
	short	a_offset;
};



struct fat_string {			/*  vector header  */
		FIRSTWORD;
        unsigned fs_raw : 24;     /* tells if the things in leader are raw */
	unsigned char fs_leader_length;	 /* leader_Length  */
	int	fs_dim;		/*  dimension  */
	int	fs_fillp;	/*  fill pointer  */
				/*  For simple vectors,  */
				/*  fs_fillp is equal to fs_dim.  */
	fatchar 	*fs_self;	/*  pointer to the vector Note the leader starts at (int *) *fs_self - fs_leader_length */
};



@s]


****Change:(orig (81 81 c))
@s[struct vector {
	short	t, m;

@s|struct vector {
		FIRSTWORD;

@s]


****Change:(orig (92 92 c))
@s[struct string {
	short	t, m;

@s|struct string {
		FIRSTWORD;

@s]


****Change:(orig (101 101 c))
@s[struct ustring {
	short	t, m;

@s|struct ustring {
		FIRSTWORD;

@s]


****Change:(orig (109 109 a))
@s[	object	ust_displaced;
};

@s|	object	ust_displaced;
};
#define USHORT(x,i) (((unsigned short *)(x)->ust.ust_self)[i])


@s]


****Change:(orig (111 111 c))
@s[struct bitvector {
	short	t, m;

@s|struct bitvector {
		FIRSTWORD;

@s]


****Change:(orig (122 122 c))
@s[struct fixarray {
	short	t, m;

@s|struct fixarray {
		FIRSTWORD;

@s]


****Change:(orig (133 133 c))
@s[struct sfarray {
	short	t, m;

@s|struct sfarray {
		FIRSTWORD;

@s]


****Change:(orig (145 145 c))
@s[struct lfarray {
	short	t, m;

@s|struct lfarray {
		FIRSTWORD;

@s]


****Change:(orig (156 160 c))
@s[struct structure {
	short	t, m;
	object	str_name;
	object	*str_self;

@s,	int	str_length;

@s|
struct structure {		/*  structure header  */
		FIRSTWORD;
	object	str_def;	/*  structure definition (a structure)  */
	object	*str_self;	/*  structure self  */

@s]


****Change:(orig (161 161 a))
@s[};

@s|};

#define STREF(type,x,i) (*((type *)(((char *)((x)->str.str_self))+(i))))


@s]


****Change:(orig (163 163 c))
@s[struct cfun {
	short	t, m;

@s|struct cfun {
		FIRSTWORD;

@s]


****Change:(orig (167 168 d))
@s[	char	*cf_start;
	int	cf_size;

@s|
@s]


****Change:(orig (170 171 c))
@s[struct cclosure {
	short	t, m;

@s|
  struct dclosure {		/*  compiled closure header  */
		FIRSTWORD;
	int	(*dc_self)();	/*  entry address  */
	object	*dc_env;	/*  environment  */
};

  struct cclosure {
		FIRSTWORD;


@s]


****Change:(orig (176 177 d))
@s[	char	*cc_start;
	int	cc_size;

@s|
@s]


****Change:(orig (179 179 a))
@s[	object	*cc_turbo;
};

@s|	object	*cc_turbo;
};

struct sfun {
	FIRSTWORD;
	object	sfn_name;
	int	(*sfn_self)();
	object	sfn_data;
	int sfn_argd;

	      };
struct vfun {
		FIRSTWORD; 
	object	vfn_name;
	int	(*vfn_self)();
	object	vfn_data;
	unsigned short vfn_minargs;
	unsigned short vfn_maxargs;
	      };


@s]


****Change:(orig (181 181 c))
@s[struct dummy {
	short	t, m;

@s|struct dummy {
		FIRSTWORD;

@s]


****Change:(orig (182 182 a))
@s[};

@s|};
struct stream {
		FIRSTWORD;
	FILE	*sm_fp;		/*  file pointer  */
	object	sm_object0;	/*  some object  */
	object	sm_object1;	/*  some object */
	int	sm_int0;	/*  some int  */
	int	sm_int1;	/*  some int  */
	char  	*sm_buffer;     /*  ptr to BUFSIZE block of storage */
	short	sm_mode;	/*  stream mode  */
				/*  of enum smmode  */
};

@s]


****Change:(orig (187 187 a))
@s[	struct shortfloat_struct
			SF;

@s|	struct shortfloat_struct
			SF;
	struct stream sm;

@s]


****Change:(orig (197 197 a))
@s[	struct string	st;
	struct ustring	ust;

@s|	struct string	st;
	struct ustring	ust;
	struct bignum   big;

@s]


****Change:(orig (203 203 a))
@s[	struct cfun	cf;
	struct cclosure	cc;

@s|	struct cfun	cf;
	struct cclosure	cc;
	struct sfun     sfn;
	struct vfun     vfn;

@s]


****Change:(orig (204 204 a))
@s[	struct dummy	d;

@s|	struct dummy	d;
        struct fat_string fs;
        struct dclosure dc;

@s]


****Change:(orig (210 211 c))
@s[	t_cons = 0,
	t_start = t_cons,

@s|	t_cons,
	t_start = 0 , /* t_cons, */

@s]


****Change:(orig (232 232 a))
@s[	t_pathname,
	t_cfun,
	t_cclosure,

@s|	t_pathname,
	t_cfun,
	t_cclosure,
	t_sfun,
        t_gfun,
	t_vfun,
	t_cfdata,

@s]


****Change:(orig (233 233 a))
@s[	t_spice,

@s|	t_spice,
	t_fat_string,
        t_dclosure,

@s]


****Change:(orig (241 241 c))
@s[#define	endp(obje)	endp1(obje)
object value_stack[];

@s|#define	endp(obje)	endp1(obje)
extern object value_stack[COM_LENG];

@s]


****Change:(orig (270 271 c))
@s[struct bds_bd bind_stack[];
#define bds_org		bind_stack

@s|extern struct bds_bd bind_stack[COM_LENG];

@s]


****Change:(orig (272 272 a))
@s[typedef struct bds_bd *bds_ptr;

@s|typedef struct bds_bd *bds_ptr;
bds_ptr bds_org;

@s]


****Change:(orig (288 289 c))
@s[struct invocation_history ihs_stack[];
#define ihs_org		ihs_stack

@s|extern struct invocation_history ihs_stack[COM_LENG];
ihs_ptr ihs_org;

@s]


****Change:(orig (314 315 c))
@s[struct frame frame_stack[];
#define frs_org		frame_stack

@s|extern struct frame frame_stack[COM_LENG];

frame_ptr frs_org;

@s]


****Change:(orig (406 406 a))
@s[struct symbol Cnil_body, Ct_body;
object MF();

@s|struct symbol Cnil_body, Ct_body;
object MF();
object MFnew();

@s]


****Change:(orig (424 424 a))
@s[object make_cclosure();

@s|object make_cclosure();
object make_cclosure_new();

@s]


****Change:(orig (441 441 a))
@s[object getf();
object putprop();

@s|object getf();
object putprop();
object sputprop();

@s]


****Change:(orig (458 458 a))
@s[object aref1();
object aset1();

@s|object aref1();
object aset1();
void call_or_link();
object call_proc();
object call_proc0();
object call_proc1();
object call_proc2();
object ifuncall();   
object ifuncall1();
object ifuncall2();
object symbol_name();

@s]


****Change:(orig (462 462 a))
@s[double object_to_double();

@s|double object_to_double();
char *object_to_string();

@s]


****Change:(orig (468 468 a))
@s[double sin(), cos(), tan();

@s|double sin(), cos(), tan();
object read_byte1(),read_char1();

#define fs_leader(ar,i) (((object *)((ar)->fs.fs_self))[-(i+1)])
#define RPAREN )
object make_list();
#ifdef HAVE_ALLOCA
#ifndef alloca
char *alloca();
#endif
char *alloca_val;
#define ALLOCA_CONS(n) (alloca_val=alloca((n)*sizeof(struct cons))) 
#define ON_STACK_CONS(x,y) (alloca_val=alloca(sizeof(struct cons)), on_stack_cons(x,y)) 
#define ON_STACK_LIST on_stack_list
#define ON_STACK_LIST_VECTOR on_stack_list_vector
#define ON_STACK_MAKE_LIST on_stack_make_list
object on_stack_cons();
object on_stack_list();
object on_stack_list_vector();
object on_stack_make_list();
#else
#define ALLOCA_CONS(n) 0
#define ON_STACK_CONS(x,y) MMcons(x,y)
#define ON_STACK_LIST list
#define ON_STACK_LIST_VECTOR list_vector
#define ON_STACK_MAKE_LIST make_list
#endif


struct call_data { object fun;
		   int argd;};
struct call_data fcall;
object  fcalln();
object list_vector();
object MVloc[10];
#define VARG(min,max) ((min) | (max << 8))
#define  VFUN_NARGS fcall.argd
extern object Cstd_key_defaults[];
int vfun_wrong_number_of_args();
int eql(),equal(),eq();
object sublis1();
object LVformat(),LVerror();
#define EQ(x,y) ((x)==(y))



/* #include "../h/genpari.h"*/
typedef unsigned long *GEN;
GEN addii(),mulii(),mulsi(),powerii(),shifti(),stoi(),dvmdii(),subii();
int cmpii();
#define signe(x)          (((GEN)(x))[1]>>24)
#define lg(x)             (((GEN)(x))[0]&0xffff)
#define setlg(x,s)        (((GEN)(x))[0]=(((GEN)(x))[0]&0xffff0000)+s)
#define lgef(x)           (((GEN)(x))[1]&0xffff)
#define setlgef(x,s)      (((GEN)(x))[1]=(((GEN)(x))[1]&0xffff0000)+s)

int in_saved_avma ;
#define ulong unsigned long
/* #define DEBUG_AVMA */

#ifdef DEBUG_AVMA
#define save_avma long lvma = (in_saved_avma = 1, avma)
#define restore_avma avma = (in_saved_avma = 0, lvma)
#else
#define save_avma long lvma = avma
#define restore_avma avma = lvma
#endif
unsigned long avma;
GEN gzero;
GEN icopy_x;

object make_integer();
  /* copy x to y, increasing space by factor of 2  */


GEN otoi();
/*
object integ_temp;
#define otoi(x) (integ_temp = (x) , (type_of(integ_temp) == t_bignum \
   ? MP(integ_temp) :stoi(fix(integ_temp))))
*/

void isetq_fix();
#ifdef HAVE_ALLOCA
#define SETQ_II(var,alloc,val) \
  do{GEN _xx =(val) ; \
  int _n = replace_copy1(_xx,var); \
  if(_n) var = replace_copy2(_xx,alloca(_n));}while(0)

#define SETQ_IO(var,alloc,val) {object _xx =(val) ; \
			      int _n = obj_replace_copy1(_xx,var); \
			    if(_n) var = obj_replace_copy2(_xx,alloca(_n));}
#define IDECL(a,b,c) ulong b[4];a =(b[0]=0x1010000 +4,b)
#else
GEN setq_io(),setq_ii();
#define SETQ_IO(x,alloc,val)   (x)=setq_io(x,&alloc,val)
#define SETQ_II(x,alloc,val)   (x)=setq_ii(x,&alloc,val)
#define IDECL(a,b,c) ulong b[4];a =(b[0]=0x1010000 +4,b);object c
#endif


#ifdef __GNUC__
#define alloca __builtin_alloca
#endif



@s]

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.