velosig *dupvelosig(ptype_list *p, velosig *s) { velosig *d; d=(velosig *)mbkalloc(sizeof(velosig)); memcpy(d,s,sizeof(velosig)); d->NEXT=(velosig *)p->DATA; p->DATA=d; return d; }
velocon *addvelocon (ptype_list *tcon, char *name, long left, long right) { velocon *c; name = namealloc(name); c=(velocon *)mbkalloc(sizeof(velocon)); c->NEXT=(velocon *)tcon->DATA; c->NAME=name; c->LEFT=left; c->RIGHT=right; c->VSIG=NULL; c->ROOT=NULL; c->USER=NULL; tcon->DATA=c; return c; }
velosig *addvelosig (ptype_list *tsig, char *name, long left, long right, char type) { velosig *s; name = namealloc(name); s = (velosig *)mbkalloc(sizeof(velosig)); s->NEXT=(velosig *)tsig->DATA; s->NAME=name; s->LEFT=left; s->RIGHT=right; s->VSIG=NULL; s->NAMECHAIN=NULL; s->USER=NULL; s->TYPE=type; s->SUPER=NULL; tsig->DATA=s; return s; }
logen_list *addlogen(logen_list *ptgen,char *name) { logen_list *p; if (name) { name=namealloc(name); for (p=ptgen;p;p=p->NEXT) { if (name==p->NAME) { fprintf(stderr,"Generic %s already exists\n",name); return p; } } } p=(logen_list *)mbkalloc(sizeof(logen_list)); p->NAME=name; p->TYPE=0; p->TAG=0; p->NEXT=ptgen; return p; }