Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 39121eaa6e08c828e313b57261e3f286 > files > 383

antlr-C++-doc-2.7.7-15.fc14.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>ANTLR Support Libraries 2.7.1+: ASTFactory Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.7.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<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">ANTLR Support Libraries 2.7.1+</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="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li id="searchli">
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</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>  </div>
  <div class="headertitle">
<h1>ASTFactory Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="ASTFactory" -->
<p><code>#include &lt;<a class="el" href="ASTFactory_8hpp_source.html">ASTFactory.hpp</a>&gt;</code></p>

<p><a href="classASTFactory-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="ASTFactory_8hpp.html#a2d75f858411b36f90810c514e027d898">factory_type_</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#ab1f4d9a4164b3fdbc108cd80c4a90c91">factory_type</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="ASTFactory_8hpp.html#a3b00832dfc56df44016c8e4a2fa859d9">factory_descriptor_</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#a9c97858a3e774830ff79786df5e7eeb8">factory_descriptor</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="ASTFactory_8hpp.html#ad238d646f2cb061795ebb1781b5bd0b1">factory_descriptor_list_</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#a5dd9db29bc09513ee1b8d669cd47177d">factory_descriptor_list</a></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#afd7f65cf43db744f2d702c6e7f6f2442">ASTFactory</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Make new factory. Per default (Ref)<a class="el" href="classCommonAST.html">CommonAST</a> instances are generated.  <a href="#afd7f65cf43db744f2d702c6e7f6f2442"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#a00f1b0f6666c42d4524458d26898b4ed">ASTFactory</a> (const char *factory_node_name, <a class="el" href="classASTFactory.html#ab1f4d9a4164b3fdbc108cd80c4a90c91">factory_type</a> factory)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#acdf5532a1a16457623335fffcd8ff96e">~ASTFactory</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy factory.  <a href="#acdf5532a1a16457623335fffcd8ff96e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#a0e7fb1eefd7138f4766f7bd73683acef">registerFactory</a> (int type, const char *ast_name, <a class="el" href="classASTFactory.html#ab1f4d9a4164b3fdbc108cd80c4a90c91">factory_type</a> factory)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a node factory for the node type type with name ast_name.  <a href="#a0e7fb1eefd7138f4766f7bd73683acef"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#add369568ba81b66258154baf6a5997f3">setMaxNodeType</a> (int type)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the maximum node (<a class="el" href="classAST.html">AST</a>) type this factory may encounter.  <a href="#add369568ba81b66258154baf6a5997f3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#abb0d6c6064f96da88e4d757dfb8ad2d9">addASTChild</a> (<a class="el" href="classASTPair.html">ASTPair</a> &amp;currentAST, <a class="el" href="classASTRefCount.html">RefAST</a> child)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a child to the current <a class="el" href="classAST.html">AST</a>.  <a href="#abb0d6c6064f96da88e4d757dfb8ad2d9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classASTRefCount.html">RefAST</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#acd0c8fa258d0419b230c7b146d8abb67">create</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create new empty <a class="el" href="classAST.html">AST</a> node. The right default type shou.  <a href="#acd0c8fa258d0419b230c7b146d8abb67"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classASTRefCount.html">RefAST</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#a8298a8ad3504ef55fb0fd49d9156b02f">create</a> (int type)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create <a class="el" href="classAST.html">AST</a> node of the right type for 'type'.  <a href="#a8298a8ad3504ef55fb0fd49d9156b02f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classASTRefCount.html">RefAST</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#af8137fdbc161e655889cb7a4daec63bf">create</a> (int type, const std::string &amp;txt)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create <a class="el" href="classAST.html">AST</a> node of the right type for 'type' and initialize with txt.  <a href="#af8137fdbc161e655889cb7a4daec63bf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classASTRefCount.html">RefAST</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#a8b1a67e507c5d7ee83414ab03b854346">create</a> (<a class="el" href="classASTRefCount.html">RefAST</a> tr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create duplicate of tr.  <a href="#a8b1a67e507c5d7ee83414ab03b854346"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classASTRefCount.html">RefAST</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#ac12973204add38802871896f0e0a60c7">create</a> (<a class="el" href="classTokenRefCount.html">RefToken</a> tok)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create new <a class="el" href="classAST.html">AST</a> node and initialize contents from a token.  <a href="#ac12973204add38802871896f0e0a60c7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classASTRefCount.html">RefAST</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#af46a17f9a780a448ec9ab520d3119db0">create</a> (const std::string &amp;txt, std::istream &amp;infile)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create new <a class="el" href="classAST.html">AST</a> node and initialize contents from a stream.  <a href="#af46a17f9a780a448ec9ab520d3119db0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classASTRefCount.html">RefAST</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#af81063ee8ba6928502bc726f09d3049f">dup</a> (<a class="el" href="classASTRefCount.html">RefAST</a> t)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classASTRefCount.html">RefAST</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#a78a74353746ce9196baf5bfab7a21c71">dupList</a> (<a class="el" href="classASTRefCount.html">RefAST</a> t)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicate tree including siblings of root.  <a href="#a78a74353746ce9196baf5bfab7a21c71"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classASTRefCount.html">RefAST</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#afb94f89c2233918b2f8db2e89740b5c0">dupTree</a> (<a class="el" href="classASTRefCount.html">RefAST</a> t)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classASTRefCount.html">RefAST</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#ae0402b48fd8792961bc4ba1992e3805f">make</a> (std::vector&lt; <a class="el" href="classASTRefCount.html">RefAST</a> &gt; &amp;nodes)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classASTRefCount.html">RefAST</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#a186ad4df82551cde470a4fca863d5f9e">make</a> (<a class="el" href="classASTArray.html">ASTArray</a> *nodes)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#ac9634c6fbd0a07454214fc68ec1a1973">makeASTRoot</a> (<a class="el" href="classASTPair.html">ASTPair</a> &amp;currentAST, <a class="el" href="classASTRefCount.html">RefAST</a> root)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Make an <a class="el" href="classAST.html">AST</a> the root of current <a class="el" href="classAST.html">AST</a>.  <a href="#ac9634c6fbd0a07454214fc68ec1a1973"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#ab8f467998ab767e0aee88a3b736b0fa7">setASTNodeFactory</a> (const char *factory_node_name, <a class="el" href="classASTFactory.html#ab1f4d9a4164b3fdbc108cd80c4a90c91">factory_type</a> factory)</td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#a76aa8e4af4eb68d40ba28d4f7d6c469e">loadChildren</a> (std::istream &amp;infile, <a class="el" href="classASTRefCount.html">RefAST</a> current)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#a12e54c6d06779246aa2823cfd25a31fb">loadSiblings</a> (std::istream &amp;infile, <a class="el" href="classASTRefCount.html">RefAST</a> current)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#a4ae66873b11caacc90f48cc5ca967152">checkCloseTag</a> (std::istream &amp;infile)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classASTRefCount.html">RefAST</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#ab52e3f4268d49df3bb1b00a913abbca6">getNodeOfType</a> (unsigned int type)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#a636d3e54488e7308577da8efd8c36214">getASTNodeType</a> (unsigned int type)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">get the name of the node 'type'  <a href="#a636d3e54488e7308577da8efd8c36214"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classASTFactory.html#ab1f4d9a4164b3fdbc108cd80c4a90c91">factory_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#a6f9a2eb1a3c134a9ad2f28c12e91a676">getASTNodeFactory</a> (unsigned int type)</td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classASTFactory.html#a9c97858a3e774830ff79786df5e7eeb8">factory_descriptor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#a803fa045e14e331920a509f5a8dc84f1">default_factory_descriptor</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classASTFactory.html#a5dd9db29bc09513ee1b8d669cd47177d">factory_descriptor_list</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#a853cf94e2d67392314cbba6d1118b22c">nodeFactories</a></td></tr>
<tr><td colspan="2"><h2><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#ad7faba28b1da373a3270aabb3d2c3d36">ASTFactory</a> (const <a class="el" href="classASTFactory.html">ASTFactory</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classASTFactory.html">ASTFactory</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classASTFactory.html#a5607adf1c02048930cb94cb6265bde13">operator=</a> (const <a class="el" href="classASTFactory.html">ASTFactory</a> &amp;)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"><p><a class="el" href="classAST.html">AST</a> Super Factory shared by <a class="el" href="classTreeParser.html">TreeParser</a> and <a class="el" href="classParser.html">Parser</a>. This super factory maintains a map of all <a class="el" href="classAST.html">AST</a> node types to their respective <a class="el" href="classAST.html">AST</a> factories. One instance should be shared among a parser/treeparser chain.</p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>check all this code for possible use of references in stead of RefAST's. </dd></dl>
</div><hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a9c97858a3e774830ff79786df5e7eeb8"></a><!-- doxytag: member="ASTFactory::factory_descriptor" ref="a9c97858a3e774830ff79786df5e7eeb8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="ASTFactory_8hpp.html#a3b00832dfc56df44016c8e4a2fa859d9">factory_descriptor_</a> <a class="el" href="classASTFactory.html#a9c97858a3e774830ff79786df5e7eeb8">ASTFactory::factory_descriptor</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a5dd9db29bc09513ee1b8d669cd47177d"></a><!-- doxytag: member="ASTFactory::factory_descriptor_list" ref="a5dd9db29bc09513ee1b8d669cd47177d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="ASTFactory_8hpp.html#ad238d646f2cb061795ebb1781b5bd0b1">factory_descriptor_list_</a> <a class="el" href="classASTFactory.html#a5dd9db29bc09513ee1b8d669cd47177d">ASTFactory::factory_descriptor_list</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ab1f4d9a4164b3fdbc108cd80c4a90c91"></a><!-- doxytag: member="ASTFactory::factory_type" ref="ab1f4d9a4164b3fdbc108cd80c4a90c91" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="ASTFactory_8hpp.html#a2d75f858411b36f90810c514e027d898">factory_type_</a> <a class="el" href="classASTFactory.html#ab1f4d9a4164b3fdbc108cd80c4a90c91">ASTFactory::factory_type</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="afd7f65cf43db744f2d702c6e7f6f2442"></a><!-- doxytag: member="ASTFactory::ASTFactory" ref="afd7f65cf43db744f2d702c6e7f6f2442" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ASTFactory::ASTFactory </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Make new factory. Per default (Ref)<a class="el" href="classCommonAST.html">CommonAST</a> instances are generated. </p>
<p>Initialize factory.</p>
<p><a class="el" href="classAST.html">AST</a> Support code shared by <a class="el" href="classTreeParser.html">TreeParser</a> and <a class="el" href="classParser.html">Parser</a>. We use delegation to share code (and have only one bit of code to maintain) rather than subclassing or superclassing (forces <a class="el" href="classAST.html">AST</a> support code to be loaded even when you don't want to do <a class="el" href="classAST.html">AST</a> stuff).</p>
<p>This class collects all factories of <a class="el" href="classAST.html">AST</a> types used inside the code. New <a class="el" href="classAST.html">AST</a> node types are registered with the registerFactory method. On creation of an <a class="el" href="classASTFactory.html">ASTFactory</a> object a default <a class="el" href="classAST.html">AST</a> node factory may be specified.</p>
<p>When registering types gaps between different types are filled with entries for the default factory. </p>

</div>
</div>
<a class="anchor" id="a00f1b0f6666c42d4524458d26898b4ed"></a><!-- doxytag: member="ASTFactory::ASTFactory" ref="a00f1b0f6666c42d4524458d26898b4ed" args="(const char *factory_node_name, factory_type factory)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ASTFactory::ASTFactory </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>factory_node_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classASTFactory.html#ab1f4d9a4164b3fdbc108cd80c4a90c91">factory_type</a>&#160;</td>
          <td class="paramname"><em>fact</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Initialize factory with a non default node type. factory_node_name should be the name of the <a class="el" href="classAST.html">AST</a> node type the factory generates. (should exist during the existance of this <a class="el" href="classASTFactory.html">ASTFactory</a> instance) </p>

</div>
</div>
<a class="anchor" id="acdf5532a1a16457623335fffcd8ff96e"></a><!-- doxytag: member="ASTFactory::~ASTFactory" ref="acdf5532a1a16457623335fffcd8ff96e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ASTFactory::~ASTFactory </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destroy factory. </p>
<p>Delete <a class="el" href="classASTFactory.html">ASTFactory</a>. </p>

</div>
</div>
<a class="anchor" id="ad7faba28b1da373a3270aabb3d2c3d36"></a><!-- doxytag: member="ASTFactory::ASTFactory" ref="ad7faba28b1da373a3270aabb3d2c3d36" args="(const ASTFactory &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ASTFactory::ASTFactory </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classASTFactory.html">ASTFactory</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="abb0d6c6064f96da88e4d757dfb8ad2d9"></a><!-- doxytag: member="ASTFactory::addASTChild" ref="abb0d6c6064f96da88e4d757dfb8ad2d9" args="(ASTPair &amp;currentAST, RefAST child)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ASTFactory::addASTChild </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classASTPair.html">ASTPair</a> &amp;&#160;</td>
          <td class="paramname"><em>currentAST</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classASTRefCount.html">RefAST</a>&#160;</td>
          <td class="paramname"><em>child</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a child to the current <a class="el" href="classAST.html">AST</a>. </p>
<p>Add a child to the current <a class="el" href="classAST.html">AST</a> </p>

</div>
</div>
<a class="anchor" id="a4ae66873b11caacc90f48cc5ca967152"></a><!-- doxytag: member="ASTFactory::checkCloseTag" ref="a4ae66873b11caacc90f48cc5ca967152" args="(std::istream &amp;infile)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ASTFactory::checkCloseTag </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&#160;</td>
          <td class="paramname"><em>infile</em></td><td>)</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="acd0c8fa258d0419b230c7b146d8abb67"></a><!-- doxytag: member="ASTFactory::create" ref="acd0c8fa258d0419b230c7b146d8abb67" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classASTRefCount.html">RefAST</a> ASTFactory::create </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create new empty <a class="el" href="classAST.html">AST</a> node. The right default type shou. </p>
