You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
795 B
35 lines
795 B
#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
|