Expand description
Abstract syntax tree (AST) components of Miden programs, modules, and procedures.
Re-exports§
pub use self::visit::Visit;
pub use self::visit::VisitMut;
pub use midenc_hir_type as types;
Modules§
- visit
- This module provides an implementation of the visitor pattern for the AST of Miden Assembly.
Structs§
- Advice
MapEntry - Array
Type - Attribute
Set - An AttributeSet provides storage and access to all of the attributes attached to a Miden Assembly item, e.g. procedure definition.
- Block
- Represents a basic block in Miden Assembly syntax.
- Constant
- Represents a constant definition in Miden Assembly syntax, i.e.
const.FOO = 1 + 1
. - DocString
- Represents a documentation string in Miden Assembly
- Enum
Type - A combined type alias and constant declaration corresponding to a C-like enumeration.
- Function
Type - A procedure type signature
- Ident
- Represents a generic identifier in Miden Assembly source code.
- Import
- Represents an import statement in Miden Assembly syntax.
- Invoke
- Represents a specific invocation
- Local
Name Resolver - A lookup table for procedure names in the context of some module
- Meta
KeyValue - Represents the metadata of a key-value crate::ast::Attribute, i.e.
@props(key = value)
- Meta
List - Represents the metadata of a named list crate::ast::Attribute, i.e.
@name(item0, .., itemN)
- Module
- The abstract syntax tree for a single Miden Assembly module.
- Pointer
Type - Procedure
- Represents a concrete procedure definition in Miden Assembly syntax
- Procedure
Alias - Represents a procedure that acts like it is locally-defined, but delegates to an externally- defined procedure.
- Procedure
Index - Represents the index of a procedure within a single module.
- Procedure
Name - Procedure name.
- Qualified
Procedure Name - Represents a qualified procedure name, e.g.
std::math::u64::add
, parsed into it’s constituent LibraryPath and ProcedureName components. - Struct
Field - Struct
Type - Type
Alias - A TypeAlias represents a named Type.
- Variant
- A variant of an EnumType.
Enums§
- Alias
Target - A fully-qualified external procedure that is the target of a procedure alias
- Attribute
- An Attribute represents some named metadata attached to a Miden Assembly procedure.
- Attribute
SetEntry - Represents an entry under a specific key in a AttributeSet
- Borrowed
Meta - Represents a reference to the metadata for an super::Attribute
- Case
Kind Error - Represents the various types of casing errors that can occur, e.g. using an identifier
with
SCREAMING_CASE
where one withsnake_case
is expected. - Constant
Expr - Represents a constant expression or value in Miden Assembly syntax.
- Constant
Op - Represents the set of binary arithmetic operators supported in Miden Assembly syntax.
- Debug
Options - A proxy for miden_core::DebugOptions, but with super::Immediate values.
- Export
- Represents an exportable entity from a super::Module.
- Form
- This type represents the top-level forms of a Miden Assembly module
- Hash
Kind - Represents the type of the final value to which some string value should be converted.
- Ident
Error - Represents the types of errors that can occur when parsing/validating an Ident
- Immediate
- Represents an instruction immediate, e.g.
add.1
oradd.CONST
- Instruction
- Represents the set of primitive instructions in Miden Assembly syntax.
- Invocation
Target - Describes targets of
exec
,call
, andsyscall
instructions. - Invoke
Kind - Represents the kind of an invocation
- Meta
- Represents the metadata provided as arguments to an attribute.
- Meta
Expr - Represents a metadata expression of an crate::ast::Attribute
- Meta
Item - Represents a single metadata item provided as an argument to an attribute.
- Module
Kind - Represents the kind of a Module.
- Op
- Represents the Miden Assembly instruction set syntax
- Resolved
Procedure - Represents the result of resolving a ProcedureName in the context of a module.
- System
Event Node - Instructions which inject data into the advice provider.
- Type
Decl - An abstraction over the different types of type declarations allowed in Miden Assembly
- Type
Expr - A syntax-level type expression (i.e. primitive type, reference to nominal type, etc.)
- Visibility
- Represents the visibility of a procedure globally.
Constants§
- MAX_
STACK_ WORD_ OFFSET - Maximum stack index at which a full word can start.