머꼬: 한글 LISP
Python 3.10 이상을 설치한 후 다음 명령을 수행합니다.
python main.py
Windows 운영체제에서는 dist의 mk.exe를 다운로드하셔서 명령 프롬프트에서 다음과 같이 수행합니다.
mk.exe
종료하려면 그냥 엔터를 입력하면 됩니다.
다음 입력을 수행해 보세요.
> (+ 10 20)
30
> (그대로 10)
10
> (그대로 (+ 10 20))
30
> (그대로 '(+ 10 20))
(+ 10 20)
> (절댓값 (- 20))
오류: <내장함수 '-'>: 인수 개수 오류입니다.
> (절댓값 (- 0 20))
20
> (머 '(1 2 3))
1
> (꼬 '(1 2 3))
(2 3)
> (잠시 ((이 2) (삼 3)) (+ 이 삼))
5
> (정의 (합 수) (만약 (= 수 0) 0 (+ 수 (합 (- 수 1)))))
> (합 4)
10
> (정의 합 (람다 (수) (만약 (= 수 0) 0 (+ 수 (합 (- 수 1))))))
> (합 5)
15
> (잠시 ((인수 5) (합 (람다 (수) (만약 (= 수 0) 0 (+ 수 (합 (- 수 1))))))) (합 인수))
15
두 양수를 입력받아 최대공약수와 최소공배수를 구하는 프로그램(gcd_lcm.mk)의 예를 보면 다음과 같습니다.
(정의 (나머지 가 나)
(- 가 (* (/ 가 나) 나)))
(정의 (최대공약수 가 나)
(만약 (= 나 0)
가
(최대공약수 나 (나머지 가 나))))
(정의 (최소공배수 가 나)
(/ (* 가 나) (최대공약수 가 나)))
(정의 가 (읽기))
(정의 나 (읽기))
(쓰기 (최대공약수 가 나))
(쓰기 (최소공배수 가 나))
위 프로그램은 다음과 같이 수행할 수 있습니다.
> python main.py gcd_lcm.mk
테스트 코드 폴더의 테스트 파일 source.mk를 수행하려면 다음과 같이 수행하시면 됩니다.
python main.py test_code/source.mk
윈도우 실행 파일 mk.exe로 수행하시려면 다음과 같이 수행하시면 됩니다.
mk.exe test_code/source.mk
머꼬 프로그램 파일은 UTF-8 인코딩으로 작성해야 합니다.
test_code의 예제 프로그램도 그렇게 작성된 것입니다.
이를 Windows의 명령 프롬프트(cmd) 창에서 보려면 문자 인코딩을 UTF-8 인코딩으로 바꾸어야 합니다.
이때 다음 명령어를 사용하실 수 있습니다.
gomk
다시 원래 인코딩(code page 949, EUC-KR 호환)으로 명령 프롬프트를 회복하시려면 다음 명령어를 사용하시기 바랍니다.
kmog
- 우균(Gyun Woo) - 최초 작업 - Gyun Woo