Commit Graph

164 Commits

Author SHA1 Message Date
drh c75e0166f0 Improved "Parser Statistics" output (the -s option) for the Lemon parser
generator.

FossilOrigin-Name: 809503e4efcdb498d176e8c0794a5ba0882adef2
2015-09-07 02:23:02 +00:00
drh 2547336dad Fix over-length source code lines in Lemon.
FossilOrigin-Name: 1efece95ff8777b89558be59277732ba2a68d5ab
2015-09-04 18:03:45 +00:00
mistachkin 8e18922f12 Fix harmless compiler warnings seen with MSVC 2015.
FossilOrigin-Name: d05becd873a03a366843a34e7f4c732dd8f88c86
2015-04-19 21:43:16 +00:00
drh 1cc0d11a16 Fix harmless compiler warnings in lemon.c
FossilOrigin-Name: bbe7dcda689a25860f2104804f00ba0a720c1372
2015-03-31 15:15:48 +00:00
mistachkin 2318d3387d Work in progress on fixing harmless compiler warnings when using -W4 and MSVC.
FossilOrigin-Name: 856dd245ce037f93d5ae2ddeb4fdf949c1e5c8e9
2015-01-12 18:02:52 +00:00
drh 0325d3962a 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.

FossilOrigin-Name: da408d128b4301d9fc7a3a00f219dce7ed48bc60
2015-01-01 19:11:22 +00:00
drh 62a223e5dd 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.

FossilOrigin-Name: 1925f3a0a2caa709569df015a8e0d26412f1a9ff
2014-06-09 13:11:40 +00:00
mistachkin 7a429658d7 Fix harmless compiler warning in LEMON.
FossilOrigin-Name: f61a70589ac7e05008a362bd9d5b7bde5d07a758
2014-01-14 10:17:21 +00:00
drh 03e1b1f5ff 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.

FossilOrigin-Name: 29ba458d849ad8864711cbe59fb10447a947e06a
2014-01-11 12:52:25 +00:00
drh ecaa9d399c 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.)

FossilOrigin-Name: 8eb48c04bd0a14031488b3160fde67307eb8b35d
2014-01-11 03:27:37 +00:00
drh 61f92cd045 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.

FossilOrigin-Name: da7890ca6b1d8e511377a469047120220e8c3b2d
2014-01-11 03:06:18 +00:00
drh 898799fa00 Do not use sprintf(), strcpy() or strcat() in the implementation of the
lemon parser generator tool, to avoid compiler warnings in OpenBSD.

FossilOrigin-Name: e43c522dde01e134f1adc94f534d2b3eda74afc2
2014-01-10 23:21:00 +00:00
drh 2b51f2153b Fix a harmless compiler warning in lemon.c.
FossilOrigin-Name: 62959c0ce3a2c486ebd82e6511efad0412b944a0
2013-10-11 23:01:02 +00:00
drh 01f75f2d68 In the lemon parser generator, change all hashes to unsigned to avoid
potential problems with signed integer overflow.

FossilOrigin-Name: 8d399a03de63c15908d63ed69140ee15c6275b8d
2013-10-02 20:46:30 +00:00
drh f2f105d40e Remove tab characters from source code files. Replace them with spaces.
FossilOrigin-Name: 7edd10a960d5ff121e470b0549b0aa9fb7760022
2012-08-20 15:53:54 +00:00
drh 8ba0d1cbca 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.

FossilOrigin-Name: 0c2fb18d25217ada7e75dcab8b342bbc632875d8
2012-06-16 15:26:31 +00:00
drh d25d692252 Fix a typecast problem in lemon that could cause problems on 64-bit machines.
FossilOrigin-Name: 4a5641cc0aa4c49762f4fe73dab4a6612631c0d2
2012-04-18 09:59:56 +00:00
drh 3cb2f6e60e Cosmetic changes to lemon. No changes to core functionality nor impact on
SQLite.

FossilOrigin-Name: 393fc78a18004c839d889de2a25ec046ad6f13fc
2012-01-09 14:19:05 +00:00
drh 7dd1ac600e 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.

FossilOrigin-Name: ce32775b232da894343f62deefaf19b0ec484636
2012-01-07 15:17:18 +00:00
drh e0a59cf0e1 Fix a total unimportant file descriptor leak in lemon. This is to silence
warning messages.

FossilOrigin-Name: e95cf2c576dda656c0f31eeec3d98e911b9003a1
2011-08-30 00:58:58 +00:00
drh 57489b354d Fix compiler warnings in lemon by removing some of the code added by
Ryan Gordon in [1e8b842039cc0].

