28 #ifndef SKOORSYNTAXTREE_H 29 #define SKOORSYNTAXTREE_H 64 virtual std::string
toString()
const = 0;
71 const std::string& value,
72 const std::string& alias) :
74 value(value), alias(alias) {}
76 line(c.
line), value(c.value), alias(c.alias) {}
83 return "import " + value + (alias.empty() ?
"" :
"as " + alias) +
";";
98 std::string
toString()
const {
return "engine " + value +
";"; }
112 std::string
toString()
const {
return "grd_engine " + value +
";"; }
116 template <
typename GUM_SCALAR >
120 const std::string& leftValue,
121 const std::string& rightValue) :
123 leftValue(leftValue), rightValue(rightValue), system(0) {}
125 O3prmrCommand(c), leftValue(c.leftValue), rightValue(c.rightValue),
126 system(c.system), chain(c.chain) {}
136 return leftValue +
" = " + rightValue +
";";
141 template <
typename GUM_SCALAR >
151 O3prmrCommand(c), value(c.value), system(c.system), chain(c.chain) {}
154 std::string
toString()
const {
return "unobserve " + value +
";"; }
158 template <
typename GUM_SCALAR >
169 std::string
toString()
const {
return "? " + value +
";"; }
176 template <
typename GUM_SCALAR >
186 explicit O3prmrSession(
const std::string& name = std::string());
190 std::string name()
const;
192 std::vector< O3prmrCommand* > commands()
const;
193 void addObserve(
int line,
194 const std::string& leftValue,
195 const std::string& rightValue);
196 void addUnobserve(
int line,
const std::string& value);
197 void addQuery(
int line,
const std::string& value);
198 void addSetEngine(
int line,
const std::string& value);
199 void addSetGndEngine(
int line,
const std::string& value);
202 virtual std::string
toString()
const;
213 template <
typename GUM_SCALAR >
222 explicit O3prmrContext(
const std::string& filename = std::string());
228 std::string filename()
const;
230 std::string package()
const;
231 void setPackage(
const std::string& package);
233 std::string aliasToImport(
const std::string& alias);
234 std::vector< ImportCommand* > imports()
const;
235 void addImport(
int line,
236 const std::string&
import,
237 const std::string& alias);
238 void addImport(
int line,
const std::string&
import,
bool ismain);
242 if (i.
alias ==
"default") m_mainImport = m_imports.back();
245 std::vector< O3prmrSession< GUM_SCALAR >* > sessions()
const;
248 virtual std::string
toString()
const;
253 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 254 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 255 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 256 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 257 # 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 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 268 # 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 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 279 # 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 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 290 # 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 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 301 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 316 #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)
Implementation of O3prmReader.
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
gum is the global namespace for all aGrUM entities
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
A PRMSystem is a container of PRMInstance and describe a relational skeleton.
PRMInference< GUM_SCALAR >::Chain chain
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;.