[Xtext] Parsing terminals as ecore::EDouble [message #57564] |
Mon, 13 July 2009 09:36  |
Eclipse User |
|
|
|
Hi
I've a problem parsing values as ecore::EDouble.
Here is my little grammar:
grammar org.xtext.example.MyDsl with org.eclipse.xtext.common.Terminals
generate myDsl "http://www.xtext.org/example/MyDsl"
import "http://www.eclipse.org/emf/2002/Ecore" as ecore
Model :
'Model' '{'
(elements+=Type)*
'}';
Type:
dvalue=Float;
terminal Float returns ecore::EDouble : INT ('.' INT)?;
Starting the appropriate generated Editor Plugin and entering
Model {
12
}
Causes a claas cast exception when entering a number between Model{ and }:
org.eclipse.xtext.parser.ParseException: java.lang.ClassCastException:
java.lang.String cannot be cast to java.lang.Double
at org.xtext.example.parser.antlr.MyDslParser.parse(MyDslParser .java:37)
at
org.eclipse.xtext.parser.antlr.AbstractAntlrParser.parse(Abs tractAntlrParser.java:51)
at
org.eclipse.xtext.parser.antlr.AbstractAntlrParser.doParse(A bstractAntlrParser.java:34)
at
org.eclipse.xtext.parser.antlr.AbstractAntlrParser.doParse(A bstractAntlrParser.java:1)
at org.eclipse.xtext.parser.AbstractParser.parse(AbstractParser .java:27)
at org.eclipse.xtext.parser.SwitchingParser.parse(SwitchingPars er.java:49)
at org.eclipse.xtext.resource.XtextResource.doLoad(XtextResourc e.java:150)
at
org.eclipse.xtext.linking.lazy.LazyLinkingResource.doLoad(La zyLinkingResource.java:41)
at org.eclipse.xtext.resource.XtextResource.reparse(XtextResour ce.java:83)
at
org.eclipse.xtext.ui.core.editor.reconciler.XtextReconcilerU nitOfWork.process(XtextReconcilerUnitOfWork.java:58)
at
org.eclipse.xtext.ui.core.editor.reconciler.XtextReconcilerU nitOfWork.process(XtextReconcilerUnitOfWork.java:1)
at org.eclipse.xtext.concurrent.IUnitOfWork$Void.exec(IUnitOfWo rk.java:36)
at
org.eclipse.xtext.concurrent.IStateAccess$AbstractImpl.modif y(IStateAccess.java:57)
at
org.eclipse.xtext.ui.core.editor.model.XtextDocument.modify( XtextDocument.java:138)
at
org.eclipse.xtext.ui.core.editor.reconciler.XtextDocumentRec oncileStrategy.reconcile(XtextDocumentReconcileStrategy.java :27)
at
org.eclipse.xtext.ui.core.editor.reconciler.XtextReconciler. run(XtextReconciler.java:190)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: org.eclipse.emf.common.util.WrappedException:
java.lang.ClassCastException: java.lang.String cannot be cast to
java.lang.Double
at
org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser.p arse(AbstractInternalAntlrParser.java:329)
at org.xtext.example.parser.antlr.MyDslParser.parse(MyDslParser .java:34)
... 16 more
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast
to java.lang.Double
at org.xtext.example.myDsl.impl.TypeImpl.eSet(TypeImpl.java:125 )
at
org.eclipse.emf.ecore.impl.BasicEObjectImpl.eSet(BasicEObjec tImpl.java:1073)
at
org.eclipse.xtext.parser.DefaultEcoreElementFactory.set(Defa ultEcoreElementFactory.java:61)
at
org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser.s et(AbstractInternalAntlrParser.java:156)
at
org.xtext.example.parser.antlr.internal.InternalMyDslParser. ruleType(InternalMyDslParser.java:263)
at
org.xtext.example.parser.antlr.internal.InternalMyDslParser. ruleModel(InternalMyDslParser.java:149)
at
org.xtext.example.parser.antlr.internal.InternalMyDslParser. entryRuleModel(InternalMyDslParser.java:84)
at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser.p arse(AbstractInternalAntlrParser.java:322)
... 17 more
Has anyone an idea whats wrong?
Thanks in advance, Helko
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.05279 seconds