Sophie

Sophie

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

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_REWRITE_RULE_ELEMENT_STREAM_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___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__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_REWRITE_RULE_ELEMENT_STREAM_struct Struct Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct" -->
<p>A generic list of elements tracked in an alternative to be used in a -&gt; rewrite rule.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;antlr3rewritestreams.h&gt;</code></p>
<div class="dynheader">
Collaboration diagram for ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct:</div>
<div class="dyncontent">
<div class="center"><img src="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct__coll__graph.png" border="0" usemap="#_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct_coll__map" alt="Collaboration graph"/></div>
<map name="_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct_coll__map" id="_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct_coll__map">
<area shape="rect" id="node2" href="struct_a_n_t_l_r3___b_a_s_e___r_e_c_o_g_n_i_z_e_r__struct.html" title="Base tracking context structure for all types of recognizers." alt="" coords="4845,520,5157,547"/><area shape="rect" id="node5" href="struct_a_n_t_l_r3___s_t_a_c_k__struct.html" title="Structure that represents a Stack collection." alt="" coords="3100,1029,3311,1056"/><area shape="rect" id="node26" href="struct_a_n_t_l_r3___r_e_c_o_g_n_i_z_e_r___s_h_a_r_e_d___s_t_a_t_e__struct.html" title="All the data elements required to track the current state of any recognizer (lexer, parser, tree parser)." alt="" coords="3632,688,4024,715"/><area shape="rect" id="node7" href="struct_a_n_t_l_r3___v_e_c_t_o_r__struct.html" title="ANTLR3_VECTOR_struct" alt="" coords="441,880,663,907"/><area shape="rect" id="node33" href="struct_a_n_t_l_r3___s_t_r_i_n_g___f_a_c_t_o_r_y__struct.html" title="Definition of the string factory interface, which creates and tracks strings for you of various shape..." alt="" coords="785,505,1087,532"/><area shape="rect" id="node37" href="struct_a_n_t_l_r3___i_n_p_u_t___s_t_r_e_a_m__struct.html" title="Master context structure for an ANTLR3 C runtime based input stream." alt="" coords="2072,349,2355,376"/><area shape="rect" id="node85" href="struct_a_n_t_l_r3___b_a_s_e___t_r_e_e__struct.html" title="A generic tree implementation with no payload." alt="" coords="3080,1119,3331,1145"/><area shape="rect" id="node9" href="struct_a_n_t_l_r3___v_e_c_t_o_r___e_l_e_m_e_n_t__struct.html" title="ANTLR3_VECTOR_ELEMENT_struct" alt="" coords="7,880,308,907"/><area shape="rect" id="node11" href="struct_a_n_t_l_r3___b_i_t_s_e_t__struct.html" title="ANTLR3_BITSET_struct" alt="" coords="2380,944,2601,971"/><area shape="rect" id="node14" href="struct_a_n_t_l_r3___b_i_t_s_e_t___l_i_s_t__struct.html" title="ANTLR3_BITSET_LIST_struct" alt="" coords="1629,859,1901,885"/><area shape="rect" id="node56" href="struct_a_n_t_l_r3___e_x_c_e_p_t_i_o_n__struct.html" title="Base structure for an ANTLR3 exception tracker." alt="" coords="2088,837,2339,864"/><area shape="rect" id="node16" href="struct_a_n_t_l_r3___h_a_s_h___t_a_b_l_e__struct.html" title="Structure that tracks a hash table." alt="" coords="4395,405,4656,432"/><area shape="rect" id="node18" href="struct_a_n_t_l_r3___h_a_s_h___e_n_t_r_y__struct.html" title="Internal structure representing an element in a hash bucket." alt="" coords="3075,381,3336,408"/><area shape="rect" id="node23" href="struct_a_n_t_l_r3___h_a_s_h___b_u_c_k_e_t__struct.html" title="Internal structure of a hash table bucket, which tracks all keys that hash to the same bucket..." alt="" coords="3692,339,3964,365"/><area shape="rect" id="node21" href="struct_a_n_t_l_r3___h_a_s_h___k_e_y__struct.html" title="ANTLR3_HASH_KEY_struct" alt="" coords="2652,376,2895,403"/><area shape="rect" id="node28" href="struct_a_n_t_l_r3___c_o_m_m_o_n___t_o_k_e_n__struct.html" title="The definition of an ANTLR3 common token structure, which all implementations of a token stream shoul..." alt="" coords="2632,441,2915,468"/><area shape="rect" id="node47" href="struct_a_n_t_l_r3___t_o_k_e_n___s_o_u_r_c_e__struct.html" title="Definition of a token source, which has a pointer to a function that returns the next token (using a ..." alt="" coords="3064,629,3347,656"/><area shape="rect" id="node52" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html" title="ANTLR3 Token factory interface to create lots of tokens efficiently rather than creating and freeing ..." alt="" coords="3060,432,3351,459"/><area shape="rect" id="node76" href="struct_a_n_t_l_r3___b_a_s_e___t_r_e_e___a_d_a_p_t_o_r__struct.html" title="ANTLR3_BASE_TREE_ADAPTOR_struct" alt="" coords="3663,149,3993,176"/><area shape="rect" id="node30" href="struct_a_n_t_l_r3___s_t_r_i_n_g__struct.html" title="Base string class tracks the allocations and provides simple string tracking functions." alt="" coords="1228,519,1449,545"/><area shape="rect" id="node40" href="struct_a_n_t_l_r3___i_n_t___s_t_r_e_a_m__struct.html" title="ANTLR3_INT_STREAM_struct" alt="" coords="1635,569,1896,596"/><area shape="rect" id="node73" href="struct_a_n_t_l_r3___d_e_b_u_g___e_v_e_n_t___l_i_s_t_e_n_e_r__struct.html" title="The ANTLR3 debugging interface for communicating with ANLTR Works." alt="" coords="4344,177,4707,204"/><area shape="rect" id="node64" href="struct_a_n_t_l_r3___i_n_t___t_r_i_e__struct.html" title="Structure that defines an ANTLR3_INT_TRIE." alt="" coords="3084,763,3327,789"/><area shape="rect" id="node66" 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="2083,748,2344,775"/><area shape="rect" id="node69" 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="2628,763,2919,789"/></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">void *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a69cee716e8e1deb6aa763737c5181544">_next</a> )(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_n_t_l_r3___b_a_s_e___t_r_e_e___a_d_a_p_t_o_r__struct.html">pANTLR3_BASE_TREE_ADAPTOR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a20b25c06ca3abdbfba72f112142b9833">adaptor</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to the tree adaptor in use for this stream.  <a href="#a20b25c06ca3abdbfba72f112142b9833"></a><br/></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___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a40c0438d249bc834876cdeba57e5c36f">add</a> )(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream, void *el, void(ANTLR3_CDECL *freePtr)(void *))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new pANTLR3_BASE_TREE to this stream.  <a href="#a40c0438d249bc834876cdeba57e5c36f"></a><br/></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___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a26ee5204e3a6fa6ba468478663a46f60">cursor</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Cursor 0..n-1.  <a href="#a26ee5204e3a6fa6ba468478663a46f60"></a><br/></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___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#ace76c26ae005d87209376d9aafae6f35">dirty</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Once a node / subtree has been used in a stream, it must be dup'ed from then on.  <a href="#ace76c26ae005d87209376d9aafae6f35"></a><br/></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___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#ae843a201581e7ef94e8c50630a76eaf5">dup</a> )(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream, void *el)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">When constructing trees, sometimes we need to dup a token or AST subtree.  <a href="#ae843a201581e7ef94e8c50630a76eaf5"></a><br/></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___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a0902e14cb0c4ce49537d9c06176acb8f">elementDescription</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The element or stream description; usually has name of the token or rule reference that this list tracks.  <a href="#a0902e14cb0c4ce49537d9c06176acb8f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r__struct.html">pANTLR3_VECTOR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a5f5e056ea19406a056138bb2db3e1396">elements</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The list of tokens or subtrees we are tracking.  <a href="#a5f5e056ea19406a056138bb2db3e1396"></a><br/></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___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#ae77c76a2570b6ef4f40146b33ad4c04a">free</a> )(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream)</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___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a00de6f1193fabbd344258e02d7bf6b23">freeElements</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates whether we should free the vector or it was supplied to us.  <a href="#a00de6f1193fabbd344258e02d7bf6b23"></a><br/></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___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a6eb5f2121bfbe1d52e0fbb8f760f4485">getDescription</a> )(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the description string if there is one available (check for NULL).  <a href="#a6eb5f2121bfbe1d52e0fbb8f760f4485"></a><br/></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___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#adb77b4789ff891dfcafa00b3cccf8f58">hasNext</a> )(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns ANTLR3_TRUE if there is a next element available.  <a href="#adb77b4789ff891dfcafa00b3cccf8f58"></a><br/></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___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a49a3d89cea69ba728843b12a5cfd51e3">next</a> )(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the next element in the stream.  <a href="#a49a3d89cea69ba728843b12a5cfd51e3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_n_t_l_r3___b_a_s_e___t_r_e_e__struct.html">pANTLR3_BASE_TREE</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#aecd854145796216efc9c57b3960abfa4">nextNode</a> )(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Treat next element as a single node even if it's a subtree.  <a href="#aecd854145796216efc9c57b3960abfa4"></a><br/></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___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#ae68722ecc1e063575e357f87959f23a7">nextToken</a> )(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_n_t_l_r3___b_a_s_e___t_r_e_e__struct.html">pANTLR3_BASE_TREE</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#acb290228de319c4cf0a219a0a413069b">nextTree</a> )(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_n_t_l_r3___b_a_s_e___r_e_c_o_g_n_i_z_e_r__struct.html">pANTLR3_BASE_RECOGNIZER</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a98e2e50ecddd94ce2b452514627e2b77">rec</a></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___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a49e313e9d59d347925773e99afbf3d6e">reset</a> )(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the condition of this stream so that it appears we have not consumed any of its elements.  <a href="#a49e313e9d59d347925773e99afbf3d6e"></a><br/></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___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a3d90443fe82f011d5709c84c9add4508">singleElement</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Track single elements w/o creating a list.  <a href="#a3d90443fe82f011d5709c84c9add4508"></a><br/></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___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#ac1c8e6814f647b356c1e1b77e3e589fd">size</a> )(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of elements available in the stream.  <a href="#ac1c8e6814f647b356c1e1b77e3e589fd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_n_t_l_r3___b_a_s_e___t_r_e_e__struct.html">pANTLR3_BASE_TREE</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#ab4e1cbf7d9e92987d53c9f9b835f0eeb">toTree</a> )(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream, void *el)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Ensure stream emits trees; tokens must be converted to AST nodes.  <a href="#ab4e1cbf7d9e92987d53c9f9b835f0eeb"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>A generic list of elements tracked in an alternative to be used in a -&gt; rewrite rule. </p>
<p>In the C implementation, all tree oriented streams return a pointer to the same type: pANTLR3_BASE_TREE. Anything that has subclassed from this still passes this type, within which there is a super pointer, which points to it's own data and methods. Hence we do not need to implement this as the equivalent of an abstract class, but just fill in the appropriate interface as usual with this model.</p>
<p>Once you start <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a49a3d89cea69ba728843b12a5cfd51e3" title="Return the next element in the stream.">next()</a>ing, do not try to add more elements. It will break the cursor tracking I believe.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="antlr3interfaces_8h.html#ac687acdf803706344cfbd3f579474274" title="Pointer to an instantiation of &#39;class&#39; ANTLR3_REWRITE_RULE_NODE_STREAM.">pANTLR3_REWRITE_RULE_NODE_STREAM</a> </dd>
<dd>
<a class="el" href="group___a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m.html#gae7733833bf686184837d5eb2cdb5a53a" title="Pointer to an instantiation of &#39;class&#39; ANTLR3_REWRITE_RULE_ELEMENT_STREAM.">pANTLR3_REWRITE_RULE_ELEMENT_STREAM</a> </dd>
<dd>
<a class="el" href="antlr3interfaces_8h.html#a5f81a145b3cf4347ec31698e7a14ca49" title="Pointer to an instantiation of &#39;class&#39; #ANTLR3_REWRITE_RULE_SUBSTREE_STREAM.">pANTLR3_REWRITE_RULE_SUBTREE_STREAM</a></dd></dl>
<p>TODO: add mechanism to detect/puke on modification after reading from stream </p>
</div><hr/><h2>Field Documentation</h2>
<a class="anchor" id="a69cee716e8e1deb6aa763737c5181544"></a><!-- doxytag: member="ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::_next" ref="a69cee716e8e1deb6aa763737c5181544" args=")(struct ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void*(* <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a69cee716e8e1deb6aa763737c5181544">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::_next</a>)(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="antlr3rewritestreams_8c.html#ade5a6e49fb9dd7caee4b0189f5cf84e9">antlr3RewriteRuleElementStreamNewAE()</a>, <a class="el" href="antlr3rewritestreams_8c.html#a92c4d9fcaea24e9f6b4f658711bacc07">next()</a>, <a class="el" href="antlr3rewritestreams_8c.html#a8af2b03358a5b6485d1218e0922d909d">nextNode()</a>, <a class="el" href="antlr3rewritestreams_8c.html#af3c113470ff9539b03fbcdbd3b824bc4">nextNodeNode()</a>, <a class="el" href="antlr3rewritestreams_8c.html#ac894b5b507764a71b38003c2ed9d9274">nextNodeToken()</a>, <a class="el" href="antlr3rewritestreams_8c.html#ae9180a210132fbbe5785e14c1e630f8e">nextToken()</a>, and <a class="el" href="antlr3rewritestreams_8c.html#a953b1f2a52a6761d20bb4d571999e020">nextTree()</a>.</p>

</div>
</div>
<a class="anchor" id="a20b25c06ca3abdbfba72f112142b9833"></a><!-- doxytag: member="ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::adaptor" ref="a20b25c06ca3abdbfba72f112142b9833" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_a_n_t_l_r3___b_a_s_e___t_r_e_e___a_d_a_p_t_o_r__struct.html">pANTLR3_BASE_TREE_ADAPTOR</a> <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a20b25c06ca3abdbfba72f112142b9833">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::adaptor</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pointer to the tree adaptor in use for this stream. </p>

<p>Referenced by <a class="el" href="antlr3rewritestreams_8c.html#ac615f422720c8da7b94fb5943e2ba683">add()</a>, <a class="el" href="antlr3rewritestreams_8c.html#ade5a6e49fb9dd7caee4b0189f5cf84e9">antlr3RewriteRuleElementStreamNewAE()</a>, <a class="el" href="antlr3rewritestreams_8c.html#ab4f96b9629a7b2daab5b3c91d998409b">dupTree()</a>, <a class="el" href="antlr3rewritestreams_8c.html#a19609045c50fcc7646b2ad317ac63bf4">freeNodeRS()</a>, <a class="el" href="antlr3rewritestreams_8c.html#ac62695e133933981a66879766d7f6b13">freeRS()</a>, <a class="el" href="antlr3rewritestreams_8c.html#a8af2b03358a5b6485d1218e0922d909d">nextNode()</a>, <a class="el" href="antlr3rewritestreams_8c.html#ac894b5b507764a71b38003c2ed9d9274">nextNodeToken()</a>, and <a class="el" href="antlr3rewritestreams_8c.html#a18ac0c352f110416b743232dffea5445">toTreeNode()</a>.</p>

</div>
</div>
<a class="anchor" id="a40c0438d249bc834876cdeba57e5c36f"></a><!-- doxytag: member="ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::add" ref="a40c0438d249bc834876cdeba57e5c36f" args=")(struct ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *stream, void *el, void(ANTLR3_CDECL *freePtr)(void *))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a40c0438d249bc834876cdeba57e5c36f">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::add</a>)(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream, void *el, void(ANTLR3_CDECL *freePtr)(void *))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a new pANTLR3_BASE_TREE to this stream. </p>

