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;
72 ImportCommand(
int line,
const std::string& value,
const std::string& alias) :
81 return "import " + value + (alias.empty() ?
"" :
"as " + alias) +
";";
94 std::string
toString()
const {
return "engine " + value +
";"; }
107 std::string
toString()
const {
return "grd_engine " + value +
";"; }
111 template <
typename GUM_SCALAR >
114 ObserveCommand(
int line,
const std::string& leftValue,
const std::string& rightValue) :
131 template <
typename GUM_SCALAR >
148 template <
typename GUM_SCALAR >
166 template <
typename GUM_SCALAR >
175 explicit O3prmrSession(
const std::string& name = std::string());
179 std::string
name()
const;
182 void addObserve(
int line,
const std::string& leftValue,
const std::string& rightValue);
184 void addQuery(
int line,
const std::string& value);
189 virtual std::string
toString()
const;
200 template <
typename GUM_SCALAR >
209 explicit O3prmrContext(
const std::string& filename = std::string());
222 void addImport(
int line,
const std::string& import,
const std::string& alias);
223 void addImport(
int line,
const std::string& import,
bool ismain);
225 m_imports.push_back(
new ImportCommand(i.line, i.value, i.alias));
227 if (i.alias ==
"default") m_mainImport = m_imports.back();
233 virtual std::string
toString()
const;
238 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 239 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 240 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 241 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 242 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 249 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 250 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 251 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 252 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 253 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 260 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 261 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 262 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 263 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 264 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 271 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 272 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 273 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 274 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 275 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 282 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 283 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 284 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 285 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 286 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 299 #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)