Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > by-pkgid > aaf33964de706a538481c929c1da6a44 > files > 6508

faust-doc-0.9.10-5mdv2010.1.x86_64.rpm

<!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>FAUST compiler: sigtyperules.hh File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>sigtyperules.hh File Reference</h1><code>#include &quot;<a class="el" href="signals_8hh_source.html">signals.hh</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="sigtype_8hh_source.html">sigtype.hh</a>&quot;</code><br/>
<div class="dynheader">
Include dependency graph for sigtyperules.hh:</div>
<div class="dynsection">
</div>
<div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dynsection">
</div>

<p><a href="sigtyperules_8hh_source.html">Go to the source code of this file.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sigtyperules_8hh.html#aff4086d2c051ecf8ce36a37e6faee53f">addEnv</a> (<a class="el" href="classCTree.html">Tree</a> var, <a class="el" href="classP.html">Type</a> tp, <a class="el" href="classCTree.html">Tree</a> env)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">add a new binding to a type environment  <a href="#aff4086d2c051ecf8ce36a37e6faee53f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classP.html">Type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sigtyperules_8hh.html#ab06de66b22233b4a358ee6642358b2d5">searchEnv</a> (<a class="el" href="classCTree.html">Tree</a> env, <a class="el" href="classCTree.html">Tree</a> var)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">search for the type associated to a variable  <a href="#ab06de66b22233b4a358ee6642358b2d5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classP.html">Type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sigtyperules_8hh.html#a529976a47185a443101cba19600a6e6a">getSigType</a> (<a class="el" href="classCTree.html">Tree</a> term)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">retrieve the type annotation of sig  <a href="#a529976a47185a443101cba19600a6e6a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sigtyperules_8hh.html#ad079046ac6d9e5c1ea4d7b76e8fb1f88">typeAnnotation</a> (<a class="el" href="classCTree.html">Tree</a> term)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">fully annotate every subtree of term with type information  <a href="#ad079046ac6d9e5c1ea4d7b76e8fb1f88"></a><br/></td></tr>
<tr><td colspan="2"><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sigtyperules_8hh.html#a7d5c3fa7ca1a87bd549f9d432a20b201">NULLENV</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The empty type environment (also property key for closed term type).  <a href="#a7d5c3fa7ca1a87bd549f9d432a20b201"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sigtyperules_8hh.html#a44285cbe41b6d58a00854fead2999187">gVectorSwitch</a></td></tr>
</table>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="aff4086d2c051ecf8ce36a37e6faee53f"></a><!-- doxytag: member="sigtyperules.hh::addEnv" ref="aff4086d2c051ecf8ce36a37e6faee53f" args="(Tree var, Type tp, Tree env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCTree.html">Tree</a> addEnv </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>var</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classP.html">Type</a>&nbsp;</td>
          <td class="paramname"> <em>tp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>env</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>add a new binding to a type environment </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>the variable </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>the type of the variable </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>the type environment </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a new environment : [(var,type):env] </dd></dl>

<p>Definition at line <a class="el" href="sigtyperules_8cpp_source.html#l00117">117</a> of file <a class="el" href="sigtyperules_8cpp_source.html">sigtyperules.cpp</a>.</p>

<p>References <a class="el" href="list_8hh_source.html#l00124">cons()</a>, and <a class="el" href="tree_8hh_source.html#l00173">tree()</a>.</p>

<p>Referenced by <a class="el" href="sigtyperules_8cpp_source.html#l00577">infereRecType()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00118"></a>00118 {
<a name="l00119"></a>00119     <a class="code" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">Tree</a> r = <a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a>(<a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a>(var,<a class="code" href="tree_8hh.html#a61c13e9361cfa80bbb3cd6ce60a8f595">tree</a>((<a class="code" href="classAudioType.html" title="The Root class for all audio data types.">AudioType</a>*)tp)),env);
<a name="l00120"></a>00120     <span class="keywordflow">return</span> r;
<a name="l00121"></a>00121 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a529976a47185a443101cba19600a6e6a"></a><!-- doxytag: member="sigtyperules.hh::getSigType" ref="a529976a47185a443101cba19600a6e6a" args="(Tree term)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classP.html">Type</a> getSigType </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>sig</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>retrieve the type annotation of sig </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sig</em>&nbsp;</td><td>the signal we want to know the type </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="sigtyperules_8cpp_source.html#l00082">82</a> of file <a class="el" href="sigtyperules_8cpp_source.html">sigtyperules.cpp</a>.</p>

<p>References <a class="el" href="tree_8hh_source.html#l00155">CTree::getType()</a>.</p>