<p>Referenced by <a class="el" href="antlr3rewritestreams_8c.html#ade5a6e49fb9dd7caee4b0189f5cf84e9">antlr3RewriteRuleElementStreamNewAE()</a>, and <a class="el" href="antlr3rewritestreams_8c.html#af4ad1e2f5ad8e4773ca277d81daca13b">antlr3RewriteRuleElementStreamNewAEE()</a>.</p>

</div>
</div>
<a class="anchor" id="a26ee5204e3a6fa6ba468478663a46f60"></a><!-- doxytag: member="ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::cursor" ref="a26ee5204e3a6fa6ba468478663a46f60" 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___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a26ee5204e3a6fa6ba468478663a46f60">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::cursor</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Cursor 0..n-1. </p>
<p>If singleElement!=NULL, cursor is 0 until you <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a49a3d89cea69ba728843b12a5cfd51e3" title="Return the next element in the stream.">next()</a>, which bumps it to 1 meaning no more elements. </p>

<p>Referenced by <a class="el" href="antlr3rewritestreams_8c.html#a38bb0f23ac628ec8dab06e6c3b09a7d7">_next()</a>, <a class="el" href="antlr3rewritestreams_8c.html#ade5a6e49fb9dd7caee4b0189f5cf84e9">antlr3RewriteRuleElementStreamNewAE()</a>, <a class="el" href="antlr3rewritestreams_8c.html#a527085061676d9ba4eae6ca1a079c2f7">hasNext()</a>, <a class="el" href="antlr3rewritestreams_8c.html#a92c4d9fcaea24e9f6b4f658711bacc07">next()</a>, <a class="el" href="antlr3rewritestreams_8c.html#a8af2b03358a5b6485d1218e0922d909d">nextNode()</a>, <a class="el" href="antlr3rewritestreams_8c.html#a953b1f2a52a6761d20bb4d571999e020">nextTree()</a>, and <a class="el" href="antlr3rewritestreams_8c.html#a94ecbd87618f24d9a3216381594ddd2d">reset()</a>.</p>

