<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>vrq: CBlock Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tr> <td width="180"><a href="index.html"><img src="vrq.png" width="150" height="100" border="0" alt="vrq"></a></td> <td background="top_bg.png" align="right" width="100%"> <img src="glyth.png" width="500" height="100" border="0" alt=""> </td> </tr> <tr> <td background="#FFFFFF" align="right" width="50" height="4"></td> </tr> </table> </head><body> <!-- Generated by Doxygen 1.7.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-attribs">Protected Attributes</a> </div> <div class="headertitle"> <h1>CBlock Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="CBlock" --><!-- doxytag: inherits="CDecl" --> <p>Declaration class for block constructs. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="cblock_8h_source.html">cblock.h</a>></code></p> <div class="dynheader"> Inheritance diagram for CBlock:</div> <div class="dyncontent"> <div class="center"> <img src="classCBlock.png" usemap="#CBlock_map" alt=""/> <map id="CBlock_map" name="CBlock_map"> <area href="classCDecl.html" alt="CDecl" shape="rect" coords="80,56,150,80"/> <area href="classCObject.html" alt="CObject" shape="rect" coords="80,0,150,24"/> <area href="classCFunction.html" alt="CFunction" shape="rect" coords="0,168,70,192"/> <area href="classCModule.html" alt="CModule" shape="rect" coords="80,168,150,192"/> <area href="classCSpecify.html" alt="CSpecify" shape="rect" coords="160,168,230,192"/> </map> </div> <p><a href="classCBlock-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#a7cb0efb333d8def4b6b0e0c189b06bc2">CBlock</a> (<a class="el" href="classCSymbol.html">CSymbol</a> *name, <a class="el" href="structCoord__t.html">Coord_t</a> *aLoc)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor for BLOCK declarations. <a href="#a7cb0efb333d8def4b6b0e0c189b06bc2"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#a3d9e258bd2827b85dc71aa07a31d936e">CBlock</a> (<a class="el" href="classCSymbol.html">CSymbol</a> *name, <a class="el" href="structCoord__t.html">Coord_t</a> *aLoc, <a class="el" href="cdecl_8h.html#a2079c5562904beb3c6648c13117153a0">Decl_t</a> dtype)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor for BLOCK declarations. <a href="#a3d9e258bd2827b85dc71aa07a31d936e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#a072ddbd4b88ddc5bb4e0e698582be765">~CBlock</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Object destructor. <a href="#a072ddbd4b88ddc5bb4e0e698582be765"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCDecl.html">CDecl</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#a7fc71343dd524faed35dcf9f036d8898">Clone</a> (<a class="el" href="classCObstack.html">CObstack</a> *heap)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a clone of this declaration. <a href="#a7fc71343dd524faed35dcf9f036d8898"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#a28d0319a58da46b4255f3534f895a211">Add</a> (<a class="el" href="classCInstance.html">CInstance</a> *instance)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#ad67d3ffda2621f79f4cb270d07645785">Add</a> (<a class="el" href="classCParam.html">CParam</a> *param)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#ae5f869dbb92e7b06746750e8d4e18c0f">Add</a> (<a class="el" href="classCNet.html">CNet</a> *net)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#ab9cab146487c817d028a9b85a4693343">Add</a> (<a class="el" href="classCVar.html">CVar</a> *var)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#a4992250d79ad21005c165497ee654843">Add</a> (<a class="el" href="classCBlock.html">CBlock</a> *child)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#a78ce869d00b16fd24c1c8c4c361764a5">Add</a> (<a class="el" href="classCFref.html">CFref</a> *fref)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#aeb3a898d05e7837260cb541b1a41226d">Add</a> (<a class="el" href="classCGenvar.html">CGenvar</a> *genvar)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#acb711e8f7b9601e912989779254803d1">Add</a> (<a class="el" href="classCNode.html">CNode</a> *code)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Add parse tree code to this block. <a href="#acb711e8f7b9601e912989779254803d1"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#a347f0f6d7491b95340d38b7757e5b927">SetParent</a> (<a class="el" href="classCBlock.html">CBlock</a> *<a class="el" href="classCBlock.html#ace74e9fcf42750c02327a5ceab686ff8">parent</a>)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set this block's parent block. <a href="#a347f0f6d7491b95340d38b7757e5b927"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCBlock.html">CBlock</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#abb1d93afd9bc0949ee8d6389cf60dba5">GetParent</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get this block's parent block. <a href="#abb1d93afd9bc0949ee8d6389cf60dba5"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#a06c61b6d755889abb23a7de8e18a80c3">Dump</a> (FILE *f)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Dump information about block to a file. <a href="#a06c61b6d755889abb23a7de8e18a80c3"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">vector< <a class="el" href="classCNet.html">CNet</a> * > * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#a514fa63d65eb792e2c835170a98d2254">GetNetList</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get list of object's nets. <a href="#a514fa63d65eb792e2c835170a98d2254"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">vector< <a class="el" href="classCVar.html">CVar</a> * > * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#af1b1d06170c576cb0880b15454a71de4">GetVarList</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get list of object's registers. <a href="#af1b1d06170c576cb0880b15454a71de4"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">vector< <a class="el" href="classCParam.html">CParam</a> * > * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#abd58778b6d540ee8dec30e3088bbec79">GetParamList</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get list of object's parameters. <a href="#abd58778b6d540ee8dec30e3088bbec79"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">vector< <a class="el" href="classCGenvar.html">CGenvar</a> * > * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#a179b208bf543a24b81f21dc218362ce5">GetGenvarList</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get list of object's genvars. <a href="#a179b208bf543a24b81f21dc218362ce5"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCNode.html">CNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#a609154b76dfad784e4d53d8cd03f232f">GetCodeList</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get blocks parse tree. <a href="#a609154b76dfad784e4d53d8cd03f232f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#a1384c2c58407756956aeb073865eac62">SetCodeList</a> (<a class="el" href="classCNode.html">CNode</a> *list)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set block's parse tree. <a href="#a1384c2c58407756956aeb073865eac62"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">vector< <a class="el" href="classCBlock.html">CBlock</a> * > * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#ae9ba7423fbda625ed443792a59d3d87c">GetChildList</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get list of block's child blocks. <a href="#ae9ba7423fbda625ed443792a59d3d87c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual vector< <a class="el" href="classCPortDir.html">CPortDir</a> * > * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#a6793d204098d1dbfd7d7acae2d44a150">GetPortDirList</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get list of block's port declarations. <a href="#a6793d204098d1dbfd7d7acae2d44a150"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#aebf3a390fea8f2748d9d253a7bc936e7">SetSymtab</a> (<a class="el" href="classCSymtab.html">CSymtab</a>< <a class="el" href="classCDecl.html">CDecl</a> > &<a class="el" href="classCBlock.html#ae3e5968ce31846451f6e2babcdaa868b">symtab</a>)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set block's symbol table. <a href="#aebf3a390fea8f2748d9d253a7bc936e7"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCSymtab.html">CSymtab</a>< <a class="el" href="classCDecl.html">CDecl</a> > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#ab3c8fb804aebc1f5f418f769bd079ae0">GetSymtab</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get block's symbol table. <a href="#ab3c8fb804aebc1f5f418f769bd079ae0"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="pro-attribs"></a> Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">vector< <a class="el" href="classCParam.html">CParam</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#a87dcd3110454cac2d4d5d9208cfe1ef5">paramList</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">vector< <a class="el" href="classCVar.html">CVar</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#a68b3a161169f4984e41ab7d0b647be05">varList</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">vector< <a class="el" href="classCGenvar.html">CGenvar</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#a08d48576743d4da3bf39b3863cca81ab">genvarList</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">vector< <a class="el" href="classCFref.html">CFref</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#a7ab505f0ec937c1bef72fe9458e36ed1">frefList</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">vector< <a class="el" href="classCNet.html">CNet</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#a80b4c4efaa0ac82e84377b666ef780ec">netList</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCBlock.html">CBlock</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#ace74e9fcf42750c02327a5ceab686ff8">parent</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">vector< <a class="el" href="classCBlock.html">CBlock</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#a5d3f9c58a7728195954f3252a42a535a">children</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCSymtab.html">CSymtab</a>< <a class="el" href="classCDecl.html">CDecl</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCBlock.html#ae3e5968ce31846451f6e2babcdaa868b">symtab</a></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>Declaration class for block constructs. </p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a7cb0efb333d8def4b6b0e0c189b06bc2"></a><!-- doxytag: member="CBlock::CBlock" ref="a7cb0efb333d8def4b6b0e0c189b06bc2" args="(CSymbol *name, Coord_t *aLoc)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">CBlock::CBlock </td> <td>(</td> <td class="paramtype"><a class="el" href="classCSymbol.html">CSymbol</a> * </td> <td class="paramname"> <em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structCoord__t.html">Coord_t</a> * </td> <td class="paramname"> <em>aLoc</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Constructor for BLOCK declarations. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>name of block. </td></tr> <tr><td valign="top"></td><td valign="top"><em>aLoc</em> </td><td>file coordinates of block. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a3d9e258bd2827b85dc71aa07a31d936e"></a><!-- doxytag: member="CBlock::CBlock" ref="a3d9e258bd2827b85dc71aa07a31d936e" args="(CSymbol *name, Coord_t *aLoc, Decl_t dtype)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">CBlock::CBlock </td> <td>(</td> <td class="paramtype"><a class="el" href="classCSymbol.html">CSymbol</a> * </td> <td class="paramname"> <em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structCoord__t.html">Coord_t</a> * </td> <td class="paramname"> <em>aLoc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="cdecl_8h.html#a2079c5562904beb3c6648c13117153a0">Decl_t</a> </td> <td class="paramname"> <em>dtype</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Constructor for BLOCK declarations. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>name of block. </td></tr> <tr><td valign="top"></td><td valign="top"><em>aLoc</em> </td><td>file coordinates of block. </td></tr> <tr><td valign="top"></td><td valign="top"><em>dtype</em> </td><td>block type. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a072ddbd4b88ddc5bb4e0e698582be765"></a><!-- doxytag: member="CBlock::~CBlock" ref="a072ddbd4b88ddc5bb4e0e698582be765" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual CBlock::~CBlock </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Object destructor. </p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a28d0319a58da46b4255f3534f895a211"></a><!-- doxytag: member="CBlock::Add" ref="a28d0319a58da46b4255f3534f895a211" args="(CInstance *instance)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void CBlock::Add </td> <td>(</td> <td class="paramtype"><a class="el" href="classCInstance.html">CInstance</a> * </td> <td class="paramname"> <em>instance</em></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>This routine will eventually be eliminated.</dd></dl> <p>Currently the construct must be added with this routine as well as by adding a node to the code tree.</p> <p>Add instance to block. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>instance</em> </td><td>pointer to block object </td></tr> </table> </dd> </dl> <p>Reimplemented in <a class="el" href="classCModule.html#a56bff8592f2c7d2d7daad15d8fea8a05">CModule</a>.</p> </div> </div> <a class="anchor" id="ae5f869dbb92e7b06746750e8d4e18c0f"></a><!-- doxytag: member="CBlock::Add" ref="ae5f869dbb92e7b06746750e8d4e18c0f" args="(CNet *net)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void CBlock::Add </td> <td>(</td> <td class="paramtype"><a class="el" href="classCNet.html">CNet</a> * </td> <td class="paramname"> <em>net</em></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000003">Todo:</a></b></dt><dd>This routine will eventually be eliminated.</dd></dl> <p>Currently the construct must be added with this routine as well as by adding a node to the code tree.</p> <p>Add net to block. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>net</em> </td><td>pointer to net object </td></tr> </table> </dd> </dl> <p>Reimplemented in <a class="el" href="classCModule.html#abafc6ca844d7be7cd9d653384b123779">CModule</a>.</p> </div> </div> <a class="anchor" id="aeb3a898d05e7837260cb541b1a41226d"></a><!-- doxytag: member="CBlock::Add" ref="aeb3a898d05e7837260cb541b1a41226d" args="(CGenvar *genvar)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void CBlock::Add </td> <td>(</td> <td class="paramtype"><a class="el" href="classCGenvar.html">CGenvar</a> * </td> <td class="paramname"> <em>genvar</em></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000007">Todo:</a></b></dt><dd>This routine will eventually be eliminated.</dd></dl> <p>Currently the construct must be added with this routine as well as by adding a node to the code tree.</p> <p>Add genvar to this block. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>genvar</em> </td><td>pointer to genvar reference object </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="acb711e8f7b9601e912989779254803d1"></a><!-- doxytag: member="CBlock::Add" ref="acb711e8f7b9601e912989779254803d1" args="(CNode *code)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void CBlock::Add </td> <td>(</td> <td class="paramtype"><a class="el" href="classCNode.html">CNode</a> * </td> <td class="paramname"> <em>code</em></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Add parse tree code to this block. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>code</em> </td><td>pointer to parse tree </td></tr> </table> </dd> </dl> <p>Reimplemented in <a class="el" href="classCModule.html#a79905f639cb617987bd8498182b61d7e">CModule</a>.</p> </div> </div> <a class="anchor" id="ab9cab146487c817d028a9b85a4693343"></a><!-- doxytag: member="CBlock::Add" ref="ab9cab146487c817d028a9b85a4693343" args="(CVar *var)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void CBlock::Add </td> <td>(</td> <td class="paramtype"><a class="el" href="classCVar.html">CVar</a> * </td> <td class="paramname"> <em>var</em></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000004">Todo:</a></b></dt><dd>This routine will eventually be eliminated.</dd></dl> <p>Currently the construct must be added with this routine as well as by adding a node to the code tree.</p> <p>Add register to block. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>var</em> </td><td>pointer to variable object </td></tr> </table> </dd> </dl> <p>Reimplemented in <a class="el" href="classCModule.html#ad8eb88f7d7d76716a3e7254abbe385c4">CModule</a>.</p> </div> </div> <a class="anchor" id="ad67d3ffda2621f79f4cb270d07645785"></a><!-- doxytag: member="CBlock::Add" ref="ad67d3ffda2621f79f4cb270d07645785" args="(CParam *param)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void CBlock::Add </td> <td>(</td> <td class="paramtype"><a class="el" href="classCParam.html">CParam</a> * </td> <td class="paramname"> <em>param</em></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd>This routine will eventually be eliminated.</dd></dl> <p>Currently the construct must be added with this routine as well as by adding a node to the code tree.</p> <p>Add parameter to block. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>param</em> </td><td>pointer to parameter object </td></tr> </table> </dd> </dl> <p>Reimplemented in <a class="el" href="classCModule.html#afa8135c51cd927c45fec3469333362f4">CModule</a>.</p> </div> </div> <a class="anchor" id="a4992250d79ad21005c165497ee654843"></a><!-- doxytag: member="CBlock::Add" ref="a4992250d79ad21005c165497ee654843" args="(CBlock *child)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void CBlock::Add </td> <td>(</td> <td class="paramtype"><a class="el" href="classCBlock.html">CBlock</a> * </td> <td class="paramname"> <em>child</em></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000005">Todo:</a></b></dt><dd>This routine will eventually be eliminated.</dd></dl> <p>Currently the construct must be added with this routine as well as by adding a node to the code tree.</p> <p>Add child block to this block. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>child</em> </td><td>pointer to child block object </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a78ce869d00b16fd24c1c8c4c361764a5"></a><!-- doxytag: member="CBlock::Add" ref="a78ce869d00b16fd24c1c8c4c361764a5" args="(CFref *fref)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void CBlock::Add </td> <td>(</td> <td class="paramtype"><a class="el" href="classCFref.html">CFref</a> * </td> <td class="paramname"> <em>fref</em></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000006">Todo:</a></b></dt><dd>This routine will eventually be eliminated.</dd></dl> <p>Currently the construct must be added with this routine as well as by adding a node to the code tree.</p> <p>Add forward reference to this block. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>fref</em> </td><td>pointer to forward reference object </td></tr> </table> </dd> </dl> <p>Reimplemented in <a class="el" href="classCModule.html#a230f68485ab7449e798848a6039a1bae">CModule</a>.</p> </div> </div> <a class="anchor" id="a7fc71343dd524faed35dcf9f036d8898"></a><!-- doxytag: member="CBlock::Clone" ref="a7fc71343dd524faed35dcf9f036d8898" args="(CObstack *heap)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCDecl.html">CDecl</a>* CBlock::Clone </td> <td>(</td> <td class="paramtype"><a class="el" href="classCObstack.html">CObstack</a> * </td> <td class="paramname"> <em>heap</em></td> <td> ) </td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Create a clone of this declaration. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>heap</em> </td><td>heap to use for allocation. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>new declaration. </dd></dl> <p>Implements <a class="el" href="classCDecl.html#a3d992b7f070ff86395c5eda30e0c4043">CDecl</a>.</p> <p>Reimplemented in <a class="el" href="classCModule.html#a8cb3db011bf488132f7ba818c10f4021">CModule</a>.</p> </div> </div> <a class="anchor" id="a06c61b6d755889abb23a7de8e18a80c3"></a><!-- doxytag: member="CBlock::Dump" ref="a06c61b6d755889abb23a7de8e18a80c3" args="(FILE *f)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void CBlock::Dump </td> <td>(</td> <td class="paramtype">FILE * </td> <td class="paramname"> <em>f</em></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Dump information about block to a file. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>f</em> </td><td>file descriptor to output. </td></tr> </table> </dd> </dl> <p>Reimplemented from <a class="el" href="classCDecl.html#abf20508e80db983fc69f3bf5e3901af4">CDecl</a>.</p> <p>Reimplemented in <a class="el" href="classCSpecify.html#a6760c820351700a8cfeb4a7dd7b71d51">CSpecify</a>, <a class="el" href="classCModule.html#ad9772cf765101312e8d3424b2540909f">CModule</a>, and <a class="el" href="classCFunction.html#aafea245e0699a0363c831f7ea46438cb">CFunction</a>.</p> </div> </div> <a class="anchor" id="ae9ba7423fbda625ed443792a59d3d87c"></a><!-- doxytag: member="CBlock::GetChildList" ref="ae9ba7423fbda625ed443792a59d3d87c" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vector<<a class="el" href="classCBlock.html">CBlock</a>*>* CBlock::GetChildList </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Get list of block's child blocks. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>array of child block objects. </dd></dl> </div> </div> <a class="anchor" id="a609154b76dfad784e4d53d8cd03f232f"></a><!-- doxytag: member="CBlock::GetCodeList" ref="a609154b76dfad784e4d53d8cd03f232f" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCNode.html">CNode</a>* CBlock::GetCodeList </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get blocks parse tree. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>parse tree. </dd></dl> </div> </div> <a class="anchor" id="a179b208bf543a24b81f21dc218362ce5"></a><!-- doxytag: member="CBlock::GetGenvarList" ref="a179b208bf543a24b81f21dc218362ce5" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vector<<a class="el" href="classCGenvar.html">CGenvar</a>*>* CBlock::GetGenvarList </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Get list of object's genvars. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>array of genvar objects. </dd></dl> </div> </div> <a class="anchor" id="a514fa63d65eb792e2c835170a98d2254"></a><!-- doxytag: member="CBlock::GetNetList" ref="a514fa63d65eb792e2c835170a98d2254" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vector<<a class="el" href="classCNet.html">CNet</a>*>* CBlock::GetNetList </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Get list of object's nets. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>array of net objects. </dd></dl> </div> </div> <a class="anchor" id="abd58778b6d540ee8dec30e3088bbec79"></a><!-- doxytag: member="CBlock::GetParamList" ref="abd58778b6d540ee8dec30e3088bbec79" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vector<<a class="el" href="classCParam.html">CParam</a>*>* CBlock::GetParamList </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Get list of object's parameters. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>array of parameter objects. </dd></dl> </div> </div> <a class="anchor" id="abb1d93afd9bc0949ee8d6389cf60dba5"></a><!-- doxytag: member="CBlock::GetParent" ref="abb1d93afd9bc0949ee8d6389cf60dba5" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCBlock.html">CBlock</a>* CBlock::GetParent </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Get this block's parent block. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>pointer to parent block object. </dd></dl> </div> </div> <a class="anchor" id="a6793d204098d1dbfd7d7acae2d44a150"></a><!-- doxytag: member="CBlock::GetPortDirList" ref="a6793d204098d1dbfd7d7acae2d44a150" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual vector<<a class="el" href="classCPortDir.html">CPortDir</a>*>* CBlock::GetPortDirList </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get list of block's port declarations. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>array of port direction objects. </dd></dl> <p>Reimplemented in <a class="el" href="classCModule.html#a9756cb5884b9dfee5e2ba9593372f70c">CModule</a>, and <a class="el" href="classCFunction.html#a1214e9670ff2f0ca7f2541f22066820b">CFunction</a>.</p> </div> </div> <a class="anchor" id="ab3c8fb804aebc1f5f418f769bd079ae0"></a><!-- doxytag: member="CBlock::GetSymtab" ref="ab3c8fb804aebc1f5f418f769bd079ae0" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCSymtab.html">CSymtab</a><<a class="el" href="classCDecl.html">CDecl</a>>& CBlock::GetSymtab </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get block's symbol table. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>reference to block's symbol table. </dd></dl> </div> </div> <a class="anchor" id="af1b1d06170c576cb0880b15454a71de4"></a><!-- doxytag: member="CBlock::GetVarList" ref="af1b1d06170c576cb0880b15454a71de4" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vector<<a class="el" href="classCVar.html">CVar</a>*>* CBlock::GetVarList </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Get list of object's registers. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>array of register objects. </dd></dl> </div> </div> <a class="anchor" id="a1384c2c58407756956aeb073865eac62"></a><!-- doxytag: member="CBlock::SetCodeList" ref="a1384c2c58407756956aeb073865eac62" args="(CNode *list)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void CBlock::SetCodeList </td> <td>(</td> <td class="paramtype"><a class="el" href="classCNode.html">CNode</a> * </td> <td class="paramname"> <em>list</em></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set block's parse tree. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>list</em> </td><td>block's parse tree. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a347f0f6d7491b95340d38b7757e5b927"></a><!-- doxytag: member="CBlock::SetParent" ref="a347f0f6d7491b95340d38b7757e5b927" args="(CBlock *parent)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void CBlock::SetParent </td> <td>(</td> <td class="paramtype"><a class="el" href="classCBlock.html">CBlock</a> * </td> <td class="paramname"> <em>parent</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Set this block's parent block. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>parent</em> </td><td>pointer to parent block object. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="aebf3a390fea8f2748d9d253a7bc936e7"></a><!-- doxytag: member="CBlock::SetSymtab" ref="aebf3a390fea8f2748d9d253a7bc936e7" args="(CSymtab< CDecl > &symtab)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void CBlock::SetSymtab </td> <td>(</td> <td class="paramtype"><a class="el" href="classCSymtab.html">CSymtab</a>< <a class="el" href="classCDecl.html">CDecl</a> > & </td> <td class="paramname"> <em>symtab</em></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set block's symbol table. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>symtab</em> </td><td>reference to new symbol table. </td></tr> </table> </dd> </dl> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="a5d3f9c58a7728195954f3252a42a535a"></a><!-- doxytag: member="CBlock::children" ref="a5d3f9c58a7728195954f3252a42a535a" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vector<<a class="el" href="classCBlock.html">CBlock</a>*> <a class="el" href="classCBlock.html#a5d3f9c58a7728195954f3252a42a535a">CBlock::children</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a7ab505f0ec937c1bef72fe9458e36ed1"></a><!-- doxytag: member="CBlock::frefList" ref="a7ab505f0ec937c1bef72fe9458e36ed1" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vector<<a class="el" href="classCFref.html">CFref</a>*> <a class="el" href="classCBlock.html#a7ab505f0ec937c1bef72fe9458e36ed1">CBlock::frefList</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a08d48576743d4da3bf39b3863cca81ab"></a><!-- doxytag: member="CBlock::genvarList" ref="a08d48576743d4da3bf39b3863cca81ab" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vector<<a class="el" href="classCGenvar.html">CGenvar</a>*> <a class="el" href="classCBlock.html#a08d48576743d4da3bf39b3863cca81ab">CBlock::genvarList</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a80b4c4efaa0ac82e84377b666ef780ec"></a><!-- doxytag: member="CBlock::netList" ref="a80b4c4efaa0ac82e84377b666ef780ec" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vector<<a class="el" href="classCNet.html">CNet</a>*> <a class="el" href="classCBlock.html#a80b4c4efaa0ac82e84377b666ef780ec">CBlock::netList</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a87dcd3110454cac2d4d5d9208cfe1ef5"></a><!-- doxytag: member="CBlock::paramList" ref="a87dcd3110454cac2d4d5d9208cfe1ef5" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vector<<a class="el" href="classCParam.html">CParam</a>*> <a class="el" href="classCBlock.html#a87dcd3110454cac2d4d5d9208cfe1ef5">CBlock::paramList</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="ace74e9fcf42750c02327a5ceab686ff8"></a><!-- doxytag: member="CBlock::parent" ref="ace74e9fcf42750c02327a5ceab686ff8" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCBlock.html">CBlock</a>* <a class="el" href="classCBlock.html#ace74e9fcf42750c02327a5ceab686ff8">CBlock::parent</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="ae3e5968ce31846451f6e2babcdaa868b"></a><!-- doxytag: member="CBlock::symtab" ref="ae3e5968ce31846451f6e2babcdaa868b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCSymtab.html">CSymtab</a><<a class="el" href="classCDecl.html">CDecl</a>> <a class="el" href="classCBlock.html#ae3e5968ce31846451f6e2babcdaa868b">CBlock::symtab</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a68b3a161169f4984e41ab7d0b647be05"></a><!-- doxytag: member="CBlock::varList" ref="a68b3a161169f4984e41ab7d0b647be05" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vector<<a class="el" href="classCVar.html">CVar</a>*> <a class="el" href="classCBlock.html#a68b3a161169f4984e41ab7d0b647be05">CBlock::varList</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>/net/fileserver/nas/home/mdh/vrq/src/<a class="el" href="cblock_8h_source.html">cblock.h</a></li> </ul> </div> <hr class="footer"/><address class="footer"><small>Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address> </body> </html>