|
Public Member Functions |
| CppExpressionGenerator (ostream &out, NEDSymbolTable *symboltable) |
| ~CppExpressionGenerator () |
void | collectExpressions (NEDElement *node) |
void | generateExpressionClasses () |
void | generateExpressionUsage (ExpressionNode *expr, const char *indent) |
Protected Types |
typedef std::vector< NEDElement * > | NEDElementVector |
typedef std::map< ExpressionNode *,
ExpressionInfo > | NEDExpressionMap |
enum | { MODE_INLINE_EXPRESSION,
MODE_EXPRESSION_CLASS
} |
Protected Member Functions |
void | doExtractArgs (ExpressionInfo &info, NEDElement *node) |
void | doCollectExpressions (NEDElement *node, NEDElement *currentSubmodTypeDecl) |
void | collectExpressionInfo (ExpressionNode *expr, NEDElement *currentSubmodTypeDecl) |
void | generateExpressionClass (ExpressionInfo &info) |
const char * | getTypeForArg (NEDElement *node) |
const char * | getNameForArg (NEDElement *node) |
void | doValueForArg (NEDElement *node) |
void | doValueForCachedVar (NEDElement *node) |
void | generateChildren (NEDElement *node, const char *indent, int mode) |
void | generateItem (NEDElement *node, const char *indent, int mode) |
void | doOperator (OperatorNode *node, const char *indent, int mode) |
void | doFunction (FunctionNode *node, const char *indent, int mode) |
void | doParamref (ParamRefNode *node, const char *indent, int mode) |
void | doIdent (IdentNode *node, const char *indent, int mode) |
void | doConst (ConstNode *node, const char *indent, int mode) |
void | doExpression (ExpressionNode *node, const char *indent, int mode) |
bool | needsExpressionClass (ExpressionNode *expr, NEDElement *currentSubmodTypeDecl) |
Protected Attributes |
ostream & | out |
NEDSymbolTable * | symboltable |
NEDExpressionMap | exprMap |
Static Protected Attributes |
static int | count |
Classes |
struct | ExpressionInfo |