</div>
</div>
<a class="anchor" id="ace76c26ae005d87209376d9aafae6f35"></a><!-- doxytag: member="ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::dirty" ref="ace76c26ae005d87209376d9aafae6f35" 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___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#ace76c26ae005d87209376d9aafae6f35">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::dirty</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Once a node / subtree has been used in a stream, it must be dup'ed from then on. </p>
<p>Streams are reset after sub rules so that the streams can be reused in future sub rules. So, reset must set a dirty bit. If dirty, then <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a49a3d89cea69ba728843b12a5cfd51e3" title="Return the next element in the stream.">next()</a> always returns a dup. </p>

<p>Referenced by <a class="el" href="antlr3rewritestreams_8c.html#ade5a6e49fb9dd7caee4b0189f5cf84e9">antlr3RewriteRuleElementStreamNewAE()</a>, <a class="el" href="antlr3rewritestreams_8c.html#a8af2b03358a5b6485d1218e0922d909d">nextNode()</a>, <a class="el" href="antlr3rewritestreams_8c.html#a953b1f2a52a6761d20bb4d571999e020">nextTree()</a>, and <a class="el" href="antlr3rewritestreams_8c.html#a94ecbd87618f24d9a3216381594ddd2d">reset()</a>.</p>

</div>
</div>
<a class="anchor" id="ae843a201581e7ef94e8c50630a76eaf5"></a><!-- doxytag: member="ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::dup" ref="ae843a201581e7ef94e8c50630a76eaf5" args=")(struct ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *stream, void *el)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void*(* <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#ae843a201581e7ef94e8c50630a76eaf5">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::dup</a>)(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream, void *el)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>When constructing trees, sometimes we need to dup a token or AST subtree. </p>
<p>Dup'ing a token means just creating another AST node around it. For trees, you must call the adaptor.dupTree(). </p>

