- 카무위키에 영감을 받아 만들게 되었습니다.
- brainfuck 언어의 아종입니다. v0.1은 테스트를 위해 아래 brainfuck 인터프리터를 그대로 가져다 썼습니다. https://github.com/pocmo/Python-Brainfuck
잘했다. | 포인터 증가 |
어이쿠! | 포인터 감소 |
음, | 포인터가 가리키는 바이트의 값을 증가 |
그래, | 포인터가 가리키는 바이트의 값을 감소 |
임금커피 | 포인터가 가리키는 바이트 값을 아스키 코드 문자로 출력한다. |
프록시마스 | 포인터가 가리키는 바이트에 아스키 코드 값을 입력한다. |
괜찮아~ | 포인터가 가리키는 바이트의 값이 0이 되면 짝이 되는 ]로 이동한다. 의사코드로는 while(*ptr != 0) {...} 이다. |
천천히해~ | 포인터가 가리키는 바이트의 값이 0이 아니면 짝이 되는 [로 이동한다. |
EOF(\0) | 문자로 드러나지 않는 토큰이며 프로그램을 종료한다. |
python3 kalang.py yourcode.ka
- 아래는 Hello, World!를 출력하는 Kalang 예제입니다.
음,음,음,음,음,음,음,음,음,음,
괜찮아~잘했다.음,음,음,음,음,음,음,잘했다.음,음,음,음,음,음,음,음,음,음,잘했다.음,음,음,잘했다.음,어이쿠!어이쿠!어이쿠!어이쿠!그래,천천히해~
잘했다.음,음,임금커피잘했다.음,임금커피음,음,음,음,음,음,음,임금커피임금커피음,음,음,임금커피잘했다.음,음,음,음,음,음,음,음,음,음,음,음,음,음,임금커피그래,그래,그래,그래,그래,그래,그래,그래,그래,그래,그래,그래,임금커피어이쿠!어이쿠!음,음,음,음,음,음,음,음,음,음,음,음,음,음,음,임금커피잘했다.임금커피음,음,음,임금커피그래,그래,그래,그래,그래,그래,임금커피그래,그래,그래,그래,그래,그래,그래,그래,임금커피잘했다.음,임금커피
- 결과
jglee@no1:~/Test/Kalang$ python3 kalang.py test_hello.ka
Hello, World!
- brainfuck에서 벗어나 범용 프로그래밍 언어로의 도약을 꿈꾸고 있습니다.
- 컴파일러에 관심이 있는 개발자들의 컨트리뷰션을 언제나 환영합니다.