FossilOrigin-Name: 76b18b2be072b9ea242df4c9535059f7b43f564b
2011-06-20 18:27:23 +00:00
drh 070d422d31 Add a missing check for out-of-memory in the lemon code generator.
FossilOrigin-Name: efb20b9da6c7cb310a449cc818eaccd3d5bb4ab3
2011-06-02 15:48:51 +00:00
drh df60971765 Cherry-pick the lemon.c updates out of the lemon-update-2010 branch into
the trunk.

FossilOrigin-Name: 1541ae3fbd7b3d471e002c0ad14e7846f7ad9415
2010-11-23 20:55:27 +00:00
drh dd7e9dba97 Improvements to the formatting of parse.out file from Lemon. Add the -r option
to Lemon to disable the state sorting, making debugging easier.

FossilOrigin-Name: a2eaf8294f6d3fb39548987d632e934bb5d71cc9
2010-07-19 01:52:07 +00:00
drh f5c4e0f12a Add the -p option to lemon to cause conflicts resolved by precedence rules
to appear in the parse.out file.

FossilOrigin-Name: fb6a59b0a905ddea071948f9a527483a1b1b219f
2010-07-18 11:35:53 +00:00
icculus 7b429aa6a8 Fixed compiler warning on Visual Studio.
FossilOrigin-Name: 83495128c820e963c70d11c3196f81d8cf01f867
2010-03-03 17:09:01 +00:00
icculus d286fa6691 Whoops, that shouldn't have been in the merge. Removed buggy code.
FossilOrigin-Name: 643728003218c9841425dffb6fe506763859fd37
2010-03-03 17:06:32 +00:00
icculus d49c1aa7a9 Use Strsafe() instead of strdup(). Fixes Visual Studio complaining.
FossilOrigin-Name: 89d8f98ea6d4d8bf871e08a8d8d1f0d2fd11aec1
2010-03-03 17:00:15 +00:00
icculus 05ac70ee0a Merged trunk to lemon-update-2010 branch.
FossilOrigin-Name: 88b466bae47d006c48eff42ab271f05ff56d5ed1
2010-03-03 16:54:58 +00:00
icculus 866bf1e6a2 Repore error if the grammar has multiple %type lines for the same nonterminal.
FossilOrigin-Name: 721f33e7221c5fc907e9e293ac3242843f4fcfb7
2010-02-17 20:31:32 +00:00
icculus d0d97b09c6 Fixed % formatting in some printf-style strings.
FossilOrigin-Name: f96add898f096cfc1e435c625ce74093d790b3c7
2010-02-17 20:22:10 +00:00
icculus 10163b7d82 Corrected error message (cut-and-paste bug).
FossilOrigin-Name: b3839f2aad00844c578d496c40481a39c018e4f6
2010-02-17 20:19:50 +00:00
icculus a3191195af Removed unused variables.
FossilOrigin-Name: ca570a02f5c5215098050de4eb551b2dcd11b1fd
2010-02-17 05:40:34 +00:00
icculus 8e15802812 Removed %expect directive, on drh's advice.
FossilOrigin-Name: b43ac3309e77dc8ea2952bf62da6eaad5aef6653
2010-02-16 16:09:03 +00:00
icculus 15a2cec1ed Patched to compile. Accidentally removed va_list declaration.
FossilOrigin-Name: 673d470c0c14106da05461d355a0c09e5f62851d
2010-02-16 16:07:28 +00:00
icculus 1c11f74a8a Removed the 80-char line formatting for ErrorMsg(), on dhr's suggestion.
FossilOrigin-Name: 132ea4e5d7f69fc307904f5086a72d8532e5aac6
2010-02-15 00:01:04 +00:00
icculus 9e44cf1a03 Make Lemon able to compile as C++ code.
FossilOrigin-Name: 75a1060b29eb4122487152b068e7d1073eb0ccab
2010-02-14 17:14:22 +00:00
icculus d191282111 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.

FossilOrigin-Name: 90602030d18152a934644db119a291aa38fe3fd4
2010-02-14 05:42:46 +00:00
icculus f5ad824071 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).

FossilOrigin-Name: e38c08d9cdeb0476ac1a77cd3f29f547a8205835
2010-02-14 05:34:42 +00:00
icculus 42585cf73a 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.

FossilOrigin-Name: d8bab8cf0bc3fbd4c489c31a65d724dda2944d83
2010-02-14 05:19:56 +00:00
icculus 3e143bdfaf Added -T option, to specify a template filename on the command line.
The default is still "lempar.c", though.

