From 94107f140402b3d63f17b3c4727b3cc8c3752082 Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Thu, 1 Feb 2018 14:29:16 +0100 Subject: Eclass trace notation changed from "[X]" to "". --- .../application/ApplicationConfiguration.xtextbin | Bin 8942 -> 8942 bytes .../internal/InternalApplicationConfiguration.g | 8 ++--- .../InternalApplicationConfiguration.tokens | 4 +-- .../InternalApplicationConfigurationLexer.java | 20 +++++------ .../InternalApplicationConfigurationParser.java | 16 ++++----- .../ApplicationConfigurationGrammarAccess.java | 18 +++++----- .../application/ApplicationConfiguration.xtext | 2 +- .../ApplicationConfigurationScopeProvider.xtend | 38 ++++++++++++++------- 8 files changed, 60 insertions(+), 46 deletions(-) diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtextbin b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtextbin index 73402e2a..a077deaa 100644 Binary files a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtextbin and b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtextbin differ diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfiguration.g b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfiguration.g index 695b7acf..438b8311 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfiguration.g +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfiguration.g @@ -2259,9 +2259,9 @@ ruleClassReference returns [EObject current=null] leaveRule(); }: ( - otherlv_0='[' + otherlv_0='<' { - newLeafNode(otherlv_0, grammarAccess.getClassReferenceAccess().getLeftSquareBracketKeyword_0()); + newLeafNode(otherlv_0, grammarAccess.getClassReferenceAccess().getLessThanSignKeyword_0()); } ( ( @@ -2282,9 +2282,9 @@ ruleClassReference returns [EObject current=null] } ) ) - otherlv_2=']' + otherlv_2='>' { - newLeafNode(otherlv_2, grammarAccess.getClassReferenceAccess().getRightSquareBracketKeyword_2()); + newLeafNode(otherlv_2, grammarAccess.getClassReferenceAccess().getGreaterThanSignKeyword_2()); } ) ; diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfiguration.tokens b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfiguration.tokens index 783a9243..ca7643ac 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfiguration.tokens +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfiguration.tokens @@ -5,12 +5,12 @@ '.'=11 '..'=30 '::'=22 +'<'=32 '='=16 +'>'=33 'AlloySolver'=49 'SMTSolver'=48 'ViatraSolver'=50 -'['=32 -']'=33 'config'=27 'debug'=45 'epackage'=13 diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfigurationLexer.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfigurationLexer.java index d885919c..41858711 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfigurationLexer.java +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfigurationLexer.java @@ -513,10 +513,10 @@ public class InternalApplicationConfigurationLexer extends Lexer { try { int _type = T__32; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalApplicationConfiguration.g:32:7: ( '[' ) - // InternalApplicationConfiguration.g:32:9: '[' + // InternalApplicationConfiguration.g:32:7: ( '<' ) + // InternalApplicationConfiguration.g:32:9: '<' { - match('['); + match('<'); } @@ -533,10 +533,10 @@ public class InternalApplicationConfigurationLexer extends Lexer { try { int _type = T__33; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalApplicationConfiguration.g:33:7: ( ']' ) - // InternalApplicationConfiguration.g:33:9: ']' + // InternalApplicationConfiguration.g:33:7: ( '>' ) + // InternalApplicationConfiguration.g:33:9: '>' { - match(']'); + match('>'); } @@ -1757,7 +1757,7 @@ public class InternalApplicationConfigurationLexer extends Lexer { static final String DFA12_specialS = "\1\1\37\uffff\1\0\1\2\u00ca\uffff}>"; static final String[] DFA12_transitionS = { - "\11\44\2\43\2\44\1\43\22\44\1\43\1\44\1\40\1\16\3\44\1\41\2\44\1\20\1\17\1\10\1\44\1\1\1\42\12\37\1\13\2\44\1\6\3\44\1\33\21\36\1\32\2\36\1\34\4\36\1\21\1\44\1\22\1\35\1\36\1\44\2\36\1\15\1\30\1\3\1\5\1\26\1\36\1\2\2\36\1\31\1\14\1\23\1\27\1\12\1\36\1\24\1\25\2\36\1\4\4\36\1\7\1\44\1\11\uff82\44", + "\11\44\2\43\2\44\1\43\22\44\1\43\1\44\1\40\1\16\3\44\1\41\2\44\1\20\1\17\1\10\1\44\1\1\1\42\12\37\1\13\1\44\1\21\1\6\1\22\2\44\1\33\21\36\1\32\2\36\1\34\4\36\3\44\1\35\1\36\1\44\2\36\1\15\1\30\1\3\1\5\1\26\1\36\1\2\2\36\1\31\1\14\1\23\1\27\1\12\1\36\1\24\1\25\2\36\1\4\4\36\1\7\1\44\1\11\uff82\44", "\1\45", "\1\47\1\50", "\1\52\7\uffff\1\53", @@ -2077,9 +2077,9 @@ public class InternalApplicationConfigurationLexer extends Lexer { else if ( (LA12_0=='*') ) {s = 16;} - else if ( (LA12_0=='[') ) {s = 17;} + else if ( (LA12_0=='<') ) {s = 17;} - else if ( (LA12_0==']') ) {s = 18;} + else if ( (LA12_0=='>') ) {s = 18;} else if ( (LA12_0=='n') ) {s = 19;} @@ -2115,7 +2115,7 @@ public class InternalApplicationConfigurationLexer extends Lexer { else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 35;} - else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='$' && LA12_0<='&')||(LA12_0>='(' && LA12_0<=')')||LA12_0=='-'||(LA12_0>=';' && LA12_0<='<')||(LA12_0>='>' && LA12_0<='@')||LA12_0=='\\'||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 36;} + else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='$' && LA12_0<='&')||(LA12_0>='(' && LA12_0<=')')||LA12_0=='-'||LA12_0==';'||(LA12_0>='?' && LA12_0<='@')||(LA12_0>='[' && LA12_0<=']')||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 36;} if ( s>=0 ) return s; break; diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfigurationParser.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfigurationParser.java index ce82fe1d..8bce7dfa 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfigurationParser.java +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfigurationParser.java @@ -22,7 +22,7 @@ import java.util.ArrayList; @SuppressWarnings("all") public class InternalApplicationConfigurationParser extends AbstractInternalAntlrParser { public static final String[] tokenNames = new String[] { - "", "", "", "", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'.'", "'import'", "'epackage'", "'viatra'", "'file'", "'='", "'{'", "','", "'}'", "'package'", "'excluding'", "'::'", "'metamodel'", "'folder'", "'models'", "'patterns'", "'config'", "'#'", "'+='", "'..'", "'*'", "'['", "']'", "'node'", "'int'", "'real'", "'string'", "'scope'", "'generate'", "'partial-model'", "'number'", "'runs'", "'solver'", "'output'", "'debug'", "'log'", "'statistics'", "'SMTSolver'", "'AlloySolver'", "'ViatraSolver'" + "", "", "", "", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'.'", "'import'", "'epackage'", "'viatra'", "'file'", "'='", "'{'", "','", "'}'", "'package'", "'excluding'", "'::'", "'metamodel'", "'folder'", "'models'", "'patterns'", "'config'", "'#'", "'+='", "'..'", "'*'", "'<'", "'>'", "'node'", "'int'", "'real'", "'string'", "'scope'", "'generate'", "'partial-model'", "'number'", "'runs'", "'solver'", "'output'", "'debug'", "'log'", "'statistics'", "'SMTSolver'", "'AlloySolver'", "'ViatraSolver'" }; public static final int T__50=50; public static final int T__19=19; @@ -6192,7 +6192,7 @@ public class InternalApplicationConfigurationParser extends AbstractInternalAntl // $ANTLR start "ruleClassReference" - // InternalApplicationConfiguration.g:2254:1: ruleClassReference returns [EObject current=null] : (otherlv_0= '[' ( (lv_element_1_0= ruleMetamodelElement ) ) otherlv_2= ']' ) ; + // InternalApplicationConfiguration.g:2254:1: ruleClassReference returns [EObject current=null] : (otherlv_0= '<' ( (lv_element_1_0= ruleMetamodelElement ) ) otherlv_2= '>' ) ; public final EObject ruleClassReference() throws RecognitionException { EObject current = null; @@ -6205,15 +6205,15 @@ public class InternalApplicationConfigurationParser extends AbstractInternalAntl enterRule(); try { - // InternalApplicationConfiguration.g:2260:2: ( (otherlv_0= '[' ( (lv_element_1_0= ruleMetamodelElement ) ) otherlv_2= ']' ) ) - // InternalApplicationConfiguration.g:2261:2: (otherlv_0= '[' ( (lv_element_1_0= ruleMetamodelElement ) ) otherlv_2= ']' ) + // InternalApplicationConfiguration.g:2260:2: ( (otherlv_0= '<' ( (lv_element_1_0= ruleMetamodelElement ) ) otherlv_2= '>' ) ) + // InternalApplicationConfiguration.g:2261:2: (otherlv_0= '<' ( (lv_element_1_0= ruleMetamodelElement ) ) otherlv_2= '>' ) { - // InternalApplicationConfiguration.g:2261:2: (otherlv_0= '[' ( (lv_element_1_0= ruleMetamodelElement ) ) otherlv_2= ']' ) - // InternalApplicationConfiguration.g:2262:3: otherlv_0= '[' ( (lv_element_1_0= ruleMetamodelElement ) ) otherlv_2= ']' + // InternalApplicationConfiguration.g:2261:2: (otherlv_0= '<' ( (lv_element_1_0= ruleMetamodelElement ) ) otherlv_2= '>' ) + // InternalApplicationConfiguration.g:2262:3: otherlv_0= '<' ( (lv_element_1_0= ruleMetamodelElement ) ) otherlv_2= '>' { otherlv_0=(Token)match(input,32,FOLLOW_6); - newLeafNode(otherlv_0, grammarAccess.getClassReferenceAccess().getLeftSquareBracketKeyword_0()); + newLeafNode(otherlv_0, grammarAccess.getClassReferenceAccess().getLessThanSignKeyword_0()); // InternalApplicationConfiguration.g:2266:3: ( (lv_element_1_0= ruleMetamodelElement ) ) // InternalApplicationConfiguration.g:2267:4: (lv_element_1_0= ruleMetamodelElement ) @@ -6248,7 +6248,7 @@ public class InternalApplicationConfigurationParser extends AbstractInternalAntl otherlv_2=(Token)match(input,33,FOLLOW_2); - newLeafNode(otherlv_2, grammarAccess.getClassReferenceAccess().getRightSquareBracketKeyword_2()); + newLeafNode(otherlv_2, grammarAccess.getClassReferenceAccess().getGreaterThanSignKeyword_2()); } diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/services/ApplicationConfigurationGrammarAccess.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/services/ApplicationConfigurationGrammarAccess.java index a21d65e7..6541c19b 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/services/ApplicationConfigurationGrammarAccess.java +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/services/ApplicationConfigurationGrammarAccess.java @@ -1366,20 +1366,20 @@ public class ApplicationConfigurationGrammarAccess extends AbstractGrammarElemen public class ClassReferenceElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.ClassReference"); private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLessThanSignKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cElementAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cElementMetamodelElementParserRuleCall_1_0 = (RuleCall)cElementAssignment_1.eContents().get(0); - private final Keyword cRightSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cGreaterThanSignKeyword_2 = (Keyword)cGroup.eContents().get(2); //ClassReference: - // '[' element=MetamodelElement ']'; + // '<' element=MetamodelElement '>'; @Override public ParserRule getRule() { return rule; } - //'[' element=MetamodelElement ']' + //'<' element=MetamodelElement '>' public Group getGroup() { return cGroup; } - //'[' - public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; } + //'<' + public Keyword getLessThanSignKeyword_0() { return cLessThanSignKeyword_0; } //element=MetamodelElement public Assignment getElementAssignment_1() { return cElementAssignment_1; } @@ -1387,8 +1387,8 @@ public class ApplicationConfigurationGrammarAccess extends AbstractGrammarElemen //MetamodelElement public RuleCall getElementMetamodelElementParserRuleCall_1_0() { return cElementMetamodelElementParserRuleCall_1_0; } - //']' - public Keyword getRightSquareBracketKeyword_2() { return cRightSquareBracketKeyword_2; } + //'>' + public Keyword getGreaterThanSignKeyword_2() { return cGreaterThanSignKeyword_2; } } public class ObjectReferenceElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.ObjectReference"); @@ -2449,7 +2449,7 @@ public class ApplicationConfigurationGrammarAccess extends AbstractGrammarElemen } //ClassReference: - // '[' element=MetamodelElement ']'; + // '<' element=MetamodelElement '>'; public ClassReferenceElements getClassReferenceAccess() { return pClassReference; } diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtext b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtext index 3efde6ec..1d12b3f7 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtext +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtext @@ -112,7 +112,7 @@ TypeScope: '#' type = TypeReference ('..' (maxUnlimited?='*' | max=INT))? ; TypeReference: ClassReference | ObjectReference | IntegerReference | RealReference | StringReference; -ClassReference: '[' element = MetamodelElement ']'; +ClassReference: '<' element = MetamodelElement '>'; ObjectReference: {ObjectReference} 'node'; IntegerReference: {IntegerScope} 'int'; RealReference: {RealScope} 'real'; diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/scoping/ApplicationConfigurationScopeProvider.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/scoping/ApplicationConfigurationScopeProvider.xtend index ea0e8d1e..8973e7cf 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/scoping/ApplicationConfigurationScopeProvider.xtend +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/scoping/ApplicationConfigurationScopeProvider.xtend @@ -3,25 +3,27 @@ */ package hu.bme.mit.inf.dslreasoner.application.scoping -import org.eclipse.emf.ecore.EObject -import org.eclipse.emf.ecore.EReference -import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement +import com.google.common.base.Function +import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPackageEntry +import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPatternEntry import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage -import org.eclipse.xtext.EcoreUtil2 +import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ClassReference import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.EPackageImport -import org.eclipse.xtext.scoping.Scopes -import org.eclipse.emf.ecore.EClass -import org.eclipse.emf.ecore.EEnum +import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification -import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPackageEntry import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternElement -import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPatternEntry import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternSpecification import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ViatraImport -import com.google.common.base.Function +import org.eclipse.emf.ecore.EClass +import org.eclipse.emf.ecore.EEnum +import org.eclipse.emf.ecore.EObject +import org.eclipse.emf.ecore.EReference import org.eclipse.viatra.query.patternlanguage.patternLanguage.PatternModel +import org.eclipse.xtext.EcoreUtil2 import org.eclipse.xtext.naming.QualifiedName +import org.eclipse.xtext.scoping.IScope +import org.eclipse.xtext.scoping.Scopes /** * This class contains custom scoping description. @@ -55,7 +57,9 @@ class ApplicationConfigurationScopeProvider extends AbstractApplicationConfigura return context.scopeForPatternSpecification(reference,document) } else if(context instanceof AllPatternEntry) { return context.scopeForAllPatternEntry(reference,document) - } else { + } else if(context instanceof ClassReference) { + return context.scopeForClassReference(reference,document) + }else { return super.getScope(context,reference) } } @@ -122,7 +126,17 @@ class ApplicationConfigurationScopeProvider extends AbstractApplicationConfigura } } - // Todo [] scope + ////////// + + def IScope scopeForClassReference(ClassReference classReference, EReference eReference, ConfigurationScript document) { + if(eReference === language.metamodelEntry_Package) { + return Scopes.scopeFor(document.allEPackages) + } else if(eReference === language.metamodelElement_Classifier) { + Scopes.scopeFor(document.allEClassifiers) + } else { + return super.getScope(classReference,eReference) + } + } ////////// -- cgit v1.2.3-54-g00ecf