문제

LISP 방언에서 주로 학습 운동으로 LISP 통역사를 구현하고 싶습니다. 내가 버린 한 가지는이 지역에 얼마나 많은 선택이 있는지입니다. 기본적으로, 나는 한동안 (계획이나 일반적인 LISP와 같은)에 있었던 일부리스에 대해 배우는 데 조금 더 관심이 있습니다. 나는 내가 이미 그것을 사용했다는 사실을 위해 clojure를 사용하여 이것을하고 싶지 않습니다. :-)

그렇다면 파싱에서 다른 맛보다 맛이 더 좋습니까? 그리고 Common LISP (또는 그 반대)에서 구현 계획을 말하는 것이 좋은 생각이라고 생각하십니까? 아니면 두 사람 사이에 충분한 차이가 있습니까?

그리고 그것이 어떤 차이가 있다면, 나는 크로스 플랫폼 인 것을 원합니다. Windows PC, Mac 및 Linux 상자가 있으며 결국이를 작성할 수 있습니다.

도움이 되었습니까?

해결책

그것에 관한 몇 권의 책이 있습니다.

LISP의 해부학은 오래되고 읽기 어렵고 읽기 어렵지만 위의 모든 책은 적극 권장됩니다.

체계와 공통 LISP는 모두 귀하의 작업에 적합합니다.

언어가 더 크기 때문에 공통 LISP를 구현하는 것은 더 큰 작업입니다. 일반적인 LISP 구현에 사용할 수있는 일반적인 LISP 라이브러리가 있기 때문에 일반적으로 공통 LISP에서 공통 LISP를 더 잘 구현합니다. ;-)

다른 팁

PLT 체계 프로그래밍 언어, 특히 Lispy 언어를 실험 할 수있는 훌륭한 플랫폼입니다. PLT에는 내장 구문을 조작 할 수있는 독자 매크로를 제공하는 확장 가능한 파서 (일반적으로 체계에서 리더라고 함)가 있습니다. 또는 독자를 자신의 것으로 완전히 대체 할 수 있습니다. 전통적인 LEX/YACC 스타일 파서 및 Lexers를 사용하려면 PLT에는 파서 토일 모듈이 제공됩니다. 보너스로서, 그것은 포괄적 인 문서와 타사 패키지에 대한 저장소 (많은 체계에서 누락 된 두 가지)를 가지고 있습니다.

ARC (ArclUnguage.org)의 참조 구현은 체계에 수집하는 언어를 구축하는 상당히 간단하고 읽을 수있는 예입니다. 그것은 주로 PLT의 독자를 사용하며, 두 개의 독자 매크로를 사용하여 ARC와는 다른 체계 구문을 변경합니다. LISP가 아닌 언어를 구현하는 방법을 보려면 PLT의 패키지 저장소 (Planet.plt-Scheme.org)에서 사용할 수있는 JavaScript 구현도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top