drh 
							
						 
					 
					
						
						
							
						
						4e86aa86ea 
					 
					
						
						
							
							Fix lempar.c so that Lemon can compile with NDEBUG defined.  
						
						... 
						
						
						
						[forum:/forumpost/f331adca0b|Forum post f331adca0b]
FossilOrigin-Name: ba4fb51853fbcb8c142a350b4db0d59153f28ba0a63ad9a2d6fea7096d3dd544 
						
						
					 
					
						2021-11-09 01:48:15 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						6d77a2948e 
					 
					
						
						
							
							Patch lemon to fix "error" token handling, according ot  
						
						... 
						
						
						
						[forum:/forumpost/e680f42f53090061|forum post e680f42f53090061].
FossilOrigin-Name: 106b5e5355a3836a9756333e6dcbb13f0878a5352dab00973b8f0900879bd724 
						
						
					 
					
						2021-08-27 11:26:37 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						8eaf6c620e 
					 
					
						
						
							
							Improvement to error handling in Lemon.  No impact on SQLite.  
						
						... 
						
						
						
						[forum:/forumpost/2f468f43cbc48d7f|Forum post 2f468f43cbc48d7f]
FossilOrigin-Name: 18cc2f85744a18b6810d30baebe07a7a1bd332348e13b1a50d779edc616fb0c1 
						
						
					 
					
						2021-08-20 19:51:22 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						d519bbdf5c 
					 
					
						
						
							
							Fix an off-by-one error in the error-handling logic of the Lemon  
						
						... 
						
						
						
						parser-generator.  This does not affect SQLite.
[forum:/forumpost/cff80737bf|Forum cff80737bf].
FossilOrigin-Name: 7cca80808cef192fe0479477056a028e230a164fd368e72100def065d424ca2c 
						
						
					 
					
						2021-08-17 19:59:09 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						e81f879f51 
					 
					
						
						
							
							In Lemon, factor the parser stack overflow detection logic out of the  
						
						... 
						
						
						
						yy_reduce() subroutine and into the main parser routine, so that when overflow
is detected, it can exit immediately.  This saves a single conditional in
the main loop of the parser.
FossilOrigin-Name: 203c049c662380411522d0c7c493201331bbb2792a7c5b12684f04f532a0695d 
						
						
					 
					
						2021-01-02 23:56:37 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						9ca41fbfa9 
					 
					
						
						
							
							Remove a new assert() that the compiler finds is always true at compile-time,  
						
						... 
						
						
						
						to avoid a compiler warning.
FossilOrigin-Name: 8bbaee238593741da107b92b254cb5f0cf8b6bcc760bf2b25d20e46c8edee2a9 
						
						
					 
					
						2020-09-20 13:33:28 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						79d9af960b 
					 
					
						
						
							
							Attempt to silence harmless static analyzer warnings in Lemon and in the  
						
						... 
						
						
						
						Lemon-generated parser.
FossilOrigin-Name: de8ce22a46c90afa5475cd24c28b7a82b26410dc72d662af2f9d9e5e528e0eec 
						
						
					 
					
						2020-09-20 12:10:28 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						18ef40e563 
					 
					
						
						
							
							Fix harmless compiler warnings in Lemon.  
						
						... 
						
						
						
						FossilOrigin-Name: 6c94ba4b1c16b676978808dcb24f63c2f22915af5dcfe9f635c037011affcf4b 
						
						
					 
					
						2020-09-16 16:55:56 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						60c71b02ca 
					 
					
						
						
							
							Lemon updates:  (1) include the #defines for all tokens in the generated C  
						
						... 
						
						
						
						file, so that the C-file can be stand-alone.  (2) If the grammar begins with
