2013-06-14 1 views
0

XText에서 내 DSL을 정의했는데 자동으로 Java 파생 언어 구문 분석기와 코드 생성 뼈대가 생성되었습니다. 정말 멋집니다.XText : 다중 타겟 라우가 우지에 대한 파서를 만드는 방법

문제는 내 DSL이 여러 언어로 구현 된 프로젝트에 의해 소비된다는 것입니다. C#, Java 및 Ruby에서 DSL을 파싱해야 할 수도 있습니다.

그래서 질문입니다 : xtext를 사용하여 여러 언어에 대한 파서를 생성하는 방법이 있습니까?

미리 도움을 청하십시오!

답변

2

순수 구문 분석 도구는 완전한 Xtext 제품군 중 일부에 지나지 않습니다. Eclipse IDE와 Xtend 생성기와의 통합은 두 가지 큰 코드입니다. Xtext는 EMF Ecore 모델 위에 구축됩니다. 이 부분들 중 다른 언어로는 사용할 수 없습니다.

그래서 Xtext는 C# 및 Ruby에서 실행할 수 없습니다.

당신이 할 수있는 일 :

  • 당신은 독립 항아리에 파서와 발전기 물건을 포장 어디서나 (C# 및 루비에서 포함)에서 외부 프로세스로 그를 호출 할 수 있습니다. 자신의 DSL에 대해서는 javac과 같습니다.

  • JRuby에서 Ruby 코드를 실행하고 거기에서 Xtext 항목을 호출 할 수 있습니다. 모든 것이 동일한 JVM에서 실행되기 때문에 외부 프로그램을 실행하는 것보다 더 잘 제어 할 수 있습니다.

  • 멋진 콘텐츠를 모두 갖춘 사용자 친화적 인 편집기를 사용하기 위해 Xtext를 사용할 수 있지만 원하는 언어에 대해 독립적 인 문법을 구현할 수 있습니다.