josh
dc95fe041d
Add node_id() to C++ and D tree node handles
2026-09-02 21:00:47 -04:00
josh
e9c1be83cb
Make tree node handle names visible in context user fields
2026-08-21 15:57:51 -04:00
josh
450c2f1cff
Rust: add Drop impl for p_context_t
2026-08-21 13:36:36 -04:00
josh
5afb3599f9
Rust target: derive Debug for p_position_t
2026-08-20 17:17:50 -04:00
josh
3626bc2caf
Remove unused_variables allow directive from Rust template
2026-08-20 14:40:07 -04:00
josh
3122254907
Remove unused_parens allow directive from Rust template
2026-08-20 13:47:18 -04:00
josh
f1d8ad7fe9
Remove dead_code allow directive from Rust template
2026-08-20 13:34:43 -04:00
josh
7a8b4ad640
Remove some Rust module allow directives
2026-08-20 12:20:55 -04:00
josh
008ed49f66
Remove match_length lexer user code block for Rust
2026-08-19 23:49:29 -04:00
josh
d596d47cef
Rename match to match_text for lexer user code blocks
2026-08-19 23:30:27 -04:00
josh
71abdcb3ac
Align Rust template with D template
2026-08-19 13:39:34 -04:00
josh
8c92d442bb
Align Rust template with D template
2026-08-19 00:35:02 -04:00
josh
f2924a267d
Align Rust template with D template
2026-08-18 22:36:15 -04:00
josh
7d42ef44c2
Align Rust template with D template
2026-08-18 21:33:13 -04:00
josh
e06cf11e9e
Align Rust template with D template
2026-08-18 20:58:39 -04:00
josh
4c5a30b13c
Align types in Rust template with D template
2026-08-18 20:42:38 -04:00
josh
35c40f09fe
Remove header user code block group for Rust section
2026-08-14 23:39:02 -04:00
josh
f902c835c9
Fix Rust prefixed status code values
2026-08-11 23:48:07 -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
c3bccd2151
Fix tree struct type forward-declarations for C/C++
2026-07-14 22:11:39 -04:00
josh
1c74e747e1
Add p_set_input_index()
2026-07-14 20:43:59 -04:00
josh
2ebdeaa995
Add p_input_index()
2026-07-11 22:58:26 -04:00
josh
c0016f6d58
Add p_set_position()
2026-07-11 22:46:21 -04:00
josh
2f9a29f7c5
p_parse_inner: do not consume the follow token
2026-07-11 22:46:21 -04:00
josh
946eb4eef7
Add p_parse_inner_XXX() APIs
2026-07-11 20:08:56 -04:00
josh
98390429a8
Allow parser user code blocks in tree mode
2026-07-07 17:54:01 -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
7942a3be97
Remove pvalue from state_info_t if AST mode is active - close #42
2026-07-02 08:14:49 -04:00
josh
c28aebddb4
Fix user guide and generated parser comments for position row and col to be 1-based
2026-07-01 23:02:47 -04:00
josh
5ac3ad1655
Add p_value_get() / p_value_get_XXX() accessors
...
Allow user code to access specific pvalue values, especially when
multiple ptypes are in use.
2026-06-22 22:12:29 -04:00
josh
51b09a5799
Support custom lex function
2026-04-10 16:36:16 -04:00
josh
dd687d0299
Add p_context_delete() and p_tree_delete() for D targets
2026-02-28 21:12:35 -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
ff61dd05d9
Rename p_free_tree() to p_tree_delete()
2026-02-17 19:24:50 -05:00
josh
6fd5186159
Replace p_context_init() with p_context_new()/p_context_delete()
2026-02-17 18:40:33 -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
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
9c03d20083
Add p_free_ast() to free AST node memory for C targets
2026-02-08 00:02:24 -05:00
josh
072af73b1e
Support C++ output language
2026-02-07 18:59:01 -05:00
josh
9d686989ec
Fix C issue not fully initializing pvalues
...
This issue manifested when multiple ptypes are present with different sizes.
2025-07-22 21:05:32 -04:00
josh
87d892d0a3
Fix a couple clang warnings
2025-07-21 23:26:37 -04:00
josh
92da10e483
Fix GC issue for D backend with AST enabled - close #36
2025-04-05 09:51:01 -04:00
josh
839174a635
Generate comments to annotate reduce table entries
2025-04-05 09:50:18 -04:00