Я новичок в работе с Xtext и Xtend, и я наткнулся на проблему, которая, я надеюсь, кто-то может помочь мне решить. То, что я пытаюсь достичь, - это разрешить переменные из внешнего источника, а не декларировать их явно в DSL. я получил следующий пример, чтобы продемонстрировать: Вот грамматика:Устранение переменных в моей DSL от внешнего источника
grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.xbase.Xbase
generate myDsl "http://www.xtext.org/example/mydsl/MyDsl"
Model:
configUrl=ConfigUrl
devices+=Device*
test=Test
;
ConfigUrl:
"ConfigURL=" url=STRING
;
Device:
'Device' name=ID
'has channels: ' (channels+=Channel (',' channels+=Channel)*)?
;
Channel:
name=ID
;
Test:
'DoSomething' channel=[Channel|QualifiedName]
;
и вот пример использования:
ConfigURL="http://localhost:8080/devices"
Device Light has channels: state
DoSomething Light.state
Вместо явного объявления устройств в DSL, я хотел бы решить их из и внешнего источника (переменная ConfigURL). Насколько я могу судить, то, что я ищу, связано с функциональными возможностями Xtend. Я просмотрел документацию, но не нашел много, что могло бы помочь мне дальше. Кроме того, кажется, что некоторые вещи изменились, и примеры, с которыми я столкнулся, устарели.
Спасибо,