| Crates.io | liberty-parse |
| lib.rs | liberty-parse |
| version | 0.1.0 |
| created_at | 2019-08-11 01:07:29.600631+00 |
| updated_at | 2019-08-11 01:07:29.600631+00 |
| description | Liberty file format parser |
| homepage | |
| repository | https://github.com/shages/liberty-parse |
| max_upload_size | |
| id | 155735 |
| size | 114,916 |
Liberty file format parser for Rust
Parse libraries from a Liberty file
use liberty_parse::parse_lib;
let lib_str = r#"
library(sample) {
cell(AND2) {
area: 1;
}
}
"#;
for lib in parse_lib(lib_str).unwrap() {
println!("Library '{}' has {} cells", lib.name, lib.cells.len());
if let Some(cell) = lib.cells.get("AND2") {
let area = cell.simple_attributes.get("area").map_or(0.0, |v| v.float());
println!("Cell AND2 has area: {}", area);
} else {
println!("Cell AND2 doesn't exist!");
}
}
Doesn't automatically parse files from include statements
Doesn't parse bus syntax in pin names. For example:
pin (X[0:3]){
}