<p>Referenced by <a class="el" href="doc__compile_8cpp_source.html#l00398">DocCompiler::generateBinOp()</a>, <a class="el" href="doc__compile_8cpp_source.html#l00521">DocCompiler::generateCacheCode()</a>, <a class="el" href="compile__vect_8cpp_source.html#l00155">VectorCompiler::generateCacheCode()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00410">ScalarCompiler::generateCacheCode()</a>, <a class="el" href="doc__compile_8cpp_source.html#l01169">DocCompiler::generateDelayVec()</a>, <a class="el" href="compile__scal_8cpp_source.html#l01137">ScalarCompiler::generateDelayVec()</a>, <a class="el" href="doc__compile_8cpp_source.html#l00749">DocCompiler::generateDocConstantTbl()</a>, <a class="el" href="doc__compile_8cpp_source.html#l00814">DocCompiler::generateDocWriteTbl()</a>, <a class="el" href="doc__compile_8cpp_source.html#l00298">DocCompiler::generateFConst()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00313">ScalarCompiler::generateFConst()</a>, <a class="el" href="doc__compile_8cpp_source.html#l00323">DocCompiler::generateFVar()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00332">ScalarCompiler::generateFVar()</a>, <a class="el" href="doc__compile_8cpp_source.html#l00701">DocCompiler::generateHBargraph()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00572">ScalarCompiler::generateHBargraph()</a>, <a class="el" href="doc__compile_8cpp_source.html#l00278">DocCompiler::generateNumber()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00295">ScalarCompiler::generateNumber()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00821">ScalarCompiler::generatePrefix()</a>, <a class="el" href="doc__compile_8cpp_source.html#l00902">DocCompiler::generateRec()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00783">ScalarCompiler::generateRec()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00874">ScalarCompiler::generateSelect2()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00933">ScalarCompiler::generateSelect3()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00674">ScalarCompiler::generateStaticTable()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00638">ScalarCompiler::generateTable()</a>, <a class="el" href="doc__compile_8cpp_source.html#l00569">DocCompiler::generateVariableStore()</a>, <a class="el" href="compile__vect_8cpp_source.html#l00268">VectorCompiler::generateVariableStore()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00448">ScalarCompiler::generateVariableStore()</a>, <a class="el" href="doc__compile_8cpp_source.html#l00681">DocCompiler::generateVBargraph()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00545">ScalarCompiler::generateVBargraph()</a>, <a class="el" href="doc__compile_8cpp_source.html#l01058">DocCompiler::generateXtended()</a>, <a class="el" href="compile__scal_8cpp_source.html#l01007">ScalarCompiler::generateXtended()</a>, <a class="el" href="occurences_8cpp_source.html#l00095">OccMarkup::incOcc()</a>, <a class="el" href="compile__vect_8cpp_source.html#l00218">VectorCompiler::needSeparateLoop()</a>, <a class="el" href="sharing_8cpp_source.html#l00106">ScalarCompiler::sharingAnnotation()</a>, <a class="el" href="doc__sharing_8cpp_source.html#l00117">DocCompiler::sharingAnnotation()</a>, and <a class="el" href="compile__scal_8cpp_source.html#l00056">signal2klass()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00083"></a>00083 {
<a name="l00084"></a>00084     <a class="code" href="classAudioType.html" title="The Root class for all audio data types.">AudioType</a>* t = (<a class="code" href="classAudioType.html" title="The Root class for all audio data types.">AudioType</a>*) sig-&gt;<a class="code" href="classCTree.html#adfb1030a444053685b84e45c76eabe6a">getType</a>();
<a name="l00085"></a>00085     <span class="keywordflow">if</span> (t==0) {
<a name="l00086"></a>00086         cerr &lt;&lt; <span class="stringliteral">&quot;ERROR in getSigType : no type information available for signal :&quot;</span> &lt;&lt; *sig &lt;&lt; endl;
<a name="l00087"></a>00087         exit(1);
<a name="l00088"></a>00088     }
<a name="l00089"></a>00089     <span class="keywordflow">return</span> t;   
<a name="l00090"></a>00090 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="ab06de66b22233b4a358ee6642358b2d5"></a><!-- doxytag: member="sigtyperules.hh::searchEnv" ref="ab06de66b22233b4a358ee6642358b2d5" args="(Tree env, Tree var)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classP.html">Type</a> searchEnv </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>var</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>search for the type associated to a variable </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>the type environment </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>the variable to search </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the type associated to var in env </dd></dl>

<p>Definition at line <a class="el" href="sigtyperules_8cpp_source.html#l00130">130</a> of file <a class="el" href="sigtyperules_8cpp_source.html">sigtyperules.cpp</a>.</p>

<p>References <a class="el" href="list_8hh_source.html#l00133">hd()</a>, <a class="el" href="list_8cpp_source.html#l00154">print()</a>, <a class="el" href="list_8hh_source.html#l00134">tl()</a>, and <a class="el" href="tree_8cpp_source.html#l00302">tree2ptr()</a>.</p>

