Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » TMF (Xtext) » Tutorial Errors (The grammar on the last tutorial produces errors when generating xtext artefacts)
Tutorial Errors [message #1269349] Tue, 11 March 2014 19:03 Go to next message
Ernesto Posse is currently offline Ernesto PosseFriend
Messages: 438
Registered: March 2011
Senior Member
Hi. I'm working through the Xtext tutorials, but I ran into trouble with the last one "Five simple steps to your JVM language" at http://www.eclipse.org/Xtext/documentation.html#DomainmodelNextSteps. Essentially the generation fails with the messages below. I followed the directions precisely, so what's wrong with the example? Is it perhaps an outdated tutorial?

The only difference between my test and the tutorial as shown in the webpage above is that my package is named 'epp.tutorials.xtext.dm' and the grammar file begins with

// DM.xtext
grammar epp.tutorials.xtext.dm.DM
with org.eclipse.xtext.xbase.Xbase

generate dM "http://www.tutorials.epp/xtext/dm/DM"


(I'm running
- Eclipse Kepler (4.3) Service Release 2 Build id: 20140224-0627
- Xtext SDK 2.5.3.v201402240820
on Mac OS X 10.9)

=== begin of console output ===
0 [main] INFO lipse.emf.mwe.utils.StandaloneSetup - Registering platform uri '/Users/eposse/Local/WorkspaceOsatePDE'
141 [main] INFO lipse.emf.mwe.utils.StandaloneSetup - Adding generated EPackage 'org.eclipse.xtext.xbase.XbasePackage'
502 [main] INFO clipse.emf.mwe.utils.GenModelHelper - Registered GenModel 'http://www.eclipse.org/Xtext/Xbase/XAnnotations' from 'platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel'
507 [main] INFO clipse.emf.mwe.utils.GenModelHelper - Registered GenModel 'http://www.eclipse.org/xtext/xbase/Xtype' from 'platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel'
526 [main] INFO clipse.emf.mwe.utils.GenModelHelper - Registered GenModel 'http://www.eclipse.org/xtext/xbase/Xbase' from 'platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel'
526 [main] INFO clipse.emf.mwe.utils.GenModelHelper - Registered GenModel 'http://www.eclipse.org/xtext/common/JavaVMTypes' from 'platform:/resource/org.eclipse.xtext.common.types/model/JavaVMTypes.genmodel'
1380 [main] INFO lipse.emf.mwe.utils.StandaloneSetup - Adding generated EPackage 'org.eclipse.xtext.common.types.TypesPackage'
1390 [main] INFO ipse.emf.mwe.utils.DirectoryCleaner - Cleaning /Users/eposse/Local/WorkspaceOsatePDE/epp.tutorials.xtext.dm/../epp.tutorials.xtext.dm/src-gen
1391 [main] INFO ipse.emf.mwe.utils.DirectoryCleaner - Cleaning /Users/eposse/Local/WorkspaceOsatePDE/epp.tutorials.xtext.dm/../epp.tutorials.xtext.dm/model
1391 [main] INFO ipse.emf.mwe.utils.DirectoryCleaner - Cleaning /Users/eposse/Local/WorkspaceOsatePDE/epp.tutorials.xtext.dm/../epp.tutorials.xtext.dm.ui/src-gen
1393 [main] INFO ipse.emf.mwe.utils.DirectoryCleaner - Cleaning /Users/eposse/Local/WorkspaceOsatePDE/epp.tutorials.xtext.dm/../epp.tutorials.xtext.dm.tests/src-gen
1567 [main] INFO ipse.xtext.generator.LanguageConfig - generating infrastructure for epp.tutorials.xtext.dm.DM with fragments : ImplicitRuntimeFragment, ImplicitUiFragment, GrammarAccessFragment, EMFGeneratorFragment, SerializerFragment, ResourceFactoryFragment, XtextAntlrGeneratorFragment, ValidatorFragment, ImportNamespacesScopingFragment, QualifiedNamesFragment, BuilderIntegrationFragment, GeneratorFragment, FormatterFragment, LabelProviderFragment, OutlineTreeProviderFragment, QuickOutlineFragment, QuickfixProviderFragment, ContentAssistFragment, XtextAntlrUiGeneratorFragment, Junit4Fragment, RefactorElementNameFragment, TypesGeneratorFragment, XbaseGeneratorFragment, CodetemplatesGeneratorFragment, CompareFragment
6105 [main] INFO clipse.emf.mwe.utils.GenModelHelper - Registered GenModel 'http://www.tutorials.epp/xtext/dm/DM' from 'platform:/resource/epp.tutorials.xtext.dm/model/generated/DM.genmodel'
warning(200): ../epp.tutorials.xtext.dm/src-gen/epp/tutorials/xtext/dm/parser/antlr/internal/InternalDM.g:266:1: Decision can match input such as "'.' RULE_ID" using multiple alternatives: 1, 2
As a result, alternative(s) 2 were disabled for that input
Semantic predicates were present but were hidden by actions.
warning(200): ../epp.tutorials.xtext.dm/src-gen/epp/tutorials/xtext/dm/parser/antlr/internal/InternalDM.g:5720:1: Decision can match input such as "RULE_ID" using multiple alternatives: 2, 3
As a result, alternative(s) 3 were disabled for that input
error(201): ../epp.tutorials.xtext.dm/src-gen/epp/tutorials/xtext/dm/parser/antlr/internal/InternalDM.g:5720:1: The following alternatives can never be matched: 3

18652 [main] ERROR enerator.CompositeGeneratorFragment - java.io.FileNotFoundException: ../epp.tutorials.xtext.dm/src-gen/epp/tutorials/xtext/dm/parser/antlr/internal/InternalDMLexer.java (No such file or directory)
org.eclipse.emf.common.util.WrappedException: java.io.FileNotFoundException: ../epp.tutorials.xtext.dm/src-gen/epp/tutorials/xtext/dm/parser/antlr/internal/InternalDMLexer.java (No such file or directory)
at org.eclipse.xtext.util.Files.readFileIntoString(Files.java:129)
at org.eclipse.xtext.generator.parser.antlr.AbstractAntlrGeneratorFragment.suppressWarningsImpl(AbstractAntlrGeneratorFragment.java:139)
at org.eclipse.xtext.generator.parser.antlr.AbstractAntlrGeneratorFragment.suppressWarnings(AbstractAntlrGeneratorFragment.java:149)
at org.eclipse.xtext.generator.parser.antlr.AbstractAntlrGeneratorFragment.suppressWarnings(AbstractAntlrGeneratorFragment.java:145)
at org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment.generate(XtextAntlrGeneratorFragment.java:50)
at org.eclipse.xtext.generator.CompositeGeneratorFragment.generate(CompositeGeneratorFragment.java:92)
at org.eclipse.xtext.generator.LanguageConfig.generate(LanguageConfig.java:113)
at org.eclipse.xtext.generator.Generator.generate(Generator.java:366)
at org.eclipse.xtext.generator.Generator.invokeInternal(Generator.java:132)
at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:74)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:35)
Caused by: java.io.FileNotFoundException: ../epp.tutorials.xtext.dm/src-gen/epp/tutorials/xtext/dm/parser/antlr/internal/InternalDMLexer.java (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:146)
at java.io.FileInputStream.<init>(FileInputStream.java:101)
at org.eclipse.xtext.util.Files.readFileIntoString(Files.java:126)
... 18 more
18671 [main] WARN ing.ImportNamespacesScopingFragment - Skipping stub generation as Xbase is used
24872 [main] INFO text.generator.junit.Junit4Fragment - generating Junit4 Test support classes
25104 [main] INFO text.generator.junit.Junit4Fragment - generating Compare Framework infrastructure
25382 [main] INFO .emf.mwe2.runtime.workflow.Workflow - Done.

