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