Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > f6ec3de51c94922f2240c0767594dcf5 > files > 3287

antlr3-C-docs-3.2-14.fc15.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>ANTLR3C: ANTLR3_INT_TRIE_struct Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">ANTLR3C&#160;<span id="projectnumber">3.1.2</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Data Fields</a>  </div>
  <div class="headertitle">
<h1>ANTLR3_INT_TRIE_struct Struct Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="ANTLR3_INT_TRIE_struct" -->
<p>Structure that defines an ANTLR3_INT_TRIE.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;antlr3collections.h&gt;</code></p>
<div class="dynheader">
Collaboration diagram for ANTLR3_INT_TRIE_struct:</div>
<div class="dyncontent">
<div class="center"><img src="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct__coll__graph.png" border="0" usemap="#_a_n_t_l_r3___i_n_t___t_r_i_e__struct_coll__map" alt="Collaboration graph"/></div>
<map name="_a_n_t_l_r3___i_n_t___t_r_i_e__struct_coll__map" id="_a_n_t_l_r3___i_n_t___t_r_i_e__struct_coll__map">
<area shape="rect" id="node2" href="struct_a_n_t_l_r3___t_r_i_e___e_n_t_r_y__struct.html" title="Structure that holds the payload entry in an ANTLR3_INT_TRIE or ANTLR3_STRING_TRIE." alt="" coords="35,5,296,32"/><area shape="rect" id="node5" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e___n_o_d_e__struct.html" title="Structure that defines an element/node in an ANTLR3_INT_TRIE." alt="" coords="160,97,451,124"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="antlr3defs_8h.html#a5b33dccbba3b7212539695e21df4079b">ANTLR3_BOOLEAN</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html#a2006080214d9c067e52d1e534c7a74f3">add</a> )(struct <a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html">ANTLR3_INT_TRIE_struct</a> *trie, <a class="el" href="antlr3defs_8h.html#aa5533fd558adc28dc2af0039f52324a8">ANTLR3_INTKEY</a> key, <a class="el" href="antlr3defs_8h.html#ac41f744abd0fd25144b9eb9d11b1dfd1">ANTLR3_UINT32</a> type, <a class="el" href="antlr3defs_8h.html#aa5533fd558adc28dc2af0039f52324a8">ANTLR3_INTKEY</a> intVal, void *data, void(ANTLR3_CDECL *freeptr)(void *))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="antlr3defs_8h.html#a5b33dccbba3b7212539695e21df4079b">ANTLR3_BOOLEAN</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html#a8661863d575caee29c09ee9ef82591b7">allowDups</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="antlr3defs_8h.html#ac41f744abd0fd25144b9eb9d11b1dfd1">ANTLR3_UINT32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html#a12f22c02c75c18d6ce9b8c3d51fa11b3">count</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e___n_o_d_e__struct.html">pANTLR3_INT_TRIE_NODE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html#a469e642f2944318be753d376a2f06df5">current</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="antlr3defs_8h.html#a5b33dccbba3b7212539695e21df4079b">ANTLR3_BOOLEAN</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html#a85d2a0c76d3e6edc7ff985a15eecde71">del</a> )(struct <a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html">ANTLR3_INT_TRIE_struct</a> *trie, <a class="el" href="antlr3defs_8h.html#aa5533fd558adc28dc2af0039f52324a8">ANTLR3_INTKEY</a> key)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html#a3b80efe15e4309b61038feb16abc9e75">free</a> )(struct <a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html">ANTLR3_INT_TRIE_struct</a> *trie)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_n_t_l_r3___t_r_i_e___e_n_t_r_y__struct.html">pANTLR3_TRIE_ENTRY</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html#a9c352f4919e25cbb65316887519952e0">get</a> )(struct <a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html">ANTLR3_INT_TRIE_struct</a> *trie, <a class="el" href="antlr3defs_8h.html#aa5533fd558adc28dc2af0039f52324a8">ANTLR3_INTKEY</a> key)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e___n_o_d_e__struct.html">pANTLR3_INT_TRIE_NODE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html#ae7c1c1e19fcf28e1d0f8da5f943841b1">root</a></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Structure that defines an ANTLR3_INT_TRIE. </p>
<p>For this particular implementation, as you might expect, the key is turned into a "string" by looking at bit(key, depth) of the integer key. Using 64 bit keys gives us a depth limit of 64 (or bit 0..63) and potentially a huge trie. This is the algorithm for a Patricia Trie. Note also that this trie [can] accept multiple entries for the same key and is therefore a kind of elastic bucket patricia trie.</p>
<p>If you find this code useful, please feel free to 'steal' it for any purpose as covered by the BSD license under which ANTLR is issued. You can cut the code but as the ANTLR library is only about 50K (Windows Vista), you might find it easier to just link the library. Please keep all comments and licenses and so on in any version of this you create of course.</p>
<p>Jim Idle. </p>
</div><hr/><h2>Field Documentation</h2>
<a class="anchor" id="a2006080214d9c067e52d1e534c7a74f3"></a><!-- doxytag: member="ANTLR3_INT_TRIE_struct::add" ref="a2006080214d9c067e52d1e534c7a74f3" args=")(struct ANTLR3_INT_TRIE_struct *trie, ANTLR3_INTKEY key, ANTLR3_UINT32 type, ANTLR3_INTKEY intVal, void *data, void(ANTLR3_CDECL *freeptr)(void *))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="antlr3defs_8h.html#a5b33dccbba3b7212539695e21df4079b">ANTLR3_BOOLEAN</a>(* <a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html#a2006080214d9c067e52d1e534c7a74f3">ANTLR3_INT_TRIE_struct::add</a>)(struct <a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html">ANTLR3_INT_TRIE_struct</a> *trie, <a class="el" href="antlr3defs_8h.html#aa5533fd558adc28dc2af0039f52324a8">ANTLR3_INTKEY</a> key, <a class="el" href="antlr3defs_8h.html#ac41f744abd0fd25144b9eb9d11b1dfd1">ANTLR3_UINT32</a> type, <a class="el" href="antlr3defs_8h.html#aa5533fd558adc28dc2af0039f52324a8">ANTLR3_INTKEY</a> intVal, void *data, void(ANTLR3_CDECL *freeptr)(void *))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="antlr3defs_8h.html#a79d3f61b691461e11be476c8b2a1ebc3">antlr3IntTrieNew()</a>, <a class="el" href="group__p_a_n_t_l_r3___b_a_s_e___r_e_c_o_g_n_i_z_e_r.html#gabc080ec9aaa275e0361dea5a1eb431c0">getRuleMemoization()</a>, and <a class="el" href="group__p_a_n_t_l_r3___b_a_s_e___r_e_c_o_g_n_i_z_e_r.html#ga0b61381c64a3cf6fa719be2f3fe6cc79">memoize()</a>.</p>

