<!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.5"/> <title>ANTLR3C: include/antlr3lexer.h File 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="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> $(document).ready(initResizable); $(window).load(resizeHeight); </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 style="padding-left: 0.5em;"> <div id="projectname">ANTLR3C  <span id="projectnumber">3.3.1</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <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> </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><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> $(document).ready(function(){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">Macros</a> | <a href="#typedef-members">Typedefs</a> </div> <div class="headertitle"> <div class="title">antlr3lexer.h File Reference</div> </div> </div><!--header--> <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="node2" href="antlr3defs_8h.html" title="Basic type and constant definitions for ANTLR3 Runtime. " alt="" coords="1409,827,1551,853"/><area shape="rect" id="node25" href="antlr3input_8h.html" title="Defines the basic structures used to manipulate character streams from any input source. " alt="" coords="259,379,411,405"/><area shape="rect" id="node29" href="antlr3commontoken_8h.html" title="Defines the interface for a common token. " alt="" coords="778,528,989,555"/><area shape="rect" id="node31" href="antlr3tokenstream_8h.html" title="Defines the interface for an ANTLR3 common token stream. " alt="" coords="594,304,805,331"/><area shape="rect" id="node34" href="antlr3baserecognizer_8h.html" title="Defines the basic structure to support recognizing by either a lexer, parser, or tree parser..." alt="" coords="619,80,861,107"/><area shape="rect" id="node3" href="antlr3errors_8h.html" title="antlr3errors.h" alt="" coords="2980,901,3143,928"/><area shape="rect" id="node23" href="antlr3interfaces_8h.html" title="Declarations for all the antlr3 C runtime interfaces/classes. " alt="" coords="2753,901,2956,928"/><area shape="rect" id="node24" href="antlr3convertutf_8h.html" title="antlr3convertutf.h" alt="" coords="5,901,208,928"/><area shape="rect" id="node26" href="antlr3string_8h.html" title="Simple string interface allows indiscriminate allocation of strings such that they can be allocated a..." alt="" coords="1288,603,1451,629"/><area shape="rect" id="node30" href="antlr3intstream_8h.html" title="Defines the the class interface for an antlr3 INTSTREAM. " alt="" coords="461,453,653,480"/><area shape="rect" id="node27" href="antlr3collections_8h.html" title="antlr3collections.h" alt="" coords="1263,677,1475,704"/><area shape="rect" id="node28" href="antlr3bitset_8h.html" title="Defines the basic structures of an ANTLR3 bitset. " alt="" coords="1275,752,1437,779"/><area shape="rect" id="node32" href="antlr3debugeventlistener_8h.html" title="The definition of all debugging events that a recognizer can trigger. " alt="" coords="981,453,1263,480"/><area shape="rect" id="node33" href="antlr3basetree_8h.html" title="Definition of the ANTLR3 base tree. " alt="" coords="1518,528,1700,555"/><area shape="rect" id="node35" href="antlr3exception_8h.html" title="Contains the definition of a basic ANTLR3 exception structure created by a recognizer when errors are..." alt="" coords="816,229,1008,256"/><area shape="rect" id="node36" href="antlr3commontreenodestream_8h.html" title="Definition of the ANTLR3 common tree node stream. " alt="" coords="1186,229,1488,256"/><area shape="rect" id="node40" 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="2124,603,2436,629"/><area shape="rect" id="node41" href="antlr3parser_8h.html" title="Base implementation of an ANTLR3 parser. " alt="" coords="308,155,471,181"/><area shape="rect" id="node42" href="antlr3treeparser_8h.html" title="antlr3treeparser.h" alt="" coords="1177,155,1380,181"/><area shape="rect" id="node37" href="antlr3commontreeadaptor_8h.html" title="Definition of the ANTLR3 common tree adaptor. " alt="" coords="1481,304,1752,331"/><area shape="rect" id="node39" href="antlr3commontree_8h.html" title="antlr3commontree.h" alt="" coords="1745,453,1948,480"/><area shape="rect" id="node38" href="antlr3basetreeadaptor_8h.html" title="Definition of the ANTLR3 base tree adaptor. " alt="" coords="1491,379,1743,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="node2" href="antlr3lexer_8c.html" title="Base implementation of an antlr 3 lexer. " alt="" coords="5,80,197,107"/><area shape="rect" id="node3" href="antlr3_8h.html" title="include/antlr3.h" alt="" coords="809,229,991,256"/><area shape="rect" id="node9" href="antlr3baserecognizer_8h.html" title="Defines the basic structure to support recognizing by either a lexer, parser, or tree parser..." alt="" coords="864,80,1185,107"/><area shape="rect" id="node4" href="antlr3collections_8c.html" title="Provides a number of useful functions that are roughly equivalent to java HashTable and List for the ..." alt="" coords="211,304,463,331"/><area shape="rect" id="node5" href="antlr3commontoken_8c.html" title="src/antlr3commontoken.c" alt="" coords="487,304,739,331"/><area shape="rect" id="node6" href="antlr3debughandlers_8c.html" title="Provides the debugging functions invoked by a recognizer built using the debug generator mode of the ..." alt="" coords="764,304,1035,331"/><area shape="rect" id="node7" href="antlr3encodings_8c.html" title="src/antlr3encodings.c" alt="" coords="1060,304,1292,331"/><area shape="rect" id="node8" href="antlr3filestream_8c.html" title="The ANTLR3 C filestream is used when the source character stream is a filesystem based input set and ..." alt="" coords="1316,304,1559,331"/><area shape="rect" id="node10" href="antlr3baserecognizer_8c.html" title="Contains the base functions that all recognizers require. " alt="" coords="619,155,900,181"/><area shape="rect" id="node11" href="antlr3cyclicdfa_8h.html" title="include/antlr3cyclicdfa.h" alt="" coords="976,155,1247,181"/><area shape="rect" id="node13" href="antlr3parser_8h.html" title="Base implementation of an ANTLR3 parser. " alt="" coords="1272,155,1515,181"/><area shape="rect" id="node15" href="antlr3rewritestreams_8h.html" title="include/antlr3rewritestreams.h" alt="" coords="272,155,593,181"/><area shape="rect" id="node17" href="antlr3treeparser_8h.html" title="include/antlr3treeparser.h" alt="" coords="1539,155,1820,181"/><area shape="rect" id="node12" href="antlr3cyclicdfa_8c.html" title="src/antlr3cyclicdfa.c" alt="" coords="1016,229,1248,256"/><area shape="rect" id="node14" href="antlr3parser_8c.html" title="Implementation of the base functionality for an ANTLR3 parser. " alt="" coords="1292,229,1495,256"/><area shape="rect" id="node16" href="antlr3rewritestreams_8c.html" title="Implementation of token/tree streams that are used by the tree re-write rules to manipulate the token..." alt="" coords="292,229,573,256"/><area shape="rect" id="node18" href="antlr3treeparser_8c.html" title="Implementation of the tree parser and overrides for the base recognizer. " alt="" coords="1559,229,1801,256"/></map> </div> </div><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr class="memitem:"><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 class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:a93554bfc4d31184420936d7d667d76e4"><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 class="separator:a93554bfc4d31184420936d7d667d76e4"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:ab466950d354532366c2088748f84a695"><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> <tr class="separator:ab466950d354532366c2088748f84a695"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">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><h2 class="groupheader">Macro Definition Documentation</h2> <a class="anchor" id="a93554bfc4d31184420936d7d667d76e4"></a> <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> <h2 class="groupheader">Typedef Documentation</h2> <a class="anchor" id="ab466950d354532366c2088748f84a695"></a> <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="antlr3lexer_8h.html#ab466950d354532366c2088748f84a695">ANTLR3_LEXER</a></td> </tr> </table> </div><div class="memdoc"> </div> </div> </div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="antlr3lexer_8h.html">antlr3lexer.h</a></li> <li class="footer">Generated on Tue Jan 7 2014 21:45:19 for ANTLR3C by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.5 </li> </ul> </div> </body> </html>