Xtext, Определение структуры для сюжета
Я должен сделать тип кривой, которая представляет собой график кривой, данные приведены в файле CSV (интерпретатор, который читает файл данных). У меня есть два типа значений: ось X, время (я думаю, INT:INT) минуты: секунды формат; и напряжение по оси Y (двойное). Мои грамматические типы данных следующие:
Model:
elements+=Element*;
Element:
DataType /* | Operation | Control*/ ;
DataType :
Text | Real
;
Text:
("String" | "Text") name=ID (value=STRING)?
;
Double returns ecore::EDouble:
INT ('.' INT)?
;
Real:
("Double" | "Real") name=ID (value=Double)?
;
Я пытался сделать карту в моей грамматике в следующем формате: Кривая (Двойное напряжение, время INT:INT), но я не знаю, почему она не работает. Что вы думаете, ребята? я должен определить новый тип для типа времени? или как правильно составить карту? Спасибо за ваше время
CurveCollection :
'Curve['keys+=[Real]*','values+=Time*']'
;
Time:
INT':'INT
;
Я пытался определить структуру, но я не знаю, будет ли работать как массивы (ключи, значения), как карта в Java
1 ответ
Вы можете включить проверку уникального имени по умолчанию, раскомментировав и повторно запустив рабочий процесс на языке.
validator = {
composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
}
в качестве альтернативы вы можете реализовать собственную проверку уникального имени в <YourDsl>Validator