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:
12
manifest
12
manifest
@ -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
|
||||||
|
@ -1 +1 @@
|
|||||||
7ac5bd293cbb2bf252f31f1571f7efac7e77280a
|
c0cb3a012e02df1a7965413a92f9b5a77331edb4
|
43
src/parse.y
43
src/parse.y
@ -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
|
||||||
|
Reference in New Issue
Block a user