Commit graph

162 commits

Author SHA1 Message Date
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
Randy Heit
1c592c9601 Lemon update 2009-11-03 19:18:32 on branch trunk
- Enhancements to lemon to generate more compact action tables and to avoid making array bounds tests that can never fail on action table calculations. (user: drh)
- Update zcc-parse.lemon: YY_SZ_ACTTAB is now YY_ACTTAB_COUNT
2016-03-20 13:06:43 -05:00
Randy Heit
cafbc8b50a Lemon update 2009-11-03 13:02:26 on branch trunk
- 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. (user: drh)
2016-03-20 11:35:06 -05:00
Braden Obrzut
93be5aca05 - Fixed: Modern versions of GCC on PowerPC inserted padding to the end of pragma packed structures.
- Worked aorund modern GCC bug where C++ exceptions in Objective-C++ code would result in an ICE (bug is already on their tracker, but I doubt it will be fixed unless I decide to dig into the issue myself).
- Turn off fused floating point instructions since these can cause slight deviations in floating point code.
- Use -static-libgcc when compiling on the Mac with GCC since we need to use a custom version of GCC to do so now.
- Note: ZDoom will currently still crash on exit on PowerPC since it seems to be deciding that NameManager needs to be destructed before the console commands.
2016-03-13 01:14:08 -05:00
Edoardo Prezioso
a65b0d7d4c - Fixed misaligned pointer access error in zipdir.
It happens if zipdir is compiled with GCC/Clang UBSan and is run on an already existing zdoom.pk3.
2016-03-06 23:24:31 -05:00
Randy Heit
55142078d8 Normalize line endings 2016-03-01 09:47:10 -06:00
Christoph Oelckers
44a6cafd4b - we are using C++11 now, so all those old VC 2005 project files are of no use anymore. 2016-03-01 09:38:49 +01:00
Edoardo Prezioso
85fbcf0428 - Improve CMake messages for zlib/jpeg/bzip2/gme.
* Report the include location if they're external libraries;
* Remove unneeded include location messages from zipdir.
2016-02-20 11:38:30 +01:00
Randy Heit
4c2bcede61 Update VS2005 projects for re2c and zdoom 2016-02-08 21:27:02 -06:00
Randy Heit
a116c10574 Comment out re2c_test::range reference in re2c::Range 2016-02-08 20:38:59 -06:00
Randy Heit
f3ab0ff41b Fix VC++'s problems with re2c 0.16
- I'm surprised GCC didn't complain about all the struct/class mismatches.
- INFINITY is a macro in VC++ land, so rename it to INFINITI.
2016-02-06 21:19:05 -06:00
Randy Heit
43c6c9b5ee Update re2c to version 0.16 2016-02-06 20:58:35 -06:00
Braden Obrzut
dce3f0f757 - Bump CMake version requirement to 2.8.7. This means that generator expressions must be supported as well as empty else and endif expressions (like most sane languages). ZDoom probably didn't work with 2.4 anymore anyway. 2016-02-05 21:19:29 -05:00
Christoph Oelckers
cfcd2668cc Merge commit '772a5724313f2ad0bd6828fcc28545a9ee5e6068' into scripting
Conflicts:
	src/p_pspr.cpp
	src/thingdef/thingdef_codeptr.cpp
2016-01-17 20:00:45 +01:00
Edoardo Prezioso
18de376edf - Fixed lemon trying to free non-allocated memory.
This is a regression from commit 24a096fb27 . It happened only the input files were present in the same directory as the executable.
2015-12-07 11:19:42 +01:00
Christoph Oelckers
7ba577e1b0 Merge branch 'master' into scripting
Conflicts:
	src/g_heretic/a_hereticweaps.cpp
	src/thingdef/thingdef_codeptr.cpp
2015-06-07 09:43:54 +02:00
Braden Obrzut
7497b329c2 - Fixed: zipdir wrote the central directory incorrectly on PowerPC. 2015-06-05 21:57:42 -04:00
Christoph Oelckers
1b29c3b6cf Merge branch 'master' into scripting
Conflicts:
	src/p_interaction.cpp
	tools/lemon/lemon.c
2015-04-30 16:13:32 +02:00
Edoardo Prezioso
24a096fb27 - Plug some lemon leaks during xlat generation.
Found with Address Sanitizer.
2015-04-30 12:52:04 +02:00
Christoph Oelckers
792cad89b3 Merge commit '3849cb86231ce24131a86e9c29795a8cf3706a3d' into scripting
Conflicts:
	src/g_hexen/a_clericstaff.cpp
	src/g_hexen/a_hexenspecialdecs.cpp
	src/p_acs.cpp
	src/p_enemy.cpp
	src/p_interaction.cpp
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_expression.cpp

(Scripting branch update part 4)
2015-04-28 11:59:33 +02:00
Braden Obrzut
b958e930cf - Cleared developer warnings with modern (3.0+) versions of CMake. 2015-03-23 23:28:18 -04:00
Randy Heit
d84c85d40f Remove warnings warned by Clang 2015-03-08 17:21:15 -05:00