14 changed files with 222 additions and 58 deletions
-
5src/storm-parsers/parser/JaniParser.cpp
-
2src/storm/storage/jani/Assignment.cpp
-
6src/storm/storage/jani/Automaton.cpp
-
5src/storm/storage/jani/Automaton.h
-
4src/storm/storage/jani/LValue.cpp
-
10src/storm/storage/jani/Model.cpp
-
5src/storm/storage/jani/Model.h
-
26src/storm/storage/jani/OrderedAssignments.cpp
-
4src/storm/storage/jani/OrderedAssignments.h
-
6src/storm/storage/jani/TemplateEdge.cpp
-
45src/storm/storage/jani/VariableSet.cpp
-
24src/storm/storage/jani/VariableSet.h
-
100src/storm/storage/jani/traverser/ArrayEliminator.cpp
-
38src/storm/storage/jani/traverser/ArrayEliminator.h
@ -0,0 +1,100 @@ |
|||||
|
#include "storm/storage/jani/traverser/ArrayEliminator.h"
|
||||
|
|
||||
|
|
||||
|
#include "storm/storage/expressions/ExpressionVisitor.h"
|
||||
|
#include "storm/storage/jani/expressions/JaniExpressionVisitor.h"
|
||||
|
|
||||
|
namespace storm { |
||||
|
namespace jani { |
||||
|
namespace detail { |
||||
|
/*
|
||||
|
|
||||
|
|
||||
|
class MaxArraySizeVisitor : public ExpressionVisitor, public JaniExpressionVisitor { |
||||
|
virtual MaxArraySizeVisitor() = default; |
||||
|
virtual ~MaxArraySizeVisitor() = default; |
||||
|
|
||||
|
std::size_t getMaxSize(Expression const& expression) { |
||||
|
return boost::any_cast<std::size_t> expression.accept(*this); |
||||
|
} |
||||
|
|
||||
|
virtual boost::any visit(IfThenElseExpression const& expression, boost::any const& data) override { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
virtual boost::any visit(BinaryBooleanFunctionExpression const& expression, boost::any const& data) override { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
virtual boost::any visit(BinaryNumericalFunctionExpression const& expression, boost::any const& data) override { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
virtual boost::any visit(BinaryRelationExpression const& expression, boost::any const& data) override { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
virtual boost::any visit(VariableExpression const& expression, boost::any const& data) override { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
virtual boost::any visit(UnaryBooleanFunctionExpression const& expression, boost::any const& data) override { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
virtual boost::any visit(UnaryNumericalFunctionExpression const& expression, boost::any const& data) override { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
virtual boost::any visit(BooleanLiteralExpression const& expression, boost::any const& data) override { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
virtual boost::any visit(IntegerLiteralExpression const& expression, boost::any const& data) override { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
virtual boost::any visit(RationalLiteralExpression const& expression, boost::any const& data) override { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
virtual boost::any visit(ValueArrayExpression const& expression, boost::any const& data) override { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
virtual boost::any visit(ConstructorArrayExpression const& expression, boost::any const& data) override { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
virtual boost::any visit(ArrayAccessExpression const& expression, boost::any const& data) override { |
||||
|
|
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
class ArrayVariableReplacer : public JaniTraverser { |
||||
|
public: |
||||
|
|
||||
|
ArrayVariableReplacer() = default; |
||||
|
virtual ~ArrayVariableReplacer() = default; |
||||
|
std::unordered_map<storm::expressions::Variable, std::vector<reference_wrapper<storm::jani::Variable>> replace(); |
||||
|
|
||||
|
virtual void traverse(Assignment const& assignment, boost::any const& data) const override; |
||||
|
|
||||
|
private: |
||||
|
void std::unordered_map<storm::expressions::Variable, std::size_t>::getMaxSizes(Model& model); |
||||
|
|
||||
|
}; |
||||
|
|
||||
|
class ArrayAccessLValueReplacer : public JaniTraverser { |
||||
|
} |
||||
|
*/ |
||||
|
} |
||||
|
|
||||
|
ArrayEliminator::eliminate(Model& model) { |
||||
|
//auto variableReplacements ArrayVariableReplacer().replace(model)
|
||||
|
|
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue