mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-29 08:01:23 +03:00
Fix for ticket #134: Change the lemon.c sources to work around a problem with
the AIX C compiler. (CVS 715) FossilOrigin-Name: 07f6020bb56d6d1bffdd936017f61cfae5bd134b
This commit is contained in:
12
manifest
12
manifest
@ -1,5 +1,5 @@
|
|||||||
C Implement\sprobabilistic\sreader/writer\slocks\sunder\swindows\sso\sthat\swindows\ncan\shave\smultiple\ssimultaneous\sreaders.\s(CVS\s714)
|
C Fix\sfor\sticket\s#134:\sChange\sthe\slemon.c\ssources\sto\swork\saround\sa\sproblem\swith\nthe\sAIX\sC\scompiler.\s(CVS\s715)
|
||||||
D 2002-08-14T12:56:55
|
D 2002-08-14T23:18:57
|
||||||
F Makefile.in 6291a33b87d2a395aafd7646ee1ed562c6f2c28c
|
F Makefile.in 6291a33b87d2a395aafd7646ee1ed562c6f2c28c
|
||||||
F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906
|
F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906
|
||||||
F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
|
F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
|
||||||
@ -112,7 +112,7 @@ F test/version.test c7057526e14c7e3da5718b88e7f566f4182fd5c5
|
|||||||
F test/view.test 3afca084dab44c7a5772d3c6a326adf93ad52050
|
F test/view.test 3afca084dab44c7a5772d3c6a326adf93ad52050
|
||||||
F test/where.test c7aba40ad9178acf9c898e53aac9e447e2d2f2f7
|
F test/where.test c7aba40ad9178acf9c898e53aac9e447e2d2f2f7
|
||||||
F tool/diffdb.c 7524b1b5df217c20cd0431f6789851a4e0cb191b
|
F tool/diffdb.c 7524b1b5df217c20cd0431f6789851a4e0cb191b
|
||||||
F tool/lemon.c 459cb2bb3738a1ad5cb0ad8b805587a88a885d95
|
F tool/lemon.c 022adc2830c2705828f744d2c59798bd462eb465
|
||||||
F tool/lempar.c 73a991cc3017fb34804250fa901488b5147b3717
|
F tool/lempar.c 73a991cc3017fb34804250fa901488b5147b3717
|
||||||
F tool/memleak.awk 296dfbce7a9ca499b95ce04e30334e64a50052e0
|
F tool/memleak.awk 296dfbce7a9ca499b95ce04e30334e64a50052e0
|
||||||
F tool/opNames.awk 5ba1f48aa854ee3b7c3d2b54233665bc3e649ea2
|
F tool/opNames.awk 5ba1f48aa854ee3b7c3d2b54233665bc3e649ea2
|
||||||
@ -145,7 +145,7 @@ F www/speed.tcl 7fc83f1b018e1ecc451838449542c3079ed12425
|
|||||||
F www/sqlite.tcl ae3dcfb077e53833b59d4fcc94d8a12c50a44098
|
F www/sqlite.tcl ae3dcfb077e53833b59d4fcc94d8a12c50a44098
|
||||||
F www/tclsqlite.tcl 1db15abeb446aad0caf0b95b8b9579720e4ea331
|
F www/tclsqlite.tcl 1db15abeb446aad0caf0b95b8b9579720e4ea331
|
||||||
F www/vdbe.tcl 2013852c27a02a091d39a766bc87cff329f21218
|
F www/vdbe.tcl 2013852c27a02a091d39a766bc87cff329f21218
|
||||||
P 2438da791afb53b4f1c7a9ff9705d393c86f3cbd
|
P 2127de3f03537ef2f18120e773f7603e0984ff81
|
||||||
R 3364c6051f89755389e8e9106b910ace
|
R 7b9d14f25b49a3a4845ff8b962285057
|
||||||
U drh
|
U drh
|
||||||
Z f3b8f86df854c948ca0c5a5c4e19b034
|
Z c3b9f5c917c9c33ab25ee4f00b0cc805
|
||||||
|
@ -1 +1 @@
|
|||||||
2127de3f03537ef2f18120e773f7603e0984ff81
|
07f6020bb56d6d1bffdd936017f61cfae5bd134b
|
20
tool/lemon.c
20
tool/lemon.c
@ -117,7 +117,7 @@ int SetUnion(/* char *A,char *B */); /* A <- A U B, thru element N */
|
|||||||
** Principal data structures for the LEMON parser generator.
|
** Principal data structures for the LEMON parser generator.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
typedef enum {FALSE=0, TRUE} Boolean;
|
typedef enum {B_FALSE=0, B_TRUE} Boolean;
|
||||||
|
|
||||||
/* Symbols (terminals and nonterminals) of the grammar are stored
|
/* Symbols (terminals and nonterminals) of the grammar are stored
|
||||||
** in the following: */
|
** in the following: */
|
||||||
@ -451,7 +451,7 @@ struct lemon *lemp;
|
|||||||
int progress;
|
int progress;
|
||||||
|
|
||||||
for(i=0; i<lemp->nsymbol; i++){
|
for(i=0; i<lemp->nsymbol; i++){
|
||||||
lemp->symbols[i]->lambda = FALSE;
|
lemp->symbols[i]->lambda = B_FALSE;
|
||||||
}
|
}
|
||||||
for(i=lemp->nterminal; i<lemp->nsymbol; i++){
|
for(i=lemp->nterminal; i<lemp->nsymbol; i++){
|
||||||
lemp->symbols[i]->firstset = SetNew();
|
lemp->symbols[i]->firstset = SetNew();
|
||||||
@ -463,10 +463,10 @@ struct lemon *lemp;
|
|||||||
for(rp=lemp->rule; rp; rp=rp->next){
|
for(rp=lemp->rule; rp; rp=rp->next){
|
||||||
if( rp->lhs->lambda ) continue;
|
if( rp->lhs->lambda ) continue;
|
||||||
for(i=0; i<rp->nrhs; i++){
|
for(i=0; i<rp->nrhs; i++){
|
||||||
if( rp->rhs[i]->lambda==FALSE ) break;
|
if( rp->rhs[i]->lambda==B_FALSE ) break;
|
||||||
}
|
}
|
||||||
if( i==rp->nrhs ){
|
if( i==rp->nrhs ){
|
||||||
rp->lhs->lambda = TRUE;
|
rp->lhs->lambda = B_TRUE;
|
||||||
progress = 1;
|
progress = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -484,10 +484,10 @@ struct lemon *lemp;
|
|||||||
progress += SetAdd(s1->firstset,s2->index);
|
progress += SetAdd(s1->firstset,s2->index);
|
||||||
break;
|
break;
|
||||||
}else if( s1==s2 ){
|
}else if( s1==s2 ){
|
||||||
if( s1->lambda==FALSE ) break;
|
if( s1->lambda==B_FALSE ) break;
|
||||||
}else{
|
}else{
|
||||||
progress += SetUnion(s1->firstset,s2->firstset);
|
progress += SetUnion(s1->firstset,s2->firstset);
|
||||||
if( s2->lambda==FALSE ) break;
|
if( s2->lambda==B_FALSE ) break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -782,11 +782,11 @@ struct lemon *lemp;
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Report an error for each rule that can never be reduced. */
|
/* Report an error for each rule that can never be reduced. */
|
||||||
for(rp=lemp->rule; rp; rp=rp->next) rp->canReduce = FALSE;
|
for(rp=lemp->rule; rp; rp=rp->next) rp->canReduce = B_FALSE;
|
||||||
for(i=0; i<lemp->nstate; i++){
|
for(i=0; i<lemp->nstate; i++){
|
||||||
struct action *ap;
|
struct action *ap;
|
||||||
for(ap=lemp->sorted[i]->ap; ap; ap=ap->next){
|
for(ap=lemp->sorted[i]->ap; ap; ap=ap->next){
|
||||||
if( ap->type==REDUCE ) ap->x.rp->canReduce = TRUE;
|
if( ap->type==REDUCE ) ap->x.rp->canReduce = B_TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for(rp=lemp->rule; rp; rp=rp->next){
|
for(rp=lemp->rule; rp; rp=rp->next){
|
||||||
@ -1010,7 +1010,7 @@ struct lemon *lemp;
|
|||||||
break;
|
break;
|
||||||
}else{
|
}else{
|
||||||
SetUnion(newcfp->fws,xsp->firstset);
|
SetUnion(newcfp->fws,xsp->firstset);
|
||||||
if( xsp->lambda==FALSE ) break;
|
if( xsp->lambda==B_FALSE ) break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if( i==rp->nrhs ) Plink_add(&cfp->fplp,newcfp);
|
if( i==rp->nrhs ) Plink_add(&cfp->fplp,newcfp);
|
||||||
@ -3625,7 +3625,7 @@ char *x;
|
|||||||
sp->prec = -1;
|
sp->prec = -1;
|
||||||
sp->assoc = UNK;
|
sp->assoc = UNK;
|
||||||
sp->firstset = 0;
|
sp->firstset = 0;
|
||||||
sp->lambda = FALSE;
|
sp->lambda = B_FALSE;
|
||||||
sp->destructor = 0;
|
sp->destructor = 0;
|
||||||
sp->datatype = 0;
|
sp->datatype = 0;
|
||||||
Symbol_insert(sp,sp->name);
|
Symbol_insert(sp,sp->name);
|
||||||
|
Reference in New Issue
Block a user