Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
storm::parser::JaniParser< ValueType > Class Template Reference

#include <JaniParser.h>

Classes

struct  Scope
 

Public Types

typedef std::vector< storm::jani::PropertyPropertyVector
 
typedef std::unordered_map< std::string, storm::jani::Variable const * > VariablesMap
 
typedef std::unordered_map< std::string, storm::jani::Constant const * > ConstantsMap
 
typedef std::unordered_map< std::string, storm::jani::FunctionDefinition const * > FunctionsMap
 
typedef storm::json< ValueType > Json
 

Public Member Functions

 JaniParser ()
 
 JaniParser (std::string const &jsonstring)
 

Static Public Member Functions

static std::pair< storm::jani::Model, std::vector< storm::jani::Property > > parse (std::string const &path, bool parseProperties=true)
 
static std::pair< storm::jani::Model, std::vector< storm::jani::Property > > parseFromString (std::string const &jsonstring, bool parseProperties=true)
 

Protected Member Functions

void readFile (std::string const &path)
 
std::pair< storm::jani::Model, std::vector< storm::jani::Property > > parseModel (bool parseProperties=true)
 
storm::jani::Property parseProperty (storm::jani::Model &model, storm::json< ValueType > const &propertyStructure, Scope const &scope)
 
storm::jani::Automaton parseAutomaton (storm::json< ValueType > const &automatonStructure, storm::jani::Model const &parentModel, Scope const &scope)
 
std::pair< std::unique_ptr< storm::jani::JaniType >, storm::expressions::TypeparseType (storm::json< ValueType > const &typeStructure, std::string variableName, Scope const &scope)
 
storm::jani::LValue parseLValue (storm::json< ValueType > const &lValueStructure, Scope const &scope)
 
std::shared_ptr< storm::jani::VariableparseVariable (storm::json< ValueType > const &variableStructure, Scope const &scope, std::string const &namePrefix="")
 
storm::expressions::Expression parseExpression (storm::json< ValueType > const &expressionStructure, Scope const &scope, bool returnNoneOnUnknownOpString=false, std::unordered_map< std::string, storm::expressions::Variable > const &auxiliaryVariables={})
 

Detailed Description

template<typename ValueType>
class storm::parser::JaniParser< ValueType >

Definition at line 33 of file JaniParser.h.

Member Typedef Documentation

◆ ConstantsMap

template<typename ValueType >
typedef std::unordered_map<std::string, storm::jani::Constant const*> storm::parser::JaniParser< ValueType >::ConstantsMap

Definition at line 37 of file JaniParser.h.

◆ FunctionsMap

template<typename ValueType >
typedef std::unordered_map<std::string, storm::jani::FunctionDefinition const*> storm::parser::JaniParser< ValueType >::FunctionsMap

Definition at line 38 of file JaniParser.h.

◆ Json

template<typename ValueType >
typedef storm::json<ValueType> storm::parser::JaniParser< ValueType >::Json

Definition at line 39 of file JaniParser.h.

◆ PropertyVector

template<typename ValueType >
typedef std::vector<storm::jani::Property> storm::parser::JaniParser< ValueType >::PropertyVector

Definition at line 35 of file JaniParser.h.

◆ VariablesMap

template<typename ValueType >
typedef std::unordered_map<std::string, storm::jani::Variable const*> storm::parser::JaniParser< ValueType >::VariablesMap

Definition at line 36 of file JaniParser.h.

Constructor & Destructor Documentation

◆ JaniParser() [1/2]

template<typename ValueType >
storm::parser::JaniParser< ValueType >::JaniParser ( )
inline

Definition at line 41 of file JaniParser.h.

◆ JaniParser() [2/2]

template<typename ValueType >
storm::parser::JaniParser< ValueType >::JaniParser ( std::string const &  jsonstring)

Definition at line 99 of file JaniParser.cpp.

Member Function Documentation

◆ parse()

template<typename ValueType >
std::pair< storm::jani::Model, std::vector< storm::jani::Property > > storm::parser::JaniParser< ValueType >::parse ( std::string const &  path,
bool  parseProperties = true 
)
static

Definition at line 86 of file JaniParser.cpp.

◆ parseAutomaton()

template<typename ValueType >
storm::jani::Automaton storm::parser::JaniParser< ValueType >::parseAutomaton ( storm::json< ValueType > const &  automatonStructure,
storm::jani::Model const &  parentModel,
Scope const &  scope 
)
protected

Definition at line 1488 of file JaniParser.cpp.

◆ parseExpression()

template<typename ValueType >
storm::expressions::Expression storm::parser::JaniParser< ValueType >::parseExpression ( storm::json< ValueType > const &  expressionStructure,
Scope const &  scope,
bool  returnNoneOnUnknownOpString = false,
std::unordered_map< std::string, storm::expressions::Variable > const &  auxiliaryVariables = {} 
)
protected

Definition at line 1115 of file JaniParser.cpp.

◆ parseFromString()

template<typename ValueType >
std::pair< storm::jani::Model, std::vector< storm::jani::Property > > storm::parser::JaniParser< ValueType >::parseFromString ( std::string const &  jsonstring,
bool  parseProperties = true 
)
static

Definition at line 93 of file JaniParser.cpp.

◆ parseLValue()

template<typename ValueType >
storm::jani::LValue storm::parser::JaniParser< ValueType >::parseLValue ( storm::json< ValueType > const &  lValueStructure,
Scope const &  scope 
)
protected

Definition at line 1042 of file JaniParser.cpp.

◆ parseModel()

template<typename ValueType >
std::pair< storm::jani::Model, std::vector< storm::jani::Property > > storm::parser::JaniParser< ValueType >::parseModel ( bool  parseProperties = true)
protected

Definition at line 112 of file JaniParser.cpp.

◆ parseProperty()

template<typename ValueType >
storm::jani::Property storm::parser::JaniParser< ValueType >::parseProperty ( storm::jani::Model model,
storm::json< ValueType > const &  propertyStructure,
Scope const &  scope 
)
protected

Definition at line 671 of file JaniParser.cpp.

◆ parseType()

template<typename ValueType >
std::pair< std::unique_ptr< storm::jani::JaniType >, storm::expressions::Type > storm::parser::JaniParser< ValueType >::parseType ( storm::json< ValueType > const &  typeStructure,
std::string  variableName,
Scope const &  scope 
)
protected

Definition at line 787 of file JaniParser.cpp.

◆ parseVariable()

template<typename ValueType >
std::shared_ptr< storm::jani::Variable > storm::parser::JaniParser< ValueType >::parseVariable ( storm::json< ValueType > const &  variableStructure,
Scope const &  scope,
std::string const &  namePrefix = "" 
)
protected

Definition at line 936 of file JaniParser.cpp.

◆ readFile()

template<typename ValueType >
void storm::parser::JaniParser< ValueType >::readFile ( std::string const &  path)
protected

Definition at line 104 of file JaniParser.cpp.


The documentation for this class was generated from the following files: