Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Detect stack overflow in the parser and report an error. (CVS 3112) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
bd2c38f4670d1243284f2431b5e0712a |
User & Date: | drh 2006-02-27 21:58:08.000 |
Context
2006-02-27
| ||
22:22 | The parser now permits very large triggers - triggers with 10000 or more statements. (CVS 3113) (check-in: b4fa96d0e9 user: drh tags: trunk) | |
21:58 | Detect stack overflow in the parser and report an error. (CVS 3112) (check-in: bd2c38f467 user: drh tags: trunk) | |
2006-02-24
| ||
03:09 | Additional compiler warnings suppressed. (CVS 3111) (check-in: a359b1817e user: drh tags: trunk) | |
Changes
Changes to src/parse.y.
︙ | ︙ | |||
10 11 12 13 14 15 16 | ** ************************************************************************* ** This file contains SQLite's grammar for SQL. Process this file ** using the lemon parser generator to generate C code that runs ** the parser. Lemon will also generate a header file containing ** numeric codes for all of the tokens. ** | | | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | ** ************************************************************************* ** This file contains SQLite's grammar for SQL. Process this file ** using the lemon parser generator to generate C code that runs ** the parser. Lemon will also generate a header file containing ** numeric codes for all of the tokens. ** ** @(#) $Id: parse.y,v 1.197 2006/02/27 21:58:08 drh Exp $ */ // All token codes are small integers with #defines that begin with "TK_" %token_prefix TK_ // The type of the data attached to each token is Token. This is also the // default type for non-terminals. |
︙ | ︙ | |||
36 37 38 39 40 41 42 43 44 45 46 47 48 49 | if( TOKEN.z[0] ){ sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &TOKEN); }else{ sqlite3ErrorMsg(pParse, "incomplete SQL statement"); } } } // The name of the generated procedure that implements the parser // is as follows: %name sqlite3Parser // The following text is included near the beginning of the C source // code file that implements the parser. | > > > | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | if( TOKEN.z[0] ){ sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &TOKEN); }else{ sqlite3ErrorMsg(pParse, "incomplete SQL statement"); } } } %stack_overflow { sqlite3ErrorMsg(pParse, "parser stack overflow"); } // The name of the generated procedure that implements the parser // is as follows: %name sqlite3Parser // The following text is included near the beginning of the C source // code file that implements the parser. |
︙ | ︙ |