aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2012-01-28 19:44:22 +0000
committerdrh <drh@noemail.net>2012-01-28 19:44:22 +0000
commit8395b7b6cbe5db379b25c000b2bcdbc0e2f1cbaf (patch)
tree19387ca7c0b1947db7a51dbc39b9f76f3f600459 /src
parentb421b894e0889fd0e573c5c541d7643c30ba5290 (diff)
downloadsqlite-8395b7b6cbe5db379b25c000b2bcdbc0e2f1cbaf.tar.gz
sqlite-8395b7b6cbe5db379b25c000b2bcdbc0e2f1cbaf.zip
Remove a couple of unnecessary nonterminals from the grammar.
FossilOrigin-Name: 2b2a7d8d736d1e72f847f443b9957e41da6149c9
Diffstat (limited to 'src')
-rw-r--r--src/parse.y16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/parse.y b/src/parse.y
index 3bdf3f008..66d5cb695 100644
--- a/src/parse.y
+++ b/src/parse.y
@@ -581,20 +581,17 @@ using_opt(U) ::= . {U = 0;}
%destructor orderby_opt {sqlite3ExprListDelete(pParse->db, $$);}
%type sortlist {ExprList*}
%destructor sortlist {sqlite3ExprListDelete(pParse->db, $$);}
-%type sortitem {Expr*}
-%destructor sortitem {sqlite3ExprDelete(pParse->db, $$);}
orderby_opt(A) ::= . {A = 0;}
orderby_opt(A) ::= ORDER BY sortlist(X). {A = X;}
-sortlist(A) ::= sortlist(X) COMMA sortitem(Y) sortorder(Z). {
- A = sqlite3ExprListAppend(pParse,X,Y);
+sortlist(A) ::= sortlist(X) COMMA expr(Y) sortorder(Z). {
+ A = sqlite3ExprListAppend(pParse,X,Y.pExpr);
if( A ) A->a[A->nExpr-1].sortOrder = (u8)Z;
}
-sortlist(A) ::= sortitem(Y) sortorder(Z). {
- A = sqlite3ExprListAppend(pParse,0,Y);
+sortlist(A) ::= expr(Y) sortorder(Z). {
+ A = sqlite3ExprListAppend(pParse,0,Y.pExpr);
if( A && ALWAYS(A->a) ) A->a[0].sortOrder = (u8)Z;
}
-sortitem(A) ::= expr(X). {A = X.pExpr;}
%type sortorder {int}
@@ -1197,11 +1194,10 @@ nmnum(A) ::= ON(X). {A = X;}
nmnum(A) ::= DELETE(X). {A = X;}
nmnum(A) ::= DEFAULT(X). {A = X;}
%endif SQLITE_OMIT_PRAGMA
-plus_num(A) ::= plus_opt number(X). {A = X;}
+plus_num(A) ::= PLUS number(X). {A = X;}
+plus_num(A) ::= number(X). {A = X;}
minus_num(A) ::= MINUS number(X). {A = X;}
number(A) ::= INTEGER|FLOAT(X). {A = X;}
-plus_opt ::= PLUS.
-plus_opt ::= .
//////////////////////////// The CREATE TRIGGER command /////////////////////