2011-10-18 4 views

답변

1

이 아마도 당신이 중 일부를 사용할 수 있습니다

0

당신이 특정 패키지에 정의되어있는 기능을 알고 싶다면 A Small Lisp interpreter in Java의 코드, 당신 지팡이 매크로 with-package-iterator를 사용하는이 같은. 그냥 추출 할 경우

(with-package-iterator (next (find-package 'test) :internal) 
    (loop :for (more? sym) := (multiple-value-list (next)) 
     :if (fboundp sym) :collect sym :into rez 
     :else :unless more? :do (return rez))) 

함수 (- 파일)에서 스크립트, 가장 쉬운 방법은 정규식 "\\(defun (.+)\\s" 또는 이와 비슷한 것으로 스캔하는 것 같습니다.

0

매우 간단한 경우 정규 표현식을 사용할 수 있습니다. 약간 단순한 경우에는 S- 표현식 판독기를 구현하는 것이 합리적인 방법 일 수 있습니다 (독자 매크로를 모두 무시할 수도 있습니다). 일반적인 경우, 특히 매크로학이 관련되어 있다면, Common Lisp의 Java 구현 인 Armed Bear Common Lisp을 삽입하고 언급 된 Vsevolod 양식 with-package-iterator을 사용하는 것이 좋습니다.

관련 문제