DiaDes  0.1
DIAgnosisofDiscrete-EventSystem
ExpressionUtils.hh
Go to the documentation of this file.
1 #ifndef __DIADES__ALTARICA_EXPRESSIONUTILS__HH
2 #define __DIADES__ALTARICA_EXPRESSIONUTILS__HH
3 
4 #include<diades/utils/Log.hh>
7 
8 using namespace Diades::Utils;
9 
10 namespace Diades
11 {
12  namespace Altarica
13  {
14 
16 
17 
18 
19  /********************* SOME UTILS FOR EXPRESSION ******************************/
20 
28 
29 
30  /****************************************************************************/
31 
32 
41  Log exprLogDebug(const char * msg);
42 
43  /****************************************************************************/
44 
53  Log exprLog(const char * msg);
54 
55 
56  /***************************************************************************/
64  void messageLogging(Expression * expr, const string & functionName, bool result,
65  Formula & formula);
66 
76  bool encodeExpression(Expression * expr, FormulaFactory & factory,
77  const string & varPrefixName, const Formula & context, Formula & formula);
78 
79 
89  bool encodeExpressionEq(EqExpression * expr, FormulaFactory & factory,
90  const string & varPrefixName, const Formula & context, Formula & formula);
91 
103  bool encodeIdentifierExpressionEq(EqExpression * expr, FormulaFactory & factory,
104  const string & varPrefixName, const Formula & context, Formula & formula);
105 
116  bool encodeIntegerExpressionEq(EqExpression * expr, FormulaFactory & factory,
117  const string & varPrefixName, const Formula & context, Formula & formula);
118 
130  bool encodeBooleanExpressionEq(EqExpression * expr, FormulaFactory & factory,
131  const string & varPrefixName, const Formula & context, Formula & formula);
132 
133 
134 
145  bool encodeExpressionImply(ImplyExpression * expr, FormulaFactory & factory,
146  const string & varPrefixName, const Formula & context, Formula & formula);
147 
148 
149 
160  bool encodeExpressionAnd(AndExpression * expr, FormulaFactory & factory,
161  const string & varPrefixName, const Formula & context, Formula & formula);
162 
163 
174  bool encodeExpressionOr(OrExpression * expr, FormulaFactory & factory, const string & varPrefixName, const Formula & context, Formula & formula);
175 
176 
187  bool encodeExpressionCase(CaseExpression * expr, FormulaFactory & factory, const string & varPrefixName, const Formula & context, Formula & formula);
188 
189 
190 
201  bool encodeExpressionIte(IteExpression * expr, FormulaFactory & factory, const string & varPrefixName, const Formula & context, Formula & formula);
202 
203 
204 
205 
206 
207 
218  bool encodeExpressionVariable(VarExpression * expr, FormulaFactory & factory, const string & varPrefixName, const Formula & context, Formula & formula);
219 
220 
221 
222 
223 
224 
225 
226 
227 
228 
229 
230  };
231 };
232 
233 
234 
235 #endif
Logger expressionLogger()
bool encodeIntegerExpressionEq(EqExpression *expr, FormulaFactory &factory, const string &varPrefixName, const Formula &context, Formula &formula)
void messageLogging(Expression *expr, const string &functionName, bool result, Formula &formula)
bool encodeExpression(Expression *expr, FormulaFactory &factory, const string &varPrefixName, const Formula &context, Formula &formula)
bool encodeExpressionCase(CaseExpression *expr, FormulaFactory &factory, const string &varPrefixName, const Formula &context, Formula &formula)
bool encodeBooleanExpressionEq(EqExpression *expr, FormulaFactory &factory, const string &varPrefixName, const Formula &context, Formula &formula)
bool encodeIdentifierExpressionEq(EqExpression *expr, FormulaFactory &factory, const string &varPrefixName, const Formula &context, Formula &formula)
bool encodeExpressionVariable(VarExpression *expr, FormulaFactory &factory, const string &varPrefixName, const Formula &context, Formula &formula)
bool encodeExpressionOr(OrExpression *expr, FormulaFactory &factory, const string &varPrefixName, const Formula &context, Formula &formula)
Sdmdl::Formula Formula
Namespace of the Diades project.
Log exprLogDebug(const char *msg)
bool encodeExpressionEq(EqExpression *expr, FormulaFactory &factory, const string &varPrefixName, const Formula &context, Formula &formula)
bool encodeExpressionIte(IteExpression *expr, FormulaFactory &factory, const string &varPrefixName, const Formula &context, Formula &formula)
Logging facilities for the Diades projects.
bool encodeExpressionAnd(AndExpression *expr, FormulaFactory &factory, const string &varPrefixName, const Formula &context, Formula &formula)
Log exprLog(const char *msg)
bool encodeExpressionImply(ImplyExpression *expr, FormulaFactory &factory, const string &varPrefixName, const Formula &context, Formula &formula)