=== end of console output ===

=== list of errors ===
Description Resource Path Location Type
Package 'epp.tutorials.xtext.dm.scoping' does not exist in this plug-in MANIFEST.MF /epp.tutorials.xtext.dm/META-INF line 33 Plug-in Problem
Package 'epp.tutorials.xtext.dm.generator' does not exist in this plug-in MANIFEST.MF /epp.tutorials.xtext.dm/META-INF line 34 Plug-in Problem
epp.tutorials.xtext.dm.parser.antlr.internal.InternalDMLexer cannot be resolved to a type AbstractDMRuntimeModule.java /epp.tutorials.xtext.dm/src-gen/epp/tutorials/xtext/dm line 78 Java Problem
Class<InternalDMLexer> cannot be resolved to a type AbstractDMRuntimeModule.java /epp.tutorials.xtext.dm/src-gen/epp/tutorials/xtext/dm line 74 Java Problem
epp.tutorials.xtext.dm.parser.antlr.internal.InternalDMLexer cannot be resolved to a type AbstractDMRuntimeModule.java /epp.tutorials.xtext.dm/src-gen/epp/tutorials/xtext/dm line 74 Java Problem
epp.tutorials.xtext.dm.parser.antlr.internal.InternalDMLexer cannot be resolved to a type AbstractDMRuntimeModule.java /epp.tutorials.xtext.dm/src-gen/epp/tutorials/xtext/dm line 84 Java Problem
epp.tutorials.xtext.dm.parser.antlr.internal.InternalDMParser cannot be resolved to a type DMParser.java /epp.tutorials.xtext.dm/src-gen/epp/tutorials/xtext/dm/parser/antlr line 22 Java Problem
epp.tutorials.xtext.dm.parser.antlr.internal.InternalDMParser cannot be resolved to a type DMParser.java /epp.tutorials.xtext.dm/src-gen/epp/tutorials/xtext/dm/parser/antlr line 23 Java Problem
The method to(Class<? extends Lexer>) in the type LinkedBindingBuilder<Lexer> is not applicable for the arguments (Class<InternalDMLexer>) AbstractDMRuntimeModule.java /epp.tutorials.xtext.dm/src-gen/epp/tutorials/xtext/dm line 84 Java Problem
The method to(Class<? extends Lexer>) in the type LinkedBindingBuilder<Lexer> is not applicable for the arguments (Class<InternalDMLexer>) AbstractDMUiModule.java /epp.tutorials.xtext.dm.ui/src-gen/epp/tutorials/xtext/dm/ui line 43 Java Problem
epp.tutorials.xtext.dm.parser.antlr.internal.InternalDMLexer cannot be resolved to a type AbstractDMRuntimeModule.java /epp.tutorials.xtext.dm/src-gen/epp/tutorials/xtext/dm line 79 Java Problem
Bound mismatch: The generic method create(Class<T>) of type LexerProvider<T> is not applicable for the arguments (Class<InternalDMLexer>). The inferred type InternalDMLexer is not a valid substitute for the bounded parameter <T extends Lexer> AbstractDMRuntimeModule.java /epp.tutorials.xtext.dm/src-gen/epp/tutorials/xtext/dm line 79 Java Problem
epp.tutorials.xtext.dm.parser.antlr.internal.InternalDMLexer cannot be resolved to a type AbstractDMUiModule.java /epp.tutorials.xtext.dm.ui/src-gen/epp/tutorials/xtext/dm/ui line 43 Java Problem

