Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members  

NEDGenerator Class Reference

#include <nedgenerator.h>

List of all members.

Public Methods

 NEDGenerator (ostream &out)
 ~NEDGenerator ()
void setIndentSize (int indentsize)
void setNewSyntax (bool value)
void generate (NEDElement *node, const char *indent)

Protected Methods

const char* increaseIndent (const char *indent)
const char* decreaseIndent (const char *indent)
void generateNedItem (NEDElement *node, const char *indent, bool islast, const char *arg=NULL)
void generateChildren (NEDElement *node, const char *indent, const char *arg=NULL)
void generateChildrenWithType (NEDElement *node, int tagcode, const char *indent, const char *arg=0)
void printExpression (NEDElement *node, const char *attr, const char *indent)
void printVector (NEDElement *node, const char *attr, const char *indent)
void printIfExpression (NEDElement *node, const char *attr, const char *indent)
void appendBannerComment (const char *comment, const char *indent)
void appendRightComment (const char *comment, const char *indent)
void appendInlineRightComment (const char *comment, const char *indent)
void appendTrailingComment (const char *comment, const char *indent)
void doNedfiles (NedFilesNode *node, const char *indent, bool islast, const char *)
void doNedfile (NedFileNode *node, const char *indent, bool islast, const char *)
void doImports (ImportNode *node, const char *indent, bool islast, const char *)
void doImport (ImportedFileNode *node, const char *indent, bool islast, const char *)
void doChannel (ChannelNode *node, const char *indent, bool islast, const char *)
void doChanattr (ChannelAttrNode *node, const char *indent, bool islast, const char *)
void doNetwork (NetworkNode *node, const char *indent, bool islast, const char *)
void doSimple (SimpleModuleNode *node, const char *indent, bool islast, const char *)
void doModule (CompoundModuleNode *node, const char *indent, bool islast, const char *)
void doParams (ParamsNode *node, const char *indent, bool islast, const char *)
void doParam (ParamNode *node, const char *indent, bool islast, const char *)
void doGates (GatesNode *node, const char *indent, bool islast, const char *)
void doGate (GateNode *node, const char *indent, bool islast, const char *)
void doMachines (MachinesNode *node, const char *indent, bool islast, const char *)
void doMachine (MachineNode *node, const char *indent, bool islast, const char *)
void doSubmodules (SubmodulesNode *node, const char *indent, bool islast, const char *)
void doSubmodule (SubmoduleNode *node, const char *indent, bool islast, const char *)
void doSubstparams (SubstparamsNode *node, const char *indent, bool islast, const char *)
void doSubstparam (SubstparamNode *node, const char *indent, bool islast, const char *)
void doGatesizes (GatesizesNode *node, const char *indent, bool islast, const char *)
void doGatesize (GatesizeNode *node, const char *indent, bool islast, const char *)
void doSubstmachines (SubstmachinesNode *node, const char *indent, bool islast, const char *)
void doSubstmachine (SubstmachineNode *node, const char *indent, bool islast, const char *)
void doConnections (ConnectionsNode *node, const char *indent, bool islast, const char *)
void printGate (NEDElement *conn, const char *modname, const char *modindexattr, const char *gatename, const char *gateindexattr, const char *indent)
void doConnection (ConnectionNode *node, const char *indent, bool islast, const char *)
void doConnattr (ConnAttrNode *node, const char *indent, bool islast, const char *arrow)
void doForloop (ForLoopNode *node, const char *indent, bool islast, const char *)
void doLoopvar (LoopVarNode *node, const char *indent, bool islast, const char *)
void doDisplaystring (DisplayStringNode *node, const char *indent, bool islast, const char *)
void doExpression (ExpressionNode *node, const char *indent, bool islast, const char *)
int getOperatorPriority (const char *op, int args)
bool isOperatorLeftAssoc (const char *op)
void doOperator (OperatorNode *node, const char *indent, bool islast, const char *)
void doFunction (FunctionNode *node, const char *indent, bool islast, const char *)
void doParamref (ParamRefNode *node, const char *indent, bool islast, const char *)
void doIdent (IdentNode *node, const char *indent, bool islast, const char *)
void doConst (ConstNode *node, const char *indent, bool islast, const char *)
void doCppinclude (CppincludeNode *node, const char *indent, bool islast, const char *)
void doCppStruct (CppStructNode *node, const char *indent, bool islast, const char *)
void doCppCobject (CppCobjectNode *node, const char *indent, bool islast, const char *)
void doCppNoncobject (CppNoncobjectNode *node, const char *indent, bool islast, const char *)
void doEnum (EnumNode *node, const char *indent, bool islast, const char *)
void doEnumFields (EnumFieldsNode *node, const char *indent, bool islast, const char *)
void doEnumField (EnumFieldNode *node, const char *indent, bool islast, const char *)
void doMessage (MessageNode *node, const char *indent, bool islast, const char *)
void doClass (ClassNode *node, const char *indent, bool islast, const char *)
void doStruct (StructNode *node, const char *indent, bool islast, const char *)
void doFields (FieldsNode *node, const char *indent, bool islast, const char *)
void doField (FieldNode *node, const char *indent, bool islast, const char *)
void doProperties (PropertiesNode *node, const char *indent, bool islast, const char *)
void doProperty (PropertyNode *node, const char *indent, bool islast, const char *)

Protected Attributes

bool newsyntax
int indentsize
ostream& out


Detailed Description

Generates NED code from a NED object tree. Assumes object tree has already passed all validation stages (DTD, basic, semantic).


Constructor & Destructor Documentation

NEDGenerator::NEDGenerator ( ostream & out )
 

Constructor. Takes an output stream where the generated NED code will be written.

NEDGenerator::~NEDGenerator ( )
 

Destructor.


Member Function Documentation

void NEDGenerator::generate ( NEDElement * node,
const char * indent )
 

Generates NED code. Takes object tree and base indentation.

void NEDGenerator::setIndentSize ( int indentsize )
 

Sets the indent size in the generated NED code. Default is 4 spaces.

void NEDGenerator::setNewSyntax ( bool value )
 

Sets if new NED syntax (e.g. using curly braces like module { ... } instead of module ... endmodule) should be used. Default is true.


The documentation for this class was generated from the following file:
Generated at Mon Jun 16 23:37:42 2003 for OMNeT++NEDXML by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001