Sophie

Sophie

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

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: CSymtab&lt; T1 &gt; Class Template 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&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 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&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<h1>CSymtab&lt; T1 &gt; Class Template Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="CSymtab" -->
<p>Aux class used to create symbol table scoping.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="csymtab_8h_source.html">csymtab.h</a>&gt;</code></p>

<p><a href="classCSymtab-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">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCSymtab.html#afdb92980563b3571f3497cc0f9d97f40">CSymtab</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a symbol table.  <a href="#afdb92980563b3571f3497cc0f9d97f40"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCSymtab.html#a356d0c0f64fc4fa474728edee01afb48">PopScope</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Jump back to parent scope.  <a href="#a356d0c0f64fc4fa474728edee01afb48"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCSymtab.html#a11270ecff582507a26ddde378bf63de4">PushScope</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new scope for table.  <a href="#a11270ecff582507a26ddde378bf63de4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCSymtab.html#adc05d90930af6c7576fc00193a90a313">Add</a> (<a class="el" href="classCSymbol.html">CSymbol</a> *sym, T1 *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a symbol and it's assocated object at the current level.  <a href="#adc05d90930af6c7576fc00193a90a313"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">T1 *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCSymtab.html#aa01df1c918f304f970ea4f79415d072a">LookupTop</a> (<a class="el" href="classCSymbol.html">CSymbol</a> *sym)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lookup symbol only in current scope.  <a href="#aa01df1c918f304f970ea4f79415d072a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">T1 *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCSymtab.html#abd368272c0a967bde6840a8c1fe693cf">Lookup</a> (<a class="el" href="classCSymbol.html">CSymbol</a> *sym)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lookup symbol in all scopes starting at the current scope.  <a href="#abd368272c0a967bde6840a8c1fe693cf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCSymtab.html#ac3db6c89c96d9e5e9dec4200fa942892">Dump</a> (FILE *f, int recurse)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dump all symbols in table to file descriptor.  <a href="#ac3db6c89c96d9e5e9dec4200fa942892"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class T1&gt;<br/>
 class CSymtab&lt; T1 &gt;</h3>

<p>Aux class used to create symbol table scoping. </p>
<p>Class for a type safe hierarchical symbol table. Each level of the table represents a different nested scope. Searches a the leaves of the table seach upward to the table root if needed. </p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="afdb92980563b3571f3497cc0f9d97f40"></a><!-- doxytag: member="CSymtab::CSymtab" ref="afdb92980563b3571f3497cc0f9d97f40" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T1&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCSymtab.html">CSymtab</a>&lt; T1 &gt;::<a class="el" href="classCSymtab.html">CSymtab</a> </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a symbol table. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="adc05d90930af6c7576fc00193a90a313"></a><!-- doxytag: member="CSymtab::Add" ref="adc05d90930af6c7576fc00193a90a313" args="(CSymbol *sym, T1 *obj)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T1&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classCSymtab.html">CSymtab</a>&lt; T1 &gt;::Add </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCSymbol.html">CSymbol</a> *&nbsp;</td>
          <td class="paramname"> <em>sym</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T1 *&nbsp;</td>
          <td class="paramname"> <em>obj</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>Add a symbol and it's assocated object at the current level. </p>
<p>Create a new level if needed. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sym</em>&nbsp;</td><td>symbol to add to table. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>object to associated with symbol. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac3db6c89c96d9e5e9dec4200fa942892"></a><!-- doxytag: member="CSymtab::Dump" ref="ac3db6c89c96d9e5e9dec4200fa942892" args="(FILE *f, int recurse)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T1&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classCSymtab.html">CSymtab</a>&lt; T1 &gt;::Dump </td>
          <td>(</td>
          <td class="paramtype">FILE *&nbsp;</td>
          <td class="paramname"> <em>f</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>recurse</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>Dump all symbols in table to file descriptor. </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>&nbsp;</td><td>file descriptor. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>recurse</em>&nbsp;</td><td>zero if only current depth should be dumped. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="abd368272c0a967bde6840a8c1fe693cf"></a><!-- doxytag: member="CSymtab::Lookup" ref="abd368272c0a967bde6840a8c1fe693cf" args="(CSymbol *sym)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T1&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T1* <a class="el" href="classCSymtab.html">CSymtab</a>&lt; T1 &gt;::Lookup </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCSymbol.html">CSymbol</a> *&nbsp;</td>
          <td class="paramname"> <em>sym</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Lookup symbol in all scopes starting at the current scope. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sym</em>&nbsp;</td><td>symbol to search for. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>object associated with symbol. NULL if symbol is not found. </dd></dl>

</div>
</div>
<a class="anchor" id="aa01df1c918f304f970ea4f79415d072a"></a><!-- doxytag: member="CSymtab::LookupTop" ref="aa01df1c918f304f970ea4f79415d072a" args="(CSymbol *sym)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T1&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T1* <a class="el" href="classCSymtab.html">CSymtab</a>&lt; T1 &gt;::LookupTop </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCSymbol.html">CSymbol</a> *&nbsp;</td>
          <td class="paramname"> <em>sym</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Lookup symbol only in current scope. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sym</em>&nbsp;</td><td>symbol to search for. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>object associated with symbol. NULL if symbol is not found. </dd></dl>

</div>
</div>
<a class="anchor" id="a356d0c0f64fc4fa474728edee01afb48"></a><!-- doxytag: member="CSymtab::PopScope" ref="a356d0c0f64fc4fa474728edee01afb48" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T1&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classCSymtab.html">CSymtab</a>&lt; T1 &gt;::PopScope </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Jump back to parent scope. </p>

</div>
</div>
<a class="anchor" id="a11270ecff582507a26ddde378bf63de4"></a><!-- doxytag: member="CSymtab::PushScope" ref="a11270ecff582507a26ddde378bf63de4" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T1&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classCSymtab.html">CSymtab</a>&lt; T1 &gt;::PushScope </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new scope for table. </p>

</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="csymtab_8h_source.html">csymtab.h</a></li>
</ul>
</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>