254 Commits

Author SHA1 Message Date
52fb46abfa v4.8.0 2026-07-14 20:51:06 -04:00
64383cb0f4 v4.7.0 2026-07-08 19:41:39 -04:00
98390429a8 Allow parser user code blocks in tree mode 2026-07-07 17:54:01 -04:00
453be990b6 v4.6.0 2026-07-02 22:13:54 -04:00
ca9c23f96b Add lexer user code expansions to access lexer match text positions 2026-07-02 21:27:55 -04:00
1729546d69 Track rule component positions - close #41 2026-07-02 16:42:50 -04:00
cb914e8bb0 v4.5.0 2026-06-29 23:49:01 -04:00
7b698d7b31 Add noline grammar statement to skip emitting #line directives 2026-06-29 22:41:07 -04:00
45843da0df Fix #line reset directives 2026-06-29 22:21:45 -04:00
c459507612 v4.4.0 2026-06-22 23:46:32 -04:00
b641c64425 v4.3.0 2026-05-22 18:16:29 -07:00
7a140623ff Use #line for user code blocks to report input grammar position for errors 2026-05-21 16:24:25 -07:00
d97f0f8f49 v4.2.0 2026-04-10 18:57:49 -04:00
51b09a5799 Support custom lex function 2026-04-10 16:36:16 -04:00
a05a55ceb8 v4.1.0 2026-02-28 22:38:40 -05:00
f9b4563f94 v4.0.0 2026-02-21 22:43:47 -05:00
de3fb0d120 Combine free_token_user_fields and free_token_node statements 2026-02-21 21:37:23 -05:00
d4ad67c23d Allow user to specify custom token node fields 2026-02-21 21:06:40 -05:00
9f2fe6f84b Add token_node and token_user_fields grammar statements 2026-02-14 21:00:53 -05:00
78adf86103 Allow user-defined context fields 2026-02-13 23:53:18 -05:00
f4bc719aed Allow drop patterns to execute lexer user code blocks 2026-02-13 20:45:08 -05:00
243ee0f19f v3.0.0 2026-02-11 00:21:55 -05:00
77ec7c9de4 Rename AST generation mode to tree generation mode 2026-02-09 21:59:00 -05:00
6a87bb2d56 Add support for multiple starting rules - close #38 2026-02-09 21:21:49 -05:00
cb426b4be1 Add free_token_node grammar statement 2026-02-08 20:33:00 -05:00
072af73b1e Support C++ output language 2026-02-07 18:59:01 -05:00
66f95cb6d8 v2.3.0 2025-07-28 20:40:24 -04:00
7ccb4c8730 Parallelize parser table generation on Linux hosts 2025-07-28 18:43:12 -04:00
962b7125ec Build lookahead reduce actions for item sets before building reduce table 2025-07-27 17:24:35 -04:00
17f1454a4f Speedup: avoid checking the same rule set more than once for lookahead tokens 2025-07-27 14:50:18 -04:00
b371f4b404 Speedup: calculate Item#hash once 2025-07-27 13:48:52 -04:00
5486e5f138 Add \D, \S, \w, \W special character classes 2025-07-26 21:21:29 -04:00
5b243507cf Show grammar line numbers for regex errors 2025-07-25 21:27:20 -04:00
035bb2fc60 Fix matching lexer patterns containing a negated character class which includes a backslash-escaped sequence that matches more than one character 2025-07-25 16:14:35 -04:00
125c149750 Drop argument to CharacterRangeUnit constructor when possible 2025-07-22 21:53:18 -04:00
8b38ea4261 v2.2.1 2025-04-05 09:53:27 -04:00
839174a635 Generate comments to annotate reduce table entries 2025-04-05 09:50:18 -04:00
207201d589 v2.2.0 2025-03-13 19:25:30 -04:00
eb9d9026fc Allow multiple lexer modes to be specified for a lexer pattern - close #35 2025-03-11 20:40:10 -04:00
5ebcbb2d6d v2.1.1 2024-12-28 23:15:45 -05:00
1b4ca59158 Field aliases for AST node fields could alias incorrect field when multiple rule alternatives present for one rule set - close #33 2024-12-28 23:08:53 -05:00
7344554b5f Version 2.1.0 2024-12-28 09:56:29 -05:00
e098b7e445 Report rule name and line number for conflicting AST node field positions errors - close #32 2024-12-28 09:51:12 -05:00
3ea344a520 v2.0.0 2024-09-25 16:09:27 -04:00
98e10d3d14 Fix named optional rules - close #29 2024-09-24 20:28:19 -04:00
36c74e439e Log conflicting rules on reduce/reduce conflict - close #31 2024-09-24 20:05:39 -04:00
c24f323ff0 v1.5.1 2024-07-26 22:30:48 -04:00
fec2c28693 Only calculate lookahead tokens when needed - #28
Lookahead tokens are only need if either:
(1) There is more than one rule that could be reduced in a given parser
state, or
(2) There are shift actions for a state and at least one rule that could
be reduced in the same state (to warn about shift/reduce conflicts).
2024-07-26 22:08:25 -04:00
61339aeae9 Avoid recalculating reduce_rules - #28 2024-07-26 21:36:41 -04:00
95b3dc6550 Cache ItemSet#next_symbols - #28 2024-07-25 20:33:15 -04:00