Skip to content

woogyun/mowkow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mowkow

머꼬: 한글 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

Windows용 배치 파일

머꼬 프로그램 파일은 UTF-8 인코딩으로 작성해야 합니다. test_code의 예제 프로그램도 그렇게 작성된 것입니다. 이를 Windows의 명령 프롬프트(cmd) 창에서 보려면 문자 인코딩을 UTF-8 인코딩으로 바꾸어야 합니다. 이때 다음 명령어를 사용하실 수 있습니다.

gomk

다시 원래 인코딩(code page 949, EUC-KR 호환)으로 명령 프롬프트를 회복하시려면 다음 명령어를 사용하시기 바랍니다.

kmog

Authors

  • 우균(Gyun Woo) - 최초 작업 - Gyun Woo

About

머꼬: 한글 LISP

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors