Важная информация
RSS лента

Kakos_nonos

Моя первая PHP программа

Рейтинг: 2.00. Голосов: 4.
В интуите сейчас изучаю РНР, и написал первую программу на этом языке.
Угадайте какую
Ну конечно же, мой любимый 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";
?>
О языке впечатление такое, как будто это смесь си, бейсика и степлера (степлера потому, что много всяких знаков типа %:?%, и переменные тоже $ обозначаются )
Метки: brainfuck, php Добавить / редактировать метки
Категории
Без категории

Комментарии

  1. Аватар для Абадябер
    В интуите?
  2. Аватар для Kakos_nonos
    Да. Там достаточно хорошие учебники дают. По ним можно разобраться. Не то, в МИФИ
  3. Аватар для Kakos_nonos
    Можете опробывать:
    Online Brainfuck
  4. Аватар для 93RED94
    Цитата Сообщение от Kakos_nonos
    Можете опробывать:
    Online Brainfuck
    не переходит туда... сначало ошибку пишит а потом перекидывает на всякие разные сайты