<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Colorer-take5 Library: ParseCache Class Reference</title> <link href="../styles/styles.css" rel="stylesheet" type="text/css"> <link href="../styles/doc.css" rel="stylesheet" type="text/css"> <link rel="icon" href="../images/logo-small-api.png"/> </head> <body> <div align='center'> <a href="../index.html">Home</a> | <a href="modules.html">Modules</a> | <a href="hierarchy.html">Class Hierarchy</a> | <a href="classes.html">Alphabetical List</a> | <a href="annotated.html">Compound List</a> | <a href="pages.html">Related Pages</a> </div> <!-- Generated by Doxygen 1.4.6 --> <h1>ParseCache Class Reference<br> <small> [<a class="el" href="group__colorer__parsers.html">Parsers</a>]</small> </h1><!-- doxytag: class="ParseCache" --><hr><a name="_details"></a><h2>Detailed Description</h2> Internal parser's cache storage. <p> Each object instance stores parse information about single level of <a class="el" href="classScheme.html">Scheme</a> objects. The object always takes more, than a single line, because single-line scheme match doesn't need to be cached. <p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classParseCache.html">ParseCache</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classParseCache.html#3a96482af3ee09ac7c7604f391fe236c">searchLine</a> (int ln, <a class="el" href="classParseCache.html">ParseCache</a> **cache)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Searched a cache position for the specified line number. <a href="#3a96482af3ee09ac7c7604f391fe236c"></a><br></td></tr> <tr><td colspan="2"><br><h2>Data Fields</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4201613c064e1a11804a501976f5dad0"></a><!-- doxytag: member="ParseCache::sline" ref="4201613c064e1a11804a501976f5dad0" args="" --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classParseCache.html#4201613c064e1a11804a501976f5dad0">sline</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Start and end lines of this scheme match. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="482a95cc2c77a1dd7435e2655212a3af"></a><!-- doxytag: member="ParseCache::eline" ref="482a95cc2c77a1dd7435e2655212a3af" args="" --> int </td><td class="memItemRight" valign="bottom"><b>eline</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="685076bdd6008d807e9f84ab1148b9ea"></a><!-- doxytag: member="ParseCache::scheme" ref="685076bdd6008d807e9f84ab1148b9ea" args="" --> <a class="el" href="classSchemeImpl.html">SchemeImpl</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classParseCache.html#685076bdd6008d807e9f84ab1148b9ea">scheme</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classScheme.html">Scheme</a>, matched for this cache entry. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c19778a13ce9db2f6a51dc27cf553938"></a><!-- doxytag: member="ParseCache::clender" ref="c19778a13ce9db2f6a51dc27cf553938" args="" --> const <a class="el" href="classSchemeNode.html">SchemeNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classParseCache.html#c19778a13ce9db2f6a51dc27cf553938">clender</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Particular parent block object, caused this scheme to be instantiated. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3975c8b6908b60e007bff3dd6b4d2ecc"></a><!-- doxytag: member="ParseCache::vcache" ref="3975c8b6908b60e007bff3dd6b4d2ecc" args="" --> <a class="el" href="classVector.html">VirtualEntryVector</a> ** </td><td class="memItemRight" valign="bottom"><a class="el" href="classParseCache.html#3975c8b6908b60e007bff3dd6b4d2ecc">vcache</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classScheme.html">Scheme</a> virtualization cache entry. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="033c3b850eb9503f4edeb6b24f29b4c8"></a><!-- doxytag: member="ParseCache::matchstart" ref="033c3b850eb9503f4edeb6b24f29b4c8" args="" --> SMatches </td><td class="memItemRight" valign="bottom"><a class="el" href="classParseCache.html#033c3b850eb9503f4edeb6b24f29b4c8">matchstart</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">RE Match object for start RE of the enwrapped <block> object. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="68f283d75a55780486ba561102ca12de"></a><!-- doxytag: member="ParseCache::backLine" ref="68f283d75a55780486ba561102ca12de" args="" --> <a class="el" href="classSString.html">SString</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classParseCache.html#68f283d75a55780486ba561102ca12de">backLine</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Copy of the line with parent's start RE. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a36c14c67c96680ced153b565976b03a"></a><!-- doxytag: member="ParseCache::children" ref="a36c14c67c96680ced153b565976b03a" args="" --> <a class="el" href="classParseCache.html">ParseCache</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classParseCache.html#a36c14c67c96680ced153b565976b03a">children</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Tree structure references in parse cache. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="474bc3dc3d10e7ae9cbd11c57727f6b7"></a><!-- doxytag: member="ParseCache::next" ref="474bc3dc3d10e7ae9cbd11c57727f6b7" args="" --> <a class="el" href="classParseCache.html">ParseCache</a> * </td><td class="memItemRight" valign="bottom"><b>next</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0bef1a2ee798bf1da98780685c545104"></a><!-- doxytag: member="ParseCache::parent" ref="0bef1a2ee798bf1da98780685c545104" args="" --> <a class="el" href="classParseCache.html">ParseCache</a> * </td><td class="memItemRight" valign="bottom"><b>parent</b></td></tr> </table> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="3a96482af3ee09ac7c7604f391fe236c"></a><!-- doxytag: member="ParseCache::searchLine" ref="3a96482af3ee09ac7c7604f391fe236c" args="(int ln, ParseCache **cache)" --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="classParseCache.html">ParseCache</a> * ParseCache::searchLine </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">int </td> <td class="mdname" nowrap> <em>ln</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap><a class="el" href="classParseCache.html">ParseCache</a> ** </td> <td class="mdname" nowrap> <em>cache</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Searched a cache position for the specified line number. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>ln</em> </td><td>Line number to search for </td></tr> <tr><td valign="top"></td><td valign="top"><em>cache</em> </td><td>Cache entry, filled with last child cache entry. </td></tr> </table> </dl> <dl compact><dt><b>Returns:</b></dt><dd>Cache entry, assigned to the specified line number </dd></dl> </td> </tr> </table> <br><br> <center><small> Colorer-take5 Library. Copyright © 1999-2006 Igor Russkih.<br> Generated at Fri Nov 24 17:13:13 2006 by doxygen 1.4.6. </small><center> </BODY> </HTML>