<p>Referenced by <a class="el" href="propagate_8cpp_source.html#l00196">propagate()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00131"></a>00131 {
<a name="l00132"></a>00132     <span class="keywordflow">while</span> ( (env != <a class="code" href="sigtyperules_8cpp.html#a7d5c3fa7ca1a87bd549f9d432a20b201" title="The empty type environment (also property key for closed term type).">NULLENV</a>) &amp;&amp; (<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(env)) != var) ) { env = <a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(env); }
<a name="l00133"></a>00133     <span class="keywordflow">if</span> (env == <a class="code" href="sigtyperules_8cpp.html#a7d5c3fa7ca1a87bd549f9d432a20b201" title="The empty type environment (also property key for closed term type).">NULLENV</a>) {
<a name="l00134"></a>00134         cerr &lt;&lt; <span class="stringliteral">&quot;Problem in searchEnv &quot;</span>; <a class="code" href="list_8cpp.html#a850f2e459a901e0c9908d3a3a54b306e">print</a>(var, stderr);
<a name="l00135"></a>00135         cerr &lt;&lt; <span class="stringliteral">&quot; was not found&quot;</span> &lt;&lt; endl;
<a name="l00136"></a>00136         assert(env != <a class="code" href="sigtyperules_8cpp.html#a7d5c3fa7ca1a87bd549f9d432a20b201" title="The empty type environment (also property key for closed term type).">NULLENV</a>); <span class="comment">// we should have found the data</span>
<a name="l00137"></a>00137     }
<a name="l00138"></a>00138 
<a name="l00139"></a>00139     <span class="keywordflow">return</span> <a class="code" href="sigtype_8hh.html#acf4688369b8733cd10ae18fb50eaec6e">Type</a>((<a class="code" href="classAudioType.html" title="The Root class for all audio data types.">AudioType</a>*)<a class="code" href="tree_8cpp.html#ad1d692b2c0a86d485a3d096af07632e6" title="if t has a node of type ptr, return it otherwise error">tree2ptr</a>(<a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(env))));
<a name="l00140"></a>00140 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="ad079046ac6d9e5c1ea4d7b76e8fb1f88"></a><!-- doxytag: member="sigtyperules.hh::typeAnnotation" ref="ad079046ac6d9e5c1ea4d7b76e8fb1f88" args="(Tree term)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void typeAnnotation </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>sig</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>fully annotate every subtree of term with type information </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sig</em>&nbsp;</td><td>the signal term tree to annotate </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="sigtyperules_8cpp_source.html#l00171">171</a> of file <a class="el" href="sigtyperules_8cpp_source.html">sigtyperules.cpp</a>.</p>

<p>References <a class="el" href="sigtyperules_8cpp_source.html#l00184">getInferredType()</a>.</p>

<p>Referenced by <a class="el" href="doc__compile_8cpp_source.html#l00091">DocCompiler::annotate()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00096">ScalarCompiler::prepare()</a>, and <a class="el" href="compile__scal_8cpp_source.html#l00113">ScalarCompiler::prepare2()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00172"></a>00172 {
<a name="l00173"></a>00173     <a class="code" href="sigtyperules_8cpp.html#a83a7b8def43c40265adaf84524cd1b4e" title="Retrieve or infere the type of a term according to its surrounding type environment...">getInferredType</a>(sig, <a class="code" href="sigtyperules_8cpp.html#a7d5c3fa7ca1a87bd549f9d432a20b201" title="The empty type environment (also property key for closed term type).">NULLENV</a>);
<a name="l00174"></a>00174 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="a44285cbe41b6d58a00854fead2999187"></a><!-- doxytag: member="sigtyperules.hh::gVectorSwitch" ref="a44285cbe41b6d58a00854fead2999187" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="sigtyperules_8hh.html#a44285cbe41b6d58a00854fead2999187">gVectorSwitch</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="main_8cpp_source.html#l00131">131</a> of file <a class="el" href="main_8cpp_source.html">main.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a7d5c3fa7ca1a87bd549f9d432a20b201"></a><!-- doxytag: member="sigtyperules.hh::NULLENV" ref="a7d5c3fa7ca1a87bd549f9d432a20b201" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCTree.html">Tree</a> <a class="el" href="sigtyperules_8hh.html#a7d5c3fa7ca1a87bd549f9d432a20b201">NULLENV</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The empty type environment (also property key for closed term type). </p>

<p>Definition at line <a class="el" href="sigtyperules_8cpp_source.html#l00106">106</a> of file <a class="el" href="sigtyperules_8cpp_source.html">sigtyperules.cpp</a>.</p>

</div>
</div>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Thu Apr 29 00:00:15 2010 for FAUST compiler by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>