<!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: list.cpp 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 Page</span></a></li> <li><a href="pages.html"><span>Related 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 List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>list.cpp File Reference</h1><code>#include <stdlib.h></code><br/> <code>#include "<a class="el" href="list_8cpp_source.html">list.hh</a>"</code><br/> <code>#include <string></code><br/> <code>#include <map></code><br/> <code>#include "<a class="el" href="symbol_8hh_source.html">symbol.hh</a>"</code><br/> <code>#include <iostream></code><br/> <code>#include <vector></code><br/> <code>#include <assert.h></code><br/> <code>#include <stdio.h></code><br/> <code>#include <unistd.h></code><br/> <code>#include <cstdlib></code><br/> <div class="dynheader"> Include dependency graph for list.cpp:</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="list_8cpp_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">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#a6df50e60907d6b8217d705736e06a7b1">printlist</a> (<a class="el" href="classCTree.html">Tree</a> l, FILE *out)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#a850f2e459a901e0c9908d3a3a54b306e">print</a> (<a class="el" href="classCTree.html">Tree</a> t, FILE *out)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#a928095576946f64a78ea78fbb65fb8d6">nth</a> (<a class="el" href="classCTree.html">Tree</a> l, int i)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#ae0a48bbe990aaa013c0043985f0a385d">replace</a> (<a class="el" href="classCTree.html">Tree</a> l, int i, <a class="el" href="classCTree.html">Tree</a> e)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#a0b58ea1a5d8649e8afb0f70c48776347">len</a> (<a class="el" href="classCTree.html">Tree</a> l)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#af7a60e2dc1cbd6a759957a032b56f94e">rconcat</a> (<a class="el" href="classCTree.html">Tree</a> l, <a class="el" href="classCTree.html">Tree</a> q)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#af0451cd6205a66bceb0e62f715d59533">concat</a> (<a class="el" href="classCTree.html">Tree</a> l, <a class="el" href="classCTree.html">Tree</a> q)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#aa292a4c5097b6978b9ce60a178ee8105">lrange</a> (<a class="el" href="classCTree.html">Tree</a> l, int i, int j)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#a53abb291e680e3819c4d45af6ef96c9c">rmap</a> (<a class="el" href="list_8hh.html#af77d25f8b1016f673088d066636124f0">tfun</a> f, <a class="el" href="classCTree.html">Tree</a> l)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#a8e15f8d6fcc6cd319059c2e0544145bb">reverse</a> (<a class="el" href="classCTree.html">Tree</a> l)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#a396db1d797f419f73a82074af90f9a14">lmap</a> (<a class="el" href="list_8hh.html#af77d25f8b1016f673088d066636124f0">tfun</a> f, <a class="el" href="classCTree.html">Tree</a> l)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#ab0bcb47c9f4fe8d210e48adbbb521c0a">reverseall</a> (<a class="el" href="classCTree.html">Tree</a> l)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#ad9d3631e48c8337a7b3f2f191516561e">isElement</a> (<a class="el" href="classCTree.html">Tree</a> e, <a class="el" href="classCTree.html">Tree</a> l)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#a82cc7a3df71c1e139ce7cf34022ed80d">addElement</a> (<a class="el" href="classCTree.html">Tree</a> e, <a class="el" href="classCTree.html">Tree</a> l)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#a7c67c19620db14eba01619632128addb">remElement</a> (<a class="el" href="classCTree.html">Tree</a> e, <a class="el" href="classCTree.html">Tree</a> l)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#a8b82d57ba0e738e290782525dd8d982d">singleton</a> (<a class="el" href="classCTree.html">Tree</a> e)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#a4be82ef1b8f9c9345fb09fb9f0f35ecd">list2set</a> (<a class="el" href="classCTree.html">Tree</a> l)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#ae026c6267f2f51cdb483c2fd62a3f9fc">setUnion</a> (<a class="el" href="classCTree.html">Tree</a> A, <a class="el" href="classCTree.html">Tree</a> B)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#a9f0e93bbe2de47c028f8d34980751b07">setIntersection</a> (<a class="el" href="classCTree.html">Tree</a> A, <a class="el" href="classCTree.html">Tree</a> B)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#afe686c8dacd86606d03c0dada2acb017">setDifference</a> (<a class="el" href="classCTree.html">Tree</a> A, <a class="el" href="classCTree.html">Tree</a> B)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#af63a1b4b86dae30cb00e12297204509b">pushEnv</a> (<a class="el" href="classCTree.html">Tree</a> key, <a class="el" href="classCTree.html">Tree</a> val, <a class="el" href="classCTree.html">Tree</a> env)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#acf0a378250c41bd33b482d7fc0b73c91">searchEnv</a> (<a class="el" href="classCTree.html">Tree</a> key, <a class="el" href="classCTree.html">Tree</a> &v, <a class="el" href="classCTree.html">Tree</a> env)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#aad9c87f181f7c32cb4a61fba1d9b4078">findKey</a> (<a class="el" href="classCTree.html">Tree</a> pl, <a class="el" href="classCTree.html">Tree</a> key, <a class="el" href="classCTree.html">Tree</a> &val)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#a5550404ef5132ffe32a377f2f6e7ec74">updateKey</a> (<a class="el" href="classCTree.html">Tree</a> pl, <a class="el" href="classCTree.html">Tree</a> key, <a class="el" href="classCTree.html">Tree</a> val)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#a232249f98172fe0aa4a63e7f8fda7d35">removeKey</a> (<a class="el" href="classCTree.html">Tree</a> pl, <a class="el" href="classCTree.html">Tree</a> key)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#a5ead5a3e91af18d8f94e0974990a3c5a">setProperty</a> (<a class="el" href="classCTree.html">Tree</a> t, <a class="el" href="classCTree.html">Tree</a> key, <a class="el" href="classCTree.html">Tree</a> val)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#a665745948013d012bb123e9577c094bd">getProperty</a> (<a class="el" href="classCTree.html">Tree</a> t, <a class="el" href="classCTree.html">Tree</a> key, <a class="el" href="classCTree.html">Tree</a> &val)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#a2a1c32cbbb22e015ef3ddc80dc395da2">remProperty</a> (<a class="el" href="classCTree.html">Tree</a> t, <a class="el" href="classCTree.html">Tree</a> key)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#a2308c36110376628877ad2537ca23b45">tmap</a> (<a class="el" href="classCTree.html">Tree</a> key, <a class="el" href="list_8hh.html#af77d25f8b1016f673088d066636124f0">tfun</a> f, <a class="el" href="classCTree.html">Tree</a> t)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#a3df2d33f98401f7f36cd0393324bc730">substkey</a> (<a class="el" href="classCTree.html">Tree</a> t, <a class="el" href="classCTree.html">Tree</a> id, <a class="el" href="classCTree.html">Tree</a> val)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#a368fd42b7f42c373b11611e9f9b4f8e9">subst</a> (<a class="el" href="classCTree.html">Tree</a> t, <a class="el" href="classCTree.html">Tree</a> propkey, <a class="el" href="classCTree.html">Tree</a> id, <a class="el" href="classCTree.html">Tree</a> val)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#a40185c4c5a347dcef0ae115ebf3443d6">substitute</a> (<a class="el" href="classCTree.html">Tree</a> t, <a class="el" href="classCTree.html">Tree</a> id, <a class="el" href="classCTree.html">Tree</a> val)</td></tr> <tr><td colspan="2"><h2>Variables</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSymbol.html">Sym</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#aa6cfa1a72a65a7d10e0dc3fe24f6373c">CONS</a> = symbol("cons")</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSymbol.html">Sym</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#a0dec1983dc1c8cd38ec317958c40e5ca">NIL</a> = symbol("nil")</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="list_8cpp.html#a538b704dd07794b7237108f1917c471e">nil</a> = tree(<a class="el" href="list_8hh.html#a0dec1983dc1c8cd38ec317958c40e5ca">NIL</a>)</td></tr> </table> <hr/><h2>Function Documentation</h2> <a class="anchor" id="a82cc7a3df71c1e139ce7cf34022ed80d"></a><!-- doxytag: member="list.cpp::addElement" ref="a82cc7a3df71c1e139ce7cf34022ed80d" args="(Tree e, Tree l)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> addElement </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>e</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>l</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00272">272</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="list_8cpp_source.html#l00272">addElement()</a>, <a class="el" href="list_8hh_source.html#l00124">cons()</a>, <a class="el" href="list_8hh_source.html#l00133">hd()</a>, <a class="el" href="list_8hh_source.html#l00138">isList()</a>, and <a class="el" href="list_8hh_source.html#l00134">tl()</a>.</p> <p>Referenced by <a class="el" href="list_8cpp_source.html#l00272">addElement()</a>, <a class="el" href="eval_8cpp_source.html#l01251">evalIdDef()</a>, <a class="el" href="list_8cpp_source.html#l00307">list2set()</a>, and <a class="el" href="ppsig_8cpp_source.html#l00145">ppsig::printrec()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00273"></a>00273 { <a name="l00274"></a>00274 <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a8bdd73641276e0c0f999f504348eacc1">isList</a>(l)) { <a name="l00275"></a>00275 <span class="keywordflow">if</span> (e < <a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(l)) { <a name="l00276"></a>00276 <span class="keywordflow">return</span> <a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a>(e,l); <a name="l00277"></a>00277 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (e == <a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(l)) { <a name="l00278"></a>00278 <span class="keywordflow">return</span> l; <a name="l00279"></a>00279 } <span class="keywordflow">else</span> { <a name="l00280"></a>00280 <span class="keywordflow">return</span> <a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a>(<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(l), <a class="code" href="list_8cpp.html#a82cc7a3df71c1e139ce7cf34022ed80d">addElement</a>(e,<a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(l))); <a name="l00281"></a>00281 } <a name="l00282"></a>00282 } <span class="keywordflow">else</span> { <a name="l00283"></a>00283 <span class="keywordflow">return</span> <a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a>(e,<a class="code" href="list_8cpp.html#a538b704dd07794b7237108f1917c471e">nil</a>); <a name="l00284"></a>00284 } <a name="l00285"></a>00285 } </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="af0451cd6205a66bceb0e62f715d59533"></a><!-- doxytag: member="list.cpp::concat" ref="af0451cd6205a66bceb0e62f715d59533" args="(Tree l, Tree q)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> concat </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>l</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>q</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00216">216</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="list_8cpp_source.html#l00210">rconcat()</a>, and <a class="el" href="list_8cpp_source.html#l00240">reverse()</a>.</p> <p>Referenced by <a class="el" href="eval_8cpp_source.html#l00974">applyList()</a>, and <a class="el" href="signals_8cpp_source.html#l00383">sigCartesianProd()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00217"></a>00217 { <a name="l00218"></a>00218 <span class="keywordflow">return</span> <a class="code" href="list_8cpp.html#af7a60e2dc1cbd6a759957a032b56f94e">rconcat</a>(<a class="code" href="list_8cpp.html#a8e15f8d6fcc6cd319059c2e0544145bb">reverse</a>(l), q); <a name="l00219"></a>00219 } </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="aad9c87f181f7c32cb4a61fba1d9b4078"></a><!-- doxytag: member="list.cpp::findKey" ref="aad9c87f181f7c32cb4a61fba1d9b4078" args="(Tree pl, Tree key, Tree &val)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static bool findKey </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>pl</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> & </td> <td class="paramname"> <em>val</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00373">373</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="list_8hh_source.html#l00133">hd()</a>, <a class="el" href="list_8hh_source.html#l00137">isNil()</a>, <a class="el" href="list_8hh_source.html#l00170">left()</a>, <a class="el" href="list_8hh_source.html#l00171">right()</a>, and <a class="el" href="list_8hh_source.html#l00134">tl()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00374"></a>00374 { <a name="l00375"></a>00375 <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a2569c3a07bbbfa55e0afde62de62aeec">isNil</a>(pl)) <span class="keywordflow">return</span> <span class="keyword">false</span>; <a name="l00376"></a>00376 <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a626356b3c8f3e0130d0e043a1dd8547c">left</a>(<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(pl)) == key) { val= <a class="code" href="list_8hh.html#a098460d0916242eebda50610e2a86e39">right</a>(<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(pl)); <span class="keywordflow">return</span> <span class="keyword">true</span>; } <a name="l00377"></a>00377 <span class="comment">/* left(hd(pl)) != key */</span> <span class="keywordflow">return</span> <a class="code" href="list_8cpp.html#aad9c87f181f7c32cb4a61fba1d9b4078">findKey</a> (<a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(pl), key, val); <a name="l00378"></a>00378 } </pre></div></p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> </div> </p> </div> </div> <a class="anchor" id="a665745948013d012bb123e9577c094bd"></a><!-- doxytag: member="list.cpp::getProperty" ref="a665745948013d012bb123e9577c094bd" args="(Tree t, Tree key, Tree &val)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool getProperty </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>t</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> & </td> <td class="paramname"> <em>val</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00423">423</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="tree_8hh_source.html#l00160">CTree::getProperty()</a>.</p> <p>Referenced by <a class="el" href="eval_8cpp_source.html#l01164">addLayerDef()</a>, <a class="el" href="recursivness_8cpp_source.html#l00081">annotate()</a>, <a class="el" href="eval_8cpp_source.html#l01251">evalIdDef()</a>, <a class="el" href="boxtype_8cpp_source.html#l00063">getBoxType()</a>, <a class="el" href="colorize_8cpp_source.html#l00135">getColorProperty()</a>, <a class="el" href="occurrences_8cpp_source.html#l00048">Occurrences::getCount()</a>, <a class="el" href="errormsg_8cpp_source.html#l00072">getDefFileProp()</a>, <a class="el" href="errormsg_8cpp_source.html#l00082">getDefLineProp()</a>, <a class="el" href="names_8cpp_source.html#l00085">getDefNameProperty()</a>, <a class="el" href="eval_8cpp_source.html#l00273">getEvalProperty()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00184">getInferredType()</a>, <a class="el" href="eval_8cpp_source.html#l00563">getNumericProperty()</a>, <a class="el" href="eval_8cpp_source.html#l01307">getPMProperty()</a>, <a class="el" href="recursivness_8cpp_source.html#l00064">getRecursivness()</a>, <a class="el" href="sharing_8cpp_source.html#l00062">ScalarCompiler::getSharingCount()</a>, <a class="el" href="doc__sharing_8cpp_source.html#l00066">DocCompiler::getSharingCount()</a>, <a class="el" href="names_8cpp_source.html#l00122">getSigNickname()</a>, <a class="el" href="sigorderrules_8cpp_source.html#l00062">getSigOrder()</a>, <a class="el" href="privatise_8cpp_source.html#l00071">privatisation()</a>, <a class="el" href="eval_8cpp_source.html#l01229">searchIdDef()</a>, <a class="el" href="shlysis_8cpp_source.html#l00081">shcount()</a>, <a class="el" href="simplify_8cpp_source.html#l00154">sigMap()</a>, <a class="el" href="list_8cpp_source.html#l00506">subst()</a>, and <a class="el" href="list_8cpp_source.html#l00445">tmap()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00424"></a>00424 { <a name="l00425"></a>00425 <a class="code" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">CTree</a>* pl = t-><a class="code" href="classCTree.html#a902b48b83db587f14dbd31999c0f715f">getProperty</a>(key); <a name="l00426"></a>00426 <span class="keywordflow">if</span> (pl) { <a name="l00427"></a>00427 val = pl; <a name="l00428"></a>00428 <span class="keywordflow">return</span> <span class="keyword">true</span>; <a name="l00429"></a>00429 } <span class="keywordflow">else</span> { <a name="l00430"></a>00430 <span class="keywordflow">return</span> <span class="keyword">false</span>; <a name="l00431"></a>00431 } <a name="l00432"></a>00432 } </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="ad9d3631e48c8337a7b3f2f191516561e"></a><!-- doxytag: member="list.cpp::isElement" ref="ad9d3631e48c8337a7b3f2f191516561e" args="(Tree e, Tree l)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool isElement </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>e</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>l</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00262">262</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="list_8hh_source.html#l00133">hd()</a>, <a class="el" href="list_8hh_source.html#l00138">isList()</a>, and <a class="el" href="list_8hh_source.html#l00134">tl()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00263"></a>00263 { <a name="l00264"></a>00264 <span class="keywordflow">while</span> (<a class="code" href="list_8hh.html#a8bdd73641276e0c0f999f504348eacc1">isList</a>(l)) { <a name="l00265"></a>00265 <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(l) == e) <span class="keywordflow">return</span> <span class="keyword">true</span>; <a name="l00266"></a>00266 <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(l) > e) <span class="keywordflow">return</span> <span class="keyword">false</span>; <a name="l00267"></a>00267 l = <a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(l); <a name="l00268"></a>00268 } <a name="l00269"></a>00269 <span class="keywordflow">return</span> <span class="keyword">false</span>; <a name="l00270"></a>00270 } </pre></div></p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> </div> </p> </div> </div> <a class="anchor" id="a0b58ea1a5d8649e8afb0f70c48776347"></a><!-- doxytag: member="list.cpp::len" ref="a0b58ea1a5d8649e8afb0f70c48776347" args="(Tree l)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int len </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>l</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00198">198</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="list_8hh_source.html#l00138">isList()</a>, and <a class="el" href="list_8hh_source.html#l00134">tl()</a>.</p> <p>Referenced by <a class="el" href="sourcereader_8cpp_source.html#l00073">checkRulelist()</a>, <a class="el" href="eval_8cpp_source.html#l01321">evalCase()</a>, <a class="el" href="prim2_8cpp_source.html#l00064">ffarity()</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="patternmatcher_8cpp_source.html#l00479">make_pattern_matcher()</a>, <a class="el" href="sourcereader_8cpp_source.html#l00104">makeDefinition()</a>, and <a class="el" href="symbol_8cpp_source.html#l00158">Symbol::Symbol()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00199"></a>00199 { <a name="l00200"></a>00200 <span class="keywordtype">int</span> n = 0; <a name="l00201"></a>00201 <span class="keywordflow">while</span> (<a class="code" href="list_8hh.html#a8bdd73641276e0c0f999f504348eacc1">isList</a>(l)) { l = <a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(l); n++; } <a name="l00202"></a>00202 <span class="keywordflow">return</span> n; <a name="l00203"></a>00203 } </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="a4be82ef1b8f9c9345fb09fb9f0f35ecd"></a><!-- doxytag: member="list.cpp::list2set" ref="a4be82ef1b8f9c9345fb09fb9f0f35ecd" args="(Tree l)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> list2set </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>l</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00307">307</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="list_8cpp_source.html#l00272">addElement()</a>, <a class="el" href="list_8hh_source.html#l00133">hd()</a>, <a class="el" href="list_8hh_source.html#l00138">isList()</a>, and <a class="el" href="list_8hh_source.html#l00134">tl()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00308"></a>00308 { <a name="l00309"></a>00309 <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> s = <a class="code" href="list_8cpp.html#a538b704dd07794b7237108f1917c471e">nil</a>; <a name="l00310"></a>00310 <span class="keywordflow">while</span> (<a class="code" href="list_8hh.html#a8bdd73641276e0c0f999f504348eacc1">isList</a>(l)) { <a name="l00311"></a>00311 s = <a class="code" href="list_8cpp.html#a82cc7a3df71c1e139ce7cf34022ed80d">addElement</a>(<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(l),s); <a name="l00312"></a>00312 l = <a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(l); <a name="l00313"></a>00313 } <a name="l00314"></a>00314 <span class="keywordflow">return</span> s; <a name="l00315"></a>00315 } </pre></div></p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> </div> </p> </div> </div> <a class="anchor" id="a396db1d797f419f73a82074af90f9a14"></a><!-- doxytag: member="list.cpp::lmap" ref="a396db1d797f419f73a82074af90f9a14" args="(tfun f, Tree l)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> lmap </td> <td>(</td> <td class="paramtype"><a class="el" href="list_8hh.html#af77d25f8b1016f673088d066636124f0">tfun</a> </td> <td class="paramname"> <em>f</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>l</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00247">247</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="list_8cpp_source.html#l00240">reverse()</a>, and <a class="el" href="list_8cpp_source.html#l00233">rmap()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00248"></a>00248 { <a name="l00249"></a>00249 <span class="keywordflow">return</span> <a class="code" href="list_8cpp.html#a8e15f8d6fcc6cd319059c2e0544145bb">reverse</a>(<a class="code" href="list_8cpp.html#a53abb291e680e3819c4d45af6ef96c9c">rmap</a>(f,l)); <a name="l00250"></a>00250 } </pre></div></p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> </div> </p> </div> </div> <a class="anchor" id="aa292a4c5097b6978b9ce60a178ee8105"></a><!-- doxytag: member="list.cpp::lrange" ref="aa292a4c5097b6978b9ce60a178ee8105" args="(Tree l, int i, int j)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> lrange </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>l</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>i</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>j</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00221">221</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="list_8hh_source.html#l00124">cons()</a>, and <a class="el" href="list_8cpp_source.html#l00182">nth()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00222"></a>00222 { <a name="l00223"></a>00223 <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_8cpp.html#a538b704dd07794b7237108f1917c471e">nil</a>; <a name="l00224"></a>00224 <span class="keywordtype">int</span> c = j; <a name="l00225"></a>00225 <span class="keywordflow">while</span> (c>i) r = <a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a>( <a class="code" href="list_8cpp.html#a928095576946f64a78ea78fbb65fb8d6">nth</a>(l,--c), r); <a name="l00226"></a>00226 <span class="keywordflow">return</span> r; <a name="l00227"></a>00227 } </pre></div></p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> </div> </p> </div> </div> <a class="anchor" id="a928095576946f64a78ea78fbb65fb8d6"></a><!-- doxytag: member="list.cpp::nth" ref="a928095576946f64a78ea78fbb65fb8d6" args="(Tree l, int i)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> nth </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>l</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>i</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00182">182</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="list_8hh_source.html#l00133">hd()</a>, <a class="el" href="list_8hh_source.html#l00138">isList()</a>, and <a class="el" href="list_8hh_source.html#l00134">tl()</a>.</p> <p>Referenced by <a class="el" href="prim2_8cpp_source.html#l00069">ffargtype()</a>, <a class="el" href="prim2_8cpp_source.html#l00059">ffname()</a>, <a class="el" href="doc__compile_8cpp_source.html#l00464">DocCompiler::generateFFun()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00379">ScalarCompiler::generateFFun()</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="boxes_8cpp_source.html#l00341">isBoxHSlider()</a>, <a class="el" href="boxes_8cpp_source.html#l00382">isBoxNumEntry()</a>, <a class="el" href="boxes_8cpp_source.html#l00361">isBoxVSlider()</a>, <a class="el" href="signals_8cpp_source.html#l00214">isSigHSlider()</a>, <a class="el" href="signals_8cpp_source.html#l00254">isSigNumEntry()</a>, <a class="el" href="signals_8cpp_source.html#l00234">isSigVSlider()</a>, and <a class="el" href="list_8cpp_source.html#l00221">lrange()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00183"></a>00183 { <a name="l00184"></a>00184 <span class="keywordflow">while</span> (<a class="code" href="list_8hh.html#a8bdd73641276e0c0f999f504348eacc1">isList</a>(l)) { <a name="l00185"></a>00185 <span class="keywordflow">if</span> (i == 0) <span class="keywordflow">return</span> <a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(l); <a name="l00186"></a>00186 l = <a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(l); <a name="l00187"></a>00187 i--; <a name="l00188"></a>00188 } <a name="l00189"></a>00189 <span class="keywordflow">return</span> <a class="code" href="list_8cpp.html#a538b704dd07794b7237108f1917c471e">nil</a>; <a name="l00190"></a>00190 } </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="a850f2e459a901e0c9908d3a3a54b306e"></a><!-- doxytag: member="list.cpp::print" ref="a850f2e459a901e0c9908d3a3a54b306e" args="(Tree t, FILE *out)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void print </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>t</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">FILE * </td> <td class="paramname"> <em>out</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00154">154</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="tree_8hh_source.html#l00142">CTree::arity()</a>, <a class="el" href="tree_8hh_source.html#l00143">CTree::branch()</a>, <a class="el" href="node_8hh_source.html#l00137">isDouble()</a>, <a class="el" href="node_8hh_source.html#l00120">isInt()</a>, <a class="el" href="node_8hh_source.html#l00210">isPointer()</a>, <a class="el" href="node_8hh_source.html#l00193">isSym()</a>, <a class="el" href="symbol_8hh_source.html#l00098">name()</a>, <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>, <a class="el" href="list_8cpp_source.html#l00154">print()</a>, and <a class="el" href="list_8cpp_source.html#l00123">printlist()</a>.</p> <p>Referenced by <a class="el" href="eval_8cpp_source.html#l01164">addLayerDef()</a>, <a class="el" href="errormsg_8cpp_source.html#l00040">evalerror()</a>, <a class="el" href="errormsg_8cpp_source.html#l00059">evalremark()</a>, <a class="el" href="errormsg_8cpp_source.html#l00053">evalwarning()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00227">ScalarCompiler::generateCode()</a>, <a class="el" href="drawschema_8cpp_source.html#l00358">generateInsideSchema()</a>, <a class="el" href="sigorderrules_8cpp_source.html#l00084">infereSigOrder()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00275">infereSigType()</a>, <a class="el" href="list_8cpp_source.html#l00154">print()</a>, <a class="el" href="list_8cpp_source.html#l00123">printlist()</a>, <a class="el" href="sigprint_8cpp_source.html#l00085">printSignal()</a>, and <a class="el" href="sigtyperules_8cpp_source.html#l00130">searchEnv()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00155"></a>00155 { <a name="l00156"></a>00156 <span class="keywordtype">int</span> i; <span class="keywordtype">double</span> f; <a class="code" href="classSymbol.html" title="Symbols are unique objects with a name stored in a hash table.">Sym</a> s; <span class="keywordtype">void</span>* p; <a name="l00157"></a>00157 <a name="l00158"></a>00158 <span class="keywordflow">if</span> (<a class="code" href="list_8cpp.html#a6df50e60907d6b8217d705736e06a7b1">printlist</a>(t, out)) <span class="keywordflow">return</span>; <a name="l00159"></a>00159 <a name="l00160"></a>00160 <a class="code" href="classNode.html" title="Class Node = (type x (int + double + Sym + void*)).">Node</a> n = t-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(); <a name="l00161"></a>00161 <span class="keywordflow">if</span> (<a class="code" href="node_8hh.html#a8c9b968ac68f6cac1c361002da8afe99">isInt</a>(n, &i)) fprintf (out, <span class="stringliteral">"%d"</span>, i); <a name="l00162"></a>00162 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="node_8hh.html#aab6c20fb5dce797e97ac8ec8591258af">isDouble</a>(n, &f)) fprintf (out, <span class="stringliteral">"%f"</span>, f); <a name="l00163"></a>00163 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="node_8hh.html#ab714e75c43d570297ff54578dc7e9ce3">isSym</a>(n, &s)) fprintf (out, <span class="stringliteral">"%s"</span>, <a class="code" href="symbol_8hh.html#a8243134fbbd9d924ebbb3f833922e310" title="Returns the name of a symbol.">name</a>(s)); <a name="l00164"></a>00164 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="node_8hh.html#ad77dd53dfdf27d36a561a7ccbcb27708">isPointer</a>(n, &p)) fprintf (out, <span class="stringliteral">"#%p"</span>, p); <a name="l00165"></a>00165 <a name="l00166"></a>00166 <span class="keywordtype">int</span> k = t-><a class="code" href="classCTree.html#a68f2be5e845407bc956a2893fe6f0d03" title="return the number of branches (subtrees) of a tree">arity</a>(); <a name="l00167"></a>00167 <span class="keywordflow">if</span> (k > 0) { <a name="l00168"></a>00168 <span class="keywordtype">char</span> sep = <span class="charliteral">'['</span>; <a name="l00169"></a>00169 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0; i<k; i++) { <a name="l00170"></a>00170 fputc(sep, out); sep = <span class="charliteral">','</span>; <a name="l00171"></a>00171 <a class="code" href="list_8cpp.html#a850f2e459a901e0c9908d3a3a54b306e">print</a>(t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(i), out); <a name="l00172"></a>00172 } <a name="l00173"></a>00173 fputc(<span class="charliteral">']'</span>, out); <a name="l00174"></a>00174 } <a name="l00175"></a>00175 } </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="a6df50e60907d6b8217d705736e06a7b1"></a><!-- doxytag: member="list.cpp::printlist" ref="a6df50e60907d6b8217d705736e06a7b1" args="(Tree l, FILE *out)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static bool printlist </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>l</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">FILE * </td> <td class="paramname"> <em>out</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00123">123</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="list_8hh_source.html#l00133">hd()</a>, <a class="el" href="list_8hh_source.html#l00138">isList()</a>, <a class="el" href="list_8hh_source.html#l00137">isNil()</a>, <a class="el" href="list_8cpp_source.html#l00154">print()</a>, and <a class="el" href="list_8hh_source.html#l00134">tl()</a>.</p> <p>Referenced by <a class="el" href="list_8cpp_source.html#l00154">print()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00124"></a>00124 { <a name="l00125"></a>00125 <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a8bdd73641276e0c0f999f504348eacc1">isList</a>(l)) { <a name="l00126"></a>00126 <a name="l00127"></a>00127 <span class="keywordtype">char</span> sep = <span class="charliteral">'('</span>; <a name="l00128"></a>00128 <a name="l00129"></a>00129 <span class="keywordflow">do</span> { <a name="l00130"></a>00130 fputc(sep, out); sep = <span class="charliteral">','</span>; <a name="l00131"></a>00131 <a class="code" href="list_8cpp.html#a850f2e459a901e0c9908d3a3a54b306e">print</a>(<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(l)); <a name="l00132"></a>00132 l = <a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(l); <a name="l00133"></a>00133 } <span class="keywordflow">while</span> (<a class="code" href="list_8hh.html#a8bdd73641276e0c0f999f504348eacc1">isList</a>(l)); <a name="l00134"></a>00134 <a name="l00135"></a>00135 <span class="keywordflow">if</span> (! <a class="code" href="list_8hh.html#a2569c3a07bbbfa55e0afde62de62aeec">isNil</a>(l)) { <a name="l00136"></a>00136 fprintf(out, <span class="stringliteral">" . "</span>); <a name="l00137"></a>00137 <a class="code" href="list_8cpp.html#a850f2e459a901e0c9908d3a3a54b306e">print</a>(l, out); <a name="l00138"></a>00138 } <a name="l00139"></a>00139 <a name="l00140"></a>00140 fputc(<span class="charliteral">')'</span>, out); <a name="l00141"></a>00141 <span class="keywordflow">return</span> <span class="keyword">true</span>; <a name="l00142"></a>00142 <a name="l00143"></a>00143 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a2569c3a07bbbfa55e0afde62de62aeec">isNil</a>(l)) { <a name="l00144"></a>00144 <a name="l00145"></a>00145 fprintf(out, <span class="stringliteral">"nil"</span>); <a name="l00146"></a>00146 <span class="keywordflow">return</span> <span class="keyword">true</span>; <a name="l00147"></a>00147 <a name="l00148"></a>00148 } <span class="keywordflow">else</span> { <a name="l00149"></a>00149 <a name="l00150"></a>00150 <span class="keywordflow">return</span> <span class="keyword">false</span>; <a name="l00151"></a>00151 } <a name="l00152"></a>00152 } </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="af63a1b4b86dae30cb00e12297204509b"></a><!-- doxytag: member="list.cpp::pushEnv" ref="af63a1b4b86dae30cb00e12297204509b" args="(Tree key, Tree val, Tree env)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> pushEnv </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>val</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>env</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00351">351</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="list_8hh_source.html#l00124">cons()</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="l00352"></a>00352 { <a name="l00353"></a>00353 <span class="keywordflow">return</span> <a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a> (<a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a>(key,val), env); <a name="l00354"></a>00354 } </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="af7a60e2dc1cbd6a759957a032b56f94e"></a><!-- doxytag: member="list.cpp::rconcat" ref="af7a60e2dc1cbd6a759957a032b56f94e" args="(Tree l, Tree q)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> rconcat </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>l</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>q</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00210">210</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="list_8hh_source.html#l00124">cons()</a>, <a class="el" href="list_8hh_source.html#l00133">hd()</a>, <a class="el" href="list_8hh_source.html#l00138">isList()</a>, and <a class="el" href="list_8hh_source.html#l00134">tl()</a>.</p> <p>Referenced by <a class="el" href="list_8cpp_source.html#l00216">concat()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00211"></a>00211 { <a name="l00212"></a>00212 <span class="keywordflow">while</span> (<a class="code" href="list_8hh.html#a8bdd73641276e0c0f999f504348eacc1">isList</a>(l)) { q = <a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a>(<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(l),q); l = <a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(l); } <a name="l00213"></a>00213 <span class="keywordflow">return</span> q; <a name="l00214"></a>00214 } </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="a7c67c19620db14eba01619632128addb"></a><!-- doxytag: member="list.cpp::remElement" ref="a7c67c19620db14eba01619632128addb" args="(Tree e, Tree l)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> remElement </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>e</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>l</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00287">287</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="list_8hh_source.html#l00124">cons()</a>, <a class="el" href="list_8hh_source.html#l00133">hd()</a>, <a class="el" href="list_8hh_source.html#l00138">isList()</a>, <a class="el" href="list_8cpp_source.html#l00287">remElement()</a>, and <a class="el" href="list_8hh_source.html#l00134">tl()</a>.</p> <p>Referenced by <a class="el" href="list_8cpp_source.html#l00287">remElement()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00288"></a>00288 { <a name="l00289"></a>00289 <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a8bdd73641276e0c0f999f504348eacc1">isList</a>(l)) { <a name="l00290"></a>00290 <span class="keywordflow">if</span> (e < <a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(l)) { <a name="l00291"></a>00291 <span class="keywordflow">return</span> l; <a name="l00292"></a>00292 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (e == <a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(l)) { <a name="l00293"></a>00293 <span class="keywordflow">return</span> <a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(l); <a name="l00294"></a>00294 } <span class="keywordflow">else</span> { <a name="l00295"></a>00295 <span class="keywordflow">return</span> <a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a>(<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(l), <a class="code" href="list_8cpp.html#a7c67c19620db14eba01619632128addb">remElement</a>(e,<a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(l))); <a name="l00296"></a>00296 } <a name="l00297"></a>00297 } <span class="keywordflow">else</span> { <a name="l00298"></a>00298 <span class="keywordflow">return</span> <a class="code" href="list_8cpp.html#a538b704dd07794b7237108f1917c471e">nil</a>; <a name="l00299"></a>00299 } <a name="l00300"></a>00300 } </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="a232249f98172fe0aa4a63e7f8fda7d35"></a><!-- doxytag: member="list.cpp::removeKey" ref="a232249f98172fe0aa4a63e7f8fda7d35" args="(Tree pl, Tree key)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="classCTree.html">Tree</a> removeKey </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>pl</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>key</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00387">387</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="list_8hh_source.html#l00124">cons()</a>, <a class="el" href="list_8hh_source.html#l00133">hd()</a>, <a class="el" href="list_8hh_source.html#l00137">isNil()</a>, <a class="el" href="list_8hh_source.html#l00170">left()</a>, and <a class="el" href="list_8hh_source.html#l00134">tl()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00388"></a>00388 { <a name="l00389"></a>00389 <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a2569c3a07bbbfa55e0afde62de62aeec">isNil</a>(pl)) <span class="keywordflow">return</span> <a class="code" href="list_8cpp.html#a538b704dd07794b7237108f1917c471e">nil</a>; <a name="l00390"></a>00390 <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a626356b3c8f3e0130d0e043a1dd8547c">left</a>(<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(pl)) == key) <span class="keywordflow">return</span> <a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(pl); <a name="l00391"></a>00391 <span class="comment">/* left(hd(pl)) != key */</span> <span class="keywordflow">return</span> <a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a> (<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(pl), <a class="code" href="list_8cpp.html#a232249f98172fe0aa4a63e7f8fda7d35">removeKey</a>(<a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(pl), key)); <a name="l00392"></a>00392 } </pre></div></p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> </div> </p> </div> </div> <a class="anchor" id="a2a1c32cbbb22e015ef3ddc80dc395da2"></a><!-- doxytag: member="list.cpp::remProperty" ref="a2a1c32cbbb22e015ef3ddc80dc395da2" args="(Tree t, Tree key)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void remProperty </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>t</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>key</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00434">434</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00435"></a>00435 { <a name="l00436"></a>00436 exit(1); <span class="comment">// fonction not implemented</span> <a name="l00437"></a>00437 } </pre></div></p> </div> </div> <a class="anchor" id="ae0a48bbe990aaa013c0043985f0a385d"></a><!-- doxytag: member="list.cpp::replace" ref="ae0a48bbe990aaa013c0043985f0a385d" args="(Tree l, int i, Tree e)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> replace </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>l</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>i</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>e</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00192">192</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="list_8hh_source.html#l00124">cons()</a>, <a class="el" href="list_8hh_source.html#l00133">hd()</a>, <a class="el" href="list_8cpp_source.html#l00192">replace()</a>, and <a class="el" href="list_8hh_source.html#l00134">tl()</a>.</p> <p>Referenced by <a class="el" href="list_8cpp_source.html#l00192">replace()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00193"></a>00193 { <a name="l00194"></a>00194 <span class="keywordflow">return</span> (i==0) ? <a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a>(e,<a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(l)) : <a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a>( <a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(l), <a class="code" href="list_8cpp.html#ae0a48bbe990aaa013c0043985f0a385d">replace</a>(<a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(l),i-1,e) ); <a name="l00195"></a>00195 } </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="a8e15f8d6fcc6cd319059c2e0544145bb"></a><!-- doxytag: member="list.cpp::reverse" ref="a8e15f8d6fcc6cd319059c2e0544145bb" args="(Tree l)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> reverse </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>l</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00240">240</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="list_8hh_source.html#l00124">cons()</a>, <a class="el" href="list_8hh_source.html#l00133">hd()</a>, <a class="el" href="list_8hh_source.html#l00138">isList()</a>, and <a class="el" href="list_8hh_source.html#l00134">tl()</a>.</p> <p>Referenced by <a class="el" href="eval_8cpp_source.html#l00974">applyList()</a>, <a class="el" href="doc_8cpp_source.html#l00531">collectDocEqns()</a>, <a class="el" href="list_8cpp_source.html#l00216">concat()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00498">ScalarCompiler::generateButton()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00507">ScalarCompiler::generateCheckbox()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00572">ScalarCompiler::generateHBargraph()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00526">ScalarCompiler::generateHSlider()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00535">ScalarCompiler::generateNumEntry()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00545">ScalarCompiler::generateVBargraph()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00517">ScalarCompiler::generateVSlider()</a>, <a class="el" href="doc__compile_8cpp_source.html#l01235">DocCompiler::getUIDir()</a>, <a class="el" href="list_8cpp_source.html#l00247">lmap()</a>, <a class="el" href="patternmatcher_8cpp_source.html#l00479">make_pattern_matcher()</a>, <a class="el" href="doc_8cpp_source.html#l00445">printdoccontent()</a>, and <a class="el" href="sourcereader_8cpp_source.html#l00064">printPatternError()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00241"></a>00241 { <a name="l00242"></a>00242 <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_8cpp.html#a538b704dd07794b7237108f1917c471e">nil</a>; <a name="l00243"></a>00243 <span class="keywordflow">while</span> (<a class="code" href="list_8hh.html#a8bdd73641276e0c0f999f504348eacc1">isList</a>(l)) { r = <a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a>(<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(l),r); l = <a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(l); } <a name="l00244"></a>00244 <span class="keywordflow">return</span> r; <a name="l00245"></a>00245 } </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="ab0bcb47c9f4fe8d210e48adbbb521c0a"></a><!-- doxytag: member="list.cpp::reverseall" ref="ab0bcb47c9f4fe8d210e48adbbb521c0a" args="(Tree l)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> reverseall </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>l</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00252">252</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="list_8hh_source.html#l00138">isList()</a>, <a class="el" href="list_8cpp_source.html#l00252">reverseall()</a>, and <a class="el" href="list_8cpp_source.html#l00233">rmap()</a>.</p> <p>Referenced by <a class="el" href="list_8cpp_source.html#l00252">reverseall()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00253"></a>00253 { <a name="l00254"></a>00254 <span class="keywordflow">return</span> <a class="code" href="list_8hh.html#a8bdd73641276e0c0f999f504348eacc1">isList</a>(l) ? <a class="code" href="list_8cpp.html#a53abb291e680e3819c4d45af6ef96c9c">rmap</a>(<a class="code" href="list_8cpp.html#ab0bcb47c9f4fe8d210e48adbbb521c0a">reverseall</a>, l) : l; <a name="l00255"></a>00255 } </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="a53abb291e680e3819c4d45af6ef96c9c"></a><!-- doxytag: member="list.cpp::rmap" ref="a53abb291e680e3819c4d45af6ef96c9c" args="(tfun f, Tree l)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="classCTree.html">Tree</a> rmap </td> <td>(</td> <td class="paramtype"><a class="el" href="list_8hh.html#af77d25f8b1016f673088d066636124f0">tfun</a> </td> <td class="paramname"> <em>f</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>l</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00233">233</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="list_8hh_source.html#l00124">cons()</a>, <a class="el" href="list_8hh_source.html#l00133">hd()</a>, <a class="el" href="list_8hh_source.html#l00138">isList()</a>, and <a class="el" href="list_8hh_source.html#l00134">tl()</a>.</p> <p>Referenced by <a class="el" href="list_8cpp_source.html#l00247">lmap()</a>, and <a class="el" href="list_8cpp_source.html#l00252">reverseall()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00234"></a>00234 { <a name="l00235"></a>00235 <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_8cpp.html#a538b704dd07794b7237108f1917c471e">nil</a>; <a name="l00236"></a>00236 <span class="keywordflow">while</span> (<a class="code" href="list_8hh.html#a8bdd73641276e0c0f999f504348eacc1">isList</a>(l)) { r = <a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a>(f(<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(l)),r); l = <a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(l); } <a name="l00237"></a>00237 <span class="keywordflow">return</span> r; <a name="l00238"></a>00238 } </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="acf0a378250c41bd33b482d7fc0b73c91"></a><!-- doxytag: member="list.cpp::searchEnv" ref="acf0a378250c41bd33b482d7fc0b73c91" args="(Tree key, Tree &v, Tree env)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool searchEnv </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> & </td> <td class="paramname"> <em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>env</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00356">356</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="list_8hh_source.html#l00133">hd()</a>, <a class="el" href="list_8hh_source.html#l00138">isList()</a>, and <a class="el" href="list_8hh_source.html#l00134">tl()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00357"></a>00357 { <a name="l00358"></a>00358 <span class="keywordflow">while</span> (<a class="code" href="list_8hh.html#a8bdd73641276e0c0f999f504348eacc1">isList</a>(env)) { <a name="l00359"></a>00359 <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(env)) == key) { <a name="l00360"></a>00360 v = <a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(env)); <a name="l00361"></a>00361 <span class="keywordflow">return</span> <span class="keyword">true</span>; <a name="l00362"></a>00362 } <a name="l00363"></a>00363 env = <a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(env); <a name="l00364"></a>00364 } <a name="l00365"></a>00365 <span class="keywordflow">return</span> <span class="keyword">false</span>; <a name="l00366"></a>00366 } </pre></div></p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> </div> </p> </div> </div> <a class="anchor" id="afe686c8dacd86606d03c0dada2acb017"></a><!-- doxytag: member="list.cpp::setDifference" ref="afe686c8dacd86606d03c0dada2acb017" args="(Tree A, Tree B)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> setDifference </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>A</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>B</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00336">336</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="list_8hh_source.html#l00124">cons()</a>, <a class="el" href="list_8hh_source.html#l00133">hd()</a>, <a class="el" href="list_8hh_source.html#l00137">isNil()</a>, <a class="el" href="list_8cpp_source.html#l00336">setDifference()</a>, and <a class="el" href="list_8hh_source.html#l00134">tl()</a>.</p> <p>Referenced by <a class="el" href="list_8cpp_source.html#l00336">setDifference()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00337"></a>00337 { <a name="l00338"></a>00338 <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a2569c3a07bbbfa55e0afde62de62aeec">isNil</a>(A)) <span class="keywordflow">return</span> A; <a name="l00339"></a>00339 <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a2569c3a07bbbfa55e0afde62de62aeec">isNil</a>(B)) <span class="keywordflow">return</span> A; <a name="l00340"></a>00340 <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(A) == <a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(B)) <span class="keywordflow">return</span> <a class="code" href="list_8cpp.html#afe686c8dacd86606d03c0dada2acb017">setDifference</a>(<a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(A),<a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(B)); <a name="l00341"></a>00341 <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(A) < <a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(B)) <span class="keywordflow">return</span> <a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a>(<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(A), <a class="code" href="list_8cpp.html#afe686c8dacd86606d03c0dada2acb017">setDifference</a>(<a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(A),B)); <a name="l00342"></a>00342 <span class="comment">/* (hd(A) > hd(B)*/</span> <span class="keywordflow">return</span> <a class="code" href="list_8cpp.html#afe686c8dacd86606d03c0dada2acb017">setDifference</a>(A,<a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(B)); <a name="l00343"></a>00343 } </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="a9f0e93bbe2de47c028f8d34980751b07"></a><!-- doxytag: member="list.cpp::setIntersection" ref="a9f0e93bbe2de47c028f8d34980751b07" args="(Tree A, Tree B)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> setIntersection </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>A</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>B</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00327">327</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="list_8hh_source.html#l00124">cons()</a>, <a class="el" href="list_8hh_source.html#l00133">hd()</a>, <a class="el" href="list_8hh_source.html#l00137">isNil()</a>, <a class="el" href="list_8cpp_source.html#l00327">setIntersection()</a>, and <a class="el" href="list_8hh_source.html#l00134">tl()</a>.</p> <p>Referenced by <a class="el" href="list_8cpp_source.html#l00327">setIntersection()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00328"></a>00328 { <a name="l00329"></a>00329 <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a2569c3a07bbbfa55e0afde62de62aeec">isNil</a>(A)) <span class="keywordflow">return</span> A; <a name="l00330"></a>00330 <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a2569c3a07bbbfa55e0afde62de62aeec">isNil</a>(B)) <span class="keywordflow">return</span> B; <a name="l00331"></a>00331 <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(A) == <a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(B)) <span class="keywordflow">return</span> <a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a>(<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(A), <a class="code" href="list_8cpp.html#a9f0e93bbe2de47c028f8d34980751b07">setIntersection</a>(<a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(A),<a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(B))); <a name="l00332"></a>00332 <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(A) < <a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(B)) <span class="keywordflow">return</span> <a class="code" href="list_8cpp.html#a9f0e93bbe2de47c028f8d34980751b07">setIntersection</a>(<a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(A),B); <a name="l00333"></a>00333 <span class="comment">/* (hd(A) > hd(B)*/</span> <span class="keywordflow">return</span> <a class="code" href="list_8cpp.html#a9f0e93bbe2de47c028f8d34980751b07">setIntersection</a>(A,<a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(B)); <a name="l00334"></a>00334 } </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="a5ead5a3e91af18d8f94e0974990a3c5a"></a><!-- doxytag: member="list.cpp::setProperty" ref="a5ead5a3e91af18d8f94e0974990a3c5a" args="(Tree t, Tree key, Tree val)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void setProperty </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>t</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>val</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00418">418</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="tree_8hh_source.html#l00158">CTree::setProperty()</a>.</p> <p>Referenced by <a class="el" href="eval_8cpp_source.html#l01164">addLayerDef()</a>, <a class="el" href="recursivness_8cpp_source.html#l00081">annotate()</a>, <a class="el" href="privatise_8cpp_source.html#l00102">computePrivatisation()</a>, <a class="el" href="boxtype_8cpp_source.html#l00063">getBoxType()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00184">getInferredType()</a>, <a class="el" href="sigorderrules_8cpp_source.html#l00062">getSigOrder()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00577">infereRecType()</a>, <a class="el" href="privatise_8cpp_source.html#l00071">privatisation()</a>, <a class="el" href="colorize_8cpp_source.html#l00125">setColorProperty()</a>, <a class="el" href="occurrences_8cpp_source.html#l00057">Occurrences::setCount()</a>, <a class="el" href="names_8cpp_source.html#l00054">setDefNameProperty()</a>, <a class="el" href="errormsg_8cpp_source.html#l00066">setDefProp()</a>, <a class="el" href="eval_8cpp_source.html#l00259">setEvalProperty()</a>, <a class="el" href="eval_8cpp_source.html#l00558">setNumericProperty()</a>, <a class="el" href="eval_8cpp_source.html#l01302">setPMProperty()</a>, <a class="el" href="sharing_8cpp_source.html#l00075">ScalarCompiler::setSharingCount()</a>, <a class="el" href="doc__sharing_8cpp_source.html#l00081">DocCompiler::setSharingCount()</a>, <a class="el" href="names_8cpp_source.html#l00108">setSigNickname()</a>, <a class="el" href="simplify_8cpp_source.html#l00154">sigMap()</a>, <a class="el" href="list_8cpp_source.html#l00506">subst()</a>, and <a class="el" href="list_8cpp_source.html#l00445">tmap()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00419"></a>00419 { <a name="l00420"></a>00420 t-><a class="code" href="classCTree.html#ac628a2ad0d2a21de584e3bca291bd38c">setProperty</a>(key, val); <a name="l00421"></a>00421 } </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="ae026c6267f2f51cdb483c2fd62a3f9fc"></a><!-- doxytag: member="list.cpp::setUnion" ref="ae026c6267f2f51cdb483c2fd62a3f9fc" args="(Tree A, Tree B)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> setUnion </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>A</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>B</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00317">317</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="list_8hh_source.html#l00124">cons()</a>, <a class="el" href="list_8hh_source.html#l00133">hd()</a>, <a class="el" href="list_8hh_source.html#l00137">isNil()</a>, <a class="el" href="list_8cpp_source.html#l00317">setUnion()</a>, and <a class="el" href="list_8hh_source.html#l00134">tl()</a>.</p> <p>Referenced by <a class="el" href="eval_8cpp_source.html#l00309">realeval()</a>, and <a class="el" href="list_8cpp_source.html#l00317">setUnion()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00318"></a>00318 { <a name="l00319"></a>00319 <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a2569c3a07bbbfa55e0afde62de62aeec">isNil</a>(A)) <span class="keywordflow">return</span> B; <a name="l00320"></a>00320 <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a2569c3a07bbbfa55e0afde62de62aeec">isNil</a>(B)) <span class="keywordflow">return</span> A; <a name="l00321"></a>00321 <a name="l00322"></a>00322 <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(A) == <a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(B)) <span class="keywordflow">return</span> <a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a>(<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(A), <a class="code" href="list_8cpp.html#ae026c6267f2f51cdb483c2fd62a3f9fc">setUnion</a>(<a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(A),<a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(B))); <a name="l00323"></a>00323 <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(A) < <a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(B)) <span class="keywordflow">return</span> <a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a>(<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(A), <a class="code" href="list_8cpp.html#ae026c6267f2f51cdb483c2fd62a3f9fc">setUnion</a>(<a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(A),B)); <a name="l00324"></a>00324 <span class="comment">/* hd(A) > hd(B) */</span> <span class="keywordflow">return</span> <a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a>(<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(B), <a class="code" href="list_8cpp.html#ae026c6267f2f51cdb483c2fd62a3f9fc">setUnion</a>(A,<a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(B))); <a name="l00325"></a>00325 } </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="a8b82d57ba0e738e290782525dd8d982d"></a><!-- doxytag: member="list.cpp::singleton" ref="a8b82d57ba0e738e290782525dd8d982d" args="(Tree e)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> singleton </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>e</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00302">302</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="list_8hh_source.html#l00127">list1()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00303"></a>00303 { <a name="l00304"></a>00304 <span class="keywordflow">return</span> <a class="code" href="list_8hh.html#a5f132460535fda77b963f1c58a45f18f">list1</a>(e); <a name="l00305"></a>00305 } </pre></div></p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> </div> </p> </div> </div> <a class="anchor" id="a368fd42b7f42c373b11611e9f9b4f8e9"></a><!-- doxytag: member="list.cpp::subst" ref="a368fd42b7f42c373b11611e9f9b4f8e9" args="(Tree t, Tree propkey, Tree id, Tree val)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="classCTree.html">Tree</a> subst </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>t</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>propkey</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>val</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00506">506</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="tree_8hh_source.html#l00142">CTree::arity()</a>, <a class="el" href="tree_8hh_source.html#l00143">CTree::branch()</a>, <a class="el" href="list_8cpp_source.html#l00423">getProperty()</a>, <a class="el" href="list_8hh_source.html#l00137">isNil()</a>, <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>, <a class="el" href="list_8cpp_source.html#l00418">setProperty()</a>, <a class="el" href="Text_8cpp_source.html#l00060">subst()</a>, and <a class="el" href="tree_8hh_source.html#l00173">tree()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00507"></a>00507 { <a name="l00508"></a>00508 <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> p; <a name="l00509"></a>00509 <a name="l00510"></a>00510 <span class="keywordflow">if</span> (t==<span class="keywordtype">id</span>) { <a name="l00511"></a>00511 <span class="keywordflow">return</span> val; <a name="l00512"></a>00512 <a name="l00513"></a>00513 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (t-><a class="code" href="classCTree.html#a68f2be5e845407bc956a2893fe6f0d03" title="return the number of branches (subtrees) of a tree">arity</a>() == 0) { <a name="l00514"></a>00514 <span class="keywordflow">return</span> t; <a name="l00515"></a>00515 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="list_8cpp.html#a665745948013d012bb123e9577c094bd">getProperty</a>(t, propkey, p)) { <a name="l00516"></a>00516 <span class="keywordflow">return</span> (<a class="code" href="list_8hh.html#a2569c3a07bbbfa55e0afde62de62aeec">isNil</a>(p)) ? t : p; <a name="l00517"></a>00517 } <span class="keywordflow">else</span> { <a name="l00518"></a>00518 <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_8cpp.html#a538b704dd07794b7237108f1917c471e">nil</a>; <a name="l00519"></a>00519 <span class="keywordflow">switch</span> (t-><a class="code" href="classCTree.html#a68f2be5e845407bc956a2893fe6f0d03" title="return the number of branches (subtrees) of a tree">arity</a>()) { <a name="l00520"></a>00520 <a name="l00521"></a>00521 <span class="keywordflow">case</span> 1 : <a name="l00522"></a>00522 r = <a class="code" href="tree_8hh.html#a61c13e9361cfa80bbb3cd6ce60a8f595">tree</a>(t-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), <a name="l00523"></a>00523 <a class="code" href="Text_8cpp.html#af50e951c134c2c98c4c75d687f8fca7a">subst</a>(t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(0), propkey, id, val)); <a name="l00524"></a>00524 <span class="keywordflow">break</span>; <a name="l00525"></a>00525 <a name="l00526"></a>00526 <span class="keywordflow">case</span> 2 : <a name="l00527"></a>00527 r = <a class="code" href="tree_8hh.html#a61c13e9361cfa80bbb3cd6ce60a8f595">tree</a>(t-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), <a name="l00528"></a>00528 <a class="code" href="Text_8cpp.html#af50e951c134c2c98c4c75d687f8fca7a">subst</a>(t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(0), propkey, id, val), <a name="l00529"></a>00529 <a class="code" href="Text_8cpp.html#af50e951c134c2c98c4c75d687f8fca7a">subst</a>(t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(1), propkey, id, val)); <a name="l00530"></a>00530 <span class="keywordflow">break</span>; <a name="l00531"></a>00531 <a name="l00532"></a>00532 <span class="keywordflow">case</span> 3 : <a name="l00533"></a>00533 r = <a class="code" href="tree_8hh.html#a61c13e9361cfa80bbb3cd6ce60a8f595">tree</a>(t-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), <a name="l00534"></a>00534 <a class="code" href="Text_8cpp.html#af50e951c134c2c98c4c75d687f8fca7a">subst</a>(t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(0), propkey, id, val), <a name="l00535"></a>00535 <a class="code" href="Text_8cpp.html#af50e951c134c2c98c4c75d687f8fca7a">subst</a>(t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(1), propkey, id, val), <a name="l00536"></a>00536 <a class="code" href="Text_8cpp.html#af50e951c134c2c98c4c75d687f8fca7a">subst</a>(t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(2), propkey, id, val)); <a name="l00537"></a>00537 <span class="keywordflow">break</span>; <a name="l00538"></a>00538 <a name="l00539"></a>00539 <span class="keywordflow">case</span> 4 : <a name="l00540"></a>00540 r = <a class="code" href="tree_8hh.html#a61c13e9361cfa80bbb3cd6ce60a8f595">tree</a>(t-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), <a name="l00541"></a>00541 <a class="code" href="Text_8cpp.html#af50e951c134c2c98c4c75d687f8fca7a">subst</a>(t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(0), propkey, id, val), <a name="l00542"></a>00542 <a class="code" href="Text_8cpp.html#af50e951c134c2c98c4c75d687f8fca7a">subst</a>(t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(1), propkey, id, val), <a name="l00543"></a>00543 <a class="code" href="Text_8cpp.html#af50e951c134c2c98c4c75d687f8fca7a">subst</a>(t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(2), propkey, id, val), <a name="l00544"></a>00544 <a class="code" href="Text_8cpp.html#af50e951c134c2c98c4c75d687f8fca7a">subst</a>(t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(3), propkey, id, val)); <a name="l00545"></a>00545 <span class="keywordflow">break</span>; <a name="l00546"></a>00546 <a name="l00547"></a>00547 } <a name="l00548"></a>00548 <span class="keywordflow">if</span> (r == t) { <a name="l00549"></a>00549 <a class="code" href="list_8cpp.html#a5ead5a3e91af18d8f94e0974990a3c5a">setProperty</a>(t, propkey, <a class="code" href="list_8cpp.html#a538b704dd07794b7237108f1917c471e">nil</a>); <a name="l00550"></a>00550 } <span class="keywordflow">else</span> { <a name="l00551"></a>00551 <a class="code" href="list_8cpp.html#a5ead5a3e91af18d8f94e0974990a3c5a">setProperty</a>(t, propkey, r); <a name="l00552"></a>00552 } <a name="l00553"></a>00553 <span class="keywordflow">return</span> r; <a name="l00554"></a>00554 } <a name="l00555"></a>00555 <a name="l00556"></a>00556 } </pre></div></p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> </div> </p> </div> </div> <a class="anchor" id="a40185c4c5a347dcef0ae115ebf3443d6"></a><!-- doxytag: member="list.cpp::substitute" ref="a40185c4c5a347dcef0ae115ebf3443d6" args="(Tree t, Tree id, Tree val)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> substitute </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>t</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>val</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00559">559</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="Text_8cpp_source.html#l00060">subst()</a>, and <a class="el" href="list_8cpp_source.html#l00496">substkey()</a>.</p> <p>Referenced by <a class="el" href="recursive-tree_8cpp_source.html#l00235">calcDeBruijn2Sym()</a>, and <a class="el" href="recursive-tree_8cpp_source.html#l00284">calcsubstitute()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00560"></a>00560 { <a name="l00561"></a>00561 <span class="keywordflow">return</span> <a class="code" href="Text_8cpp.html#af50e951c134c2c98c4c75d687f8fca7a">subst</a> (t, <a class="code" href="list_8cpp.html#a3df2d33f98401f7f36cd0393324bc730">substkey</a>(t,<span class="keywordtype">id</span>,val), <span class="keywordtype">id</span>, val); <a name="l00562"></a>00562 } </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="a3df2d33f98401f7f36cd0393324bc730"></a><!-- doxytag: member="list.cpp::substkey" ref="a3df2d33f98401f7f36cd0393324bc730" args="(Tree t, Tree id, Tree val)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="classCTree.html">Tree</a> substkey </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>t</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>val</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00496">496</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="symbol_8hh_source.html#l00098">name()</a>, <a class="el" href="tree_8hh_source.html#l00173">tree()</a>, and <a class="el" href="symbol_8hh_source.html#l00097">unique()</a>.</p> <p>Referenced by <a class="el" href="list_8cpp_source.html#l00559">substitute()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00497"></a>00497 { <a name="l00498"></a>00498 <span class="keywordtype">char</span> <a class="code" href="symbol_8hh.html#a8243134fbbd9d924ebbb3f833922e310" title="Returns the name of a symbol.">name</a>[256]; <a name="l00499"></a>00499 snprintf(name, 255, <span class="stringliteral">"SUBST<%p,%p,%p> : "</span>, (<a class="code" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">CTree</a>*)t, (<a class="code" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">CTree</a>*)<span class="keywordtype">id</span>, (<a class="code" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">CTree</a>*)val); <a name="l00500"></a>00500 <span class="keywordflow">return</span> <a class="code" href="tree_8hh.html#a61c13e9361cfa80bbb3cd6ce60a8f595">tree</a>(<a class="code" href="symbol_8hh.html#a377309446e0e86ae663cd6709e02889d" title="Returns a new unique symbol of name strxxx.">unique</a>(name)); <a name="l00501"></a>00501 } </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="a2308c36110376628877ad2537ca23b45"></a><!-- doxytag: member="list.cpp::tmap" ref="a2308c36110376628877ad2537ca23b45" args="(Tree key, tfun f, Tree t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCTree.html">Tree</a> tmap </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="list_8hh.html#af77d25f8b1016f673088d066636124f0">tfun</a> </td> <td class="paramname"> <em>f</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>t</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00445">445</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="tree_8hh_source.html#l00142">CTree::arity()</a>, <a class="el" href="tree_8hh_source.html#l00143">CTree::branch()</a>, <a class="el" href="list_8cpp_source.html#l00423">getProperty()</a>, <a class="el" href="list_8hh_source.html#l00137">isNil()</a>, <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>, <a class="el" href="list_8cpp_source.html#l00418">setProperty()</a>, <a class="el" href="list_8cpp_source.html#l00445">tmap()</a>, and <a class="el" href="tree_8hh_source.html#l00173">tree()</a>.</p> <p>Referenced by <a class="el" href="list_8cpp_source.html#l00445">tmap()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00446"></a>00446 { <a name="l00447"></a>00447 <span class="comment">//printf("start tmap\n");</span> <a name="l00448"></a>00448 <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> p; <a name="l00449"></a>00449 <a name="l00450"></a>00450 <span class="keywordflow">if</span> (<a class="code" href="list_8cpp.html#a665745948013d012bb123e9577c094bd">getProperty</a>(t, key, p)) { <a name="l00451"></a>00451 <a name="l00452"></a>00452 <span class="keywordflow">return</span> (<a class="code" href="list_8hh.html#a2569c3a07bbbfa55e0afde62de62aeec">isNil</a>(p)) ? t : p; <span class="comment">// truc pour eviter les boucles</span> <a name="l00453"></a>00453 <a name="l00454"></a>00454 } <span class="keywordflow">else</span> { <a name="l00455"></a>00455 <a name="l00456"></a>00456 <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> r1=<a class="code" href="list_8cpp.html#a538b704dd07794b7237108f1917c471e">nil</a>; <a name="l00457"></a>00457 <span class="keywordflow">switch</span> (t-><a class="code" href="classCTree.html#a68f2be5e845407bc956a2893fe6f0d03" title="return the number of branches (subtrees) of a tree">arity</a>()) { <a name="l00458"></a>00458 <a name="l00459"></a>00459 <span class="keywordflow">case</span> 0 : <a name="l00460"></a>00460 r1 = t; <a name="l00461"></a>00461 <span class="keywordflow">break</span>; <a name="l00462"></a>00462 <span class="keywordflow">case</span> 1 : <a name="l00463"></a>00463 r1 = <a class="code" href="tree_8hh.html#a61c13e9361cfa80bbb3cd6ce60a8f595">tree</a>(t-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), <a class="code" href="list_8cpp.html#a2308c36110376628877ad2537ca23b45">tmap</a>(key,f,t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(0))); <a name="l00464"></a>00464 <span class="keywordflow">break</span>; <a name="l00465"></a>00465 <span class="keywordflow">case</span> 2 : <a name="l00466"></a>00466 r1 = <a class="code" href="tree_8hh.html#a61c13e9361cfa80bbb3cd6ce60a8f595">tree</a>(t-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), <a class="code" href="list_8cpp.html#a2308c36110376628877ad2537ca23b45">tmap</a>(key,f,t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(0)), <a class="code" href="list_8cpp.html#a2308c36110376628877ad2537ca23b45">tmap</a>(key,f,t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(1))); <a name="l00467"></a>00467 <span class="keywordflow">break</span>; <a name="l00468"></a>00468 <span class="keywordflow">case</span> 3 : <a name="l00469"></a>00469 r1 = <a class="code" href="tree_8hh.html#a61c13e9361cfa80bbb3cd6ce60a8f595">tree</a>(t-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), <a class="code" href="list_8cpp.html#a2308c36110376628877ad2537ca23b45">tmap</a>(key,f,t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(0)), <a class="code" href="list_8cpp.html#a2308c36110376628877ad2537ca23b45">tmap</a>(key,f,t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(1)), <a name="l00470"></a>00470 <a class="code" href="list_8cpp.html#a2308c36110376628877ad2537ca23b45">tmap</a>(key,f,t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(2))); <a name="l00471"></a>00471 <span class="keywordflow">break</span>; <a name="l00472"></a>00472 <span class="keywordflow">case</span> 4 : <a name="l00473"></a>00473 r1 = <a class="code" href="tree_8hh.html#a61c13e9361cfa80bbb3cd6ce60a8f595">tree</a>(t-><a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), <a class="code" href="list_8cpp.html#a2308c36110376628877ad2537ca23b45">tmap</a>(key,f,t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(0)), <a class="code" href="list_8cpp.html#a2308c36110376628877ad2537ca23b45">tmap</a>(key,f,t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(1)), <a name="l00474"></a>00474 <a class="code" href="list_8cpp.html#a2308c36110376628877ad2537ca23b45">tmap</a>(key,f,t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(2)), <a class="code" href="list_8cpp.html#a2308c36110376628877ad2537ca23b45">tmap</a>(key,f,t-><a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(3))); <a name="l00475"></a>00475 <span class="keywordflow">break</span>; <a name="l00476"></a>00476 } <a name="l00477"></a>00477 <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> r2 = f(r1); <a name="l00478"></a>00478 <span class="keywordflow">if</span> (r2 == t) { <a name="l00479"></a>00479 <a class="code" href="list_8cpp.html#a5ead5a3e91af18d8f94e0974990a3c5a">setProperty</a>(t, key, <a class="code" href="list_8cpp.html#a538b704dd07794b7237108f1917c471e">nil</a>); <a name="l00480"></a>00480 } <span class="keywordflow">else</span> { <a name="l00481"></a>00481 <a class="code" href="list_8cpp.html#a5ead5a3e91af18d8f94e0974990a3c5a">setProperty</a>(t, key, r2); <a name="l00482"></a>00482 } <a name="l00483"></a>00483 <span class="keywordflow">return</span> r2; <a name="l00484"></a>00484 } <a name="l00485"></a>00485 } </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="a5550404ef5132ffe32a377f2f6e7ec74"></a><!-- doxytag: member="list.cpp::updateKey" ref="a5550404ef5132ffe32a377f2f6e7ec74" args="(Tree pl, Tree key, Tree val)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="classCTree.html">Tree</a> updateKey </td> <td>(</td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>pl</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> </td> <td class="paramname"> <em>val</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00380">380</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>References <a class="el" href="list_8hh_source.html#l00124">cons()</a>, <a class="el" href="list_8hh_source.html#l00133">hd()</a>, <a class="el" href="list_8hh_source.html#l00137">isNil()</a>, <a class="el" href="list_8hh_source.html#l00170">left()</a>, and <a class="el" href="list_8hh_source.html#l00134">tl()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00381"></a>00381 { <a name="l00382"></a>00382 <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a2569c3a07bbbfa55e0afde62de62aeec">isNil</a>(pl)) <span class="keywordflow">return</span> <a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a> ( <a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a>(key,val), <a class="code" href="list_8cpp.html#a538b704dd07794b7237108f1917c471e">nil</a> ); <a name="l00383"></a>00383 <span class="keywordflow">if</span> (<a class="code" href="list_8hh.html#a626356b3c8f3e0130d0e043a1dd8547c">left</a>(<a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(pl)) == key) <span class="keywordflow">return</span> <a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a> ( <a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a>(key,val), <a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(pl) ); <a name="l00384"></a>00384 <span class="comment">/* left(hd(pl)) != key */</span> <span class="keywordflow">return</span> <a class="code" href="list_8hh.html#ae1ed153946fcfc025009c6d9c9c40bee">cons</a> ( <a class="code" href="list_8hh.html#a067ad6f83087b420a1c44e48e56be389">hd</a>(pl), <a class="code" href="list_8cpp.html#a5550404ef5132ffe32a377f2f6e7ec74">updateKey</a>( <a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a>(pl), key, val )); <a name="l00385"></a>00385 } </pre></div></p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> </div> </p> </div> </div> <hr/><h2>Variable Documentation</h2> <a class="anchor" id="aa6cfa1a72a65a7d10e0dc3fe24f6373c"></a><!-- doxytag: member="list.cpp::CONS" ref="aa6cfa1a72a65a7d10e0dc3fe24f6373c" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classSymbol.html">Sym</a> <a class="el" href="list_8hh.html#aa6cfa1a72a65a7d10e0dc3fe24f6373c">CONS</a> = symbol("cons")</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00112">112</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> </div> </div> <a class="anchor" id="a538b704dd07794b7237108f1917c471e"></a><!-- doxytag: member="list.cpp::nil" ref="a538b704dd07794b7237108f1917c471e" 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="list_8hh.html#a538b704dd07794b7237108f1917c471e">nil</a> = tree(<a class="el" href="list_8hh.html#a0dec1983dc1c8cd38ec317958c40e5ca">NIL</a>)</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00116">116</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> <p>Referenced by <a class="el" href="uitree_8cpp_source.html#l00111">addKey()</a>, <a class="el" href="patternmatcher_8cpp_source.html#l00660">apply_pattern_matcher()</a>, <a class="el" href="eval_8cpp_source.html#l00974">applyList()</a>, <a class="el" href="propagate_8cpp_source.html#l00442">boxPropagateSig()</a>, <a class="el" href="doc_8cpp_source.html#l00698">collectEqSigs()</a>, <a class="el" href="privatise_8cpp_source.html#l00102">computePrivatisation()</a>, <a class="el" href="labels_8cpp_source.html#l00094">concatPath()</a>, <a class="el" href="doc__autodoc_8cpp_source.html#l00058">declareAutoDoc()</a>, <a class="el" href="eval_8cpp_source.html#l00677">eval2double()</a>, <a class="el" href="eval_8cpp_source.html#l00706">eval2int()</a>, <a class="el" href="eval_8cpp_source.html#l01321">evalCase()</a>, <a class="el" href="eval_8cpp_source.html#l00110">evaldocexpr()</a>, <a class="el" href="eval_8cpp_source.html#l01251">evalIdDef()</a>, <a class="el" href="eval_8cpp_source.html#l01370">evalPattern()</a>, <a class="el" href="eval_8cpp_source.html#l01355">evalPatternList()</a>, <a class="el" href="eval_8cpp_source.html#l00102">evalprocess()</a>, <a class="el" href="eval_8cpp_source.html#l01336">evalRuleList()</a>, <a class="el" href="sourcereader_8cpp_source.html#l00271">SourceReader::expandlist()</a>, <a class="el" href="sourcereader_8cpp_source.html#l00146">formatDefinitions()</a>, <a class="el" href="boxtype_8cpp_source.html#l00063">getBoxType()</a>, <a class="el" href="uitree_8cpp_source.html#l00164">getFolder()</a>, <a class="el" href="eval_8cpp_source.html#l00618">isBoxNumeric()</a>, <a class="el" href="labels_8cpp_source.html#l00057">label2path()</a>, <a class="el" href="propagate_8cpp_source.html#l00128">listConvert()</a>, <a class="el" href="eval_8cpp_source.html#l01290">listn()</a>, <a class="el" href="main_8cpp_source.html#l00475">main()</a>, <a class="el" href="patternmatcher_8cpp_source.html#l00479">make_pattern_matcher()</a>, <a class="el" href="sourcereader_8cpp_source.html#l00104">makeDefinition()</a>, <a class="el" href="doc_8cpp_source.html#l00645">mapPrepareEqSig()</a>, <a class="el" href="occurences_8cpp_source.html#l00063">OccMarkup::mark()</a>, <a class="el" href="eval_8cpp_source.html#l00955">nwires()</a>, <a class="el" href="privatise_8cpp_source.html#l00071">privatisation()</a>, <a class="el" href="eval_8cpp_source.html#l01204">pushMultiClosureDefs()</a>, <a class="el" href="eval_8cpp_source.html#l00150">real_a2sb()</a>, <a class="el" href="eval_8cpp_source.html#l00309">realeval()</a>, <a class="el" href="recursivness_8cpp_source.html#l00051">recursivnessAnnotation()</a>, <a class="el" href="eval_8cpp_source.html#l00569">replaceBoxNumeric()</a>, <a class="el" href="eval_8cpp_source.html#l01101">revEvalList()</a>, <a class="el" href="simplify_8cpp_source.html#l00154">sigMap()</a>, <a class="el" href="signals_8hh_source.html#l00100">sigReadOnlyTable()</a>, <a class="el" href="signals_8hh_source.html#l00095">sigWriteReadTable()</a>, <a class="el" href="uitree_8cpp_source.html#l00100">updateKey()</a>, <a class="el" href="eval_8cpp_source.html#l01389">vec2list()</a>, and <a class="el" href="faustparser_8cpp_source.html#l01621">yyparse()</a>.</p> </div> </div> <a class="anchor" id="a0dec1983dc1c8cd38ec317958c40e5ca"></a><!-- doxytag: member="list.cpp::NIL" ref="a0dec1983dc1c8cd38ec317958c40e5ca" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classSymbol.html">Sym</a> <a class="el" href="list_8hh.html#a0dec1983dc1c8cd38ec317958c40e5ca">NIL</a> = symbol("nil")</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="list_8cpp_source.html#l00113">113</a> of file <a class="el" href="list_8cpp_source.html">list.cpp</a>.</p> </div> </div> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated on Thu Apr 29 00:00:07 2010 for FAUST compiler by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address> </body> </html>