Rebuild HTML docs.
This commit is contained in:
@@ -102,7 +102,7 @@
|
||||
</a>
|
||||
<br />
|
||||
<span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">Thun Documentation</span> by <a xmlns:cc="http://creativecommons.org/ns#" href="https://joypy.osdn.io/" property="cc:attributionName" rel="cc:attributionURL">Simon Forman</a> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.<br />Based on a work at <a xmlns:dct="http://purl.org/dc/terms/" href="https://osdn.net/projects/joypy/" rel="dct:source">https://osdn.net/projects/joypy/</a>.
|
||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.0.
|
||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.4.0.
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
|
||||
<span class="si">%s</span><span class="s1"></span>
|
||||
|
||||
<span class="s1">---- end (</span><span class="si">%s</span><span class="s1">)</span>
|
||||
<span class="s1">---- end ( </span><span class="si">%s</span><span class="s1"> )</span>
|
||||
<span class="s1">'''</span>
|
||||
|
||||
|
||||
@@ -260,15 +260,6 @@
|
||||
<span class="k">return</span> <span class="n">stack</span><span class="p">,</span> <span class="n">expression</span><span class="p">,</span> <span class="n">dictionary</span></div>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="parse"><a class="viewcode-back" href="../../library.html#joy.library.parse">[docs]</a><span class="nd">@inscribe</span>
|
||||
<span class="nd">@SimpleFunctionWrapper</span>
|
||||
<span class="k">def</span> <span class="nf">parse</span><span class="p">(</span><span class="n">stack</span><span class="p">):</span>
|
||||
<span class="sd">'''Parse the string on the stack to a Joy expression.'''</span>
|
||||
<span class="n">text</span><span class="p">,</span> <span class="n">stack</span> <span class="o">=</span> <span class="n">stack</span>
|
||||
<span class="n">expression</span> <span class="o">=</span> <span class="n">text_to_expression</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">expression</span><span class="p">,</span> <span class="n">stack</span></div>
|
||||
|
||||
|
||||
<span class="c1"># @inscribe</span>
|
||||
<span class="c1"># @SimpleFunctionWrapper</span>
|
||||
<span class="c1"># def infer_(stack):</span>
|
||||
@@ -373,19 +364,18 @@
|
||||
<span class="sd"> Use a Boolean value to select one of two items.</span>
|
||||
<span class="sd"> ::</span>
|
||||
|
||||
<span class="sd"> A B False choice</span>
|
||||
<span class="sd"> A B false choice</span>
|
||||
<span class="sd"> ----------------------</span>
|
||||
<span class="sd"> A</span>
|
||||
|
||||
|
||||
<span class="sd"> A B True choice</span>
|
||||
<span class="sd"> A B true choice</span>
|
||||
<span class="sd"> ---------------------</span>
|
||||
<span class="sd"> B</span>
|
||||
|
||||
<span class="sd"> Currently Python semantics are used to evaluate the "truthiness" of the</span>
|
||||
<span class="sd"> Boolean value (so empty string, zero, etc. are counted as false, etc.)</span>
|
||||
<span class="sd"> '''</span>
|
||||
<span class="p">(</span><span class="n">if_</span><span class="p">,</span> <span class="p">(</span><span class="n">then</span><span class="p">,</span> <span class="p">(</span><span class="n">else_</span><span class="p">,</span> <span class="n">stack</span><span class="p">)))</span> <span class="o">=</span> <span class="n">stack</span>
|
||||
<span class="k">assert</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">if_</span><span class="p">,</span> <span class="nb">bool</span><span class="p">),</span> <span class="nb">repr</span><span class="p">(</span><span class="n">if_</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">then</span> <span class="k">if</span> <span class="n">if_</span> <span class="k">else</span> <span class="n">else_</span><span class="p">,</span> <span class="n">stack</span></div>
|
||||
|
||||
|
||||
@@ -396,12 +386,12 @@
|
||||
<span class="sd"> Use a Boolean value to select one of two items from a sequence.</span>
|
||||
<span class="sd"> ::</span>
|
||||
|
||||
<span class="sd"> [A B] False select</span>
|
||||
<span class="sd"> [A B] false select</span>
|
||||
<span class="sd"> ------------------------</span>
|
||||
<span class="sd"> A</span>
|
||||
|
||||
|
||||
<span class="sd"> [A B] True select</span>
|
||||
<span class="sd"> [A B] true select</span>
|
||||
<span class="sd"> -----------------------</span>
|
||||
<span class="sd"> B</span>
|
||||
|
||||
@@ -625,9 +615,9 @@
|
||||
|
||||
<span class="sd"> Return the tuple (x//y, x%y). Invariant: q * y + r == x.</span>
|
||||
<span class="sd"> '''</span>
|
||||
<span class="n">a</span><span class="p">,</span> <span class="p">(</span><span class="n">b</span><span class="p">,</span> <span class="n">stack</span><span class="p">)</span> <span class="o">=</span> <span class="n">S</span>
|
||||
<span class="n">d</span><span class="p">,</span> <span class="n">m</span> <span class="o">=</span> <span class="nb">divmod</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">d</span><span class="p">,</span> <span class="p">(</span><span class="n">m</span><span class="p">,</span> <span class="n">stack</span><span class="p">)</span></div>
|
||||
<span class="n">y</span><span class="p">,</span> <span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">stack</span><span class="p">)</span> <span class="o">=</span> <span class="n">S</span>
|
||||
<span class="n">q</span><span class="p">,</span> <span class="n">r</span> <span class="o">=</span> <span class="nb">divmod</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">r</span><span class="p">,</span> <span class="p">(</span><span class="n">q</span><span class="p">,</span> <span class="n">stack</span><span class="p">)</span></div>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="sqrt"><a class="viewcode-back" href="../../library.html#joy.library.sqrt">[docs]</a><span class="k">def</span> <span class="nf">sqrt</span><span class="p">(</span><span class="n">a</span><span class="p">):</span>
|
||||
@@ -1482,7 +1472,7 @@
|
||||
</a>
|
||||
<br />
|
||||
<span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">Thun Documentation</span> by <a xmlns:cc="http://creativecommons.org/ns#" href="https://joypy.osdn.io/" property="cc:attributionName" rel="cc:attributionURL">Simon Forman</a> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.<br />Based on a work at <a xmlns:dct="http://purl.org/dc/terms/" href="https://osdn.net/projects/joypy/" rel="dct:source">https://osdn.net/projects/joypy/</a>.
|
||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.0.
|
||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.4.0.
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
@@ -71,6 +71,11 @@
|
||||
<span class="sd">'''</span>
|
||||
<span class="kn">from</span> <span class="nn">re</span> <span class="kn">import</span> <span class="n">Scanner</span>
|
||||
<span class="kn">from</span> <span class="nn">.utils.stack</span> <span class="kn">import</span> <span class="n">list_to_stack</span>
|
||||
<span class="kn">from</span> <span class="nn">.utils.snippets</span> <span class="kn">import</span> <span class="p">(</span>
|
||||
<span class="n">pat</span> <span class="k">as</span> <span class="n">SNIPPETS</span><span class="p">,</span>
|
||||
<span class="n">from_string</span><span class="p">,</span>
|
||||
<span class="n">Snippet</span><span class="p">,</span>
|
||||
<span class="p">)</span>
|
||||
|
||||
|
||||
<span class="n">BRACKETS</span> <span class="o">=</span> <span class="sa">r</span><span class="s1">'\[|\]'</span>
|
||||
@@ -79,6 +84,7 @@
|
||||
|
||||
|
||||
<span class="n">token_scanner</span> <span class="o">=</span> <span class="n">Scanner</span><span class="p">([</span>
|
||||
<span class="p">(</span><span class="n">SNIPPETS</span><span class="p">,</span> <span class="k">lambda</span> <span class="n">_</span><span class="p">,</span> <span class="n">token</span><span class="p">:</span> <span class="n">from_string</span><span class="p">(</span><span class="n">token</span><span class="p">)),</span>
|
||||
<span class="p">(</span><span class="n">BRACKETS</span><span class="p">,</span> <span class="k">lambda</span> <span class="n">_</span><span class="p">,</span> <span class="n">token</span><span class="p">:</span> <span class="n">token</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="n">BLANKS</span><span class="p">,</span> <span class="kc">None</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="n">WORDS</span><span class="p">,</span> <span class="k">lambda</span> <span class="n">_</span><span class="p">,</span> <span class="n">token</span><span class="p">:</span> <span class="n">token</span><span class="p">),</span>
|
||||
@@ -138,20 +144,16 @@
|
||||
<span class="n">v</span> <span class="o">=</span> <span class="n">frame</span>
|
||||
<span class="k">try</span><span class="p">:</span> <span class="n">frame</span> <span class="o">=</span> <span class="n">stack</span><span class="o">.</span><span class="n">pop</span><span class="p">()</span>
|
||||
<span class="k">except</span> <span class="ne">IndexError</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="n">ParseError</span><span class="p">(</span><span class="s1">'Extra closing bracket.'</span><span class="p">)</span>
|
||||
<span class="k">raise</span> <span class="n">ParseError</span><span class="p">(</span><span class="s1">'Extra closing bracket.'</span><span class="p">)</span> <span class="kn">from</span> <span class="bp">None</span>
|
||||
<span class="n">frame</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">list_to_stack</span><span class="p">(</span><span class="n">v</span><span class="p">))</span>
|
||||
<span class="k">elif</span> <span class="n">tok</span> <span class="o">==</span> <span class="s1">'true'</span><span class="p">:</span>
|
||||
<span class="n">frame</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="kc">True</span><span class="p">)</span>
|
||||
<span class="k">elif</span> <span class="n">tok</span> <span class="o">==</span> <span class="s1">'false'</span><span class="p">:</span>
|
||||
<span class="n">frame</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="kc">False</span><span class="p">)</span>
|
||||
<span class="k">elif</span> <span class="n">tok</span> <span class="o">==</span> <span class="s1">'true'</span><span class="p">:</span> <span class="n">frame</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="kc">True</span><span class="p">)</span>
|
||||
<span class="k">elif</span> <span class="n">tok</span> <span class="o">==</span> <span class="s1">'false'</span><span class="p">:</span> <span class="n">frame</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="kc">False</span><span class="p">)</span>
|
||||
<span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">tok</span><span class="p">,</span> <span class="n">Snippet</span><span class="p">):</span> <span class="n">frame</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">tok</span><span class="p">)</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">thing</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">tok</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
|
||||
<span class="n">thing</span> <span class="o">=</span> <span class="n">Symbol</span><span class="p">(</span><span class="n">tok</span><span class="p">)</span>
|
||||
<span class="k">try</span><span class="p">:</span> <span class="n">thing</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">tok</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span> <span class="n">thing</span> <span class="o">=</span> <span class="n">Symbol</span><span class="p">(</span><span class="n">tok</span><span class="p">)</span>
|
||||
<span class="n">frame</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">thing</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">stack</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="n">ParseError</span><span class="p">(</span><span class="s1">'Unclosed bracket.'</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">stack</span><span class="p">:</span> <span class="k">raise</span> <span class="n">ParseError</span><span class="p">(</span><span class="s1">'Unclosed bracket.'</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">list_to_stack</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
@@ -220,7 +222,7 @@
|
||||
</a>
|
||||
<br />
|
||||
<span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">Thun Documentation</span> by <a xmlns:cc="http://creativecommons.org/ns#" href="https://joypy.osdn.io/" property="cc:attributionName" rel="cc:attributionURL">Simon Forman</a> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.<br />Based on a work at <a xmlns:dct="http://purl.org/dc/terms/" href="https://osdn.net/projects/joypy/" rel="dct:source">https://osdn.net/projects/joypy/</a>.
|
||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.0.
|
||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.4.0.
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
@@ -104,6 +104,7 @@
|
||||
|
||||
<span class="sd">'''</span>
|
||||
<span class="kn">from</span> <span class="nn">.errors</span> <span class="kn">import</span> <span class="n">NotAListError</span>
|
||||
<span class="kn">from</span> <span class="nn">.snippets</span> <span class="kn">import</span> <span class="n">Snippet</span><span class="p">,</span> <span class="n">to_string</span> <span class="k">as</span> <span class="n">snip_to_string</span>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="list_to_stack"><a class="viewcode-back" href="../../../stack.html#joy.utils.stack.list_to_stack">[docs]</a><span class="k">def</span> <span class="nf">list_to_stack</span><span class="p">(</span><span class="n">el</span><span class="p">,</span> <span class="n">stack</span><span class="o">=</span><span class="p">()):</span>
|
||||
@@ -162,24 +163,28 @@
|
||||
<span class="k">return</span> <span class="n">_to_string</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">iter_stack</span><span class="p">)</span></div>
|
||||
|
||||
|
||||
<span class="n">_JOY_BOOL_LITS</span> <span class="o">=</span> <span class="s1">'false'</span><span class="p">,</span> <span class="s1">'true'</span>
|
||||
<span class="n">JOY_BOOL_LITERALS</span> <span class="o">=</span> <span class="s1">'false'</span><span class="p">,</span> <span class="s1">'true'</span>
|
||||
|
||||
|
||||
<span class="k">def</span> <span class="nf">_joy_repr</span><span class="p">(</span><span class="n">thing</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">thing</span><span class="p">,</span> <span class="nb">bool</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="n">_JOY_BOOL_LITS</span><span class="p">[</span><span class="n">thing</span><span class="p">]</span>
|
||||
<span class="k">return</span> <span class="nb">repr</span><span class="p">(</span><span class="n">thing</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">thing</span><span class="p">,</span> <span class="nb">bool</span><span class="p">):</span> <span class="k">return</span> <span class="n">JOY_BOOL_LITERALS</span><span class="p">[</span><span class="n">thing</span><span class="p">]</span>
|
||||
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">thing</span><span class="p">,</span> <span class="n">Snippet</span><span class="p">):</span> <span class="k">return</span> <span class="n">snip_to_string</span><span class="p">(</span><span class="n">thing</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="nb">repr</span><span class="p">(</span><span class="n">thing</span><span class="p">)</span>
|
||||
|
||||
|
||||
<span class="k">def</span> <span class="nf">_to_string</span><span class="p">(</span><span class="n">stack</span><span class="p">,</span> <span class="n">f</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">stack</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">):</span> <span class="k">return</span> <span class="n">_joy_repr</span><span class="p">(</span><span class="n">stack</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">stack</span><span class="p">:</span> <span class="k">return</span> <span class="s1">''</span> <span class="c1"># shortcut</span>
|
||||
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">stack</span><span class="p">,</span> <span class="n">Snippet</span><span class="p">):</span> <span class="k">return</span> <span class="n">snip_to_string</span><span class="p">(</span><span class="n">stack</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="s1">' '</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="nb">map</span><span class="p">(</span><span class="n">_s</span><span class="p">,</span> <span class="n">f</span><span class="p">(</span><span class="n">stack</span><span class="p">)))</span>
|
||||
|
||||
|
||||
<span class="n">_s</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">s</span><span class="p">:</span> <span class="p">(</span>
|
||||
<span class="s1">'[</span><span class="si">%s</span><span class="s1">]'</span> <span class="o">%</span> <span class="n">expression_to_string</span><span class="p">(</span><span class="n">s</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">s</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">)</span>
|
||||
<span class="ow">and</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">s</span><span class="p">,</span> <span class="n">Snippet</span><span class="p">)</span>
|
||||
<span class="c1"># Is it worth making a non-tuple class for Snippet?</span>
|
||||
<span class="c1"># Doing this check on each tuple seems a bit much.</span>
|
||||
<span class="k">else</span> <span class="n">_joy_repr</span><span class="p">(</span><span class="n">s</span><span class="p">)</span>
|
||||
<span class="p">)</span>
|
||||
|
||||
@@ -351,7 +356,7 @@
|
||||
</a>
|
||||
<br />
|
||||
<span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">Thun Documentation</span> by <a xmlns:cc="http://creativecommons.org/ns#" href="https://joypy.osdn.io/" property="cc:attributionName" rel="cc:attributionURL">Simon Forman</a> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.<br />Based on a work at <a xmlns:dct="http://purl.org/dc/terms/" href="https://osdn.net/projects/joypy/" rel="dct:source">https://osdn.net/projects/joypy/</a>.
|
||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.0.
|
||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.4.0.
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user