<p>Create a new empty <a class="el" href="classAST.html">AST</a> node; if the user did not specify an <a class="el" href="classAST.html">AST</a> node type, then create a default one: <a class="el" href="classCommonAST.html">CommonAST</a>. </p>

</div>
</div>
<a class="anchor" id="ac12973204add38802871896f0e0a60c7"></a><!-- doxytag: member="ASTFactory::create" ref="ac12973204add38802871896f0e0a60c7" args="(RefToken tok)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classASTRefCount.html">RefAST</a> ASTFactory::create </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTokenRefCount.html">RefToken</a>&#160;</td>
          <td class="paramname"><em>tok</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create new <a class="el" href="classAST.html">AST</a> node and initialize contents from a token. </p>

</div>
</div>
<a class="anchor" id="af46a17f9a780a448ec9ab520d3119db0"></a><!-- doxytag: member="ASTFactory::create" ref="af46a17f9a780a448ec9ab520d3119db0" args="(const std::string &amp;txt, std::istream &amp;infile)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classASTRefCount.html">RefAST</a> ASTFactory::create </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>txt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::istream &amp;&#160;</td>
          <td class="paramname"><em>infile</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create new <a class="el" href="classAST.html">AST</a> node and initialize contents from a stream. </p>

</div>
</div>
<a class="anchor" id="a8298a8ad3504ef55fb0fd49d9156b02f"></a><!-- doxytag: member="ASTFactory::create" ref="a8298a8ad3504ef55fb0fd49d9156b02f" args="(int type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classASTRefCount.html">RefAST</a> ASTFactory::create </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>type</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create <a class="el" href="classAST.html">AST</a> node of the right type for 'type'. </p>

