29 #ifndef SKOORSYNTAXTREE_H 30 #define SKOORSYNTAXTREE_H 36 #include <agrum/PRM/elements/PRMSystem.h> 38 #include <agrum/PRM/inference/PRMInference.h> 66 virtual std::string
toString()
const = 0;
73 const std::string& value,
74 const std::string& alias) :
85 return "import " + value + (alias.empty() ?
"" :
"as " + alias) +
";";
100 std::string
toString()
const {
return "engine " + value +
";"; }
114 std::string
toString()
const {
return "grd_engine " + value +
";"; }
118 template <
typename GUM_SCALAR >
122 const std::string& leftValue,
123 const std::string& rightValue) :
143 template <
typename GUM_SCALAR >
160 template <
typename GUM_SCALAR >
178 template <
typename GUM_SCALAR >
188 explicit O3prmrSession(
const std::string& name = std::string());
192 std::string
name()
const;
196 const std::string& leftValue,
197 const std::string& rightValue);
199 void addQuery(
int line,
const std::string& value);
204 virtual std::string
toString()
const;
215 template <
typename GUM_SCALAR >
224 explicit O3prmrContext(
const std::string& filename = std::string());
238 const std::string& import,
239 const std::string& alias);
240 void addImport(
int line,
const std::string& import,
bool ismain);
242 m_imports.push_back(
new ImportCommand(i.line, i.value, i.alias));
244 if (i.alias ==
"default") m_mainImport = m_imports.back();
250 virtual std::string
toString()
const;
255 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 256 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 257 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 258 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 259 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 266 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 267 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 268 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 269 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 270 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 277 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 278 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 279 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 280 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 281 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 288 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 289 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 290 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 291 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 292 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 299 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 300 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 301 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 302 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 303 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 316 #include <agrum/PRM/o3prmr/O3prmrContext_tpl.h>
std::string toString() const
const PRMSystem< GUM_SCALAR > * system
Potential< GUM_SCALAR > potentiel
void addObserve(int line, const std::string &leftValue, const std::string &rightValue)
SetEngineCommand(const SetEngineCommand &c)
std::map< const PRMSystem< GUM_SCALAR > *, PRMInference< GUM_SCALAR > *> m_infEngineMap
const ImportCommand * mainImport() const
void addSession(const O3prmrSession< GUM_SCALAR > &session)
QueryCommand(int line, const std::string &val)
O3prmrCommand(const O3prmrCommand &c)
virtual std::string toString() const
const PRMSystem< GUM_SCALAR > * system
INLINE void emplace(Args &&... args)
void addImport(int line, const std::string &import, bool ismain)
PRMInference< GUM_SCALAR >::Chain chain
void addCommand(O3prmrCommand *command)
ObserveCommand(int line, const std::string &leftValue, const std::string &rightValue)
UnobserveCommand(const UnobserveCommand &c)
std::vector< ImportCommand *> imports() const
std::string toString() const
std::vector< O3prmrCommand *> commands() const
ImportCommand(int line, const std::string &value, const std::string &alias)
std::string filename() const
std::string aliasToImport(const std::string &alias)
std::vector< O3prmrSession< GUM_SCALAR > *> m_sessions
void addImport(int line, const std::string &import, const std::string &alias)
SetGndEngineCommand(int line, const std::string &value)
const PRMSystem< GUM_SCALAR > * system
std::vector< ImportCommand *> m_imports
O3prmrSession(const std::string &name=std::string())
UnobserveCommand(int line, const std::string &value)
void addUnobserve(int line, const std::string &value)
std::string toString() const
std::string toString() const
O3prmrSession(const O3prmrSession &s)
SetEngineCommand(int line, const std::string &value)
std::string toString() const
O3prmrContext(const std::string &filename=std::string())
O3prmrContext & operator+=(const O3prmrContext &c)
ParamScopeData(const std::string &s, const PRMReferenceSlot< GUM_SCALAR > &ref, Idx d)
PRMInference< GUM_SCALAR >::Chain chain
O3prmrContext(const O3prmrContext &s)
void setPackage(const std::string &package)
void addImport(const ImportCommand &i)
This is an abstract class.
Represent a o3prmr context, with an import, and some sequencials commands.
std::vector< O3prmrSession< GUM_SCALAR > *> sessions() const
ObserveCommand(const ObserveCommand &c)
ImportCommand(const ImportCommand &c)
ImportCommand * m_mainImport
void addQuery(int line, const std::string &value)
void addSetGndEngine(int line, const std::string &value)
SetGndEngineCommand(const SetGndEngineCommand &c)
virtual std::string toString() const
virtual std::string toString() const =0
std::vector< O3prmrCommand *> m_commands
A sequence of commands.
std::string package() const
PRMInference< GUM_SCALAR >::Chain chain
std::string toString() const
void addSetEngine(int line, const std::string &value)
virtual RequestType type() const =0
std::string m_name
The session name;.
void addCommand(const O3prmrCommand *command)
O3prmrSession & operator+=(const O3prmrSession &c)