lol_add( inner->args, (*p->right->func)( p->right, frame ) );
lol_add( inner->args, parse_evaluate( p->right, frame ) );
compile_rule(    PARSE   *parse,    FRAME *frame ){    FRAME       inner[1];    LIST    *result;    PARSE   *p;        /* Build up the list of arg lists */    frame_init( inner );    inner->prev = frame;    inner->module = frame->module; /* This gets fixed up in evaluate_rule(), below */    for( p = parse->left; p; p = p->left )        lol_add( inner->args, (*p->right->func)( p->right, frame ) );    /* And invoke rule */    result = evaluate_rule( parse->string, inner );    frame_free( inner );    return result;}