Module bf::peephole [−][src]
The peephole optimizer, which replaces common loop forms with single (non-Brainfuck) instructions.
In bfi, this is the default final pass if the JIT was not enabled at compile time
(with --features=jit). If the JIT is present, the peephole optimizer can be selected as
the final path with the --peep flag.
For example, we detect the pattern [-], which decrements the current byte until it reaches
zero, and replaces it with the SetZero
instruction. See the common::Instruction enum for a list of
the instructions produced by the peephole compiler.
Enums
| Statement | 
                                 Instructions as output by the peephole optimizer.  | 
                       
Traits
| PeepholeCompilable | 
                                 Program forms that can be compiled to the peephole AST.  | 
                       
Functions
| compile | 
                                 Peephole-optimizes run-length encoded AST.  | 
                       
Type Definitions
| Program | 
                                 At this level, a program is a rose tree of statements.  |