</div>
</div>
<a class="anchor" id="af8137fdbc161e655889cb7a4daec63bf"></a><!-- doxytag: member="ASTFactory::create" ref="af8137fdbc161e655889cb7a4daec63bf" args="(int type, const std::string &amp;txt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classASTRefCount.html">RefAST</a> ASTFactory::create </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>txt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create <a class="el" href="classAST.html">AST</a> node of the right type for 'type' and initialize with txt. </p>

</div>
</div>
<a class="anchor" id="a8b1a67e507c5d7ee83414ab03b854346"></a><!-- doxytag: member="ASTFactory::create" ref="a8b1a67e507c5d7ee83414ab03b854346" args="(RefAST tr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classASTRefCount.html">RefAST</a> ASTFactory::create </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classASTRefCount.html">RefAST</a>&#160;</td>
          <td class="paramname"><em>tr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create duplicate of tr. </p>
<p>Create a new empty <a class="el" href="classAST.html">AST</a> node; if the user did not specify an <a class="el" href="classAST.html">AST</a> node type, then create a default one: <a class="el" href="classCommonAST.html">CommonAST</a>. </p>

</div>
</div>
<a class="anchor" id="af81063ee8ba6928502bc726f09d3049f"></a><!-- doxytag: member="ASTFactory::dup" ref="af81063ee8ba6928502bc726f09d3049f" args="(RefAST t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classASTRefCount.html">RefAST</a> ASTFactory::dup </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classASTRefCount.html">RefAST</a>&#160;</td>
          <td class="paramname"><em>t</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Deep copy a single node. This function the new clone() methods in the <a class="el" href="classAST.html">AST</a> interface. Returns a new RefAST(nullASTptr) if t is null.</p>
