Hi, I am trying to implement a value converter to convert a terminal to a float - but looks like xtext doesn-t see the converter. Should I register elsewhere?
The terminal is in my grammar:
SIGNED_NUMERIC:
('-')? (INT | FLOAT | SCIENTIFIC) | REFLECT
;
terminal REFLECT returns ecore::EFloat:
'reflect'
;
The ValueConverter is registeret in RuntimeModule:
@Override
override Class<? extends IValueConverterService> bindIValueConverterService() {
URDFValueConverter
}
An ValueConverter:
import com.google.inject.Inject;
public class URDFValueConverter extends DefaultTerminalConverters {
@ValueConverter(rule = "REFLECT")
public IValueConverter<Float> REFLECT() {
return new IValueConverter<Float>() {
@Override
public Float toValue(String string, INode node) throws ValueConverterException {
// TODO Auto-generated method stub
String hej = "hello world";
return Float.parseFloat("25");
}
@Override
public String toString(Float value) throws ValueConverterException {
// TODO Auto-generated method stub
return null;
}
};
}
}