Sophie

Sophie

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

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_LEXER_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___l_e_x_e_r__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_LEXER_struct Struct Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="ANTLR3_LEXER_struct" -->
<p><code>#include &lt;antlr3lexer.h&gt;</code></p>
<div class="dynheader">
Collaboration diagram for ANTLR3_LEXER_struct:</div>
<div class="dyncontent">
<div class="center"><img src="struct_a_n_t_l_r3___l_e_x_e_r__struct__coll__graph.png" border="0" usemap="#_a_n_t_l_r3___l_e_x_e_r__struct_coll__map" alt="Collaboration graph"/></div>
<map name="_a_n_t_l_r3___l_e_x_e_r__struct_coll__map" id="_a_n_t_l_r3___l_e_x_e_r__struct_coll__map">
<area shape="rect" id="node2" 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,409,2915,436"/><area shape="rect" id="node45" 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,785,4024,812"/><area shape="rect" id="node49" 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,667,3347,693"/><area shape="rect" id="node54" 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,373,3351,400"/><area shape="rect" id="node78" 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,396,3993,423"/><area shape="rect" id="node4" 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,497,1449,524"/><area shape="rect" id="node7" 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,364,1087,391"/><area shape="rect" id="node14" 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,311,2355,337"/><area shape="rect" id="node17" 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,573,1896,600"/><area shape="rect" id="node58" 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,687,2339,713"/><area shape="rect" id="node75" 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,484,4707,511"/><area shape="rect" id="node10" href="struct_a_n_t_l_r3___v_e_c_t_o_r__struct.html" title="ANTLR3_VECTOR_struct" alt="" coords="441,832,663,859"/><area shape="rect" id="node27" href="struct_a_n_t_l_r3___s_t_a_c_k__struct.html" title="Structure that represents a Stack collection." alt="" coords="3100,1164,3311,1191"/><area shape="rect" id="node12" 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,832,308,859"/><area shape="rect" id="node24" 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,900,5157,927"/><area shape="rect" id="node30" href="struct_a_n_t_l_r3___b_i_t_s_e_t__struct.html" title="ANTLR3_BITSET_struct" alt="" coords="2380,1096,2601,1123"/><area shape="rect" id="node33" 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,875,1901,901"/><area shape="rect" id="node35" 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,992,4656,1019"/><area shape="rect" id="node37" 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,1048,3336,1075"/><area shape="rect" id="node42" 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,1053,3964,1080"/><area shape="rect" id="node40" href="struct_a_n_t_l_r3___h_a_s_h___k_e_y__struct.html" title="ANTLR3_HASH_KEY_struct" alt="" coords="2652,1053,2895,1080"/><area shape="rect" id="node66" 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,889,3327,916"/><area shape="rect" id="node68" 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,897,2344,924"/><area shape="rect" id="node71" 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,889,2919,916"/></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___l_e_x_e_r__struct.html#aa8c9ab64d60b659c71263c2f2a39779a">ctx</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A generated lexer has an <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html#af9c91981f78a7d27002934024b024fc0" title="Pointer to the user provided (either manually or through code generation function that causes the lex...">mTokens()</a> function, which needs the context pointer of the generated lexer, not the base lexer interface this is stored here and initialized by the generated code (or manually if this is a manually built lexer.  <a href="#aa8c9ab64d60b659c71263c2f2a39779a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_n_t_l_r3___c_o_m_m_o_n___t_o_k_e_n__struct.html">pANTLR3_COMMON_TOKEN</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html#a5200cf32fbc130ee638ceee2be66bd4d">emit</a> )(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to a function that constructs a new token from the lexer stored information.  <a href="#a5200cf32fbc130ee638ceee2be66bd4d"></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___l_e_x_e_r__struct.html#a59104ea186b3ad9ce763dc1feee71bd4">emitNew</a> )(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer, <a class="el" href="struct_a_n_t_l_r3___c_o_m_m_o_n___t_o_k_e_n__struct.html">pANTLR3_COMMON_TOKEN</a> token)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to a function that emits the supplied token as the next token in the stream.  <a href="#a59104ea186b3ad9ce763dc1feee71bd4"></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___l_e_x_e_r__struct.html#a793226480ca08fbcac7b61578fb2430c">free</a> )(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to a function that knows how to free the resources of a lexer.  <a href="#a793226480ca08fbcac7b61578fb2430c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="antlr3defs_8h.html#a0361e6bf442e07afe923e4d05e9ebc4f">ANTLR3_MARKER</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html#a3c09f36c7367d7755563155adcabdcc1">getCharIndex</a> )(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer)</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___l_e_x_e_r__struct.html#a2b5e18cf9d9b55bfcc02d345c5e8f848">getCharPositionInLine</a> )(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer)</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___l_e_x_e_r__struct.html#a151c4767a28ceccf7fb5bd81e30eaeec">getLine</a> )(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to function to return the current line number in the input stream.  <a href="#a151c4767a28ceccf7fb5bd81e30eaeec"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_n_t_l_r3___s_t_r_i_n_g__struct.html">pANTLR3_STRING</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html#aa916fc721b7c14ee4bb57b1c7fb88e60">getText</a> )(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to function to return the text so far for the current token being generated.  <a href="#aa916fc721b7c14ee4bb57b1c7fb88e60"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_n_t_l_r3___i_n_p_u_t___s_t_r_e_a_m__struct.html">pANTLR3_INPUT_STREAM</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html#a63668c0391badeb589243179e93f1a0a">input</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A pointer to the character stream whence this lexer is receiving characters.  <a href="#a63668c0391badeb589243179e93f1a0a"></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___l_e_x_e_r__struct.html#ade2cead2bc3a6d5693b38e77542f8149">matchAny</a> )(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to a function that matches the next token/char in the input stream regardless of what it actaully is.  <a href="#ade2cead2bc3a6d5693b38e77542f8149"></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___l_e_x_e_r__struct.html#ae3c5c1856e94f840c9c1872f8617b282">matchc</a> )(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer, <a class="el" href="antlr3defs_8h.html#a078eec1343cdbb862af80f352ea701da">ANTLR3_UCHAR</a> c)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to a function that matches and consumes the specified character from the input stream.  <a href="#ae3c5c1856e94f840c9c1872f8617b282"></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___l_e_x_e_r__struct.html#a90cf24b209be2197848b23db2f3fdc06">matchRange</a> )(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer, <a class="el" href="antlr3defs_8h.html#a078eec1343cdbb862af80f352ea701da">ANTLR3_UCHAR</a> low, <a class="el" href="antlr3defs_8h.html#a078eec1343cdbb862af80f352ea701da">ANTLR3_UCHAR</a> high)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to a function that matches any character in the supplied range (I suppose it could be a token range too but this would only be useful if the tokens were in tsome guaranteed order which is only going to happen with a hand crafted token set).  <a href="#a90cf24b209be2197848b23db2f3fdc06"></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___l_e_x_e_r__struct.html#a868ae254b20657e4e8a837bfcf1a4c71">matchs</a> )(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer, <a class="el" href="antlr3defs_8h.html#a078eec1343cdbb862af80f352ea701da">ANTLR3_UCHAR</a> *string)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to a function that attempts to match and consume the specified string from the input stream.  <a href="#a868ae254b20657e4e8a837bfcf1a4c71"></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___l_e_x_e_r__struct.html#af9c91981f78a7d27002934024b024fc0">mTokens</a> )(void *<a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html#aa8c9ab64d60b659c71263c2f2a39779a">ctx</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to the user provided (either manually or through code generation function that causes the lexer rules to run the lexing rules and produce the next token if there iss one.  <a href="#af9c91981f78a7d27002934024b024fc0"></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___l_e_x_e_r__struct.html#af3f03678a1511675104bc37ada7dcade">popCharStream</a> )(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to a function that abandons the current input stream, whether it is empty or not and reverts to the previous stacked input stream.  <a href="#af3f03678a1511675104bc37ada7dcade"></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___l_e_x_e_r__struct.html#afa7cff0e582050f15c7c27e17a2e844c">pushCharStream</a> )(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer, <a class="el" href="struct_a_n_t_l_r3___i_n_p_u_t___s_t_r_e_a_m__struct.html">pANTLR3_INPUT_STREAM</a> <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html#a63668c0391badeb589243179e93f1a0a">input</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to a function that switches the current character input stream to a new one, saving the old one, which we will revert to at the end of this new one.  <a href="#afa7cff0e582050f15c7c27e17a2e844c"></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___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___l_e_x_e_r__struct.html#afcb0d60a4a2c829c30cc1e8e3454390f">rec</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to the implementation of a base recognizer, which the lexer creates and then overrides with its own lexer oriented functions (the default implementation is parser oriented).  <a href="#afcb0d60a4a2c829c30cc1e8e3454390f"></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___l_e_x_e_r__struct.html#a77fd0b4598ebb28edab46d9aab6e7143">recover</a> )(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to a function that recovers from an error found in the input stream.  <a href="#a77fd0b4598ebb28edab46d9aab6e7143"></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___l_e_x_e_r__struct.html#a5c28d84198fa94f172e35887f52c248f">setCharStream</a> )(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer, <a class="el" href="struct_a_n_t_l_r3___i_n_p_u_t___s_t_r_e_a_m__struct.html">pANTLR3_INPUT_STREAM</a> <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html#a63668c0391badeb589243179e93f1a0a">input</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to a function that sets the charstream source for the lexer and causes it to be reset.  <a href="#a5c28d84198fa94f172e35887f52c248f"></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___l_e_x_e_r__struct.html#ae500bd5337a874e4c753b614fafc1eec">super</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">If there is a super structure that is implementing the lexer, then a pointer to it can be stored here in case implementing functions are overridden by this super structure.  <a href="#ae500bd5337a874e4c753b614fafc1eec"></a><br/></td></tr>
</table>
<hr/><h2>Field Documentation</h2>
<a class="anchor" id="aa8c9ab64d60b659c71263c2f2a39779a"></a><!-- doxytag: member="ANTLR3_LEXER_struct::ctx" ref="aa8c9ab64d60b659c71263c2f2a39779a" 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___l_e_x_e_r__struct.html#aa8c9ab64d60b659c71263c2f2a39779a">ANTLR3_LEXER_struct::ctx</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A generated lexer has an <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html#af9c91981f78a7d27002934024b024fc0" title="Pointer to the user provided (either manually or through code generation function that causes the lex...">mTokens()</a> function, which needs the context pointer of the generated lexer, not the base lexer interface this is stored here and initialized by the generated code (or manually if this is a manually built lexer. </p>

<p>Referenced by <a class="el" href="antlr3lexer_8c.html#ad0765a37fb94635afbfaad254c12c496">nextTokenStr()</a>.</p>

</div>
</div>
<a class="anchor" id="a5200cf32fbc130ee638ceee2be66bd4d"></a><!-- doxytag: member="ANTLR3_LEXER_struct::emit" ref="a5200cf32fbc130ee638ceee2be66bd4d" args=")(struct ANTLR3_LEXER_struct *lexer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_a_n_t_l_r3___c_o_m_m_o_n___t_o_k_e_n__struct.html">pANTLR3_COMMON_TOKEN</a>(* <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html#a5200cf32fbc130ee638ceee2be66bd4d">ANTLR3_LEXER_struct::emit</a>)(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pointer to a function that constructs a new token from the lexer stored information. </p>

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

</div>
</div>
<a class="anchor" id="a59104ea186b3ad9ce763dc1feee71bd4"></a><!-- doxytag: member="ANTLR3_LEXER_struct::emitNew" ref="a59104ea186b3ad9ce763dc1feee71bd4" args=")(struct ANTLR3_LEXER_struct *lexer, pANTLR3_COMMON_TOKEN token)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html#a59104ea186b3ad9ce763dc1feee71bd4">ANTLR3_LEXER_struct::emitNew</a>)(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer, <a class="el" href="struct_a_n_t_l_r3___c_o_m_m_o_n___t_o_k_e_n__struct.html">pANTLR3_COMMON_TOKEN</a> token)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pointer to a function that emits the supplied token as the next token in the stream. </p>

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

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

