Sophie

Sophie

distrib > Fedora > 14 > i386 > by-pkgid > dd7a95aabe1c049ac9f84beede8143d3 > files > 240

synopsis-doc-0.12-4.fc14.i686.rpm

<?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.html -->
<!-- this view was generated by Scope -->
<head>
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"/>
<title >Synopsis - Synopsis</title>
<link href="../style.css" type="text/css" rel="stylesheet" />
</head>
<body class="Scope">
<div class="navigation">
<span class="normal"><a href="global.html" >Global Namespace</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 -->
<h1 >Namespace Synopsis

</h1> <div class="doc"></div>
<!-- this part was generated by Summary -->
<div class="summary">
<div class="heading">Namespaces Summary:</div>
<div class="item"><a href="Synopsis/PTree.html" >PTree</a> <div class="doc"></div></div>
<div class="item"><a href="Synopsis/SymbolLookup.html" >SymbolLookup</a> <div class="doc"></div></div>
<div class="item"><a href="Synopsis/TypeAnalysis.html" >TypeAnalysis</a> <div class="doc"></div></div>
</div><!-- summary -->
<div class="summary">
<div class="heading">Classes Summary:</div>
<div class="item"><div class="synopsis">class <a href="Synopsis/Buffer.html" >Buffer</a></div> <div class="xref"><a href="../XRef/xref0.html#Synopsis_mBuffer" ><img src="../xref.png" alt="references"/></a></div> <div class="source"><a href="../Source/Synopsis/Buffer.hh.html#line22" ><img src="../src-c++.png" alt="source code"/></a></div> <div class="doc"><p>Buffer holds the memory on top of which a parse tree / syntax tree is
constructed.</p>
</div></div>
<div class="item"><div class="synopsis">class <a href="Synopsis/Lexer.html" >Lexer</a></div> <div class="xref"><a href="../XRef/xref0.html#Synopsis_mLexer" ><img src="../xref.png" alt="references"/></a></div> <div class="source"><a href="../Source/Synopsis/Lexer.hh.html#line22" ><img src="../src-c++.png" alt="source code"/></a></div> <div class="doc"><p>a Lexer reads tokens from a stream.</p>
</div></div>
<div class="item"><div class="synopsis">class <a href="Synopsis/Parser.html" >Parser</a></div> <div class="xref"><a href="../XRef/xref18.html#Synopsis_mParser" ><img src="../xref.png" alt="references"/></a></div> <div class="source"><a href="../Source/Synopsis/Parser.hh.html#line29" ><img src="../src-c++.png" alt="source code"/></a></div> <div class="doc"><p>C++ Parser</p>
</div></div>
<div class="item"><div class="synopsis">class <a href="Synopsis/SymbolFactory.html" >SymbolFactory</a></div> <div class="xref"><a href="../XRef/xref21.html#Synopsis_mSymbolFactory" ><img src="../xref.png" alt="references"/></a></div> <div class="source"><a href="../Source/Synopsis/SymbolFactory.hh.html#line22" ><img src="../src-c++.png" alt="source code"/></a></div> <div class="doc"><p>SymbolFactory populates a symbol table.</p>
</div></div>
<div class="item"><div class="synopsis">class <a href="Synopsis/Timer.html" >Timer</a></div> <div class="xref"><a href="../XRef/xref27.html#Synopsis_mTimer" ><img src="../xref.png" alt="references"/></a></div> <div class="source"><a href="../Source/Synopsis/Timer.hh.html#line16" ><img src="../src-c++.png" alt="source code"/></a></div> <div class="doc"></div></div>
<div class="item"><div class="synopsis">class <a href="Synopsis/Trace.html" >Trace</a></div> <div class="xref"><a href="../XRef/xref30.html#Synopsis_mTrace" ><img src="../xref.png" alt="references"/></a></div> <div class="source"><a href="../Source/Synopsis/Trace.hh.html#line17" ><img src="../src-c++.png" alt="source code"/></a></div> <div class="doc"></div></div>
</div><!-- summary -->
<div class="summary">
<div class="heading">Structs Summary:</div>
<div class="item"><div class="synopsis">struct <a href="Synopsis/Token.html" >Token</a></div> <div class="xref"><a href="../XRef/xref27.html#Synopsis_mToken" ><img src="../xref.png" alt="references"/></a></div> <div class="source"><a href="../Source/Synopsis/Token.hh.html#line50" ><img src="../src-c++.png" alt="source code"/></a></div> <div class="doc"><p>A Token is what the Lexer splits an input stream into.</p>
</div></div>
</div><!-- summary -->
<div class="summary">
<div class="heading">Functions Summary:</div>
<div class="item"><div class="synopsis"><span class="keyword">inline</span>&#160;bool <a class="name" id="is_blank_lchar_r">is_blank</a>(char <span class="variable">c</span>)  </div> <div class="xref"><a href="../XRef/xref33.html#Synopsis_mis_blank_lchar_r" ><img src="../xref.png" alt="references"/></a></div> <div class="source"><a href="../Source/Synopsis/Lexer.hh.html#line115" ><img src="../src-c++.png" alt="source code"/></a></div> <div class="doc"></div></div>
<div class="item"><div class="synopsis"><span class="keyword">inline</span>&#160;bool <a class="name" id="is_digit_lchar_r">is_digit</a>(char <span class="variable">c</span>)  </div> <div class="xref"><a href="../XRef/xref33.html#Synopsis_mis_digit_lchar_r" ><img src="../xref.png" alt="references"/></a></div> <div class="source"><a href="../Source/Synopsis/Lexer.hh.html#line125" ><img src="../src-c++.png" alt="source code"/></a></div> <div class="doc"></div></div>
<div class="item"><div class="synopsis"><span class="keyword">inline</span>&#160;bool <a class="name" id="is_eletter_lchar_r">is_eletter</a>(char <span class="variable">c</span>)  </div> <div class="xref"><a href="../XRef/xref34.html#Synopsis_mis_eletter_lchar_r" ><img src="../xref.png" alt="references"/></a></div> <div class="source"><a href="../Source/Synopsis/Lexer.hh.html#line129" ><img src="../src-c++.png" alt="source code"/></a></div> <div class="doc"></div></div>
<div class="item"><div class="synopsis"><span class="keyword">inline</span>&#160;bool <a class="name" id="is_float_suffix_lchar_r">is_float_suffix</a>(char <span class="variable">c</span>)  </div> <div class="xref"><a href="../XRef/xref34.html#Synopsis_mis_float_suffix_lchar_r" ><img src="../xref.png" alt="references"/></a></div> <div class="source"><a href="../Source/Synopsis/Lexer.hh.html#line141" ><img src="../src-c++.png" alt="source code"/></a></div> <div class="doc"></div></div>
<div class="item"><div class="synopsis"><span class="keyword">inline</span>&#160;bool <a class="name" id="is_hexdigit_lchar_r">is_hexdigit</a>(char <span class="variable">c</span>)  </div> <div class="xref"><a href="../XRef/xref34.html#Synopsis_mis_hexdigit_lchar_r" ><img src="../xref.png" alt="references"/></a></div> <div class="source"><a href="../Source/Synopsis/Lexer.hh.html#line131" ><img src="../src-c++.png" alt="source code"/></a></div> <div class="doc"></div></div>
<div class="item"><div class="synopsis"><span class="keyword">inline</span>&#160;bool <a class="name" id="is_int_suffix_lchar_r">is_int_suffix</a>(char <span class="variable">c</span>)  </div> <div class="xref"><a href="../XRef/xref34.html#Synopsis_mis_int_suffix_lchar_r" ><img src="../xref.png" alt="references"/></a></div> <div class="source"><a href="../Source/Synopsis/Lexer.hh.html#line136" ><img src="../src-c++.png" alt="source code"/></a></div> <div class="doc"></div></div>
<div class="item"><div class="synopsis"><span class="keyword">inline</span>&#160;bool <a class="name" id="is_letter_lchar_r">is_letter</a>(char <span class="variable">c</span>)  </div> <div class="xref"><a href="../XRef/xref34.html#Synopsis_mis_letter_lchar_r" ><img src="../xref.png" alt="references"/></a></div> <div class="source"><a href="../Source/Synopsis/Lexer.hh.html#line120" ><img src="../src-c++.png" alt="source code"/></a></div> <div class="doc"></div></div>
<div class="item"><div class="synopsis"><span class="keyword">inline</span>&#160;bool <a class="name" id="is_xletter_lchar_r">is_xletter</a>(char <span class="variable">c</span>)  </div> <div class="xref"><a href="../XRef/xref34.html#Synopsis_mis_xletter_lchar_r" ><img src="../xref.png" alt="references"/></a></div> <div class="source"><a href="../Source/Synopsis/Lexer.hh.html#line127" ><img src="../src-c++.png" alt="source code"/></a></div> <div class="doc"></div></div>
</div><!-- summary -->
<!-- this part was generated by Detail -->
<div class="detail">
<div class="heading">Classes Details:</div>
<div class="item"><div class="synopsis">class <a href="Synopsis/Buffer.html" >Buffer</a></div> <div class="xref"><a href="../XRef/xref0.html#Synopsis_mBuffer" ><img src="../xref.png" alt="references"/></a></div> <div class="source"><a href="../Source/Synopsis/Buffer.hh.html#line22" ><img src="../src-c++.png" alt="source code"/></a></div> <div class="doc"><p>Buffer holds the memory on top of which a parse tree / syntax tree is
constructed. Besides giving access to individual characters, it provides
the means to register replacements for buffer chunks, such that when
the Buffer's write method is executed the new file will contain the
modified source.</p>
</div></div>
<div class="item"><div class="synopsis">class <a href="Synopsis/Lexer.html" >Lexer</a></div> <div class="xref"><a href="../XRef/xref0.html#Synopsis_mLexer" ><img src="../xref.png" alt="references"/></a></div> <div class="source"><a href="../Source/Synopsis/Lexer.hh.html#line22" ><img src="../src-c++.png" alt="source code"/></a></div> <div class="doc"><p>a Lexer reads tokens from a stream.</p>
</div></div>
<div class="item"><div class="synopsis">class <a href="Synopsis/Parser.html" >Parser</a></div> <div class="xref"><a href="../XRef/xref18.html#Synopsis_mParser" ><img src="../xref.png" alt="references"/></a></div> <div class="source"><a href="../Source/Synopsis/Parser.hh.html#line29" ><img src="../src-c++.png" alt="source code"/></a></div> <div class="doc"><p>C++ Parser</p>
<p>This parser is a LL(k) parser with ad hoc rules such as
backtracking.</p>
<p>&lt;name&gt;() is the grammer rule for a non-terminal &lt;name&gt;.
opt_&lt;name&gt;() is the grammer rule for an optional non-terminal &lt;name&gt;.
is_&lt;name&gt;() looks ahead and returns true if the next symbol is &lt;name&gt;.</p>
</div></div>
<div class="item"><div class="synopsis">class <a href="Synopsis/SymbolFactory.html" >SymbolFactory</a></div> <div class="xref"><a href="../XRef/xref21.html#Synopsis_mSymbolFactory" ><img src="../xref.png" alt="references"/></a></div> <div class="source"><a href="../Source/Synopsis/SymbolFactory.hh.html#line22" ><img src="../src-c++.png" alt="source code"/></a></div> <div class="doc"><p>SymbolFactory populates a symbol table.</p>
</div></div>
</div><!-- detail -->
<div class="detail">
<div class="heading">Structs Details:</div>
<div class="item"><div class="synopsis">struct <a href="Synopsis/Token.html" >Token</a></div> <div class="xref"><a href="../XRef/xref27.html#Synopsis_mToken" ><img src="../xref.png" alt="references"/></a></div> <div class="source"><a href="../Source/Synopsis/Token.hh.html#line50" ><img src="../src-c++.png" alt="source code"/></a></div> <div class="doc"><p>A Token is what the Lexer splits an input stream into.
It refers to a region in the underlaying buffer and it
has a type.</p>
<ul class="simple">
<li>line directive:   <em>^&quot;#&quot;{blank}*{digit}+({blank}+.*)?n</em></li>
<li>pragma directive: <em>^&quot;#&quot;{blank}*&quot;pragma&quot;.*n</em></li>
<li>Constant:<ul>
<li><em>{digit}+{int_suffix}*</em></li>
<li><em>&quot;0&quot;{xletter}{hexdigit}+{int_suffix}*</em></li>
<li><em>{digit}*.{digit}+{float_suffix}*</em></li>
<li><em>{digit}+.{float_suffix}*</em></li>
<li><em>{digit}*.{digit}+&quot;e&quot;(&quot;+&quot;|&quot;-&quot;)*{digit}+{float_suffix}*</em></li>
<li><em>{digit}+.&quot;e&quot;(&quot;+&quot;|&quot;-&quot;)*{digit}+{float_suffix}*</em></li>
<li><em>{digit}+&quot;e&quot;(&quot;+&quot;|&quot;-&quot;)*{digit}+{float_suffix}*</em></li>
</ul>
</li>
<li>CharConst:        <em>'([^'n]|\[^n])'</em></li>
<li>WideCharConst:    <em>L'([^'n]|\[^n])'</em></li>
<li>StringL:          <em>&quot;([^&quot;n]|\[&quot;n])*&quot;</em></li>
<li>WideStringL:      <em>L&quot;([^&quot;n]|\[&quot;n])*&quot;</em></li>
<li>Identifier:       <em>{letter}+({letter}|{digit})*</em></li>
<li>AssignOp:         <em>*= /= %= += -= &amp;= ^= &lt;&lt;= &gt;&gt;=</em></li>
<li>EqualOp:          <em>== !=</em></li>
<li>RelOp:            <em>&lt;= &gt;=</em></li>
<li>ShiftOp:          <em>&lt;&lt; &gt;&gt;</em></li>
<li>LogOrOp:          <em>||</em></li>
<li>LogAndOp:         <em>&amp;&amp;</em></li>
<li>IncOp:            <em>++ --</em></li>
<li>Scope:            <em>::</em></li>
<li>Ellipsis:         <em>...</em></li>
<li>PmOp:             <em>.* -&gt;*</em></li>
<li>ArrowOp:          <em>-&gt;</em></li>
<li>others:           <em>!%^&amp;*()-+={}|~[];:&lt;&gt;?,./</em></li>
<li>BadToken:         <em>others</em></li>
</ul>
</div></div>
</div><!-- detail -->

<div class="logo">Generated on Thu Apr 16 16:27:32 2009 by 
<br/>
<a href="http://synopsis.fresco.org" target="_blank"><img src="../synopsis.png" alt="logo"/> synopsis</a> (version devel)</div>
</body>
</html>