브레인퍽. 우어반 뮐러(Urban Müller가)1993년에 만든 난해한 프로그래밍 언어로서, 소스코드 파일 확장자는 .b 또는 .bf이다. 이름에 Fuck이 들어가기 때문에 Brainf*** 등으로 필터링 당하기도 한다.
특징
개발 목적은 가장 작은 컴파일러로 구현 가능한 튜링 완전한 프로그래밍 언어이었다고 한다. 이에 걸맞게 명령어는 ><+-.,[]로 8종류밖에 되지 않으며, 두번째로 제작된 컴파일러의 크기가 240바이트(...)라는 위엄을 보여준다.
포인터를 기반으로 한 명령 체계를 가지고 있다.
명령어
문자 | 의미 |
---|---|
>
|
포인터를 증가시킨다. |
<
|
포인터를 감소시킨다. |
+
|
포인터가 가리키는 바이트의 값을 증가시킨다. |
-
|
포인터가 가리키는 바이트의 값을 감소시킨다. |
.
|
포인터가 가리키는 바이트의 값을 ASCII 문자로 출력한다. |
,
|
포인터가 가리키는 바이트에 입력받은 문자의 ASCII 값을 넣는다. |
[
|
포인터가 가리키는 바이트의 값이 0이면 짝이 되는 뒷쪽의 ] 로 이동한다.
|
]
|
포인터가 가리키는 바이트의 값이 0이 아니면 짝이 되는 앞쪽의 [ 로 이동한다.
|
이외의 문자는 처리되지 않으므로, 굳이 원한다면 주석을 넣을수도 있다. 누가 하겠느냐만은
이 언어로 Hello, World!를 작성하면 다음과 같다.
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+ ++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.