FossilOrigin-Name: e6cbe1e5ee80db282a41951b805b7bd8b13adf28
2010-02-14 00:48:49 +00:00
drh 8dc3e8f3e6 Another attempt at fixing the table generator in lemon. Again, this does
not effect the SQLite grammar.

FossilOrigin-Name: e22c090f35b3a2bac64781d33aa1123ed765dbbf
2010-01-07 03:53:03 +00:00
drh cf3e518506 Fix an issue with lemon generating incorrect grammars. This issue does
not effect SQLite.

FossilOrigin-Name: 077a6bee2dd4668a5b13c37aa7d4c052350ec782
2010-01-06 13:07:30 +00:00
drh f16371d650 Enhancements to lemon to generate more compact action tables and to avoid
making array bounds tests that can never fail on action table calculations.

FossilOrigin-Name: 27d8e684db4651155c4bcb8bb44bf1c692b8c48b
2009-11-03 19:18:31 +00:00
drh e594bc3595 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.

FossilOrigin-Name: d66a0f31ebcc56e6f0f462b3db6aab54f7fab816
2009-11-03 13:02:25 +00:00
drh c53eed1703 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)

FossilOrigin-Name: caebfe82cb1b1215a85ed48fe97360c5422c52e0
2009-06-12 17:46:19 +00:00
drh 7501301e8d The previous check-in ((6755)) put in more yytestcase() macros than are
called for.  This check-in addresses that problem. (CVS 6756)

FossilOrigin-Name: a5b182f93b9e57754c8b9507cf491a7bbf0fd127
2009-06-12 15:47:34 +00:00
drh 8a415d3743 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)

FossilOrigin-Name: fe9c9177340a3dc372ffa1b851030d005e0c46db
2009-06-12 13:53:51 +00:00
drh 1441f3e083 In lemon: omit unused entries from the end of the yyFallback array. (CVS 6754)
FossilOrigin-Name: 9cfbe2ba68470a2850a7d7a64eb088f7b422a3e5
2009-06-12 12:50:50 +00:00
drh 02368c983f 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)

FossilOrigin-Name: 4424aee958b2e764a61141b5c66c063e36ed5aae
2009-04-05 15:18:02 +00:00
drh 15b024c22a Initialize the yyzerominor constant generated by lemon. (CVS 6016)
FossilOrigin-Name: 76c8f6ba87f333f15444ba5444bc675ec4cfd89e
2008-12-11 02:20:43 +00:00
shane 5854393cd9 Added option (-l) to lemon parser to have it skip printing line numbers (#line ... ). (CVS 6008)
FossilOrigin-Name: ccb9393a7a10f0970419b860af293b0bdad7f894
2008-12-10 20:10:04 +00:00
drh 87cf137735 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)

FossilOrigin-Name: a519cdb2f46fffe16e666f161479a22463616cb3
2008-08-13 20:09:06 +00:00
drh 639efd0451 Fix token destructors in lemon generated parsers. Does not effect SQLite.
Ticket #3299. (CVS 5563)

FossilOrigin-Name: 4887e8fc4af9e2963b3eff3187dee5b0d6297eb5
2008-08-13 20:04:29 +00:00
drh 633e6d57d9 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)

FossilOrigin-Name: e48f9697e9fea339e150ddc32940760027dd07d9
2008-07-28 19:34:53 +00:00
drh 34ff57b12f Fix additional typos in comments within lemon. Ticket #3215. (CVS 5405)
FossilOrigin-Name: 372147699585ca4bd11100983de924f63c5cfce5
2008-07-14 12:27:51 +00:00
drh b5bd49e9cb Fix a bug in the #line generator of lemon. Ticket #3214. (CVS 5404)
FossilOrigin-Name: dc697c26668929c4eed5ab8cde6975125a7e66c7
2008-07-14 12:21:08 +00:00
drh 4dc8ef520a In lemon: coalesce identical destructors. (CVS 5335)
FossilOrigin-Name: 3447086cd3f6e9b89a8cf61afcf4715977bbf4cd
2008-07-01 17:13:57 +00:00
drh 32c4d743bc 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)

FossilOrigin-Name: 5c9cc22cd8e9bec3d8622d2c354423281f2db0fb
2008-07-01 16:34:49 +00:00
drh a5808f31f0 Allow multiple occurrances of %include in lemon input files.
Ticket #3001. (CVS 5053)

