Sophie

Sophie

distrib > Mageia > 7 > i586 > media > core-release > by-pkgid > da565b63a5fc04f7d71d08b821cb0a46 > files > 524

antlr-C++-doc-2.7.7-43.mga7.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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ANTLR Support Libraries 2.7.1+: Parser Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">ANTLR Support Libraries 2.7.1+
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="classParser-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Parser Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="Parser_8hpp_source.html">Parser.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for Parser:</div>
<div class="dyncontent">
<div class="center"><img src="classParser__inherit__graph.png" border="0" usemap="#Parser_inherit__map" alt="Inheritance graph"/></div>
<map name="Parser_inherit__map" id="Parser_inherit__map">
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for Parser:</div>
<div class="dyncontent">
<div class="center"><img src="classParser__coll__graph.png" border="0" usemap="#Parser_coll__map" alt="Collaboration graph"/></div>
<map name="Parser_coll__map" id="Parser_coll__map">
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser_1_1Tracer.html">Tracer</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad576b92b9cc324f6f41b0269a9a1a546"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#ad576b92b9cc324f6f41b0269a9a1a546">~Parser</a> ()</td></tr>
<tr class="separator:ad576b92b9cc324f6f41b0269a9a1a546"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ffde97c771e9db73d153745bd1bedd4"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#a8ffde97c771e9db73d153745bd1bedd4">LA</a> (unsigned int i)=0</td></tr>
<tr class="separator:a8ffde97c771e9db73d153745bd1bedd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab28969d536dc9dedfe1079f2248d0511"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="TokenRefCount_8hpp.html#a90bf433b9f39606e6bf39757f6910ac7">RefToken</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#ab28969d536dc9dedfe1079f2248d0511">LT</a> (unsigned int i)=0</td></tr>
<tr class="memdesc:ab28969d536dc9dedfe1079f2248d0511"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the i-th token of lookahead.  <a href="#ab28969d536dc9dedfe1079f2248d0511">More...</a><br /></td></tr>
<tr class="separator:ab28969d536dc9dedfe1079f2248d0511"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b0c787d880ad93863ba1eaa3c438ddd"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#a4b0c787d880ad93863ba1eaa3c438ddd">setASTNodeFactory</a> (<a class="el" href="classASTFactory.html">ASTFactory</a> *factory)</td></tr>
<tr class="separator:a4b0c787d880ad93863ba1eaa3c438ddd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab617d899c66421200dc2c8f1c613f891"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#ab617d899c66421200dc2c8f1c613f891">setASTFactory</a> (<a class="el" href="classASTFactory.html">ASTFactory</a> *factory)</td></tr>
<tr class="separator:ab617d899c66421200dc2c8f1c613f891"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a895e2ae879484a122417cc7c5a123329"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classASTFactory.html">ASTFactory</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#a895e2ae879484a122417cc7c5a123329">getASTFactory</a> ()</td></tr>
<tr class="separator:a895e2ae879484a122417cc7c5a123329"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f4bd9c5b3f75fbdcba769df14e706cc"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="ASTRefCount_8hpp.html#a25b300faa8730e33c35b83c55afd2596">RefAST</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#a6f4bd9c5b3f75fbdcba769df14e706cc">getAST</a> ()=0</td></tr>
<tr class="separator:a6f4bd9c5b3f75fbdcba769df14e706cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4356ecf89394d50627f6ef59e95bbae2"><td class="memItemLeft" align="right" valign="top">virtual std ::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#a4356ecf89394d50627f6ef59e95bbae2">getFilename</a> () const</td></tr>
<tr class="memdesc:a4356ecf89394d50627f6ef59e95bbae2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the filename of the input file.  <a href="#a4356ecf89394d50627f6ef59e95bbae2">More...</a><br /></td></tr>
<tr class="separator:a4356ecf89394d50627f6ef59e95bbae2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e1d4d81c83926beb2aba395ba96131c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#a2e1d4d81c83926beb2aba395ba96131c">setFilename</a> (const std ::string &amp;f)</td></tr>
<tr class="memdesc:a2e1d4d81c83926beb2aba395ba96131c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the filename of the input file (used for error reporting).  <a href="#a2e1d4d81c83926beb2aba395ba96131c">More...</a><br /></td></tr>
<tr class="separator:a2e1d4d81c83926beb2aba395ba96131c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a162e3c3d1a3f69237e61c33ffb04f75c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#a162e3c3d1a3f69237e61c33ffb04f75c">setInputState</a> (<a class="el" href="ParserSharedInputState_8hpp.html#a0f2d8945c6d28bd59f8d113dd4cb835d">ParserSharedInputState</a> state)</td></tr>
<tr class="separator:a162e3c3d1a3f69237e61c33ffb04f75c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f899e21f3b6df91950862c4f424dfdd"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="ParserSharedInputState_8hpp.html#a0f2d8945c6d28bd59f8d113dd4cb835d">ParserSharedInputState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#a9f899e21f3b6df91950862c4f424dfdd">getInputState</a> () const</td></tr>
<tr class="separator:a9f899e21f3b6df91950862c4f424dfdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34e6c885f633e20c50f4df7369fccdb4"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#a34e6c885f633e20c50f4df7369fccdb4">consume</a> ()=0</td></tr>
<tr class="memdesc:a34e6c885f633e20c50f4df7369fccdb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get another token object from the token stream.  <a href="#a34e6c885f633e20c50f4df7369fccdb4">More...</a><br /></td></tr>
<tr class="separator:a34e6c885f633e20c50f4df7369fccdb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f2907c8df6c5f799be1d2237b5cf493"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#a7f2907c8df6c5f799be1d2237b5cf493">consumeUntil</a> (int tokenType)</td></tr>
<tr class="memdesc:a7f2907c8df6c5f799be1d2237b5cf493"><td class="mdescLeft">&#160;</td><td class="mdescRight">Consume tokens until one matches the given token.  <a href="#a7f2907c8df6c5f799be1d2237b5cf493">More...</a><br /></td></tr>
<tr class="separator:a7f2907c8df6c5f799be1d2237b5cf493"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5b1e73f84668166dc065616b6e070f8"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#ad5b1e73f84668166dc065616b6e070f8">consumeUntil</a> (const <a class="el" href="classBitSet.html">BitSet</a> &amp;set)</td></tr>
<tr class="memdesc:ad5b1e73f84668166dc065616b6e070f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Consume tokens until one matches the given token set.  <a href="#ad5b1e73f84668166dc065616b6e070f8">More...</a><br /></td></tr>
<tr class="separator:ad5b1e73f84668166dc065616b6e070f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af28bc2e0ecd7a4aa0ef2b726d9306d81"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#af28bc2e0ecd7a4aa0ef2b726d9306d81">match</a> (int t)</td></tr>
<tr class="separator:af28bc2e0ecd7a4aa0ef2b726d9306d81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad97c8acdc37baaefde9d15e936817807"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#ad97c8acdc37baaefde9d15e936817807">matchNot</a> (int t)</td></tr>
<tr class="separator:ad97c8acdc37baaefde9d15e936817807"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33d918b15806aaa7c5eb2980a4a08d19"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#a33d918b15806aaa7c5eb2980a4a08d19">match</a> (const <a class="el" href="classBitSet.html">BitSet</a> &amp;b)</td></tr>
<tr class="separator:a33d918b15806aaa7c5eb2980a4a08d19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f644171f723c2f61da8871e98aeef54"><td class="memItemLeft" align="right" valign="top">virtual unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#a2f644171f723c2f61da8871e98aeef54">mark</a> ()</td></tr>
<tr class="separator:a2f644171f723c2f61da8871e98aeef54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72eb09a927be17981cb54fc4b3df2955"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#a72eb09a927be17981cb54fc4b3df2955">rewind</a> (unsigned int pos)</td></tr>
<tr class="memdesc:a72eb09a927be17981cb54fc4b3df2955"><td class="mdescLeft">&#160;</td><td class="mdescRight">rewind to a previously marked position  <a href="#a72eb09a927be17981cb54fc4b3df2955">More...</a><br /></td></tr>
<tr class="separator:a72eb09a927be17981cb54fc4b3df2955"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0431fe2780445a13b0af6fd9f770869"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#ae0431fe2780445a13b0af6fd9f770869">recover</a> (const <a class="el" href="classRecognitionException.html">RecognitionException</a> &amp;ex, const <a class="el" href="classBitSet.html">BitSet</a> &amp;tokenSet)</td></tr>
<tr class="separator:ae0431fe2780445a13b0af6fd9f770869"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd91748d4f7073d53021b8fabf222dcb"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#afd91748d4f7073d53021b8fabf222dcb">reportError</a> (const <a class="el" href="classRecognitionException.html">RecognitionException</a> &amp;ex)</td></tr>
<tr class="memdesc:afd91748d4f7073d53021b8fabf222dcb"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classParser.html">Parser</a> error-reporting function can be overridden in subclass.  <a href="#afd91748d4f7073d53021b8fabf222dcb">More...</a><br /></td></tr>
<tr class="separator:afd91748d4f7073d53021b8fabf222dcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0a193b2e1f0cfa8b2327c589248f639"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#af0a193b2e1f0cfa8b2327c589248f639">reportError</a> (const std ::string &amp;s)</td></tr>
<tr class="memdesc:af0a193b2e1f0cfa8b2327c589248f639"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classParser.html">Parser</a> error-reporting function can be overridden in subclass.  <a href="#af0a193b2e1f0cfa8b2327c589248f639">More...</a><br /></td></tr>
<tr class="separator:af0a193b2e1f0cfa8b2327c589248f639"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ee04731a3e94f268fa6b4338c8ebe39"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#a2ee04731a3e94f268fa6b4338c8ebe39">reportWarning</a> (const std ::string &amp;s)</td></tr>
<tr class="memdesc:a2ee04731a3e94f268fa6b4338c8ebe39"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classParser.html">Parser</a> warning-reporting function can be overridden in subclass.  <a href="#a2ee04731a3e94f268fa6b4338c8ebe39">More...</a><br /></td></tr>
<tr class="separator:a2ee04731a3e94f268fa6b4338c8ebe39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a610135736da16cf29e247c257f2d0b16"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#a610135736da16cf29e247c257f2d0b16">getTokenName</a> (int num) const =0</td></tr>
<tr class="memdesc:a610135736da16cf29e247c257f2d0b16"><td class="mdescLeft">&#160;</td><td class="mdescRight">get the token name for the token number 'num'  <a href="#a610135736da16cf29e247c257f2d0b16">More...</a><br /></td></tr>
<tr class="separator:a610135736da16cf29e247c257f2d0b16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70463c10186066657109c19f43c3caed"><td class="memItemLeft" align="right" valign="top">virtual const char *const  *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#a70463c10186066657109c19f43c3caed">getTokenNames</a> () const =0</td></tr>
<tr class="memdesc:a70463c10186066657109c19f43c3caed"><td class="mdescLeft">&#160;</td><td class="mdescRight">get a vector with all token names  <a href="#a70463c10186066657109c19f43c3caed">More...</a><br /></td></tr>
<tr class="separator:a70463c10186066657109c19f43c3caed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a557c0433a3e6a926786e223de94c4fcf"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#a557c0433a3e6a926786e223de94c4fcf">getNumTokens</a> (void) const =0</td></tr>
<tr class="separator:a557c0433a3e6a926786e223de94c4fcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fd40e8f66dd7741a7440555ad6855af"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#a0fd40e8f66dd7741a7440555ad6855af">traceIndent</a> ()</td></tr>
<tr class="separator:a0fd40e8f66dd7741a7440555ad6855af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae96f73ef3841edadb0cad22ea35e66d0"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#ae96f73ef3841edadb0cad22ea35e66d0">traceIn</a> (const char *rname)</td></tr>
<tr class="separator:ae96f73ef3841edadb0cad22ea35e66d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57b4665fd23899df2e07f243ed05a944"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#a57b4665fd23899df2e07f243ed05a944">traceOut</a> (const char *rname)</td></tr>
<tr class="separator:a57b4665fd23899df2e07f243ed05a944"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:aaf50e67812d3deebc19da08082d560bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#aaf50e67812d3deebc19da08082d560bf">Parser</a> (<a class="el" href="classTokenBuffer.html">TokenBuffer</a> &amp;input)</td></tr>
<tr class="separator:aaf50e67812d3deebc19da08082d560bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4277c75e0bd33af85a7b3d8d410ec21"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#ac4277c75e0bd33af85a7b3d8d410ec21">Parser</a> (<a class="el" href="classTokenBuffer.html">TokenBuffer</a> *input)</td></tr>
<tr class="separator:ac4277c75e0bd33af85a7b3d8d410ec21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25848e55d2fb40e11589c79e92da6d66"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#a25848e55d2fb40e11589c79e92da6d66">Parser</a> (const <a class="el" href="ParserSharedInputState_8hpp.html#a0f2d8945c6d28bd59f8d113dd4cb835d">ParserSharedInputState</a> &amp;state)</td></tr>
<tr class="separator:a25848e55d2fb40e11589c79e92da6d66"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:add867b57c3af7bdd636160b165577570"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ParserSharedInputState_8hpp.html#a0f2d8945c6d28bd59f8d113dd4cb835d">ParserSharedInputState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#add867b57c3af7bdd636160b165577570">inputState</a></td></tr>
<tr class="separator:add867b57c3af7bdd636160b165577570"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47ba690eae07029a628c46512f504517"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classASTFactory.html">ASTFactory</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#a47ba690eae07029a628c46512f504517">astFactory</a></td></tr>
<tr class="memdesc:a47ba690eae07029a628c46512f504517"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classAST.html">AST</a> support code; parser and treeparser delegate to this object.  <a href="#a47ba690eae07029a628c46512f504517">More...</a><br /></td></tr>
<tr class="separator:a47ba690eae07029a628c46512f504517"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a017bf3d95a7b2538279bb9d2e307db43"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#a017bf3d95a7b2538279bb9d2e307db43">traceDepth</a></td></tr>
<tr class="separator:a017bf3d95a7b2538279bb9d2e307db43"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:acf58c19ff11509154be1606a4cf48a6c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#acf58c19ff11509154be1606a4cf48a6c">Parser</a> (const <a class="el" href="classParser.html">Parser</a> &amp;)</td></tr>
<tr class="separator:acf58c19ff11509154be1606a4cf48a6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad01ad4145d506ab22d4e60c5cbe343cb"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classParser.html">Parser</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#ad01ad4145d506ab22d4e60c5cbe343cb">operator=</a> (const <a class="el" href="classParser.html">Parser</a> &amp;)</td></tr>
<tr class="separator:ad01ad4145d506ab22d4e60c5cbe343cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A generic ANTLR parser (LL(k) for k&gt;=1) containing a bunch of utility routines useful at any lookahead depth. We distinguish between the LL(1) and LL(k) parsers because of efficiency. This may not be necessary in the near future.</p>
<p>Each parser object contains the state of the parse including a lookahead cache (the form of which is determined by the subclass), whether or not the parser is in guess mode, where tokens come from, etc...</p>
<p>During <b>guess</b> mode, the current lookahead token(s) and token type(s) cache must be saved because the token stream may not have been informed to save the token (via <code>mark</code>) before the <code>try</code> block. Guessing is started by: </p><ol>
<li>
saving the lookahead cache. </li>
<li>
marking the current position in the <a class="el" href="classTokenBuffer.html">TokenBuffer</a>. </li>
<li>
increasing the guessing level. </li>
</ol>
<p>After guessing, the parser state is restored by: </p><ol>
<li>
restoring the lookahead cache. </li>
<li>
rewinding the <a class="el" href="classTokenBuffer.html">TokenBuffer</a>. </li>
<li>
decreasing the guessing level. </li>
</ol>
<dl class="section see"><dt>See also</dt><dd>antlr.Token </dd>
<dd>
antlr.TokenBuffer </dd>
<dd>
antlr.TokenStream </dd>
<dd>
antlr.LL1Parser </dd>
<dd>
antlr.LLkParser</dd></dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000004">Todo:</a></b></dt><dd>add constructors with <a class="el" href="classASTFactory.html">ASTFactory</a>. </dd></dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aaf50e67812d3deebc19da08082d560bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf50e67812d3deebc19da08082d560bf">&#9670;&nbsp;</a></span>Parser() <span class="overload">[1/4]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Parser::Parser </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTokenBuffer.html">TokenBuffer</a> &amp;&#160;</td>
          <td class="paramname"><em>input</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ac4277c75e0bd33af85a7b3d8d410ec21"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4277c75e0bd33af85a7b3d8d410ec21">&#9670;&nbsp;</a></span>Parser() <span class="overload">[2/4]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Parser::Parser </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTokenBuffer.html">TokenBuffer</a> *&#160;</td>
          <td class="paramname"><em>input</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a25848e55d2fb40e11589c79e92da6d66"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25848e55d2fb40e11589c79e92da6d66">&#9670;&nbsp;</a></span>Parser() <span class="overload">[3/4]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Parser::Parser </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="ParserSharedInputState_8hpp.html#a0f2d8945c6d28bd59f8d113dd4cb835d">ParserSharedInputState</a> &amp;&#160;</td>
          <td class="paramname"><em>state</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ad576b92b9cc324f6f41b0269a9a1a546"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad576b92b9cc324f6f41b0269a9a1a546">&#9670;&nbsp;</a></span>~Parser()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual Parser::~Parser </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="acf58c19ff11509154be1606a4cf48a6c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf58c19ff11509154be1606a4cf48a6c">&#9670;&nbsp;</a></span>Parser() <span class="overload">[4/4]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Parser::Parser </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classParser.html">Parser</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a34e6c885f633e20c50f4df7369fccdb4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a34e6c885f633e20c50f4df7369fccdb4">&#9670;&nbsp;</a></span>consume()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Parser::consume </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get another token object from the token stream. </p>

