Commit Graph

88 Commits

Author SHA1 Message Date
Christoph Oelckers 351e0d7ed9 - removed obsolete CMake version requirements.
Most were still at 3.1 which prompts noisy warnings from up-to-date CMake versions.
Version requirements have been removed entirely from dependent subprojects, all others were upped to 3.16.
2023-09-03 09:04:17 +02:00
alexey.lysiuk 1b3c67ee1f - fixed cross-compilation support
Lemon's post build command aborts configuration step after CMake version bump to 3.1.0 in ba618d308c
When CMake version was 2.8.7 the same command produced a warning

CMake Error at tools/lemon/CMakeLists.txt:11 (add_custom_command):
  TARGET 'lemon' is IMPORTED and does not build here.
2021-03-14 15:01:51 +02:00
Christoph Oelckers ba618d308c - bumped CMake version to 3.1.0 in all projects to reduce warning spam in recent versions.
3.1.0 is the highest minimum set in the existing subprojects so this will not exclude anything that hadn't been already.
2021-03-08 13:58:29 +01:00
alexey.lysiuk 28e6477a03 Made Lemon's dynamic stack size compatible with C++ 2017-07-23 11:54:16 +03:00
Marisa Heit f23e5d2677 Fixed: XLAT would not parse
- Disable the changes from commit 96afce241d
  because it appears to not recognize default rules that reduce as
  reducing.
- When tracing a parser, flush after every line output in case an
  assert is hit so you can actually see what it did up to that point.
