Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
GreatSpnEditorProjectParser.h
Go to the documentation of this file.
1#pragma once
2
3#include "storm-config.h"
4#ifdef STORM_HAVE_XERCES
5#include <string>
6
7#include <xercesc/parsers/XercesDOMParser.hpp>
8#include <xercesc/util/XMLString.hpp>
9
12
14
16
17namespace storm {
18namespace parser {
19class GreatSpnEditorProjectParser {
20 public:
21 GreatSpnEditorProjectParser(std::string const& constantDefinitionString);
22
29 storm::gspn::GSPN* parse(xercesc::DOMElement const* elementRoot);
30
31 private:
32 void traverseProjectElement(xercesc::DOMNode const* const node);
33
34 void traverseGspnElement(xercesc::DOMNode const* const node);
35 void traverseNodesElement(xercesc::DOMNode const* const node);
36 void traverseEdgesElement(xercesc::DOMNode const* const node);
37
38 void traverseConstantOrTemplateElement(xercesc::DOMNode const* const node);
39 void traversePlaceElement(xercesc::DOMNode const* const node);
40 void traverseTransitionElement(xercesc::DOMNode const* const node);
41 void traverseArcElement(xercesc::DOMNode const* const node);
42
43 int64_t parseInt(std::string str);
44 double parseReal(std::string str);
45
46 // the constructed gspn
48 std::shared_ptr<storm::expressions::ExpressionManager> manager;
49 std::shared_ptr<storm::parser::ExpressionParser> expressionParser;
50 std::unordered_map<std::string, std::string> constantDefinitions;
51 std::map<storm::expressions::Variable, storm::expressions::Expression> constantsSubstitution;
52};
53} // namespace parser
54} // namespace storm
55#endif
SettingsManager const & manager()
Retrieves the settings manager.
LabParser.cpp.
Definition cli.cpp:18