<p>Implemented in <a class="el" href="classLLkParser.html#ac2ec6b36dcef64815419165aaf71961f">LLkParser</a>.</p>

</div>
</div>
<a id="a7f2907c8df6c5f799be1d2237b5cf493"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f2907c8df6c5f799be1d2237b5cf493">&#9670;&nbsp;</a></span>consumeUntil() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Parser::consumeUntil </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>tokenType</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Consume tokens until one matches the given token. </p>

</div>
</div>
<a id="ad5b1e73f84668166dc065616b6e070f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad5b1e73f84668166dc065616b6e070f8">&#9670;&nbsp;</a></span>consumeUntil() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Parser::consumeUntil </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classBitSet.html">BitSet</a> &amp;&#160;</td>
          <td class="paramname"><em>set</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Consume tokens until one matches the given token set. </p>

</div>
</div>
<a id="a6f4bd9c5b3f75fbdcba769df14e706cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f4bd9c5b3f75fbdcba769df14e706cc">&#9670;&nbsp;</a></span>getAST()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="ASTRefCount_8hpp.html#a25b300faa8730e33c35b83c55afd2596">RefAST</a> Parser::getAST </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Get the root <a class="el" href="classAST.html">AST</a> node of the generated <a class="el" href="classAST.html">AST</a>. When using a custom <a class="el" href="classAST.html">AST</a> type or heterogenous <a class="el" href="classAST.html">AST</a>'s, you'll have to convert it to the right type yourself. </p>

</div>
</div>
<a id="a895e2ae879484a122417cc7c5a123329"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a895e2ae879484a122417cc7c5a123329">&#9670;&nbsp;</a></span>getASTFactory()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classASTFactory.html">ASTFactory</a>* Parser::getASTFactory </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Return a pointer to the <a class="el" href="classASTFactory.html">ASTFactory</a> used. So you might use it in subsequent treewalkers or to reload <a class="el" href="classAST.html">AST</a>'s from disk. </p>

</div>
</div>
<a id="a4356ecf89394d50627f6ef59e95bbae2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4356ecf89394d50627f6ef59e95bbae2">&#9670;&nbsp;</a></span>getFilename()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual std ::string Parser::getFilename </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return the filename of the input file. </p>

</div>
</div>
<a id="a9f899e21f3b6df91950862c4f424dfdd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9f899e21f3b6df91950862c4f424dfdd">&#9670;&nbsp;</a></span>getInputState()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="ParserSharedInputState_8hpp.html#a0f2d8945c6d28bd59f8d113dd4cb835d">ParserSharedInputState</a> Parser::getInputState </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a557c0433a3e6a926786e223de94c4fcf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a557c0433a3e6a926786e223de94c4fcf">&#9670;&nbsp;</a></span>getNumTokens()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int Parser::getNumTokens </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Get the number of tokens defined. This one should be overridden in subclasses. </p>

</div>
</div>
<a id="a610135736da16cf29e247c257f2d0b16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a610135736da16cf29e247c257f2d0b16">&#9670;&nbsp;</a></span>getTokenName()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* Parser::getTokenName </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>num</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>get the token name for the token number 'num' </p>

</div>
</div>
<a id="a70463c10186066657109c19f43c3caed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70463c10186066657109c19f43c3caed">&#9670;&nbsp;</a></span>getTokenNames()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* const* Parser::getTokenNames </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>get a vector with all token names </p>

</div>
</div>
<a id="a8ffde97c771e9db73d153745bd1bedd4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ffde97c771e9db73d153745bd1bedd4">&#9670;&nbsp;</a></span>LA()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int Parser::LA </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Return the token type of the ith token of lookahead where i=1 is the current token being examined by the parser (i.e., it has not been matched yet). </p>

<p>Implemented in <a class="el" href="classLLkParser.html#a485c4b0c48915c4ad9c3b700e23c91a0">LLkParser</a>.</p>

</div>
</div>
<a id="ab28969d536dc9dedfe1079f2248d0511"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab28969d536dc9dedfe1079f2248d0511">&#9670;&nbsp;</a></span>LT()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="TokenRefCount_8hpp.html#a90bf433b9f39606e6bf39757f6910ac7">RefToken</a> Parser::LT </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return the i-th token of lookahead. </p>

