codegraph-cpp
C++ parser for CodeGraph - extracts code entities and relationships from C++ source files.
Features
- Parses C++ source files using tree-sitter
- Extracts classes, structs, enums, and functions
- Supports namespaces and nested namespaces
- Handles templates and template parameters
- Extracts inheritance relationships
- Detects function calls and method invocations
- Supports various C++ file extensions:
.cpp,.cc,.cxx,.hpp,.hh,.hxx,.h
Usage
use CodeGraph;
use CppParser;
use CodeParser;
use Path;
let parser = new;
let mut graph = in_memory.unwrap;
let source = r#"
namespace myns {
class MyClass {
public:
void myMethod() {}
};
}
"#;
let file_info = parser
.parse_source
.unwrap;
println!;
println!;
Supported Constructs
- Classes:
class,struct - Enums:
enum,enum class - Functions: Free functions, methods, constructors, destructors
- Namespaces: Named namespaces, nested namespaces
- Templates: Class templates, function templates
- Inheritance: Single and multiple inheritance
- Access specifiers:
public,private,protected - Includes:
#includedirectives
License
MIT