Browse Source

Changing AbstractFormulaChecker and PrctlFormulaChecker to completely

work with the new structure of formulas.
tempestpy_adaptions
Lanchid 12 years ago
parent
commit
4cddd9ad78
  1. 9
      src/formula/AbstractFormulaChecker.h
  2. 26
      src/formula/PrctlFormulaChecker.h

9
src/formula/AbstractFormulaChecker.h

@ -1,6 +1,15 @@
#ifndef STORM_FORMULA_ABSTRACTFORMULACHECKER_H_
#define STORM_FORMULA_ABSTRACTFORMULACHECKER_H_
namespace storm {
namespace formula {
template <class T> class AbstractFormulaChecker;
} //namespace formula
} //namespace storm
#include "src/formula/abstract/AbstractFormula.h"
namespace storm {

26
src/formula/PrctlFormulaChecker.h

@ -22,20 +22,20 @@ class PrctlFormulaChecker : public AbstractFormulaChecker<T> {
* Implementation of AbstractFormulaChecker::conforms() using code
* looking exactly like the sample code given there.
*/
virtual bool conforms(const AbstractFormula<T>* formula) const {
virtual bool conforms(const storm::formula::abstract::AbstractFormula<T>* formula) const {
// What to support: Principles of Model Checking Def. 10.76 + syntactic sugar
if (
dynamic_cast<const And<T>*>(formula) ||
dynamic_cast<const Ap<T>*>(formula) ||
dynamic_cast<const BoundedUntil<T>*>(formula) ||
dynamic_cast<const Eventually<T>*>(formula) ||
dynamic_cast<const Globally<T>*>(formula) ||
dynamic_cast<const Next<T>*>(formula) ||
dynamic_cast<const Not<T>*>(formula) ||
dynamic_cast<const Or<T>*>(formula) ||
dynamic_cast<const ProbabilisticNoBoundOperator<T>*>(formula) ||
dynamic_cast<const ProbabilisticBoundOperator<T>*>(formula) ||
dynamic_cast<const Until<T>*>(formula)
dynamic_cast<const storm::formula::prctl::And<T>*>(formula) ||
dynamic_cast<const storm::formula::prctl::Ap<T>*>(formula) ||
dynamic_cast<const storm::formula::prctl::BoundedUntil<T>*>(formula) ||
dynamic_cast<const storm::formula::prctl::Eventually<T>*>(formula) ||
dynamic_cast<const storm::formula::prctl::Globally<T>*>(formula) ||
dynamic_cast<const storm::formula::prctl::Next<T>*>(formula) ||
dynamic_cast<const storm::formula::prctl::Not<T>*>(formula) ||
dynamic_cast<const storm::formula::prctl::Or<T>*>(formula) ||
dynamic_cast<const storm::formula::prctl::ProbabilisticNoBoundOperator<T>*>(formula) ||
dynamic_cast<const storm::formula::prctl::ProbabilisticBoundOperator<T>*>(formula) ||
dynamic_cast<const storm::formula::prctl::Until<T>*>(formula)
) {
return formula->conforms(*this);
}
@ -46,4 +46,4 @@ class PrctlFormulaChecker : public AbstractFormulaChecker<T> {
} // namespace formula
} // namespace storm
#endif
#endif
Loading…
Cancel
Save