<p>Implemented in <a class="el" href="classLLkParser.html#af9daf3179f61e9e8e97c27d8e525aeb4">LLkParser</a>.</p>

</div>
</div>
<a id="a2f644171f723c2f61da8871e98aeef54"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f644171f723c2f61da8871e98aeef54">&#9670;&nbsp;</a></span>mark()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual unsigned int Parser::mark </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Mark a spot in the input and return the position. Forwarded to <a class="el" href="classTokenBuffer.html">TokenBuffer</a>. </p>

</div>
</div>
<a id="af28bc2e0ecd7a4aa0ef2b726d9306d81"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af28bc2e0ecd7a4aa0ef2b726d9306d81">&#9670;&nbsp;</a></span>match() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Parser::match </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>t</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Make sure current lookahead symbol matches token type <code>t</code>. Throw an exception upon mismatch, which is catch by either the error handler or by the syntactic predicate. </p>

</div>
</div>
<a id="a33d918b15806aaa7c5eb2980a4a08d19"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33d918b15806aaa7c5eb2980a4a08d19">&#9670;&nbsp;</a></span>match() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Parser::match </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classBitSet.html">BitSet</a> &amp;&#160;</td>
          <td class="paramname"><em>b</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Make sure current lookahead symbol matches the given set Throw an exception upon mismatch, which is catch by either the error handler or by the syntactic predicate. </p>

</div>
</div>
<a id="ad97c8acdc37baaefde9d15e936817807"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad97c8acdc37baaefde9d15e936817807">&#9670;&nbsp;</a></span>matchNot()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Parser::matchNot </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>t</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ad01ad4145d506ab22d4e60c5cbe343cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad01ad4145d506ab22d4e60c5cbe343cb">&#9670;&nbsp;</a></span>operator=()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classParser.html">Parser</a>&amp; Parser::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classParser.html">Parser</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ae0431fe2780445a13b0af6fd9f770869"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0431fe2780445a13b0af6fd9f770869">&#9670;&nbsp;</a></span>recover()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Parser::recover </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classRecognitionException.html">RecognitionException</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classBitSet.html">BitSet</a> &amp;&#160;</td>
          <td class="paramname"><em>tokenSet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>called by the generated parser to do error recovery, override to customize the behaviour. </p>

</div>
</div>
<a id="afd91748d4f7073d53021b8fabf222dcb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd91748d4f7073d53021b8fabf222dcb">&#9670;&nbsp;</a></span>reportError() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Parser::reportError </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classRecognitionException.html">RecognitionException</a> &amp;&#160;</td>
          <td class="paramname"><em>ex</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p><a class="el" href="classParser.html">Parser</a> error-reporting function can be overridden in subclass. </p>
<p><a class="el" href="classParser.html">Parser</a> error-reporting function can be overridden in subclass </p>

