PATH (프로그래밍 언어)

PATH는 브레인퍽과 비펀지로부터 유래한 난해한 프로그래밍 언어이다. 프로그램 코드는 비펀지와 유사하게 2차원 격자 안에 배열되며, 각각의 명령은 모두 1글자로 이루어져 있다. 데이터는 브레인퍽과 유사하게 "메모리 셀"이라 불리는 정수의 배열에 저장된다.

 예제 코드 
다음 코드는 ASCII 문자 0x07(BEL)을 출력해서 비프음을 발생시킨다.

 /*****\   /*+*\   /!*/*!\  \     #
 !     +  //   \\     *     *     *
 /**$**/  *     *     *     *     .
 *        +-----+     +     +-----+
 *        *     *     *     *     *
 \        /     \     /     \     /

 PATH의 명령어들 
 명령어  역할 $  프로그램의 시작점을 가리킨다. 명령 포인터는 오른쪽으로 움직이게 된다. #  프로그램의 실행을 종료한다. +  현재 메모리 셀의 값을 1 증가시킨다. -  현재 메모리 셀의 값을 1 감소시킨다. }  다음 메모리 셀로 이동한다. {  이전 메모리 셀로 이동한다. ,  문자를 하나 입력받아서 그 문자의 ASCII 값을 현재 메모리 셀에 저장한다. .  현재 메모리 셀의 값에 해당하는 ASCII 문자를 출력한다. /  명령 포인터가 움직이는 방향이 오른쪽이면 포인터를 위로, 아랫쪽이면 왼쪽으로, 왼쪽이면 아랫쪽으로, 윗쪽이면 오른쪽으로 움직인다. \  명령 포인터가 움직이는 방향이 오른쪽이면 포인터를 아래로, 아랫쪽이면 오른쪽으로, 왼쪽이면 윗쪽으로, 윗쪽이면 왼쪽으로 움직인다. ^  만약 현재 메모리 셀의 값이 0이 아니면 명령 포인터를 위로 움직인다. <  만약 현재 메모리 셀의 값이 0이 아니면 명령 포인터를 왼쪽으로 움직인다. >  만약 현재 메모리 셀의 값이 0이 아니면 명령 포인터를 오른쪽으로 움직인다. v  만약 현재 메모리 셀의 값이 0이 아니면 명령 포인터를 아래로 움직인다. !  다음 명령을 무시하고 건너 뛴다.

브레인퍽과 마찬가지로, 올바른 명령이 아닌 모든 문자는 무시된다.

 같이 보기 
 SNUSP

 외부 링크 
 PATH 공식 웹사이트
 PHP로 만든 PATH 인터프리터

분류:난해한 프로그래밍 언어