<p>Referenced by <a class="el" href="antlr3defs_8h.html#a7596a932e273034a4957673bf100a5b3">antlr3RewriteRuleNODEStreamNewAE()</a>, <a class="el" href="antlr3defs_8h.html#ab7f94b47defeeed250f4e8564d9cfddb">antlr3RewriteRuleNODEStreamNewAEE()</a>, <a class="el" href="antlr3defs_8h.html#a763c2d39ab30272e348dc24c352fdb3f">antlr3RewriteRuleNODEStreamNewAEV()</a>, <a class="el" href="antlr3defs_8h.html#a16be71f3f2ecf449b84619b12ef60b99">antlr3RewriteRuleSubtreeStreamNewAE()</a>, <a class="el" href="antlr3defs_8h.html#a0acf53ce0fcc00588c1e04bab927adb9">antlr3RewriteRuleSubtreeStreamNewAEE()</a>, <a class="el" href="antlr3defs_8h.html#a40732f8c10bf9852b0672154bc0610d4">antlr3RewriteRuleSubtreeStreamNewAEV()</a>, <a class="el" href="antlr3defs_8h.html#ae0ff8ede4d865df041890678c1c813ca">antlr3RewriteRuleTOKENStreamNewAE()</a>, <a class="el" href="antlr3defs_8h.html#a4a849eaa7e03d14ea7ddbb0c23c6e94c">antlr3RewriteRuleTOKENStreamNewAEE()</a>, <a class="el" href="antlr3defs_8h.html#af894906ad095a0c7837c2fa2a4e795a0">antlr3RewriteRuleTOKENStreamNewAEV()</a>, <a class="el" href="antlr3rewritestreams_8c.html#a92c4d9fcaea24e9f6b4f658711bacc07">next()</a>, and <a class="el" href="antlr3rewritestreams_8c.html#a953b1f2a52a6761d20bb4d571999e020">nextTree()</a>.</p>

