Crate miden_assembly

Crate miden_assembly 

Source

Re-exports§

pub use miden_assembly_syntax::debuginfo;
pub use miden_assembly_syntax::diagnostics;

Modules§

ast
Abstract syntax tree (AST) components of Miden programs, modules, and procedures.
library
linker
mast
Syntax components for the Miden Assembly AST Merkelized abstract syntax tree (MAST) components defining Miden VM programs.
utils
Syntax components for the Miden Assembly AST Merkelized abstract syntax tree (MAST) components defining Miden VM programs.

Macros§

report

Structs§

Assembler
The Assembler produces a Merkelized Abstract Syntax Tree (MAST) from Miden Assembly sources, as an artifact of one of three types:
DefaultSourceManager
GlobalProcedureIndex
Uniquely identifies a procedure in a set of crate::ast::Module
KernelLibrary
Represents a library containing a Miden VM kernel.
Library
Represents a library where all modules were compiled into a MastForest.
LibraryPath
Path to a module or a procedure.
ModuleIndex
A strongly-typed index into a set of crate::ast::Module
ModuleParser
This is a wrapper around the lower-level parser infrastructure which handles orchestrating all of the pieces needed to parse a ast::Module from source, and run semantic analysis on it.
ParseOptions
The set of options which can be used to control the behavior of the Parse trait.
Procedure
A compiled Miden Assembly procedure, consisting of MAST info and basic metadata.
ProcedureContext
Information about a procedure currently being compiled.
Report
Core Diagnostic wrapper type.
SourceFile
A SourceFile represents a single file stored in a super::SourceManager
SourceId
A SourceId represents the index/identifier associated with a unique source file in a SourceManager implementation.
SourceSpan
This represents a span of bytes in a Miden Assembly source file.
Span
This type is used to wrap any T with a SourceSpan, and is typically used when it is not convenient to add a SourceSpan to the type - most commonly because we don’t control the type.

Enums§

LibraryNamespace
Represents the root component of a library path, akin to a Rust crate name

Traits§

Parse
This trait is meant to be implemented by any type that can be parsed to a Module, to allow methods which expect a Module to accept things like:
SourceManager
Spanned
This trait should be implemented for any type that has an associated SourceSpan.