Lines Matching refs:ap
94 static int lemon_vsprintf(char *str, const char *zFormat, va_list ap){ in lemon_vsprintf() argument
112 int v = va_arg(ap, int); in lemon_vsprintf()
127 z = va_arg(ap, const char*); in lemon_vsprintf()
131 k = va_arg(ap, int); in lemon_vsprintf()
132 z = va_arg(ap, const char*); in lemon_vsprintf()
147 va_list ap; in lemon_sprintf() local
149 va_start(ap, format); in lemon_sprintf()
150 rc = lemon_vsprintf(str, format, ap); in lemon_sprintf()
151 va_end(ap); in lemon_sprintf()
362 struct action *ap; /* List of actions for this state */ member
534 struct action *ap in Action_sort() argument
536 ap = (struct action *)msort((char *)ap,(char **)&ap->next, in Action_sort()
538 return ap; in Action_sort()
998 stp->ap = 0; /* No actions, yet. */ in getstate()
1066 Action_add(&stp->ap,SHIFT,sp->subsym[i],(char*)newstp); in buildshifts()
1069 Action_add(&stp->ap,SHIFT,sp,(char *)newstp); in buildshifts()
1170 Action_add(&stp->ap,REDUCE,lemp->symbols[j],(char *)cfp->rp); in FindActions()
1194 Action_add(&lemp->sorted[0]->ap,ACCEPT,sp,0); in FindActions()
1198 struct action *ap, *nap; in FindActions() local
1201 stp->ap = Action_sort(stp->ap); in FindActions()
1202 for(ap=stp->ap; ap && ap->next; ap=ap->next){ in FindActions()
1203 for(nap=ap->next; nap && nap->sp==ap->sp; nap=nap->next){ in FindActions()
1206 lemp->nconflict += resolve_conflict(ap,nap); in FindActions()
1214 struct action *ap; in FindActions() local
1215 for(ap=lemp->sorted[i]->ap; ap; ap=ap->next){ in FindActions()
1216 if( ap->type==REDUCE ) ap->x.rp->canReduce = LEMON_TRUE; in FindActions()
1499 va_list ap; in ErrorMsg() local
1501 va_start(ap, format); in ErrorMsg()
1502 vfprintf(stderr,format,ap); in ErrorMsg()
1503 va_end(ap); in ErrorMsg()
3354 struct action *ap, /* The action to print */ in PrintAction() argument
3359 switch( ap->type ){ in PrintAction()
3361 struct state *stp = ap->x.stp; in PrintAction()
3362 fprintf(fp,"%*s shift %-7d",indent,ap->sp->name,stp->statenum); in PrintAction()
3366 struct rule *rp = ap->x.rp; in PrintAction()
3367 fprintf(fp,"%*s reduce %-7d",indent,ap->sp->name,rp->iRule); in PrintAction()
3372 struct rule *rp = ap->x.rp; in PrintAction()
3373 fprintf(fp,"%*s shift-reduce %-7d",indent,ap->sp->name,rp->iRule); in PrintAction()
3378 fprintf(fp,"%*s accept",indent,ap->sp->name); in PrintAction()
3381 fprintf(fp,"%*s error",indent,ap->sp->name); in PrintAction()
3386 indent,ap->sp->name,ap->x.rp->iRule); in PrintAction()
3390 indent,ap->sp->name,ap->x.stp->statenum); in PrintAction()
3395 indent,ap->sp->name,ap->x.stp->statenum); in PrintAction()
3403 indent,ap->sp->name,ap->x.rp->iRule); in PrintAction()
3412 if( result && ap->spOpt ){ in PrintAction()
3413 fprintf(fp," /* because %s==%s */", ap->sp->name, ap->spOpt->name); in PrintAction()
3424 struct action *ap; in ReportOutput() local
3454 for(ap=stp->ap; ap; ap=ap->next){ in ReportOutput()
3455 if( PrintAction(ap,fp,30) ) fprintf(fp,"\n"); in ReportOutput()
3568 PRIVATE int compute_action(struct lemon *lemp, struct action *ap) in compute_action() argument
3571 switch( ap->type ){ in compute_action()
3572 case SHIFT: act = ap->x.stp->statenum; break; in compute_action()
3577 if( ap->sp->index>=lemp->nterminal in compute_action()
3578 && (lemp->errsym==0 || ap->sp->index!=lemp->errsym->index) in compute_action()
3580 act = lemp->minReduce + ap->x.rp->iRule; in compute_action()
3582 act = lemp->minShiftReduce + ap->x.rp->iRule; in compute_action()
3586 case REDUCE: act = lemp->minReduce + ap->x.rp->iRule; break; in compute_action()
4296 struct action *ap; in ReportTable() local
4538 for(ap=stp->ap; ap; ap=ap->next){ in ReportTable()
4540 if( ap->sp->index>=lemp->nterminal ) continue; in ReportTable()
4541 action = compute_action(lemp, ap); in ReportTable()
4543 acttab_action(pActtab, ap->sp->index, action); in ReportTable()
4549 for(ap=stp->ap; ap; ap=ap->next){ in ReportTable()
4551 if( ap->sp->index<lemp->nterminal ) continue; in ReportTable()
4552 if( ap->sp->index==lemp->nsymbol ) continue; in ReportTable()
4553 action = compute_action(lemp, ap); in ReportTable()
4555 acttab_action(pActtab, ap->sp->index, action); in ReportTable()
4579 for(ap=lemp->sorted[i]->ap; ap; ap=ap->next){ in ReportTable()
4580 if( ap->type==REDUCE || ap->type==SHIFTREDUCE ){ in ReportTable()
4581 ap->x.rp->doesReduce = 1; in ReportTable()
4991 struct action *ap, *ap2, *nextap; in CompressTables() local
5003 for(ap=stp->ap; ap; ap=ap->next){ in CompressTables()
5004 if( ap->type==SHIFT && ap->sp==lemp->wildcard ){ in CompressTables()
5007 if( ap->type!=REDUCE ) continue; in CompressTables()
5008 rp = ap->x.rp; in CompressTables()
5012 for(ap2=ap->next; ap2; ap2=ap2->next){ in CompressTables()
5032 for(ap=stp->ap; ap; ap=ap->next){ in CompressTables()
5033 if( ap->type==REDUCE && ap->x.rp==rbest ) break; in CompressTables()
5035 assert( ap ); in CompressTables()
5036 ap->sp = Symbol_new("{default}"); in CompressTables()
5037 for(ap=ap->next; ap; ap=ap->next){ in CompressTables()
5038 if( ap->type==REDUCE && ap->x.rp==rbest ) ap->type = NOT_USED; in CompressTables()
5040 stp->ap = Action_sort(stp->ap); in CompressTables()
5042 for(ap=stp->ap; ap; ap=ap->next){ in CompressTables()
5043 if( ap->type==SHIFT ) break; in CompressTables()
5044 if( ap->type==REDUCE && ap->x.rp!=rbest ) break; in CompressTables()
5046 if( ap==0 ){ in CompressTables()
5058 for(ap=stp->ap; ap; ap=ap->next){ in CompressTables()
5060 if( ap->type!=SHIFT ) continue; in CompressTables()
5061 pNextState = ap->x.stp; in CompressTables()
5063 ap->type = SHIFTREDUCE; in CompressTables()
5064 ap->x.rp = pNextState->pDfltReduce; in CompressTables()
5077 for(ap=stp->ap; ap; ap=nextap){ in CompressTables()
5078 nextap = ap->next; in CompressTables()
5079 if( ap->type!=SHIFTREDUCE ) continue; in CompressTables()
5080 rp = ap->x.rp; in CompressTables()
5087 if( ap->sp->index<lemp->nterminal ) continue; in CompressTables()
5090 nextap = ap; in CompressTables()
5091 for(ap2=stp->ap; ap2 && (ap2==ap || ap2->sp!=rp->lhs); ap2=ap2->next){} in CompressTables()
5093 ap->spOpt = ap2->sp; in CompressTables()
5094 ap->type = ap2->type; in CompressTables()
5095 ap->x = ap2->x; in CompressTables()
5132 struct action *ap; in ResortStates() local
5140 for(ap=stp->ap; ap; ap=ap->next){ in ResortStates()
5141 int iAction = compute_action(lemp,ap); in ResortStates()
5143 if( ap->sp->index<lemp->nterminal ){ in ResortStates()
5145 }else if( ap->sp->index<lemp->nsymbol ){ in ResortStates()
5148 assert( stp->autoReduce==0 || stp->pDfltReduce==ap->x.rp ); in ResortStates()