a %include {...} directive on line one, make that directive the header for
the generated C file.  (3) Enhance the lemon.html documentation.
FossilOrigin-Name: 84d54eb35716174195ee7e5ac846f47308e5dbb0056e8ff568daa133860bab74 
						
						
					 
					
						2020-09-01 11:20:03 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						ce678c297b 
					 
					
						
						
							
							Improved tracing output from the LEMON-generated parser.  
						
						... 
						
						
						
						FossilOrigin-Name: 4d6d2fc046d586a1e5989bbb2757f13d0371fbfad0acf45a0e2fd77dffd8d8f9 
						
						
					 
					
						2019-12-11 18:53:51 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						276d7f7847 
					 
					
						
						
							
							Try to fix a harmless compiler warning reported by ICC.  
						
						... 
						
						
						
						FossilOrigin-Name: 7f41b44ca2ecb907ea0fd09a974ac9dbdf911463a94f0f77c826cf1b1d9c3e8c 
						
						
					 
					
						2019-10-21 16:15:57 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						6ee3fa87fd 
					 
					
						
						
							
							Fix an unreachable branch in sqlite3ParserFallback()  
						
						... 
						
						
						
						FossilOrigin-Name: e059178b47109caee2c2211b2db6e594c014af636677118a64e10edf01ac017d 
						
						
					 
					
						2019-08-28 11:49:45 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						010bdb4c79 
					 
					
						
						
							
							Further improvements to parser speed by enlarging lookup tables to eliminate  
						
						... 
						
						
						
						the need to do range checking on the index prior to lookup.
FossilOrigin-Name: 47d3e091ae49eb7947af5abef9b5b96b16b86d349e51fe0677795649be6db473 
						
						
					 
					
						2019-08-28 11:31:11 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						2e51716b15 
					 
					
						
						
							
							Increase the size of the yy_lookahead table so that it is never necessary to  
						
						... 
						
						
						
						down bounds checking on the index.
FossilOrigin-Name: bafd872398e58766e996963372c7acc03a1e20a6d39a3867ca45d3ea0ed2ac1d 
						
						
					 
					
						2019-08-28 02:09:47 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						55f66b341a 
					 
					
						
						
							
							Add new assert() statements in an attempt to help static analyzers avoid  
						
						... 
						
						
						
						false-positives.
FossilOrigin-Name: 9e66458592d40fbd96ea5f21339573110ca1cfe328238a020c9420a87d35dd72 
						
						
					 
					
						2019-07-16 19:44:32 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						cfc45b1021 
					 
					
						
						
							
							Reduce the size of the parser tables generated by Lemon by splitting the  
						
						... 
						
						
						
						yyRuleInfo structure into separate yyRuleInfoLhs and yyRuleInfoNRhs arrays.
FossilOrigin-Name: 70fe8ec2ae3099b8773834c7ac2e56768addbecd57956ac523e71a7dc264049c 
						
						
					 
					
						2018-12-03 23:57:27 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						60ce5d3135 
					 
					
						
						
							
							Add a simple test case for Lemon.  Always include assert.h in the  
						
						... 
						
						
						
						Lemon-generated parser.
FossilOrigin-Name: 9c9c46dcbe92aeabe3d5675bb69681b6dfd53798bc67e6a2ceba67ed3c4fb0af 
						
						
					 
					
						2018-11-27 14:34:33 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						b8a762827c 
					 
					
						
						
							
							Fix to the error handling logic in the Lemon parser template.  This does  
						
						... 
						
						
						
						not affect SQLite since SQLite does not use that part of the Lemon parser
template.
FossilOrigin-Name: c6dfc59eb12a02d35b708b5d94239377c79f688fa572f72bad51a157b1bf599c 
						
						
					 
					
						2018-11-27 14:03:11 +00:00 
						 
				 
			
				
					
						
							
							
								mistachkin 
							
						 
					 
					
						
						
							
						
						709c822f5e 
					 
					
						
						
							
							Fix more harmless compiler warnings seen with MSVC.  
						
						... 
						
						
						
						FossilOrigin-Name: edab5666f8470b37e6031dfd80e615b1aab95d1d85ccbe4ece1a813f8b3d4d95 
						
						
					 
					
						2018-07-22 21:23:19 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						c7bf57168a 
					 
					
						
						
							
							Fixes for various harmless compiler warnings.  
						
						... 
						
						
						
						FossilOrigin-Name: 5023b1b85b883a716a5da673740b6effe214ee0490f4ca45f161bb8b04784366 
						
						
					 
					
						2018-07-09 22:49:01 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						9f607e9c23 
					 
					
						
						
							
							Quick patch to the Lemon parser template to avoid an array overread reported  
						
						... 
						
						
						
						by OSSFuzz.  A proper fix involves enhancements to the table generators in
