josh
3b914466b3
v5.1.0
2026-09-03 07:52:07 -04:00
josh
dc95fe041d
Add node_id() to C++ and D tree node handles
2026-09-02 21:00:47 -04:00
josh
e5bb6db4a4
v5.0.0
2026-08-21 16:29:16 -04:00
josh
e9c1be83cb
Make tree node handle names visible in context user fields
2026-08-21 15:57:51 -04:00
josh
7fd1505710
Add comments around user code blocks to generated Rust module
...
This takes the place of #line directives
2026-08-20 15:52:18 -04:00
josh
3122254907
Remove unused_parens allow directive from Rust template
2026-08-20 13:47:18 -04:00
josh
bceaad5b7e
Move rust_tree_types contents into template
2026-08-11 23:46:48 -04:00
josh
89f1f84857
Add Rust target
2026-08-11 22:46:04 -04:00
josh
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
josh
dddb1b5089
v4.8.1
2026-07-14 22:20:56 -04:00
josh
52fb46abfa
v4.8.0
2026-07-14 20:51:06 -04:00
josh
64383cb0f4
v4.7.0
2026-07-08 19:41:39 -04:00
josh
98390429a8
Allow parser user code blocks in tree mode
2026-07-07 17:54:01 -04:00
josh
453be990b6
v4.6.0
2026-07-02 22:13:54 -04:00
josh
ca9c23f96b
Add lexer user code expansions to access lexer match text positions
2026-07-02 21:27:55 -04:00
josh
1729546d69
Track rule component positions - close #41
2026-07-02 16:42:50 -04:00
josh
cb914e8bb0
v4.5.0
2026-06-29 23:49:01 -04:00
josh
7b698d7b31
Add noline grammar statement to skip emitting #line directives
2026-06-29 22:41:07 -04:00
josh
45843da0df
Fix #line reset directives
2026-06-29 22:21:45 -04:00
josh
c459507612
v4.4.0
2026-06-22 23:46:32 -04:00
josh
b641c64425
v4.3.0
2026-05-22 18:16:29 -07:00
josh
7a140623ff
Use #line for user code blocks to report input grammar position for errors
2026-05-21 16:24:25 -07:00
josh
d97f0f8f49
v4.2.0
2026-04-10 18:57:49 -04:00
josh
51b09a5799
Support custom lex function
2026-04-10 16:36:16 -04:00
josh
a05a55ceb8
v4.1.0
2026-02-28 22:38:40 -05:00
josh
f9b4563f94
v4.0.0
2026-02-21 22:43:47 -05:00
josh
de3fb0d120
Combine free_token_user_fields and free_token_node statements
2026-02-21 21:37:23 -05:00
josh
d4ad67c23d
Allow user to specify custom token node fields
2026-02-21 21:06:40 -05:00
josh
9f2fe6f84b
Add token_node and token_user_fields grammar statements
2026-02-14 21:00:53 -05:00
josh
78adf86103
Allow user-defined context fields
2026-02-13 23:53:18 -05:00
josh
f4bc719aed
Allow drop patterns to execute lexer user code blocks
2026-02-13 20:45:08 -05:00
josh
243ee0f19f
v3.0.0
2026-02-11 00:21:55 -05:00
josh
77ec7c9de4
Rename AST generation mode to tree generation mode
2026-02-09 21:59:00 -05:00
josh
6a87bb2d56
Add support for multiple starting rules - close #38
2026-02-09 21:21:49 -05:00
josh
cb426b4be1
Add free_token_node grammar statement
2026-02-08 20:33:00 -05:00
josh
072af73b1e
Support C++ output language
2026-02-07 18:59:01 -05:00
josh
66f95cb6d8
v2.3.0
2025-07-28 20:40:24 -04:00
josh
7ccb4c8730
Parallelize parser table generation on Linux hosts
2025-07-28 18:43:12 -04:00
josh
962b7125ec
Build lookahead reduce actions for item sets before building reduce table
2025-07-27 17:24:35 -04:00
josh
17f1454a4f
Speedup: avoid checking the same rule set more than once for lookahead tokens
2025-07-27 14:50:18 -04:00
josh
b371f4b404
Speedup: calculate Item#hash once
2025-07-27 13:48:52 -04:00
josh
5486e5f138
Add \D, \S, \w, \W special character classes
2025-07-26 21:21:29 -04:00
josh
5b243507cf
Show grammar line numbers for regex errors
2025-07-25 21:27:20 -04:00
josh
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
josh
125c149750
Drop argument to CharacterRangeUnit constructor when possible
2025-07-22 21:53:18 -04:00
josh
8b38ea4261
v2.2.1
2025-04-05 09:53:27 -04:00
josh
839174a635
Generate comments to annotate reduce table entries
2025-04-05 09:50:18 -04:00
josh
207201d589
v2.2.0
2025-03-13 19:25:30 -04:00
josh
eb9d9026fc
Allow multiple lexer modes to be specified for a lexer pattern - close #35
2025-03-11 20:40:10 -04:00
josh
5ebcbb2d6d
v2.1.1
2024-12-28 23:15:45 -05:00