2012-02-29 3 views
2

저는 작은 프로그래밍 언어/DSL을 개발하는 데 도움이되는 최신 툴 체인을 찾고 있습니다. MS Research에서 Phoenix을 탐험하고 싶지만 죽은 프로젝트처럼 보입니다. 그 경우인가요? 그리고 다른 곳에서 봐야합니까?Phoenix 컴파일러 도구 프로젝트가 아직 살아 있습니까?

피닉스와 함께 CIL을 타겟팅하고 싶지만 LLVM (또는 기타)이 사용하기에 가장 좋은 도구 체인이라면 확실히 고려해 볼 수 있습니다.

답변

2

내가 아는 한 피닉스는 죽었습니다. 나는 Microsoft 직원이 아닙니다.

LLVM은 매우 적극적으로 개발되고 있지만 특히 자체 JIT 컴파일러가있는 관리되는 런타임을 대상으로하려는 경우 작은 DSL의 경우 과잉 사용이 될 수 있습니다.

+0

감사합니다. Dmitry, 그것이 어떻게 나타나는지 보여줍니다. 좋은 대안을 제시 할 수 있습니까? MS 기술 스택에서 선호 하시겠습니까? –

+0

DSL은 일반적인 용도의 언어로 변형 될 수 있으며, 어쨌든 레크리에이션 프로젝트이므로 과잉 공격은 문제가되지 않습니다. –

+0

우리는 JVM 벤더이고 컨설팅 사업은 Java, C/C++ 및 (놀랍게도!) Modula-2를 중심으로 이루어지기 때문에 CLR을 둘러싼 상황을 거의 모른다고 인정해야합니다. 즉, 소수의 Mono 호환 컴파일러 (http://www.mono-project.com/Languages)가 있습니다. 아마도 그 중 하나를 포크로 만들면 바퀴를 재발 명하지 않을 수 있습니다. –

1

Irony은 .NET 플랫폼에서 언어를 구현하기위한 개발 키트입니다. Mono 스택에는 IL 어셈블리를 작성하는 데 도움이되는 몇 가지 도구가 있습니다. 특히 Cecil을 생각합니다.

또 다른 방법은 DSL에서 C#을 출력하는 것입니다. 그러면 DSL에 대한 더 높은 수준의 '목표'언어를 얻을 수 있습니다.