<p>Pointer to a function that knows how to free the resources of a lexer. </p>

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

</div>
</div>
<a class="anchor" id="a3c09f36c7367d7755563155adcabdcc1"></a><!-- doxytag: member="ANTLR3_LEXER_struct::getCharIndex" ref="a3c09f36c7367d7755563155adcabdcc1" args=")(struct ANTLR3_LEXER_struct *lexer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="antlr3defs_8h.html#a0361e6bf442e07afe923e4d05e9ebc4f">ANTLR3_MARKER</a>(* <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html#a3c09f36c7367d7755563155adcabdcc1">ANTLR3_LEXER_struct::getCharIndex</a>)(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="antlr3defs_8h.html#aad5d94a0ad6c1d4788f95debb67cf642">antlr3LexerNew()</a>, <a class="el" href="antlr3lexer_8c.html#af9d72282d839ad84befc641f4ca94330">emit()</a>, <a class="el" href="antlr3lexer_8c.html#a537cb8e9d09de25f488b75a1336f24d8">getText()</a>, and <a class="el" href="antlr3lexer_8c.html#ad0765a37fb94635afbfaad254c12c496">nextTokenStr()</a>.</p>

</div>
</div>
<a class="anchor" id="a2b5e18cf9d9b55bfcc02d345c5e8f848"></a><!-- doxytag: member="ANTLR3_LEXER_struct::getCharPositionInLine" ref="a2b5e18cf9d9b55bfcc02d345c5e8f848" args=")(struct ANTLR3_LEXER_struct *lexer)" -->
<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___l_e_x_e_r__struct.html#a2b5e18cf9d9b55bfcc02d345c5e8f848">ANTLR3_LEXER_struct::getCharPositionInLine</a>)(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<a class="anchor" id="a151c4767a28ceccf7fb5bd81e30eaeec"></a><!-- doxytag: member="ANTLR3_LEXER_struct::getLine" ref="a151c4767a28ceccf7fb5bd81e30eaeec" args=")(struct ANTLR3_LEXER_struct *lexer)" -->
<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___l_e_x_e_r__struct.html#a151c4767a28ceccf7fb5bd81e30eaeec">ANTLR3_LEXER_struct::getLine</a>)(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pointer to function to return the current line number in the input stream. </p>