</div>
</div>
<a class="anchor" id="a0902e14cb0c4ce49537d9c06176acb8f"></a><!-- doxytag: member="ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::elementDescription" ref="a0902e14cb0c4ce49537d9c06176acb8f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a0902e14cb0c4ce49537d9c06176acb8f">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::elementDescription</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The element or stream description; usually has name of the token or rule reference that this list tracks. </p>
<p>Can include rulename too, but the exception would track that info. </p>

<p>Referenced by <a class="el" href="antlr3rewritestreams_8c.html#ade5a6e49fb9dd7caee4b0189f5cf84e9">antlr3RewriteRuleElementStreamNewAE()</a>, and <a class="el" href="antlr3rewritestreams_8c.html#a28bae236ccf847a63f744b3fa1caa852">getDescription()</a>.</p>

</div>
</div>
<a class="anchor" id="a5f5e056ea19406a056138bb2db3e1396"></a><!-- doxytag: member="ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::elements" ref="a5f5e056ea19406a056138bb2db3e1396" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r__struct.html">pANTLR3_VECTOR</a> <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a5f5e056ea19406a056138bb2db3e1396">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::elements</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The list of tokens or subtrees we are tracking. </p>

<p>Referenced by <a class="el" href="antlr3rewritestreams_8c.html#a38bb0f23ac628ec8dab06e6c3b09a7d7">_next()</a>, <a class="el" href="antlr3rewritestreams_8c.html#ac615f422720c8da7b94fb5943e2ba683">add()</a>, <a class="el" href="antlr3rewritestreams_8c.html#ade5a6e49fb9dd7caee4b0189f5cf84e9">antlr3RewriteRuleElementStreamNewAE()</a>, <a class="el" href="antlr3rewritestreams_8c.html#a567f5e9c72a576b4000837f6df6c20c4">antlr3RewriteRuleElementStreamNewAEV()</a>, <a class="el" href="antlr3rewritestreams_8c.html#ab6dc8f330e64e2472ac0a66ffc50214a">expungeRS()</a>, <a class="el" href="antlr3rewritestreams_8c.html#a19609045c50fcc7646b2ad317ac63bf4">freeNodeRS()</a>, <a class="el" href="antlr3rewritestreams_8c.html#ac62695e133933981a66879766d7f6b13">freeRS()</a>, <a class="el" href="antlr3rewritestreams_8c.html#a527085061676d9ba4eae6ca1a079c2f7">hasNext()</a>, and <a class="el" href="antlr3rewritestreams_8c.html#a75175d925a7a87929f39f671f2701217">size()</a>.</p>

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

