Связывание Xtext с генератором кода StringTemplate

В моем текущем проекте я пытаюсь связать спецификацию DSL, написанную на xtext, и генератор кода, написанный на StringTemplate.

например, синтаксис моей спецификации DSL следующий. Я ввожу эту информацию через удобные средства редактирования, предоставляемые xText.

structs:
    TempStruct
        tempValue : double;
            unitOfMeasurement : String;

abilities :
    sensors:    
        TemperatureSensor
            generate tempMeasurement : TempStruct;
            attribute responseFormat : String;  

Грамматика вышеупомянутой спецификации DSL выглядит следующим образом:

       VocSpec:

          'structs' ':'
          (structs += Struct)+

          'abilities' ':'
           ('sensors' ':' (sensors += Sensor)+ )+ 
         ;

      Sensor:
          name = ID
          ((attributes += Attributes ) |
          (sources += Sources))* 
          ;

     Sources:
          'generate' name=ID ':' type = Type ';' 
           ;

     Attributes:
         'attribute' name=ID ':' type = Type ';' 
           ; 

    Struct:
          name = ID
          (fields += Field)+ 
         ;

    Field:
         name=ID ':' type += Type ';' 
        ;

XText генерирует семантическую модель, соответствующую вышеупомянутой спецификации. В нашем примере xText генерирует семантическую модель, которая содержит файлы, такие какstruct.java, Field.java, Attribute.java, Sensor.java, так далее.

Я ясно вижу, что эта семантическая модель может быть связана сStringTemplate файл. StringTemplate Файл принимает объект класса. Например,StringTemplate файл занимаетTemperatureSensor (экземпляр датчика) в качестве ввода и генерировать код Java.

Мой вопрос заключается в том, как мне создать экземпляр семантической модели (сгенерированной xText) и что мне нужно сделать, чтобы связать файлы StringTemplate?

Ответы на вопрос(1)

Ваш ответ на вопрос