Eclipse XText:在自定义字符串终端中截断的第一个和最后一个字符
我用这种方式重新定义了字符串终端Eclipse XText:在自定义字符串终端中截断的第一个和最后一个字符,eclipse,xtext,emf,Eclipse,Xtext,Emf,我用这种方式重新定义了字符串终端 terminal STRING : ('.'|'+'|'('|')'|'a'..'z'|'A'..'Z'|'_'|'0'..'9')*; 因为我必须识别不以“或”分隔的字符串 问题是,虽然生成的解析器可以工作,但它会截断识别字符串的第一个和最后一个字符。我缺少什么?如果您自定义字符串规则,您还必须调整相应的值转换器 必须在运行时模块中绑定类似的内容: public class MyStringValueConverter extends STRINGValue
terminal STRING : ('.'|'+'|'('|')'|'a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
因为我必须识别不以“或”分隔的字符串
问题是,虽然生成的解析器可以工作,但它会截断识别字符串的第一个和最后一个字符。我缺少什么?如果您自定义字符串规则,您还必须调整相应的值转换器 必须在运行时模块中绑定类似的内容:
public class MyStringValueConverter extends STRINGValueConverter {
@Override
protected String toEscapedString(String value) {
return value;
}
public String toValue(String string, INode node) {
if (string == null)
return null;
return string;
}
}
有关详细信息,请参阅文档。以下是完整答案