<? header("Content-type: text/html; charset=utf-8"); if($_GET["source"] == 42) { echo "<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />\n\n"show_source(__FILE__); exit; } ?>
<?=
"<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko">
<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <title>TokigunStudio3.page | Online Befunge Visualizer</title>
    <link rel="stylesheet" media="screen" href="http://pandora.sapzil.info/common/css/common.css" type="text/css" />
</head>

<body>
<h1>TokigunStudio Online Befunge Visualizer</h1>
<p><strong>version 0.711 (2005.4.3)</strong></p>
<p>이 프로그램은 <a href="http://www.frox25.no-ip.org/~mtve/code/eso/bef/bef_vis/">펄 버전의 Befunge Visualizer</a>를 php로 바꿔서 온라인으로 제공하는 서비스입니다.</p>

<h2>기능</h2>
<p>이 프로그램은 Befunge 소스를 받아서 프로그램의 흐름을 알기 쉽게 표시해 주는 기능을 가지고 있습니다. 간단한 소개는 다음과 같습니다:</p>
<ul>
    <li>Befunge-93의 모든 명령을 지원합니다.</li>
    <li>Funge-98의 h, l, m, j, x 명령을 제외한 대부분의 명령을 지원합니다. (단 A-Z 명령은 z 또는 r의 역할만 한다고 가정합니다)</li>
    <li>행/열 번호 표시 기능이 있습니다.</li>
</ul>
<p>이 프로그램이 지원하지 않는 것은 다음과 같습니다.</p>
<ul>
    <li>기계적인 명령 인식만 가능하며, 지능적인 흐름 탐색을 지원하지 않습니다. 예를 들어서 3j와 같은 당연한 경우도 처리하지 못 합니다.</li>
    <li>자기 자신을 바꾸는 프로그램에 대한 처리가 되어 있지 않습니다.</li>
</ul>

<h2>소스 코드</h2>
<p>모든 코드는 <a href="http://www.gnu.org/licenses/lgpl.html">GNU LGPL</a>에 따라 배포됩니다.</p>
<ul>
    <li><a href="index.php?source=42">index.php</a></li>
    <li><a href="vis.php?source=42">vis.php</a></li>
</ul>

<hr />
<? if($contents $_POST["contents"]) {
if(
get_magic_quotes_gpc()) $contents stripslashes($contents);
$_contents $contents;
$contents str_replace("\r""\n"str_replace("\r\n""\n"$contents));
$contents rtrim(preg_replace("/[ \t]+\n/""\n"$contents."\n"), "\n");
$c str_replace("\r"""str_replace("\n"""base64_encode($contents)));
if(
$_POST["bf93"] == "yeah!"$q "&amp;bf93=yeah!"; else $q "";
if(
$_POST["number"] == 42$q .= "&amp;number=42";
?>
<p><a href="vis.php?contents=<?=$c?><?=$q?>"><img src="vis.php?contents=<?=$c?><?=$q?>" width="" height="" alt=".result image" style="border:0px;" /></a></p>
<hr />
<? ?>
<form method="post" action="index.php">
<p>아래에 코드를 입력해 주세요. (출력되는 이미지는 referer 체크를 하므로, 반드시 저장해서 사용해 주세요)</p>
<p><textarea rows="25" cols="80" name="contents"><?=htmlspecialchars($_contents)?></textarea></p>
<p>
<input type="checkbox" name="bf93" value="yeah!"<?=(!$_POST["contents"] || $_POST["bf93"]=="yeah!" " checked=\"checked\"" "")?>><label for="bf93">Befunge-93 호환 모드로 동작합니다. (80 x 25 이하의 코드만 사용 가능)</label><br />
<input type="checkbox" name="number" value="42"<?=($_POST["number"]==42 " checked=\"checked\"" "")?>><label for="number">줄 번호를 보여 줍니다.</label>
</p>
<p><input type="submit" value="보기" /></p>
</form>

<address>Copyright &copy; 2004-2005, Kang Seonghoon (Tokigun).</address>
</body>

</html>