use spefparse::SPEF;
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: {} <spef_path>", args[0]);
let spef = fs::read_to_string(&args[1])
.expect("Error reading spef source file");
let spef = match SPEF::parse_str(&spef) {
Ok(spef) => spef,
Err(e) => panic!("{}", e)
};
clilog::info!("SPEF file {}", args[1]);
clilog::info!("*DESIGN {:?}, *VENDOR {:?}",
spef.header.design, spef.header.vendor);
clilog::info!("# Ports = {}", spef.top_ports.len());
clilog::info!("# Nets = {}", spef.nets.len());
clilog::info!(
"# Net Points = {}",
spef.nets.iter()
.map(|n| n.caps.len())
.sum::<usize>());
}