<p>Deep copy a single node. This function the new clone() methods in the <a class="el" href="classAST.html">AST</a> interface. Returns nullAST if t is null. </p>

</div>
</div>
<a class="anchor" id="a78a74353746ce9196baf5bfab7a21c71"></a><!-- doxytag: member="ASTFactory::dupList" ref="a78a74353746ce9196baf5bfab7a21c71" args="(RefAST t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classASTRefCount.html">RefAST</a> ASTFactory::dupList </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classASTRefCount.html">RefAST</a>&#160;</td>
          <td class="paramname"><em>t</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Duplicate tree including siblings of root. </p>

</div>
</div>
<a class="anchor" id="afb94f89c2233918b2f8db2e89740b5c0"></a><!-- doxytag: member="ASTFactory::dupTree" ref="afb94f89c2233918b2f8db2e89740b5c0" args="(RefAST t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classASTRefCount.html">RefAST</a> ASTFactory::dupTree </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classASTRefCount.html">RefAST</a>&#160;</td>
          <td class="paramname"><em>t</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Duplicate a tree, assuming this is a root node of a tree-- duplicate that node and what's below; ignore siblings of root node.</p>
<p>Duplicate a tree, assuming this is a root node of a tree duplicate that node and what's below; ignore siblings of root node. </p>

