pub trait Executable<S: Symbolic>: Clone + Alphabet<S> + Iterator<Item = Instruction<S>> {
    type Driver: Scope<S>;
    type Error;

    // Provided methods
    fn execute(
        &mut self,
        driver: &mut Self::Driver
    ) -> Result<Self::Driver, Self::Error> { ... }
    fn execute_once(
        &mut self,
        driver: &mut Self::Driver
    ) -> Result<Self::Driver, Self::Error> { ... }
    fn execute_until(
        &mut self,
        driver: &mut Self::Driver,
        until: impl Predicate<Self::Driver>
    ) -> Result<Self::Driver, Self::Error> { ... }
}
Expand description

Executable describes a program that can be executed with an external driver.

Required Associated Types§

Provided Methods§

source

fn execute( &mut self, driver: &mut Self::Driver ) -> Result<Self::Driver, Self::Error>

source

fn execute_once( &mut self, driver: &mut Self::Driver ) -> Result<Self::Driver, Self::Error>

source

fn execute_until( &mut self, driver: &mut Self::Driver, until: impl Predicate<Self::Driver> ) -> Result<Self::Driver, Self::Error>

Implementors§