Public Methods |
| NEDCppGenerator (ostream &out, ostream &outh, NEDSymbolTable *symtab) |
| ~NEDCppGenerator () |
void | setIndentSize (int indentsize) |
void | generate (NEDElement *node) |
Protected Types |
enum | { MODE_NORMAL,
MODE_CLEANUP
} |
Protected Methods |
const char* | increaseIndent (const char *indent) |
const char* | decreaseIndent (const char *indent) |
void | generateItem (NEDElement *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | generateChildren (NEDElement *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | generateChildrenWithTags (NEDElement *node, const char *tags, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | generateChildrenExceptTags (NEDElement *node, const char *tags, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
ExpressionNode* | findExpression (NEDElement *parent, const char *target) |
| Find given expression node in parent.
|
ConstNode* | getConstantExpression (ExpressionNode *node) |
| If expression consists of a constant, return its pointer, NULL otherwise.
|
NEDElement* | findFirstChildWithAttribute (NEDElement *node, int tagcode, const char *attr, const char *attrvalue) |
| Find first child in node which has given attribute with given value.
|
void | writeProlog (ostream &out) |
void | printTemporaryVariables (const char *indent) |
void | beginConditionalBlock (NEDElement *node, const char *&indent, int mode, const char *) |
void | endConditionalBlock (NEDElement *node, const char *&indent, int mode, const char *) |
void | doNedFile (NedFileNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doNedFiles (NedFilesNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doImports (ImportNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doImport (ImportedFileNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doChannel (ChannelNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doChannelAttr (ChannelAttrNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doNetwork (NetworkNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doSimple (SimpleModuleNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doModule (CompoundModuleNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doParams (ParamsNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doParam (ParamNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doGates (GatesNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doGate (GateNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doMachines (MachinesNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doMachine (MachineNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doSubmodules (SubmodulesNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doSubmodule (SubmoduleNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doSubmoduleCleanup (SubmoduleNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doSubstparams (SubstparamsNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doSubstparam (SubstparamNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doGatesizes (GatesizesNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doGatesize (GatesizeNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doSubstmachines (SubstmachinesNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doSubstmachine (SubstmachineNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doConnections (ConnectionsNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | resolveGate (const char *modname, ExpressionNode *modindex, const char *gatename, ExpressionNode *gateindex) |
void | resolveConnectionAttributes (ConnectionNode *node, const char *indent, int mode) |
void | doConnection (ConnectionNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doConnattr (ConnAttrNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doForloop (ForLoopNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doLoopvar (LoopVarNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doDisplayString (DisplayStringNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doExpression (ExpressionNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doCppinclude (CppincludeNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doCppStruct (CppStructNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doCppCobject (CppCobjectNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doCppNoncobject (CppNoncobjectNode *node, const char *indent, int mode=MODE_NORMAL, const char *arg=NULL) |
void | doEnum (EnumNode *node, const char *indent, int mode, const char *) |
void | doEnumFields (EnumFieldsNode *node, const char *indent, int mode, const char *) |
void | doEnumField (EnumFieldNode *node, const char *indent, int mode, const char *) |
void | doMessage (MessageNode *node, const char *, int, const char *) |
void | doClass (ClassNode *node, const char *, int, const char *) |
void | doStruct (StructNode *node, const char *, int, const char *) |
void | prepareForCodeGeneration (NEDElement *node, ClassDesc &cld, FieldDesc *&fld, int &numfields) |
void | generateClass (ClassDesc &cld, FieldDesc *&fld, int numfields) |
void | generateStruct (ClassDesc &cld, FieldDesc *&fld, int numfields) |
void | generateDescriptorClass (ClassDesc &cld, FieldDesc *&fld, int numfields) |
Protected Attributes |
ostream& | out |
ostream& | outh |
bool | in_network |
std::string | module_name |
std::string | submodule_name |
std::string | submodule_var |
int | indentsize |
CppExpressionGenerator | exprgen |
NEDSymbolTable* | symboltable |