mw-parser/docs/codox/mw-parser.core.html

25 lines
15 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html PUBLIC ""
"">
<html><head><meta charset="UTF-8" /><title>mw-parser.core documentation</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Mw-parser</span> <span class="project-version">0.2.0-SNAPSHOT</span></span></a></h1></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Project</span></h3><ul class="index-link"><li class="depth-1 "><a href="index.html"><div class="inner">Index</div></a></li></ul><h3 class="no-link"><span class="inner">Topics</span></h3><ul><li class="depth-1 "><a href="intro.html"><div class="inner"><span>Introduction to mw-parser</span></div></a></li></ul><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>mw-parser</span></div></div></li><li class="depth-2 branch"><a href="mw-parser.bulk.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>bulk</span></div></a></li><li class="depth-2 branch current"><a href="mw-parser.core.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>core</span></div></a></li><li class="depth-2 branch"><a href="mw-parser.declarative.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>declarative</span></div></a></li><li class="depth-2 branch"><a href="mw-parser.errors.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>errors</span></div></a></li><li class="depth-2 branch"><a href="mw-parser.flow.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>flow</span></div></a></li><li class="depth-2 branch"><a href="mw-parser.generate.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>generate</span></div></a></li><li class="depth-2 branch"><a href="mw-parser.simplify.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>simplify</span></div></a></li><li class="depth-2"><a href="mw-parser.utils.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>utils</span></div></a></li></ul></div><div class="sidebar secondary"><h3><a href="#top"><span class="inner">Public Vars</span></a></h3><ul><li class="depth-1"><a href="mw-parser.core.html#var-bad-parse-error"><div class="inner"><span>bad-parse-error</span></div></a></li><li class="depth-1"><a href="mw-parser.core.html#var-compile-rule"><div class="inner"><span>compile-rule</span></div></a></li><li class="depth-1"><a href="mw-parser.core.html#var-gen-token-value"><div class="inner"><span>gen-token-value</span></div></a></li><li class="depth-1"><a href="mw-parser.core.html#var-parse-comparator-neighbours-condition"><div class="inner"><span>parse-comparator-neighbours-condition</span></div></a></li><li class="depth-1"><a href="mw-parser.core.html#var-parse-disjunct-value"><div class="inner"><span>parse-disjunct-value</span></div></a></li><li class="depth-1"><a href="mw-parser.core.html#var-parse-member-condition"><div class="inner"><span>parse-member-condition</span></div></a></li><li class="depth-1"><a href="mw-parser.core.html#var-parse-neighbours-condition"><div class="inner"><span>parse-neighbours-condition</span></div></a></li><li class="depth-1"><a href="mw-parser.core.html#var-parse-numeric-value"><div class="inner"><span>parse-numeric-value</span></div></a></li><li class="depth-1"><a href="mw-parser.core.html#var-parse-property-int"><div class="inner"><span>parse-property-int</span></div></a></li><li class="depth-1"><a href="mw-parser.core.html#var-parse-property-value"><div class="inner"><span>parse-property-value</span></div></a></li><li class="depth-1"><a href="mw-parser.core.html#var-parse-rule"><div class="inner"><span>parse-rule</span></div></a></li><li class="depth-1"><a href="mw-parser.core.html#var-parse-simple-condition"><div class="inner"><span>parse-simple-condition</span></div></a></li><li class="depth-1"><a href="mw-parser.core.html#var-parse-simple-neighbours-condition"><div class="inner"><span>parse-simple-neighbours-condition</span></div></a></li><li class="depth-1"><a href="mw-parser.core.html#var-parse-simple-value"><div class="inner"><span>parse-simple-value</span></div></a></li><li class="depth-1"><a href="mw-parser.core.html#var-parse-some-neighbours-condition"><div class="inner"><span>parse-some-neighbours-condition</span></div></a></li><li class="depth-1"><a href="mw-parser.core.html#var-parse-token-value"><div class="inner"><span>parse-token-value</span></div></a></li><li class="depth-1"><a href="mw-parser.core.html#var-parse-value"><div class="inner"><span>parse-value</span></div></a></li><li class="depth-1"><a href="mw-parser.core.html#var-re-number"><div class="inner"><span>re-number</span></div></a></li><li class="depth-1"><a href="mw-parser.core.html#var-reserved-properties-error"><div class="inner"><span>reserved-properties-error</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">mw-parser.core</h1><div class="doc"><div class="markdown"><p>A very simple parser which parses production rules.</p>
</div></div><div class="public anchor" id="var-bad-parse-error"><h3>bad-parse-error</h3><div class="usage"></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p>
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/core.clj#L72">view source</a></div></div><div class="public anchor" id="var-compile-rule"><h3>compile-rule</h3><div class="usage"><code>(compile-rule rule-text return-tuple?)</code><code>(compile-rule rule-text)</code></div><div class="doc"><div class="markdown"><p>Parse this <code>rule-text</code>, a string conforming to the grammar of MicroWorld rules, into Clojure source, and then compile it into an anonymous function object, getting round the problem of binding mw-engine.utils in the compiling environment. If <code>return-tuple?</code> is present and true, return a list comprising the anonymous function compiled, and the function from which it was compiled.</p>
<p>Throws an exception if parsing fails.</p>
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/core.clj#L434">view source</a></div></div><div class="public anchor" id="var-gen-token-value"><h3>gen-token-value</h3><div class="usage"><code>(gen-token-value token expect-int)</code></div><div class="doc"><div class="markdown"><p>Parse a single value from this single token and return just the generated code, not a pair.</p>
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/core.clj#L127">view source</a></div></div><div class="public anchor" id="var-parse-comparator-neighbours-condition"><h3>parse-comparator-neighbours-condition</h3><div class="usage"><code>(parse-comparator-neighbours-condition [MORE THAN n NEIGHBOURS WITHIN distance have-or-are &amp; rest])</code></div><div class="doc"><div class="markdown"><p>Parse conditions of the form …more than 6 neighbours are <a href="condition">condition</a></p>
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/core.clj#L220">view source</a></div></div><div class="public anchor" id="var-parse-disjunct-value"><h3>parse-disjunct-value</h3><div class="usage"><code>(parse-disjunct-value [OR token &amp; tokens] expect-int)</code></div><div class="doc"><div class="markdown"><p>Parse a list of values from among these <code>tokens</code>. If <code>expect-int</code> is true, return integers or things which will evaluate to integers.</p>
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/core.clj#L133">view source</a></div></div><div class="public anchor" id="var-parse-member-condition"><h3>parse-member-condition</h3><div class="usage"><code>(parse-member-condition [property IS IN &amp; rest])</code></div><div class="doc"><div class="markdown"><p>Parses a condition of the form <a href="property">property</a> in <a href="value">value</a> or <a href="value">value</a>…’</p>
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/core.clj#L156">view source</a></div></div><div class="public anchor" id="var-parse-neighbours-condition"><h3>parse-neighbours-condition</h3><div class="usage"><code>(parse-neighbours-condition tokens)</code></div><div class="doc"><div class="markdown"><p>Parse conditions referring to neighbours</p>
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/core.clj#L295">view source</a></div></div><div class="public anchor" id="var-parse-numeric-value"><h3>parse-numeric-value</h3><div class="usage"><code>(parse-numeric-value [value &amp; remainder])</code></div><div class="doc"><div class="markdown"><p>Parse a number.</p>
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/core.clj#L94">view source</a></div></div><div class="public anchor" id="var-parse-property-int"><h3>parse-property-int</h3><div class="usage"><code>(parse-property-int [value &amp; remainder])</code></div><div class="doc"><div class="markdown"><p>Parse a token assumed to be the name of a property of the current cell, whose value is assumed to be an integer.</p>
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/core.clj#L99">view source</a></div></div><div class="public anchor" id="var-parse-property-value"><h3>parse-property-value</h3><div class="usage"><code>(parse-property-value [value &amp; remainder])</code></div><div class="doc"><div class="markdown"><p>Parse a token assumed to be the name of a property of the current cell.</p>
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/core.clj#L105">view source</a></div></div><div class="public anchor" id="var-parse-rule"><h3>parse-rule</h3><div class="usage"><code>(parse-rule line)</code></div><div class="doc"><div class="markdown"><p>Parse a complete rule from this <code>line</code>, expected to be either a string or a sequence of string tokens. Return the rule in the form of an S-expression.</p>
<p>Throws an exception if parsing fails.</p>
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/core.clj#L414">view source</a></div></div><div class="public anchor" id="var-parse-simple-condition"><h3>parse-simple-condition</h3><div class="usage"><code>(parse-simple-condition tokens)</code></div><div class="doc"><div class="markdown"><p>Parse conditions of the form <a href="property">property</a> <a href="comparison">comparison</a> <a href="value">value</a>.</p>
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/core.clj#L304">view source</a></div></div><div class="public anchor" id="var-parse-simple-neighbours-condition"><h3>parse-simple-neighbours-condition</h3><div class="usage"><code>(parse-simple-neighbours-condition [n NEIGHBOURS WITHIN distance have-or-are &amp; rest])</code></div><div class="doc"><div class="markdown"><p>Parse conditions of the form …6 neighbours are <a href="condition">condition</a></p>
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/core.clj#L263">view source</a></div></div><div class="public anchor" id="var-parse-simple-value"><h3>parse-simple-value</h3><div class="usage"><code>(parse-simple-value tokens expect-int)</code><code>(parse-simple-value tokens)</code></div><div class="doc"><div class="markdown"><p>Parse a value from the first of these <code>tokens</code>. If <code>expect-int</code> is true, return an integer or something which will evaluate to an integer.</p>
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/core.clj#L115">view source</a></div></div><div class="public anchor" id="var-parse-some-neighbours-condition"><h3>parse-some-neighbours-condition</h3><div class="usage"><code>(parse-some-neighbours-condition [SOME NEIGHBOURS &amp; rest])</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p>
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/core.clj#L257">view source</a></div></div><div class="public anchor" id="var-parse-token-value"><h3>parse-token-value</h3><div class="usage"><code>(parse-token-value [value &amp; remainder])</code></div><div class="doc"><div class="markdown"><p>Parse a token assumed to be a simple token value.</p>
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/core.clj#L110">view source</a></div></div><div class="public anchor" id="var-parse-value"><h3>parse-value</h3><div class="usage"><code>(parse-value tokens expect-int)</code><code>(parse-value tokens)</code></div><div class="doc"><div class="markdown"><p>Parse a value from among these <code>tokens</code>. If <code>expect-int</code> is true, return an integer or something which will evaluate to an integer.</p>
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/core.clj#L146">view source</a></div></div><div class="public anchor" id="var-re-number"><h3>re-number</h3><div class="usage"></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p>
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/core.clj#L66">view source</a></div></div><div class="public anchor" id="var-reserved-properties-error"><h3>reserved-properties-error</h3><div class="usage"></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p>
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/core.clj#L69">view source</a></div></div></div></body></html>