2 个不稳定版本
0.2.0 | 2023年10月11日 |
---|---|
0.1.0 | 2023年3月10日 |
#1934 在 解析器实现 中
用于 dot-viewer
39KB
917 行
dot-graph
使用 FFI 与 Graphviz cgraph 库结合实现的 Rust 中的 dot 解析器。
先决条件
dot-graph
使用 C 绑定解析 dot 格式文件,使用 Graphviz (v7.0.6)。
系统环境应能够找到并包含以下头文件。
#include <gvc.h>
#include <cgraph.h>
选项 1. 从软件包管理器安装 Graphviz
从 Linux 来
$ sudo apt install graphviz-dev
以及从原版 Ubuntu 来,你可能还想安装这些。
$ sudo apt install build-essentials cmake
$ sudo apt install clang
从 Mac 来
$ brew install graphviz
以及从 Apple Silicon Mac 来,并且 添加一个环境变量,
export CPATH=/opt/homebrew/include
选项 2. 从源代码构建 Graphviz
或者,尝试按照 指南 从源代码构建。
用法
use dot_graph::prelude::*;
fn main() -> Result<(), DotGraphError> {
/* parse from file */
let graph = parser::parse_from_file(/* path */)?;
let mut stdout = std::io::stdout();
graph.to_dot(&mut stdout)?;
/* parse from memory */
let graph = parser::parse_from_memory(/* dot file contents in memory */)?;
let mut stdout = std::io::stdout();
graph.to_dot(&mut stdout)?;
Ok(())
}
依赖项
~3–10MB
~104K SLoC