<!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: ANTLR3_TOKEN_FACTORY_struct Struct 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 class="current"><a href="annotated.html"><span>Data Structures</span></a></li> <li><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="annotated.html"><span>Data Structures</span></a></li> <li><a href="classes.html"><span>Data Structure Index</span></a></li> <li><a href="functions.html"><span>Data Fields</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('struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html',''); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#pub-attribs">Data Fields</a> </div> <div class="headertitle"> <h1>ANTLR3_TOKEN_FACTORY_struct Struct Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="ANTLR3_TOKEN_FACTORY_struct" --> <p>ANTLR3 Token factory interface to create lots of tokens efficiently rather than creating and freeing lots of little bits of memory. <a href="#_details">More...</a></p> <p><code>#include <antlr3commontoken.h></code></p> <div class="dynheader"> Collaboration diagram for ANTLR3_TOKEN_FACTORY_struct:</div> <div class="dyncontent"> <div class="center"><img src="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct__coll__graph.png" border="0" usemap="#_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct_coll__map" alt="Collaboration graph"/></div> <map name="_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct_coll__map" id="_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct_coll__map"> <area shape="rect" id="node2" href="struct_a_n_t_l_r3___c_o_m_m_o_n___t_o_k_e_n__struct.html" title="The definition of an ANTLR3 common token structure, which all implementations of a token stream shoul..." alt="" coords="177,517,460,544"/><area shape="rect" id="node4" href="struct_a_n_t_l_r3___s_t_r_i_n_g__struct.html" title="Base string class tracks the allocations and provides simple string tracking functions." alt="" coords="576,117,797,144"/><area shape="rect" id="node7" href="struct_a_n_t_l_r3___s_t_r_i_n_g___f_a_c_t_o_r_y__struct.html" title="Definition of the string factory interface, which creates and tracks strings for you of various shape..." alt="" coords="231,305,532,332"/><area shape="rect" id="node14" href="struct_a_n_t_l_r3___i_n_p_u_t___s_t_r_e_a_m__struct.html" title="Master context structure for an ANTLR3 C runtime based input stream." alt="" coords="240,427,523,453"/><area shape="rect" id="node17" href="struct_a_n_t_l_r3___i_n_t___s_t_r_e_a_m__struct.html" title="ANTLR3_INT_STREAM_struct" alt="" coords="556,305,817,332"/><area shape="rect" id="node10" href="struct_a_n_t_l_r3___v_e_c_t_o_r__struct.html" title="ANTLR3_VECTOR_struct" alt="" coords="67,117,288,144"/><area shape="rect" id="node12" href="struct_a_n_t_l_r3___v_e_c_t_o_r___e_l_e_m_e_n_t__struct.html" title="ANTLR3_VECTOR_ELEMENT_struct" alt="" coords="27,5,328,32"/></map> <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-attribs"></a> Data Fields</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html#a65f6d61359780abd5f909ae71f038a26">close</a> )(struct <a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html">ANTLR3_TOKEN_FACTORY_struct</a> *factory)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Pointer to a function the destroys the factory. <a href="#a65f6d61359780abd5f909ae71f038a26"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_n_t_l_r3___i_n_p_u_t___s_t_r_e_a_m__struct.html">pANTLR3_INPUT_STREAM</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html#a5eb7471ee5333de2b227ffea4efa6053">input</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Pointer to an input stream that is using this token factory (may be NULL) which will be assigned to the tokens automatically. <a href="#a5eb7471ee5333de2b227ffea4efa6053"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_n_t_l_r3___c_o_m_m_o_n___t_o_k_e_n__struct.html">pANTLR3_COMMON_TOKEN</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html#a111fabbe4ff4fd673d2bda2bc6e0165f">newToken</a> )(struct <a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html">ANTLR3_TOKEN_FACTORY_struct</a> *factory)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Pointer to a function that returns a new token. <a href="#a111fabbe4ff4fd673d2bda2bc6e0165f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="antlr3defs_8h.html#ac41f744abd0fd25144b9eb9d11b1dfd1">ANTLR3_UINT32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html#a80b13cdd84923d749e14df702a03664d">nextToken</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The next token to throw out from the pool, will cause a new pool allocation if this exceeds the available tokenCount. <a href="#a80b13cdd84923d749e14df702a03664d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_n_t_l_r3___c_o_m_m_o_n___t_o_k_e_n__struct.html">pANTLR3_COMMON_TOKEN</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html#ab9e726d32971c19670422fc957a4e224">pools</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Pointers to the array of tokens that this factory has produced so far. <a href="#ab9e726d32971c19670422fc957a4e224"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html#a7ab10b5c63340112c1c0c5cff2c700bc">setInputStream</a> )(struct <a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html">ANTLR3_TOKEN_FACTORY_struct</a> *factory, <a class="el" href="struct_a_n_t_l_r3___i_n_p_u_t___s_t_r_e_a_m__struct.html">pANTLR3_INPUT_STREAM</a> <a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html#a5eb7471ee5333de2b227ffea4efa6053">input</a>)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Pointer to a function that changes teh curent inptu stream so that new tokens are created with reference to their originating text. <a href="#a7ab10b5c63340112c1c0c5cff2c700bc"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="antlr3defs_8h.html#a6faef5c4687f8eb633d2aefea93973ca">ANTLR3_INT32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html#affb2e4b787902103b05789ea9e6df0b6">thisPool</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Current pool tokens we are allocating from. <a href="#affb2e4b787902103b05789ea9e6df0b6"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_n_t_l_r3___c_o_m_m_o_n___t_o_k_e_n__struct.html">ANTLR3_COMMON_TOKEN</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html#a8047d14d770f3d37823460a61d2263b8">unTruc</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Trick to initialize tokens and their API quickly, we set up this token when the factory is created, then just copy the memory it uses into the new token. <a href="#a8047d14d770f3d37823460a61d2263b8"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <div class="textblock"><p>ANTLR3 Token factory interface to create lots of tokens efficiently rather than creating and freeing lots of little bits of memory. </p> </div><hr/><h2>Field Documentation</h2> <a class="anchor" id="a65f6d61359780abd5f909ae71f038a26"></a><!-- doxytag: member="ANTLR3_TOKEN_FACTORY_struct::close" ref="a65f6d61359780abd5f909ae71f038a26" args=")(struct ANTLR3_TOKEN_FACTORY_struct *factory)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void(* <a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html#a65f6d61359780abd5f909ae71f038a26">ANTLR3_TOKEN_FACTORY_struct::close</a>)(struct <a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html">ANTLR3_TOKEN_FACTORY_struct</a> *factory)</td> </tr> </table> </div> <div class="memdoc"> <p>Pointer to a function the destroys the factory. </p> <p>Referenced by <a class="el" href="antlr3defs_8h.html#a3e0e53093c8170217cb4bee33c2714c9">antlr3TokenFactoryNew()</a>, <a class="el" href="antlr3commontreeadaptor_8c.html#aabc8fbfc219592f80d83bc77203e0e4d">ctaFree()</a>, <a class="el" href="group__p_a_n_t_l_r3___b_a_s_e___r_e_c_o_g_n_i_z_e_r.html#ga5999985a70a69e3bec790156b88fbd62">freeBR()</a>, and <a class="el" href="antlr3lexer_8c.html#ae609556326be46b260682e16941b9e50">freeLexer()</a>.</p> </div> </div> <a class="anchor" id="a5eb7471ee5333de2b227ffea4efa6053"></a><!-- doxytag: member="ANTLR3_TOKEN_FACTORY_struct::input" ref="a5eb7471ee5333de2b227ffea4efa6053" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="struct_a_n_t_l_r3___i_n_p_u_t___s_t_r_e_a_m__struct.html">pANTLR3_INPUT_STREAM</a> <a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html#a5eb7471ee5333de2b227ffea4efa6053">ANTLR3_TOKEN_FACTORY_struct::input</a></td> </tr> </table> </div> <div class="memdoc"> <p>Pointer to an input stream that is using this token factory (may be NULL) which will be assigned to the tokens automatically. </p> <p>Referenced by <a class="el" href="antlr3commontreeadaptor_8c.html#a66ba1309bf5560155b44f361cab4898e">createToken()</a>, <a class="el" href="antlr3commontoken_8c.html#afa0c747a497553a3b1f7508bcbba22fd">newPoolToken()</a>, and <a class="el" href="antlr3commontoken_8c.html#aeb9df4bf79464b1fb5cbd2e7c516bb43">setInputStream()</a>.</p> </div> </div> <a class="anchor" id="a111fabbe4ff4fd673d2bda2bc6e0165f"></a><!-- doxytag: member="ANTLR3_TOKEN_FACTORY_struct::newToken" ref="a111fabbe4ff4fd673d2bda2bc6e0165f" args=")(struct ANTLR3_TOKEN_FACTORY_struct *factory)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="struct_a_n_t_l_r3___c_o_m_m_o_n___t_o_k_e_n__struct.html">pANTLR3_COMMON_TOKEN</a>(* <a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html#a111fabbe4ff4fd673d2bda2bc6e0165f">ANTLR3_TOKEN_FACTORY_struct::newToken</a>)(struct <a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html">ANTLR3_TOKEN_FACTORY_struct</a> *factory)</td> </tr> </table> </div> <div class="memdoc"> <p>Pointer to a function that returns a new token. </p> <p>Referenced by <a class="el" href="antlr3defs_8h.html#a3e0e53093c8170217cb4bee33c2714c9">antlr3TokenFactoryNew()</a>, <a class="el" href="antlr3commontreeadaptor_8c.html#a66ba1309bf5560155b44f361cab4898e">createToken()</a>, <a class="el" href="antlr3commontreeadaptor_8c.html#a359e4d8f1cb4b8e5f3c37aefe005223f">createTokenFromToken()</a>, <a class="el" href="antlr3lexer_8c.html#af9d72282d839ad84befc641f4ca94330">emit()</a>, and <a class="el" href="group__p_a_n_t_l_r3___b_a_s_e___r_e_c_o_g_n_i_z_e_r.html#ga22c45f91acc78faa73e6b1fd637e3e0c">getMissingSymbol()</a>.</p> </div> </div> <a class="anchor" id="a80b13cdd84923d749e14df702a03664d"></a><!-- doxytag: member="ANTLR3_TOKEN_FACTORY_struct::nextToken" ref="a80b13cdd84923d749e14df702a03664d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="antlr3defs_8h.html#ac41f744abd0fd25144b9eb9d11b1dfd1">ANTLR3_UINT32</a> <a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html#a80b13cdd84923d749e14df702a03664d">ANTLR3_TOKEN_FACTORY_struct::nextToken</a></td> </tr> </table> </div> <div class="memdoc"> <p>The next token to throw out from the pool, will cause a new pool allocation if this exceeds the available tokenCount. </p> <p>Referenced by <a class="el" href="antlr3commontoken_8c.html#a138055a9dcffd2bccf6cb8a47053ae0c">factoryClose()</a>, <a class="el" href="antlr3commontoken_8c.html#afbb6dd57f37eaaafc4dbadce8f3f77f0">newPool()</a>, and <a class="el" href="antlr3commontoken_8c.html#afa0c747a497553a3b1f7508bcbba22fd">newPoolToken()</a>.</p> </div> </div> <a class="anchor" id="ab9e726d32971c19670422fc957a4e224"></a><!-- doxytag: member="ANTLR3_TOKEN_FACTORY_struct::pools" ref="ab9e726d32971c19670422fc957a4e224" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="struct_a_n_t_l_r3___c_o_m_m_o_n___t_o_k_e_n__struct.html">pANTLR3_COMMON_TOKEN</a>* <a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html#ab9e726d32971c19670422fc957a4e224">ANTLR3_TOKEN_FACTORY_struct::pools</a></td> </tr> </table> </div> <div class="memdoc"> <p>Pointers to the array of tokens that this factory has produced so far. </p> <p>Referenced by <a class="el" href="antlr3defs_8h.html#a3e0e53093c8170217cb4bee33c2714c9">antlr3TokenFactoryNew()</a>, <a class="el" href="antlr3commontoken_8c.html#a138055a9dcffd2bccf6cb8a47053ae0c">factoryClose()</a>, <a class="el" href="antlr3commontoken_8c.html#afbb6dd57f37eaaafc4dbadce8f3f77f0">newPool()</a>, and <a class="el" href="antlr3commontoken_8c.html#afa0c747a497553a3b1f7508bcbba22fd">newPoolToken()</a>.</p> </div> </div> <a class="anchor" id="a7ab10b5c63340112c1c0c5cff2c700bc"></a><!-- doxytag: member="ANTLR3_TOKEN_FACTORY_struct::setInputStream" ref="a7ab10b5c63340112c1c0c5cff2c700bc" args=")(struct ANTLR3_TOKEN_FACTORY_struct *factory, pANTLR3_INPUT_STREAM input)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void(* <a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html#a7ab10b5c63340112c1c0c5cff2c700bc">ANTLR3_TOKEN_FACTORY_struct::setInputStream</a>)(struct <a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html">ANTLR3_TOKEN_FACTORY_struct</a> *factory, <a class="el" href="struct_a_n_t_l_r3___i_n_p_u_t___s_t_r_e_a_m__struct.html">pANTLR3_INPUT_STREAM</a> <a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html#a5eb7471ee5333de2b227ffea4efa6053">input</a>)</td> </tr> </table> </div> <div class="memdoc"> <p>Pointer to a function that changes teh curent inptu stream so that new tokens are created with reference to their originating text. </p> <p>Referenced by <a class="el" href="antlr3defs_8h.html#a3e0e53093c8170217cb4bee33c2714c9">antlr3TokenFactoryNew()</a>, and <a class="el" href="antlr3lexer_8c.html#a3f121d133cb810a9687aee3089e33be8">setCharStream()</a>.</p> </div> </div> <a class="anchor" id="affb2e4b787902103b05789ea9e6df0b6"></a><!-- doxytag: member="ANTLR3_TOKEN_FACTORY_struct::thisPool" ref="affb2e4b787902103b05789ea9e6df0b6" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="antlr3defs_8h.html#a6faef5c4687f8eb633d2aefea93973ca">ANTLR3_INT32</a> <a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html#affb2e4b787902103b05789ea9e6df0b6">ANTLR3_TOKEN_FACTORY_struct::thisPool</a></td> </tr> </table> </div> <div class="memdoc"> <p>Current pool tokens we are allocating from. </p> <p>Referenced by <a class="el" href="antlr3defs_8h.html#a3e0e53093c8170217cb4bee33c2714c9">antlr3TokenFactoryNew()</a>, <a class="el" href="antlr3commontoken_8c.html#a138055a9dcffd2bccf6cb8a47053ae0c">factoryClose()</a>, <a class="el" href="antlr3commontoken_8c.html#afbb6dd57f37eaaafc4dbadce8f3f77f0">newPool()</a>, and <a class="el" href="antlr3commontoken_8c.html#afa0c747a497553a3b1f7508bcbba22fd">newPoolToken()</a>.</p> </div> </div> <a class="anchor" id="a8047d14d770f3d37823460a61d2263b8"></a><!-- doxytag: member="ANTLR3_TOKEN_FACTORY_struct::unTruc" ref="a8047d14d770f3d37823460a61d2263b8" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="struct_a_n_t_l_r3___c_o_m_m_o_n___t_o_k_e_n__struct.html">ANTLR3_COMMON_TOKEN</a> <a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html#a8047d14d770f3d37823460a61d2263b8">ANTLR3_TOKEN_FACTORY_struct::unTruc</a></td> </tr> </table> </div> <div class="memdoc"> <p>Trick to initialize tokens and their API quickly, we set up this token when the factory is created, then just copy the memory it uses into the new token. </p> <p>Referenced by <a class="el" href="antlr3defs_8h.html#a8354d855e26d4417b311740c64b9f0e3">ANTLR3_TREE_ADAPTORNew()</a>, <a class="el" href="antlr3defs_8h.html#a3e0e53093c8170217cb4bee33c2714c9">antlr3TokenFactoryNew()</a>, and <a class="el" href="antlr3commontoken_8c.html#aeb9df4bf79464b1fb5cbd2e7c516bb43">setInputStream()</a>.</p> </div> </div> <hr/>The documentation for this struct was generated from the following file:<ul> <li>include/<a class="el" href="antlr3commontoken_8h.html">antlr3commontoken.h</a></li> </ul> </div> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="struct_a_n_t_l_r3___t_o_k_e_n___f_a_c_t_o_r_y__struct.html">ANTLR3_TOKEN_FACTORY_struct</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>