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.

33 lines
1013 B

  1. #ifndef STORM_PARSER_ATOMICPROPOSITIONLABELINGPARSER_H_
  2. #define STORM_PARSER_ATOMICPROPOSITIONLABELINGPARSER_H_
  3. #include "src/models/AtomicPropositionsLabeling.h"
  4. #include <cstdint>
  5. namespace storm {
  6. namespace parser {
  7. /*!
  8. * This class can be used to parse a labeling file.
  9. *
  10. * Since the labeling is state based, the same label parser can be used for all models.
  11. */
  12. class AtomicPropositionLabelingParser {
  13. public:
  14. /*!
  15. * Reads a label file and puts the result in an AtomicPropositionsLabeling object.
  16. *
  17. * @param stateCount The number of states of the model to be labeled.
  18. * @param filename The path and name of the labeling (.lab) file.
  19. * @return The parsed labeling as an AtomicPropositionsLabeling object.
  20. */
  21. static storm::models::AtomicPropositionsLabeling parseAtomicPropositionLabeling(uint_fast64_t stateCount, std::string const &filename);
  22. };
  23. } // namespace parser
  24. } // namespace storm
  25. #endif /* STORM_PARSER_ATOMICPROPOSITIONLABELINGPARSER_H_ */