Lemon to make the overread impossible.  That fix will take longer to
implement.  The current check-in is a stop-gap.
FossilOrigin-Name: 3f6730be4cb712a28401be6d96e56ccb3f2e98dd8961b477befec3f363715178 
						
						
					 
					
						2018-07-01 16:05:40 +00:00 
						 
				 
			
				
					
						
							
							
								dan 
							
						 
					 
					
						
						
							
						
						5001b3314d 
					 
					
						
						
							
							Merge all changes from the weak-fallback branch except those related to the  
						
						... 
						
						
						
						weak-fallback feature itself.
FossilOrigin-Name: aad718fb1afacf1c921966796ab1e149207c31b16409c5672f0371f4fb9d6565 
						
						
					 
					
						2018-06-30 19:12:36 +00:00 
						 
				 
			
				
					
						
							
							
								dan 
							
						 
					 
					
						
						
							
						
						59ff42516c 
					 
					
						
						
							
							Instead of using a lemon %fallback directive, have the tokenizer try to figure  
						
						... 
						
						
						
						out whether an instance of "WINDOW" should be TK_WINDOW or TK_ID.
FossilOrigin-Name: 022079cb0d67be5ac0a50dd9a4d41ee55ce8df681ecd0a544170d75fc8649978 
						
						
					 
					
						2018-06-29 17:44:52 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						3773c25f16 
					 
					
						
						
							
							Introduce the concept of "weak fallback" in the parser.  A weak fallback  
						
						... 
						
						
						
						only occurs if a syntax error would result otherwise.
FossilOrigin-Name: c41d7079fb63831bd2f009b64cbf5a423e8119e6b841bfd9bd5a2d85fba3b142 
						
						
					 
					
						2018-06-28 03:38:49 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						05ef50d08a 
					 
					
						
						
							
							Fix an unreachable branch associated with stack overflow in the  
						
						... 
						
						
						
						LEMON-generated parser.
FossilOrigin-Name: e3064ba3b68ca2a1c54561756e8c898866a19ef6e785d315171cd47827a50c85 
						
						
					 
					
						2018-04-23 00:25:31 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						fd39c5874a 
					 
					
						
						
							
							Performance improvements on the main loop of the LEMON-generated parser.  
						
						... 
						
						
						
						FossilOrigin-Name: fec1ebadeb9d6b55b19a1c159c543fd7ae67b3307c4caee4d2541bd783630e23 
						
						
					 
					
						2018-04-21 22:40:08 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						fb32c44e41 
					 
					
						
						
							
							Add the %extra_context directive to lemon, as an alternative to %extra_argument.  
						
						... 
						
						
						
						Use this to improve the performance of the parser.
FossilOrigin-Name: be47a6f5262a43f477700579512fe7112a0872faedcbbe5c3383d13a08af6440 
						
						
					 
					
						2018-04-21 13:51:42 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						54cfb492b7 
					 
					
						
						
							
							Fix a harmless compiler warning.  
						
						... 
						
						
						
						FossilOrigin-Name: a6c3115483d597fc77ab19fdcfd1d3437cad7e467081ad8c5315fb98c115eed9 
						
						
					 
					
						2018-02-09 15:04:51 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						b968518559 
					 
					
						
						
							
							Fix harmless compiler warnings, mostly unused parameters for UDFs in the CLI.  
						
						... 
						
						
						
						FossilOrigin-Name: bfbeffab7735461acb3773242ba31dae15af9f8b0291c54a6734747bb1b36e66 
						
						
					 
					
						2018-01-17 13:15:23 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						cf8e0e9cb7 
					 
					
						
						
							
							The previous check-in had an error in the coverage reporting logic.  
						
						... 
						
						
						
						FossilOrigin-Name: ec9b19eb652e81cd3c8a5595eb39aac3aca4abe72136c4b65c9cc257594a9c92 
						
						
					 
					
						2017-12-27 17:36:58 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						7038a991b0 
					 
					
						
						
							
							Change the coverage measurement logic in the lemon-generated parser so that  
						
						... 
						
						
						
						it only checks for coverage of state/lookahead pairs that are valid syntax.
