Serializing expressions results in an exception [message #1756242] |
Tue, 14 March 2017 08:51  |
Eclipse User |
|
|
|
When serializing the following EMF object structure:
BinaryExpression {
cref Expression left BinaryExpression {
cref Expression left LiteralNumber {
attr EDouble value '10.0'
}
attr BinaryOperator operator '+'
cref Expression right LiteralNumber {
attr EDouble value '5.0'
}
}
cref Expression right LiteralNumber {
attr EDouble value '5.0'
}
}
I get the exception shown below:
at org.eclipse.xtext.serializer.diagnostic.ISerializationDiagnostic$ExceptionThrowingAcceptor.accept(ISerializationDiagnostic.java:131)
at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.createSequence(BacktrackingSemanticSequencer.java:480)
at expression.serializer.AbstractExpressionSemanticSequencer.sequence_AdditiveExpression_MultiplicativeExpression_PowerExpression(AbstractExpressionSemanticSequencer.java:245)
at expression.serializer.AbstractExpressionSemanticSequencer.sequence(AbstractExpressionSemanticSequencer.java:82)
at org.eclipse.xtext.serializer.sequencer.AbstractSemanticSequencer.createSequence(AbstractSemanticSequencer.java:67)
at org.eclipse.xtext.serializer.impl.Serializer.serialize(Serializer.java:118)
at org.eclipse.xtext.serializer.impl.Serializer.serialize(Serializer.java:142)
at org.eclipse.xtext.serializer.impl.Serializer.serialize(Serializer.java:192)
at org.eclipse.xtext.serializer.impl.Serializer.serialize(Serializer.java:58)
at expression.SerializerTest.testSerializer(SerializerTest.java:49)
Below is part of the grammar:
enum AdditiveOperator returns BinaryOperator:
PLUS='+' | MINUS='-' | CONCAT='&'
;
AdditiveExpression returns Expression:
MultiplicativeExpression (
=>({BinaryExpression.left=current}
operator=AdditiveOperator)
right=MultiplicativeExpression
)*
;
enum MultiplicativeOperator returns BinaryOperator:
MULTIPLY='*' | DIVIDE='/' | MODULO='mod'
;
MultiplicativeExpression returns Expression:
PowerExpression (
=>({BinaryExpression.left=current}
operator=MultiplicativeOperator)
right=PowerExpression
)*
;
Can anyone point me in the right direction how to solve this issue?
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.04223 seconds