49#ifndef SKOORSYNTAXTREE_H
50#define SKOORSYNTAXTREE_H
129 template <
typename GUM_SCALAR >
151 template <
typename GUM_SCALAR >
170 template <
typename GUM_SCALAR >
189 template <
typename GUM_SCALAR >
202 std::string
name()
const;
204 std::vector< O3prmrCommand* >
commands()
const;
205 void addObserve(
int line,
const std::string& leftValue,
const std::string& rightValue);
207 void addQuery(
int line,
const std::string& value);
212 virtual std::string
toString()
const;
223 template <
typename GUM_SCALAR >
244 std::vector< ImportCommand* >
imports()
const;
245 void addImport(
int line,
const std::string&
import,
const std::string& alias);
246 void addImport(
int line,
const std::string&
import,
bool ismain);
254 std::vector< O3prmrSession< GUM_SCALAR >* >
sessions()
const;
257 virtual std::string
toString()
const;
262#ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
263# ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
264# ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
265# ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
266# ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
267 extern template class ObserveCommand< double >;
273#ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
274# ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
275# ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
276# ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
277# ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
278 extern template class UnobserveCommand< double >;
284#ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
285# ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
286# ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
287# ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
288# ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
289 extern template class QueryCommand< double >;
295#ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
296# ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
297# ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
298# ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
299# ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
300 extern template class O3prmrSession< double >;
306#ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
307# ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
308# ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
309# ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
310# ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
311 extern template class O3prmrContext< double >;
Implementation of O3prmReader.
This abstract class is used as base class for all inference class on PRM<GUM_SCALAR>.
std::pair< const PRMInstance< GUM_SCALAR > *, const PRMAttribute< GUM_SCALAR > * > Chain
Code alias.
A PRMSystem is a container of PRMInstance and describe a relational skeleton.
ImportCommand(const ImportCommand &c)
std::string toString() const
ImportCommand(int line, const std::string &value, const std::string &alias)
This is an abstract class.
virtual RequestType type() const =0
virtual std::string toString() const =0
O3prmrCommand(const O3prmrCommand &c)
Represent a o3prmr context, with an import, and some sequencials commands.
std::vector< ImportCommand * > m_imports
ImportCommand * m_mainImport
std::string aliasToImport(const std::string &alias)
std::vector< O3prmrSession< GUM_SCALAR > * > sessions() const
void addSession(const O3prmrSession< GUM_SCALAR > &session)
virtual std::string toString() const
std::vector< ImportCommand * > imports() const
std::vector< O3prmrSession< GUM_SCALAR > * > m_sessions
void addImport(int line, const std::string &import, const std::string &alias)
const ImportCommand * mainImport() const
void addImport(const ImportCommand &i)
void setPackage(const std::string &package)
O3prmrContext(const std::string &filename=std::string())
std::string filename() const
O3prmrContext & operator+=(const O3prmrContext &c)
std::string package() const
This class contains a o3prmr session.
void addSetEngine(int line, const std::string &value)
O3prmrSession & operator+=(const O3prmrSession &c)
std::vector< O3prmrCommand * > commands() const
O3prmrSession(const std::string &name=std::string())
std::string m_name
The session name;.
void addQuery(int line, const std::string &value)
virtual std::string toString() const
std::vector< O3prmrCommand * > m_commands
A sequence of commands.
void addUnobserve(int line, const std::string &value)
void addSetGndEngine(int line, const std::string &value)
std::map< const PRMSystem< GUM_SCALAR > *, PRMInference< GUM_SCALAR > * > m_infEngineMap
void addCommand(const O3prmrCommand *command)
void addObserve(int line, const std::string &leftValue, const std::string &rightValue)
ObserveCommand(const ObserveCommand &c)
PRMInference< GUM_SCALAR >::Chain chain
const PRMSystem< GUM_SCALAR > * system
std::string toString() const
Tensor< GUM_SCALAR > potentiel
ObserveCommand(int line, const std::string &leftValue, const std::string &rightValue)
QueryCommand(int line, const std::string &val)
const PRMSystem< GUM_SCALAR > * system
std::string toString() const
PRMInference< GUM_SCALAR >::Chain chain
std::string toString() const
SetEngineCommand(int line, const std::string &value)
SetEngineCommand(const SetEngineCommand &c)
SetGndEngineCommand(int line, const std::string &value)
SetGndEngineCommand(const SetGndEngineCommand &c)
std::string toString() const
UnobserveCommand(int line, const std::string &value)
std::string toString() const
PRMInference< GUM_SCALAR >::Chain chain
const PRMSystem< GUM_SCALAR > * system
UnobserveCommand(const UnobserveCommand &c)
namespace for all probabilistic relational models entities
gum is the global namespace for all aGrUM entities