<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Colorer-take5 Library: TextParser 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>TextParser Class Reference<br> <small> [<a class="el" href="group__colorer.html">Colorer interfaces</a>]</small> </h1><!-- doxytag: class="TextParser" --><p>Inheritance diagram for TextParser: <p><center><img src="classTextParser.png" usemap="#TextParser_map" border="0" alt=""></center> <map name="TextParser_map"> <area href="classTextParserImpl.html" alt="TextParserImpl" shape="rect" coords="0,56,95,80"> </map> <hr><a name="_details"></a><h2>Detailed Description</h2> Basic lexical/syntax parser interface. <p> This class provides interface to lexical text parsing abilities of the Colorer library.<p> It uses <a class="el" href="classLineSource.html">LineSource</a> interface as a source of input data, and <a class="el" href="classRegionHandler.html">RegionHandler</a> as interface to transfer results of text parse process.<p> Process of syntax parsing supports internal caching algorithim, which allows to store internal parser state and reparse text only partially (on change, on request). <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">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTextParser.html#8f2a047ca6735a61545669473ace24e7">setFileType</a> (<a class="el" href="classFileType.html">FileType</a> *type)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets root scheme (filetype) of the text to parse. <a href="#8f2a047ca6735a61545669473ace24e7"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="37e5f8ce0b77f28bc51bda4f63f67675"></a><!-- doxytag: member="TextParser::setLineSource" ref="37e5f8ce0b77f28bc51bda4f63f67675" args="(LineSource *lh)=0" --> virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTextParser.html#37e5f8ce0b77f28bc51bda4f63f67675">setLineSource</a> (<a class="el" href="classLineSource.html">LineSource</a> *lh)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Installs <a class="el" href="classLineSource.html">LineSource</a>, used as an input of text to parse. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f99fa8aa28913cf0243c615708bc7559"></a><!-- doxytag: member="TextParser::setRegionHandler" ref="f99fa8aa28913cf0243c615708bc7559" args="(RegionHandler *rh)=0" --> virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTextParser.html#f99fa8aa28913cf0243c615708bc7559">setRegionHandler</a> (<a class="el" href="classRegionHandler.html">RegionHandler</a> *rh)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classRegionHandler.html">RegionHandler</a>, used as output stream for parsed tree. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classTextParser.html#e96dd5f2a122e79c6e394c83b22104e2">parse</a> (int from, int num, <a class="el" href="group__colorer.html#g326b2a384edd11475e9bcee6e3036ff1">TextParseMode</a> mode)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Performs cachable text parse. <a href="#e96dd5f2a122e79c6e394c83b22104e2"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTextParser.html#90a1fd42f2918c6ef8cd5f71e8ac321c">breakParse</a> ()=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Performs break of parsing process from external thread. <a href="#90a1fd42f2918c6ef8cd5f71e8ac321c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="04e23aca6f38f8a059b08fd7fdc05fa8"></a><!-- doxytag: member="TextParser::clearCache" ref="04e23aca6f38f8a059b08fd7fdc05fa8" args="()=0" --> virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTextParser.html#04e23aca6f38f8a059b08fd7fdc05fa8">clearCache</a> ()=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Clears internal cached text tree stucture. <br></td></tr> </table> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="8f2a047ca6735a61545669473ace24e7"></a><!-- doxytag: member="TextParser::setFileType" ref="8f2a047ca6735a61545669473ace24e7" args="(FileType *type)=0" --><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">virtual void TextParser::setFileType </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classFileType.html">FileType</a> * </td> <td class="mdname1" valign="top" nowrap> <em>type</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [pure virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Sets root scheme (filetype) of the text to parse. <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>type</em> </td><td><a class="el" href="classFileType.html">FileType</a>, which contains reference to it's baseScheme. If parameter is null, there will be no any kind of parse over the text. </td></tr> </table> </dl> </td> </tr> </table> <a class="anchor" name="e96dd5f2a122e79c6e394c83b22104e2"></a><!-- doxytag: member="TextParser::parse" ref="e96dd5f2a122e79c6e394c83b22104e2" args="(int from, int num, TextParseMode mode)=0" --><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">virtual int TextParser::parse </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">int </td> <td class="mdname" nowrap> <em>from</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>num</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap><a class="el" href="group__colorer.html#g326b2a384edd11475e9bcee6e3036ff1">TextParseMode</a> </td> <td class="mdname" nowrap> <em>mode</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"><code> [pure virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Performs cachable text parse. <p> Can build internal structure of contexts, allowing apprication to continue parse from any already reached position of text. This guarantees the validness of result parse information. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>from</em> </td><td>Line to start parsing </td></tr> <tr><td valign="top"></td><td valign="top"><em>num</em> </td><td>Number of lines to parse </td></tr> <tr><td valign="top"></td><td valign="top"><em>mode</em> </td><td>Parsing mode. </td></tr> </table> </dl> </td> </tr> </table> <a class="anchor" name="90a1fd42f2918c6ef8cd5f71e8ac321c"></a><!-- doxytag: member="TextParser::breakParse" ref="90a1fd42f2918c6ef8cd5f71e8ac321c" args="()=0" --><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">virtual void TextParser::breakParse </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [pure virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Performs break of parsing process from external thread. <p> It is used to stop parse from external source. This is required in some editor system implementations, where editor can detect background changes in highlighted text. </td> </tr> </table> <br><br> <center><small> Colorer-take5 Library. Copyright © 1999-2006 Igor Russkih.<br> Generated at Fri Nov 24 17:13:14 2006 by doxygen 1.4.6. </small><center> </BODY> </HTML>