/
vshmidt
/
llama.cpp
Обзор
Документация
Войти
/
vshmidt
/
llama.cpp
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
tests/peg-parser/test-json-serialization.cpp
28 строк
1021 B
Aldehir Rojas
common : introduce composable PEG parser combinators for chat parsing (#17136)
03 дек 2025, 13:45
Не верифицирован
03 дек 2025, 13:45
0a8026e
Код
Авторство
О чём код?
#include "tests.h" void test_json_serialization(testing &t) { auto original = build_peg_parser([](common_peg_parser_builder & p) { return "<tool_call>" + p.json() + "</tool_call>"; }); auto json_serialized = original.to_json().dump(); t.test("compare before/after", [&](testing &t) { auto deserialized = common_peg_arena::from_json(nlohmann::json::parse(json_serialized)); // Test complex JSON std::string input = R"({"name": "test", "values": [1, 2, 3], "nested": {"a": true}})"; common_peg_parse_context ctx1(input); common_peg_parse_context ctx2(input); auto result1 = original.parse(ctx1); auto result2 = deserialized.parse(ctx2); t.assert_equal("both_succeed", result1.success(), result2.success()); t.assert_equal("same_end_pos", result1.end, result2.end); }); t.bench("deserialize", [&]() { auto deserialized = common_peg_arena::from_json(nlohmann::json::parse(json_serialized)); }, 100); }