function brainfuck($source, $input = '') { $data = array(); $data[0] = chr(0); $data_index = 0; $source_index = 0; $input_index = 0; $output = ''; brainfuck_interpret($source, $source_index, $data, $data_index, $input, $input_index, $output); return $output; }
function process($input, $brain) { if (strlen($brain) <= 0) { return false; } $memory = array(); $memory[0] = chr(0); $memory_index = 0; $source_index = 0; $input_index = 0; $output = ''; /* Call the actual interpreter */ brainfuck_interpret($brain, $source_index, $memory, $memory_index, $input, $input_index, $output, microtime(true) + TIME_MAX); return $output; }
function brainfuck($source, $input = '') { /* Define needed variables: $data Brainfuck's memory $source Source data $input Simulate STDIN $output Save output in here Each with according index variables */ $data = array(); $data[0] = chr(0); /* It is necessary to set every element explicitly, as PHP treats arrays as hashes */ $data_index = 0; $source_index = 0; $input_index = 0; $output = ''; /* Call the actual interpreter */ brainfuck_interpret($source, $source_index, $data, $data_index, $input, $input_index, $output); return $output; }