1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-30 19:03:16 +03:00

Additional grammar cleanup resulting from the %fallback directive. (CVS 606)

FossilOrigin-Name: c0cb3a012e02df1a7965413a92f9b5a77331edb4
This commit is contained in:
drh
2002-06-06 19:04:16 +00:00
parent 0bd1f4ea5a
commit 34e33bb835
3 changed files with 12 additions and 45 deletions

View File

@ -1,5 +1,5 @@
C Added\sthe\s%fallback\sdirective\sto\sthe\slemon\sparser\sgenerator\sand\sused\sthis\nin\sthe\sparser\sto\smake\sthe\sparse\stables\smuch\ssmaller.\s\sThis\sreduced\sthe\ssize\nof\sthe\slibrary\sby\s15K.\s(CVS\s605) C Additional\sgrammar\scleanup\sresulting\sfrom\sthe\s%fallback\sdirective.\s(CVS\s606)
D 2002-06-06T18:54:40 D 2002-06-06T19:04:16
F Makefile.in 6291a33b87d2a395aafd7646ee1ed562c6f2c28c F Makefile.in 6291a33b87d2a395aafd7646ee1ed562c6f2c28c
F Makefile.template 4e11752e0b5c7a043ca50af4296ec562857ba495 F Makefile.template 4e11752e0b5c7a043ca50af4296ec562857ba495
F README a4c0ba11354ef6ba0776b400d057c59da47a4cc0 F README a4c0ba11354ef6ba0776b400d057c59da47a4cc0
@ -34,7 +34,7 @@ F src/os.c 9cc40c5384baba4a85e160e67807645ca98ba3cc
F src/os.h 4a361fccfbc4e7609b3e1557f604f94c1e96ad10 F src/os.h 4a361fccfbc4e7609b3e1557f604f94c1e96ad10
F src/pager.c 1e41053c949cea1f09d8dafada5fe8f90785e650 F src/pager.c 1e41053c949cea1f09d8dafada5fe8f90785e650
F src/pager.h 6fddfddd3b73aa8abc081b973886320e3c614f0e F src/pager.h 6fddfddd3b73aa8abc081b973886320e3c614f0e
F src/parse.y e8c65150e8f581da6cc0bc5a87063ed7a2b28564 F src/parse.y 3b4989cb81ab2f441ef6c7cbb203829838eb299e
F src/printf.c d8032ee18b860c812eeff596c9bebfdacb7930fd F src/printf.c d8032ee18b860c812eeff596c9bebfdacb7930fd
F src/random.c 19e8e00fe0df32a742f115773f57651be327cabe F src/random.c 19e8e00fe0df32a742f115773f57651be327cabe
F src/select.c 0293ec0190d9a991725579a5e9c3af2fb6c1b592 F src/select.c 0293ec0190d9a991725579a5e9c3af2fb6c1b592
@ -136,7 +136,7 @@ F www/speed.tcl da8afcc1d3ccc5696cfb388a68982bc3d9f7f00f
F www/sqlite.tcl 8b5884354cb615049aed83039f8dfe1552a44279 F www/sqlite.tcl 8b5884354cb615049aed83039f8dfe1552a44279
F www/tclsqlite.tcl 1db15abeb446aad0caf0b95b8b9579720e4ea331 F www/tclsqlite.tcl 1db15abeb446aad0caf0b95b8b9579720e4ea331
F www/vdbe.tcl 2013852c27a02a091d39a766bc87cff329f21218 F www/vdbe.tcl 2013852c27a02a091d39a766bc87cff329f21218
P 637ee587b5438c54ba2d8bd8fc15e584abb70946 P 7ac5bd293cbb2bf252f31f1571f7efac7e77280a
R d5040ca10de549792ac65f5e92bf037a R d4345db261ae090ac6a58373d7650fb9
U drh U drh
Z 67f180b15375cb80ef3d22765a7c3016 Z a44424a54b4cc26f96d80deba8206afd

View File

@ -1 +1 @@
7ac5bd293cbb2bf252f31f1571f7efac7e77280a c0cb3a012e02df1a7965413a92f9b5a77331edb4

View File

@ -14,7 +14,7 @@
** the parser. Lemon will also generate a header file containing ** the parser. Lemon will also generate a header file containing
** numeric codes for all of the tokens. ** numeric codes for all of the tokens.
** **
** @(#) $Id: parse.y,v 1.71 2002/06/06 18:54:40 drh Exp $ ** @(#) $Id: parse.y,v 1.72 2002/06/06 19:04:16 drh Exp $
*/ */
%token_prefix TK_ %token_prefix TK_
%token_type {Token} %token_type {Token}
@ -110,45 +110,12 @@ columnid ::= ids(X). {sqliteAddColumn(pParse,&X);}
// keywords. Any non-standard keyword can also be an identifier. // keywords. Any non-standard keyword can also be an identifier.
// //
%type id {Token} %type id {Token}
//id(A) ::= ABORT(X). {A = X;}
//id(A) ::= AFTER(X). {A = X;}
//id(A) ::= ASC(X). {A = X;}
//id(A) ::= BEFORE(X). {A = X;}
//id(A) ::= BEGIN(X). {A = X;}
//id(A) ::= CASCADE(X). {A = X;}
//id(A) ::= CLUSTER(X). {A = X;}
//id(A) ::= CONFLICT(X). {A = X;}
//id(A) ::= COPY(X). {A = X;}
//id(A) ::= DEFERRED(X). {A = X;}
//id(A) ::= DELIMITERS(X). {A = X;}
//id(A) ::= DESC(X). {A = X;}
//id(A) ::= EACH(X). {A = X;}
//id(A) ::= END(X). {A = X;}
//id(A) ::= EXPLAIN(X). {A = X;}
//id(A) ::= FAIL(X). {A = X;}
//id(A) ::= FOR(X). {A = X;}
//id(A) ::= FULL(X). {A = X;}
id(A) ::= ID(X). {A = X;} id(A) ::= ID(X). {A = X;}
//id(A) ::= IGNORE(X). {A = X;}
//id(A) ::= IMMEDATE(X). {A = X;}
//id(A) ::= INITIALLY(X). {A = X;}
//id(A) ::= INSTEAD(X). {A = X;}
//id(A) ::= MATCH(X). {A = X;}
//id(A) ::= JOIN(X). {A = X;}
//id(A) ::= KEY(X). {A = X;}
//id(A) ::= OF(X). {A = X;}
//id(A) ::= OFFSET(X). {A = X;}
//id(A) ::= PARTIAL(X). {A = X;}
//id(A) ::= PRAGMA(X). {A = X;}
//id(A) ::= REPLACE(X). {A = X;}
//id(A) ::= RESTRICT(X). {A = X;}
//id(A) ::= ROW(X). {A = X;}
//id(A) ::= STATEMENT(X). {A = X;}
//id(A) ::= TEMP(X). {A = X;}
//id(A) ::= TRIGGER(X). {A = X;}
//id(A) ::= VACUUM(X). {A = X;}
//id(A) ::= VIEW(X). {A = X;}
// The following directive causes tokens ABORT, AFTER, ASC, etc. to
// fallback to ID if they will not parse as their original value.
// This obviates the need for the "id" nonterminal.
//
%fallback ID %fallback ID
ABORT AFTER ASC BEFORE BEGIN CASCADE CLUSTER CONFLICT ABORT AFTER ASC BEFORE BEGIN CASCADE CLUSTER CONFLICT
COPY DEFERRED DELIMITERS DESC EACH END EXPLAIN FAIL FOR COPY DEFERRED DELIMITERS DESC EACH END EXPLAIN FAIL FOR