FossilOrigin-Name: f22fa11bde0b77cfc5ff438f2ec6ab95dc87c291
2008-04-27 22:19:44 +00:00
rse d18eef5c57 remove an unused variable (CVS 4751)
FossilOrigin-Name: 88846195474e620d0c3029d464d074aea6e82a22
2008-01-27 10:35:56 +00:00
drh c4dd3fd280 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)

FossilOrigin-Name: 2a0bc1e186532a0bfe36ca18fda74a5e7a199227
2008-01-22 01:48:05 +00:00
drh 9892c5d1f4 Fix some issues with lemon. Tickets #2852 and #2835. (CVS 4641)
FossilOrigin-Name: 5283e0d1467e0fc0ebbd1be553b5a8762e9c7975
2007-12-21 00:02:11 +00:00
drh b496099751 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)

FossilOrigin-Name: 1c68d93412a608f5164ad984ff290ab3b832bf7a
2007-10-05 16:16:36 +00:00
rse 38514a9fb2 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)
FossilOrigin-Name: d748694f8d9b14d98b6fe7ceb404754692761705
2007-09-20 11:34:17 +00:00
drh aa9f112137 Change names of constants in lemon.c to work around name conflicts
on Solaris.  Ticket #2583. (CVS 4274)

FossilOrigin-Name: e4e74cd0f9343448ea38e57f08bb4f0616825f31
2007-08-23 02:50:56 +00:00
rse 8f30448a30 "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)

FossilOrigin-Name: 5955a77d6c902dc65897ba19d6e06db3e10bd3ee
2007-07-30 18:31:53 +00:00
drh e927818455 Additional diagnostics added to the "out" file generated by lemon. (CVS 4160)
FossilOrigin-Name: 7ef2aaf72a8a953df7a763dd94657bb4ff05294f
2007-07-18 18:16:29 +00:00
drh 19c9e5694c Fix to token destructors in Lemon. This does not impact SQLite. Ticket #2175. (CVS 3753)
FossilOrigin-Name: 6195af49828bf04b61d24f116339780d3eb926a1
2007-03-29 20:13:53 +00:00
drh b19fd012b0 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)

FossilOrigin-Name: 06719b741ab1a2df0371f6d587563cc81eb8880a
2007-03-29 01:44:45 +00:00
drh ca44b5a3d9 Make the depth of the pushdown automaton stack generated by lemon
changable at compile-time using -DYYSTACKDEPTH=<number>. (CVS 3654)

FossilOrigin-Name: d8845ac1fbf8c3f483d47c35f908817ea37128ec
2007-02-22 23:06:58 +00:00
drh 61e339a60d 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)

FossilOrigin-Name: 0c5c1b931dfdc163f300f458e4b305c9f50e17f8
2007-01-16 03:09:02 +00:00
drh e047921c78 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)

FossilOrigin-Name: f4ee5d83e177e7ed9f180454c01d46a395a5715d
2007-01-12 23:09:23 +00:00
drh f0fa1c1b9f 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)

FossilOrigin-Name: f2ad230f6dce98d664370d77845b5f585de20f08
2006-12-14 01:06:22 +00:00
drh 5048962a0f 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)

FossilOrigin-Name: 81daedcf48372949b9df009ce6121a514ecf6f2e
2006-10-13 12:25:29 +00:00
drh 916f75fcbd Fix lemon so that it does not crash on a empty reduce action. Ticket #1892. (CVS 3333)
FossilOrigin-Name: 4207ebc4e107df9f9f046be652f061e53263c8dd
2006-07-17 00:19:39 +00:00
drh 954f6b4763 Lemon correctly recognizes an empty grammar and errors out.
Fix for a bug reported on the sqlite-users mailing list. (CVS 3226)

FossilOrigin-Name: 55392922686691db3d41525a7f4cb7f976e73467
2006-06-13 13:27:46 +00:00
drh e09daa90ac Basic parsing of CREATE VIRTUAL TABLE statements. (CVS 3210)
FossilOrigin-Name: 66370cb99bd93abb33e1e8433672da45e1795f78
2006-06-10 13:29:31 +00:00
drh 43617e9ab9 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)

FossilOrigin-Name: e510e6dd9d6261f33b853af3b32d155b9d6b63b3
2006-03-06 20:55:46 +00:00
drh fd405314d3 About 0.5KiB of additional compression in the parser tables. (CVS 2764)
FossilOrigin-Name: f39974ebd81f274dc4cf6cf94e6e87ee7b4a0814
2005-11-06 04:06:59 +00:00
drh ada354db0e Improved table compression in lemon reduces the overall library size
by about 1.5KiB. (CVS 2761)

