vihaco / virtual ISA & machine framework
Guides
  1. Defining Instructions
  2. Advanced Instruction Usage
  3. Parser Integration
  4. Pattern Parser Generator
  5. Advanced Parser Customization
  6. Using Messages
  7. Building Components
  8. Observing Effects
  9. Defining a Composite

Guides

These guides explain how to build on top of vihaco: how to define an instruction set, parse source text into it, resolve execution input, execute components, observe their effects, and compose everything into a machine.

For the type-by-type API reference, see the generated rustdoc.

  1. Defining Instructions With vihaco Start with instruction enums and width inference.
  2. Parser Integration for Component Instructions The Parse trait and the legacy parser attributes retained for existing instruction enums.
    • Pattern Parser Generator The recommended parser-authoring workflow for new syntax: declarative, compile-time-checked patterns for instruction, value, and type enums and structs.
    • Advanced Parser Customization Module-level orchestration: device headers, the ParsedModule two-pass design, Resolve impls, sugar expansion, string interning, and label resolution.
  3. Using Messages With vihaco How a runtime resolves execution input and supplies messages to components.
  4. Building Components With vihaco Connect instructions, messages, effects, and #[component(...)].
  5. Observing Effects With #[observe] How #[observe] works — on standalone observers and on components that also react to effects.
  6. Defining A Composite With vihaco Compose components and observers with the transitional #[composite] wiring.
On this page
  1. Recommended reading order