170 Commits

Author SHA1 Message Date
3626bc2caf Remove unused_variables allow directive from Rust template 2026-08-20 14:40:07 -04:00
3122254907 Remove unused_parens allow directive from Rust template 2026-08-20 13:47:18 -04:00
f1d8ad7fe9 Remove dead_code allow directive from Rust template 2026-08-20 13:34:43 -04:00
7a8b4ad640 Remove some Rust module allow directives 2026-08-20 12:20:55 -04:00
008ed49f66 Remove match_length lexer user code block for Rust 2026-08-19 23:49:29 -04:00
d596d47cef Rename match to match_text for lexer user code blocks 2026-08-19 23:30:27 -04:00
71abdcb3ac Align Rust template with D template 2026-08-19 13:39:34 -04:00
8c92d442bb Align Rust template with D template 2026-08-19 00:35:02 -04:00
f2924a267d Align Rust template with D template 2026-08-18 22:36:15 -04:00
7d42ef44c2 Align Rust template with D template 2026-08-18 21:33:13 -04:00
e06cf11e9e Align Rust template with D template 2026-08-18 20:58:39 -04:00
4c5a30b13c Align types in Rust template with D template 2026-08-18 20:42:38 -04:00
35c40f09fe Remove header user code block group for Rust section 2026-08-14 23:39:02 -04:00
f902c835c9 Fix Rust prefixed status code values 2026-08-11 23:48:07 -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
c3bccd2151 Fix tree struct type forward-declarations for C/C++ 2026-07-14 22:11:39 -04:00
1c74e747e1 Add p_set_input_index() 2026-07-14 20:43:59 -04:00
2ebdeaa995 Add p_input_index() 2026-07-11 22:58:26 -04:00
c0016f6d58 Add p_set_position() 2026-07-11 22:46:21 -04:00
2f9a29f7c5 p_parse_inner: do not consume the follow token 2026-07-11 22:46:21 -04:00
946eb4eef7 Add p_parse_inner_XXX() APIs 2026-07-11 20:08:56 -04:00
98390429a8 Allow parser user code blocks in tree mode 2026-07-07 17:54:01 -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
7942a3be97 Remove pvalue from state_info_t if AST mode is active - close #42 2026-07-02 08:14:49 -04:00
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
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
51b09a5799 Support custom lex function 2026-04-10 16:36:16 -04:00
dd687d0299 Add p_context_delete() and p_tree_delete() for D targets 2026-02-28 21:12:35 -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
ff61dd05d9 Rename p_free_tree() to p_tree_delete() 2026-02-17 19:24:50 -05:00
6fd5186159 Replace p_context_init() with p_context_new()/p_context_delete() 2026-02-17 18:40:33 -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
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
9c03d20083 Add p_free_ast() to free AST node memory for C targets 2026-02-08 00:02:24 -05:00
072af73b1e Support C++ output language 2026-02-07 18:59:01 -05:00
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
87d892d0a3 Fix a couple clang warnings 2025-07-21 23:26:37 -04:00
92da10e483 Fix GC issue for D backend with AST enabled - close #36 2025-04-05 09:51:01 -04:00
839174a635 Generate comments to annotate reduce table entries 2025-04-05 09:50:18 -04:00
1d468b6d3c Use 1-based row and column values for position values - close #30 2024-09-25 15:58:03 -04:00
c5b8fc28bd Move INVALID_POSITION from header to C source - #27 2024-07-21 13:39:34 -04:00
e647248e34 Track start and end position of rules in AST nodes - #27 2024-07-19 15:37:37 -04:00
f4ae1b8601 Add position fields to AST nodes (not populated yet) - #27 2024-07-19 14:34:50 -04:00