Expand description
A frontend for Verilog AMS that returns an Tree based IR as its end result
let source_map_allocator = Bump::new();
let source_map = ast
.parse_from_and_print_errors(Path::new("<File>"), &source_map_allocator, true)?;
let hir = ast
.lower_and_print_errors(source_map, true)?;
let mir = hir
.lower_and_print_errors(source_map, true)?;
Re-exports§
pub use bumpalo;
pub use ahash;
pub use rustc_hash;
Modules§
- analysis
- ast
- ast_
lowering - This module is responsible for lowering an
Ast
to anHir
- cfg
- data_
structures - hir
- ir
- mir
- parser
- symbol
- symbol_
table - util
Macros§
- impl_
id_ type - Provides the implementation which allows the data of an IR to be accessed using an ID type generated using the
id_type!
macro. - resolve
- A macro that hides the boiler plate required for name resolution using the resolver struct
It is defined in the
name_resolution
module but due to limitations of rustdoc can’t be shown there in the documentation If$name
wasn’t found or doesn’t math anySymbolDeclaration
::$declaration
the appropriate errors are added to$self
.errors and execution continuous after the macro - resolve_
hierarchical - A macro that hides the boiler plate required for name resolution of hieraichal Identifiers using the resolver struct
It is defined in the
name_resolution
module but due to limitations of rustdoc can’t be shown there in the documentation
If$name
wasn’t found or doesn’t math anySymbolDeclaration
::$declaration
the appropriate errors are added to$self
.errors and execution continuous after the macro