<p>Referenced by <a class="el" href="antlr3rewritestreams_8c.html#ade5a6e49fb9dd7caee4b0189f5cf84e9">antlr3RewriteRuleElementStreamNewAE()</a>, <a class="el" href="antlr3defs_8h.html#a7596a932e273034a4957673bf100a5b3">antlr3RewriteRuleNODEStreamNewAE()</a>, <a class="el" href="antlr3defs_8h.html#ab7f94b47defeeed250f4e8564d9cfddb">antlr3RewriteRuleNODEStreamNewAEE()</a>, <a class="el" href="antlr3defs_8h.html#a763c2d39ab30272e348dc24c352fdb3f">antlr3RewriteRuleNODEStreamNewAEV()</a>, <a class="el" href="antlr3defs_8h.html#a16be71f3f2ecf449b84619b12ef60b99">antlr3RewriteRuleSubtreeStreamNewAE()</a>, <a class="el" href="antlr3defs_8h.html#a0acf53ce0fcc00588c1e04bab927adb9">antlr3RewriteRuleSubtreeStreamNewAEE()</a>, and <a class="el" href="antlr3defs_8h.html#a40732f8c10bf9852b0672154bc0610d4">antlr3RewriteRuleSubtreeStreamNewAEV()</a>.</p>

</div>
</div>
<a class="anchor" id="a00de6f1193fabbd344258e02d7bf6b23"></a><!-- doxytag: member="ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::freeElements" ref="a00de6f1193fabbd344258e02d7bf6b23" 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___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a00de6f1193fabbd344258e02d7bf6b23">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::freeElements</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Indicates whether we should free the vector or it was supplied to us. </p>

<p>Referenced by <a class="el" href="antlr3rewritestreams_8c.html#ac615f422720c8da7b94fb5943e2ba683">add()</a>, <a class="el" href="antlr3rewritestreams_8c.html#ade5a6e49fb9dd7caee4b0189f5cf84e9">antlr3RewriteRuleElementStreamNewAE()</a>, <a class="el" href="antlr3rewritestreams_8c.html#a567f5e9c72a576b4000837f6df6c20c4">antlr3RewriteRuleElementStreamNewAEV()</a>, <a class="el" href="antlr3rewritestreams_8c.html#ab6dc8f330e64e2472ac0a66ffc50214a">expungeRS()</a>, <a class="el" href="antlr3rewritestreams_8c.html#a19609045c50fcc7646b2ad317ac63bf4">freeNodeRS()</a>, and <a class="el" href="antlr3rewritestreams_8c.html#ac62695e133933981a66879766d7f6b13">freeRS()</a>.</p>

