30 #ifndef SKOORSYNTAXTREE_H 31 #define SKOORSYNTAXTREE_H 66 virtual std::string
toString()
const = 0;
73 const std::string& value,
74 const std::string& alias) :
76 value(value), alias(alias) {}
78 line(c.
line), value(c.value), alias(c.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) :
125 leftValue(leftValue), rightValue(rightValue), system(0) {}
127 O3prmrCommand(c), leftValue(c.leftValue), rightValue(c.rightValue),
128 system(c.system), chain(c.chain) {}
138 return leftValue +
" = " + rightValue +
";";
143 template <
typename GUM_SCALAR >
153 O3prmrCommand(c), value(c.value), system(c.system), chain(c.chain) {}
156 std::string
toString()
const {
return "unobserve " + value +
";"; }
160 template <
typename GUM_SCALAR >
171 std::string
toString()
const {
return "? " + value +
";"; }
178 template <
typename GUM_SCALAR >
188 explicit O3prmrSession(
const std::string& name = std::string());
192 std::string name()
const;
194 std::vector< O3prmrCommand* > commands()
const;
195 void addObserve(
int line,
196 const std::string& leftValue,
197 const std::string& rightValue);
198 void addUnobserve(
int line,
const std::string& value);
199 void addQuery(
int line,
const std::string& value);
200 void addSetEngine(
int line,
const std::string& value);
201 void addSetGndEngine(
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());
230 std::string filename()
const;
232 std::string package()
const;
233 void setPackage(
const std::string& package);
235 std::string aliasToImport(
const std::string& alias);
236 std::vector< ImportCommand* > imports()
const;
237 void addImport(
int line,
238 const std::string&
import,
239 const std::string& alias);
240 void addImport(
int line,
const std::string&
import,
bool ismain);
244 if (i.
alias ==
"default") m_mainImport = m_imports.back();
247 std::vector< O3prmrSession< GUM_SCALAR >* > sessions()
const;
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 318 #endif // SKOORSYNTAXTREE_H aGrUM's Potential is a multi-dimensional array with tensor operators.
std::string toString() const
const PRMSystem< GUM_SCALAR > * system
Potential< GUM_SCALAR > potentiel
SetEngineCommand(const SetEngineCommand &c)
std::map< const PRMSystem< GUM_SCALAR > *, PRMInference< GUM_SCALAR > *> m_infEngineMap
const ImportCommand * mainImport() const
QueryCommand(int line, const std::string &val)
O3prmrCommand(const O3prmrCommand &c)
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
const PRMSystem< GUM_SCALAR > * system
PRMInference< GUM_SCALAR >::Chain chain
ObserveCommand(int line, const std::string &leftValue, const std::string &rightValue)
UnobserveCommand(const UnobserveCommand &c)
std::string toString() const
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
ImportCommand(int line, const std::string &value, const std::string &alias)
std::vector< O3prmrSession< GUM_SCALAR > *> m_sessions
SetGndEngineCommand(int line, const std::string &value)
const PRMSystem< GUM_SCALAR > * system
std::vector< ImportCommand *> m_imports
UnobserveCommand(int line, const std::string &value)
std::string toString() const
std::string toString() const
SetEngineCommand(int line, const std::string &value)
std::string toString() const
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
A PRMSystem is a container of PRMInstance and describe a relational skeleton.
PRMInference< GUM_SCALAR >::Chain chain
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
void addImport(const ImportCommand &i)
std::pair< const PRMInstance< GUM_SCALAR > *, const PRMAttribute< GUM_SCALAR > *> Chain
Code alias.
This is an abstract class.
Represent a o3prmr context, with an import, and some sequencials commands.
This abstract class is used as base class for all inference class on PRM<GUM_SCALAR>.
ObserveCommand(const ObserveCommand &c)
This class contains a o3prmr session.
ImportCommand(const ImportCommand &c)
ImportCommand * m_mainImport
SetGndEngineCommand(const SetGndEngineCommand &c)
virtual std::string toString() const =0
std::vector< O3prmrCommand *> m_commands
A sequence of commands.
PRMInference< GUM_SCALAR >::Chain chain
std::string toString() const
virtual RequestType type() const =0
std::string m_name
The session name;.