Emulator provides us with a means to execute our MASM IR directly
without having to emit “real” MASM and run it via the Miden VM.
In other words, it’s a convenient way to run tests to verify the
expected behavior of a program without all of the baggage of the
Miden VM.
A Library represents a set of modules and its dependencies, which are compiled/assembled
together into a single artifact, and then linked into a Program for execution at a later
time.
MasmCompiler is a compiler from Miden IR to MASM IR, an intermediate representation
of Miden Assembly which is used within the Miden compiler framework for various purposes,
and can be emitted directly to textual Miden Assembly.
This represents a single compiled Miden Assembly module in a form that is
designed to integrate well with the rest of our IR. You can think of this
as an intermediate representation corresponding to the Miden Assembly AST,
i.e. miden_assembly::ast::Module.
This type represents the various sorts of errors which can occur when
running the emulator on a MASM program. Some errors may result in panics,
but those which we can handle are represented here.