Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
c822e73
common : implement parser combinators to simplify chat parsing
aldehir Nov 10, 2025
e6153bb
add virtual destructor to parser_base
aldehir Nov 10, 2025
4ced999
fix memory leak from circular references of rules
aldehir Nov 10, 2025
2a9a13d
implement gbnf grammar building
aldehir Nov 10, 2025
2286532
remove unused private variable
aldehir Nov 10, 2025
3e6662f
create a base visitor and implement id assignment as a visitor
aldehir Nov 11, 2025
76cf0b5
fix const ref for grammar builder
aldehir Nov 11, 2025
9c7b3e8
clean up types, friend classes, and class declarations
aldehir Nov 11, 2025
f02e2b0
remove builder usage from until_parser
aldehir Nov 11, 2025
66cf038
Use a counter class to help assign rule ids
aldehir Nov 11, 2025
2b3caef
cache everything
aldehir Nov 11, 2025
adac6ba
add short description for each parser
aldehir Nov 11, 2025
0be2a93
create a type for the root parser
aldehir Nov 11, 2025
31b386f
implement repetition parser
aldehir Nov 11, 2025
ffb7a6f
Make optional, one_or_more, and zero_or_more subclasses of repetition
aldehir Nov 11, 2025
085404a
improve context constructor
aldehir Nov 11, 2025
6bd9a95
improve until parsing and add benchmarks
aldehir Nov 12, 2025
62656db
remove cached() pattern, cache in parser_base with specialized parsin…
aldehir Nov 12, 2025
18557f3
improve json parsing performance to better match legacy parsing
aldehir Nov 12, 2025
f6aa608
fix const auto * it for windows
aldehir Nov 12, 2025
d58dace
move id assignment to classes instead of using a visitor
aldehir Nov 12, 2025
20f9a1b
create named rules in the command r7b example
aldehir Nov 12, 2025
35b1640
use '.' for any in GBNF
aldehir Nov 12, 2025
bcb1c03
fix parens around choices in gbnf grammar
aldehir Nov 12, 2025
4bed84d
add convenience operators to turn strings to literals
aldehir Nov 12, 2025
c02aaa6
add free-form operators for const char * to simplify defining literals
aldehir Nov 12, 2025
8e82127
simplify test case parser
aldehir Nov 12, 2025
9685b69
implement semantic actions
aldehir Nov 12, 2025
d9a6229
remove groups in favor of actions and a scratchpad
aldehir Nov 12, 2025
117d908
add built in actions for common operations
aldehir Nov 12, 2025
f97abde
add actions to command r7b example
aldehir Nov 12, 2025
3114a0e
use std::default_searcher for platforms that don't have bm
aldehir Nov 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions common/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ add_library(${TARGET} STATIC
arg.cpp
arg.h
base64.hpp
chat-parser-combinator.cpp
chat-parser-combinator.h
chat-parser.cpp
chat-parser.h
chat.cpp
Expand Down
Loading
Loading