Extract the following information:
# Key pattern matching
patterns = {
'project_name': r'project\((\w+)',
'targets': r'add_(?:executable|library)\((\w+)',
'sources': r'(?:SOURCES?|SRCS?)\s+([^)]+)',
'includes': r'target_include_directories\([^)]+\s+(\S+)',
'dependencies': r'find_package\((\w+)',
}{
"dependencies": ["asio", "gtest", "catch2"]
}include/- Public APIsrc/*.hpp- Internal headersinclude/**/detail/- Implementation details (low priority)
// Identify public functions
// Pattern: [virtual] <return_type> <name>(<params>) [const] [noexcept] [override]
// Example output:
// - bool parse(const uint8_t* data, size_t len)
// - void setCallback(DataCallback cb)
// - std::optional<Frame> getNextFrame()namespace simple {
namespace net { /* Network Layer */ }
namespace protocol { /* Protocol Layer */ }
namespace util { /* Utility Classes */ }
}
net → protocol → util (Correct)
util → net (Error: Circular dependency warning)
{
"project": {
"name": "stream_test",
"type": "executable",
"cpp_standard": "17"
},
"modules": [
{
"name": "net",
"namespace": "simple::net",
"headers": ["async_tcp_server.hpp"],
"dependencies": ["asio"]
}
],
"key_functions": [
{
"name": "FrameParser::feed",
"file": "jtt1078_parser.hpp",
"priority": "P0",
"category": "protocol"
}
]
}