2009-08-26 3 views
0

자이 썬에 구문을 추가하여 사용자에게 더 좋은 API를 사용하고자한다. 예를 들어, NumPy와 같은 행렬 라이브러리는 Matlab의 :** 중절 연산자와 같은 행렬 및 요소 작업을 모두 사용하면 도움이됩니다.자이 썬 구문 확장

사용 옥타브 매트릭스 만들 수

:

b = array([ (1.5,2,3), (4,5,6) ]) 

R 매트릭스의 변수를 선택하는 식 "Y ~ X + Z"를 사용

A = [ 1, 1, 2; 3, 5, 8; 13, 21, 34 ] 

NumPy와의보다 상당히 좋네요/데이터 프레임. 이는 ["y"] ["x","z"]의 대안보다 상당히 좋거나 문자열 "y ~ x + y"를 구문 분석하는 것보다 훨씬 낫습니다.

더 복잡한 예제는 Easy Extend을 사용하여 Cython에서 구현할 수 있습니다. 그러나 EasyExtend는 JVM에서 작동하지 않습니다.

가장 쉬운 방법이지만 자이 썬에 구문을 추가하는 방법은 무엇입니까? 자이 썬에서 완전히 새로운 언어 구조를 구현하거나 미니 언어를 정의 할 수있는 프레임 워크를 갖는 것이 좋다.

답변

1

the developer of EasyExtend은 일부 자이 썬 프로젝트 (최근에 EE와 유사한 일부 포함)에서 작동했지만 매크로/구문 확장 기능이 EasyExtend와 비슷합니다. 전 당신이 어떤 종류의 전 처리기를 쓸 수 있다고 생각하지만, 파이썬 세계에서는 구문 확장이 대단히 인기가 없다고 제안하는 경향이 있습니다. 정말로 필요한 경우 자신의 DSL을 더 성공적으로 구현할 수 있습니다.