2016-10-14 22:02:55 -05:00
Marisa Heit 97107b6b6d Update lempar.c to 2016-10-04 version
- Every update rolled into one, because I'm pretty sure I missed some while
updating lemon.c (not counting today's commits), since it wasn't always
updated at the same time as lemon.c.
- In particular, I think this check-in from 2016-06-06 was very important to
  us after commit 3d5867d29e (For the
  Lemon-generated parser, add a new action type SHIFTREDUCE and use it to
  further compress the parser tables and improve parser performance.):
  * Fix lempar.c so that the shift-reduce optimization works for error
    processing.
2016-10-13 22:30:12 -05:00
Marisa Heit 696beca40f Lemon update 2016-08-16 16:46:40 on branch trunk
— Fix a bug in destructorprocessing 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. (user: drh)
2016-10-13 22:23:28 -05:00
Marisa Heit 3b1a048885 Lemon update 2016-05-24 18:55:08 on branch trunk
— Enhance Lemon and the parser template so that it can once again build parsers that have no unreachable branches. (user: drh)
2016-10-13 22:22:04 -05:00
Marisa Heit 96afce241d Lemon update 2016-05-24 18:55:08 on branch trunk
— Enhance Lemon and the parser template so that it can once again build
parsers that have no unreachable branches. (user: drh)
2016-10-13 22:18:20 -05:00
Marisa Heit 64bd551d20 Lemon update 2016-05-23 14:24:31 on branch trunk
— Fix comment typos and improve clarity of presention in Lemon. The output
should be identical. (user: drh)
2016-10-13 22:09:13 -05:00
Marisa Heit 0d67d107ab Lemon update 2016-05-23 14:24:31 on branch trunk
— Fix comment typos and improve clarity of presention in Lemon. The output
should be identical. (user: drh)
2016-10-13 22:07:01 -05:00
Marisa Heit 45d441f103 Lemon update 2016-04-29 11:28:35 on branch trunk
— 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. (user: drh)
2016-10-13 21:48:29 -05:00
Marisa Heit de56be6c01 Lemon update 2016-04-29 11:28:35 on branch trunk
— 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. (user: drh)
2016-10-13 21:41:54 -05:00
Randy Heit 7f3e1777a7 Add -C option to Lemon, to specify an output directory 2016-03-20 14:26:02 -05:00
Randy Heit 3897f109ed VS2015 warning fixes for Lemon 2016-03-20 13:35:46 -05:00
Randy Heit 4641549e0e Lemon update 2016-03-16 19:45:54 on branch trunk
- 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. (user: drh)
2016-03-20 13:06:54 -05:00
Randy Heit ec5108b2e5 Lemon update 2016-02-19 13:19:22 on branch trunk
- Omit the unused yyzerominor constant. (user: drh)
2016-03-20 13:06:54 -05:00
Randy Heit 4a24f7adcf Lemon update 2016-02-17 12:34:03 on branch parser-performance
- More agressive use of /*A-overwrites-X*/ in the parser. Fix an off-by-one error in parser stack overflow detection. (user: drh)
2016-03-20 13:06:54 -05:00
Randy Heit 25972d79a7 Lemon update 2016-02-17 04:33:10 on branch parser-performance
- 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. (user: drh)
2016-03-20 13:06:54 -05:00
Randy Heit ab4c3a0c5e Lemon update 2016-02-17 01:46:19 on branch parser-performance
- Further improvements to the Lemon-generated code for yy_reduce(). (user: drh)
2016-03-20 13:06:54 -05:00
Randy Heit 8a18e5c7eb Lemon update 2016-02-17 01:18:33 on branch parser-performance
- 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. (user: drh)
2016-03-20 13:06:54 -05:00
Randy Heit 75f6d3a438 Lemon update 2016-02-16 21:19:49 on branch parser-performance
- Experimental changes to Lemon for improved parser performance. (user: drh)
2016-03-20 13:06:53 -05:00
Randy Heit 7306279a87 Lemon update 2016-02-16 01:01:43 on branch trunk
- Improve the Lemon parser template (lempar.c) so that it avoids unnecessary work when the grammer defines YYNOERRORRECOVERY (as SQLite does). Slightly smaller and faster code results. (user: drh)
2016-03-20 13:06:53 -05:00
Randy Heit be870502fd Lemon update 2015-11-10 14:51:22 on branch trunk
- Improved output formatting for "PRAGMA parser_trace=ON;". (user: drh)
2016-03-20 13:06:53 -05:00
Randy Heit e9501e8688 Lemon update 2015-11-09 19:33:42 on branch parser-enhancements
- Change the parser to use the standard "lempar.c" template over in the tool/ folder rather than the customized "lempar.c" found in src/. (user: drh)
2016-03-20 13:06:53 -05:00
Randy Heit 59b14415ff Lemon update 2015-11-09 15:06:26 on branch trunk
- Avoid recursion in the yy_find_shift_action() routine of the Lemon-generated parser, so that routine can be inlined, for a size reduction and performance increase. (user: drh)
2016-03-20 13:06:53 -05:00
Randy Heit bcdef59c3c Lemon update 2015-11-09 14:11:37 on branch trunk
- Size reduction and performance improvement in the stack-popping logic of the Lemon-generated parser. (user: drh)
2016-03-20 13:06:53 -05:00
Randy Heit 5286a7fef3 Lemon update 2015-10-29 13:48:15 on branch trunk
- Fix uses of ctype functions (ex: isspace()) on signed characters in test programs and in some obscure extensions. No changes to the core. (user: drh)
2016-03-20 13:06:53 -05:00
Randy Heit daa68a0c88 Lemon update 2015-09-07 23:40:42 on branch trunk
- Minor tweaks to Lemon. (user: drh)
2016-03-20 13:06:53 -05:00
Randy Heit 123db1926c Lemon update 2015-09-07 20:02:39 on branch lemon-update
- Fix an unreachable branch in the new parse automaton. (user: drh)
2016-03-20 13:06:53 -05:00
Randy Heit fd3507c4c3 Lemon update 2015-09-07 19:52:55 on branch lemon-update
- Change the parser engine so that it (once again) waits for a lookahead token before reducing, even in a SHIFTREDUCE action. (user: drh)
2016-03-20 13:06:52 -05:00
Randy Heit 3d5867d29e Lemon update 2015-09-07 18:23:37 on branch lemon-update
- For the Lemon-generated parser, add a new action type SHIFTREDUCE and use it to further compress the parser tables and improve parser performance. (user: drh)
2016-03-20 13:06:52 -05:00
Randy Heit 2b5cef0c17 Lemon update 2015-09-07 14:22:24 on branch trunk
- In the "parse.out" output file from Lemon, show addition the complete text of rules on reduce actions. (user: drh)
2016-03-20 13:06:52 -05:00
Randy Heit 00de97aca2 Lemon update 2015-09-07 02:23:02 on branch trunk
- Improved "Parser Statistics" output (the -s option) for the Lemon parser generator. (user: drh)
2016-03-20 13:06:52 -05:00
Randy Heit 23f69b6fbc Lemon update 2015-09-04 18:03:45 on branch trunk
- Fix over-length source code lines in Lemon. (user: drh)
2016-03-20 13:06:52 -05:00
Randy Heit 9413ea15b6 Lemon update 2015-01-01 19:11:22 on branch trunk
- 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. (user: drh)
2016-03-20 13:06:52 -05:00
Randy Heit 06455b49c0 Lemon update 2014-06-09 13:11:40 on branch trunk
- 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. (user: drh)
2016-03-20 13:06:52 -05:00
Randy Heit dd0d0e036c Lemon update 2014-01-11 12:52:25 on branch trunk
- 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. (user: drh)
2016-03-20 13:06:52 -05:00
Randy Heit e59ef08cc8 Lemon update 2014-01-11 03:06:18 on branch lemon-updates
- Add the new "%token_class" directive for defining symbolic names that stand any one of a collection of tokens. (user: drh)
2016-03-20 13:06:51 -05:00
Randy Heit 249aed455b Lemon update 2013-10-02 20:46:30 on branch trunk
- In the lemon parser generator, change all hashes to unsigned to avoid potential problems with signed integer overflow. (user: drh)
2016-03-20 13:06:51 -05:00
Randy Heit c5e4f05fe2 Lemon update 2012-01-09 14:19:05 on branch trunk
- Cosmetic changes to lemon. No changes to core functionality nor impact on SQLite. (user: drh)
2016-03-20 13:06:51 -05:00
Randy Heit cb7eb1abc5 Lemon update 2010-07-19 01:52:07 on branch trunk
- Improvements to the formatting of parse.out file from Lemon. Add the -r option to Lemon to disable the state sorting, making debugging easier. (user: drh)
2016-03-20 13:06:51 -05:00
Randy Heit e20dc913b7 Lemon update 2010-07-18 11:35:53 on branch trunk
- Add the -p option to lemon to cause conflicts resolved by precedence rules to appear in the parse.out file. (user: drh)
2016-03-20 13:06:51 -05:00
Randy Heit 54ff482d8f Lemon update 2010-02-17 20:31:32 on branch lemon-update-2010
- Report error if the grammar has multiple %type lines for the same nonterminal.
2016-03-20 13:06:51 -05:00
Randy Heit 3d7a8e8348 Lemon update 2010-02-17 20:19:51 on branch lemon-update-2010
- Corrected error message (cut-and-paste bug). (user: icculus)
2016-03-20 13:06:51 -05:00
Randy Heit 031cebb138 Lemon update 2010-02-15 00:01:04 on branch lemon-update-2010
- Removed the 80-char line formatting for ErrorMsg(), on dhr's suggestion. (user: icculus)
2016-03-20 13:06:51 -05:00
Randy Heit 2e8d5e763b Lemon update 2010-02-14 17:14:23 on branch lemon-update-2010
- Make Lemon able to compile as C++ code. (user: icculus)
2016-03-20 13:06:50 -05:00
Randy Heit a656bb4f72 Lemon update 2010-02-14 00:48:50 on branch lemon-update-2010
- Added -T option, to specify a template filename on the command line.
  The default is still "lempar.c", though. (user: icculus)
2016-03-20 13:06:50 -05:00
Randy Heit 7e8b9219a8 Lemon update 2010-01-07 03:53:04 on branch trunk
- Another attempt at fixing the table generator in lemon. Again, this does not effect the SQLite grammar. (user: drh)
2016-03-20 13:06:50 -05:00
Randy Heit 961188bc81 Lemon update 2010-01-06 13:07:31 on branch trunk
- Fix an issue with lemon generating incorrect grammars. This issue does not effect SQLite. (user: drh)
2016-03-20 13:06:50 -05:00