<p>Referenced by <a class="el" href="antlr3defs_8h.html#aad5d94a0ad6c1d4788f95debb67cf642">antlr3LexerNew()</a>, and <a class="el" href="antlr3lexer_8c.html#ad0765a37fb94635afbfaad254c12c496">nextTokenStr()</a>.</p>

</div>
</div>
<a class="anchor" id="aa916fc721b7c14ee4bb57b1c7fb88e60"></a><!-- doxytag: member="ANTLR3_LEXER_struct::getText" ref="aa916fc721b7c14ee4bb57b1c7fb88e60" args=")(struct ANTLR3_LEXER_struct *lexer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_a_n_t_l_r3___s_t_r_i_n_g__struct.html">pANTLR3_STRING</a>(* <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html#aa916fc721b7c14ee4bb57b1c7fb88e60">ANTLR3_LEXER_struct::getText</a>)(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pointer to function to return the text so far for the current token being generated. </p>

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

</div>
</div>
<a class="anchor" id="a63668c0391badeb589243179e93f1a0a"></a><!-- doxytag: member="ANTLR3_LEXER_struct::input" ref="a63668c0391badeb589243179e93f1a0a" 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_p_u_t___s_t_r_e_a_m__struct.html">pANTLR3_INPUT_STREAM</a> <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html#a63668c0391badeb589243179e93f1a0a">ANTLR3_LEXER_struct::input</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A pointer to the character stream whence this lexer is receiving characters. </p>
<p>TODO: I may come back to this and implement charstream outside the input stream as per the java implementation. </p>

<p>Referenced by <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#gaecb4f403651c25610bcceff641027d02">alreadyParsedRule()</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#gab2d77cd376112c8ff6ed7353ba78dab7">antlr3RecognitionExceptionNew()</a>, <a class="el" href="antlr3lexer_8c.html#a3c88e896255781a0ace9fd1110900424">displayRecognitionError()</a>, <a class="el" href="antlr3lexer_8c.html#af9d72282d839ad84befc641f4ca94330">emit()</a>, <a class="el" href="antlr3lexer_8c.html#a3dabace13d5c4690014e2faec9ee15f2">getCharIndex()</a>, <a class="el" href="antlr3lexer_8c.html#a53802cc9e04a312d2249aa184d6f988f">getCharPositionInLine()</a>, <a class="el" href="antlr3lexer_8c.html#af47abef03feca0963d3fb1eeaa726921">getLine()</a>, <a class="el" href="antlr3lexer_8c.html#a537cb8e9d09de25f488b75a1336f24d8">getText()</a>, <a class="el" href="antlr3lexer_8c.html#ab8a3738a8da7d2c4242e375cc1012cd5">matchAny()</a>, <a class="el" href="antlr3lexer_8c.html#ac8172e09eed8ce89299a9f5225761b87">matchc()</a>, <a class="el" href="antlr3lexer_8c.html#abe3d9de36708b98a25e098f9de6e80f9">matchRange()</a>, <a class="el" href="antlr3lexer_8c.html#ada6b8aff9bb627d91beaccca57c80e28">matchs()</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#ga0b61381c64a3cf6fa719be2f3fe6cc79">memoize()</a>, <a class="el" href="antlr3lexer_8c.html#ad0765a37fb94635afbfaad254c12c496">nextTokenStr()</a>, <a class="el" href="antlr3lexer_8c.html#a917eec57b0aecea10777919d8ac240ec">popCharStream()</a>, <a class="el" href="antlr3lexer_8c.html#a2033174a70cd1baa72584c3b2929b711">pushCharStream()</a>, <a class="el" href="antlr3lexer_8c.html#a224710b47cee69bfcb5e8f19daf22695">recover()</a>, <a class="el" href="antlr3lexer_8c.html#ada85822b7879271a8ce555c65a2274fa">reset()</a>, and <a class="el" href="antlr3lexer_8c.html#a3f121d133cb810a9687aee3089e33be8">setCharStream()</a>.</p>

</div>
</div>
<a class="anchor" id="ade2cead2bc3a6d5693b38e77542f8149"></a><!-- doxytag: member="ANTLR3_LEXER_struct::matchAny" ref="ade2cead2bc3a6d5693b38e77542f8149" args=")(struct ANTLR3_LEXER_struct *lexer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html#ade2cead2bc3a6d5693b38e77542f8149">ANTLR3_LEXER_struct::matchAny</a>)(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pointer to a function that matches the next token/char in the input stream regardless of what it actaully is. </p>

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

</div>
</div>
<a class="anchor" id="ae3c5c1856e94f840c9c1872f8617b282"></a><!-- doxytag: member="ANTLR3_LEXER_struct::matchc" ref="ae3c5c1856e94f840c9c1872f8617b282" args=")(struct ANTLR3_LEXER_struct *lexer, ANTLR3_UCHAR c)" -->
<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___l_e_x_e_r__struct.html#ae3c5c1856e94f840c9c1872f8617b282">ANTLR3_LEXER_struct::matchc</a>)(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer, <a class="el" href="antlr3defs_8h.html#a078eec1343cdbb862af80f352ea701da">ANTLR3_UCHAR</a> c)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pointer to a function that matches and consumes the specified character from the input stream. </p>
<p>As the input stream is required to provide characters via LA() as UTF32 characters it does not need to provide an implementation if it is not sourced from 8 bit ASCII. The default lexer implementation is source encoding agnostic, unless for some reason it takes two 32 bit characters to specify a single character, in which case the input stream and the lexer rules would have to match in encoding and then it would work 'by accident' anyway. </p>

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

</div>
</div>
<a class="anchor" id="a90cf24b209be2197848b23db2f3fdc06"></a><!-- doxytag: member="ANTLR3_LEXER_struct::matchRange" ref="a90cf24b209be2197848b23db2f3fdc06" args=")(struct ANTLR3_LEXER_struct *lexer, ANTLR3_UCHAR low, ANTLR3_UCHAR high)" -->
<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___l_e_x_e_r__struct.html#a90cf24b209be2197848b23db2f3fdc06">ANTLR3_LEXER_struct::matchRange</a>)(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer, <a class="el" href="antlr3defs_8h.html#a078eec1343cdbb862af80f352ea701da">ANTLR3_UCHAR</a> low, <a class="el" href="antlr3defs_8h.html#a078eec1343cdbb862af80f352ea701da">ANTLR3_UCHAR</a> high)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pointer to a function that matches any character in the supplied range (I suppose it could be a token range too but this would only be useful if the tokens were in tsome guaranteed order which is only going to happen with a hand crafted token set). </p>

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

</div>
</div>
<a class="anchor" id="a868ae254b20657e4e8a837bfcf1a4c71"></a><!-- doxytag: member="ANTLR3_LEXER_struct::matchs" ref="a868ae254b20657e4e8a837bfcf1a4c71" args=")(struct ANTLR3_LEXER_struct *lexer, ANTLR3_UCHAR *string)" -->
<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___l_e_x_e_r__struct.html#a868ae254b20657e4e8a837bfcf1a4c71">ANTLR3_LEXER_struct::matchs</a>)(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer, <a class="el" href="antlr3defs_8h.html#a078eec1343cdbb862af80f352ea701da">ANTLR3_UCHAR</a> *string)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pointer to a function that attempts to match and consume the specified string from the input stream. </p>
<p>Note that strings muse be passed as terminated arrays of ANTLR3_UCHAR. Strings are terminated with 0xFFFFFFFF, which is an invalid UTF32 character </p>

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

</div>
</div>
<a class="anchor" id="af9c91981f78a7d27002934024b024fc0"></a><!-- doxytag: member="ANTLR3_LEXER_struct::mTokens" ref="af9c91981f78a7d27002934024b024fc0" args=")(void *ctx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html#af9c91981f78a7d27002934024b024fc0">ANTLR3_LEXER_struct::mTokens</a>)(void *<a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html#aa8c9ab64d60b659c71263c2f2a39779a">ctx</a>)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pointer to the user provided (either manually or through code generation function that causes the lexer rules to run the lexing rules and produce the next token if there iss one. </p>
<p>This is called from <a class="el" href="antlr3lexer_8c.html#ac9a1246efbb94ec9e0069b70c3c53502" title="Default implementation of the nextToken() call for a lexer.">nextToken()</a> in the pANTLR3_TOKEN_SOURCE. Note that the input parameter for this funciton is the generated lexer context (stored in ctx in this interface) it is a generated function and expects the context to be the generated lexer. </p>

<p>Referenced by <a class="el" href="antlr3defs_8h.html#aad5d94a0ad6c1d4788f95debb67cf642">antlr3LexerNew()</a>, and <a class="el" href="antlr3lexer_8c.html#ad0765a37fb94635afbfaad254c12c496">nextTokenStr()</a>.</p>

</div>
</div>
<a class="anchor" id="af3f03678a1511675104bc37ada7dcade"></a><!-- doxytag: member="ANTLR3_LEXER_struct::popCharStream" ref="af3f03678a1511675104bc37ada7dcade" args=")(struct ANTLR3_LEXER_struct *lexer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html#af3f03678a1511675104bc37ada7dcade">ANTLR3_LEXER_struct::popCharStream</a>)(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pointer to a function that abandons the current input stream, whether it is empty or not and reverts to the previous stacked input stream. </p>

<p>Referenced by <a class="el" href="antlr3defs_8h.html#aad5d94a0ad6c1d4788f95debb67cf642">antlr3LexerNew()</a>, and <a class="el" href="antlr3lexer_8c.html#ac9a1246efbb94ec9e0069b70c3c53502">nextToken()</a>.</p>

</div>
</div>
<a class="anchor" id="afa7cff0e582050f15c7c27e17a2e844c"></a><!-- doxytag: member="ANTLR3_LEXER_struct::pushCharStream" ref="afa7cff0e582050f15c7c27e17a2e844c" args=")(struct ANTLR3_LEXER_struct *lexer, pANTLR3_INPUT_STREAM input)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html#afa7cff0e582050f15c7c27e17a2e844c">ANTLR3_LEXER_struct::pushCharStream</a>)(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer, <a class="el" href="struct_a_n_t_l_r3___i_n_p_u_t___s_t_r_e_a_m__struct.html">pANTLR3_INPUT_STREAM</a> <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html#a63668c0391badeb589243179e93f1a0a">input</a>)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pointer to a function that switches the current character input stream to a new one, saving the old one, which we will revert to at the end of this new one. </p>

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

</div>
</div>
<a class="anchor" id="afcb0d60a4a2c829c30cc1e8e3454390f"></a><!-- doxytag: member="ANTLR3_LEXER_struct::rec" ref="afcb0d60a4a2c829c30cc1e8e3454390f" 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___l_e_x_e_r__struct.html#afcb0d60a4a2c829c30cc1e8e3454390f">ANTLR3_LEXER_struct::rec</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pointer to the implementation of a base recognizer, which the lexer creates and then overrides with its own lexer oriented functions (the default implementation is parser oriented). </p>
<p>This also contains a token source interface, which the lexer instance will provide to anything that needs it, which is anything else that implements a base recognizer, such as a parser. </p>

<p>Referenced by <a class="el" href="antlr3defs_8h.html#aad5d94a0ad6c1d4788f95debb67cf642">antlr3LexerNew()</a>, <a class="el" href="antlr3lexer_8c.html#a3c88e896255781a0ace9fd1110900424">displayRecognitionError()</a>, <a class="el" href="antlr3lexer_8c.html#af9d72282d839ad84befc641f4ca94330">emit()</a>, <a class="el" href="antlr3lexer_8c.html#ac774e151df4b351dff6e4928564e4f10">emitNew()</a>, <a class="el" href="antlr3lexer_8c.html#ae609556326be46b260682e16941b9e50">freeLexer()</a>, <a class="el" href="antlr3lexer_8c.html#a537cb8e9d09de25f488b75a1336f24d8">getText()</a>, <a class="el" href="antlr3lexer_8c.html#ac8172e09eed8ce89299a9f5225761b87">matchc()</a>, <a class="el" href="antlr3lexer_8c.html#abe3d9de36708b98a25e098f9de6e80f9">matchRange()</a>, <a class="el" href="antlr3lexer_8c.html#ada6b8aff9bb627d91beaccca57c80e28">matchs()</a>, <a class="el" href="antlr3lexer_8c.html#ac9a1246efbb94ec9e0069b70c3c53502">nextToken()</a>, <a class="el" href="antlr3lexer_8c.html#ad0765a37fb94635afbfaad254c12c496">nextTokenStr()</a>, <a class="el" href="antlr3lexer_8c.html#a917eec57b0aecea10777919d8ac240ec">popCharStream()</a>, <a class="el" href="antlr3lexer_8c.html#a2033174a70cd1baa72584c3b2929b711">pushCharStream()</a>, <a class="el" href="antlr3lexer_8c.html#ada85822b7879271a8ce555c65a2274fa">reset()</a>, and <a class="el" href="antlr3lexer_8c.html#a3f121d133cb810a9687aee3089e33be8">setCharStream()</a>.</p>

</div>
</div>
<a class="anchor" id="a77fd0b4598ebb28edab46d9aab6e7143"></a><!-- doxytag: member="ANTLR3_LEXER_struct::recover" ref="a77fd0b4598ebb28edab46d9aab6e7143" args=")(struct ANTLR3_LEXER_struct *lexer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html#a77fd0b4598ebb28edab46d9aab6e7143">ANTLR3_LEXER_struct::recover</a>)(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pointer to a function that recovers from an error found in the input stream. </p>
<p>Generally, this will be a #ANTLR3_EXCEPTION_NOVIABLE_ALT but it could also be from a mismatched token that the (*match)() could not recover from. </p>

<p>Referenced by <a class="el" href="antlr3defs_8h.html#aad5d94a0ad6c1d4788f95debb67cf642">antlr3LexerNew()</a>, <a class="el" href="antlr3lexer_8c.html#ac8172e09eed8ce89299a9f5225761b87">matchc()</a>, <a class="el" href="antlr3lexer_8c.html#abe3d9de36708b98a25e098f9de6e80f9">matchRange()</a>, <a class="el" href="antlr3lexer_8c.html#ada6b8aff9bb627d91beaccca57c80e28">matchs()</a>, and <a class="el" href="antlr3lexer_8c.html#ad0765a37fb94635afbfaad254c12c496">nextTokenStr()</a>.</p>

</div>
</div>
<a class="anchor" id="a5c28d84198fa94f172e35887f52c248f"></a><!-- doxytag: member="ANTLR3_LEXER_struct::setCharStream" ref="a5c28d84198fa94f172e35887f52c248f" args=")(struct ANTLR3_LEXER_struct *lexer, pANTLR3_INPUT_STREAM input)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html#a5c28d84198fa94f172e35887f52c248f">ANTLR3_LEXER_struct::setCharStream</a>)(struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> *lexer, <a class="el" href="struct_a_n_t_l_r3___i_n_p_u_t___s_t_r_e_a_m__struct.html">pANTLR3_INPUT_STREAM</a> <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html#a63668c0391badeb589243179e93f1a0a">input</a>)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pointer to a function that sets the charstream source for the lexer and causes it to be reset. </p>

<p>Referenced by <a class="el" href="antlr3defs_8h.html#aad5d94a0ad6c1d4788f95debb67cf642">antlr3LexerNew()</a>, <a class="el" href="antlr3lexer_8c.html#a917eec57b0aecea10777919d8ac240ec">popCharStream()</a>, and <a class="el" href="antlr3lexer_8c.html#a2033174a70cd1baa72584c3b2929b711">pushCharStream()</a>.</p>

</div>
</div>
<a class="anchor" id="ae500bd5337a874e4c753b614fafc1eec"></a><!-- doxytag: member="ANTLR3_LEXER_struct::super" ref="ae500bd5337a874e4c753b614fafc1eec" 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___l_e_x_e_r__struct.html#ae500bd5337a874e4c753b614fafc1eec">ANTLR3_LEXER_struct::super</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>If there is a super structure that is implementing the lexer, then a pointer to it can be stored here in case implementing functions are overridden by this super structure. </p>

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