</div>
</div>
<a class="anchor" id="a6f9a2eb1a3c134a9ad2f28c12e91a676"></a><!-- doxytag: member="ASTFactory::getASTNodeFactory" ref="a6f9a2eb1a3c134a9ad2f28c12e91a676" args="(unsigned int type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classASTFactory.html#ab1f4d9a4164b3fdbc108cd80c4a90c91">factory_type</a> ASTFactory::getASTNodeFactory </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>type</em></td><td>)</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a636d3e54488e7308577da8efd8c36214"></a><!-- doxytag: member="ASTFactory::getASTNodeType" ref="a636d3e54488e7308577da8efd8c36214" args="(unsigned int type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* ASTFactory::getASTNodeType </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>type</em></td><td>)</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get the name of the node 'type' </p>

</div>
</div>
<a class="anchor" id="ab52e3f4268d49df3bb1b00a913abbca6"></a><!-- doxytag: member="ASTFactory::getNodeOfType" ref="ab52e3f4268d49df3bb1b00a913abbca6" args="(unsigned int type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classASTRefCount.html">RefAST</a> ASTFactory::getNodeOfType </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>type</em></td><td>)</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a76aa8e4af4eb68d40ba28d4f7d6c469e"></a><!-- doxytag: member="ASTFactory::loadChildren" ref="a76aa8e4af4eb68d40ba28d4f7d6c469e" args="(std::istream &amp;infile, RefAST current)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ASTFactory::loadChildren </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&#160;</td>
          <td class="paramname"><em>infile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classASTRefCount.html">RefAST</a>&#160;</td>
          <td class="paramname"><em>current</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a12e54c6d06779246aa2823cfd25a31fb"></a><!-- doxytag: member="ASTFactory::loadSiblings" ref="a12e54c6d06779246aa2823cfd25a31fb" args="(std::istream &amp;infile, RefAST current)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ASTFactory::loadSiblings </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&#160;</td>
          <td class="paramname"><em>infile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classASTRefCount.html">RefAST</a>&#160;</td>
          <td class="paramname"><em>current</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ae0402b48fd8792961bc4ba1992e3805f"></a><!-- doxytag: member="ASTFactory::make" ref="ae0402b48fd8792961bc4ba1992e3805f" args="(std::vector&lt; RefAST &gt; &amp;nodes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classASTRefCount.html">RefAST</a> ASTFactory::make </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="classASTRefCount.html">RefAST</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>nodes</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Make a tree from a list of nodes. The first element in the array is the root. If the root is null, then the tree is a simple list not a tree. Handles null children nodes correctly. For example, make(a, b, null, c) yields tree (a b c). make(null,a,b) yields tree (nil a b). </p>

</div>
</div>
<a class="anchor" id="a186ad4df82551cde470a4fca863d5f9e"></a><!-- doxytag: member="ASTFactory::make" ref="a186ad4df82551cde470a4fca863d5f9e" args="(ASTArray *nodes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classASTRefCount.html">RefAST</a> ASTFactory::make </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classASTArray.html">ASTArray</a> *&#160;</td>
          <td class="paramname"><em>nodes</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Make a tree from a list of nodes, where the nodes are contained in an <a class="el" href="classASTArray.html">ASTArray</a> object. The <a class="el" href="classASTArray.html">ASTArray</a> is deleted after use. </p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd>FIXME! I have a feeling we can get rid of this ugly <a class="el" href="classASTArray.html">ASTArray</a> thing </dd></dl>
<p>Make a tree from a list of nodes, where the nodes are contained in an <a class="el" href="classASTArray.html">ASTArray</a> object </p>

</div>
</div>
<a class="anchor" id="ac9634c6fbd0a07454214fc68ec1a1973"></a><!-- doxytag: member="ASTFactory::makeASTRoot" ref="ac9634c6fbd0a07454214fc68ec1a1973" args="(ASTPair &amp;currentAST, RefAST root)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ASTFactory::makeASTRoot </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classASTPair.html">ASTPair</a> &amp;&#160;</td>
          <td class="paramname"><em>currentAST</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classASTRefCount.html">RefAST</a>&#160;</td>
          <td class="paramname"><em>root</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Make an <a class="el" href="classAST.html">AST</a> the root of current <a class="el" href="classAST.html">AST</a>. </p>

</div>
</div>
<a class="anchor" id="a5607adf1c02048930cb94cb6265bde13"></a><!-- doxytag: member="ASTFactory::operator=" ref="a5607adf1c02048930cb94cb6265bde13" args="(const ASTFactory &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classASTFactory.html">ASTFactory</a>&amp; ASTFactory::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classASTFactory.html">ASTFactory</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a0e7fb1eefd7138f4766f7bd73683acef"></a><!-- doxytag: member="ASTFactory::registerFactory" ref="a0e7fb1eefd7138f4766f7bd73683acef" args="(int type, const char *ast_name, factory_type factory)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ASTFactory::registerFactory </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>ast_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classASTFactory.html#ab1f4d9a4164b3fdbc108cd80c4a90c91">factory_type</a>&#160;</td>
          <td class="paramname"><em>factory</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Register a node factory for the node type type with name ast_name. </p>
<p>Register a factory for a given <a class="el" href="classAST.html">AST</a> type. </p>

</div>
</div>
<a class="anchor" id="ab8f467998ab767e0aee88a3b736b0fa7"></a><!-- doxytag: member="ASTFactory::setASTNodeFactory" ref="ab8f467998ab767e0aee88a3b736b0fa7" args="(const char *factory_node_name, factory_type factory)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ASTFactory::setASTNodeFactory </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>factory_node_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classASTFactory.html#ab1f4d9a4164b3fdbc108cd80c4a90c91">factory_type</a>&#160;</td>
          <td class="paramname"><em>factory</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set a new default <a class="el" href="classAST.html">AST</a> type. factory_node_name should be the name of the <a class="el" href="classAST.html">AST</a> node type the factory generates. (should exist during the existance of this <a class="el" href="classASTFactory.html">ASTFactory</a> instance). Only change factory between parser runs. You might get unexpected results otherwise. </p>

</div>
</div>
<a class="anchor" id="add369568ba81b66258154baf6a5997f3"></a><!-- doxytag: member="ASTFactory::setMaxNodeType" ref="add369568ba81b66258154baf6a5997f3" args="(int type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ASTFactory::setMaxNodeType </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>type</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the maximum node (<a class="el" href="classAST.html">AST</a>) type this factory may encounter. </p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a803fa045e14e331920a509f5a8dc84f1"></a><!-- doxytag: member="ASTFactory::default_factory_descriptor" ref="a803fa045e14e331920a509f5a8dc84f1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classASTFactory.html#a9c97858a3e774830ff79786df5e7eeb8">factory_descriptor</a> <a class="el" href="classASTFactory.html#a803fa045e14e331920a509f5a8dc84f1">ASTFactory::default_factory_descriptor</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a853cf94e2d67392314cbba6d1118b22c"></a><!-- doxytag: member="ASTFactory::nodeFactories" ref="a853cf94e2d67392314cbba6d1118b22c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classASTFactory.html#a5dd9db29bc09513ee1b8d669cd47177d">factory_descriptor_list</a> <a class="el" href="classASTFactory.html#a853cf94e2d67392314cbba6d1118b22c">ASTFactory::nodeFactories</a><code> [protected]</code></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="ASTFactory_8hpp_source.html">ASTFactory.hpp</a></li>
<li>src/<a class="el" href="ASTFactory_8cpp.html">ASTFactory.cpp</a></li>
</ul>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Defines</a></div>

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

<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 25 2011 for ANTLR Support Libraries 2.7.1+ by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address>
</body>
</html>