Type Definition bf::peephole::Program [−][src]
type Program = [Statement];
At this level, a program is a rose tree of statements.
All instructions are leaves except for the Loop instruction, which contains a boxed Program.
Trait Implementations
impl BytecodeCompilable for Program[src]
impl BytecodeCompilable for Programfn with_peephole<F, R>(&self, k: F) -> R where
F: FnOnce(&Program) -> R, [src]
fn with_peephole<F, R>(&self, k: F) -> R where
F: FnOnce(&Program) -> R, Compile the given program into the peephole AST to prepare for bytecode compilation.
ⓘImportant traits for Box<R>fn bytecode_compile(&self) -> Box<Program>[src]
ⓘImportant traits for Box<R>
fn bytecode_compile(&self) -> Box<Program>Compile the given program to bytecode.
impl Interpretable for Program[src]
impl Interpretable for Programfn interpret_state<R: Read, W: Write>(
&self,
state: State,
input: R,
output: W
) -> BfResult<()>[src]
fn interpret_state<R: Read, W: Write>(
&self,
state: State,
input: R,
output: W
) -> BfResult<()>Interprets a program against the given state.
fn interpret<R: Read, W: Write>(
&self,
size: Option<usize>,
input: R,
output: W
) -> BfResult<()>[src]
fn interpret<R: Read, W: Write>(
&self,
size: Option<usize>,
input: R,
output: W
) -> BfResult<()>Interprets a program. If the given size is None, the default memory size.
fn interpret_stdin(&self, size: Option<usize>) -> BfResult<()>[src]
fn interpret_stdin(&self, size: Option<usize>) -> BfResult<()>Interprets a program using stdin and stdout for input and output.
fn interpret_memory(
&self,
size: Option<usize>,
input: &[u8]
) -> BfResult<Vec<u8>>[src]
fn interpret_memory(
&self,
size: Option<usize>,
input: &[u8]
) -> BfResult<Vec<u8>>Interprets a program from memory, returning a vector of its output.
impl JitCompilable for Program[src]
impl JitCompilable for Programfn with_peephole<F, R>(&self, k: F) -> R where
F: FnOnce(&Program) -> R, [src]
fn with_peephole<F, R>(&self, k: F) -> R where
F: FnOnce(&Program) -> R, Compile the given program into the peephole AST to prepare for JIT compilation.
fn jit_compile(&self, checked: bool) -> Program[src]
fn jit_compile(&self, checked: bool) -> ProgramJIT compile the given program.
impl LlvmCompilable for Program[src]
impl LlvmCompilable for Program