On 4/25/17, Kelvin Sherlock <ksherl...@gmail.com> wrote: > > I believe the issue is line 4164 which should be … = LEMON_TRUE. Currently, > when i=0, all rules will erroneously be optimized out. > > 4157 /* Mark rules that are actually used for reduce actions after all > 4158 ** optimizations have been applied > 4159 */ > 4160 for(rp=lemp->rule; rp; rp=rp->next) rp->doesReduce = LEMON_FALSE; > 4161 for(i=0; i<lemp->nxstate; i++){ > 4162 for(ap=lemp->sorted[i]->ap; ap; ap=ap->next){ > 4163 if( ap->type==REDUCE || ap->type==SHIFTREDUCE ){ > 4164 ap->x.rp->doesReduce = i; > 4165 } > 4166 } > 4167 } >
Well done. I fear that you have had to learn more about Lemon and LALR(1) parsing than perhaps you really ever wanted to know. Your efforts are greatly appreciated. -- D. Richard Hipp d...@sqlite.org _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users