간단한 2D 언어를 정의 해 봅시다 . 엄청나게 독창적 인 이름 인 befinge를 드리겠습니다 . Befinge에는 5 가지 지침이 있습니다.
<>^v
대부분의 2D esolang에서와 같이 명령 포인터를 해당 방향으로 리디렉션합니다..
no-op입니다.
명령 포인터는 오른쪽 상단에서 시작합니다. 명령 포인터가 가장자리에 도달하면 프로그램이 중지됩니다. 모든 Befinge 프로그램은 분명히 아무 것도하지 않는 무한 루프로 정지하거나 들어갑니다. 다음은 두 가지 예입니다.
정지 :
>.v
..<
비 경고 :
>....v
..v..<
..>v..
^..<..
중단 문제는 Turing-complete 언어에서는 해결할 수 없지만이 문제에 해당됩니다. 당신의 임무는 befinge 프로그램을 나타내는 문자열을 입력으로 받아 중단 여부에 따라 참 또는 거짓 값을 반환 하는 프로그램 (또는 함수)을 작성하는 것입니다.
- 입력은 이러한 문자로만 구성되고 사각형으로 구성되는 공백으로 채워질 것이라고 가정 할 수 있습니다.
- 지침에 5 자 세트를 사용할 수 있습니다 (예 :)
adws
.
테스트 사례
정지 :
.
v>
>^
....v....
....>...v
.^..<....
.......v<
.......v.
....^..<.
v<>v>v^
>v^>^>v
<>>^v<v
v^<>v^<
비 경고 :
>..v
^..<
>v<
v<.
>v.
v<.
>.^
>.>.>.v
.><.<.<
이것은 code-golf 이므로 가장 짧은 프로그램 (바이트)이 이깁니다.
>..>.
또는 ><
.