josh
dc95fe041d
Add node_id() to C++ and D tree node handles
2026-09-02 21:00:47 -04:00
josh
450c2f1cff
Rust: add Drop impl for p_context_t
2026-08-21 13:36:36 -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
d466a4b024
Document tree node validity propagation in user guide
2026-08-20 00:36:43 -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
47ad55ee2c
Update user guide to reflect tree node structure changes
2026-08-19 23:04:14 -04:00
josh
e22ebc87d3
Update user guide with Rust documentation and examples
2026-08-19 21:20:19 -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
1c74e747e1
Add p_set_input_index()
2026-07-14 20:43:59 -04:00
josh
b4d43d39f6
Add lex_fn documentation about custom lex function contract
2026-07-14 17:01:22 -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
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
7b698d7b31
Add noline grammar statement to skip emitting #line directives
2026-06-29 22:41:07 -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
f584389a29
Reorganize Propane Grammar File user guide section
2026-02-21 22:06:09 -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
f4bc719aed
Allow drop patterns to execute lexer user code blocks
2026-02-13 20:45:08 -05:00
josh
ef6a0f9552
Update README and CHANGELOG overview features list
2026-02-09 22:00:39 -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
8a393f554a
Document p_lex and p_token_info_t in user guide - fix #37
2026-01-15 20:22:54 -05:00
josh
69aa3097c3
Update user guide for shorthand character classes
2025-07-26 21:34:22 -04:00
josh
25d6e3bc34
Fix user guide regular expression example
2025-07-25 16:24:05 -04:00
josh
5b94b03b04
Fix user guide double backslashes in examples
2025-07-22 21:17:18 -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
54bb3307cd
Document p_decode_code_point() API function - close #34
2025-03-10 12:19:42 -04:00
josh
1d468b6d3c
Use 1-based row and column values for position values - close #30
2024-09-25 15:58:03 -04:00
josh
98e10d3d14
Fix named optional rules - close #29
2024-09-24 20:28:19 -04:00
josh
a7348be95d
Add rule field aliases - #24
2024-07-22 20:16:52 -04:00
josh
9746b3f2bf
Document position tracking fields in user guide - #27
2024-07-21 14:04:51 -04:00
josh
f3e4941ad8
Allow rule terms to be marked as optional
2024-05-09 11:56:13 -04:00
josh
494afb7307
Allow specifying the start rule name
2024-05-05 12:39:00 -04:00
josh
153f9d28f8
Allow user to specify AST node prefix or suffix
...
Add ast_prefix and ast_suffix grammar statements.
2024-05-04 21:49:13 -04:00