58 Commits

Author SHA1 Message Date
1c74e747e1 Add p_set_input_index() 2026-07-14 20:43:59 -04:00
b4d43d39f6 Add lex_fn documentation about custom lex function contract 2026-07-14 17:01:22 -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
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
7b698d7b31 Add noline grammar statement to skip emitting #line directives 2026-06-29 22:41:07 -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
f584389a29 Reorganize Propane Grammar File user guide section 2026-02-21 22:06:09 -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
f4bc719aed Allow drop patterns to execute lexer user code blocks 2026-02-13 20:45:08 -05:00
ef6a0f9552 Update README and CHANGELOG overview features list 2026-02-09 22:00:39 -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
8a393f554a Document p_lex and p_token_info_t in user guide - fix #37 2026-01-15 20:22:54 -05:00
69aa3097c3 Update user guide for shorthand character classes 2025-07-26 21:34:22 -04:00
25d6e3bc34 Fix user guide regular expression example 2025-07-25 16:24:05 -04:00
5b94b03b04 Fix user guide double backslashes in examples 2025-07-22 21:17:18 -04:00
eb9d9026fc Allow multiple lexer modes to be specified for a lexer pattern - close #35 2025-03-11 20:40:10 -04:00
54bb3307cd Document p_decode_code_point() API function - close #34 2025-03-10 12:19:42 -04:00
1d468b6d3c Use 1-based row and column values for position values - close #30 2024-09-25 15:58:03 -04:00
98e10d3d14 Fix named optional rules - close #29 2024-09-24 20:28:19 -04:00
a7348be95d Add rule field aliases - #24 2024-07-22 20:16:52 -04:00
9746b3f2bf Document position tracking fields in user guide - #27 2024-07-21 14:04:51 -04:00
f3e4941ad8 Allow rule terms to be marked as optional 2024-05-09 11:56:13 -04:00
494afb7307 Allow specifying the start rule name 2024-05-05 12:39:00 -04:00
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
f0bd8d8663 Add documentation for AST generation mode - close #22 2024-04-23 00:15:19 -04:00
3eaf0d3d49 allow one line user code blocks - close #21 2024-04-02 17:44:15 -04:00
5b2cbe53e6 Add backslash escape codes - close #19 2024-03-29 16:45:54 -04:00
1d1590dfda Add API to access unexpected token found - close #18 2024-03-29 15:58:56 -04:00
1c91dcd298 Add token_names API - close #17 2024-03-29 15:02:01 -04:00
5dfd62b756 Add D example to user guide for p_context_init() - close #16 2024-03-29 13:52:16 -04:00
fad7f4fb36 Allow user termination from lexer code blocks - close #15 2024-03-29 13:45:08 -04:00
a5800575c8 Document generated API in user guide - close #14 2024-01-05 20:47:22 -05:00
24af3590d1 Allow user to terminate the parser - close #13 2024-01-03 22:32:10 -05:00
547dbd3850 Add user guide section for parser rules 2023-09-24 18:45:01 -04:00