1 个不稳定版本
0.1.3 | 2022年5月12日 |
---|
#2258 在 解析器实现 中
402 次每月下载
在 2 个crate中使用 (通过 svlint)
12KB
226 行
SystemVerilog 文件列表解析器
Rust 中一个用于解析 SystemVerilog 文件列表并返回文件列表、包含目录和宏定义的库。
可选的括号或花括号包裹的环境变量(例如 $
,$()
或 ${}
)将被自动替换。
示例
use sv_filelist_parser;
let filelist = sv_filelist_parser::parse_file("testcase/files.f")
.expect("Cannot read filelist");
for file in filelist.files {
println!("{:?}", file);
}
for incdir in filelist.incdirs {
println!("{:?}", incdir);
}
for (d, t) in filelist.defines {
match t {
None => println!("{:?}", d),
Some(te) => println!("{:?}={:?}", d, te),
};
}
lib.rs
:
SystemVerilog 文件列表解析器
Rust 中一个用于解析 SystemVerilog 文件列表并返回文件列表、包含目录和宏定义的库。
可选的括号或花括号包裹的环境变量(例如 $
,$()
或 ${}
)将被自动替换。
示例
use sv_filelist_parser;
let filelist = sv_filelist_parser::parse_file("testcase/files.f")
.expect("Cannot read filelist");
for file in filelist.files {
println!("{:?}", file);
}
for incdir in filelist.incdirs {
println!("{:?}", incdir);
}
for (d, t) in filelist.defines {
match t {
None => println!("{:?}", d),
Some(te) => println!("{:?}={:?}", d, te),
};
}
依赖
~2–3MB
~53K SLoC