FossilOrigin-Name: 86ac11476962727d2d40b62ce87d689c01969537
2005-11-05 15:03:59 +00:00
drh dc30dd3158 Patch the command-line error message printing for lemon. Ticket #1120. (CVS 2345)
FossilOrigin-Name: 97c7aaf1870a86955f0f3a0cbe06187e3c3ccc90
2005-02-16 03:35:15 +00:00
danielk1977 940fac9dc5 Minor changes to avoid warnings on some compilers. (CVS 2267)
FossilOrigin-Name: 4daf1d1f9d4d32397d785d660394c5579c296b1f
2005-01-23 22:41:37 +00:00
drh 8d65973d93 Fix a bug in lemon that does not effect SQLite. Ticket #1068. (CVS 2208)
FossilOrigin-Name: 7113b5ed8d51718356ce1cc51896a3070875a7e2
2005-01-13 23:54:06 +00:00
drh 5719628afb Convert many constants to have type "const". (CVS 2006)
FossilOrigin-Name: d790c84c5a889928d07f5394fffef0cbb8d5f214
2004-10-06 15:41:16 +00:00
drh 2aa6ca45c1 In lemon, allows open() using the "b" option to avoid \r problems on windows.
Ticket #897. (CVS 1956)

FossilOrigin-Name: b5b2e3db09831fe808f9f2692a836eef716df1c5
2004-09-10 00:14:04 +00:00
drh 9db55dfb98 Fix lemon so that inserted code always ends in a newline. Ticket #895. (CVS 1955)
FossilOrigin-Name: 13fba17e3f75c08142db6acc8884a78ac0bcdfd6
2004-09-09 14:01:21 +00:00
drh af805ca035 Lemon escapes backslashes in filenames in #line directives it generates.
Ticket #892. (CVS 1943)

FossilOrigin-Name: d53047cbbc4e618c7bb5161b6f82876bb113db25
2004-09-07 11:28:25 +00:00
drh 7f4680c92e 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)

FossilOrigin-Name: acfc59186ac7452c0a74dc4ef8df9a1c94fc4f46
2004-08-30 14:22:31 +00:00
drh 7ac25c7510 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)

FossilOrigin-Name: 28215096e0748b5b02776ddb4c964e0161bc0f16
2004-08-19 15:12:26 +00:00
drh 0bb132bedc Lemon collapses common destructors and reduce actions into a single case. (CVS 1837)
FossilOrigin-Name: 3c5aa850eeec5c75c5200a3707852cc5fc9e780b
2004-07-20 14:06:51 +00:00
drh 6d08b4d647 Add the '%ifdef' capability to lemon. Other minor changes. (CVS 1836)
FossilOrigin-Name: 522ff721ccc33c4b89072fed4e451f0df82e8140
2004-07-20 12:45:22 +00:00
drh 218dc69436 Synchronize lemon.c to the version on the 2.8 branch. (CVS 1513)
FossilOrigin-Name: 6ab3af8847a7b0f1508824c9d8e0ec9685219371
2004-05-31 23:13:45 +00:00
drh cc83b6e071 Add an extra assert() to lemon.c to make debugging easier. Ticket #692. (CVS 1305)
FossilOrigin-Name: 818bdba5dc25cda56716fdda1781a3d4ecb3a111
2004-04-23 23:38:42 +00:00
drh 60d316542f 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)

FossilOrigin-Name: f36b122d9767fa9e6dc5bcce04b5606d67cad3d9
2004-02-22 00:08:04 +00:00
drh 784d86f716 Fix a bug in the parser table compression algorithm of lemon. (CVS 1249)
FossilOrigin-Name: 8d3e924975681a871e0eeac3b6a62cffdb947ac7
2004-02-19 18:41:53 +00:00
drh fdbf928b08 Fix bugs in lemon associated with the change to a perfect hash table. (CVS 1113)
FossilOrigin-Name: c0d1b26966aeb445fea5792e5a9e93632e758c2a
2003-10-21 16:34:41 +00:00
drh 8b582012de 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)

FossilOrigin-Name: 4f955c00076b16166ff837749efb84201eab3c3a
2003-10-21 13:16:03 +00:00
drh 3b2129cf77 A change to lemon related to ticket #313. (CVS 972)
FossilOrigin-Name: b59d9033d5556015543ac5ca23110ccbeb4391f0
2003-05-13 00:34:21 +00:00
drh f9a2e7bb8d 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)

FossilOrigin-Name: 7902e4778ec86e25ad949ae7a6d55b63ac0e85f3
2003-04-15 01:49:48 +00:00