Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > ffa1e6f5ad04360808fe8840fe3ba036 > files > 391

vrq-devel-1.0.88-1.fc14.i686.rpm

<!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: Node Utilities</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&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<h1>Node Utilities</h1>  </div>
</div>
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__node__utilities.html#ga517bc4387bbf7828bb6b88ba32cf7e21">ArgList2Vector</a> (<a class="el" href="classCNode.html">CNode</a> *n, <a class="el" href="cnode__def_8h.html#a21e7e2c6d95679cd908f0b20e8408513">NodeOp_t</a> op, int argNumber, vector&lt; T &gt; &amp;v)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Walks a list of nodes and collects the specified augments of a given node type.  <a href="#ga517bc4387bbf7828bb6b88ba32cf7e21"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__node__utilities.html#ga2469137ed5c74149d8c1d472ce03a55c">EList2VectorExclude</a> (<a class="el" href="classCNode.html">CNode</a> *n, const set&lt; <a class="el" href="cnode__def_8h.html#a21e7e2c6d95679cd908f0b20e8408513">NodeOp_t</a> &gt; &amp;excludeOps, vector&lt; <a class="el" href="classCNode.html">CNode</a> * &gt; &amp;v)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Walks an expression elist of nodes and collects the subtrees that don't match the given node types.  <a href="#ga2469137ed5c74149d8c1d472ce03a55c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__node__utilities.html#ga5db67491a656247efbfa5def03f906b6">List2VectorExclude</a> (<a class="el" href="classCNode.html">CNode</a> *n, const set&lt; <a class="el" href="cnode__def_8h.html#a21e7e2c6d95679cd908f0b20e8408513">NodeOp_t</a> &gt; &amp;excludeOps, vector&lt; <a class="el" href="classCNode.html">CNode</a> * &gt; &amp;v)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Walks an expression list of nodes and collects the subtrees that don't match the given node types.  <a href="#ga5db67491a656247efbfa5def03f906b6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCNode.html">CNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__node__utilities.html#ga1de6a178e8bad48b36acd8aade25ba4e">Vector2EList</a> (const vector&lt; <a class="el" href="classCNode.html">CNode</a> * &gt; &amp;v)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts a vector array of CNode* into a linked ELIST of the elements.  <a href="#ga1de6a178e8bad48b36acd8aade25ba4e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCNode.html">CNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__node__utilities.html#gad65774f7ca1ac072f5c60e9ebf7024c5">List2EList</a> (list&lt; <a class="el" href="classCNode.html">CNode</a> * &gt; &amp;v)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts a list of CNode* into a linked ELIST of the elements.  <a href="#gad65774f7ca1ac072f5c60e9ebf7024c5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__node__utilities.html#gac5892f78ece46bc33ede58a5ac2a9fef">ListCount</a> (<a class="el" href="classCNode.html">CNode</a> *n, <a class="el" href="cnode__def_8h.html#a21e7e2c6d95679cd908f0b20e8408513">NodeOp_t</a> op)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Walks a list/elist of nodes and counts the number of node with the specified operation.  <a href="#gac5892f78ece46bc33ede58a5ac2a9fef"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__node__utilities.html#gad8af5bcbb7ce221e466cf2040e20b425">ListCount</a> (<a class="el" href="classCNode.html">CNode</a> *n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Walks a list/elist of nodes and counts the number of non-list nodes.  <a href="#gad8af5bcbb7ce221e466cf2040e20b425"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__node__utilities.html#gafda85ac47eeb4208e7b83d34c9f5baa4">AnalyseModules</a> (<a class="el" href="classCNode.html">CNode</a> *<a class="el" href="main_8cc.html#a57cc0ab02c357184bcc6aec7b703933d">codeList</a>, set&lt; <a class="el" href="classCModule.html">CModule</a> * &gt; &amp;allModules, set&lt; <a class="el" href="classCModule.html">CModule</a> * &gt; &amp;topLevelModules, set&lt; <a class="el" href="classCModule.html">CModule</a> * &gt; &amp;leafModules, set&lt; <a class="el" href="classCModule.html">CModule</a> * &gt; &amp;undefinedModules, map&lt; <a class="el" href="classCModule.html">CModule</a> *, <a class="el" href="classCNode.html">CNode</a> * &gt; &amp;module2Comments)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Analyse module declarations in parse tree.  <a href="#gafda85ac47eeb4208e7b83d34c9f5baa4"></a><br/></td></tr>
</table>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gafda85ac47eeb4208e7b83d34c9f5baa4"></a><!-- doxytag: member="compile.h::AnalyseModules" ref="gafda85ac47eeb4208e7b83d34c9f5baa4" args="(CNode *codeList, set&lt; CModule * &gt; &amp;allModules, set&lt; CModule * &gt; &amp;topLevelModules, set&lt; CModule * &gt; &amp;leafModules, set&lt; CModule * &gt; &amp;undefinedModules, map&lt; CModule *, CNode * &gt; &amp;module2Comments)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void AnalyseModules </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCNode.html">CNode</a> *&nbsp;</td>
          <td class="paramname"> <em>codeList</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">set&lt; <a class="el" href="classCModule.html">CModule</a> * &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>allModules</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">set&lt; <a class="el" href="classCModule.html">CModule</a> * &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>topLevelModules</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">set&lt; <a class="el" href="classCModule.html">CModule</a> * &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>leafModules</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">set&lt; <a class="el" href="classCModule.html">CModule</a> * &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>undefinedModules</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">map&lt; <a class="el" href="classCModule.html">CModule</a> *, <a class="el" href="classCNode.html">CNode</a> * &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>module2Comments</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Analyse module declarations in 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>codeList</em>&nbsp;</td><td>parse tree to anaylse. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>allModules</em>&nbsp;</td><td>add all module declarations to set. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>topLevelModules</em>&nbsp;</td><td>add all toplevel module declarations to set. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>leafModules</em>&nbsp;</td><td>add all leaf module declarations to set. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>undefinedModules</em>&nbsp;</td><td>add undefined module declarations to set. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>module2Comments</em>&nbsp;</td><td>map to load associating all comments before module with the given module. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga517bc4387bbf7828bb6b88ba32cf7e21"></a><!-- doxytag: member="cnode.h::ArgList2Vector" ref="ga517bc4387bbf7828bb6b88ba32cf7e21" args="(CNode *n, NodeOp_t op, int argNumber, vector&lt; T &gt; &amp;v)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void ArgList2Vector </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCNode.html">CNode</a> *&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="cnode__def_8h.html#a21e7e2c6d95679cd908f0b20e8408513">NodeOp_t</a>&nbsp;</td>
          <td class="paramname"> <em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>argNumber</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">vector&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Walks a list of nodes and collects the specified augments of a given node type. </p>
