use libertyparse::Liberty;
use std::env;
use std::fs;
fn main() {
clilog::init_stderr_color_debug();
let args: Vec<String> = env::args().collect();
assert!(args.len() == 2,
"Usage: {} <liberty_path>", args[0]);
let liberty = fs::read_to_string(&args[1])
.expect("Error reading liberty source file");
let lib = match Liberty::parse_str(&liberty) {
Ok(lib) => lib,
Err(e) => panic!("Parse error: {}", e)
};
clilog::info!("Liberty file {}", args[1]);
lib.debug_report_unparsed();
clilog::info!("{} libs: {:?}",
lib.libs.len(),
lib.libs.iter().map(|(name, _)| name.as_ref())
.collect::<Vec<&str>>());
clilog::info!("total #cells: {}",
lib.libs.iter().map(|(_, l)| l.cells.len())
.sum::<usize>());
}