- 상위 문서: 난해한 프로그래밍 언어
1 개요
Hard Data Hard Language의 약자로 원래는 HD라고 이름을 지으려 했으나 HD라고만 하면 HD의 다른 뜻과 구분이 안가기 때문에 HDHL이 되었다.
난해한 프로그래밍 언어중 하나이며, 웹사이트에서 쓸 수 있다. 혹은 자기 컴퓨터
2 역사
'Hackers'라는 그룹이 실제로 쓰일 수 있는 난해한 프로그래밍 언어를 만들기위해 프로젝트 설립.
3 명령어
총 15개의 명령어가 있다.
- <: 이전 포인터
- >: 다음 포인터
- (: 이전 주소
- ): 다음 주소
- =: 값 넣기
- #: 프린트
- @: 아스키 코드 값 넣기
- &: 현재 값 + 문자열 or 숫자
- +: 값 증가
- -: 값 감소
- { : 반복문(현재 포인터의 값이 0일 때 }으로 이동)
- } : 반복문(현재 포인터의 값이 0이 아닐 때 {으로 이동)
- %char%: 값 검색(검색해서 값이 나오면 0 반환)
- ;: 프로그램 종료
- .: 구문 분리
어떤 항목에서 본 기분이 든다. 좀 늘어나긴 했지만.
브레인퍽이랑 비슷비슷한데?
4 예제
+++.=.).>.++++.=.(.#.).#.;
이 코드의 결과는 34가 나온다.
- +++.: 현재 포인터의 값에 3을 더한다.
- =.: 현재 주소에 값을 넣는다.
- ).: 다음 주소로 이동.
- >.: 포인터 이동.
- ++++.: 현재 포인터의 값에 4를 더한다.
- =.: 값을 넣는다.
- (.: 이전 주소로 이동.
- #.: 프린트.
- ).: 다음 주소로 이동.
- #.;: 프린트하고 마침.
이렇게 해석된다.