</div>
</div>
<a class="anchor" id="a8661863d575caee29c09ee9ef82591b7"></a><!-- doxytag: member="ANTLR3_INT_TRIE_struct::allowDups" ref="a8661863d575caee29c09ee9ef82591b7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="antlr3defs_8h.html#a5b33dccbba3b7212539695e21df4079b">ANTLR3_BOOLEAN</a> <a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html#a8661863d575caee29c09ee9ef82591b7">ANTLR3_INT_TRIE_struct::allowDups</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="antlr3collections_8c.html#a3ebf80a2d49c150bb4cec09b1f1a8de8">intTrieAdd()</a>.</p>

</div>
</div>
<a class="anchor" id="a12f22c02c75c18d6ce9b8c3d51fa11b3"></a><!-- doxytag: member="ANTLR3_INT_TRIE_struct::count" ref="a12f22c02c75c18d6ce9b8c3d51fa11b3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="antlr3defs_8h.html#ac41f744abd0fd25144b9eb9d11b1dfd1">ANTLR3_UINT32</a> <a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html#a12f22c02c75c18d6ce9b8c3d51fa11b3">ANTLR3_INT_TRIE_struct::count</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="antlr3defs_8h.html#a79d3f61b691461e11be476c8b2a1ebc3">antlr3IntTrieNew()</a>, <a class="el" href="antlr3collections_8c.html#a3ebf80a2d49c150bb4cec09b1f1a8de8">intTrieAdd()</a>, and <a class="el" href="antlr3collections_8c.html#ab9ae9a1625b433fdbb1a143db4a6e96b">intTrieGet()</a>.</p>

</div>
</div>
<a class="anchor" id="a469e642f2944318be753d376a2f06df5"></a><!-- doxytag: member="ANTLR3_INT_TRIE_struct::current" ref="a469e642f2944318be753d376a2f06df5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e___n_o_d_e__struct.html">pANTLR3_INT_TRIE_NODE</a> <a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html#a469e642f2944318be753d376a2f06df5">ANTLR3_INT_TRIE_struct::current</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a85d2a0c76d3e6edc7ff985a15eecde71"></a><!-- doxytag: member="ANTLR3_INT_TRIE_struct::del" ref="a85d2a0c76d3e6edc7ff985a15eecde71" args=")(struct ANTLR3_INT_TRIE_struct *trie, ANTLR3_INTKEY key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="antlr3defs_8h.html#a5b33dccbba3b7212539695e21df4079b">ANTLR3_BOOLEAN</a>(* <a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html#a85d2a0c76d3e6edc7ff985a15eecde71">ANTLR3_INT_TRIE_struct::del</a>)(struct <a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html">ANTLR3_INT_TRIE_struct</a> *trie, <a class="el" href="antlr3defs_8h.html#aa5533fd558adc28dc2af0039f52324a8">ANTLR3_INTKEY</a> key)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="antlr3defs_8h.html#a79d3f61b691461e11be476c8b2a1ebc3">antlr3IntTrieNew()</a>.</p>

