<?xml version="1.0" encoding="iso-8859-1"?> <!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" lang="en"> <!-- Scopes/Synopsis/Processors/Comments/Grouper/Grouper.html --> <!-- this view was generated by Scope --> <head> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"/> <title >Synopsis - Synopsis.Processors.Comments.Grouper.Grouper</title> <link href="../../../../../style.css" type="text/css" rel="stylesheet" /> </head> <body class="Scope"> <div class="navigation"> <span class="normal"><a href="../../../../Synopsis.html" >Global Package</a></span> <span class="normal"><a href="../../../../../InheritanceTree.html" >Inheritance Tree</a></span> <span class="normal"><a href="../../../../../InheritanceGraph.html" >Inheritance Graph</a></span> <span class="normal"><a href="../../../../../NameIndex.html" >Name Index</a></span> </div> <!-- this part was generated by Heading --> <div class="class-module">module <a href="../../../../Synopsis.html" >Synopsis</a>.<a href="../../../Processors.html" >Processors</a>.<a href="../../Comments.html" >Comments</a>.<a href="../Grouper.html" >Grouper</a> </div><div class="class-name">class Grouper </div><div class="links"><div class="file">File: <a href="../../../../../File/Synopsis/Processors/Comments/Grouper.py.html" target="detail">../Synopsis/Processors/Comments/Grouper.py</a></div> <div class="xref"><a href="../../../../../XRef/xref24.html#Synopsis.Processors.Comments.Grouper.Grouper" ><img src="../../../../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line13" ><img src="../../../../../src-py.png" alt="source code"/></a></div></div> <img alt="Grouper-inheritance" src="Grouper-inheritance.png" hspace="8" vspace="8" border="0" usemap="#Grouper-inheritance_map" /> <map name="Grouper-inheritance_map"></map> <div class="doc">A class that detects grouping tags and moves the enclosed nodes into a subnode (a 'Group')</div> <!-- this part was generated by Summary --> <div class="summary"> <div class="heading">Attributes Summary:</div> <div class="item"><div class="synopsis"> <a class="name" id="__group_stack">__group_stack</a></div> <div class="xref"></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line22" ><img src="../../../../../src-py.png" alt="source code"/></a></div> <div class="doc"></div></div> </div><!-- summary --> <div class="summary"> <div class="heading">Class attributes Summary:</div> <div class="item"><div class="synopsis"> <a class="name" id="tags">tags</a></div> <div class="xref"></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line17" ><img src="../../../../../src-py.png" alt="source code"/></a></div> <div class="doc"></div></div> </div><!-- summary --> <div class="summary"> <div class="heading">Methods Summary:</div> <div class="item"><div class="synopsis">  <a class="name" id="__init__">__init__</a>(<span class="variable">self</span>, <span class="keyword">*</span> <span class="keyword">*</span> <span class="variable">kwds</span>) </div> <div class="xref"><a href="../../../../../XRef/xref24.html#Synopsis.Processors.Comments.Grouper.Grouper.__init__" ><img src="../../../../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line19" ><img src="../../../../../src-py.png" alt="source code"/></a></div> <div class="doc"></div></div> <div class="item"><div class="synopsis">  <span class="name"><a href="Grouper.html#strip_dangling_groups" >strip_dangling_groups</a></span>(<span class="variable">self</span>) </div> <div class="xref"><a href="../../../../../XRef/xref24.html#Synopsis.Processors.Comments.Grouper.Grouper.strip_dangling_groups" ><img src="../../../../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line25" ><img src="../../../../../src-py.png" alt="source code"/></a></div> <div class="doc">As groups must not overlap with 'real' scopes, make sure all groups created in the current scope are closed when leaving the scope.</div></div> <div class="item"><div class="synopsis">  <span class="name"><a href="Grouper.html#finalize" >finalize</a></span>(<span class="variable">self</span>) </div> <div class="xref"><a href="../../../../../XRef/xref24.html#Synopsis.Processors.Comments.Grouper.Grouper.finalize" ><img src="../../../../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line37" ><img src="../../../../../src-py.png" alt="source code"/></a></div> <div class="doc"></div></div> <div class="item"><div class="synopsis">  <span class="name"><a href="Grouper.html#push" >push</a></span>(<span class="variable">self</span>) </div> <div class="xref"><a href="../../../../../XRef/xref24.html#Synopsis.Processors.Comments.Grouper.Grouper.push" ><img src="../../../../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line43" ><img src="../../../../../src-py.png" alt="source code"/></a></div> <div class="doc"></div></div> <div class="item"><div class="synopsis">  <span class="name"><a href="Grouper.html#pop" >pop</a></span>(<span class="variable">self</span>, <span class="variable">decl</span>) </div> <div class="xref"><a href="../../../../../XRef/xref24.html#Synopsis.Processors.Comments.Grouper.Grouper.pop" ><img src="../../../../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line49" ><img src="../../../../../src-py.png" alt="source code"/></a></div> <div class="doc">Make sure the current group stack is empty.</div></div> <div class="item"><div class="synopsis">  <span class="name"><a href="Grouper.html#push_group" >push_group</a></span>(<span class="variable">self</span>, <span class="variable">group</span>) </div> <div class="xref"><a href="../../../../../XRef/xref24.html#Synopsis.Processors.Comments.Grouper.Grouper.push_group" ><img src="../../../../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line56" ><img src="../../../../../src-py.png" alt="source code"/></a></div> <div class="doc">Push new group scope to the stack.</div></div> <div class="item"><div class="synopsis">  <span class="name"><a href="Grouper.html#pop_group" >pop_group</a></span>(<span class="variable">self</span>, <span class="variable">decl</span> = <span class="value">None</span>) </div> <div class="xref"><a href="../../../../../XRef/xref24.html#Synopsis.Processors.Comments.Grouper.Grouper.pop_group" ><img src="../../../../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line62" ><img src="../../../../../src-py.png" alt="source code"/></a></div> <div class="doc">Pop a group scope from the stack.</div></div> <div class="item"><div class="synopsis">  <span class="name"><a href="Grouper.html#process_comments" >process_comments</a></span>(<span class="variable">self</span>, <span class="variable">decl</span>) </div> <div class="xref"><a href="../../../../../XRef/xref24.html#Synopsis.Processors.Comments.Grouper.Grouper.process_comments" ><img src="../../../../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line80" ><img src="../../../../../src-py.png" alt="source code"/></a></div> <div class="doc">Checks for grouping tags.</div></div> <div class="item"><div class="synopsis">  <a class="name" id="visit_declaration">visit_declaration</a>(<span class="variable">self</span>, <span class="variable">decl</span>) </div> <div class="xref"><a href="../../../../../XRef/xref24.html#Synopsis.Processors.Comments.Grouper.Grouper.visit_declaration" ><img src="../../../../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line122" ><img src="../../../../../src-py.png" alt="source code"/></a></div> <div class="doc"></div></div> <div class="item"><div class="synopsis">  <span class="name"><a href="Grouper.html#visit_scope" >visit_scope</a></span>(<span class="variable">self</span>, <span class="variable">scope</span>) </div> <div class="xref"><a href="../../../../../XRef/xref24.html#Synopsis.Processors.Comments.Grouper.Grouper.visit_scope" ><img src="../../../../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line127" ><img src="../../../../../src-py.png" alt="source code"/></a></div> <div class="doc">Visits all children of the scope in a new scope.</div></div> <div class="item"><div class="synopsis">  <span class="name"><a href="Grouper.html#visit_enum" >visit_enum</a></span>(<span class="variable">self</span>, <span class="variable">enum</span>) </div> <div class="xref"><a href="../../../../../XRef/xref24.html#Synopsis.Processors.Comments.Grouper.Grouper.visit_enum" ><img src="../../../../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line139" ><img src="../../../../../src-py.png" alt="source code"/></a></div> <div class="doc"></div></div> <div class="item"><div class="synopsis">  <span class="name"><a href="Grouper.html#visit_enumerator" >visit_enumerator</a></span>(<span class="variable">self</span>, <span class="variable">enumor</span>) </div> <div class="xref"><a href="../../../../../XRef/xref24.html#Synopsis.Processors.Comments.Grouper.Grouper.visit_enumerator" ><img src="../../../../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line150" ><img src="../../../../../src-py.png" alt="source code"/></a></div> <div class="doc"></div></div> </div><!-- summary --> <!-- this part was generated by Inheritance --> <!-- this part was generated by Detail --> <div class="detail"> <div class="heading">Methods Details:</div> <div class="item"><div class="synopsis">  <a class="name" id="strip_dangling_groups">strip_dangling_groups</a>(<span class="variable">self</span>) </div> <div class="xref"><a href="../../../../../XRef/xref24.html#Synopsis.Processors.Comments.Grouper.Grouper.strip_dangling_groups" ><img src="../../../../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line25" ><img src="../../../../../src-py.png" alt="source code"/></a></div> <div class="doc">As groups must not overlap with 'real' scopes, make sure all groups created in the current scope are closed when leaving the scope.</div></div> <div class="item"><div class="synopsis">  <a class="name" id="finalize">finalize</a>(<span class="variable">self</span>) </div> <div class="xref"><a href="../../../../../XRef/xref24.html#Synopsis.Processors.Comments.Grouper.Grouper.finalize" ><img src="../../../../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line37" ><img src="../../../../../src-py.png" alt="source code"/></a></div> <div class="doc">replace the ASG with the newly created one</div></div> <div class="item"><div class="synopsis">  <a class="name" id="push">push</a>(<span class="variable">self</span>) </div> <div class="xref"><a href="../../../../../XRef/xref24.html#Synopsis.Processors.Comments.Grouper.Grouper.push" ><img src="../../../../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line43" ><img src="../../../../../src-py.png" alt="source code"/></a></div> <div class="doc">starts a new group stack to be able to validate group scopes</div></div> <div class="item"><div class="synopsis">  <a class="name" id="pop">pop</a>(<span class="variable">self</span>, <span class="variable">decl</span>) </div> <div class="xref"><a href="../../../../../XRef/xref24.html#Synopsis.Processors.Comments.Grouper.Grouper.pop" ><img src="../../../../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line49" ><img src="../../../../../src-py.png" alt="source code"/></a></div> <div class="doc">Make sure the current group stack is empty.</div></div> <div class="item"><div class="synopsis">  <a class="name" id="push_group">push_group</a>(<span class="variable">self</span>, <span class="variable">group</span>) </div> <div class="xref"><a href="../../../../../XRef/xref24.html#Synopsis.Processors.Comments.Grouper.Grouper.push_group" ><img src="../../../../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line56" ><img src="../../../../../src-py.png" alt="source code"/></a></div> <div class="doc">Push new group scope to the stack.</div></div> <div class="item"><div class="synopsis">  <a class="name" id="pop_group">pop_group</a>(<span class="variable">self</span>, <span class="variable">decl</span> = <span class="value">None</span>) </div> <div class="xref"><a href="../../../../../XRef/xref24.html#Synopsis.Processors.Comments.Grouper.Grouper.pop_group" ><img src="../../../../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line62" ><img src="../../../../../src-py.png" alt="source code"/></a></div> <div class="doc">Pop a group scope from the stack. decl -- an optional declaration from which to extract the context, used for the error message if needed. </div></div> <div class="item"><div class="synopsis">  <a class="name" id="process_comments">process_comments</a>(<span class="variable">self</span>, <span class="variable">decl</span>) </div> <div class="xref"><a href="../../../../../XRef/xref24.html#Synopsis.Processors.Comments.Grouper.Grouper.process_comments" ><img src="../../../../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line80" ><img src="../../../../../src-py.png" alt="source code"/></a></div> <div class="doc">Checks for grouping tags. If an opening tag is found in the middle of a comment, a new Group is generated, the preceeding comments are associated with it, and is pushed onto the scope stack as well as the groups stack. </div></div> <div class="item"><div class="synopsis">  <a class="name" id="visit_scope">visit_scope</a>(<span class="variable">self</span>, <span class="variable">scope</span>) </div> <div class="xref"><a href="../../../../../XRef/xref24.html#Synopsis.Processors.Comments.Grouper.Grouper.visit_scope" ><img src="../../../../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line127" ><img src="../../../../../src-py.png" alt="source code"/></a></div> <div class="doc">Visits all children of the scope in a new scope. The value of current_scope() at the end of the list is used to replace scope's list of declarations - hence you can remove (or insert) declarations from the list.</div></div> <div class="item"><div class="synopsis">  <a class="name" id="visit_enum">visit_enum</a>(<span class="variable">self</span>, <span class="variable">enum</span>) </div> <div class="xref"><a href="../../../../../XRef/xref24.html#Synopsis.Processors.Comments.Grouper.Grouper.visit_enum" ><img src="../../../../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line139" ><img src="../../../../../src-py.png" alt="source code"/></a></div> <div class="doc">Does the same as visit_scope, but for the enum's list of enumerators</div></div> <div class="item"><div class="synopsis">  <a class="name" id="visit_enumerator">visit_enumerator</a>(<span class="variable">self</span>, <span class="variable">enumor</span>) </div> <div class="xref"><a href="../../../../../XRef/xref24.html#Synopsis.Processors.Comments.Grouper.Grouper.visit_enumerator" ><img src="../../../../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../../../../Source/Synopsis/Processors/Comments/Grouper.py.html#line150" ><img src="../../../../../src-py.png" alt="source code"/></a></div> <div class="doc">Removes dummy enumerators</div></div> </div><!-- detail --> <div class="logo">Generated on Thu Apr 16 16:27:06 2009 by <br/> <a href="http://synopsis.fresco.org" target="_blank"><img src="../../../../../synopsis.png" alt="logo"/> synopsis</a> (version devel)</div> </body> </html>