It turns out that some states are unreachable if the lookahead is not valid
syntax, because the states are only reachable through a shift following a
reduce, and the reduce does not happen if the lookahead is a syntax error.
FossilOrigin-Name: 9dce46508772bd0f9e940c4d44933154044bb58c1b3511dd0143287bf795dd6b 
						
						
					 
					
						2017-12-27 17:14:50 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						7e7b753158 
					 
					
						
						
							
							In the lemon-generated parser, do not report the End-of-input character and  
						
						... 
						
						
						
						the wildcard character as missed coverage.
FossilOrigin-Name: 3fe964873da16c0e0b1c4f1945f965d4137df7a307acd6a3eb6585ffbaa2afd1 
						
						
					 
					
						2017-12-27 16:13:22 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						22716cbb0b 
					 
					
						
						
							
							Change the lemon-parser coverage report format to report all state/lookahead  
						
						... 
						
						
						
						pairs and indicate on each whether it is hit or missed.
FossilOrigin-Name: 86e30fc284c740b55f75884b67988fe837b28878f586f6ec8850ecf80164e700 
						
						
					 
					
						2017-12-26 18:32:06 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						0d9de99c5c 
					 
					
						
						
							
							Add support for measuring and reporting coverage of the parser state machine  
						
						... 
						
						
						
						using the SQLITE_TESTCTRL_PARSER_COVERAGE test-control.
FossilOrigin-Name: 1253a872dbf48656d4efd588ab61223a5ac550d9b2b932249d6ba585276ba573 
						
						
					 
					
						2017-12-26 18:04:23 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						3a9d6c7156 
					 
					
						
						
							
							Enhance LEMON so that it generates the action table in such a way that no  
						
						... 
						
						
						
						range check is needed on the lookahead table to verify that the next input
token is valid.  This makes the lookahead table slightly larger (about 120
bytes) but helps the parser to run faster.
FossilOrigin-Name: 7eb0198d0102e97e4b7ad9e359d95985e55e09c510ea4b360265ac8feb9ed814 
						
						
					 
					
						2017-12-25 04:15:38 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						ef53a9f0af 
					 
					
						
						
							
							In the LEMON-generated parser, avoid unnecessary tests for the acceptance  
						
						... 
						
						
						
						state.
FossilOrigin-Name: fdbb35c54f2b6cb65d04ac295f207ff3e69360e0558348c77eb5e62691807046 
						
						
					 
					
						2017-12-25 00:10:05 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						5c8241b875 
					 
					
						
						
							
							In the LEMON-generated parser, rearrange the meanings of integer action codes  
						
						... 
						
						
						
						so that reduce actions occur last.  This means that the most common case
(reduce actions) can be recognized with a single comparison operation, thus
speeding up the main parser loop, slightly.
FossilOrigin-Name: 7bfe7a360261ac7227840db49487c2f0fe338a2f1b868fcaada1e04a8d2b8f7a 
						
						
					 
					
						2017-12-24 23:38:10 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						e58f74f680 
					 
					
						
						
							
							Improved parser tracing output.  
						
						... 
						
						
						
						FossilOrigin-Name: 25be5750545b7b0ed9e1a1baca31611b354519688f875aa1590b21bb6ff42f1b 
						
						
					 
					
						2017-12-24 17:06:41 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						087316ceec 
					 
					
						
						
							
							In the LEMON parser generator, provide reduce actions with access to the  
						
						... 
						
						
						
						lookahead token.
FossilOrigin-Name: 42af190f4f86ad60de02800054010fafd484ac86ca41e2a13799b2e583eea98c 
						
						
					 
					
						2017-12-15 12:22:21 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						de6422a609 
					 
					
						
						
							
							Improvements to a comment in lempar.c.  No code changes.  
						
						... 
						
						
						
						FossilOrigin-Name: 8000d230171fe53599fc6a916666f60f88f789e6c9c6c2869514c02d837d6fc8 
						
						
					 
					
						2017-10-02 02:32:12 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						92395c59ff 
					 
					
						
						
							
							Fix a problem in the lempar.c Lemon template for YYSTACKDEPTH<=0 introduced  
						
						... 
						
						
						
						by check-in [36e54cd8b1fb37]
