Alla fine ci sono riuscita però altro errore , cioè mi stampa così:
c=FALSE; B=FALSE; a1=FALSE; d_2=TRUE; h=TRUE; F=TRUE;m=FALSE;i=TRUE; l=TRUE;R=TRUE;


messi al contrario come se partisse alla fine per poi tornare in testa

Ho provato a modificare l'ultima parte del file di Bison , nella parte in C, così:
struct nlist *ins_token(char *name) { /* inserire l'elemento di token */
struct nlist *np, *p_1;
unsigned hashval;
if ((np = lookup(name)) == NULL) { /*se non è già presente*/
if ((np = (struct nlist *)malloc(sizeof(*np)))==NULL)
return NULL;
np->name = strdup(name);
np->value=0;
np->next= NULL;
hashval = hash(name);
p_1= hashtab[hashval];
while (p_1 != NULL && p_1->next != NULL)
p_1 = p_1->next;
if(p_1 == NULL)
hashtab[hashval] = np;
else
p_1->next = np;
}
return hashtab[hashval];

}


ma niente, mi stampa i primi due (al contrario) e poi va in crash!
Non capisco dove sia l'errore!
HELP!!!