miden_assembly_syntax/ast/
mod.rs

1//! Abstract syntax tree (AST) components of Miden programs, modules, and procedures.
2
3mod advice_map_entry;
4mod alias;
5mod attribute;
6mod block;
7pub mod constants;
8mod docstring;
9mod form;
10pub(crate) mod ident;
11mod immediate;
12mod instruction;
13mod invocation_target;
14mod item;
15mod module;
16mod op;
17pub mod path;
18mod procedure;
19#[cfg(test)]
20mod tests;
21mod r#type;
22mod visibility;
23pub mod visit;
24
25pub use self::{
26    advice_map_entry::AdviceMapEntry,
27    alias::{Alias, AliasTarget},
28    attribute::{
29        Attribute, AttributeSet, AttributeSetEntry, BorrowedMeta, Meta, MetaExpr, MetaItem,
30        MetaKeyValue, MetaList,
31    },
32    block::Block,
33    constants::{Constant, ConstantExpr, ConstantOp, ConstantValue, HashKind},
34    docstring::DocString,
35    form::Form,
36    ident::{CaseKindError, Ident, IdentError},
37    immediate::{ErrorMsg, ImmFelt, ImmU8, ImmU16, ImmU32, Immediate},
38    instruction::{DebugOptions, Instruction, SystemEventNode},
39    invocation_target::{InvocationTarget, Invoke, InvokeKind},
40    item::*,
41    module::{Module, ModuleKind},
42    op::Op,
43    path::{Path, PathBuf, PathComponent, PathError},
44    procedure::*,
45    r#type::*,
46    visibility::Visibility,
47    visit::{Visit, VisitMut},
48};
49
50pub(crate) type SmallOpsVec = smallvec::SmallVec<[Op; 1]>;
51
52/// Maximum stack index at which a full word can start.
53pub const MAX_STACK_WORD_OFFSET: u8 = 12;