Rust library to parse SystemVerilog / Verilog filelists, used in https://github.com/dalance/svlint https://crates.io/crates/sv-filelist-parser
Go to file
Raamakrishnan A 2972aa9b10
Merge pull request #1 from dalance/empty_line
Add empty line support
2020-02-20 21:37:27 +05:30
.github/workflows Update package metadata. Add license. Fix github actions 2020-02-02 14:28:10 +05:30
src Add empty line support 2020-02-20 10:31:31 +09:00
testcase Add support for defines w/o args, i.e. without "=" 2020-01-30 21:44:45 +05:30
tests Change package name to verilog filelist parser and remove main.rs 2020-02-02 12:57:35 +05:30
.gitignore Basic crate structure 2020-01-20 22:13:01 +05:30
Cargo.lock Bump version to v0.1.1 2020-02-07 21:36:28 +05:30
Cargo.toml Bump version to v0.1.1 2020-02-07 21:36:28 +05:30
CHANGELOG.md Bump version to v0.1.1 2020-02-07 21:36:28 +05:30
LICENSE Update package metadata. Add license. Fix github actions 2020-02-02 14:28:10 +05:30
README.md better support Path and str in parse_file args 2020-02-07 21:35:09 +05:30

Verilog Filelist Parser

A library in Rust to parse a Verilog Filelist and return a list of files, include directories and defines.

Environment variables represented with paranthesis or curly braces (i.e. $() or ${}) will be automatically substituted.

Example

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),
    };
}