... which it turns out have NEVER worked, and badly written tests were masking the problem. Also tagging rules with metadata as first step towards mixing production and flow rules.
23 lines
16 KiB
HTML
23 lines
16 KiB
HTML
<!DOCTYPE html PUBLIC ""
|
||
"">
|
||
<html><head><meta charset="UTF-8" /><title>mw-parser.generate 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"><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 current"><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.generate.html#var-generate"><div class="inner"><span>generate</span></div></a></li><li class="depth-1"><a href="mw-parser.generate.html#var-generate-action"><div class="inner"><span>generate-action</span></div></a></li><li class="depth-1"><a href="mw-parser.generate.html#var-generate-condition"><div class="inner"><span>generate-condition</span></div></a></li><li class="depth-1"><a href="mw-parser.generate.html#var-generate-conditions"><div class="inner"><span>generate-conditions</span></div></a></li><li class="depth-1"><a href="mw-parser.generate.html#var-generate-conjunct-condition"><div class="inner"><span>generate-conjunct-condition</span></div></a></li><li class="depth-1"><a href="mw-parser.generate.html#var-generate-disjunct-condition"><div class="inner"><span>generate-disjunct-condition</span></div></a></li><li class="depth-1"><a href="mw-parser.generate.html#var-generate-disjunct-property-condition"><div class="inner"><span>generate-disjunct-property-condition</span></div></a></li><li class="depth-1"><a href="mw-parser.generate.html#var-generate-disjunct-value"><div class="inner"><span>generate-disjunct-value</span></div></a></li><li class="depth-1"><a href="mw-parser.generate.html#var-generate-flow"><div class="inner"><span>generate-flow</span></div></a></li><li class="depth-1"><a href="mw-parser.generate.html#var-generate-multiple-actions"><div class="inner"><span>generate-multiple-actions</span></div></a></li><li class="depth-1"><a href="mw-parser.generate.html#var-generate-neighbours-condition"><div class="inner"><span>generate-neighbours-condition</span></div></a></li><li class="depth-1"><a href="mw-parser.generate.html#var-generate-numeric-expression"><div class="inner"><span>generate-numeric-expression</span></div></a></li><li class="depth-1"><a href="mw-parser.generate.html#var-generate-probable-action"><div class="inner"><span>generate-probable-action</span></div></a></li><li class="depth-1"><a href="mw-parser.generate.html#var-generate-property-condition"><div class="inner"><span>generate-property-condition</span></div></a></li><li class="depth-1"><a href="mw-parser.generate.html#var-generate-qualifier"><div class="inner"><span>generate-qualifier</span></div></a></li><li class="depth-1"><a href="mw-parser.generate.html#var-generate-ranged-property-condition"><div class="inner"><span>generate-ranged-property-condition</span></div></a></li><li class="depth-1"><a href="mw-parser.generate.html#var-generate-rule"><div class="inner"><span>generate-rule</span></div></a></li><li class="depth-1"><a href="mw-parser.generate.html#var-generate-simple-action"><div class="inner"><span>generate-simple-action</span></div></a></li><li class="depth-1"><a href="mw-parser.generate.html#var-generate-within-condition"><div class="inner"><span>generate-within-condition</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">mw-parser.generate</h1><div class="doc"><div class="markdown"><p>Generate Clojure source from simplified parse trees.</p>
|
||
</div></div><div class="public anchor" id="var-generate"><h3>generate</h3><div class="usage"><code>(generate tree)</code></div><div class="doc"><div class="markdown"><p>Generate code for this (fragment of a) parse tree</p>
|
||
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/generate.clj#L290">view source</a></div></div><div class="public anchor" id="var-generate-action"><h3>generate-action</h3><div class="usage"><code>(generate-action tree others)</code></div><div class="doc"><div class="markdown"><p>From this <code>tree</code>, assumed to be a syntactically correct action, generate and return the appropriate clojure fragment.</p>
|
||
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/generate.clj#L174">view source</a></div></div><div class="public anchor" id="var-generate-condition"><h3>generate-condition</h3><div class="usage"><code>(generate-condition tree)</code></div><div class="doc"><div class="markdown"><p>From this <code>tree</code>, assumed to be a syntactically correct condition clause, generate and return the appropriate clojure fragment.</p>
|
||
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/generate.clj#L48">view source</a></div></div><div class="public anchor" id="var-generate-conditions"><h3>generate-conditions</h3><div class="usage"><code>(generate-conditions tree)</code></div><div class="doc"><div class="markdown"><p>From this <code>tree</code>, assumed to be a syntactically correct conditions clause, generate and return the appropriate clojure fragment.</p>
|
||
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/generate.clj#L41">view source</a></div></div><div class="public anchor" id="var-generate-conjunct-condition"><h3>generate-conjunct-condition</h3><div class="usage"><code>(generate-conjunct-condition tree)</code></div><div class="doc"><div class="markdown"><p>From this <code>tree</code>, assumed to be a syntactically conjunct correct condition clause, generate and return the appropriate clojure fragment.</p>
|
||
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/generate.clj#L55">view source</a></div></div><div class="public anchor" id="var-generate-disjunct-condition"><h3>generate-disjunct-condition</h3><div class="usage"><code>(generate-disjunct-condition tree)</code></div><div class="doc"><div class="markdown"><p>From this <code>tree</code>, assumed to be a syntactically correct disjunct condition clause, generate and return the appropriate clojure fragment.</p>
|
||
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/generate.clj#L62">view source</a></div></div><div class="public anchor" id="var-generate-disjunct-property-condition"><h3>generate-disjunct-property-condition</h3><div class="usage"><code>(generate-disjunct-property-condition tree)</code><code>(generate-disjunct-property-condition _tree property qualifier expression)</code></div><div class="doc"><div class="markdown"><p>From this <code>tree</code>, assumed to be a syntactically property condition clause where the expression is a a disjunction, generate and return the appropriate clojure fragment. TODO: this is definitely still wrong!</p>
|
||
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/generate.clj#L83">view source</a></div></div><div class="public anchor" id="var-generate-disjunct-value"><h3>generate-disjunct-value</h3><div class="usage"><code>(generate-disjunct-value tree)</code></div><div class="doc"><div class="markdown"><p>Generate a disjunct value. Essentially what we need here is to generate a flat list of values, since the <code>member</code> has already been taken care of.</p>
|
||
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/generate.clj#L191">view source</a></div></div><div class="public anchor" id="var-generate-flow"><h3>generate-flow</h3><div class="usage"><code>(generate-flow tree)</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/generate.clj#L283">view source</a></div></div><div class="public anchor" id="var-generate-multiple-actions"><h3>generate-multiple-actions</h3><div class="usage"><code>(generate-multiple-actions tree)</code></div><div class="doc"><div class="markdown"><p>From this <code>tree</code>, assumed to be one or more syntactically correct actions, generate and return the appropriate clojure fragment.</p>
|
||
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/generate.clj#L184">view source</a></div></div><div class="public anchor" id="var-generate-neighbours-condition"><h3>generate-neighbours-condition</h3><div class="usage"><code>(generate-neighbours-condition tree)</code><code>(generate-neighbours-condition tree quantifier-type)</code><code>(generate-neighbours-condition comp1 quantity property-condition distance)</code><code>(generate-neighbours-condition comp1 quantity property-condition)</code></div><div class="doc"><div class="markdown"><p>Generate code for a condition which refers to neighbours.</p>
|
||
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/generate.clj#L213">view source</a></div></div><div class="public anchor" id="var-generate-numeric-expression"><h3>generate-numeric-expression</h3><div class="usage"><code>(generate-numeric-expression tree)</code></div><div class="doc"><div class="markdown"><p>From this <code>tree</code>, assumed to be a syntactically correct numeric expression, generate and return the appropriate clojure fragment.</p>
|
||
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/generate.clj#L200">view source</a></div></div><div class="public anchor" id="var-generate-probable-action"><h3>generate-probable-action</h3><div class="usage"><code>(generate-probable-action tree)</code><code>(generate-probable-action tree others)</code></div><div class="doc"><div class="markdown"><p>From this <code>tree</code>, assumed to be a syntactically correct probable action, generate and return the appropriate clojure fragment.</p>
|
||
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/generate.clj#L157">view source</a></div></div><div class="public anchor" id="var-generate-property-condition"><h3>generate-property-condition</h3><div class="usage"><code>(generate-property-condition tree)</code><code>(generate-property-condition tree expression-type)</code></div><div class="doc"><div class="markdown"><p>From this <code>tree</code>, assumed to be a syntactically property condition clause, generate and return the appropriate clojure fragment.</p>
|
||
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/generate.clj#L98">view source</a></div></div><div class="public anchor" id="var-generate-qualifier"><h3>generate-qualifier</h3><div class="usage"><code>(generate-qualifier tree)</code></div><div class="doc"><div class="markdown"><p>From this <code>tree</code>, assumed to be a syntactically correct qualifier, generate and return the appropriate clojure fragment.</p>
|
||
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/generate.clj#L129">view source</a></div></div><div class="public anchor" id="var-generate-ranged-property-condition"><h3>generate-ranged-property-condition</h3><div class="usage"><code>(generate-ranged-property-condition tree property expression)</code></div><div class="doc"><div class="markdown"><p>From this <code>tree</code>, assumed to be a syntactically property condition clause for this <code>property</code> where the <code>expression</code> is a numeric range, generate and return the appropriate clojure fragment.</p>
|
||
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/generate.clj#L69">view source</a></div></div><div class="public anchor" id="var-generate-rule"><h3>generate-rule</h3><div class="usage"><code>(generate-rule tree)</code></div><div class="doc"><div class="markdown"><p>From this <code>tree</code>, assumed to be a syntactically correct rule specification, generate and return the appropriate rule as a function of two arguments.</p>
|
||
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/generate.clj#L30">view source</a></div></div><div class="public anchor" id="var-generate-simple-action"><h3>generate-simple-action</h3><div class="usage"><code>(generate-simple-action tree)</code><code>(generate-simple-action tree others)</code></div><div class="doc"><div class="markdown"><p>From this <code>tree</code>, assumed to be a syntactically correct simple action, generate and return the appropriate clojure fragment.</p>
|
||
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/generate.clj#L139">view source</a></div></div><div class="public anchor" id="var-generate-within-condition"><h3>generate-within-condition</h3><div class="usage"><code>(generate-within-condition tree)</code><code>(generate-within-condition tree quantifier-type)</code></div><div class="doc"><div class="markdown"><p>Generate code for a condition which refers to neighbours within a specified distance. NOTE THAT there’s clearly masses of commonality between this and <code>generate-neighbours-condition</code>, and that some refactoring is almost certainly desirable. It may be that it’s better to simplify a <code>NEIGHBOURS-CONDITION</code> into a <code>WITHIN-CONDITION</code> in the simplification stage.</p>
|
||
</div></div><div class="src-link"><a href="https://github.com/simon-brooke/mw-parser/blob/master/src/mw_parser/generate.clj#L240">view source</a></div></div></div></body></html> |