[−][src]Crate liberty_parse
This crate reads Liberty format files, commonly used by EDA tools to describe library cells (including standard cells, hard IP, etc.).
Example
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()); let area = lib .cells .get("AND2") .and_then(|c| c.simple_attributes.get("area")) .map_or(-1.0, |v| v.float()); println!("Cell AND2 has area: {}", area); }
Re-exports
pub use ast::ParseResult; |
pub use ast::Value; |
Modules
ast | Defines the types and parser for the Abstract Syntax Tree (AST) representation of a Liberty file. |
liberty | Defines a slightly enhanced data structure than the base AST |
Structs
Error |
Functions
parse_lib | Parse a string slice into a liberty::Liberty struct |