gereon
12 years ago
10 changed files with 93 additions and 3 deletions
-
3src/formula/AbstractFormula.h
-
18src/formula/AbstractFormulaChecker.h
-
7src/formula/Ap.h
-
9src/formula/BoundedUntil.h
-
4src/formula/Eventually.h
-
5src/formula/NoBoundOperator.h
-
5src/formula/Not.h
-
35src/formula/PrctlFormulaChecker.h
-
5src/formula/ReachabilityReward.h
-
5src/formula/Until.h
@ -0,0 +1,18 @@ |
|||||
|
#ifndef STORM_FORMULA_ABSTRACTFORMULACHECKER_H_ |
||||
|
#define STORM_FORMULA_ABSTRACTFORMULACHECKER_H_ |
||||
|
|
||||
|
#include "src/formula/AbstractFormula.h" |
||||
|
|
||||
|
namespace storm { |
||||
|
namespace formula { |
||||
|
|
||||
|
template <class T> |
||||
|
class AbstractFormulaChecker { |
||||
|
public: |
||||
|
virtual bool conforms(const AbstractFormula<T>* formula) const = 0; |
||||
|
}; |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
#endif |
@ -0,0 +1,35 @@ |
|||||
|
#ifndef STORM_FORMULA_PRCTLFORMULACHECKER_H_ |
||||
|
#define STORM_FORMULA_PRCTLFORMULACHECKER_H_ |
||||
|
|
||||
|
#include "src/formula/AbstractFormulaChecker.h" |
||||
|
#include "src/formula/Formulas.h" |
||||
|
|
||||
|
#include <iostream> |
||||
|
|
||||
|
namespace storm { |
||||
|
namespace formula { |
||||
|
|
||||
|
template <class T> |
||||
|
class PrctlFormulaChecker : public AbstractFormulaChecker<T> { |
||||
|
public: |
||||
|
virtual bool conforms(const AbstractFormula<T>* formula) const { |
||||
|
if ( |
||||
|
dynamic_cast<const And<T>*>(formula) || |
||||
|
dynamic_cast<const Ap<T>*>(formula) || |
||||
|
dynamic_cast<const Eventually<T>*>(formula) || |
||||
|
dynamic_cast<const Not<T>*>(formula) || |
||||
|
dynamic_cast<const Or<T>*>(formula) || |
||||
|
dynamic_cast<const ProbabilisticNoBoundOperator<T>*>(formula) |
||||
|
) { |
||||
|
return formula->conforms(*this); |
||||
|
} |
||||
|
return false; |
||||
|
} |
||||
|
|
||||
|
private: |
||||
|
}; |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
#endif |
Write
Preview
Loading…
Cancel
Save
Reference in new issue