</div>
</div>
<a class="anchor" id="a6eb5f2121bfbe1d52e0fbb8f760f4485"></a><!-- doxytag: member="ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::getDescription" ref="a6eb5f2121bfbe1d52e0fbb8f760f4485" args=")(struct ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void*(* <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a6eb5f2121bfbe1d52e0fbb8f760f4485">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::getDescription</a>)(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the description string if there is one available (check for NULL). </p>

<p>Referenced by <a class="el" href="antlr3rewritestreams_8c.html#ade5a6e49fb9dd7caee4b0189f5cf84e9">antlr3RewriteRuleElementStreamNewAE()</a>.</p>

</div>
</div>
<a class="anchor" id="adb77b4789ff891dfcafa00b3cccf8f58"></a><!-- doxytag: member="ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::hasNext" ref="adb77b4789ff891dfcafa00b3cccf8f58" args=")(struct ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *stream)" -->
<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___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#adb77b4789ff891dfcafa00b3cccf8f58">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::hasNext</a>)(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns ANTLR3_TRUE if there is a next element available. </p>

<p>Referenced by <a class="el" href="antlr3rewritestreams_8c.html#ade5a6e49fb9dd7caee4b0189f5cf84e9">antlr3RewriteRuleElementStreamNewAE()</a>.</p>

</div>
</div>
<a class="anchor" id="a49a3d89cea69ba728843b12a5cfd51e3"></a><!-- doxytag: member="ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::next" ref="a49a3d89cea69ba728843b12a5cfd51e3" args=")(struct ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void*(* <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a49a3d89cea69ba728843b12a5cfd51e3">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::next</a>)(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the next element in the stream. </p>
<p>If out of elements, throw an exception unless <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#ac1c8e6814f647b356c1e1b77e3e589fd" title="Number of elements available in the stream.">size()</a>==1. If size is 1, then return elements[0]. </p>

<p>Referenced by <a class="el" href="antlr3rewritestreams_8c.html#ade5a6e49fb9dd7caee4b0189f5cf84e9">antlr3RewriteRuleElementStreamNewAE()</a>.</p>

</div>
</div>
<a class="anchor" id="aecd854145796216efc9c57b3960abfa4"></a><!-- doxytag: member="ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::nextNode" ref="aecd854145796216efc9c57b3960abfa4" args=")(struct ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_a_n_t_l_r3___b_a_s_e___t_r_e_e__struct.html">pANTLR3_BASE_TREE</a>(* <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#aecd854145796216efc9c57b3960abfa4">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::nextNode</a>)(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Treat next element as a single node even if it's a subtree. </p>
<p>This is used instead of <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a49a3d89cea69ba728843b12a5cfd51e3" title="Return the next element in the stream.">next()</a> when the result has to be a tree root node. Also prevents us from duplicating recently-added children; e.g., ^(type ID)+ adds ID to type and then 2nd iteration must dup the type node, but ID has been added.</p>
<p>Referencing to a rule result twice is ok; dup entire tree as we can't be adding trees; e.g., expr expr. </p>

<p>Referenced by <a class="el" href="antlr3rewritestreams_8c.html#ade5a6e49fb9dd7caee4b0189f5cf84e9">antlr3RewriteRuleElementStreamNewAE()</a>, <a class="el" href="antlr3defs_8h.html#a7596a932e273034a4957673bf100a5b3">antlr3RewriteRuleNODEStreamNewAE()</a>, <a class="el" href="antlr3defs_8h.html#ab7f94b47defeeed250f4e8564d9cfddb">antlr3RewriteRuleNODEStreamNewAEE()</a>, <a class="el" href="antlr3defs_8h.html#a763c2d39ab30272e348dc24c352fdb3f">antlr3RewriteRuleNODEStreamNewAEV()</a>, <a class="el" href="antlr3defs_8h.html#a16be71f3f2ecf449b84619b12ef60b99">antlr3RewriteRuleSubtreeStreamNewAE()</a>, <a class="el" href="antlr3defs_8h.html#a0acf53ce0fcc00588c1e04bab927adb9">antlr3RewriteRuleSubtreeStreamNewAEE()</a>, <a class="el" href="antlr3defs_8h.html#a40732f8c10bf9852b0672154bc0610d4">antlr3RewriteRuleSubtreeStreamNewAEV()</a>, <a class="el" href="antlr3defs_8h.html#ae0ff8ede4d865df041890678c1c813ca">antlr3RewriteRuleTOKENStreamNewAE()</a>, <a class="el" href="antlr3defs_8h.html#a4a849eaa7e03d14ea7ddbb0c23c6e94c">antlr3RewriteRuleTOKENStreamNewAEE()</a>, and <a class="el" href="antlr3defs_8h.html#af894906ad095a0c7837c2fa2a4e795a0">antlr3RewriteRuleTOKENStreamNewAEV()</a>.</p>

</div>
</div>
<a class="anchor" id="ae68722ecc1e063575e357f87959f23a7"></a><!-- doxytag: member="ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::nextToken" ref="ae68722ecc1e063575e357f87959f23a7" args=")(struct ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void*(* <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#ae68722ecc1e063575e357f87959f23a7">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::nextToken</a>)(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="antlr3rewritestreams_8c.html#ade5a6e49fb9dd7caee4b0189f5cf84e9">antlr3RewriteRuleElementStreamNewAE()</a>.</p>

</div>
</div>
<a class="anchor" id="acb290228de319c4cf0a219a0a413069b"></a><!-- doxytag: member="ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::nextTree" ref="acb290228de319c4cf0a219a0a413069b" args=")(struct ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_a_n_t_l_r3___b_a_s_e___t_r_e_e__struct.html">pANTLR3_BASE_TREE</a>(* <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#acb290228de319c4cf0a219a0a413069b">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::nextTree</a>)(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="antlr3rewritestreams_8c.html#ade5a6e49fb9dd7caee4b0189f5cf84e9">antlr3RewriteRuleElementStreamNewAE()</a>.</p>

</div>
</div>
<a class="anchor" id="a98e2e50ecddd94ce2b452514627e2b77"></a><!-- doxytag: member="ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::rec" ref="a98e2e50ecddd94ce2b452514627e2b77" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_a_n_t_l_r3___b_a_s_e___r_e_c_o_g_n_i_z_e_r__struct.html">pANTLR3_BASE_RECOGNIZER</a> <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a98e2e50ecddd94ce2b452514627e2b77">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::rec</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="antlr3rewritestreams_8c.html#ade5a6e49fb9dd7caee4b0189f5cf84e9">antlr3RewriteRuleElementStreamNewAE()</a>, <a class="el" href="antlr3rewritestreams_8c.html#a19609045c50fcc7646b2ad317ac63bf4">freeNodeRS()</a>, and <a class="el" href="antlr3rewritestreams_8c.html#ac62695e133933981a66879766d7f6b13">freeRS()</a>.</p>

</div>
</div>
<a class="anchor" id="a49e313e9d59d347925773e99afbf3d6e"></a><!-- doxytag: member="ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::reset" ref="a49e313e9d59d347925773e99afbf3d6e" args=")(struct ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a49e313e9d59d347925773e99afbf3d6e">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::reset</a>)(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reset the condition of this stream so that it appears we have not consumed any of its elements. </p>
<p>Elements themselves are untouched. </p>

<p>Referenced by <a class="el" href="antlr3rewritestreams_8c.html#ade5a6e49fb9dd7caee4b0189f5cf84e9">antlr3RewriteRuleElementStreamNewAE()</a>.</p>

</div>
</div>
<a class="anchor" id="a3d90443fe82f011d5709c84c9add4508"></a><!-- doxytag: member="ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::singleElement" ref="a3d90443fe82f011d5709c84c9add4508" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#a3d90443fe82f011d5709c84c9add4508">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::singleElement</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Track single elements w/o creating a list. </p>
<p>Upon 2nd add, alloc list </p>

<p>Referenced by <a class="el" href="antlr3rewritestreams_8c.html#a38bb0f23ac628ec8dab06e6c3b09a7d7">_next()</a>, <a class="el" href="antlr3rewritestreams_8c.html#ac615f422720c8da7b94fb5943e2ba683">add()</a>, <a class="el" href="antlr3rewritestreams_8c.html#ade5a6e49fb9dd7caee4b0189f5cf84e9">antlr3RewriteRuleElementStreamNewAE()</a>, <a class="el" href="antlr3rewritestreams_8c.html#a19609045c50fcc7646b2ad317ac63bf4">freeNodeRS()</a>, <a class="el" href="antlr3rewritestreams_8c.html#a527085061676d9ba4eae6ca1a079c2f7">hasNext()</a>, and <a class="el" href="antlr3rewritestreams_8c.html#a75175d925a7a87929f39f671f2701217">size()</a>.</p>

</div>
</div>
<a class="anchor" id="ac1c8e6814f647b356c1e1b77e3e589fd"></a><!-- doxytag: member="ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::size" ref="ac1c8e6814f647b356c1e1b77e3e589fd" args=")(struct ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *stream)" -->
<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___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#ac1c8e6814f647b356c1e1b77e3e589fd">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::size</a>)(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Number of elements available in the stream. </p>

<p>Referenced by <a class="el" href="antlr3rewritestreams_8c.html#a38bb0f23ac628ec8dab06e6c3b09a7d7">_next()</a>, <a class="el" href="antlr3rewritestreams_8c.html#ade5a6e49fb9dd7caee4b0189f5cf84e9">antlr3RewriteRuleElementStreamNewAE()</a>, <a class="el" href="antlr3rewritestreams_8c.html#a92c4d9fcaea24e9f6b4f658711bacc07">next()</a>, <a class="el" href="antlr3rewritestreams_8c.html#a8af2b03358a5b6485d1218e0922d909d">nextNode()</a>, and <a class="el" href="antlr3rewritestreams_8c.html#a953b1f2a52a6761d20bb4d571999e020">nextTree()</a>.</p>

</div>
</div>
<a class="anchor" id="ab4e1cbf7d9e92987d53c9f9b835f0eeb"></a><!-- doxytag: member="ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::toTree" ref="ab4e1cbf7d9e92987d53c9f9b835f0eeb" args=")(struct ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *stream, void *el)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_a_n_t_l_r3___b_a_s_e___t_r_e_e__struct.html">pANTLR3_BASE_TREE</a>(* <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html#ab4e1cbf7d9e92987d53c9f9b835f0eeb">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct::toTree</a>)(struct <a class="el" href="struct_a_n_t_l_r3___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct</a> *stream, void *el)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Ensure stream emits trees; tokens must be converted to AST nodes. </p>
<p>AST nodes can be passed through unmolested. </p>

<p>Referenced by <a class="el" href="antlr3rewritestreams_8c.html#a38bb0f23ac628ec8dab06e6c3b09a7d7">_next()</a>, <a class="el" href="antlr3rewritestreams_8c.html#ade5a6e49fb9dd7caee4b0189f5cf84e9">antlr3RewriteRuleElementStreamNewAE()</a>, <a class="el" href="antlr3defs_8h.html#a7596a932e273034a4957673bf100a5b3">antlr3RewriteRuleNODEStreamNewAE()</a>, <a class="el" href="antlr3defs_8h.html#ab7f94b47defeeed250f4e8564d9cfddb">antlr3RewriteRuleNODEStreamNewAEE()</a>, and <a class="el" href="antlr3defs_8h.html#a763c2d39ab30272e348dc24c352fdb3f">antlr3RewriteRuleNODEStreamNewAEV()</a>.</p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>include/<a class="el" href="antlr3rewritestreams_8h.html">antlr3rewritestreams.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___r_e_w_r_i_t_e___r_u_l_e___e_l_e_m_e_n_t___s_t_r_e_a_m__struct.html">ANTLR3_REWRITE_RULE_ELEMENT_STREAM_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>