3 $code = "++++++++[>+++++++++<-]>.<+++++[>++++++<-]>-.+++++++..+++.<++++++++[>>++++<<-]>>.<<++++[>------<-]>.<++++[>++++++<-]>.+++.------.--------.>+.";
7 $while = array(); // array($i, ...)
8 for ($i=0; $i < strlen($code); $i++
) {
10 case '>': $pos++
; break;
11 case '<': $pos--; break;
12 case '+': $buffer{$pos} = chr(ord($buffer{$pos}) +
1); break;
13 case '-': $buffer{$pos} = chr(ord($buffer{$pos}) - 1); break;
14 case '.': echo $buffer{$pos}; break;
15 case ',': $buffer{$pos} = fgetc(STDIN
); break;
16 case '[': if (ord($buffer{$pos})) $while[] = $i; else for ($depth=1; $depth; $i++
) {
17 if ($code{$i+
1} == '[') $depth++
;
18 elseif ($code{$i+
1} == ']') $depth--;
21 case ']': $i = array_pop($while) - 1; break;
22 default: echo "Unrecognized character.\n"; exit(1);
This page took 0.403985 seconds and 4 git commands to generate.