#verilog #system-verilog #filelist

verilog-filelist-parser

一个解析 Verilog 文件列表并返回文件列表、包含目录和定义的库

3 个版本

0.1.2 2020年2月20日
0.1.1 2020年2月7日
0.1.0 2020年2月2日

2398解析器实现

每月 21 次下载

MIT 许可证

12KB
217

Verilog 文件列表解析器

一个 Rust 库,用于解析 Verilog 文件列表并返回文件列表、包含目录和定义。

使用括号或花括号表示的环境变量(例如 $()${})将自动替换。

示例

use verilog_filelist_parser;
let filelist = verilog_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:

Verilog 文件列表解析器

一个解析 Verilog 文件列表并返回文件列表、包含目录和定义的库。

使用括号或花括号表示的环境变量(例如 $()${})将自动替换。

示例

use verilog_filelist_parser;
let filelist = verilog_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