Моя первая PHP программа
В интуите сейчас изучаю РНР, и написал первую программу на этом языке.
Угадайте какую
Ну конечно же, мой любимый Brainfuck-интерпретатор.![]()
Для правильной работы фаил должен называться 1.php.
О языке впечатление такое, как будто это смесь си, бейсика и степлера (степлера потому, что много всяких знаков типа %:?%, и переменные тоже $ обозначаютсяКод php:<?php $prg=$_REQUEST["bf"]; $dnn=array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); $inn=$_REQUEST["in"]; $ui=0; $ukk=0; $ukd=0; echo "<HTML>\n"; echo "<title>Online Brainfuck</Title>\n"; echo "<body>\n"; echo "<form method=GET ACTION=\"1.php\">\n"; echo "Введите Brainfuck программу\n"; echo "<br>\n"; echo "<textarea cols=40 rows=20 name=\"bf\">\n$prg\n"; echo "</textarea>\n"; echo "<br>\n"; echo "Введите входные данные\n"; echo "<br>\n"; echo "<input type=text name=\"in\">\n"; echo "<br>\n"; echo "<input type=submit value=\"Пуск\">\n"; echo "</form>\n"; $prg.="@"; While ($prg[$ukk]<>"@") { switch ($prg[$ukk]){ case "+": $dnn[$ukd]++; $ukk++; break; case "-": $dnn[$ukd]--; $ukk++; break; case ">": $ukd++; $ukk++; break; case "<": $ukd--; $ukk++; break; case ".": if ($dnn[$ukd]==10) echo "\n<br>\n"; else echo chr($dnn[$ukd]); $ukk++; break; case ",": $dnn[$ukd]=ord($inn[$ui]); $ukk++; $ui++; break; case "[": $i=0; if ($dnn[$ukd]==0){ do { if ($prg[$ukk]=="[") $i++; if ($prg[$ukk]=="]") $i--; $ukk++; } while ($i<>0); }else $ukk++; break; case "]": if ($dnn[$ukd]<>0){ $i=0; do { if ($prg[$ukk]=="[") $i--; if ($prg[$ukk]=="]") $i++; $ukk--; } while ($i<>0); $ukk=$ukk+1; }else $ukk++; break; default: $ukk++; } } echo "</body>\n"; echo "</HTML>\n"; ?>)