FossilOrigin-Name: 268a40f44cea6c3f561b7f54c90d631877be44292911424bac24f72c5ee87d60 
						
						
					 
					
						2017-07-04 12:50:00 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						8b471e7e79 
					 
					
						
						
							
							Faster parser stack overflow detection.  
						
						... 
						
						
						
						FossilOrigin-Name: 36e54cd8b1fb374fd41e3e09b34b86e34327bf07c9e4bfec58382163c5c5d279 
						
						
					 
					
						2017-06-28 15:01:35 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						6be95366c7 
					 
					
						
						
							
							In the lemon-generated parser, store the number of symbols on the RHS of each  
						
						... 
						
						
						
						rule as a negative number and add it to the stack pointer, rather than storing
the value as a positive and subtracting it.  This makes the parser faster.
FossilOrigin-Name: b362f0d8ed34839bf3b29d10ed0853ab94245fba135ccd28e619caa6ee6992d5 
						
						
					 
					
						2017-06-28 13:47:56 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						bd8fcc130a 
					 
					
						
						
							
							In the lemon-generated parser, automatically promote SHIFTREDUCE actions on  
						
						... 
						
						
						
						nonterminal systems to pure REDUCE actions, for a performance enhancement.
FossilOrigin-Name: c46d94a8cde816ca383e771721ebd4900de77950cba700e35a26f70fd5b794a4 
						
						
					 
					
						2017-06-28 11:56:18 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						d26cc54183 
					 
					
						
						
							
							In the amalgamation, allocate the parser engine object from stack rather than  
						
						... 
						
						
						
						from heap, for improved performance.  This only happens in the amalgamation,
since otherwise the sqlite3RunParser() routine does not know the object size.
FossilOrigin-Name: 4fe879d4b5da6ae0688a7a99004683a234966597 
						
						
					 
					
						2017-01-28 20:46:37 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						634133183c 
					 
					
						
						
							
							In the LEMON parser-generator, fix the stack overflow processing so that it  
						
						... 
						
						
						
						correct invokes the destructor on the top-level of the parse stack.
FossilOrigin-Name: e8247065cf1d929f42d13864f8a1886ed4d329cd 
						
						
					 
					
						2016-12-06 17:59:05 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						4eda15e715 
					 
					
						
						
							
							Fix a problem with the lempar.c parser template.  
						
						... 
						
						
						
						FossilOrigin-Name: 3a9d802fda10585654332b314d317250dc5d894e 
						
						
					 
					
						2016-10-04 12:20:12 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						701b68879c 
					 
					
						
						
							
							Improved comments on the lempar.c parser template.  Adjust the  
						
						... 
						
						
						
						YY_SHIFT_USE_DFLT constant in the Lemon-generated parser tables so as
to guarantee that it is always out of range of the yy_lookahead[] table.
FossilOrigin-Name: 83622f3f50030e4d6abafb99d99742928aaf157c 
						
						
					 
					
						2016-08-10 13:30:43 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						c83db9e4e1 
					 
					
						
						
							
							Performance optimization in the yy_find_shift_action() routine of the  
						
						... 
						
						
						
						Lemon-generated parser.
FossilOrigin-Name: ba6663beefcc8060e6f3be6ab37c13fdbb08b7de 
						
						
					 
					
						2016-08-10 01:43:30 +00:00 
						 
				 
			
				
					
						
							
							
								drh 
							
						 
					 
					
						
						
							
						
						dd703e22a5 
					 
					
						
						
							
							Fix the error counter reset in Lemon generated parsers.  This has no effect  
						
						... 
						
						
						
						on SQLite.
FossilOrigin-Name: 3ef93950d30b34d852d6bbc101d433a04112868a 
						
						
					 
					
						2016-07-12 19:54:49 +00:00