aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.xtend
diff options
context:
space:
mode:
authorLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2019-03-14 03:45:46 -0400
committerLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2020-06-07 19:22:51 -0400
commitd7730cb0d684d6324622021a310d9b4a53e7531c (patch)
treeb631b8c666448b948bdf670fbf5ad7c2277496dd /Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.xtend
parentImplement type scope for specific types (diff)
downloadVIATRA-Generator-d7730cb0d684d6324622021a310d9b4a53e7531c.tar.gz
VIATRA-Generator-d7730cb0d684d6324622021a310d9b4a53e7531c.tar.zst
VIATRA-Generator-d7730cb0d684d6324622021a310d9b4a53e7531c.zip
Implement Containment mapping (partially) and revisit enum mapping
Diffstat (limited to 'Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.xtend')
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.xtend16
1 files changed, 10 insertions, 6 deletions
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.xtend
index 1dbc0055..b7ad8f3d 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.xtend
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.xtend
@@ -47,6 +47,8 @@ class Logic2VampireLanguageMapper {
47 private val Logic2VampireLanguageMapper_Support support = new Logic2VampireLanguageMapper_Support; 47 private val Logic2VampireLanguageMapper_Support support = new Logic2VampireLanguageMapper_Support;
48 @Accessors(PUBLIC_GETTER) private val Logic2VampireLanguageMapper_ConstantMapper constantMapper = new Logic2VampireLanguageMapper_ConstantMapper( 48 @Accessors(PUBLIC_GETTER) private val Logic2VampireLanguageMapper_ConstantMapper constantMapper = new Logic2VampireLanguageMapper_ConstantMapper(
49 this) 49 this)
50 @Accessors(PUBLIC_GETTER) private val Logic2VampireLanguageMapper_ContainmentMapper containmentMapper = new Logic2VampireLanguageMapper_ContainmentMapper(
51 this)
50 @Accessors(PUBLIC_GETTER) private val Logic2VampireLanguageMapper_RelationMapper relationMapper = new Logic2VampireLanguageMapper_RelationMapper( 52 @Accessors(PUBLIC_GETTER) private val Logic2VampireLanguageMapper_RelationMapper relationMapper = new Logic2VampireLanguageMapper_RelationMapper(
51 this) 53 this)
52 @Accessors(PUBLIC_GETTER) private val Logic2VampireLanguageMapper_ScopeMapper scopeMapper = new Logic2VampireLanguageMapper_ScopeMapper( 54 @Accessors(PUBLIC_GETTER) private val Logic2VampireLanguageMapper_ScopeMapper scopeMapper = new Logic2VampireLanguageMapper_ScopeMapper(
@@ -80,24 +82,26 @@ class Logic2VampireLanguageMapper {
80 // SCOPE MAPPER 82 // SCOPE MAPPER
81 scopeMapper.transformScope(config, trace) 83 scopeMapper.transformScope(config, trace)
82 84
83 trace.constantDefinitions = problem.collectConstantDefinitions 85 // RELATION MAPPER
84 trace.relationDefinitions = problem.collectRelationDefinitions 86 trace.relationDefinitions = problem.collectRelationDefinitions
85
86 problem.relations.forEach[this.relationMapper.transformRelation(it, trace)] 87 problem.relations.forEach[this.relationMapper.transformRelation(it, trace)]
88
89 // CONTAINMENT MAPPER
90 containmentMapper.transformContainment(problem.containmentHierarchies, trace)
87 91
92 // CONSTANT MAPPER
88 // only transforms definitions 93 // only transforms definitions
94 trace.constantDefinitions = problem.collectConstantDefinitions
89 // problem.constants.filter(ConstantDefinition).forEach[this.constantMapper.transformConstant(it, trace)] 95 // problem.constants.filter(ConstantDefinition).forEach[this.constantMapper.transformConstant(it, trace)]
90 problem.constants.filter(ConstantDefinition).forEach [ 96 problem.constants.filter(ConstantDefinition).forEach [
91 this.constantMapper.transformConstantDefinitionSpecification(it, trace) 97 this.constantMapper.transformConstantDefinitionSpecification(it, trace)
92 ] 98 ]
93 99
94 // ////////////////// 100 // ASSERTION MAPPER
95 // Transform Assertions
96 // //////////////////
97 for (assertion : problem.assertions) { 101 for (assertion : problem.assertions) {
98 transformAssertion(assertion, trace) 102 transformAssertion(assertion, trace)
99 } 103 }
100 104 // OUTPUT
101 return new TracedOutput(specification, trace) 105 return new TracedOutput(specification, trace)
102 } 106 }
103 107