0

我必须制作一个曲线图类型曲线,数据由 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 中的 Map 那样工作(键、值)数组

4

1 回答 1

1

您可以通过取消注释并重新运行语言工作流程来启用默认的唯一名称验证

validator = {
    composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
}

或者,您可以在<YourDsl>Validator

于 2017-03-30T17:11:44.563 回答