diff options
author | 2019-03-14 03:45:46 -0400 | |
---|---|---|
committer | 2020-06-07 19:22:51 -0400 | |
commit | d7730cb0d684d6324622021a310d9b4a53e7531c (patch) | |
tree | b631b8c666448b948bdf670fbf5ad7c2277496dd /Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.xtend | |
parent | Implement type scope for specific types (diff) | |
download | VIATRA-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.xtend | 16 |
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 | ||