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