Xtext 零 ('0') 不匹配 INT
Xtext zero ('0') not matching INT
我写了一个描述坐标列表的 Xtext 语法:
Model:
coordinates+=Coordinates*
;
Coordinates:
'(' x=INT ',' y=INT ')'
;
但是,当使用通过新的 Xtext 项目自动创建的 parsingTest 并为此程序打印 println(EmfFormatter.objToStr(result))
时:
(2,1)
(2,0)
(0,1)
(0,0)
(1,1)
我得到以下 AST 表示:
Model {
cref Coordinates coordinates [
0: Coordinates {
attr EInt x '2'
attr EInt y '1'
}
1: Coordinates {
attr EInt x '2'
}
2: Coordinates {
attr EInt y '1'
}
3: Coordinates {
}
4: Coordinates {
attr EInt x '1'
attr EInt y '1'
}
]
}
我认为正在发生的事情是“0”由于某种原因与 INT 不匹配。我可以创建一个新的数据类型,但不使用提供的 INT 似乎很难看。有什么想法吗?
答案很简单。没有问题。 EmfFormatter 根本不打印等于默认值的值
我写了一个描述坐标列表的 Xtext 语法:
Model:
coordinates+=Coordinates*
;
Coordinates:
'(' x=INT ',' y=INT ')'
;
但是,当使用通过新的 Xtext 项目自动创建的 parsingTest 并为此程序打印 println(EmfFormatter.objToStr(result))
时:
(2,1)
(2,0)
(0,1)
(0,0)
(1,1)
我得到以下 AST 表示:
Model {
cref Coordinates coordinates [
0: Coordinates {
attr EInt x '2'
attr EInt y '1'
}
1: Coordinates {
attr EInt x '2'
}
2: Coordinates {
attr EInt y '1'
}
3: Coordinates {
}
4: Coordinates {
attr EInt x '1'
attr EInt y '1'
}
]
}
我认为正在发生的事情是“0”由于某种原因与 INT 不匹配。我可以创建一个新的数据类型,但不使用提供的 INT 似乎很难看。有什么想法吗?
答案很简单。没有问题。 EmfFormatter 根本不打印等于默认值的值