/ File History
Login

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

History of tool/lemon.c

2019-12-12
00:20
Fix goofy string formatting in lemon.c that dates from the K&R-C days. file: [50f9d189] check-in: [48ba5e5a] user: drh branch: trunk, size: 176900
2019-12-11
18:53
Improved tracing output from the LEMON-generated parser. file: [a53b48e0] check-in: [4d6d2fc0] user: drh branch: trunk, size: 176721
2019-12-10
20:41
Enhance LEMON to provide the ability to mark a rules as one that will never reduce due to intervention of actions. Use this new capability to designate the EXPLAIN rule as NEVER-REDUCES. file: [8c1abca6] check-in: [136cdefb] user: drh branch: trunk, size: 176539
2019-11-29
13:01
Add comments in the parse.sql file to help demonstrate how rules are encoded. file: [fa7912ca] check-in: [2c4f7148] user: drh branch: trunk, size: 176157
12:51
Fix the parse.sql output file so that it is readable into a database where foreign keys are enforced. file: [11dd73b0] check-in: [3a82c554] user: drh branch: trunk, size: 176074
2019-11-26
02:22
Add the new -S option to the lemon parser generator to cause it to output SQL that describes the input grammar. file: [aff705f5] check-in: [4dbd398d] user: drh branch: trunk, size: 175977
2019-09-11
15:25
Fix typo for one instance of line number handling in the Lemon tool. file: [61d5f0af] check-in: [980be173] user: mistachkin branch: trunk, size: 173919
2019-08-28
11:31
Further improvements to parser speed by enlarging lookup tables to eliminate the need to do range checking on the index prior to lookup. file: [c9848ef9] check-in: [47d3e091] user: drh branch: lemon-optimization, size: 173916
02:09
Increase the size of the yy_lookahead table so that it is never necessary to down bounds checking on the index. file: [3b40d248] check-in: [bafd8723] user: drh branch: lemon-optimization, size: 173789
2019-06-03
15:10
Fix harmless compiler warning in lemon. file: [bb641338] check-in: [3a052429] user: mistachkin branch: branch-3.28, size: 173116
15:09
Fix harmless compiler warning in lemon. file: [cc43148d] check-in: [2da0eea0] user: mistachkin branch: trunk, size: 173249
2019-05-10
16:16
Fix some harmless compiler warnings. file: [dbcb617f] check-in: [ca068d82] user: mistachkin branch: warnings, size: 173253
2019-04-30
14:26
Fix an error message in the Lemon parser generator. file: [d02a2767] check-in: [b6d7d42b] user: drh branch: trunk, size: 173123
2019-01-15
14:44
Fix a harmless memory leak in the Lemon parser generator utility program. file: [900a15b9] check-in: [1caff0fb] user: drh branch: trunk, size: 173120
2018-12-03
23:57
Reduce the size of the parser tables generated by Lemon by splitting the yyRuleInfo structure into separate yyRuleInfoLhs and yyRuleInfoNRhs arrays. file: [c9ba01f6] check-in: [70fe8ec2] user: drh branch: trunk, size: 173096
2018-09-08
16:55
Add a missing call to free() in Lemon. file: [60d1e1eb] check-in: [8b4cf33a] user: mistachkin branch: trunk, size: 172860
2018-06-28
03:38
Introduce the concept of "weak fallback" in the parser. A weak fallback only occurs if a syntax error would result otherwise. file: [93a321bd] check-in: [c41d7079] user: drh branch: weak-fallback, size: 173247
2018-04-21
20:24
Enhance LEMON to track which symbols actually carry semantic content. Output the list of symbols that do not carry content at the end of the report, but do not (yet) do anything else with the information. file: [33892e2a] check-in: [dcf2bafc] user: drh branch: trunk, size: 172841
13:51
Add the %extra_context directive to lemon, as an alternative to %extra_argument. Use this to improve the performance of the parser. file: [735516a0] check-in: [be47a6f5] user: drh branch: trunk, size: 172007
2018-04-20
20:47
Add the -dDIRECTORY command-line option to LEMON. file: [56eb42d9] check-in: [9cd20475] user: drh branch: trunk, size: 170720
2018-04-16
14:31
Lemon enhancements: (1) Do not allocate space for the 'error' non-terminal if it is not used. (2) Fix an off-by-one problem so that 'unsigned char' can be used for symbol numbers if the number of symbols is 256. file: [3b5fb488] check-in: [3b7801ac] user: drh branch: trunk, size: 170059
2018-04-06
19:12
Enhance LEMON to show precendence of symbols and all rules in the report that is generated in parallel to the parser. file: [c1a87d15] check-in: [602fbd81] user: drh branch: trunk, size: 170056
2017-12-27
15:21
In LEMON, fix an off-by-one error that can make the lookahead table one byte too smal. file: [7f773532] check-in: [93792bc5] user: drh branch: lemon-improvements, size: 169604
2017-12-26
18:04
Add support for measuring and reporting coverage of the parser state machine using the SQLITE_TESTCTRL_PARSER_COVERAGE test-control. file: [d92031ad] check-in: [1253a872] user: drh branch: lemon-improvements, size: 169601
2017-12-25
04:15
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. file: [c8d7ce4f] check-in: [7eb0198d] user: drh branch: lemon-improvements, size: 169523
2017-12-24
23:38
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. file: [7c6919d9] check-in: [7bfe7a36] user: drh branch: lemon-improvements, size: 168266
2017-08-02
03:21
Add the "%token" control to the lemon parser. Not currently used by SQLite. file: [e6056373] check-in: [a6e4c5ae] user: drh branch: trunk, size: 167306
2017-06-28
13:47
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. file: [5a04dff2] check-in: [b362f0d8] user: drh branch: trunk, size: 166452
11:56
In the lemon-generated parser, automatically promote SHIFTREDUCE actions on nonterminal systems to pure REDUCE actions, for a performance enhancement. file: [8f18c158] check-in: [c46d94a8] user: drh branch: trunk, size: 166451
2017-04-26
04:32
Fix a subtle bug in Lemon discovered and reported on the mailing list by Kelvin Sherlock, who also suggested the correct fix. file: [f4f10457] check-in: [304689f8] user: drh branch: trunk, size: 166206
2017-04-14
19:46
Remove end-of-line whitespace from lemon.c. file: [6b0cdffb] check-in: [d78355c8] user: drh branch: trunk, size: 166206
19:44
Fix some left-over K&R-C constructs in lemon.c. No changes to the core. file: [c02a8dff] check-in: [a5379905] user: drh branch: trunk, size: 166236
2016-12-29
19:48
Fix harmless compiler warnings in the command-line shell and in Lemon. file: [5ccba178] check-in: [afcdc4a6] user: drh branch: trunk, size: 166092
2016-08-16
16:46
Fix a bug in destructor processing of Lemon. That has no impact on the SQLite grammar. The bug was introduced by prior work to optimize the Lemon-generated parser used by SQLite. file: [e4fb7d88] check-in: [f9035b8e] user: drh branch: trunk, size: 166115
2016-08-10
13:30
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. file: [e3aa9ba3] check-in: [83622f3f] user: drh branch: trunk, size: 165941
2016-05-24
18:55
Enhance Lemon and the parser template so that it can once again build parsers that have no unreachable branches. file: [09a96bed] check-in: [41fd46e2] user: drh branch: trunk, size: 165899
2016-05-23
16:15
Lemon enhancement: avoid unnecessary reduce actions that convert one non-terminal into another but have no side effects. file: [b4da2f01] check-in: [a86e782a] user: drh branch: trunk, size: 165286
14:24
Fix comment typos and improve clarity of presention in Lemon. The output should be identical. file: [b622032d] check-in: [b91a5b82] user: drh branch: trunk, size: 163963
2016-04-30
17:19
More bug fixes to Lemon identified by Kelvin Sherlock. None of these have any impact on SQLite. file: [f38a5510] check-in: [762bdc55] user: drh branch: trunk, size: 163610
2016-04-29
11:28
Lemon bug fix: Do not merge action routines unless their destructors are also identical. Problem and suggested fix reported on the mailing list by Kelvin Sherlock. file: [83318dff] check-in: [4792d6db] user: drh branch: trunk, size: 163417
2016-03-16
19:45
Enhance Lemon so that it reorders the reduce rules such that rules without actions occur at the end and so that the first rule is number 0. This reduces the size of the jump table on the reduce switch, and helps the parser to run faster. file: [cfbfe061] check-in: [d5712f21] user: drh branch: trunk, size: 163334
2016-02-17
12:34
More agressive use of /*A-overwrites-X*/ in the parser. Fix an off-by-one error in parser stack overflow detection. file: [251f5c3f] check-in: [417e7777] user: drh branch: parser-performance, size: 161935
04:33
Enhance Lemon so that if reduce code contains a comment of the form "/*A-overwrites-X*/" then a LHS label A is allowed to overwrite the RHS label X. file: [31a7325a] check-in: [5cfe9545] user: drh branch: parser-performance, size: 161616
01:46
Further improvements to the Lemon-generated code for yy_reduce(). file: [61844c3d] check-in: [ef95a7d6] user: drh branch: parser-performance, size: 161009
01:18
In Lemon, add the ability for the left-most RHS label to be the same as the LHS label, causing the LHS values to be written directly into the stack. file: [501104fc] check-in: [4bb94c7c] user: drh branch: parser-performance, size: 160871
2015-10-29
13:48
Fix uses of ctype functions (ex: isspace()) on signed characters in test programs and in some obscure extensions. No changes to the core. file: [799e73e1] check-in: [34eb6911] user: drh branch: trunk, size: 157585
2015-09-08
21:16
Remove an unused local variable from Lemon. file: [039f813b] check-in: [fe9ffe5e] user: drh branch: trunk, size: 157301
2015-09-07
23:40
Minor tweaks to Lemon. file: [d7c82de6] check-in: [98667722] user: drh branch: trunk, size: 157309
18:23
For the Lemon-generated parser, add a new action type SHIFTREDUCE and use it to further compress the parser tables and improve parser performance. file: [0c455691] check-in: [531c3974] user: drh branch: lemon-update, size: 156917
14:22
In the "parse.out" output file from Lemon, show addition the complete text of rules on reduce actions. file: [a110c385] check-in: [b6ffb7e4] user: drh branch: trunk, size: 154994
02:23
Improved "Parser Statistics" output (the -s option) for the Lemon parser generator. file: [cc515b02] check-in: [809503e4] user: drh branch: trunk, size: 154023
2015-09-04
18:03
Fix over-length source code lines in Lemon. file: [b12cb605] check-in: [1efece95] user: drh branch: trunk, size: 152852
2015-04-19
21:43
Fix harmless compiler warnings seen with MSVC 2015. file: [b9109f59] check-in: [d05becd8] user: mistachkin branch: vsix2015, size: 152662
2015-03-31
15:15
Fix harmless compiler warnings in lemon.c file: [ae5f61e3] check-in: [bbe7dcda] user: drh branch: trunk, size: 152591
2015-01-12
18:02
Work in progress on fixing harmless compiler warnings when using -W4 and MSVC. file: [1864c4fe] check-in: [856dd245] user: mistachkin branch: msvcW4, size: 152612
2015-01-01
19:11
Enhance the "lemon" executable so that it ignores -f, -W, -O, and -I command-line options. This permits most of the same options that are passed to the compiler to also be harmlessly passed to lemon, and thus simplifies makefiles. file: [20f3132a] check-in: [da408d12] user: drh branch: trunk, size: 152593
2014-06-09
13:11
Modify the %nonassoc directive in lemon so that it generates a run-time error rather than a parsing conflict. This changes is due to a bug report on the mailing list. SQLite does not use the %nonassoc directive in its grammar so this change does not affect SQLite. file: [3ff0fec2] check-in: [1925f3a0] user: drh branch: trunk, size: 152226
2014-01-14
10:17
Fix harmless compiler warning in LEMON. file: [07aba627] check-in: [f61a7058] user: mistachkin branch: trunk, size: 152247
2014-01-11
12:52
In LEMON, limit the size of the grammar file to 100MB. This ensures that the program will never experience integer overflow. To be doubly sure, use calloc() instead of malloc() when allocating arrays. file: [6842b2e7] check-in: [29ba458d] user: drh branch: trunk, size: 152253
03:27
Add the "%token_class" directive to the LEMON parser generator. This opens up the possibility of simplifying the parser. Also remove all calls to sprintf(), strcpy(), and strcat() from LEMON to avoid compiler warnings on OpenBSD. (Aside: It is this change to avoid harmless compiler warnings that was the cause of the reason spat of bugs.) file: [624b24c5] check-in: [8eb48c04] user: drh branch: trunk, size: 152351
03:06
In LEMON, fix a bug in the text formatter introduced by the previous commit. Also add the new "%token_class" directive for defining symbolic names that stand any one of a collection of tokens. file: [4a3d4a57] check-in: [da7890ca] user: drh branch: lemon-updates, size: 152351
2014-01-10
23:21
Do not use sprintf(), strcpy() or strcat() in the implementation of the lemon parser generator tool, to avoid compiler warnings in OpenBSD. file: [04f60c89] check-in: [e43c522d] user: drh branch: lemon-updates, size: 149857
2013-10-11
23:01
Fix a harmless compiler warning in lemon.c. file: [796930d5] check-in: [62959c0c] user: drh branch: trunk, size: 147101
2013-10-02
20:46
In the lemon parser generator, change all hashes to unsigned to avoid potential problems with signed integer overflow. file: [323e54ac] check-in: [8d399a03] user: drh branch: trunk, size: 147091
2012-08-20
15:53
Remove tab characters from source code files. Replace them with spaces. file: [680980c7] check-in: [7edd10a9] user: drh branch: trunk, size: 147005
2012-06-16
15:26
In Lemon, when comparing the output to the *.h file to see if it has changed, make sure that the proposed new output and the preexisting output are the same size before deciding that they are the same. file: [8b7afc12] check-in: [0c2fb18d] user: drh branch: trunk, size: 146733
2012-04-18
09:59
Fix a typecast problem in lemon that could cause problems on 64-bit machines. file: [90f46af3] check-in: [4a5641cc] user: drh branch: trunk, size: 146672
2012-01-09
14:19
Cosmetic changes to lemon. No changes to core functionality nor impact on SQLite. file: [445f1899] check-in: [393fc78a] user: drh branch: trunk, size: 146680
2012-01-07
15:17
Fix a bug in lemon in computation of which non-terminals can generate an empty string. This bug and the fix make absolutely no difference for the grammar used by SQLite, but it can make a difference when lemon is used in other grammars. file: [b6a92ac0] check-in: [ce32775b] user: drh branch: trunk, size: 146858
2011-08-30
00:58
Fix a total unimportant file descriptor leak in lemon. This is to silence warning messages. file: [949328f6] check-in: [e95cf2c5] user: drh branch: trunk, size: 146814
2011-06-20
18:27
Fix compiler warnings in lemon by removing some of the code added by Ryan Gordon in [1e8b842039cc0]. file: [d51c68d4] check-in: [76b18b2b] user: drh branch: trunk, size: 146782
2011-06-02
15:48
Add a missing check for out-of-memory in the lemon code generator. file: [2f182cf5] check-in: [efb20b9d] user: drh branch: trunk, size: 147934
2010-11-23
20:55
Cherry-pick the lemon.c updates out of the lemon-update-2010 branch into the trunk. file: [dfd81a51] check-in: [1541ae3f] user: drh branch: trunk, size: 147871
2010-11-19
04:22
Lemon: Fixed compiler warning on Visual C++. file: [aaf110d0] check-in: [892c5f37] user: icculus branch: lemon-update-2010, size: 147088
04:19
Lemon: correcting previous win32 access() fix.    The previous fix caused link errors when compiled as C++. file: [f94ea13a] check-in: [bd03d333] user: icculus branch: lemon-update-2010, size: 147080
03:55
Lemon: Patched to compile with Visual Studio. file: [0fd01011] check-in: [0b945101] user: icculus branch: lemon-update-2010, size: 147013
2010-07-19
01:52
Improvements to the formatting of parse.out file from Lemon. Add the -r option to Lemon to disable the state sorting, making debugging easier. file: [fe890e2d] check-in: [a2eaf829] user: drh branch: trunk, size: 147770
2010-07-18
11:35
Add the -p option to lemon to cause conflicts resolved by precedence rules to appear in the parse.out file. file: [c6b68d7a] check-in: [fb6a59b0] user: drh branch: trunk, size: 147560
2010-03-03
17:09
Fixed compiler warning on Visual Studio. file: [6958cb99] check-in: [83495128] user: icculus branch: lemon-update-2010, size: 146987
17:06
Whoops, that shouldn't have been in the merge. Removed buggy code. file: [b01f96b2] check-in: [64372800] user: icculus branch: lemon-update-2010, size: 146979
17:00
Use Strsafe() instead of strdup(). Fixes Visual Studio complaining. file: [66831564] check-in: [89d8f98e] user: icculus branch: lemon-update-2010, size: 147301
16:54
Merged trunk to lemon-update-2010 branch. file: [497c3d3d] check-in: [88b466ba] user: icculus branch: lemon-update-2010, size: 147353
2010-02-17
20:31
Report error if the grammar has multiple %type lines for the same nonterminal. file: [651d2564] check-in: [721f33e7] user: icculus branch: lemon-update-2010, size: 147031
20:22
Fixed % formatting in some printf-style strings. file: [ec4def6e] check-in: [f96add89] user: icculus branch: lemon-update-2010, size: 146717
20:19
Corrected error message (cut-and-paste bug). file: [8e89d9fe] check-in: [b3839f2a] user: icculus branch: lemon-update-2010, size: 146715
05:40
Removed unused variables. file: [dcbb38b9] check-in: [ca570a02] user: icculus branch: lemon-update-2010, size: 146721
2010-02-16
16:09
Removed %expect directive, on drh's advice. file: [f95a5bc0] check-in: [b43ac330] user: icculus branch: lemon-update-2010, size: 146740
16:07
Patched to compile. Accidentally removed va_list declaration. file: [6f896924] check-in: [673d470c] user: icculus branch: lemon-update-2010, size: 147892
2010-02-15
00:01
Removed the 80-char line formatting for ErrorMsg(), on dhr's suggestion. file: [087dcf20] check-in: [132ea4e5] user: icculus branch: lemon-update-2010, size: 147878
2010-02-14
17:14
Make Lemon able to compile as C++ code. file: [a079c080] check-in: [75a1060b] user: icculus branch: lemon-update-2010, size: 149952
05:42
Added option to not clip error output.    This is useful for IDEs and other tools that benefit from full path information, so they can jump directly to the error line in the source code. file: [60833e52] check-in: [90602030] user: icculus branch: lemon-update-2010, size: 149440
05:34
Delete output files if this is a failed run.    Otherwise, the fail will stop a Makefile from progressing, but if you immediately run the build again, Make will think the output files are up to date, since they are newer (albeit incomplete/incorrect). file: [83edd172] check-in: [e38c08d9] user: icculus branch: lemon-update-2010, size: 149093
05:19
Added %expect directive, to consider a certain number of conflicts "correct."    This has the side effect of changing the process exit code to never overflow. file: [41510485] check-in: [d8bab8cf] user: icculus branch: lemon-update-2010, size: 147889
00:48
Added -T option, to specify a template filename on the command line.    The default is still "lempar.c", though. file: [bcaf8e92] check-in: [e6cbe1e5] user: icculus branch: lemon-update-2010, size: 146629
2010-01-07
03:53
Another attempt at fixing the table generator in lemon. Again, this does not effect the SQLite grammar. file: [10200037] check-in: [e22c090f] user: drh branch: trunk, size: 145830
2010-01-06
13:07
Fix an issue with lemon generating incorrect grammars. This issue does not effect SQLite. file: [f3a625c3] check-in: [077a6bee] user: drh branch: trunk, size: 144429
2009-11-03
19:18
Enhancements to lemon to generate more compact action tables and to avoid making array bounds tests that can never fail on action table calculations. file: [3088e4de] check-in: [27d8e684] user: drh branch: trunk, size: 144350
13:02
Adjust the lemon implementation so that it always computes the same PDA regardless of qsort() implementation on the host platform. In other words, make all sorts in lemon stable. file: [ee5e39ce] check-in: [d66a0f31] user: drh branch: trunk, size: 143786
2009-06-12
17:46
Change lemon so that it does not generate yytestcase() macros on destructor cases since destructors are commonly unreachable in a reasonable grammar. For the reduce-rule switch, gather all no-ops into the "default:" case. (CVS 6757) file: [0eb9829c] check-in: [caebfe82] user: drh branch: trunk, size: 143402
15:47
The previous check-in ((6755)) put in more yytestcase() macros than are called for. This check-in addresses that problem. (CVS 6756) file: [890d999c] check-in: [a5b182f9] user: drh branch: trunk, size: 143082
13:53
The lemon parser generator now inserts yytestcase() macros on reduce action and on each destructor, to verify that all have been executed. yytestcase() is a no-op by default but can be set to something more useful inside of %include. (CVS 6755) file: [19eb5bf6] check-in: [fe9c9177] user: drh branch: trunk, size: 142923
12:50
In lemon: omit unused entries from the end of the yyFallback array. (CVS 6754) file: [ef864b95] check-in: [9cfbe2ba] user: drh branch: trunk, size: 142740
2009-04-05
15:18
Fix a segfault in Lemon that occurs if the input grammar does not define a type for tokens. This does not effect SQLite since the SQLite grammar does define a type for tokens. (CVS 6451) file: [1a94e701] check-in: [4424aee9] user: drh branch: trunk, size: 142657
2008-12-11
02:20
Initialize the yyzerominor constant generated by lemon. (CVS 6016) file: [0f65442d] check-in: [76c8f6ba] user: drh branch: trunk, size: 142638
2008-12-10
20:10
Added option (-l) to lemon parser to have it skip printing line numbers (#line ... ). (CVS 6008) file: [9f21067f] check-in: [ccb9393a] user: shane branch: trunk, size: 142594
2008-08-13
20:09
Explicit casts of the return from strlen() to int in lemon. This has no effect on SQLite. It has no effect on any lemon-generated parser with a grammar that is less than 2GB in size. Ticket #3293. (CVS 5564) file: [6cb39632] check-in: [a519cdb2] user: drh branch: trunk, size: 142207
20:04
Fix token destructors in lemon generated parsers. Does not effect SQLite. Ticket #3299. (CVS 5563) file: [b1079f06] check-in: [4887e8fc] user: drh branch: trunk, size: 141807
2008-07-28
19:34
Implement the "lookaside" memory allocation cache. Use of this cache makes the speed1.test script run about 15% faster. Added new interfaces to control the cache. (CVS 5488) file: [bd3f56f7] check-in: [e48f9697] user: drh branch: trunk, size: 141797
2008-07-14
12:27
Fix additional typos in comments within lemon. Ticket #3215. (CVS 5405) file: [13e9c37a] check-in: [37214769] user: drh branch: trunk, size: 141796
12:21
Fix a bug in the #line generator of lemon. Ticket #3214. (CVS 5404) file: [e307368d] check-in: [dc697c26] user: drh branch: trunk, size: 141796
2008-07-01
17:13
In lemon: coalesce identical destructors. (CVS 5335) file: [f1f54e93] check-in: [3447086c] user: drh branch: trunk, size: 141782
16:34
In Lemon, if a non-terminal has the same type as a terminal, then reuse the terminal type in the YYMINORTYPE union for the non-terminal. This gives better table compression. (CVS 5334) file: [b7ea2ab7] check-in: [5c9cc22c] user: drh branch: trunk, size: 140950
2008-04-27
22:19
Allow multiple occurrances of %include in lemon input files. Ticket #3001. (CVS 5053) file: [a9c51c1e] check-in: [f22fa11b] user: drh branch: trunk, size: 140862
2008-01-27
10:35
remove an unused variable (CVS 4751) file: [1dc8d53c] check-in: [88846195] user: rse branch: trunk, size: 141106
2008-01-22
01:48
Changes to lemon to generate additional comments in the output file and to remove unreachable code. Additional test cases for improved test coverage. (CVS 4736) file: [5d1731de] check-in: [2a0bc1e1] user: drh branch: trunk, size: 141115
2007-12-21
00:02
Fix some issues with lemon. Tickets #2852 and #2835. (CVS 4641) file: [1c5a788b] check-in: [5283e0d1] user: drh branch: trunk, size: 140509
2007-10-05
16:16
Changes lemon so that the generated parser does not accept prior to seeing the EOF token. This is a lemon change only and does not effect SQLite. Ticket #2550. (CVS 4473) file: [5b243377] check-in: [1c68d934] user: drh branch: trunk, size: 140039
2007-09-20
11:34
get rid of remaining GCC 4.3 -Wall compiler warnings by initializing two variables and one structure properly (although the code path was already rather safe) (CVS 4439) file: [1f8c0ee2] check-in: [d748694f] user: rse branch: trunk, size: 139906
2007-08-23
02:50
Change names of constants in lemon.c to work around name conflicts on Solaris. Ticket #2583. (CVS 4274) file: [0ab4cca4] check-in: [e4e74cd0] user: drh branch: trunk, size: 139865
2007-07-30
18:31
"extern" declarations inside function bodies are not every compiler's favorite, so move to global scope. Additionally, at least under Unix environment use <unistd.h> to get the proper prototype instead of using a K&R-style own declaration. (CVS 4190) file: [265ab88e] check-in: [5955a77d] user: rse branch: trunk, size: 139821
2007-07-18
18:16
Additional diagnostics added to the "out" file generated by lemon. (CVS 4160) file: [995d20ec] check-in: [7ef2aaf7] user: drh branch: trunk, size: 139772
2007-03-29
20:13
Fix to token destructors in Lemon. This does not impact SQLite. Ticket #2175. (CVS 3753) file: [c8c8b25a] check-in: [6195af49] user: drh branch: trunk, size: 139433
01:44
Lemon change: compile the resulting parser with -DYYSTACKDEPTH=0 or set the "%stack_size" parameter to 0 in the grammar and the parser stack will be dynamically allocated using realloc() and free(). The default behavior is to have a finite depth stack. (CVS 3738) file: [3ac82886] check-in: [06719b74] user: drh branch: trunk, size: 139371
2007-02-22
23:06
Make the depth of the pushdown automaton stack generated by lemon changable at compile-time using -DYYSTACKDEPTH=<number>. (CVS 3654) file: [d3dff81e] check-in: [d8845ac1] user: drh branch: trunk, size: 139603
2007-01-16
03:09
Make sure the parser generated by lemon always calls destructors on unused symbols, even if there is no action following the rule. Ticket #2171. (CVS 3593) file: [2938bec5] check-in: [0c5c1b93] user: drh branch: trunk, size: 139513
2007-01-12
23:09
Fix a bug in lemon. The code in which the error appears might well be unreachable. The changes does not effect the code that is generated for the SQLite parser. Ticket #2164. (CVS 3591) file: [29d1bd8d] check-in: [f4ee5d83] user: drh branch: trunk, size: 139482
2006-12-14
01:06
Fix a bug in lemon that leads to an assertion fault given an invalid grammar. The bug and this fix do not effect on SQLite. Ticket #2107. (CVS 3528) file: [c200a81e] check-in: [f2ad230f] user: drh branch: trunk, size: 139483
2006-10-13
12:25
Avoid expanding %d contained in the action of a lemon parser rule. Ticket #1063. This is a fix for lemon only. It does not effect SQLite. (CVS 3476) file: [4e62a711] check-in: [81daedcf] user: drh branch: trunk, size: 139555
2006-07-17
00:19
Fix lemon so that it does not crash on a empty reduce action. Ticket #1892. (CVS 3333) file: [b71e494b] check-in: [4207ebc4] user: drh branch: trunk, size: 139548
2006-06-13
13:27
Lemon correctly recognizes an empty grammar and errors out. Fix for a bug reported on the sqlite-users mailing list. (CVS 3226) file: [c0ff92f7] check-in: [55392922] user: drh branch: trunk, size: 139525
2006-06-10
13:29
Basic parsing of CREATE VIRTUAL TABLE statements. (CVS 3210) file: [64aa2436] check-in: [66370cb9] user: drh branch: trunk, size: 139833
2006-03-06
20:55
Code changes resulting from Coverity analysis. http://scan.coverity.com/ Found 1 potential segfault in sqlite3_mprintf(). Also 2 failures to fclose() following a malloc() failure. And lots of cases where unnecessary conditionals could be removed from the code. (CVS 3126) file: [b0b881c1] check-in: [e510e6dd] user: drh branch: trunk, size: 138657
2005-11-06
04:06
About 0.5KiB of additional compression in the parser tables. (CVS 2764) file: [26d271a7] check-in: [f39974eb] user: drh branch: trunk, size: 138638
2005-11-05
15:04
Improved table compression in lemon reduces the overall library size by about 1.5KiB. (CVS 2761) file: [0cedabac] check-in: [86ac1147] user: drh branch: trunk, size: 135393
2005-02-16
03:35
Patch the command-line error message printing for lemon. Ticket #1120. (CVS 2345) file: [c88936c6] check-in: [97c7aaf1] user: drh branch: trunk, size: 134039
2005-01-23
22:41
Minor changes to avoid warnings on some compilers. (CVS 2267) file: [4a3b5ccc] check-in: [4daf1d1f] user: danielk1977 branch: trunk, size: 134052
2005-01-13
23:54
Fix a bug in lemon that does not effect SQLite. Ticket #1068. (CVS 2208) file: [eb3b2bbe] check-in: [7113b5ed] user: drh branch: trunk, size: 134047
2004-10-06
15:41
Convert many constants to have type "const". (CVS 2006) file: [250b30bc] check-in: [d790c84c] user: drh branch: trunk, size: 134047
2004-09-10
00:14
In lemon, allows open() using the "b" option to avoid \r problems on windows. Ticket #897. (CVS 1956) file: [325099f6] check-in: [b5b2e3db] user: drh branch: trunk, size: 134017
2004-09-09
14:01
Fix lemon so that inserted code always ends in a newline. Ticket #895. (CVS 1955) file: [f11acad4] check-in: [13fba17e] user: drh branch: trunk, size: 134012
2004-09-07
11:28
Lemon escapes backslashes in filenames in #line directives it generates. Ticket #892. (CVS 1943) file: [b64210ca] check-in: [d53047cb] user: drh branch: trunk, size: 133948
2004-08-30
14:22
Remove the \001 character that lemon inserts automatically in its output file. The need for this character has expired and it creates confusion for users. Ticket #877 (CVS 1920) file: [ece41a3c] check-in: [acfc5918] user: drh branch: trunk, size: 133713
2004-08-19
15:12
Enhance lemon so that a @X instead of just X in the code expands to the major token value rather than the minor token value. Use this to make the parser a few hundred bytes smaller. (CVS 1895) file: [0bae9c67] check-in: [28215096] user: drh branch: trunk, size: 133744
2004-07-20
14:06
Lemon collapses common destructors and reduce actions into a single case. (CVS 1837) file: [9ebd2cae] check-in: [3c5aa850] user: drh branch: trunk, size: 133111
12:45
Add the '%ifdef' capability to lemon. Other minor changes. (CVS 1836) file: [b771c514] check-in: [522ff721] user: drh branch: trunk, size: 131086
2004-04-24
12:59
Changes to lemon.c so that it compiles on OpenWatcom 1.3. Ticket #665. (CVS 1307) file: [db6a3bfa] check-in: [b8b8ce5c] user: drh branch: version_2, size: 128521
2004-04-23
23:37
Add some extra debugging logic to lemon.c. Ticket #692. (CVS 1304) file: [f4fb7226] check-in: [635f674d] user: drh branch: version_2, size: 128560
2004-02-22
00:08
Do not sort terminal symbols by name. The terminals remain in the same order that they are encountered in the grammar file. This results in parse tables that are 25% smaller. (CVS 1261) file: [38a39c62] check-in: [f36b122d] user: drh branch: trunk, size: 128511
2004-02-19
18:41
Fix a bug in the parser table compression algorithm of lemon. (CVS 1249) file: [0bd76409] check-in: [8d3e9249] user: drh branch: trunk, size: 127978
2003-10-21
16:34
Fix bugs in lemon associated with the change to a perfect hash table. (CVS 1113) file: [e37dcb5b] check-in: [c0d1b269] user: drh branch: trunk, size: 127980
13:16
Convert lemon to use a single perfect hash table for storing the actions. This should make the resulting parser both smaller and faster. (CVS 1112) file: [37d14935] check-in: [4f955c00] user: drh branch: trunk, size: 126601
2003-05-13
00:34
A change to lemon related to ticket #313. (CVS 972) file: [93db920d] check-in: [b59d9033] user: drh branch: trunk, size: 119135
2003-04-15
01:49
Change lemon to use <stdarg.h> instead of <varargs.h> because GCC no longer supports varargs.h. Tickets #288 and #280. Ironically, lemon originally used varargs.h because stdarg.h was not supported by the compiler I was using in 1989 (which was gcc if I recall correctly.) (CVS 905) file: [14fedcde] check-in: [7902e477] user: drh branch: trunk, size: 119151
2002-08-14
23:18
Fix for ticket #134: Change the lemon.c sources to work around a problem with the AIX C compiler. (CVS 715) file: [022adc28] check-in: [07f6020b] user: drh branch: trunk, size: 119235
2002-06-06
18:54
Added the %fallback directive to the lemon parser generator and used this in the parser to make the parse tables much smaller. This reduced the size of the library by 15K. (CVS 605) file: [459cb2bb] check-in: [7ac5bd29] user: drh branch: trunk, size: 119213
2002-03-11
13:55
Change the way that lemon handles %extra_argument. (CVS 427) file: [77d026f5] check-in: [ffc387a4] user: drh branch: trunk, size: 117269
2002-03-10
21:21
Bug fix: updates within a transaction would fail if there was existed a temporary table. (CVS 425) file: [e6b3d8df] check-in: [02cc2d60] user: drh branch: trunk, size: 117045
2002-03-03
02:49
Bug fixes and additional tests for the subquery flattener. (CVS 411) file: [a26214e0] check-in: [2c05389e] user: drh branch: trunk, size: 117016
2002-02-23
19:39
Modify lemon to use much less memory for its parser tables. This reduces the size of the library by 50K, which is important for an embedded library. (CVS 389) file: [d4b4e127] check-in: [67a135a0] user: drh branch: trunk, size: 116965
18:45
Bug fix in lemon: 3-way conflicts (SHIFT/REDUCE/REDUCE) were not detected or resolved. This is now fixed. Also, table compression works a little better. (CVS 388) file: [7502222a] check-in: [8da0ac9a] user: drh branch: trunk, size: 116887
2001-10-25
20:37
Make lemon 64-bit clean (CVS 294) file: [bfd036ab] check-in: [475e2fed] user: drh branch: trunk, size: 116433
2001-09-16
00:13
Disclaimed copyright. Preparing for release 2.0. (CVS 250) file: [5533b63e] check-in: [4e926efe] user: drh branch: trunk, size: 116333
2001-04-03
16:53
Bug fixes from Oleg Oleinick (CVS 195) file: [e007bfdb] check-in: [1f0197d5] user: drh branch: trunk, size: 117260
2000-08-20
11:42
bug fix in lemon (CVS 136) file: [b13a3179] check-in: [6f4c0807] user: drh branch: trunk, size: 115828
2000-06-02
23:21
:-) (CVS 44) file: [1f0e9651] check-in: [cd83d3cf] user: drh branch: trunk, size: 115720
18:52
:-) (CVS 42) file: [f5aa4410] check-in: [11e32963] user: drh branch: trunk, size: 115720
2000-05-29
14:26
initial check-in of the new version (CVS 1) file: [cff35578] check-in: [6f3655f7] user: drh branch: trunk, size: 115645 Added