2012-12-19 3 views
2

새 언어를 정의하려면 Xtext를 사용하고 있습니다. 이 언어로 코드를 생성하고 싶지만 자동으로 제안 된 doGenerate 함수를 사용하고 싶지 않습니다. 대신 빌드 프로세스에서 호출 할 수있는 Java 코드 (Xtend 아님)를 사용해야합니다.xtext의 사용자 정의 코드 생성

물론 Java 코드에서 원래 제안 된 함수에 전달되는 '리소스'를 사용할 수 있기를 원하므로 DSL의 코드에서 모든 정보에 액세스 할 수 있습니다.

+0

질문 하시겠습니까? –

+0

Xtext DSL 용 Java genrator를 어떻게 설정합니까? –

답변

1

나는 기본적으로 믿어 발전기 구현은 xtend 파일입니다하지만, 당신은 단지 다음과 같이 당신의 [LanguageName] RuntimeModule 클래스에 바인딩을 오버라이드 (override) 할 필요가 아무것도 자바 파일이 변경에서 당신을 중지 없습니다 : -

public class ExampleRuntimeModule extends com.example.AbstractExampleRuntimeModule { 
    @Override 
    public Class<? extends IGenerator> bindIGenerator() { 
     return YourOwnGenerator.class; 
    } 
} 

여기서 YourOwnGenerator는 IGenerator를 구현해야합니다.