Strict Standards: Non-static method Soojung::addReferer() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/settings.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/lifthrasiir/sites/sapzil.info/soojung/settings.php:79) in /home/lifthrasiir/sites/sapzil.info/soojung/classes/Counter.class.php on line 63

Strict Standards: Non-static method Entry::getEntry() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/entry.php on line 51

Strict Standards: Non-static method Soojung::entryIdToFilename() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/classes/Entry.class.php on line 182

Strict Standards: Non-static method Soojung::queryFilenameMatch() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/classes/Soojung.class.php on line 55
TokigunStudio3 | 블로그: Whirl 인터프리터

내용으로 바로 넘어 가기


TokigunStudio3

228 / 3282   


더 이상 이 블로그는 운영되지 않습니다. 새 블로그로 가 주세요.

Whirl 인터프리터

2005/01/06 AM 01:05 | 컴퓨터/프로그래밍 언어 | 4 comments | 0 trackbacks | AllBlog: vote, to pocket

요즘은 이런 물건 만드는 데 시간 투자할 수 있어서 (사실 그 시간 빼고는 멍하니 있다는 게 문제지만 -_-) 좋다. 이번 작품(이라고 하긴 뭣하고;)은 Whirl이라는 아주 골 터지는 프로그래밍 언어의 인터프리터이다.

#include/* by Kang Seonghoon <tokigun@gmail.com> */<stdio.h>
FILE*f;int P[99999],*d=P,*p=P,U[99999],*u=U,q,s,t,r[2],v[2],
w[2];int main(int i,char**I){if(i-2)return!puts("TokigunStu"
"dio Whirl Interpreter by Kang Seonghoon <tokigun@gmail.com"
">");f=fopen(*++I,"r");if(!f)return!!printf(".error: File N"
"ot F"  "ound --  %s  \n",  *I      );      42;  while(~(*d=
fgetc(  f)))if((  *d  |1)-  49);  else  {*d  ++  -=48;}for(fclose(  f)  ;p  <d;        q=!(  *p++      ||q  )){if(*p)v[
s]=(v[s  ]-  r[  s]+  13)%  014;  else  {r[  s]  ^=2;if(q){t
# define        O(n)  else  if(!  (v[s  ]-n  ))  /*2k50106*/
=w[s];if(  s)  {if(0  );O(  1)      t=  *u;  O(       2)*u=t
;O(3)t+=*u;O(4)t*=*u;O(5)t/=*u;O(6)t=0;O(7)t=t<*u;O(8)t=t>*u
;O(9)t=t==*u;O(10)t=!t;O(11)t=-t;}O(1)return 0;O(2)t=1;O(3)t
=0;O(4)t=*u;O(5)*u=t;O(6)p+=t-1;O(7)u+=t;O(8)t=*u&&!!t;O(9)p
+=*u?t-1:0;O(10)t?printf("%d",*u):scanf("%d",u);O(11)!t?(*u=
getchar()):putchar(*u);w[s]=t;s=!s;if(p<P)p=P;}}}return 0;;}


하리마 모양으로 도전하였으나 중간에 코드 수정을 하는 바람에 꼬여 버려서 때려 치고 간단 간단하게 했다. 아, 그리고 Whirl 언어 개발자한테도 (아주 최악의 영어로) 메일 보내 줬으니... 근데 답장이 올라나. -_-;;;

obfuscation collection에도 올라 와 있다.

TrackBack URL: http://sapzil.info/soojung/trackback.php?blogid=290

Comment: 인클루드 (2005/01/06 AM 07:12)

역시 그래도 텐마가 최고에용 =3=3

Comment: 토끼군 (2005/01/06 AM 11:08)

인클루드: 그냥 쓸 만한 모양을 추천해 주세요. -.-

Comment: 미친병아리 (2005/01/08 PM 10:53)

이야.. 이런 것두 다 있군요.. 흐흐흐..

Comment: 토끼군 (2005/01/08 PM 11:13)

미친병아리: 저거는 옛날 버전이고 obfuscation collection에 가면 새 버전을 볼 수 있습니다. :)

Copyright (c) 1995-2005, Kang Seonghoon (Tokigun).