/ Check-in [74a0181f]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Grammar changes: the sclp non-terminal should always be followed by a scanpt.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | span-refactor
Files: files | file ages | folders
SHA3-256: 74a0181fc016fb0b7934188cfcc2ec26c689f0d33cc42453875f4392b7240d3a
User & Date: drh 2017-12-24 17:01:54
Context
2017-12-27
19:27
Merge recent enhancements from trunk. check-in: 76373091 user: drh tags: span-refactor
2017-12-24
17:01
Grammar changes: the sclp non-terminal should always be followed by a scanpt. check-in: 74a0181f user: drh tags: span-refactor
14:14
Improved parser tracing output. check-in: c4951833 user: drh tags: span-refactor
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/parse.y.

   571    571   sclp(A) ::= selcollist(A) COMMA.
   572    572   sclp(A) ::= .                                {A = 0;}
   573    573   selcollist(A) ::= sclp(A) scanpt(B) expr(X) scanpt(Z) as(Y).     {
   574    574      A = sqlite3ExprListAppend(pParse, A, X);
   575    575      if( Y.n>0 ) sqlite3ExprListSetName(pParse, A, &Y, 1);
   576    576      sqlite3ExprListSetSpan(pParse,A,B,Z);
   577    577   }
   578         -selcollist(A) ::= sclp(A) STAR. {
          578  +selcollist(A) ::= sclp(A) scanpt STAR. {
   579    579     Expr *p = sqlite3Expr(pParse->db, TK_ASTERISK, 0);
   580    580     A = sqlite3ExprListAppend(pParse, A, p);
   581    581   }
   582    582   selcollist(A) ::= sclp(A) scanpt nm(X) DOT STAR. {
   583    583     Expr *pRight = sqlite3PExpr(pParse, TK_ASTERISK, 0, 0);
   584    584     Expr *pLeft = sqlite3ExprAlloc(pParse->db, TK_ID, &X, 1);
   585    585     Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight);