File Annotation
Not logged in
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <html><head>
8caee17864 2010-11-24        kinaba: <meta http-equiv="content-type" content="text/html; charset=utf-8">
8caee17864 2010-11-24        kinaba: <meta content="text/javascript" http-equiv="content-script-type">
8caee17864 2010-11-24        kinaba: <title>polemy.lex</title>
8caee17864 2010-11-24        kinaba: <link rel="stylesheet" type="text/css" href="candydoc/style.css">
8caee17864 2010-11-24        kinaba: <!--[if lt IE 7]><link rel="stylesheet" type="text/css" href="candydoc/ie56hack.css"><![endif]-->
8caee17864 2010-11-24        kinaba: <script language="JavaScript" src="candydoc/util.js" type="text/javascript"></script>
8caee17864 2010-11-24        kinaba: <script language="JavaScript" src="candydoc/tree.js" type="text/javascript"></script>
8caee17864 2010-11-24        kinaba: <script language="JavaScript" src="candydoc/explorer.js" type="text/javascript"></script>
8caee17864 2010-11-24        kinaba: </head><body>
8caee17864 2010-11-24        kinaba: <div id="tabarea"></div><div id="explorerclient"></div>
8caee17864 2010-11-24        kinaba: <div id="content"><script>explorer.initialize("polemy.lex");</script>
8caee17864 2010-11-24        kinaba: 	<table class="content">
8caee17864 2010-11-24        kinaba: 		<tr><td id="docbody"><h1>polemy.lex</h1><!-- Generated by Ddoc from polemy\lex.d -->
8caee17864 2010-11-24        kinaba: <b>Authors:</b><br>
8caee17864 2010-11-24        kinaba: k.inaba
8caee17864 2010-11-24        kinaba: <br><br>
8caee17864 2010-11-24        kinaba: <b>License:</b><br>
8caee17864 2010-11-24        kinaba: NYSL 0.9982 http://www.kmonos.net/nysl/
8caee17864 2010-11-24        kinaba: <br><br>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba:  Lexer for Polemy programming language.<br><br>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <script>explorer.outline.incSymbolLevel();</script>
8caee17864 2010-11-24        kinaba: <dl>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = true;</script>
8caee17864 2010-11-24        kinaba: <dt><span class="decl">class
8caee17864 2010-11-24        kinaba: <span class="currsymbol">Token</span>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.addDecl('Token');</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: ;
8caee17864 2010-11-24        kinaba: </span></dt>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = false;</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <dd>Represents a lexer token<br><br>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <script>explorer.outline.incSymbolLevel();</script>
8caee17864 2010-11-24        kinaba: <dl>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = true;</script>
8caee17864 2010-11-24        kinaba: <dt><span class="decl">immutable LexPosition
8caee17864 2010-11-24        kinaba: <span class="currsymbol">pos</span>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.addDecl('pos');</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: ;
8caee17864 2010-11-24        kinaba: </span></dt>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = false;</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <dd>Position where the token occurred in the source<br><br>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: </dd>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = true;</script>
8caee17864 2010-11-24        kinaba: <dt><span class="decl">immutable string
8caee17864 2010-11-24        kinaba: <span class="currsymbol">str</span>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.addDecl('str');</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: ;
8caee17864 2010-11-24        kinaba: </span></dt>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = false;</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <dd>The token string itself<br><br>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: </dd>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = true;</script>
8caee17864 2010-11-24        kinaba: <dt><span class="decl">immutable bool
8caee17864 2010-11-24        kinaba: <span class="currsymbol">quoted</span>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.addDecl('quoted');</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: ;
8caee17864 2010-11-24        kinaba: </span></dt>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = false;</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <dd>Was it a "
8caee17864 2010-11-24        kinaba: <span class="currsymbol">quoted</span>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.addDecl('quoted');</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: " token or unquoted?<br><br>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: </dd>
8caee17864 2010-11-24        kinaba: </dl>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.decSymbolLevel();</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: </dd>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = true;</script>
8caee17864 2010-11-24        kinaba: <dt><span class="decl">Lexer
8caee17864 2010-11-24        kinaba: <span class="currsymbol">lexerFromFile</span>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.addDecl('lexerFromFile');</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: (T...)(string <span class="funcparam">filename</span>, T <span class="funcparam">ln_cn</span>);
8caee17864 2010-11-24        kinaba: </span></dt>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = false;</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <dd>Named Construtors for Lexer<br><br>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: </dd>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = true;</script>
8caee17864 2010-11-24        kinaba: <dt><span class="decl">LexerT!(PositionedReader!(CharSeq))
8caee17864 2010-11-24        kinaba: <span class="currsymbol">lexerFromString</span>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.addDecl('lexerFromString');</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: (CharSeq)(CharSeq <span class="funcparam">str</span>, string <span class="funcparam">filename</span> = "&lt;unnamed&gt;", int <span class="funcparam">lineno</span> = 1, int <span class="funcparam">column</span> = 1);
8caee17864 2010-11-24        kinaba: </span></dt>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = false;</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <dd>Named Construtor for Lexer<br><br>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: </dd>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = true;</script>
8caee17864 2010-11-24        kinaba: <dt><span class="decl">alias
8caee17864 2010-11-24        kinaba: <span class="currsymbol">Lexer</span>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.addDecl('Lexer');</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: ;
8caee17864 2010-11-24        kinaba: </span></dt>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = false;</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <dd>Standard
8caee17864 2010-11-24        kinaba: <span class="currsymbol">Lexer</span>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.addDecl('Lexer');</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba:  Type (all you have to know is that this is a forward range of Tokens!)<br><br>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: </dd>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = true;</script>
8caee17864 2010-11-24        kinaba: <dt><span class="decl">class
8caee17864 2010-11-24        kinaba: <span class="currsymbol">LexerT</span>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.addDecl('LexerT');</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: (Reader) if (isForwardRange!(Reader) &amp;&amp; is(ElementType!(Reader) == dchar));
8caee17864 2010-11-24        kinaba: </span></dt>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = false;</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <dd>Lexer Implementation<br><br>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <script>explorer.outline.incSymbolLevel();</script>
8caee17864 2010-11-24        kinaba: <dl>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = true;</script>
8caee17864 2010-11-24        kinaba: <dt><span class="decl">bool
8caee17864 2010-11-24        kinaba: <span class="currsymbol">empty</span>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.addDecl('empty');</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: ();
8caee17864 2010-11-24        kinaba: </span></dt>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = false;</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <dd>Range primitive<br><br>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: </dd>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = true;</script>
8caee17864 2010-11-24        kinaba: <dt><span class="decl">Token
8caee17864 2010-11-24        kinaba: <span class="currsymbol">front</span>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.addDecl('front');</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: ();
8caee17864 2010-11-24        kinaba: </span></dt>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = false;</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <dd>Range primitive<br><br>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: </dd>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = true;</script>
8caee17864 2010-11-24        kinaba: <dt><span class="decl">void
8caee17864 2010-11-24        kinaba: <span class="currsymbol">popFront</span>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.addDecl('popFront');</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: ();
8caee17864 2010-11-24        kinaba: </span></dt>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = false;</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <dd>Range primitive<br><br>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: </dd>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = true;</script>
8caee17864 2010-11-24        kinaba: <dt><span class="decl">typeof(this)
8caee17864 2010-11-24        kinaba: <span class="currsymbol">save</span>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.addDecl('save');</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: ();
8caee17864 2010-11-24        kinaba: </span></dt>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = false;</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <dd>Range primitive<br><br>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: </dd>
8caee17864 2010-11-24        kinaba: </dl>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.decSymbolLevel();</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: </dd>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = true;</script>
8caee17864 2010-11-24        kinaba: <dt><span class="decl">struct
8caee17864 2010-11-24        kinaba: <span class="currsymbol">PositionedReader</span>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.addDecl('PositionedReader');</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: (CharSeq) if (isForwardRange!(CharSeq) &amp;&amp; is(ElementType!(CharSeq) == dchar));
8caee17864 2010-11-24        kinaba: </span></dt>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = false;</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <dd>Forward range for reader character by character,
8caee17864 2010-11-24        kinaba:  keeping track of position information and caring \r\n -&gt; \n conversion.<br><br>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <script>explorer.outline.incSymbolLevel();</script>
8caee17864 2010-11-24        kinaba: <dl>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = true;</script>
8caee17864 2010-11-24        kinaba: <dt><span class="decl">bool
8caee17864 2010-11-24        kinaba: <span class="currsymbol">empty</span>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.addDecl('empty');</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: ();
8caee17864 2010-11-24        kinaba: </span></dt>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = false;</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <dd>Range primitive<br><br>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: </dd>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = true;</script>
8caee17864 2010-11-24        kinaba: <dt><span class="decl">dchar
8caee17864 2010-11-24        kinaba: <span class="currsymbol">front</span>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.addDecl('front');</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: ();
8caee17864 2010-11-24        kinaba: </span></dt>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = false;</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <dd>Range primitive<br><br>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: </dd>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = true;</script>
8caee17864 2010-11-24        kinaba: <dt><span class="decl">void
8caee17864 2010-11-24        kinaba: <span class="currsymbol">popFront</span>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.addDecl('popFront');</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: ();
8caee17864 2010-11-24        kinaba: </span></dt>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = false;</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <dd>Range primitive<br><br>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: </dd>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = true;</script>
8caee17864 2010-11-24        kinaba: <dt><span class="decl">typeof(this)
8caee17864 2010-11-24        kinaba: <span class="currsymbol">save</span>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.addDecl('save');</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: ();
8caee17864 2010-11-24        kinaba: </span></dt>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = false;</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <dd>Range primitive<br><br>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: </dd>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = true;</script>
8caee17864 2010-11-24        kinaba: <dt><span class="decl">const LexPosition
8caee17864 2010-11-24        kinaba: <span class="currsymbol">currentPosition</span>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.addDecl('currentPosition');</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: ();
8caee17864 2010-11-24        kinaba: </span></dt>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.writeEnabled = false;</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: <dd>Get the current position<br><br>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: </dd>
8caee17864 2010-11-24        kinaba: </dl>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.decSymbolLevel();</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: </dd>
8caee17864 2010-11-24        kinaba: </dl>
8caee17864 2010-11-24        kinaba: <script>explorer.outline.decSymbolLevel();</script>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: </td></tr>
8caee17864 2010-11-24        kinaba: 		<tr><td id="docfooter">
8caee17864 2010-11-24        kinaba: 			Page was generated with
8caee17864 2010-11-24        kinaba: 			<img src="candydoc/img/candydoc.gif" style="vertical-align:middle; position:relative; top:-1px">
6de3d8df3a 2010-11-27        kinaba: 			on Sat Nov 27 23:29:19 2010
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: 		</td></tr>
8caee17864 2010-11-24        kinaba: 	</table>
8caee17864 2010-11-24        kinaba: </div>
8caee17864 2010-11-24        kinaba: <script>
8caee17864 2010-11-24        kinaba: 	explorer.packageExplorer.addModule("index");
8caee17864 2010-11-24        kinaba: 	explorer.packageExplorer.addModule("main");
8caee17864 2010-11-24        kinaba: 	explorer.packageExplorer.addModule("tricks.tricks");
8caee17864 2010-11-24        kinaba: 	explorer.packageExplorer.addModule("tricks.test");
8caee17864 2010-11-24        kinaba: 	explorer.packageExplorer.addModule("polemy._common");
8caee17864 2010-11-24        kinaba: 	explorer.packageExplorer.addModule("polemy.failure");
8caee17864 2010-11-24        kinaba: 	explorer.packageExplorer.addModule("polemy.layer");
8caee17864 2010-11-24        kinaba: 	explorer.packageExplorer.addModule("polemy.fresh");
8caee17864 2010-11-24        kinaba: 	explorer.packageExplorer.addModule("polemy.lex");
8caee17864 2010-11-24        kinaba: 	explorer.packageExplorer.addModule("polemy.parse");
8caee17864 2010-11-24        kinaba: 	explorer.packageExplorer.addModule("polemy.ast");
8caee17864 2010-11-24        kinaba: 	explorer.packageExplorer.addModule("polemy.value");
8caee17864 2010-11-24        kinaba: 	explorer.packageExplorer.addModule("polemy.valueconv");
8caee17864 2010-11-24        kinaba: 	explorer.packageExplorer.addModule("polemy.eval");
8caee17864 2010-11-24        kinaba: 	explorer.packageExplorer.addModule("polemy.runtime");
8caee17864 2010-11-24        kinaba: 	explorer.packageExplorer.addModule("polemy.repl");</script>
8caee17864 2010-11-24        kinaba: </body></html>
8caee17864 2010-11-24        kinaba: 
8caee17864 2010-11-24        kinaba: