264 Commits
Author SHA1 Message Date
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