=== end of error list ===
Re: Tutorial Errors [message #1269364 is a reply to message #1269349] Tue, 11 March 2014 19:26 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

i cannot reproduce that using Xtext 2.5.3. can you please paste your complete grammar



Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Tutorial Errors [message #1269370 is a reply to message #1269364] Tue, 11 March 2014 19:36 Go to previous messageGo to next message
Ernesto Posse is currently offline Ernesto PosseFriend
Messages: 438
Registered: March 2011
Senior Member
Here's the complete grammar:

// DM.xtext

grammar epp.tutorials.xtext.dm.DM
with org.eclipse.xtext.xbase.Xbase

generate dM "http://www.tutorials.epp/xtext/dm/DM"

Domainmodel :
importSection=XImportSection?
elements+=AbstractElement*
;

AbstractElement:
PackageDeclaration | Entity
;

PackageDeclaration:
'package' name = QualifiedName '{'
(elements += AbstractElement)*
'}'
;

QualifiedName:
ID ('.' ID)*
;

Import:
'import' importedNamespace = QualifiedNameWithWildcard
;

QualifiedNameWithWildcard:
QualifiedName '.*'?
;

Entity:
'entity' name = ValidID
('extends' superType=JvmTypeReference)? '{'
features+=Feature*
'}'
;

Feature:
Property | Operation;

Property:
name = ValidID ':' type = JvmTypeReference;

Operation:
'op' name = ValidID
'('(params += FullJvmFormalParameter
(',' params += FullJvmFormalParameter)*)?')'
':' type = JvmTypeReference
body = XBlockExpression;


Re: Tutorial Errors [message #1269373 is a reply to message #1269370] Tue, 11 March 2014 19:41 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

where do you have the

QualifiedName:
ID ('.' ID)*
;

Import:
'import' importedNamespace = QualifiedNameWithWildcard
;

QualifiedNameWithWildcard:
QualifiedName '.*'?
;


from
it should not be there


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Tutorial Errors [message #1269383 is a reply to message #1269373] Tue, 11 March 2014 20:02 Go to previous messageGo to next message
Ernesto Posse is currently offline Ernesto PosseFriend
Messages: 438
Registered: March 2011
Senior Member
Thanks. I guess I left those definitions from the previous tutorial. But the error was rather misleading. I'm guessing that the QualifiedName and Import rules conflicted with something in Xbase, which would explain the warnings, but the error points to a missing lexer file. Is it the case that if you get these sort of errors, Xtext won't generate certain files (e.g. the lexer)?

Nevertheless I still have two more errors:

Description Resource Path Location Type
Package 'epp.tutorials.xtext.dm.scoping' does not exist in this plug-in MANIFEST.MF /epp.tutorials.xtext.dm/META-INF line 33 Plug-in Problem
Package 'epp.tutorials.xtext.dm.generator' does not exist in this plug-in MANIFEST.MF /epp.tutorials.xtext.dm/META-INF line 34 Plug-in Problem

After cleaning the build, the errors are still there.


Re: Tutorial Errors [message #1269386 is a reply to message #1269383] Tue, 11 March 2014 20:05 Go to previous message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

the starting point is

As a result, alternative(s) 3 were disabled for that input
error(201): ../epp.tutorials.xtext.dm/src-gen/epp/tutorials/xtext/dm/parser/antlr/internal/InternalDM.g:5720:1: The following alternatives can never be matched: 3


everything else is follow up errors


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Previous Topic:Cross reference with the same name
Next Topic:Need help in fetching the XPAND files execution results
Goto Forum:
  


Current Time: Fri Apr 26 00:44:16 GMT 2024

Powered by FUDForum. Page generated in 0.03521 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top