3122254907
Remove unused_parens allow directive from Rust template
2026-08-20 13:47:18 -04:00
bceaad5b7e
Move rust_tree_types contents into template
2026-08-11 23:46:48 -04:00
89f1f84857
Add Rust target
2026-08-11 22:46:04 -04:00
5fc712c6ee
Rework tree generation mode and API
...
Store tree nodes in congruent, compact arena array.
Define handle types to refer to tree nodes rather than pointers to
structure instances.
Free tree with context.
2026-07-27 20:57:44 -04:00
dddb1b5089
v4.8.1
2026-07-14 22:20:56 -04:00
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