</div>
</div>
<a id="af0a193b2e1f0cfa8b2327c589248f639"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0a193b2e1f0cfa8b2327c589248f639">&#9670;&nbsp;</a></span>reportError() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Parser::reportError </td>
          <td>(</td>
          <td class="paramtype">const std ::string &amp;&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p><a class="el" href="classParser.html">Parser</a> error-reporting function can be overridden in subclass. </p>
<p><a class="el" href="classParser.html">Parser</a> error-reporting function can be overridden in subclass </p>

</div>
</div>
<a id="a2ee04731a3e94f268fa6b4338c8ebe39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ee04731a3e94f268fa6b4338c8ebe39">&#9670;&nbsp;</a></span>reportWarning()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Parser::reportWarning </td>
          <td>(</td>
          <td class="paramtype">const std ::string &amp;&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p><a class="el" href="classParser.html">Parser</a> warning-reporting function can be overridden in subclass. </p>
<p><a class="el" href="classParser.html">Parser</a> warning-reporting function can be overridden in subclass </p>

</div>
</div>
<a id="a72eb09a927be17981cb54fc4b3df2955"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72eb09a927be17981cb54fc4b3df2955">&#9670;&nbsp;</a></span>rewind()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Parser::rewind </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>pos</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>rewind to a previously marked position </p>

</div>
</div>
<a id="ab617d899c66421200dc2c8f1c613f891"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab617d899c66421200dc2c8f1c613f891">&#9670;&nbsp;</a></span>setASTFactory()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Parser::setASTFactory </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classASTFactory.html">ASTFactory</a> *&#160;</td>
          <td class="paramname"><em>factory</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Specify the factory to be used during tree building. (Compulsory) Setting the factory is nowadays compulsory. </p>

</div>
</div>
<a id="a4b0c787d880ad93863ba1eaa3c438ddd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4b0c787d880ad93863ba1eaa3c438ddd">&#9670;&nbsp;</a></span>setASTNodeFactory()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Parser::setASTNodeFactory </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classASTFactory.html">ASTFactory</a> *&#160;</td>
          <td class="paramname"><em>factory</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>DEPRECATED! Specify the factory to be used during tree building. (Compulsory) Setting the factory is nowadays compulsory. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classParser.html#ab617d899c66421200dc2c8f1c613f891">setASTFactory</a> </dd></dl>

</div>
</div>
<a id="a2e1d4d81c83926beb2aba395ba96131c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e1d4d81c83926beb2aba395ba96131c">&#9670;&nbsp;</a></span>setFilename()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Parser::setFilename </td>
          <td>(</td>
          <td class="paramtype">const std ::string &amp;&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the filename of the input file (used for error reporting). </p>

</div>
</div>
<a id="a162e3c3d1a3f69237e61c33ffb04f75c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a162e3c3d1a3f69237e61c33ffb04f75c">&#9670;&nbsp;</a></span>setInputState()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Parser::setInputState </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ParserSharedInputState_8hpp.html#a0f2d8945c6d28bd59f8d113dd4cb835d">ParserSharedInputState</a>&#160;</td>
          <td class="paramname"><em>state</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ae96f73ef3841edadb0cad22ea35e66d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae96f73ef3841edadb0cad22ea35e66d0">&#9670;&nbsp;</a></span>traceIn()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Parser::traceIn </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>rname</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented in <a class="el" href="classLLkParser.html#a1cda240c1ac889a7d11ee3e17943c22a">LLkParser</a>.</p>

</div>
</div>
<a id="a0fd40e8f66dd7741a7440555ad6855af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0fd40e8f66dd7741a7440555ad6855af">&#9670;&nbsp;</a></span>traceIndent()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Parser::traceIndent </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Set or change the input token buffer </p>

</div>
</div>
<a id="a57b4665fd23899df2e07f243ed05a944"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a57b4665fd23899df2e07f243ed05a944">&#9670;&nbsp;</a></span>traceOut()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Parser::traceOut </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>rname</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented in <a class="el" href="classLLkParser.html#aeb85303f5036937f2e67353a1ee4a038">LLkParser</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a47ba690eae07029a628c46512f504517"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a47ba690eae07029a628c46512f504517">&#9670;&nbsp;</a></span>astFactory</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classASTFactory.html">ASTFactory</a>* Parser::astFactory</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p><a class="el" href="classAST.html">AST</a> support code; parser and treeparser delegate to this object. </p>

</div>
</div>
<a id="add867b57c3af7bdd636160b165577570"></a>
<h2 class="memtitle"><span class="permalink"><a href="#add867b57c3af7bdd636160b165577570">&#9670;&nbsp;</a></span>inputState</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ParserSharedInputState_8hpp.html#a0f2d8945c6d28bd59f8d113dd4cb835d">ParserSharedInputState</a> Parser::inputState</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a017bf3d95a7b2538279bb9d2e307db43"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a017bf3d95a7b2538279bb9d2e307db43">&#9670;&nbsp;</a></span>traceDepth</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int Parser::traceDepth</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>antlr/<a class="el" href="Parser_8hpp_source.html">Parser.hpp</a></li>
<li>src/<a class="el" href="Parser_8cpp.html">Parser.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>