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. |