Public feed #532047

Brainfuck program generator

public php v1 · immutable
Raw Edit
·published 2007-06-03 01:22 UTC
rendered paste body
function brainfuck_generate($o) {    $ret = "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>";    $a = array(0, 70, 100, 30, 10);    $p = 1;    for ($i = 0; $i < strlen($o); $i++) {        $c = ord($o{$i});                $diff = 255;        for ($j = 0; $j < sizeof($a); $j++) {            if (abs($c - $a[$j]) < abs($diff)) {                $w = $j;                $diff = $c - $a[$j];            }        }                if ($w > $p)            $ret .= str_repeat('>', $w - $p);        else            $ret .= str_repeat('<', $p - $w);        $p = $w;                if ($diff > 0)            $ret .= str_repeat('+', $diff);        else            $ret .= str_repeat('-', abs($diff));        $a[$w] += $diff;        $ret .= ".";            }    return $ret;}