<p>Results are returned as elements of an stl vector.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>tree to traverse. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>op</em>&nbsp;</td><td>operation to search for. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>argNumber</em>&nbsp;</td><td>argument number to return. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>containter to return results. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga2469137ed5c74149d8c1d472ce03a55c"></a><!-- doxytag: member="cnode.h::EList2VectorExclude" ref="ga2469137ed5c74149d8c1d472ce03a55c" args="(CNode *n, const set&lt; NodeOp_t &gt; &amp;excludeOps, vector&lt; CNode * &gt; &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void EList2VectorExclude </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCNode.html">CNode</a> *&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const set&lt; <a class="el" href="cnode__def_8h.html#a21e7e2c6d95679cd908f0b20e8408513">NodeOp_t</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>excludeOps</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">vector&lt; <a class="el" href="classCNode.html">CNode</a> * &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Walks an expression elist of nodes and collects the subtrees that don't match the given node types. </p>
<p>Results are returned as elements of an stl vector.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>tree to traverse. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>excludeOps</em>&nbsp;</td><td>operations to exclude from search </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>containter to return results. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gad65774f7ca1ac072f5c60e9ebf7024c5"></a><!-- doxytag: member="cnode.h::List2EList" ref="gad65774f7ca1ac072f5c60e9ebf7024c5" args="(list&lt; CNode * &gt; &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCNode.html">CNode</a>* List2EList </td>
          <td>(</td>
          <td class="paramtype">list&lt; <a class="el" href="classCNode.html">CNode</a> * &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Converts a list of CNode* into a linked ELIST of the elements. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>list to convert. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>linked ELIST of elements </dd></dl>

</div>
</div>
<a class="anchor" id="ga5db67491a656247efbfa5def03f906b6"></a><!-- doxytag: member="cnode.h::List2VectorExclude" ref="ga5db67491a656247efbfa5def03f906b6" args="(CNode *n, const set&lt; NodeOp_t &gt; &amp;excludeOps, vector&lt; CNode * &gt; &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void List2VectorExclude </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCNode.html">CNode</a> *&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const set&lt; <a class="el" href="cnode__def_8h.html#a21e7e2c6d95679cd908f0b20e8408513">NodeOp_t</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>excludeOps</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">vector&lt; <a class="el" href="classCNode.html">CNode</a> * &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Walks an expression list of nodes and collects the subtrees that don't match the given node types. </p>
<p>Results are returned as elements of an stl vector.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>tree to traverse. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>excludeOps</em>&nbsp;</td><td>operations to exclude from search </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>containter to return results. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gac5892f78ece46bc33ede58a5ac2a9fef"></a><!-- doxytag: member="cnode.h::ListCount" ref="gac5892f78ece46bc33ede58a5ac2a9fef" args="(CNode *n, NodeOp_t op)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ListCount </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCNode.html">CNode</a> *&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="cnode__def_8h.html#a21e7e2c6d95679cd908f0b20e8408513">NodeOp_t</a>&nbsp;</td>
          <td class="paramname"> <em>op</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Walks a list/elist of nodes and counts the number of node with the specified operation. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>tree to traverse. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>op</em>&nbsp;</td><td>operation to search for. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of nodes matching op. </dd></dl>

</div>
</div>
<a class="anchor" id="gad8af5bcbb7ce221e466cf2040e20b425"></a><!-- doxytag: member="cnode.h::ListCount" ref="gad8af5bcbb7ce221e466cf2040e20b425" args="(CNode *n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ListCount </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCNode.html">CNode</a> *&nbsp;</td>
          <td class="paramname"> <em>n</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Walks a list/elist of nodes and counts the number of non-list nodes. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>tree to traverse. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of nodes matching op. </dd></dl>

</div>
</div>
<a class="anchor" id="ga1de6a178e8bad48b36acd8aade25ba4e"></a><!-- doxytag: member="cnode.h::Vector2EList" ref="ga1de6a178e8bad48b36acd8aade25ba4e" args="(const vector&lt; CNode * &gt; &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCNode.html">CNode</a>* Vector2EList </td>
          <td>(</td>
          <td class="paramtype">const vector&lt; <a class="el" href="classCNode.html">CNode</a> * &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Converts a vector array of CNode* into a linked ELIST of the elements. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>vector array to convert. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>linked ELIST of elements </dd></dl>

</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
</body>
</html>