</div>
</div>
<a class="anchor" id="a3b80efe15e4309b61038feb16abc9e75"></a><!-- doxytag: member="ANTLR3_INT_TRIE_struct::free" ref="a3b80efe15e4309b61038feb16abc9e75" args=")(struct ANTLR3_INT_TRIE_struct *trie)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html#a3b80efe15e4309b61038feb16abc9e75">ANTLR3_INT_TRIE_struct::free</a>)(struct <a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html">ANTLR3_INT_TRIE_struct</a> *trie)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="antlr3defs_8h.html#a79d3f61b691461e11be476c8b2a1ebc3">antlr3IntTrieNew()</a>, <a class="el" href="group__p_a_n_t_l_r3___b_a_s_e___r_e_c_o_g_n_i_z_e_r.html#ga5999985a70a69e3bec790156b88fbd62">freeBR()</a>, and <a class="el" href="group__p_a_n_t_l_r3___b_a_s_e___r_e_c_o_g_n_i_z_e_r.html#ga3bbbf4338658f30c5b039e933232c988">reset()</a>.</p>

</div>
</div>
<a class="anchor" id="a9c352f4919e25cbb65316887519952e0"></a><!-- doxytag: member="ANTLR3_INT_TRIE_struct::get" ref="a9c352f4919e25cbb65316887519952e0" args=")(struct ANTLR3_INT_TRIE_struct *trie, ANTLR3_INTKEY key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_a_n_t_l_r3___t_r_i_e___e_n_t_r_y__struct.html">pANTLR3_TRIE_ENTRY</a>(* <a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html#a9c352f4919e25cbb65316887519952e0">ANTLR3_INT_TRIE_struct::get</a>)(struct <a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html">ANTLR3_INT_TRIE_struct</a> *trie, <a class="el" href="antlr3defs_8h.html#aa5533fd558adc28dc2af0039f52324a8">ANTLR3_INTKEY</a> key)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="antlr3defs_8h.html#a79d3f61b691461e11be476c8b2a1ebc3">antlr3IntTrieNew()</a>, <a class="el" href="group__p_a_n_t_l_r3___b_a_s_e___r_e_c_o_g_n_i_z_e_r.html#gabc080ec9aaa275e0361dea5a1eb431c0">getRuleMemoization()</a>, and <a class="el" href="group__p_a_n_t_l_r3___b_a_s_e___r_e_c_o_g_n_i_z_e_r.html#ga0b61381c64a3cf6fa719be2f3fe6cc79">memoize()</a>.</p>

</div>
</div>
<a class="anchor" id="ae7c1c1e19fcf28e1d0f8da5f943841b1"></a><!-- doxytag: member="ANTLR3_INT_TRIE_struct::root" ref="ae7c1c1e19fcf28e1d0f8da5f943841b1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e___n_o_d_e__struct.html">pANTLR3_INT_TRIE_NODE</a> <a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html#ae7c1c1e19fcf28e1d0f8da5f943841b1">ANTLR3_INT_TRIE_struct::root</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="antlr3defs_8h.html#a79d3f61b691461e11be476c8b2a1ebc3">antlr3IntTrieNew()</a>, <a class="el" href="antlr3collections_8c.html#a3ebf80a2d49c150bb4cec09b1f1a8de8">intTrieAdd()</a>, <a class="el" href="antlr3collections_8c.html#afc8005cf1d48920a919f0eccfb790c08">intTrieDel()</a>, <a class="el" href="antlr3collections_8c.html#add96e44fde4b254561351ced62e40610">intTrieFree()</a>, and <a class="el" href="antlr3collections_8c.html#ab9ae9a1625b433fdbb1a143db4a6e96b">intTrieGet()</a>.</p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>include/<a class="el" href="antlr3collections_8h.html">antlr3collections.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html">ANTLR3_INT_TRIE_struct</a>      </li>
      <li class="footer">Generated on Tue Feb 8 2011 for ANTLR3C by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </li>
    </ul>
  </div>

</body>
</html>