/* Routines processing parser actions in the LEMON parser generator.  */
static struct action * Action_new(void)
/* Routines processing parser actions in the LEMON parser generator.  */
static struct action * Action_new(void)
{
    int i;
    int amt = 100;
    freelist = (struct action *)calloc(amt, sizeof(struct action));
    if( freelist==0 ){
      fprintf(stderr,"Unable to allocate memory for a new parser action.");
      exit(1);
    }
    for(i=0; i<amt-1; i++) freelist[i].next = &freelist[i+1];
    freelist[amt-1].next = 0;
  }
  newaction = freelist;
  freelist = freelist->next;
  return newaction;
}