<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>ANTLR3C: include/antlr3lexer.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript"> $(document).ready(initResizable); </script> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.3 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">ANTLR3C <span id="projectnumber">3.1.2</span></div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> </div> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> initNavTree('antlr3lexer_8h.html',''); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#define-members">Defines</a> | <a href="#typedef-members">Typedefs</a> </div> <div class="headertitle"> <h1>antlr3lexer.h File Reference</h1> </div> </div> <div class="contents"> <p>Base interface for any ANTLR3 lexer. <a href="#_details">More...</a></p> <div class="textblock"><code>#include <<a class="el" href="antlr3defs_8h.html">antlr3defs.h</a>></code><br/> <code>#include <<a class="el" href="antlr3input_8h.html">antlr3input.h</a>></code><br/> <code>#include <<a class="el" href="antlr3commontoken_8h.html">antlr3commontoken.h</a>></code><br/> <code>#include <<a class="el" href="antlr3tokenstream_8h.html">antlr3tokenstream.h</a>></code><br/> <code>#include <<a class="el" href="antlr3baserecognizer_8h.html">antlr3baserecognizer.h</a>></code><br/> </div><div class="textblock"><div class="dynheader"> Include dependency graph for antlr3lexer.h:</div> <div class="dyncontent"> <div class="center"><img src="antlr3lexer_8h__incl.png" border="0" usemap="#include_2antlr3lexer_8h" alt=""/></div> <map name="include_2antlr3lexer_8h" id="include_2antlr3lexer_8h"> <area shape="rect" id="node3" href="antlr3defs_8h.html" title="Basic type and constant definitions for ANTLR3 Runtime." alt="" coords="1140,827,1281,853"/><area shape="rect" id="node16" href="antlr3input_8h.html" title="Defines the basic structures used to manipulate character streams from any input source." alt="" coords="1864,379,2016,405"/><area shape="rect" id="node29" href="antlr3commontoken_8h.html" title="Defines the interface for a common token." alt="" coords="1692,528,1903,555"/><area shape="rect" id="node37" href="antlr3tokenstream_8h.html" title="Defines the interface for an ANTLR3 common token stream." alt="" coords="1505,304,1716,331"/><area shape="rect" id="node54" href="antlr3baserecognizer_8h.html" title="Defines the basic structure to support recognizing by either a lexer, parser, or tree parser..." alt="" coords="1369,80,1612,107"/><area shape="rect" id="node5" href="antlr3errors_8h.html" title="antlr3errors.h" alt="" coords="707,901,869,928"/><area shape="rect" id="node11" href="antlr3interfaces_8h.html" title="Declarations for all the antlr3 C runtime interfaces/classes." alt="" coords="1195,901,1397,928"/><area shape="rect" id="node13" href="antlr3convertutf_8h.html" title="antlr3convertutf.h" alt="" coords="1421,901,1624,928"/><area shape="rect" id="node19" href="antlr3string_8h.html" title="Simple string interface allows indiscriminate allocation of strings such that they can be allocated a..." alt="" coords="1228,603,1391,629"/><area shape="rect" id="node32" href="antlr3intstream_8h.html" title="Defines the the class interface for an antlr3 INTSTREAM." alt="" coords="1844,453,2036,480"/><area shape="rect" id="node22" href="antlr3collections_8h.html" title="antlr3collections.h" alt="" coords="1275,677,1485,704"/><area shape="rect" id="node25" href="antlr3bitset_8h.html" title="Defines the basic structures of an ANTLR3 bitset." alt="" coords="1299,752,1461,779"/><area shape="rect" id="node45" href="antlr3debugeventlistener_8h.html" title="The definition of all debugging events that a recognizer can trigger." alt="" coords="727,453,1009,480"/><area shape="rect" id="node48" href="antlr3basetree_8h.html" title="Definition of the ANTLR3 base tree." alt="" coords="879,528,1060,555"/><area shape="rect" id="node57" href="antlr3exception_8h.html" title="Contains the definition of a basic ANTLR3 exception structure created by a recognizer when errors are..." alt="" coords="103,229,295,256"/><area shape="rect" id="node63" href="antlr3commontreenodestream_8h.html" title="Definition of the ANTLR3 common tree node stream." alt="" coords="1239,229,1540,256"/><area shape="rect" id="node90" href="antlr3recognizersharedstate_8h.html" title="While the C runtime does not need to model the state of multiple lexers and parsers in the same way a..." alt="" coords="93,603,405,629"/><area shape="rect" id="node94" href="antlr3parser_8h.html" title="Base implementation of an ANTLR3 parser." alt="" coords="623,155,785,181"/><area shape="rect" id="node98" href="antlr3treeparser_8h.html" title="antlr3treeparser.h" alt="" coords="1389,155,1592,181"/><area shape="rect" id="node66" href="antlr3commontreeadaptor_8h.html" title="Definition of the ANTLR3 common tree adaptor." alt="" coords="951,304,1223,331"/><area shape="rect" id="node79" href="antlr3commontree_8h.html" title="antlr3commontree.h" alt="" coords="500,453,703,480"/><area shape="rect" id="node71" href="antlr3basetreeadaptor_8h.html" title="Definition of the ANTLR3 base tree adaptor." alt="" coords="961,379,1212,405"/></map> </div> </div><div class="textblock"><div class="dynheader"> This graph shows which files directly or indirectly include this file:</div> <div class="dyncontent"> <div class="center"><img src="antlr3lexer_8h__dep__incl.png" border="0" usemap="#include_2antlr3lexer_8hdep" alt=""/></div> <map name="include_2antlr3lexer_8hdep" id="include_2antlr3lexer_8hdep"> <area shape="rect" id="node3" href="antlr3_8h.html" title="include/antlr3.h" alt="" coords="84,229,265,256"/><area shape="rect" id="node5" href="antlr3baserecognizer_8h.html" title="Defines the basic structure to support recognizing by either a lexer, parser, or tree parser..." alt="" coords="294,80,617,107"/><area shape="rect" id="node8" href="antlr3cyclicdfa_8h.html" title="include/antlr3cyclicdfa.h" alt="" coords="38,155,310,181"/><area shape="rect" id="node12" href="antlr3parser_8h.html" title="Base implementation of an ANTLR3 parser." alt="" coords="334,155,577,181"/><area shape="rect" id="node16" href="antlr3rewritestreams_8h.html" title="include/antlr3rewritestreams.h" alt="" coords="601,155,924,181"/><area shape="rect" id="node19" href="antlr3treeparser_8h.html" title="include/antlr3treeparser.h" alt="" coords="948,155,1230,181"/></map> </div> </div><table class="memberdecls"> <tr><td colspan="2"><h2><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a></td></tr> <tr><td colspan="2"><h2><a name="define-members"></a> Defines</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="antlr3lexer_8h.html#a93554bfc4d31184420936d7d667d76e4">ANTLR3_STRING_TERMINATOR</a>   0xFFFFFFFF</td></tr> <tr><td colspan="2"><h2><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="antlr3lexer_8h.html#ab466950d354532366c2088748f84a695">ANTLR3_LEXER</a></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Base interface for any ANTLR3 lexer. </p> <p>An ANLTR3 lexer builds from two sets of components:</p> <ul> <li>The runtime components that provide common functionality such as traversing character streams, building tokens for output and so on.</li> <li>The generated rules and struutre of the actual lexer, which call upon the runtime components.</li> </ul> <p>A lexer class contains a character input stream, a base recognizer interface (which it will normally implement) and a token source interface (which it also implements. The Tokensource interface is called by a token consumer (such as a parser, but in theory it can be anything that wants a set of abstract tokens in place of a raw character stream.</p> <p>So then, we set up a lexer in a sequence akin to:</p> <ul> <li>Create a character stream (something which implements ANTLR3_INPUT_STREAM) and initialize it.</li> <li>Create a lexer interface and tell it where it its input stream is. This will cause the creation of a base recognizer class, which it will override with its own implementations of some methods. The lexer creator can also then in turn override anything it likes.</li> <li>The lexer token source interface is then passed to some interface that knows how to use it, byte calling for a next token.</li> <li>When a next token is called, let ze lexing begin. </li> </ul> </div><hr/><h2>Define Documentation</h2> <a class="anchor" id="a93554bfc4d31184420936d7d667d76e4"></a><!-- doxytag: member="antlr3lexer.h::ANTLR3_STRING_TERMINATOR" ref="a93554bfc4d31184420936d7d667d76e4" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define ANTLR3_STRING_TERMINATOR   0xFFFFFFFF</td> </tr> </table> </div> <div class="memdoc"> <p>Referenced by <a class="el" href="antlr3lexer_8c.html#ada6b8aff9bb627d91beaccca57c80e28">matchs()</a>.</p> </div> </div> <hr/><h2>Typedef Documentation</h2> <a class="anchor" id="ab466950d354532366c2088748f84a695"></a><!-- doxytag: member="antlr3lexer.h::ANTLR3_LEXER" ref="ab466950d354532366c2088748f84a695" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER_struct</a> <a class="el" href="struct_a_n_t_l_r3___l_e_x_e_r__struct.html">ANTLR3_LEXER</a></td> </tr> </table> </div> <div class="memdoc"> </div> </div> </div> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="antlr3lexer_8h.html">antlr3lexer.h</a> </li> <li class="footer">Generated on Tue Feb 8 2011 for ANTLR3C by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </li> </ul> </div> </body> </html>